From 0a8eca6cf64baee6b2ae2602864480058e39aaa0 Mon Sep 17 00:00:00 2001 From: hashibot-web Date: Wed, 21 May 2025 18:45:44 +0000 Subject: [PATCH] Automated Docs PR --- .../docs/enterprise/api-docs/_template.mdx | 222 +++ .../docs/enterprise/api-docs/account.mdx | 278 +++ .../docs/enterprise/api-docs/agent-tokens.mdx | 272 +++ .../docs/enterprise/api-docs/agents.mdx | 637 +++++++ .../docs/enterprise/api-docs/applies.mdx | 201 ++ .../api-docs/assessment-results.mdx | 129 ++ .../docs/enterprise/api-docs/changelog.mdx | 578 ++++++ .../docs/enterprise/api-docs/comments.mdx | 227 +++ .../api-docs/configuration-versions.mdx | 561 ++++++ .../enterprise/api-docs/cost-estimates.mdx | 98 + .../api-docs/github-app-installations.mdx | 127 ++ .../docs/enterprise/api-docs/index.mdx | 396 ++++ .../api-docs/no-code-provisioning.mdx | 924 +++++++++ .../api-docs/notification-configurations.mdx | 1437 ++++++++++++++ .../enterprise/api-docs/oauth-clients.mdx | 603 ++++++ .../docs/enterprise/api-docs/oauth-tokens.mdx | 264 +++ .../api-docs/organization-memberships.mdx | 497 +++++ .../enterprise/api-docs/organization-tags.mdx | 230 +++ .../api-docs/organization-tokens.mdx | 148 ++ .../enterprise/api-docs/organizations.mdx | 987 ++++++++++ .../docs/enterprise/api-docs/plan-exports.mdx | 226 +++ .../docs/enterprise/api-docs/plans.mdx | 203 ++ .../docs/enterprise/api-docs/policies.mdx | 564 ++++++ .../enterprise/api-docs/policy-checks.mdx | 265 +++ .../api-docs/policy-evaluations.mdx | 288 +++ .../enterprise/api-docs/policy-set-params.mdx | 290 +++ .../docs/enterprise/api-docs/policy-sets.mdx | 1298 +++++++++++++ .../api-docs/private-registry/gpg-keys.mdx | 388 ++++ .../manage-module-versions.mdx | 531 ++++++ .../api-docs/private-registry/modules.mdx | 942 +++++++++ .../provider-versions-platforms.mdx | 707 +++++++ .../api-docs/private-registry/providers.mdx | 471 +++++ .../api-docs/private-registry/tests.mdx | 755 ++++++++ .../api-docs/project-team-access.mdx | 523 +++++ .../docs/enterprise/api-docs/projects.mdx | 718 +++++++ .../enterprise/api-docs/reserved-tag-keys.mdx | 271 +++ .../run-tasks/run-task-stages-and-results.mdx | 366 ++++ .../run-tasks/run-tasks-integration.mdx | 298 +++ .../api-docs/run-tasks/run-tasks.mdx | 831 ++++++++ .../docs/enterprise/api-docs/run-triggers.mdx | 349 ++++ .../docs/enterprise/api-docs/run.mdx | 902 +++++++++ .../docs/enterprise/api-docs/ssh-keys.mdx | 320 ++++ .../enterprise/api-docs/stability-policy.mdx | 25 + .../api-docs/state-version-outputs.mdx | 244 +++ .../enterprise/api-docs/state-versions.mdx | 1241 ++++++++++++ .../docs/enterprise/api-docs/team-access.mdx | 433 +++++ .../docs/enterprise/api-docs/team-members.mdx | 249 +++ .../docs/enterprise/api-docs/team-tokens.mdx | 558 ++++++ .../docs/enterprise/api-docs/teams.mdx | 466 +++++ .../docs/enterprise/api-docs/user-tokens.mdx | 286 +++ .../docs/enterprise/api-docs/users.mdx | 102 + .../enterprise/api-docs/variable-sets.mdx | 1018 ++++++++++ .../docs/enterprise/api-docs/variables.mdx | 307 +++ .../docs/enterprise/api-docs/vcs-events.mdx | 132 ++ .../api-docs/workspace-resources.mdx | 126 ++ .../api-docs/workspace-variables.mdx | 298 +++ .../docs/enterprise/api-docs/workspaces.mdx | 1689 +++++++++++++++++ .../architectural-details/data-security.mdx | 75 + .../docs/enterprise/cost-estimation/aws.mdx | 158 ++ .../docs/enterprise/cost-estimation/azure.mdx | 56 + .../docs/enterprise/cost-estimation/gcp.mdx | 42 + .../docs/enterprise/cost-estimation/index.mdx | 58 + .../aws-service-catalog/index.mdx | 27 + .../docs/enterprise/integrations/index.mdx | 26 + .../kubernetes/annotations-and-labels.mdx | 26 + .../integrations/kubernetes/api-reference.mdx | 796 ++++++++ .../integrations/kubernetes/index.mdx | 220 +++ .../kubernetes/ops-v2-migration.mdx | 342 ++++ .../integrations/kubernetes/setup.mdx | 94 + .../integrations/run-tasks/index.mdx | 109 ++ .../service-catalog-terraform/admin-guide.mdx | 56 + .../developer-reference.mdx | 112 ++ .../example-customizations.mdx | 174 ++ .../service-catalog-terraform/index.mdx | 239 +++ .../service-catalog-config.mdx | 255 +++ .../troubleshoot.mdx | 120 ++ .../service-graph/customizations.mdx | 97 + .../service-now/service-graph/index.mdx | 83 + .../service-graph/resource-coverage/aws.mdx | 219 +++ .../service-graph/resource-coverage/azure.mdx | 158 ++ .../service-graph/resource-coverage/gcp.mdx | 159 ++ .../service-graph/resource-coverage/index.mdx | 37 + .../resource-coverage/vsphere.mdx | 84 + .../service-graph/service-graph-setup.mdx | 162 ++ .../docs/enterprise/migrate/index.mdx | 95 + .../enterprise/migrate/tf-migrate/index.mdx | 132 ++ .../tf-migrate/reference/configuration.mdx | 88 + .../migrate/tf-migrate/reference/execute.mdx | 65 + .../migrate/tf-migrate/reference/prepare.mdx | 104 + .../no-code-provisioning/module-design.mdx | 72 + .../no-code-provisioning/provisioning.mdx | 89 + .../define-policies/custom-sentinel.mdx | 260 +++ .../define-policies/index.mdx | 19 + .../define-policies/opa.mdx | 259 +++ .../import-reference/index.mdx | 32 + .../import-reference/tfconfig-v2.mdx | 422 ++++ .../import-reference/tfconfig.mdx | 976 ++++++++++ .../import-reference/tfplan-v2.mdx | 388 ++++ .../import-reference/tfplan.mdx | 604 ++++++ .../import-reference/tfrun.mdx | 320 ++++ .../import-reference/tfstate-v2.mdx | 180 ++ .../import-reference/tfstate.mdx | 550 ++++++ .../enterprise/policy-enforcement/index.mdx | 50 + .../manage-policy-sets/index.mdx | 227 +++ .../manage-policy-sets/opa-vcs.mdx | 48 + .../manage-policy-sets/sentinel-vcs.mdx | 139 ++ .../policy-enforcement/prewritten-library.mdx | 26 + .../prewritten-sentinel.mdx | 133 ++ .../policy-enforcement/test-sentinel.mdx | 277 +++ .../policy-enforcement/view-results/index.mdx | 74 + .../policy-enforcement/view-results/json.mdx | 59 + .../enterprise/projects/best-practices.mdx | 40 + .../docs/enterprise/projects/index.mdx | 51 + .../docs/enterprise/projects/manage.mdx | 124 ++ .../docs/enterprise/registry/add.mdx | 79 + .../docs/enterprise/registry/design.mdx | 64 + .../docs/enterprise/registry/index.mdx | 27 + .../registry/manage-module-versions.mdx | 218 +++ .../enterprise/registry/publish-modules.mdx | 165 ++ .../enterprise/registry/publish-providers.mdx | 266 +++ .../docs/enterprise/registry/test.mdx | 69 + .../docs/enterprise/registry/using.mdx | 149 ++ .../v000011-1/docs/enterprise/run/api.mdx | 197 ++ .../v000011-1/docs/enterprise/run/cli.mdx | 299 +++ .../docs/enterprise/run/install-software.mdx | 111 ++ .../v000011-1/docs/enterprise/run/manage.mdx | 78 + .../docs/enterprise/run/modes-and-options.mdx | 123 ++ .../docs/enterprise/run/remote-operations.mdx | 148 ++ .../docs/enterprise/run/run-environment.mdx | 131 ++ .../v000011-1/docs/enterprise/run/states.mdx | 218 +++ .../v000011-1/docs/enterprise/run/ui.mdx | 140 ++ .../users-teams-organizations/2fa.mdx | 47 + .../users-teams-organizations/api-tokens.mdx | 129 ++ .../organizations/index.mdx | 338 ++++ .../organizations/manage-reserved-tags.mdx | 59 + .../vcs-speculative-plan-management.mdx | 45 + .../organizations/vcs-status-checks.mdx | 49 + .../users-teams-organizations/permissions.mdx | 396 ++++ .../users-teams-organizations/teams/index.mdx | 59 + .../teams/manage.mdx | 109 ++ .../teams/notifications.mdx | 132 ++ .../users-teams-organizations/users.mdx | 215 +++ .../enterprise/vcs/azure-devops-server.mdx | 94 + .../vcs/azure-devops-services-pat.mdx | 116 ++ .../enterprise/vcs/azure-devops-services.mdx | 132 ++ .../docs/enterprise/vcs/bitbucket-cloud.mdx | 127 ++ .../enterprise/vcs/bitbucket-data-center.mdx | 128 ++ .../docs/enterprise/vcs/github-enterprise.mdx | 140 ++ .../v000011-1/docs/enterprise/vcs/github.mdx | 145 ++ .../docs/enterprise/vcs/gitlab-com.mdx | 119 ++ .../docs/enterprise/vcs/gitlab-eece.mdx | 133 ++ .../v000011-1/docs/enterprise/vcs/index.mdx | 137 ++ .../docs/enterprise/vcs/troubleshooting.mdx | 227 +++ .../enterprise/workspaces/best-practices.mdx | 71 + .../docs/enterprise/workspaces/browse.mdx | 72 + .../enterprise/workspaces/configurations.mdx | 73 + .../docs/enterprise/workspaces/create.mdx | 110 ++ .../aws-configuration.mdx | 165 ++ .../azure-configuration.mdx | 177 ++ .../gcp-configuration.mdx | 174 ++ .../hcp-configuration.mdx | 116 ++ .../aws-configuration.mdx | 102 + .../gcp-configuration.mdx | 119 ++ .../hcp-vault-secrets-backed/index.mdx | 38 + .../dynamic-provider-credentials/index.mdx | 59 + .../kubernetes-configuration.mdx | 171 ++ .../manual-generation.mdx | 42 + .../specifying-multiple-configurations.mdx | 94 + .../vault-backed/aws-configuration.mdx | 135 ++ .../vault-backed/azure-configuration.mdx | 152 ++ .../vault-backed/gcp-configuration.mdx | 167 ++ .../vault-backed/index.mdx | 52 + .../vault-configuration.mdx | 225 +++ .../workload-identity-tokens.mdx | 99 + .../docs/enterprise/workspaces/health.mdx | 245 +++ .../docs/enterprise/workspaces/index.mdx | 100 + .../enterprise/workspaces/json-filtering.mdx | 117 ++ .../enterprise/workspaces/settings/access.mdx | 54 + .../workspaces/settings/deletion.mdx | 125 ++ .../enterprise/workspaces/settings/index.mdx | 213 +++ .../workspaces/settings/notifications.mdx | 130 ++ .../workspaces/settings/run-tasks.mdx | 134 ++ .../workspaces/settings/run-triggers.mdx | 51 + .../workspaces/settings/ssh-keys.mdx | 63 + .../enterprise/workspaces/settings/vcs.mdx | 127 ++ .../docs/enterprise/workspaces/state.mdx | 257 +++ .../docs/enterprise/workspaces/tags.mdx | 94 + .../enterprise/workspaces/variables/index.mdx | 237 +++ .../variables/managing-variables.mdx | 248 +++ .../img/docs/ado-required-status-check.png | Bin 0 -> 232272 bytes .../docs/azure-devops-server-public-keys.png | Bin 0 -> 132652 bytes ...evops-services-application-permissions.png | Bin 0 -> 101705 bytes .../azure-devops-services-oauth-policies.png | Bin 0 -> 130401 bytes .../v000011-1/img/docs/download-mocks.png | Bin 0 -> 56945 bytes .../v000011-1/img/docs/json-viewer-intro.png | Bin 0 -> 61869 bytes ...n-vcs-general-aggregated-status-checks.png | Bin 0 -> 122466 bytes ...s-general-non-aggregated-status-checks.png | Bin 0 -> 179599 bytes .../v000011-1/img/docs/runs-confirm.png | Bin 0 -> 305292 bytes .../img/docs/sentinel-json-enter-filter.png | Bin 0 -> 17427 bytes .../img/docs/sentinel-json-quick-filter.png | Bin 0 -> 56943 bytes .../v000011-1/img/docs/sentinel-view-json.png | Bin 0 -> 49721 bytes .../img/docs/service-now-comments.png | Bin 0 -> 288283 bytes .../docs/service-now-service-graph-apikey.png | Bin 0 -> 210155 bytes ...ervice-graph-conditional-class-mapping.png | Bin 0 -> 281274 bytes ...rvice-now-service-graph-deactivate-etl.png | Bin 0 -> 167695 bytes .../docs/service-now-service-graph-design.png | Bin 0 -> 247189 bytes ...ow-service-graph-etl-attribute-mapping.png | Bin 0 -> 741820 bytes ...now-service-graph-etl-condition-update.png | Bin 0 -> 331274 bytes ...service-graph-etl-editing-relationship.png | Bin 0 -> 393932 bytes ...service-graph-etl-setting-relationship.png | Bin 0 -> 368626 bytes .../service-now-service-graph-import-set.png | Bin 0 -> 376904 bytes ...ice-now-service-graph-scheduled-import.png | Bin 0 -> 507242 bytes ...ice-now-service-graph-state-object-url.png | Bin 0 -> 281619 bytes .../docs/service-now-service-graph-tags.png | Bin 0 -> 594043 bytes ...rvice-now-service-graph-team-token-gen.png | Bin 0 -> 307529 bytes .../docs/service-now-service-graph-tfconn.png | Bin 0 -> 282371 bytes ...ice-now-service-graph-webhook-schedule.png | Bin 0 -> 214156 bytes .../service-now-service-graph-webhook-tfc.png | Bin 0 -> 303560 bytes ...ervice-now-service-graph-webhook-token.png | Bin 0 -> 135170 bytes .../v000011-1/img/docs/service-now-store.png | Bin 0 -> 43209 bytes .../img/docs/service-now-updated-config.png | Bin 0 -> 156774 bytes .../img/docs/service-now-vcs-repository.png | Bin 0 -> 181211 bytes ...icenow-catalog-add-variables-to-action.png | Bin 0 -> 215320 bytes ...icenow-catalog-adjust-script-variables.png | Bin 0 -> 236014 bytes .../servicenow-catalog-configure-item.png | Bin 0 -> 93516 bytes .../docs/servicenow-catalog-copied-item.png | Bin 0 -> 146251 bytes .../docs/servicenow-catalog-copy-action.png | Bin 0 -> 84828 bytes .../img/docs/servicenow-catalog-copy-flow.png | Bin 0 -> 115571 bytes .../img/docs/servicenow-catalog-edit-flow.png | Bin 0 -> 106294 bytes ...ervicenow-catalog-fill-new-action-step.png | Bin 0 -> 167001 bytes .../docs/servicenow-catalog-get-variables.png | Bin 0 -> 238140 bytes .../servicenow-catalog-new-varset-form.png | Bin 0 -> 56763 bytes .../docs/servicenow-catalog-new-varset.png | Bin 0 -> 56398 bytes .../docs/servicenow-catalog-open-action.png | Bin 0 -> 114861 bytes .../docs/servicenow-catalog-original-flow.png | Bin 0 -> 63765 bytes .../servicenow-catalog-process-engine.png | Bin 0 -> 36154 bytes ...g-remove-example-variables-from-action.png | Bin 0 -> 222812 bytes ...cenow-catalog-remove-example-variables.png | Bin 0 -> 98146 bytes .../docs/servicenow-catalog-rename-action.png | Bin 0 -> 39580 bytes .../servicenow-catalog-replace-action.png | Bin 0 -> 138206 bytes .../servicenow-catalog-service-portal.png | Bin 0 -> 28681 bytes ...rvicenow-catalog-update-process-engine.png | Bin 0 -> 66390 bytes .../img/docs/servicenow-catalog-variables.png | Bin 0 -> 43305 bytes .../terraform-cloud-run-tasks-diagram.png | Bin 0 -> 73901 bytes .../img/docs/tfc-explorer-health.png | Bin 0 -> 183878 bytes .../img/docs/workspace-net-infra-combined.png | Bin 0 -> 23830 bytes .../img/docs/workspace-net-infra-split.png | Bin 0 -> 24195 bytes 247 files changed, 47549 insertions(+) create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/_template.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/account.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agent-tokens.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agents.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/applies.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/assessment-results.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/changelog.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/comments.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/configuration-versions.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/cost-estimates.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/github-app-installations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/no-code-provisioning.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/notification-configurations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-clients.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-tokens.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-memberships.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tags.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tokens.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organizations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plan-exports.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plans.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policies.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-checks.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-evaluations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-set-params.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-sets.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/gpg-keys.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/manage-module-versions.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/modules.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/provider-versions-platforms.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/providers.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/tests.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/project-team-access.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/projects.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/reserved-tag-keys.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-task-stages-and-results.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks-integration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-triggers.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/ssh-keys.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/stability-policy.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-version-outputs.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-versions.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-access.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-members.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-tokens.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/teams.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/user-tokens.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/users.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variable-sets.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variables.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/vcs-events.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-resources.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-variables.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspaces.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/architectural-details/data-security.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/aws.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/azure.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/gcp.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/aws-service-catalog/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/annotations-and-labels.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/api-reference.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/ops-v2-migration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/setup.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/run-tasks/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/admin-guide.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/developer-reference.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/example-customizations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/troubleshoot.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/customizations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/aws.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/azure.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/gcp.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/vsphere.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/service-graph-setup.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/migrate/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/execute.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/prepare.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/module-design.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/provisioning.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/custom-sentinel.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/opa.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig-v2.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan-v2.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfrun.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate-v2.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/opa-vcs.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/sentinel-vcs.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-library.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-sentinel.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/test-sentinel.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/json.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/projects/best-practices.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/projects/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/projects/manage.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/add.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/design.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/manage-module-versions.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-modules.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-providers.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/test.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/registry/using.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/api.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/cli.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/install-software.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/manage.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/modes-and-options.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/remote-operations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/run-environment.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/states.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/run/ui.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/2fa.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/api-tokens.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/manage-reserved-tags.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-status-checks.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/permissions.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/manage.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/notifications.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/users.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-server.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services-pat.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-cloud.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-data-center.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/github-enterprise.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/github.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-com.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-eece.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/vcs/troubleshooting.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/best-practices.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/browse.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/configurations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/create.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/aws-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/azure-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/gcp-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/aws-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/gcp-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/kubernetes-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/manual-generation.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/aws-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/azure-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/gcp-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-configuration.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/health.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/json-filtering.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/access.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/deletion.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/notifications.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-tasks.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-triggers.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/ssh-keys.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/vcs.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/state.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/tags.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/index.mdx create mode 100644 content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/managing-variables.mdx create mode 100644 content/ptfe-releases/v000011-1/img/docs/ado-required-status-check.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/azure-devops-server-public-keys.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/azure-devops-services-application-permissions.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/azure-devops-services-oauth-policies.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/download-mocks.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/json-viewer-intro.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/organization-vcs-general-aggregated-status-checks.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/organization-vcs-general-non-aggregated-status-checks.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/runs-confirm.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/sentinel-json-enter-filter.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/sentinel-json-quick-filter.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/sentinel-view-json.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-comments.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-apikey.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-conditional-class-mapping.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-deactivate-etl.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-design.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-attribute-mapping.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-condition-update.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-editing-relationship.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-setting-relationship.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-import-set.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-scheduled-import.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-state-object-url.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-tags.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-team-token-gen.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-tfconn.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-webhook-schedule.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-webhook-tfc.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-webhook-token.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-store.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-updated-config.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/service-now-vcs-repository.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-add-variables-to-action.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-adjust-script-variables.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-configure-item.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-copied-item.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-copy-action.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-copy-flow.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-edit-flow.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-fill-new-action-step.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-get-variables.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-new-varset-form.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-new-varset.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-open-action.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-original-flow.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-process-engine.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-remove-example-variables-from-action.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-remove-example-variables.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-rename-action.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-replace-action.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-service-portal.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-update-process-engine.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/servicenow-catalog-variables.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/terraform-cloud-run-tasks-diagram.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/tfc-explorer-health.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/workspace-net-infra-combined.png create mode 100644 content/ptfe-releases/v000011-1/img/docs/workspace-net-infra-split.png diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/_template.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/_template.mdx new file mode 100644 index 0000000000..94c74253f0 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/_template.mdx @@ -0,0 +1,222 @@ +--- +page_title: /example-endpoint API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/endpoint-name` to {A meaningful + description of this endpoint}. Aim for 130-160 characters total. +source: terraform-docs-common +--- + +Follow this template to format each API method. There are usually multiple sections like this on a given API endpoint page. + + + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: http://jsonapi.org/format/#error-objects + +# Example name API reference + +A explanatory sentence about what this thing in HCP Terraform does. + +## Create a Something + +Add at least one sentence of description about what this endpoint does. + + + +`POST /organizations/:organization_name/somethings` + + + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization to create the something in. The organization must already exist in the system, and the user must have permissions to create new somethings. | + + + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + + + +| Status | Response | Reason | +| ------- | -------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "somethings"`) | Successfully created a team | +| [400][] | [JSON API error object][] | Invalid `include` parameter | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [500][] | [JSON API error object][] | Failure during team creation | + + + +### Query Parameters + +[These are standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + + + +| Parameter | Description | +| ----------------------- | ------------------------------------------------------------- | +| `filter[workspace][id]` | **Required.** The workspace ID where this action will happen. | + + + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + + + +| Key path | Type | Default | Description | +| --------------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------ | +| `data.type` | string | | Must be `"somethings"`. | +| `data[].type` | string | | ... | +| `data.attributes.category` | string | | Whether this is a blue or red something. Valid values are `"blue"` or `"red"`. | +| `data.attributes.sensitive` | bool | `false` | Whether the value is sensitive. If true then the something is written once and not visible thereafter. | +| `filter.workspace.name` | string | | The name of the workspace that owns the something. | +| `filter.organization.name` | string | | The name of the organization that owns the workspace. | + + + +### Available Related Resources + + + +This GET endpoint can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| ------------------ | --------------------------------------------- | +| `organization` | The full organization record. | +| `current_run` | Additional information about the current run. | +| `current_run.plan` | The plan used in the current run. | + +### Sample Payload + +```json +{ + "data": { + "type":"somethings", + "attributes": { + "category":"red", + "sensitive":true + } + }, + "filter": { + "organization": { + "name":"my-organization" + }, + "workspace": { + "name":"my-workspace" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/somethings +``` + + + +### Sample Response + +```json +{ + "data": { + "id":"som-EavQ1LztoRTQHSNT", + "type":"somethings", + "attributes": { + "sensitive":true, + "category":"red", + }, + "relationships": { + "configurable": { + "data": { + "id":"ws-4j8p6jX1w33MiDC7", + "type":"workspaces" + }, + "links": { + "related":"/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self":"/api/v2/somethings/som-EavQ1LztoRTQHSNT" + } + } +} +``` + + diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/account.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/account.mdx new file mode 100644 index 0000000000..570770ef0d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/account.mdx @@ -0,0 +1,278 @@ +--- +page_title: /account API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/account` endpoint to manage the current + user. Learn how to read and update your account's details and change your + password. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Account API reference + +Account represents the current user interacting with Terraform. It returns the same type of object as the [Users](/terraform/enterprise/api-docs/users) API, but also includes an email address, which is hidden when viewing info about other users. + +For internal reasons, HCP Terraform associates team and organization tokens with a synthetic user account called _service user_. HCP Terraform returns the associated service user for account requests authenticated by a team or organization token. Use the `authenticated-resource` relationship to access the underlying team or organization associated with a token. For user tokens, you can use the user, itself. + +## Get your account details + +`GET /account/details` + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------- | +| [200][] | [JSON API document][] (`type: "users"`) | The request was successful | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/account/details +``` + +### Sample Response + +```json +{ + "data": { + "id": "user-V3R563qtJNcExAkN", + "type": "users", + "attributes": { + "username": "admin", + "is-service-account": false, + "auth-method": "tfc", + "avatar-url": "https://www.gravatar.com/avatar/9babb00091b97b9ce9538c45807fd35f?s=100&d=mm", + "v2-only": false, + "is-site-admin": true, + "is-sso-login": false, + "email": "admin@hashicorp.com", + "unconfirmed-email": null, + "permissions": { + "can-create-organizations": true, + "can-change-email": true, + "can-change-username": true + } + }, + "relationships": { + "authentication-tokens": { + "links": { + "related": "/api/v2/users/user-V3R563qtJNcExAkN/authentication-tokens" + } + }, + "authenticated-resource": { + "data": { + "id": "user-V3R563qtJNcExAkN", + "type": "users" + }, + "links": { + "related": "/api/v2/users/user-V3R563qtJNcExAkN" + } + } + }, + "links": { + "self": "/api/v2/users/user-V3R563qtJNcExAkN" + } + } +} +``` + +## Update your account info + +Your username and email address can be updated with this endpoint. + +`PATCH /account/update` + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "users"`) | Your info was successfully updated | +| [401][] | [JSON API error object][] | Unauthorized | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| -------------------------- | ------ | ------- | --------------------------------------------------------------- | +| `data.type` | string | | Must be `"users"` | +| `data.attributes.username` | string | | New username | +| `data.attributes.email` | string | | New email address (must be confirmed afterwards to take effect) | + +### Sample Payload + +```json +{ + "data": { + "type": "users", + "attributes": { + "email": "admin@example.com", + "username": "admin" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/account/update +``` + +### Sample Response + +```json +{ + "data": { + "id": "user-V3R563qtJNcExAkN", + "type": "users", + "attributes": { + "username": "admin", + "is-service-account": false, + "auth-method": "hcp_username_password", + "avatar-url": "https://www.gravatar.com/avatar/9babb00091b97b9ce9538c45807fd35f?s=100&d=mm", + "v2-only": false, + "is-site-admin": true, + "is-sso-login": false, + "email": "admin@hashicorp.com", + "unconfirmed-email": null, + "permissions": { + "can-create-organizations": true, + "can-change-email": true, + "can-change-username": true + } + }, + "relationships": { + "authentication-tokens": { + "links": { + "related": "/api/v2/users/user-V3R563qtJNcExAkN/authentication-tokens" + } + } + }, + "links": { + "self": "/api/v2/users/user-V3R563qtJNcExAkN" + } + } +} +``` + +## Change your password + +`PATCH /account/password` + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "users"`) | Your password was successfully changed | +| [401][] | [JSON API error object][] | Unauthorized | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| --------------------------------------- | ------ | ------- | ------------------------------------------------------- | +| `data.type` | string | | Must be `"users"` | +| `data.attributes.current_password` | string | | Current password | +| `data.attributes.password` | string | | New password (must be at least 10 characters in length) | +| `data.attributes.password_confirmation` | string | | New password (confirmation) | + +### Sample Payload + +```json +{ + "data": { + "type": "users", + "attributes": { + "current_password": "current password e.g. 2:C)e'G4{D\n06:[d1~y", + "password": "new password e.g. 34rk492+jgLL0@xhfyisj", + "password_confirmation": "new password e.g. 34rk492+jLL0@xhfyisj" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/account/password +``` + +### Sample Response + +```json +{ + "data": { + "id": "user-V3R563qtJNcExAkN", + "type": "users", + "attributes": { + "username": "admin", + "is-service-account": false, + "auth-method": "hcp_github", + "avatar-url": "https://www.gravatar.com/avatar/9babb00091b97b9ce9538c45807fd35f?s=100&d=mm", + "v2-only": false, + "is-site-admin": true, + "is-sso-login": false, + "email": "admin@hashicorp.com", + "unconfirmed-email": null, + "permissions": { + "can-create-organizations": true, + "can-change-email": true, + "can-change-username": true + } + }, + "relationships": { + "authentication-tokens": { + "links": { + "related": "/api/v2/users/user-V3R563qtJNcExAkN/authentication-tokens" + } + } + }, + "links": { + "self": "/api/v2/users/user-V3R563qtJNcExAkN" + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agent-tokens.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agent-tokens.mdx new file mode 100644 index 0000000000..e1d27c1395 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agent-tokens.mdx @@ -0,0 +1,272 @@ +--- +page_title: /authentication-tokens API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/authentication-tokens` endpoint to manage + agent tokens. Learn how to read, create, and destroy agent tokens. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Agent token API reference + + + +@include 'tfc-package-callouts/agents.mdx' + + + +## List Agent Tokens + +`GET /agent-pools/:agent_pool_id/authentication-tokens` + +| Parameter | Description | +| ---------------- | ------------------------- | +| `:agent_pool_id` | The ID of the Agent Pool. | + +The objects returned by this endpoint only contain metadata, and do not include the secret text of any authentication tokens. A token is only shown upon creation, and cannot be recovered later. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "authentication-tokens"`) | Success | +| [404][] | [JSON API error object][] | Agent Pool not found, or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ---------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 tokens per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/agent-pools/apool-MCf6kkxu5FyHbqhd/authentication-tokens +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "at-bonpPzYqv2bGD7vr", + "type": "authentication-tokens", + "attributes": { + "created-at": "2020-08-07T19:38:20.868Z", + "last-used-at": "2020-08-07T19:40:55.139Z", + "description": "asdfsdf", + "token": null + }, + "relationships": { + "created-by": { + "data": { + "id": "user-Nxv6svuhVrTW7eb1", + "type": "users" + } + } + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/agent-pools/apool-MCf6kkxu5FyHbqhd/authentication-tokens?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/agent-pools/apool-MCf6kkxu5FyHbqhd/authentication-tokens?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/agent-pools/apool-MCf6kkxu5FyHbqhd/authentication-tokens?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + } + } +} +``` + +## Show an Agent Token + +`GET /authentication-tokens/:id` + +| Parameter | Description | +| --------- | --------------------------------- | +| `:id` | The ID of the Agent Token to show | + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "authentication-tokens"`) | Success | +| [404][] | [JSON API error object][] | Agent Token not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/authentication-tokens/at-bonpPzYqv2bGD7vr +``` + +### Sample Response + +```json +{ + "data": { + "id": "at-bonpPzYqv2bGD7vr", + "type": "authentication-tokens", + "attributes": { + "created-at": "2020-08-07T19:38:20.868Z", + "last-used-at": "2020-08-07T19:40:55.139Z", + "description": "test token", + "token": null + }, + "relationships": { + "created-by": { + "data": { + "id": "user-Nxv6svuhVrTW7eb1", + "type": "users" + } + } + } + } +} +``` + +## Create an Agent Token + +`POST /agent-pools/:agent_pool_id/authentication-tokens` + +| Parameter | Description | +| ---------------- | ------------------------ | +| `:agent_pool_id` | The ID of the Agent Pool | + +This endpoint returns the secret text of the created authentication token. A token is only shown upon creation, and cannot be recovered later. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "authentication-tokens"`) | The request was successful | +| [404][] | [JSON API error object][] | Agent Pool not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [500][] | [JSON API error object][] | Failure during Agent Token creation | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------- | ------ | ------- | ------------------------------------ | +| `data.type` | string | | Must be `"authentication-tokens"`. | +| `data.attributes.description` | string | | The description for the Agent Token. | + +### Sample Payload + +```json +{ + "data": { + "type": "authentication-tokens", + "attributes": { + "description":"api" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/agent-pools/apool-xkuMi7x4LsEnBUdY/authentication-tokens +``` + +### Sample Response + +```json +{ + "data": { + "id": "at-2rG2oYU9JEvfaqji", + "type": "authentication-tokens", + "attributes": { + "created-at": "2020-08-10T22:29:21.907Z", + "last-used-at": null, + "description": "api", + "token": "eHub7TsW7fz7LQ.atlasv1.cHGFcvf2VxVfUH4PZ7UNdaGB6SjyKWs5phdZ371zkI2KniZs2qKgrAcazhlsiy02awk" + }, + "relationships": { + "created-by": { + "data": { + "id": "user-Nxv6svuhVrTW7eb1", + "type": "users" + } + } + } + } +} +``` + +## Destroy an Agent Token + +`DELETE /api/v2/authentication-tokens/:id` + +| Parameter | Description | +| --------- | ------------------------------------- | +| `:id` | The ID of the Agent Token to destroy. | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------- | +| [204][] | Empty response | The Agent Token was successfully destroyed | +| [404][] | [JSON API error object][] | Agent Token not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/authentication-tokens/at-6yEmxNAhaoQLH1Da +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agents.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agents.mdx new file mode 100644 index 0000000000..58acfa2aad --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/agents.mdx @@ -0,0 +1,637 @@ +--- +page_title: /agents and /agent-pools API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/agents` endpoint to read and delete + agents. Use the `/agent-pools` endpoint to read, create, update, and delete + agent pools. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Agents and agent pools API reference + +An Agent Pool represents a group of Agents, often related to one another by sharing a common network segment or purpose. +A workspace may be configured to use one of the organization's agent pools to run remote operations with isolated, +private, or on-premises infrastructure. + + + +@include 'tfc-package-callouts/agents.mdx' + + + +## List Agent Pools + +`GET /organizations/:organization_name/agent-pools` + +| Parameter | Description | +| -------------------- | ----------------------------- | +| `:organization_name` | The name of the organization. | + +This endpoint allows you to list agent pools, their agents, and their tokens for an organization. + +| Status | Response | Reason | +| ------- | --------------------------------------------- | ---------------------- | +| [200][] | [JSON API document][] (`type: "agent-pools"`) | Success | +| [404][] | [JSON API error object][] | Organization not found | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | | +| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | +| `q` | **Optional.** A search query string. Agent pools are searchable by name. | | +| `sort` | **Optional.** Allows sorting the returned agents pools. Valid values are `"name"` and `"created-at"`. Prepending a hyphen to the sort parameter will reverse the order (e.g. `"-name"`). | | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 agent pools per page. | | +| `filter[allowed_workspaces][name]` | **Optional.** Filters agent pools to those associated with the given workspace. The workspace must have permission to use the agent pool. Refer to [Scoping Agent Pools to Specific Workspaces](/terraform/cloud-docs/agents#scope-an-agent-pool-to-specific-workspaces). | | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/organizations/my-organization/agent-pools +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "apool-yoGUFz5zcRMMz53i", + "type": "agent-pools", + "attributes": { + "name": "example-pool", + "created-at": "2020-08-05T18:10:26.964Z", + "organization-scoped": false, + "agent-count": 3 + }, + "relationships": { + "agents": { + "links": { + "related": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/agents" + } + }, + "authentication-tokens": { + "links": { + "related": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/authentication-tokens" + } + }, + "workspaces": { + "data": [ + { + "id": "ws-9EEkcEQSA3XgWyGe", + "type": "workspaces" + } + ] + }, + "allowed-workspaces": { + "data": [ + { + "id": "ws-x9taqV23mxrGcDrn", + "type": "workspaces" + } + ] + } + }, + "links": { + "self": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/my-organization/agent-pools?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/my-organization/agent-pools?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/my-organization/agent-pools?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + }, + "status-counts": { + "total": 1, + "matching": 1 + } + } +} +``` + +## List Agents + +`GET /agent-pools/:agent_pool_id/agents` + +| Parameter | Description | +| ---------------- | --------------------------------- | +| `:agent_pool_id` | The ID of the Agent Pool to list. | + +| Status | Response | Reason | +| ------- | ---------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "agents"`) | Success | +| [404][] | [JSON API error object][] | Agent Pool not found, or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ------------------------- | ---------------------------------------------------------------------------- | +| `filter[last-ping-since]` | **Optional.** Accepts a date in ISO8601 format (ex. `2020-08-11T10:41:23Z`). | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 agents per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/agent-pools/apool-xkuMi7x4LsEnBUdY/agents +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "agent-A726QeosTCpCumAs", + "type": "agents", + "attributes": { + "name": "my-cool-agent", + "status": "idle", + "ip-address": "123.123.123.123", + "last-ping-at": "2020-10-09T18:52:25.246Z" + }, + "links": { + "self": "/api/v2/agents/agent-A726QeosTCpCumAs" + } + }, + { + "id": "agent-4cQzjbr1cnM6Pcxr", + "type": "agents", + "attributes": { + "name": "my-other-cool-agent", + "status": "exited", + "ip-address": "123.123.123.123", + "last-ping-at": "2020-08-12T15:25:09.726Z" + }, + "links": { + "self": "/api/v2/agents/agent-4cQzjbr1cnM6Pcxr" + } + }, + { + "id": "agent-yEJjXQCucpNxtxd2", + "type": "agents", + "attributes": { + "name": null, + "status": "errored", + "ip-address": "123.123.123.123", + "last-ping-at": "2020-08-11T06:22:20.300Z" + }, + "links": { + "self": "/api/v2/agents/agent-yEJjXQCucpNxtxd2" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/agents?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/agents?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/agents?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 3 + } + } +} +``` + +## Show an Agent Pool + +`GET /agent-pools/:id` + +| Parameter | Description | +| --------- | -------------------------------- | +| `:id` | The ID of the Agent Pool to show | + +| Status | Response | Reason | +| ------- | --------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "agent-pools"`) | Success | +| [404][] | [JSON API error object][] | Agent Pool not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/agent-pools/apool-MCf6kkxu5FyHbqhd +``` + +### Sample Response + +```json +{ + "data": { + "id": "apool-yoGUFz5zcRMMz53i", + "type": "agent-pools", + "attributes": { + "name": "example-pool", + "created-at": "2020-08-05T18:10:26.964Z", + "organization-scoped": false + }, + "relationships": { + "agents": { + "links": { + "related": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/agents" + } + }, + "authentication-tokens": { + "links": { + "related": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/authentication-tokens" + } + }, + "workspaces": { + "data": [ + { + "id": "ws-9EEkcEQSA3XgWyGe", + "type": "workspaces" + } + ] + }, + "allowed-workspaces": { + "data": [ + { + "id": "ws-x9taqV23mxrGcDrn", + "type": "workspaces" + } + ] + } + }, + "links": { + "self": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i" + } + } +} +``` + +## Show an Agent + +`GET /agents/:id` + +| Parameter | Description | +| --------- | --------------------------- | +| `:id` | The ID of the agent to show | + +| Status | Response | Reason | +| ------- | ---------------------------------------- | ------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "agents"`) | Success | +| [404][] | [JSON API error object][] | Agent not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/agents/agent-73PJNzbZB5idR7AQ +``` + +### Sample Response + +```json +{ + "data": { + "id": "agent-Zz9PTEcUgBtYzht8", + "type": "agents", + "attributes": { + "name": "my-agent", + "status": "busy", + "ip-address": "123.123.123.123", + "last-ping-at": "2020-09-08T18:47:35.361Z" + }, + "links": { + "self": "/api/v2/agents/agent-Zz9PTEcUgBtYzht8" + } + } +} +``` + +This endpoint lists details about an agent along with that agent's status. [Learn more about agents statuses](/terraform/cloud-docs/agents/agent-pools#view-agent-statuses). + +## Delete an Agent + +`DELETE /agents/:id` + +| Parameter | Description | +| --------- | ----------------------------- | +| `:id` | The ID of the agent to delete | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [204][] | No Content | Success | +| [412][] | [JSON API error object][] | Agent is not deletable. Agents must have a status of `unknown`, `errored`, or `exited` before being deleted. | +| [404][] | [JSON API error object][] | Agent not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --request DELETE \ + https://app.terraform.io/api/v2/agents/agent-73PJNzbZB5idR7AQ +``` + +## Create an Agent Pool + +`POST /organizations/:organization_name/agent-pools` + +| Parameter | Description | +| -------------------- | ----------------------------- | +| `:organization_name` | The name of the organization. | + +This endpoint allows you to create an Agent Pool for an organization. Only one Agent Pool may exist for an organization. + +| Status | Response | Reason | +| ------- | --------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "agent-pools"`) | Agent Pool successfully created | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------- | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"agent-pools"`. | +| `data.attributes.name` | string | | The name of the agent pool, which can only include letters, numbers, `-`, and `_`. This will be used as an identifier and must be unique in the organization. | +| `data.attributes.organization-scoped` | bool | true | The scope of the agent pool. If true, all workspaces in the organization can use the agent pool. | +| `data.relationships.allowed-workspaces.data.type` | string | | Must be `"workspaces"`. | +| `data.relationships.allowed-workspaces.data.id` | string | | The ID of the workspace that has permission to use the agent pool. Refer to [Scoping Agent Pools to Specific Workspaces](/terraform/cloud-docs/agents#scope-an-agent-pool-to-specific-workspaces). | + +### Sample Payload + +```json +{ + "data": { + "type": "agent-pools", + "attributes": { + "name": "my-pool", + "organization-scoped": false + }, + "relationships": { + "allowed-workspaces": { + "data": [ + { + "id": "ws-x9taqV23mxrGcDrn", + "type": "workspaces" + } + ] + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/agent-pools +``` + +### Sample Response + +```json +{ + "data": { + "id": "apool-55jZekR57npjHHYQ", + "type": "agent-pools", + "attributes": { + "name": "my-pool", + "created-at": "2020-10-13T16:32:45.165Z", + "organization-scoped": false, + + }, + "relationships": { + "agents": { + "links": { + "related": "/api/v2/agent-pools/apool-55jZekR57npjHHYQ/agents" + } + }, + "authentication-tokens": { + "links": { + "related": "/api/v2/agent-pools/apool-55jZekR57npjHHYQ/authentication-tokens" + } + }, + "workspaces": { + "data": [] + }, + "allowed-workspaces": { + "data": [ + { + "id": "ws-x9taqV23mxrGcDrn", + "type": "workspaces" + } + ] + } + }, + "links": { + "self": "/api/v2/agent-pools/apool-55jZekR57npjHHYQ" + } + } +} +``` + +## Update an Agent Pool + +`PATCH /agent-pools/:id` + +| Parameter | Description | +| --------- | ---------------------------------- | +| `:id` | The ID of the Agent Pool to update | + +| Status | Response | Reason | +| ------- | --------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "agent-pools"`) | Success | +| [404][] | [JSON API error object][] | Agent Pool not found, or user unauthorized to perform action | +| [422][] | JSON error document | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------- | ------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"agent-pools"`. | +| `data.attributes.name` | string | (previous value) | The name of the agent pool, which can only include letters, numbers, `-`, and `_`. This will be used as an identifier and must be unique in the organization. | +| `data.attributes.organization-scoped` | bool | true | The scope of the agent pool. If true, all workspaces in the organization can use the agent pool. | +| `data.relationships.allowed-workspaces.data.type` | string | | Must be `"workspaces"`. | +| `data.relationships.allowed-workspaces.data.id` | string | | The ID of the workspace that has permission to use the agent pool. Refer to [Scoping Agent Pools to Specific Workspaces](/terraform/cloud-docs/agents#scope-an-agent-pool-to-specific-workspaces). | + +### Sample Payload + +```json +{ + "data": { + "type": "agent-pools", + "attributes": { + "name": "example-pool", + "organization-scoped": false + }, + "relationships": { + "allowed-workspaces": { + "data": [ + { + "id": "ws-x9taqV23mxrGcDrn", + "type": "workspaces" + } + ] + } + } + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/agent-pools/apool-MCf6kkxu5FyHbqhd +``` + +### Sample Response + +```json +{ + "data": { + "id": "apool-yoGUFz5zcRMMz53i", + "type": "agent-pools", + "attributes": { + "name": "example-pool", + "created-at": "2020-08-05T18:10:26.964Z" + }, + "relationships": { + "agents": { + "links": { + "related": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/agents" + } + }, + "authentication-tokens": { + "links": { + "related": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i/authentication-tokens" + } + }, + "workspaces": { + "data": [ + { + "id": "ws-9EEkcEQSA3XgWyGe", + "type": "workspaces" + } + ] + }, + "allowed-workspaces": { + "data": [ + { + "id": "ws-x9taqV23mxrGcDrn", + "type": "workspaces" + } + ] + } + }, + "links": { + "self": "/api/v2/agent-pools/apool-yoGUFz5zcRMMz53i" + } + } +} +``` + +## Delete an Agent Pool + +`DELETE /agent-pools/:agent_pool_id` + +| Parameter | Description | +| ---------------- | ------------------------------------- | +| `:agent_pool_id` | The ID of the agent pool ID to delete | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/agent-pools/apool-MCf6kkxu5FyHbqhd +``` + +### Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| ------------- | ------------------------------------------- | +| `workspaces` | The workspaces attached to this agent pool. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/applies.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/applies.mdx new file mode 100644 index 0000000000..a124bf588c --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/applies.mdx @@ -0,0 +1,201 @@ +--- +page_title: /applies API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/applies` endpoint to read the results of + a Terraform apply and to recover any failed state uploads after applying. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[307]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Applies API reference + +An apply represents the results of applying a Terraform Run's execution plan. + +## Attributes + +### Apply States + +You'll find the apply state in `data.attributes.status`, as one of the following values. + +| State | Description | +| ------------------------- | ------------------------------------------------------------------------------ | +| `pending` | The initial status of a apply once it has been created. | +| `managed_queued`/`queued` | The apply has been queued, awaiting backend service capacity to run terraform. | +| `running` | The apply is running. | +| `errored` | The apply has errored. This is a final state. | +| `canceled` | The apply has been canceled. This is a final state. | +| `finished` | The apply has completed successfully. This is a final state. | +| `unreachable` | The apply will not run. This is a final state. | + +## Show an apply + +`GET /applies/:id` + +| Parameter | Description | +| --------- | ---------------------------- | +| `id` | The ID of the apply to show. | + +There is no endpoint to list applies. You can find the ID for an apply in the +`relationships.apply` property of a run object. + +| Status | Response | Reason | +| ------- | ----------------------------------------- | ------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "applies"`) | The request was successful | +| [404][] | [JSON API error object][] | Apply not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/applies/apply-47MBvjwzBG8YKc2v +``` + +### Sample Response + +```json +{ + "data": { + "id": "apply-47MBvjwzBG8YKc2v", + "type": "applies", + "attributes": { + "execution-details": { + "mode": "remote", + }, + "status": "finished", + "status-timestamps": { + "queued-at": "2018-10-17T18:58:27+00:00", + "started-at": "2018-10-17T18:58:29+00:00", + "finished-at": "2018-10-17T18:58:37+00:00" + }, + "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6OFA1eEdlSFVHRSs4YUcwaW83a1dRRDA0U2E3T3FiWk1HM2NyQlNtcS9JS1hHN3dmTXJmaFhEYTlHdTF1ZlgxZ2wzVC9kVTlNcjRPOEJkK050VFI3U3dvS2ZuaUhFSGpVenJVUFYzSFVZQ1VZYno3T3UyYjdDRVRPRE5pbWJDVTIrNllQTENyTndYd1Y0ak1DL1dPVlN1VlNxKzYzbWlIcnJPa2dRRkJZZGtFeTNiaU84YlZ4QWs2QzlLY3VJb3lmWlIrajF4a1hYZTlsWnFYemRkL2pNOG9Zc0ZDakdVMCtURUE3dDNMODRsRnY4cWl1dUN5dUVuUzdnZzFwL3BNeHlwbXNXZWRrUDhXdzhGNnF4c3dqaXlZS29oL3FKakI5dm9uYU5ZKzAybnloREdnQ3J2Rk5WMlBJemZQTg", + "resource-additions": 1, + "resource-changes": 0, + "resource-destructions": 0, + "resource-imports": 0 + }, + "relationships": { + "state-versions": { + "data": [ + { + "id": "sv-TpnsuD3iewwsfeRD", + "type": "state-versions" + }, + { + "id": "sv-Fu1n6a3TgJ1Typq9", + "type": "state-versions" + } + ] + } + }, + "links": { + "self": "/api/v2/applies/apply-47MBvjwzBG8YKc2v" + } + } +} +``` + +_Using HCP Terraform agents_ + +[HCP Terraform agents](/terraform/enterprise/api-docs/agents) allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure. When a workspace is set to use the agent execution mode, the apply response will include additional details about the agent pool and agent used. + +```json +{ + "data": { + "id": "apply-47MBvjwzBG8YKc2v", + "type": "applies", + "attributes": { + "execution-details": { + "agent-id": "agent-S1Y7tcKxXPJDQAvq", + "agent-name": "agent_01", + "agent-pool-id": "apool-Zigq2VGreKq7nwph", + "agent-pool-name": "first-pool", + "mode": "agent", + }, + "status": "finished", + "status-timestamps": { + "queued-at": "2018-10-17T18:58:27+00:00", + "started-at": "2018-10-17T18:58:29+00:00", + "finished-at": "2018-10-17T18:58:37+00:00" + }, + "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6OFA1eEdlSFVHRSs4YUcwaW83a1dRRDA0U2E3T3FiWk1HM2NyQlNtcS9JS1hHN3dmTXJmaFhEYTlHdTF1ZlgxZ2wzVC9kVTlNcjRPOEJkK050VFI3U3dvS2ZuaUhFSGpVenJVUFYzSFVZQ1VZYno3T3UyYjdDRVRPRE5pbWJDVTIrNllQTENyTndYd1Y0ak1DL1dPVlN1VlNxKzYzbWlIcnJPa2dRRkJZZGtFeTNiaU84YlZ4QWs2QzlLY3VJb3lmWlIrajF4a1hYZTlsWnFYemRkL2pNOG9Zc0ZDakdVMCtURUE3dDNMODRsRnY4cWl1dUN5dUVuUzdnZzFwL3BNeHlwbXNXZWRrUDhXdzhGNnF4c3dqaXlZS29oL3FKakI5dm9uYU5ZKzAybnloREdnQ3J2Rk5WMlBJemZQTg", + "resource-additions": 1, + "resource-changes": 0, + "resource-destructions": 0, + "resource-imports": 0 + }, + "relationships": { + "state-versions": { + "data": [ + { + "id": "sv-TpnsuD3iewwsfeRD", + "type": "state-versions" + }, + { + "id": "sv-Fu1n6a3TgJ1Typq9", + "type": "state-versions" + } + ] + } + }, + "links": { + "self": "/api/v2/applies/apply-47MBvjwzBG8YKc2v" + } + } +} +``` + +## Recover a failed state upload after applying + +`GET /applies/:id/errored-state` + +| Parameter | Description | +| --------- | ----------------------------------------- | +| `id` | The ID of the apply to recover state for. | + +It is possible that during the course of a Run, Terraform may fail to upload a +state file. This can happen for a variety of reasons, but should be an +exceptionally rare occurrence. HCP Terraform agent versions greater than 1.12.0 +include a fallback mechanism which attempts to upload the state directly to +HCP Terraform's backend storage system in these cases. This endpoint then +makes the raw data from these failed uploads available to users who are +authorized to read the state contents. + +| Status | Response | Reason | +| ------- | -------------------------------------------- | ----------------------------------------------------------------------------------- | +| [307][] | HTTP temporary redirect to state storage URL | Errored state available and user is authorized to read it | +| [404][] | [JSON API error object][] | Apply not found, errored state not uploaded, or user unauthorized to perform action | + +When a 307 redirect is returned, the storage URL to the raw state file will be +present in the `Location` header of the response. The URL in the `Location` +header will expire after one minute. It is recommended for the API client to +follow the redirect immediately. Each successful request to the errored-state +endpoint will generate a new, unique storage URL with the same one minute +expiration window. + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/applies/apply-47MBvjwzBG8YKc2v/errored-state +``` + +### Sample Response + + HTTP/1.1 307 Temporary Redirect + Content-Length: 22 + Content-Type: text/plain + Location: https://archivist.terraform.io/v1/object/dmF1bHQ6djE6OFA1eEdlSFVHRSs4YUcwaW83a1dRRDA0U2E3T3FiWk1HM2NyQlNtcS9JS1hHN3dmTXJmaFhEYTlHdTF1ZlgxZ2wzVC9kVTlNcjRPOEJkK050VFI3U3dvS2ZuaUhFSGpVenJVUFYzSFVZQ1VZYno3T3UyYjdDRVRPRE5pbWJDVTIrNllQTENyTndYd1Y0ak1DL1dPVlN1VlNxKzYzbWlIcnJPa2dRRkJZZGtFeTNiaU84YlZ4QWs2QzlLY3VJb3lmWlIrajF4a1hYZTlsWnFYemRkL2pNOG9Zc0ZDakdVMCtURUE3dDNMODRsRnY4cWl1dUN5dUVuUzdnZzFwL3BNeHlwbXNXZWRrUDhXdzhGNnF4c3dqaXlZS29oL3FKakI5dm9uYU5ZKzAybnloREdnQ3J2Rk5WMlBJemZQTg + + 307 Temporary Redirect diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/assessment-results.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/assessment-results.mdx new file mode 100644 index 0000000000..6ce07a2eda --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/assessment-results.mdx @@ -0,0 +1,129 @@ +--- +page_title: /assessment-results API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/assessment-results` endpoint to read a + health assessment's results, including details on continuous validation and + drift detection. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +# Health assessment results API reference + +An Assessment Result is the summary record of an instance of health assessment. HCP Terraform can perform automatic health assessments in a workspace to assess whether its real infrastructure matches the requirements defined in its Terraform configuration. Refer to [Health](/terraform/enterprise/workspaces/health) for more details. + + + +@include 'tfc-package-callouts/health-assessments.mdx' + + + +## Show Assessment Result + +Any user with read access to a workspace can retrieve assessment results for the workspace. + +`GET api/v2/assessment-results/:assessment_result_id` + +| Parameter | Description | +| ----------------------- | ------------------------ | +| `:assessment_result_id` | The assessment result ID | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/assessment-results/asmtres-cHh5777xm +``` + +### Sample Response + +```json +{ + "id": "asmtres-UG5rE9L1373hMYMA", + "type": "assessment-results", + "data": { + "attributes": { + "drifted": true, + "succeeded": true, + "error-msg": null, + "created-at": "2022-07-02T22:29:58+00:00", + }, + "links": { + "self": "/api/v2/assessment-results/asmtres-UG5rE9L1373hMYMA/" + "json-output": "/api/v2/assessment-results/asmtres-UG5rE9L1373hMYMA/json-output" + "json-schema": "/api/v2/assessment-results/asmtres-UG5rE9L1373hMYMA/json-schema" + "log-output": "/api/v2/assessment-results/asmtres-UG5rE9L1373hMYMA/log-output" + } + } +} +``` + +## Retrieve the JSON output from the assessment execution + +The following endpoints retrieve files documenting the plan, schema, and logged runtime associated with the specified assessment result. They provide complete context for an assessment result. The responses do not adhere to JSON API spec. + +You cannot access these endpoints with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access them with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens) that has admin level access to the workspace. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for details. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### JSON Plan + +The following endpoint returns the JSON plan output associated with the assessment result. + +`GET api/v2/assessment-results/:assessment_result_id/json-output` + +#### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/assessment-results/asmtres-cHh5777xm/json-output +``` + +### JSON Schema file + +The following endpoint returns the JSON [provider schema](/terraform/cli/commands/providers/schema) associated with the assessment result. + +`GET api/v2/assessment-results/:assessment_result_id/json-schema` + +#### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/assessment-results/asmtres-cHh5777xm/json-schema +``` + +### JSON Log Output + +The following endpoint returns Terraform JSON log output. + +`GET api/v2/assessment-results/assessment_result_id/log-output` + +#### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/assessment-results/asmtres-cHh5777xm/log-output +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/changelog.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/changelog.mdx new file mode 100644 index 0000000000..7cda177f5a --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/changelog.mdx @@ -0,0 +1,578 @@ +--- +page_title: API Changelog for Terraform Enterprise +page_id: api-changelog +description: >- + Use this log of Terraform Enterprise API changes to track new features and + evolving functionality over time. +source: terraform-docs-common +--- + +# API Changelog + +Keep track of changes to the API for HCP Terraform and Terraform Enterprise. + +## 2025-05-1 + +- Add `agent-pool` relationship to the [run task API](/terraform/enterprise/api-docs/run-tasks/run-tasks), which you can use to assign a run task to an agent pool. +- Add `private-run-tasks` to [feature entitlements](/terraform/enterprise/api-docs#feature-entitlements). + +- You can now revoke, and revert the revocation of, module versions. Learn more about [Managing module versions](/terraform/enterprise/api-docs/private-registry/manage-module-versions). + + +## 2025-03-20 + +- Add API documentation for multiple [team tokens](/terraform/enterprise/api-docs/api-tokens), and update documentation around [legacy team tokens](/terraform/enterprise/api-docs/team-tokens##legacy-team-tokens-api-reference). +- Update existing API documentation for [team tokens](/terraform/enterprise/api-docs/team-tokens) to distinguish multiple team tokens from [legacy team tokens](/terraform/enterprise/api-docs/team-tokens##legacy-team-tokens-api-reference). + +## 2025-3-10 + +- Document unique pagination metadata given in the response of [Organization Runs Index API](/terraform/enterprise/api-docs/run##list-runs-in-an-organization). + +## 2025-03-10 + +- Add new field `current_rum_count` to the [explorer API](/terraform/enterprise/api-docs/explorer) in the `workspaces` view type that lists a workspace's current resources under management. + +## 2024-11-19 + +- Clarify `tag-bindings` and `effective-tag-bindings` on [workspaces](/terraform/enterprise/api-docs/workspaces) and [projects](/terraform/enterprise/api-docs/projects) +- Adds new documentation for `PATCH`ing tag bindings on [projects](/terraform/enterprise/api-docs/projects) and [workspaces](/terraform/enterprise/api-docs/workspaces) + +## 2024-10-15 + +- Add new documentation for the ability to deprecate, and revert the deprecation of, module versions. Learn more about [Managing module versions](/terraform/enterprise/api-docs/private-registry/manage-module-versions). + +## 2024-10-14 + +- Update the [Organizations API](/terraform/enterprise/api-docs/organizations) to support the `speculative-plan-management-enabled` attribute, which controls [automatic cancellation of plan-only runs triggered by outdated commits](/terraform/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management). + +## 2024-10-11 + +- Add documentation for new timeframe filter on List endpoints for [Runs](/terraform/enterprise/api-docs/run) API + +## 2024-09-02 + +- Add warning about the deprecation and future removal of the [Policy Checks](/terraform/enterprise/api-docs/policy-checks) API. + +## 2024-08-16 + +- Fixes Workspace API responses to be consistent and contain all attributes and relationships. + +## 2024-08-14 + +- Add documentation for a new API endpoint that lists an [organization's team tokens](/terraform/enterprise/api-docs/team-tokens). + +## 2024-08-01 + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. + + +- Update the [admin settings API](/terraform/enterprise/api-docs/admin/settings##update-general-settings) and [admin organizations API](/terraform/enterprise/api-docs/admin/organizations#update-an-organization) to indicate that the `terraform-build-worker-plan-timeout` and `terraform-build-worker-apply-timeout` attributes are deprecated and will be replaced by `plan-timeout` and `apply-timeout`, respectively. + + + +## 2024-07-24 + +- Remove beta tags from documentation for audit trail tokens. + + +## 2024-07-15 + +- Update the [Team API](/terraform/enterprise/api-docs/teams) to include `allow-member-token-management`. + + + +## 2024-07-12 + +- Add beta tags to documentation for audit trail tokens. + + +## 2024-06-25 + +- Add API documentation for new [team token management setting](/terraform/enterprise/users-teams-organizations/api-tokens). +- Update API documentation for the [manage teams permission](/terraform/enterprise/users-teams-organizations/permissions#team-management-permissions). + +## 2024-05-29 + +- Add API documentation for the new [audit trails token](/terraform/enterprise/api-docs/audit-trails-tokens). + +## 2024-05-23 + +- Update the [registry modules API](/terraform/enterprise/api-docs/private-registry/modules#create-a-module-version) for publishing new versions of branch based modules. + +## 2024-05-10 + +- Add API documentation for new [manage agent pools permission](/terraform/enterprise/users-teams-organizations/permissions#manage-agent-pools). + +## 2024-04-25 + +- Project names can now be up to 40 characters. + +## 2024-04-08 + +- Add API documentation for new [team management permissions](/terraform/enterprise/users-teams-organizations/permissions#team-management-permissions). + +## 2024-04-04 + +- Add a `sort` parameter to the [Projects list API](/terraform/enterprise/api-docs/projects#query-parameters) to allow sorting projects by name. +- Add a `description` attribute to the [Projects API](/terraform/enterprise/api-docs/projects). +- Add `project-count` and `workspace-count` attributes to sample [Projects API](/terraform/enterprise/api-docs/projects) responses. + +## 2024-3-27 + +- Add `private-vcs` to [Feature Entitlements](/terraform/enterprise/api-docs#feature-entitlements). + +## 2024-3-26 + +- Add API documentation for searching [variable sets](/terraform/enterprise/api-docs/variable-sets#list-variable-sets) by name. + +## 2024-3-14 + +- Add documentation for creating runs with debugging mode enabled. + +## 2024-3-12 + +- Update OAuth Client API endpoints to create, update, and return projects associated with an oauth client. +- Add API endpoints to [Attach an OAuth Client](/terraform/enterprise/api-docs/oauth-clients#attach-an-oauth-client-to-projects) and [Detach an OAuth Client](/terraform/enterprise/api-docs/oauth-clients#detach-an-oauth-client-from-projects) from a project. +- Add `organization-scoped` attribute to the [OAuth Clients API](/terraform/enterprise/api-docs/oauth-clients). + +## 2024-2-29 + +- Update [run task stages](/terraform/enterprise/api-docs/run-tasks/run-task-stages-and-results) with new multi-stage payload format. +- Update [run tasks](/terraform/enterprise/api-docs/run-tasks/run-tasks) with global run tasks request/response payloads. + +## 2024-2-27 + +- Add `private-policy-agents` to [Feature Entitlements](/terraform/enterprise/api-docs#feature-entitlements). + +## 2024-2-20 + +- Add documentation for configuring organization and workspace data retention policies through the API and on the different [types of data retention policies](/terraform/enterprise/api-docs/data-retention-policies). + + +## 2024-2-8 + +- Add [Explorer API documentation](/terraform/enterprise/api-docs/explorer) + + +## 2024-1-30 + +- Update the [Audit trails](/terraform/enterprise/api-docs/audit-trails) documentation to expand on the payloads for each event. + +## 2024-1-24 + +- Introduce configurable data retention policies at the site-wide level and extend data retention policies at the organization and workspace levels. +- Added and/or updated data retention policy documentation to the following topics: + - [Admin Settings Documentation](/terraform/enterprise/application-administration/general#data-retention-policies) + - [Admin API Documentation](/terraform/enterprise/api-docs/admin/settings#data-retention-policies) + - [Organization Documentation](/terraform/enterprise/users-teams-organizations/organizations#data-retention-policies) + - [Workspace Documentation](/terraform/enterprise/workspaces/settings/deletion#data-retention-policies) + +## 2024-1-4 + +- Update the [Organizations API](/terraform/enterprise/api-docs/organizations) to support the `aggregated-commit-status-enabled` attribute, which controls whether [Aggregated Status Checks](/terraform/enterprise/users-teams-organizations/organizations/vcs-status-checks) are enabled. + +## 2023-11-17 + +- Added the [`opa-versions` endpoint](/terraform/enterprise/api-docs/admin/opa-versions) to allow administrators to manage available Open Policy Agent (OPA) versions. +- Added the [`sentinel-versions` endpoint](/terraform/enterprise/api-docs/admin/sentinel-versions) to allow administrators to manage available Sentinel versions. +- Add `authenticated-resource` relationship to the [`account` API](/terraform/enterprise/api-docs/account). + +## 2023-11-15 + +- Introduce configurable data retention policies at the [organization](/terraform/enterprise/users-teams-organizations/organizations#data-retention-policies) and [workspace](/terraform/enterprise/workspaces/settings/deletion#data-retention-policies) levels. +- Added data retention policy documentation to the following topics: + - [`state-versions` API documentation](/terraform/enterprise/api-docs/state-versions) + - [`configuration-versions` API documentation](/terraform/enterprise/api-docs/configuration-versions) + - [Organizations documentation](/terraform/enterprise/users-teams-organizations/organizations#destruction-and-deletion) + - [Workspaces documentation](/terraform/enterprise/workspaces/settings/deletion#data-retention-policies) + +## 2023-11-07 + +- Add `auto_destroy_activity_duration` to the [Workspaces API](/terraform/enterprise/api-docs/workspaces), which allows Terraform Cloud to schedule auto-destroy runs [based on workspace inactivity](/terraform/enterprise/workspaces/settings/deletion#automatically-destroy). + +## 2023-10-31 + +- Update the [Workspaces API](/terraform/enterprise/api-docs/workspaces) to support the `auto-apply-run-trigger` attribute, which controls if run trigger runs are auto-applied. + +## 2023-10-30 + +- Add `priority` attribute to the [Variable Sets API](/terraform/enterprise/api-docs/variable-sets). + +## 2023-10-04 + +- Updates to [run task integration API](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) + - Fix invalid JSON in the example payload. + - Clarify the expected JSON:API payload fields. +- Add `policy-tool-version` attribute to [Policy Set Outcomes](/terraform/enterprise/api-docs/policy-evaluations#list-policy-outcomes). + +## 2023-10-03 + +- Update [Policy Sets API](/terraform/enterprise/api-docs/policy-sets) to include `agent-enabled` and `policy-tool-version`. +- Update [Policy Evaluations API](/terraform/enterprise/api-docs/policy-evaluations) to include `policy-tool-version`. + +## 2023-09-29 + +- Add support for [streamlined run task reviews](/terraform/enterprise/integrations/run-tasks), enabling run task integrations to return high fidelity results. + - Update the [Terraform cloud run task API](/terraform/enterprise/api-docs/run-tasks/run-tasks) to enable streamlined run task reviews. + - The [run task integration API](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) now guides integrations through sending rich results. + - Updated the run task payload [JSON Schema](https://github.com/hashicorp/terraform-docs-common/blob/main/website/public/schema/run-tasks/runtask-result.json). + +## 2023-09-25 + +- Add `intermediate` boolean attribute to the [State Versions API](/terraform/enterprise/api-docs/state-versions). + +## 2023-09-19 + +- Add [failed state upload recovery](/terraform/enterprise/api-docs/applies#recover-a-failed-state-upload-after-applying) endpoint. + +## 2023-09-15 + +- Add `auto-destroy-at` attribute to the [Workspaces API](/terraform/enterprise/api-docs/workspaces). +- Update the [Notification Configurations API](/terraform/enterprise/api-docs/notification-configurations) to include [automatic destroy run](/terraform/enterprise/api-docs/notification-configurations#automatic-destroy-runs) details. + +## 2023-09-08 + +- Update the [Organizations API](/terraform/enterprise/api-docs/organizations) to include `default-execution-mode` and `default-agent-pool`. +- Update the [Workspaces API](/terraform/enterprise/api-docs/workspaces) to add a `setting-overwrites` object to allow you to overwrite `default-execution-mode` and `default-agent-pool`. + +## 2023-09-06 + +- Update Policy Sets API endpoints to create, update, and return excluded workspaces associated with a policy set. +- Add API endpoints to [Attach a Policy Set](/terraform/enterprise/api-docs/policy-sets#attach-a-policy-set-to-exclusions) and [Detach a Policy Set](/terraform/enterprise/api-docs/policy-sets#detach-a-policy-set-to-exclusions) from excluded workspaces. + +## 2023-08-21 + +- Add `save-plan` attribute, `planned_and_saved` status, and `save_plan` operation type to [Runs endpoints](/terraform/enterprise/api-docs/run). + +## 2023-08-10 + +- Add `provisional` to `configuration-versions` endpoint. + +## 2023-07-26 + +- Add support for a `custom` option to the `team_project` access level along with various customizable permissions. The `project-access` permissions apply to the project itself, and `workspace-access` permissions apply to all workspaces within the project. For more information, see [Project Team Access](/terraform/enterprise/api-docs/project-team-access). + +## 2023-06-09 + +- Introduce support for [`import` blocks](/terraform/language/import/generating-configuration). + - [Runs](/terraform/enterprise/api-docs/run#create-a-run) have a new `allow-config-generation` option. + - [Plans](/terraform/enterprise/api-docs/plans#show-a-plan) have new `resource-imports` and `generated-configuration` properties. + - [Applies](/terraform/enterprise/api-docs/applies#show-an-apply) have a new `resource-imports` property. +- The workspaces associated with a policy set can now be updated using the [Policy Sets PATCH endpoint](/terraform/enterprise/api-docs/policy-sets#update-a-policy-set) +- Update the [Workspaces](/terraform/enterprise/api-docs/workspaces) API endpoints to include the associated [project](/terraform/enterprise/api-docs/projects). + +## 2023-05-25 + +- Terraform Cloud sets the `configuration_version_download_url`, `configuration_version_id`, and `workspace_working_directory` properties for all stages of the [Run Task Request](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration#request-body). +- Add the new `enforcement-level` property in the request and response of [Policies endpoints](/terraform/enterprise/api-docs/policies). +- Deprecate the old `enforce` property in the request and response of [Policies endpoints](/terraform/enterprise/api-docs/policies). +- Add new properties to limit run tasks and policies for the Terraform Cloud free tier. We updated the [entitlement set](/terraform/enterprise/api-docs/organizations#show-the-entitlement-set), [feature set](/terraform/enterprise/api-docs/feature-sets#sample-response), and [subscription](/terraform/enterprise/api-docs/subscriptions#sample-response) endpoints with the following properties: + - `run-task-limit` + - `run-task-workspace-limit` + - `run-task-mandatory-enforcement-limit` + - `policy-set-limit` + - `policy-limit` + - `policy-mandatory-enforcement-limit` + - `versioned-policy-set-limit` + +## 2023-04-25 + +- Add the `version-id` property to the response for the Create, List, and Update [Workspace Variables endpoints](/terraform/enterprise/api-docs/workspaces-variables). + +## 2023-03-30 + +- Add the `sort` query parameter to the Workspaces API's [list workspaces endpoint](/terraform/enterprise/api-docs/workspaces#list-workspaces). + +## 2023-03-24 + +- Update the [Variable Sets](/terraform/enterprise/api-docs/variable-sets) API endpoints to include assigning variable sets to projects. + +## 2023-03-20 + +- Add a names filter to the [Projects list API](/terraform/enterprise/api-docs/projects#query-parameters) to allow fetching a list of projects by name. + +## 2023-03-13 + +- Update [Project Team Access API](/terraform/enterprise/api-docs/project-team-access) to include additional Project roles. +- Update [Permissions](/terraform/enterprise/users-teams-organizations/permissions) to reflect the decoupling of projects and workspaces in the Organization Permissions UI. + +## 2023-03-08 + +- Introduced the [GitHub App Installation APIs](/terraform/enterprise/api-docs/github-app-installations). +- Updated [Workspaces API](/terraform/enterprise/api-docs/workspaces) to accept `vcs-repo.github-app-installation-id` to connect a workspace to a GitHub App Installation. +- Updated [Registry Module API](/terraform/enterprise/api-docs/private-registry/modules) to accept `vcs-repo.github-app-installation-id` to connect to a GitHub App Installation. +- Updated [Policy Sets API](/terraform/enterprise/api-docs/policy-sets) to accept `vcs-repo.github-app-installation-id` to connect to a GitHub App Installation. + +## 2023-02-16 + +- Add `manage-membership` to the organization access settings of the [Team API](/terraform/enterprise/api-docs/teams). + +## 2023-02-03 + +- Updated the [List Runs API](/terraform/enterprise/api-docs/run#list-runs-in-a-workspace) to note that the filter query parameters accept comma-separated lists. + +## 2023-01-18 + +- Updated the [Team API](/terraform/enterprise/api-docs/teams) to include the `read-workspaces` and `read-projects` permissions which grants teams view access to workspaces and projects. + +## 2023-01-17 + +- Add [Projects API](/terraform/enterprise/api-docs/projects) for creating, updating and deleting projects. +- Add [Project Team Access API](/terraform/enterprise/api-docs/project-team-access) for managing access for teams to individual projects. +- Update [Workspaces API](/terraform/enterprise/api-docs/workspaces) to include examples of creating a workspace in a project and moving a workspace between projects. +- Update [List Teams API](/terraform/enterprise/api-docs/teams#query-parameters) to accept a search parameter `q`, so that teams can be searched by name. + +## 2023-01-12 + +- Added new rollback to previous state endpoint to [State Versions API](/terraform/enterprise/api-docs/state-versions) + +## 2022-12-22 + +- Updated [Safe Delete a workspace](/terraform/enterprise/api-docs/workspaces#safe-delete-a-workspace) to fix HTTP verb as `POST`. + +## 2022-11-18 + +- Update [Policies API](/terraform/enterprise/api-docs/policies) to fix policy enforcement level defaults. Enforcement level is a required field, so no defaults are available. + +## 2022-11-03 + +- Update [Policy Checks](/terraform/enterprise/api-docs/policy-checks) to fix policy set outcome return data type. + +### 2022-10-17 + +- Updated the [Organizations API](/terraform/enterprise/api-docs/organizations) with the `allow-force-delete-workspaces`, which controls whether workspace administrators can delete workspaces with resources under management. +- Updated the [Workspaces API](/terraform/enterprise/api-docs/workspaces) with a safe delete endpoint that guards against deleting workspaces that are managing resources. + +### 2022-10-12 + +- Update [Policy Checks](/terraform/enterprise/api-docs/policy-checks) with result counts and support for filtering policy set outcomes. +- Update [Team Membership API](/terraform/enterprise/api-docs/team-members) to include adding and removing users from teams using organization membership ID. + + + +### 2022-10-06 + +- Updated the [Policies API](/terraform/enterprise/api-docs/policies) with support for Open Policy Agent (OPA) policies. +- Update [Policy Sets](/terraform/enterprise/api-docs/policy-sets) with support for OPA policy sets. +- Updated [Policy Checks](/terraform/enterprise/api-docs/policy-checks) to add support for listing policy evaluations and policy set outcomes. +- Update [Run Tasks Stage](/terraform/enterprise/api-docs/run-tasks/run-task-stages-and-results) to include the new `policy_evaluations` attribute in the output. + + +### 2022-09-21 + +- Update [State Versions](/terraform/enterprise/api-docs/state-versions#create) with optional `json-state-outputs` and `json-state` attributes, which are base-64 encoded external JSON representations of the terraform state. The read-only `hosted-json-state-download-url` attribute links to this version of the state file when available. +- Update [State Version Outputs](/terraform/enterprise/api-docs/state-version-outputs) with a `detailed-type` attribute, which refines the output with the precise Terraform type. + +### 2022-07-26 + +- Updated the [Run status list](/terraform/enterprise/api-docs/run#run-states) with `fetching`, `queuing`, `pre_plan_running` and `pre_plan_completed` +- Update [Run Tasks](/terraform/enterprise/api-docs/run-tasks.mdx) to include the new `stages` attribute when attaching or updating workspace tasks. +- Updated [Run Tasks Integration](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) to specify the different request payloads for different stages. + +### 2022-06-23 + + + +- Added the [Assessments](/terraform/enterprise/api-docs/assessments). + +- Updated [Workspace](/terraform/enterprise/api-docs/workspaces#create-a-workspace) and + [Notification Configurations](/terraform/enterprise/api-docs/notification-configurations#notification-triggers) to account for assessments. + + +- Added new query parameter(s) to [List Runs endpoint](/terraform/enterprise/api-docs/run#list-runs-in-a-workspace). + +### 2022-06-21 + +- Updated [Admin Organizations](/terraform/enterprise/api-docs/admin/organizations) endpoints with new `workspace-limit` setting. This is available in Terraform Enterprise v202207-1 and later. +- Updated [List Agent Pools](/terraform/enterprise/api-docs/agents#list-agent-pools) to accept a filter parameter `filter[allowed_workspaces][name]` so that agent pools can be filtered by name of an associated workspace. The given workspace must be allowed to use the agent pool. Refer to [Scoping Agent Pools to Specific Workspaces](/terraform/cloud-docs/agents#scope-an-agent-pool-to-specific-workspaces). +- Added new `organization-scoped` attribute and `allowed-workspaces` relationship to the request/response body of the below endpoints. This is available in Terraform Enterprise v202207-1 and later. + - [Show an Agent Pool](/terraform/enterprise/api-docs/agents#show-an-agent-pool) + - [Create an Agent Pool](/terraform/enterprise/api-docs/agents#create-an-agent-pool) + - [Update an Agent Pool](/terraform/enterprise/api-docs/agents#update-an-agent-pool) + +### 2022-06-17 + +- Updated [Creating a Run Task](/terraform/enterprise/workspaces/settings/run-tasks#creating-a-run-task) section to include the new description information for the run task to be configured. +- Update [Run Tasks](/terraform/enterprise/api-docs/run-tasks.mdx) to include the new description attribute. + +### 2022-06-09 + +- Updated [List Agent Pools](/terraform/enterprise/api-docs/agents#list-agent-pools) to accept a search parameter `q`, so that agent pools can be searched by `name`. This is available in Terraform Enterprise v202207-1 and later. +- Fixed [List Workspaces](/terraform/enterprise/api-docs/workspaces#list-workspaces) to add missing `search[tags]` query parameter. +- Updated [List Workspaces](/terraform/enterprise/api-docs/workspaces#list-workspaces) to add new `search[exclude_tags]` query parameter. This is available in Terraform Enterprise v202207-1 and later. + +### 2022-05-11 + +- Updated Run Tasks permission to the following endpoints: + - [Organizations](/terraform/enterprise/api-docs/organizations#list-organizations). + - [Team Access](/terraform/enterprise/api-docs/team-access#list-team-access-to-a-workspace). + - [Teams](/terraform/enterprise/api-docs/teams#list-teams). + +### 2022-05-04 + +- Updated [Feature Sets](/terraform/enterprise/api-docs/feature-sets#list-feature-sets) to add new `run-tasks` attribute. + +### 2022-05-03 + +- Added Run Tasks permission to the following endpoints: + - [Organizations](/terraform/enterprise/api-docs/organizations#list-organizations) + - [Workspaces](/terraform/enterprise/api-docs/workspaces#show-workspace) + +### 2022-04-29 + +- Updated [Run Tasks Integration](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) to specify the allowed `status` attribute values. +- Updated [Organization Memberships](/terraform/enterprise/api-docs/organization-memberships#query-parameters) to add new `filter[email]` query parameter. +- Updated [Teams](/terraform/enterprise/api-docs/teams#query-parameters) to add new `filter[names]` query parameter. + +### 2022-04-04 + +- Added the [Run Tasks Integration](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) endpoint. + +### 2022-03-14 + +- Added the [Download Configuration Files](/terraform/enterprise/api-docs/configuration-versions#download-configuration-files) endpoints. + +### 2022-03-11 + +- Introduced [Archiving Configuration Versions](/terraform/enterprise/workspaces/configurations#archiving-configuration-versions). + - Updated [Configuration Versions](/terraform/enterprise/api-docs/configuration-versions#attributes) to add new `fetching` and `archived` states. + - Updated [Runs](/terraform/enterprise/api-docs/run#attributes) to add new `fetching` state. + - Added the [Archive a Configuration Version](/terraform/enterprise/api-docs/configuration-versions#archive-a-configuration-version) endpoint. + +### 2022-02-25 + +- Updated [Workspace Run Tasks](/terraform/enterprise/api-docs/run-tasks/run-tasks#show-a-run-task) to add new `enabled`attribute. + +### 2022-02-28 + +- Introduced the [Registry Providers](/terraform/enterprise/api-docs/private-registry/providers) endpoints to manage private providers for a private registry. + +### 2021-12-09 + +- Added `variables` field for POST /runs and the run resource, enabling run-specific variable values. + +### 2021-12-03 + +- OAuth API updated to handle `secret` and `rsa_public_key` fields for POST/PUT. + +### 2021-11-17 + +- Added pagination support to the following endpoints: + - [Feature Sets](/terraform/enterprise/api-docs/feature-sets#list-feature-sets) - `GET /feature-sets` + - [Notification Configurations](/terraform/enterprise/api-docs/notification-configurations#list-notification-configurations) - `GET /workspaces/:workspace_id/notification-configurations` + - [Oauth Clients](/terraform/enterprise/api-docs/oauth-clients#list-oauth-clients) - `GET /organizations/:organization_name/oauth-clients` + - [Oauth Tokens](/terraform/enterprise/api-docs/oauth-tokens#list-oauth-tokens) - `GET /oauth-clients/:oauth_client_id/oauth-tokens` + - [Organization Feature Sets](/terraform/enterprise/api-docs/feature-sets#list-feature-sets-for-organization) - `GET /organizations/:organization_name/feature-sets` + - [Organizations](/terraform/enterprise/api-docs/organizations#list-organizations) - `GET /organizations` + - [Policy Checks](/terraform/enterprise/api-docs/policy-checks#list-policy-checks) - `GET /runs/:run_id/policy-checks` + - [Policy Set Parameters](/terraform/enterprise/api-docs/policy-set-params#list-parameters) - `GET /policy-sets/:policy_set_id/parameters` + - [SSH Keys](/terraform/enterprise/api-docs/ssh-keys#list-ssh-keys) - `GET /organizations/:organization_name/ssh-keys` + - [User Tokens](/terraform/enterprise/api-docs/user-tokens#list-user-tokens) - `GET /users/:user_id/authentication-tokens` + +### 2021-11-11 + +- Introduced the [Variable Sets](/terraform/enterprise/api-docs/variable-sets) endpoints for viewing and administering Variable Sets + +### 2021-11-18 + +- Introduced the [Registry Providers](/terraform/enterprise/api-docs/private-registry/providers) endpoint to manage public providers for a + private registry. These endpoints will be available in the following Terraform Enterprise Release: `v202112-1` + +### 2021-09-12 + +- Added [Run Tasks Stages and Results](/terraform/enterprise/api-docs/run-tasks/run-task-stages-and-results) endpoint. + +### 2021-08-18 + +- Introduced the [State Version Outputs](/terraform/enterprise/api-docs/state-versions) endpoint to retrieve the Outputs for a + given State Version + +### 2021-08-11 + +- **BREAKING CHANGE:** Security fix to [Configuration versions](/terraform/enterprise/api-docs/configuration-versions): upload-url attribute for [uploading configuration files](/terraform/enterprise/api-docs/configuration-versions#upload-configuration-files) is now only available on the create response. + +### 2021-07-30 + +- Introduced Workspace Tagging + - Updated [Workspaces](/terraform/enterprise/api-docs/workspaces): + - added `tag-names` attribute. + - added `POST /workspaces/:workspace_id/relationships/tags` + - added `DELETE /workspaces/:workspace_id/relationships/tags` + - Added [Organization Tags](/terraform/enterprise/api-docs/organization-tags). + - Added `tags` attribute to [`tfrun`](/terraform/enterprise/policy-enforcement/sentinel/import/tfrun) + +### 2021-07-19 + +- [Notification configurations](/terraform/enterprise/api-docs/notification-configurations): Gave organization tokens permission to create and manage notification configurations. + +### 2021-07-09 + +- [State versions](/terraform/enterprise/api-docs/state-versions): Fixed the ID format for the workspace relationship of a state version. Previously, the reported ID was unusable due to a bug. +- [Workspaces](/terraform/enterprise/api-docs/workspaces): Added `locked_by` as an includable related resource. +- Added [Run Tasks](/terraform/enterprise/api-docs/run-tasks/run-tasks) API endpoint. + +### 2021-06-8 + +- Updated [Registry Module APIs](/terraform/enterprise/api-docs/private-registry/modules). + - added `registry_name` scoped APIs. + - added `organization_name` scoped APIs. + - added [Module List API](/terraform/enterprise/api-docs/private-registry/modules#list-registry-modules-for-an-organization). + - updated [Module Delete APIs](/terraform/enterprise/api-docs/private-registry/modules#delete-a-module) (see deprecation note below). + - **CLOUD**: added public registry module related APIs. +- **DEPRECATION**: The following [Registry Module APIs](/terraform/enterprise/api-docs/private-registry/modules) have been replaced with newer apis and will be removed in the future. + - The following endpoints to delete modules are replaced with [Module Delete APIs](/terraform/enterprise/api-docs/private-registry/modules#delete-a-module) + - `POST /registry-modules/actions/delete/:organization_name/:name/:provider/:version` replaced with `DELETE /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider/:version` + - `POST /registry-modules/actions/delete/:organization_name/:name/:provider` replaced with `DELETE /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider` + - `POST /registry-modules/actions/delete/:organization_name/:name` replaced with `DELETE /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name` + - `POST /registry-modules` replaced with [`POST /organizations/:organization_name/registry-modules/vcs`](/terraform/enterprise/api-docs/private-registry/modules#publish-a-private-module-from-a-vcs) + - `POST /registry-modules/:organization_name/:name/:provider/versions` replaced with [`POST /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider/versions`](/terraform/enterprise/api-docs/private-registry/modules#create-a-module-version) + - `GET /registry-modules/show/:organization_name/:name/:provider` replaced with [`GET /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider`](/terraform/enterprise/api-docs/private-registry/modules#get-a-module) + +### 2021-05-27 + +- **CLOUD**: [Agents](/terraform/enterprise/api-docs/agents): added [delete endpoint](/terraform/enterprise/api-docs/agents#delete-an-agent). + +### 2021-05-19 + +- [Runs](/terraform/enterprise/api-docs/run): added `refresh`, `refresh-only`, and `replace-addrs` attributes. + +### 2021-04-16 + +- Introduced [Controlled Remote State Access](https://www.hashicorp.com/blog/announcing-controlled-remote-state-access-for-terraform-cloud-and-enterprise). + - [Admin Settings](/terraform/enterprise/api-docs/admin/settings): added `default-remote-state-access` attribute. + - [Workspaces](/terraform/enterprise/api-docs/workspaces): + - added `global-remote-state` attribute. + - added [Remote State Consumers](/terraform/enterprise/api-docs/workspaces#get-remote-state-consumers) relationship. + +### 2021-04-13 + +- [Teams](/terraform/enterprise/api-docs/teams): added `manage-policy-overrides` property to the `organization-access` attribute. + +### 2021-03-23 + +- **ENTERPRISE**: `v202103-1` Introduced [Share Modules Across Organizations with Terraform Enterprise](https://www.hashicorp.com/blog/share-modules-across-organizations-terraform-enterprise). + - [Admin Organizations](/terraform/enterprise/api-docs/admin/organizations): + - added new query parameters to [List all Organizations endpoint](/terraform/enterprise/api-docs/admin/organizations#query-parameters) + - added module-consumers link in `relationships` response + - added [update module consumers endpoint](/terraform/enterprise/api-docs/admin/organizations#update-an-organization-39-s-module-consumers) + - added [list module consumers endpoint](/terraform/enterprise/api-docs/admin/organizations#list-module-consumers-for-an-organization) + - [Organizations](/terraform/enterprise/api-docs/organizations): added [Module Producers](/terraform/enterprise/api-docs/organizations#show-module-producers) + - **DEPRECATION**: [Admin Module Sharing](/terraform/enterprise/api-docs/admin/module-sharing): is replaced with a new JSON::Api compliant [endpoint](/terraform/enterprise/api-docs/admin/organizations#update-an-organization-39-s-module-consumers) + +### 2021-03-18 + +- **CLOUD**: Introduced [New Workspace Overview for Terraform Cloud](https://www.hashicorp.com/blog/new-workspace-overview-for-terraform-cloud). + - [Workspaces](/terraform/enterprise/api-docs/workspaces): + - added `resource-count` and `updated-at` attributes. + - added [performance attributes](/terraform/enterprise/api-docs/workspaces#workspace-performance-attributes) (`apply-duration-average`, `plan-duration-average`, `policy-check-failures`, `run-failures`, `workspaces-kpis-run-count`). + - added `readme` and `outputs` [related resources](/terraform/enterprise/api-docs/workspaces#available-related-resources). + - [Team Access](/terraform/enterprise/api-docs/team-access): updated to support pagination. + +### 2021-03-11 + +- Added [VCS Events](/terraform/enterprise/api-docs/vcs-events), limited to GitLab.com connections. + +### 2021-03-08 + +- [Workspaces](/terraform/enterprise/api-docs/workspaces): added `current_configuration_version` and `current_configuration_version.ingress_attributes` as includable related resources. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/comments.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/comments.mdx new file mode 100644 index 0000000000..2e96414328 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/comments.mdx @@ -0,0 +1,227 @@ +--- +page_title: /comments API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/comments` endpoint to create and read + comments on Terraform runs. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[307]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Comments API reference + +Comments allow users to leave feedback or record decisions about a run. + +## List Comments for a Run + +`GET /runs/:id/comments` + +| Parameter | Description | +| --------- | ------------------ | +| `id` | The ID of the run. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/runs/run-KTuq99JSzgmDSvYj/comments +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "wsc-JdFX3u8o114F4CWf", + "type": "comments", + "attributes": { + "body": "A comment body" + }, + "relationships": { + "run-event": { + "data": { + "id": "re-fo1YXZ8W5bp5GBKM", + "type": "run-events" + }, + "links": { + "related": "/api/v2/run-events/re-fo1YXZ8W5bp5GBKM" + } + } + }, + "links": { + "self": "/api/v2/comments/wsc-JdFX3u8o114F4CWf" + } + }, + { + "id": "wsc-QdhSPFTNoCTpfafp", + "type": "comments", + "attributes": { + "body": "Another comment body" + }, + "relationships": { + "run-event": { + "data": { + "id": "re-fo1YXZ8W5bp5GBKM", + "type": "run-events" + }, + "links": { + "related": "/api/v2/run-events/re-fo1YXZ8W5bp5GBKM" + } + } + }, + "links": { + "self": "/api/v2/comments/wsc-QdhSPFTNoCTpfafp" + } + } + ] +} +``` + +## Show a Comment + +`GET /comments/:id` + +| Parameter | Description | +| --------- | ---------------------- | +| `id` | The ID of the comment. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/comments/wsc-gTFq83JSzjmAvYj +``` + +### Sample Response + +```json +{ + "data": { + "id": "wsc-gTFq83JSzjmAvYj", + "type": "comments", + "attributes": { + "body": "Another comment" + }, + "relationships": { + "run-event": { + "data": { + "id": "re-8RB5ZaFrDanG2hGY", + "type": "run-events" + }, + "links": { + "related": "/api/v2/run-events/re-8RB5ZaFrDanG2hGY" + } + } + }, + "links": { + "self": "/api/v2/comments/wsc-gTFq83JSzjmAvYj" + } + } +} +``` + +## Create Comment + +`POST /runs/:id/comments` + +| Parameter | Description | +| --------- | ------------------ | +| `id` | The ID of the run. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as the request payload. + +| Key Path | Type | Default | Description | +| ---------------------- | ------ | ------- | ------------------------ | +| `data.type` | string | | Must be `"comments"`. | +| `data.attributes.body` | string | | The body of the comment. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "body": "A comment about the run", + }, + "type": "comments" + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/runs/run-KTuq99JSzgmDSvYj/comments +``` + +### Sample Response + +```json +{ + "data": { + "id": "wsc-oRiShushpgLU4JD2", + "type": "comments", + "attributes": { + "body": "A comment about the run" + }, + "relationships": { + "run-event": { + "data": { + "id": "re-E3xsBX11F1fbm2zV", + "type": "run-events" + }, + "links": { + "related": "/api/v2/run-events/re-E3xsBX11F1fbm2zV" + } + } + }, + "links": { + "self": "/api/v2/comments/wsc-oRiShushpgLU4JD2" + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/configuration-versions.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/configuration-versions.mdx new file mode 100644 index 0000000000..8b5f077525 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/configuration-versions.mdx @@ -0,0 +1,561 @@ +--- +page_title: /configuration-versions API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/configuration-versions` endpoint to list, + show, and create a configuration version and its files within a workspace. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[302]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Configuration versions API reference + +-> **Note:** Before working with the runs or configuration versions APIs, read the [API-driven run workflow](/terraform/enterprise/run/api) page, which includes both a full overview of this workflow and a walkthrough of a simple implementation of it. + +A configuration version (`configuration-version`) is a resource used to reference the uploaded configuration files. It is associated with the run to use the uploaded configuration files for performing the plan and apply. + +You need read runs permission to list and view configuration versions for a workspace, and you need queue plans permission to create new configuration versions. Refer to the [permissions](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) documentation for more details. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Attributes + +### Configuration Version States + +The configuration version state is found in `data.attributes.status`, and you can reference the following list of possible states. + +A configuration version created through the API or CLI can only be used in runs if it is in an `uploaded` state. A configuration version created through a linked VCS repository may also be used in runs if it is in an `archived` state. + +| State | Description | | +| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | +| `pending` | The initial status of a configuration version after it has been created. Pending configuration versions cannot be used to create new runs. | | +| `fetching` | For configuration versions created from a commit to a connected VCS repository, HCP Terraform is currently fetching the associated files from VCS. | | +| `uploaded` | The configuration version is fully processed and can be used in runs. | | +| `archived` | All immediate runs are complete and HCP Terraform has discarded the files associated with this configuration version. If the configuration version was created through a connected VCS repository, it can still be used in new runs. In those cases, HCP Terraform will re-fetch the files from VCS. | | +| `errored` | HCP Terraform could not process this configuration version, and it cannot be used to create new runs. You can try again by pushing a new commit to your linked VCS repository or creating a new configuration version with the API or CLI. | | +| `backing_data_soft_deleted` | Indicates that the configuration version's backing data is marked for garbage collection. If no action is taken, the backing data associated with this configuration version is permanently deleted after a set number of days. You can restore the backing data associated with the configuration version before it is permanently deleted. | | +| `backing_data_permanently_deleted` | The configuration version's backing data has been permanently deleted and can no longer be restored. | | + +## List Configuration Versions + +`GET /workspaces/:workspace_id/configuration-versions` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to list configurations from. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | -------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 configuration versions per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/workspaces/ws-2Qhk7LHgbMrm3grF/configuration-versions +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "cv-ntv3HbhJqvFzamy7", + "type": "configuration-versions", + "attributes": { + "error": null, + "error-message": null, + "source": "gitlab", + "speculative":false, + "status": "uploaded", + "status-timestamps": {}, + "provisional": false + }, + "relationships": { + "ingress-attributes": { + "data": { + "id": "ia-i4MrTxmQXYxH2nYD", + "type": "ingress-attributes" + }, + "links": { + "related": + "/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/ingress-attributes" + } + } + }, + "links": { + "self": "/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7", + "download": "/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/download" + } + } + ] +} +``` + +## Show a Configuration Version + +`GET /configuration-versions/:configuration-id` + +| Parameter | Description | +| ------------------- | ------------------------------------ | +| `:configuration-id` | The id of the configuration to show. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7 +``` + +### Sample Response + +```json +{ + "data": { + "id": "cv-ntv3HbhJqvFzamy7", + "type": "configuration-versions", + "attributes": { + "error": null, + "error-message": null, + "source": "gitlab", + "speculative":false, + "status": "uploaded", + "status-timestamps": {}, + "provisional": false + }, + "relationships": { + "ingress-attributes": { + "data": { + "id": "ia-i4MrTxmQXYxH2nYD", + "type": "ingress-attributes" + }, + "links": { + "related": + "/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/ingress-attributes" + } + } + }, + "links": { + "self": "/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7", + "download": "/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/download" + } + } +} +``` + +## Show a Configuration Version's Commit Information + +An ingress attributes resource (`ingress-attributes`) is used to reference commit information for configuration versions created in a workspace with a VCS repository. + +`GET /configuration-versions/:configuration-id/ingress-attributes` + +| Parameter | Description | +| ------------------- | ------------------------------------ | +| `:configuration-id` | The id of the configuration to show. | + +Ingress attributes can also be fetched as part of a query to a particular configuration version via `include`: + +`GET /configuration-versions/:configuration-id?include=ingress-attributes` + +| Parameter | Description | +| ------------------- | ------------------------------------ | +| `:configuration-id` | The id of the configuration to show. | + + + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/configuration-versions/cv-TrHjxIzad9Ae9i8x/ingress-attributes +``` + +### Sample Response + +```json +{ + "data": { + "id": "ia-zqHjxJzaB9Ae6i9t", + "type": "ingress-attributes", + "attributes": { + "branch": "add-cool-stuff", + "clone-url": "https://github.com/hashicorp/foobar.git", + "commit-message": "Adding really cool infrastructure", + "commit-sha": "1e1c1018d1bbc0b8517d072718e0d87c1a0eda95", + "commit-url": "https://github.com/hashicorp/foobar/commit/1e1c1018d1bbc0b8517d072718e0d87c1a0eda95", + "compare-url": "https://github.com/hashicorp/foobar/pull/163", + "identifier": "hashicorp/foobar", + "is-pull-request": true, + "on-default-branch": false, + "pull-request-number": 163, + "pull-request-url": "https://github.com/hashicorp/foobar/pull/163", + "pull-request-title": "Adding really cool infrastructure", + "pull-request-body": "These are changes to add really cool stuff. We should absolutely merge this.", + "tag": null, + "sender-username": "chrisarcand", + "sender-avatar-url": "https://avatars.githubusercontent.com/u/2430490?v=4", + "sender-html-url": "https://github.com/chrisarcand" + }, + "relationships": { + "created-by": { + "data": { + "id": "user-PQk2Z3dfXAax18P6s", + "type": "users" + }, + "links": { + "related": "/api/v2/ingress-attributes/ia-zqHjxJzaB9Ae6i9t/created-by" + } + } + }, + "links": { + "self": "/api/v2/ingress-attributes/ia-zqHjxJzaB9Ae6i9t" + } + } +} +``` + +## Create a Configuration Version + +`POST /workspaces/:workspace_id/configuration-versions` + +| Parameter | Description | +| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to create the new configuration version in. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.attributes.auto-queue-runs` | boolean | true | When true, runs are queued automatically when the configuration version is uploaded. | +| `data.attributes.speculative` | boolean | false | When true, this configuration version may only be used to create runs which are speculative, that is, can neither be confirmed nor applied. | +| `data.attributes.provisional` | boolean | false | When true, this configuration version does not immediately become the workspace current configuration version. If the associated run is applied, it then becomes the current configuration version unless a newer one exists. | + +### Sample Payload + +```json +{ + "data": { + "type": "configuration-versions", + "attributes": { + "auto-queue-runs": true + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-2Qhk7LHgbMrm3grF/configuration-versions +``` + +### Sample Response + +```json +{ + "data": { + "id": "cv-UYwHEakurukz85nW", + "type": "configuration-versions", + "attributes": { + "auto-queue-runs": true, + "error": null, + "error-message": null, + "source": "tfe-api", + "speculative":false, + "status": "pending", + "status-timestamps": {}, + "upload-url": + "https://archivist.terraform.io/v1/object/9224c6b3-2e14-4cd7-adff-ed484d7294c2", + "provisional": false + }, + "relationships": { + "ingress-attributes": { + "data": null, + "links": { + "related": + "/api/v2/configuration-versions/cv-UYwHEakurukz85nW/ingress-attributes" + } + } + }, + "links": { "self": "/api/v2/configuration-versions/cv-UYwHEakurukz85nW" } + } +} +``` + +### Configuration Files Upload URL + +Once a configuration version is created, use the `upload-url` attribute to [upload configuration files](#upload-configuration-files) associated with that version. The `upload-url` attribute is only provided in the response when creating configuration versions. + +## Upload Configuration Files + +-> **Note**: If `auto-queue-runs` was either not provided or set to `true` during creation of the configuration version, a run using this configuration version will be automatically queued on the workspace. If `auto-queue-runs` was set to `false` explicitly, then it is necessary to [create a run on the workspace](/terraform/enterprise/api-docs/run#create-a-run) manually after the configuration version is uploaded. + +`PUT https://archivist.terraform.io/v1/object/` + +**The URL is provided in the `upload-url` attribute when creating a `configuration-versions` resource. After creation, the URL is hidden on the resource and no longer available.** + +### Sample Request + +**@filename is the name of configuration file you wish to upload.** + +```shell +curl \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @filename \ + https://archivist.terraform.io/v1/object/4c44d964-eba7-4dd5-ad29-1ece7b99e8da +``` + +## Archive a Configuration Version + +`POST /configuration-versions/:configuration_version_id/actions/archive` + +| Parameter | Description | +| -------------------------- | ----------------------------------------------- | +| `configuration_version_id` | The ID of the configuration version to archive. | + +This endpoint notifies HCP Terraform to discard the uploaded `.tar.gz` file associated with this configuration version. This endpoint can only archive configuration versions that were created with the API or CLI, are in an `uploaded` [state](#configuration-version-states), have no runs in progress, and are not the current configuration version for any workspace. Otherwise, calling this endpoint will result in an error. + +HCP Terraform automatically archives configuration versions created through VCS when associated runs are complete and then re-fetches the files for subsequent runs. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| [202][] | none | Successfully initiated the archive process. | +| [409][] | [JSON API error object][] | Configuration version was in a non-archivable state or the configuration version was created with VCS and cannot be archived through the API. | +| [404][] | [JSON API error object][] | Configuration version was not found or user not authorized. | + +### Request Body + +This POST endpoint does not take a request body. + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/actions/archive +``` + +## Download Configuration Files + +`GET /configuration-versions/:configuration_version_id/download` + +| Parameter | Description | +| -------------------------- | ------------------------------------------------ | +| `configuration_version_id` | The ID of the configuration version to download. | + +`GET /runs/:run_id/configuration-version/download` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------- | +| `run_id` | The ID of the run whose configuration version should be downloaded. | + +These endpoints generate a temporary URL to the location of the configuration version in a `.tar.gz` archive, and then redirect to that link. If using a client that can follow redirects, you can use these endpoints to save the `.tar.gz` archive locally without needing to save the temporary URL. These endpoints will return an error if attempting to download a configuration version that is not in an `uploaded` [state](#configuration-version-states). + +| Status | Response | Reason | +| ------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| [302][] | HTTP Redirect | Configuration version found and temporary download URL generated | +| [404][] | [JSON API error object][] | Configuration version not found, or specified configuration version is not uploaded, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --location \ + https://app.terraform.io/api/v2/configuration-versions/cv-C6Py6WQ1cUXQX2x2/download \ + > export.tar.gz +``` + +## Mark a Configuration Version for Garbage Collection + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. + + +`POST /api/v2/configuration-versions/:configuration-id/actions/soft_delete_backing_data` + +| Parameter | Description | +| ------------------- | --------------------------------------------------- | +| `:configuration-id` | The ID of the configuration version to soft delete. | + +This endpoint directs Terraform Enterprise to _soft delete_ the backing files associated with the configuration version. Soft deletion refers to marking the configuration version for garbage collection. Terraform permanently deletes configuration versions marked for soft deletion after a set number of days unless the configuration version is restored. Once a configuration version is soft deleted, any attempts to read the configuration version will fail. Refer to [Configuration Version States](#configuration-version-states) for information about all data states. + +This endpoint can only soft delete configuration versions that meet the following criteria: + +- Were created using the API or CLI, +- are in an [`uploaded` state](#configuration-version-states), +- and are not the current configuration version. + +Otherwise, the endpoint returns an error. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| [200][] | none | Terraform successfully marked the data for garbage collection. | +| [400][] | [JSON API error object][] | Terraform failed to transition the state to `backing_data_soft_deleted`. | +| [404][] | [JSON API error object][] | Terraform did not find the configuration version or the user is not authorized to modify the configuration version state. | + +### Request Body + +This POST endpoint does not take a request body. + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/actions/soft_delete_backing_data + --data {"data": {"attributes": {"delete-older-than-n-days": 23}}} +``` + +## Restore Configuration Versions Marked for Garbage Collection + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. + + +`POST /api/v2/configuration-versions/:configuration-id/actions/restore_backing_data` + +| Parameter | Description | +| ------------------- | ---------------------------------------------------------------------------------------- | +| `:configuration-id` | The ID of the configuration version to restore back to its uploaded state if applicable. | + +This endpoint directs Terraform Enterprise to restore backing files associated with this configuration version. This endpoint can only restore delete configuration versions that meet the following criteria: + +- are not in a [`backing_data_permanently_deleted` state](#configuration-version-states). + +Otherwise, the endpoint returns an error. Terraform restores applicable configuration versions back to their `uploaded` state. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| [200][] | none | Terraform successfully initiated the restore process. | +| [400][] | [JSON API error object][] | Terraform failed to transition the state to `uploaded`. | +| [404][] | [JSON API error object][] | Terraform did not find the configuration version or the user is not authorized to modify the configuration version state. | + +### Request Body + +This POST endpoint does not take a request body. + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/actions/restore_backing_data +``` + +## Permanently Delete a Configuration Version + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. + + +`POST /api/v2/configuration-versions/:configuration-id/actions/permanently_delete_backing_data` + +| Parameter | Description | +| ------------------- | ---------------------------------------------------------- | +| `:configuration-id` | The ID of the configuration version to permanently delete. | + +This endpoint directs Terraform Enterprise to permanently delete backing files associated with this configuration version. This endpoint can only permanently delete configuration versions that meet the following criteria: + +- Were created using the API or CLI, +- are in a [`backing_data_soft_deleted` state](#configuration-version-states), +- and are not the current configuration version. + +Otherwise, the endpoint returns an error. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| [200][] | none | Terraform successfully deleted the data permanently. | +| [400][] | [JSON API error object][] | Terraform failed to transition the state to `backing_data_permanently_deleted`. | +| [404][] | [JSON API error object][] | Terraform did not find the configuration version or the user is not authorized to modify the configuration version state. | + +### Request Body + +This POST endpoint does not take a request body. + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/actions/permanently_delete_backing_data +``` + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| -------------------- | ------------------------------------------------- | +| `ingress_attributes` | The commit information used in the configuration. | +| `run` | The run created by the configuration. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/cost-estimates.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/cost-estimates.mdx new file mode 100644 index 0000000000..a58a2b8481 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/cost-estimates.mdx @@ -0,0 +1,98 @@ +--- +page_title: /cost-estimates API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/cost-estimates` endpoint to read a cost + estimate using its ID. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Cost estimates API reference + +## Show a cost estimate + +-> **Note**: The hash in the `resources` attribute structure represents low-level Cost Estimation details. The keys or structure may change over time. Use the data in this hash at your own risk. + +`GET /cost-estimates/:id` + +| Parameter | Description | +| --------- | ------------------------------------ | +| `id` | The ID of the cost estimate to show. | + +There is no endpoint to list cost estimates. You can find the ID for a cost estimate in the +`relationships.cost-estimate` property of a run object. + +| Status | Response | Reason | +| ------- | ------------------------------------------------ | --------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "cost-estimates"`) | The request was successful | +| [404][] | [JSON API error object][] | Cost estimate not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/cost-estimates/ce-BPvFFrYCqRV6qVBK +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "ce-BPvFFrYCqRV6qVBK", + "type": "cost-estimates", + "attributes": { + "error-message": null, + "status": "finished", + "status-timestamps": { + "queued-at": "2017-11-29T20:02:17+00:00", + "finished-at": "2017-11-29T20:02:20+00:00" + }, + "resources": {...}, + "resources-count": 4, + "matched-resources-count": 3, + "unmatched-resources-count": 1, + "prior-monthly-cost": "0.0", + "proposed-monthly-cost": "25.488", + "delta-monthly-cost": "25.488", + }, + "links": { + "self": "/api/v2/cost-estimate/ce-9VYRc9bpfJEsnwum" + } + } + ] +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/github-app-installations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/github-app-installations.mdx new file mode 100644 index 0000000000..8573467c08 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/github-app-installations.mdx @@ -0,0 +1,127 @@ +--- +page_title: /github-app/installations API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/github-app/installations` endpoint to + view details about where you have installed the Terraform Enterprise GitHub + App. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# GitHub App installations API reference + +You can create a GitHub App installation using the HCP Terraform UI. Learn how to [create a GitHub App installation](/terraform/enterprise/vcs/github-app). + +~> **Note:** To use this resource in Terraform Enterprise installations, you must configure the GitHub App in the site admin area. + +~> **Note:** You can only use this API if you have already authorized the Terraform Cloud GitHub App. Manage your [GitHub App token](/terraform/enterprise/users-teams-organizations/users#github-app-oauth-token) from **Account Settings** > **Tokens**. + +## List Installations + +This endpoint lists GitHub App installations available to the current user. + +`GET /github-app/installations` + +### Query Parameters + +Queries only return GitHub App Installations that the current user has access to within GitHub. + +| Parameter | Description | +| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filter[name]` | **Optional.** If present, returns a list of available GitHub App installations that match the GitHub organization or login. | +| `filter[installation_id]` | **Optional.** If present, returns a list of available GitHub App installations that match the installation ID within GitHub. (**Not HCP Terraform**) | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/github-app/installations +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "ghain-BYrbNeGQ8nAzKouu", + "type": "github-app-installations", + "attributes": { + "name": "octouser", + "installation-id": 54810170, + "icon-url": "https://avatars.githubusercontent.com/u/29916665?v=4", + "installation-type": "User", + "installation-url": "https://github.com/settings/installations/54810170" + } + } + ] +} +``` + +## Show Installation + +`GET /github-app/installation/:gh_app_installation_id` + +| Parameter | Description | +| ------------------------- | ------------------------------ | +| `:gh_app_installation_id` | The Github App Installation ID | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/github-app/installation/ghain-R4xmKTaxnhLFioUq +``` + +### Sample Response + +```json +{ + "data": { + "id": "ghain-R4xmKTaxnhLFioUq", + "type": "github-app-installations", + "attributes": { + "name": "octouser", + "installation-id": 54810170, + "icon-url": "https://avatars.githubusercontent.com/u/29916665?v=4", + "installation-type": "User", + "installation-url": "https://github.com/settings/installations/54810170" + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/index.mdx new file mode 100644 index 0000000000..94b8db2657 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/index.mdx @@ -0,0 +1,396 @@ +--- +page_title: API documentation for Terraform Enterprise +description: >- + Learn about API authentication, response codes, versioning, formatting, rate + limiting, and clients. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# HCP Terraform API documentation + +HCP Terraform provides an API for a subset of its features. If you need assistance or want to submit a feature request, visit the [HashiCorp support center](https://support.hashicorp.com/hc/en-us) and open a ticket. + +-> **Note:** Before planning an API integration, consider whether [the `tfe` Terraform provider](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs) meets your needs. It can't create or approve runs in response to arbitrary events, but it's a useful tool for managing your organizations, teams, and workspaces as code. + +HashiCorp provides a [stability policy](/terraform/enterprise/api-docs/stability-policy) for the HCP Terraform API, ensuring backwards compatibility for stable endpoints. The [changelog](/terraform/enterprise/api-docs/changelog) tracks changes to the API for HCP Terraform and Terraform Enterprise. + +## Authentication + +All requests must be authenticated with a bearer token. Use the HTTP header `Authorization` with the value `Bearer `. If the token is absent or invalid, HCP Terraform responds with [HTTP status 401][401] and a [JSON API error object][]. The 401 status code is reserved for problems with the authentication token; forbidden requests with a valid token result in a 404. + +You can use the following types of tokens to authenticate: + +- [User tokens](/terraform/enterprise/users-teams-organizations/users#api-tokens) — each HCP Terraform user can have any number of API tokens, which can make requests on their behalf. +- [Team tokens](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens) — each team can have one API token at a time. This is intended for performing plans and applies via a CI/CD pipeline. +- [Organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens) — each organization can have one API token at a time. This is intended for automating the management of teams, team membership, and workspaces. The organization token cannot perform plans and applies. + +- [Audit trails token](/terraform/enterprise/users-teams-organizations/api-tokens#audit-trails-tokens) - each organization can have a single token that can read that organization's audit trails. Use this token type to authenticate integrations pulling audit trail data, for example, using the [HCP Terraform for Splunk](/terraform/enterprise/integrations/splunk) app. + + +### Blob Storage Authentication + +HCP Terraform relies on a HashiCorp-developed blob storage service for storing statefiles and multiple other pieces of customer data, all of which are documented on our [data security page](/terraform/enterprise/architectural-details/data-security). + +Unlike the HCP Terraform API, this service does not require that a bearer token be submitted with each request. Instead, each URL includes a securely generated secret and is only valid for 25 hours. + +For example, the [state versions api](/terraform/enterprise/api-docs/state-versions) returns a field named `hosted-state-download`, which is a URL of this form: +`https://archivist.terraform.io/v1/object/` + +This is a broadly accepted pattern for secure access. It is important to treat these URLs themselves as secrets. They should not be logged, nor shared with untrusted parties. + +## Feature Entitlements + +HCP Terraform is available at multiple pricing tiers (including free), which offer different feature sets. + +Each organization has a set of _entitlements_ that corresponds to its pricing tier. These entitlements determine which HCP Terraform features the organization can use. + +If an organization doesn't have the necessary entitlement to use a given feature, HCP Terraform returns a 404 error for API requests to any endpoints devoted to that feature. + +The [show entitlement set](/terraform/enterprise/api-docs/organizations#show-the-entitlement-set) endpoint can return information about an organization's current entitlements, which is useful if your client needs to change its interface when a given feature isn't available. + +The following entitlements are available: + +- `agents` — Allows isolated, private or on-premises infrastructure to communicate with an organization in HCP Terraform. Affects the [agent pools][], [agents][], and [agent tokens][] endpoints. + +- `audit-logging` — Allows an organization to access [audit trails][]. + +- `configuration-designer` — Allows an organization to use the [Configuration Designer][]. +- `cost-estimation` — Allows an organization to access [cost estimation][]. +- `global-run-tasks` — Allows an organization to apply [run tasks](/terraform/enterprise/workspaces/settings/run-tasks) to every workspace. Affects the [run tasks][] endpoints. This feature is currently in beta. +- `module-tests-generation` - Allows an organization to generate tests for private registry modules. This feature is currently in beta. +- `module-deprecations` - Allows an organization to mark a module version from the Private Registry as deprecated. +- `module-revocations` - Allows an organization to mark a deprecated module version from the Private Registry as revoked. +- `operations` — Allows an organization to perform runs within HCP Terraform. Affects the [runs][], [plans][], and [applies][] endpoints. +- `policy-enforcement` — Allows an organization to use [Sentinel][]. Affects the [policies][], [policy sets][], and [policy checks][] endpoints. +- `private-module-registry` — Allows an organization to publish and use modules with the [private module registry][]. Affects the [registry modules][] endpoints. +- `private-policy-agents` - Allows an organization to ensure that HTTP enabled [Sentinel][] and OPA [policies][] can communicate with isolated, private, or on-premises infrastructure. +- `private-run-tasks` - Allows an organization to ensure that [run tasks](/terraform/enterprise/workspaces/settings/run-tasks) can communicate with isolated, private, or on-premises infrastructure. +- `private-vcs` - Allows a self-hosted HCP Terraform agent to [connect to a private VCS provider](/terraform/enterprise/vcs/private) without having to expose that provider to the public internet. +- `run-tasks` — Allows an organization to use [run tasks](/terraform/enterprise/workspaces/settings/run-tasks). Affects the [run tasks][] endpoints. +- `self-serve-billing` — Allows an organization to pay via credit card using the in-app billing UI. +- `sentinel` - **DEPRECATED** Use `policy-enforcement` instead. +- `state-storage` — Allows an organization to store state versions in its workspaces, which enables local Terraform runs with HCP Terraform. Affects the [state versions][] endpoints. +- `sso` — Allows an organization to manage and authenticate users with single sign on. +- `teams` — Allows an organization to manage access to its workspaces with [teams](/terraform/enterprise/users-teams-organizations/teams). Without this entitlement, an organization only has an owners team. Affects the [teams][], [team members][], [team access][], and [team tokens][] endpoints. +- `user-limit` — An integer value representing the maximum number of users allowed for the organization. If blank, there is no limit. +- `vcs-integrations` — Allows an organization to [connect with a VCS provider][vcs integrations] and link VCS repositories to workspaces. Affects the [OAuth Clients][o-clients], and [OAuth Tokens][o-tokens] endpoints, and determines whether the `data.attributes.vcs-repo` property can be set for [workspaces][]. + +[agents]: /terraform/enterprise/api-docs/agents + +[agent pools]: /terraform/enterprise/api-docs/agents + +[agent tokens]: /terraform/enterprise/api-docs/agent-tokens + +[applies]: /terraform/enterprise/api-docs/applies + + + +[audit trails]: /terraform/enterprise/api-docs/audit-trails + + + +[Configuration Designer]: /terraform/enterprise/registry/design + +[cost estimation]: /terraform/enterprise/cost-estimation + +[o-clients]: /terraform/enterprise/api-docs/oauth-clients + +[o-tokens]: /terraform/enterprise/api-docs/oauth-tokens + +[plans]: /terraform/enterprise/api-docs/plans + +[policies]: /terraform/enterprise/api-docs/policies + +[policy checks]: /terraform/enterprise/api-docs/policy-checks + +[policy sets]: /terraform/enterprise/api-docs/policy-sets + +[private module registry]: /terraform/enterprise/registry + +[registry modules]: /terraform/enterprise/api-docs/private-registry/modules + +[registry providers]: /terraform/enterprise/api-docs/private-registry/providers + +[runs]: /terraform/enterprise/api-docs/run + +[run tasks]: /terraform/enterprise/api-docs/run-tasks/run-tasks + +[Sentinel]: /terraform/enterprise/policy-enforcement/sentinel + +[single sign on]: /terraform/enterprise/users-teams-organizations/single-sign-on + +[state versions]: /terraform/enterprise/api-docs/state-versions + +[teams]: /terraform/enterprise/api-docs/teams + +[team access]: /terraform/enterprise/api-docs/team-access + +[team members]: /terraform/enterprise/api-docs/team-members + +[team tokens]: /terraform/enterprise/api-docs/team-tokens + +[vcs integrations]: /terraform/enterprise/vcs + +[workspaces]: /terraform/enterprise/api-docs/workspaces + +## Response Codes + +This API returns standard HTTP response codes. + +We return 404 Not Found codes for resources that a user doesn't have access to, as well as for resources that don't exist. This is to avoid telling a potential attacker that a given resource exists. + +## Versioning + +The API documented in these pages is the second version of HCP Terraform's API, and resides under the `/v2` prefix. + +Future APIs will increment this version, leaving the `/v1` API intact, though in the future we might deprecate certain features. In that case, we'll provide ample notice to migrate to the new API. + +## Paths + +All V2 API endpoints use `/api/v2` as a prefix unless otherwise specified. + +For example, if the API endpoint documentation defines the path `/runs` then the full path is `/api/v2/runs`. + +## JSON API Formatting + +The HCP Terraform endpoints use the [JSON API specification](https://jsonapi.org/), which specifies key aspects of the API. Most notably: + +- [HTTP error codes](https://jsonapi.org/examples/#error-objects-error-codes) +- [Error objects](https://jsonapi.org/examples/#error-objects-basics) +- [Document structure][document] +- [HTTP request/response headers](https://jsonapi.org/format/#content-negotiation) + +[document]: https://jsonapi.org/format/#document-structure + +### JSON API Documents + +Since our API endpoints use the JSON API spec, most of them return [JSON API documents][document]. + +Endpoints that use the POST method also require a JSON API document as the request payload. A request object usually looks something like this: + +```json +{ + "data": { + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "category":"terraform", + "hcl":false, + "sensitive":false + }, + "relationships": { + "workspace": { + "data": { + "id":"ws-4j8p6jX1w33MiDC7", + "type":"workspaces" + } + } + } + } +} +``` + +These objects always include a top-level `data` property, which: + +- Must have a `type` property to indicate what type of API object you're interacting with. +- Often has an `attributes` property to specify attributes of the object you're creating or modifying. +- Sometimes has a `relationships` property to specify other objects that are linked to what you're working with. + +In the documentation for each API method, we use dot notation to explain the structure of nested objects in the request. For example, the properties of the request object above are listed as follows: + +| Key path | Type | Default | Description | +| ---------------------------------------- | ------ | ------- | --------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.attributes.key` | string | | The name of the variable. | +| `data.attributes.value` | string | | The value of the variable. | +| `data.attributes.category` | string | | Whether this is a Terraform or environment variable. Valid values are `"terraform"` or `"env"`. | +| `data.attributes.hcl` | bool | `false` | Whether to evaluate the value of the variable as a string of HCL code. Has no effect for environment variables. | +| `data.attributes.sensitive` | bool | `false` | Whether the value is sensitive. If true then the variable is written once and not visible thereafter. | +| `data.relationships.workspace.data.type` | string | | Must be `"workspaces"`. | +| `data.relationships.workspace.data.id` | string | | The ID of the workspace that owns the variable. | + +We also always include a sample payload object, to show the document structure more visually. + +### Query Parameters + +Although most of our API endpoints use the POST method and receive their parameters as a JSON object in the request payload, some of them use the GET method. These GET endpoints sometimes require URL query parameters, in the standard `...path?key1=value1&key2=value2` format. + +Since these parameters were originally designed as part of a JSON object, they sometimes have characters that must be [percent-encoded](https://en.wikipedia.org/wiki/Percent-encoding) in a query parameter. For example, `[` becomes `%5B` and `]` becomes `%5D`. + +For more about URI structure and query strings, see [the specification (RFC 3986)](https://tools.ietf.org/html/rfc3986) or [the Wikipedia page on URIs](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier). + +### Pagination + +Most of the endpoints that return lists of objects support pagination. A client may pass the following query parameters to control pagination on supported endpoints: + +| Parameter | Description | +| -------------- | --------------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 items per page. The maximum page size is 100. | + +Additional data is returned in the `links` and `meta` top level attributes of the response. + +```json +{ + "data": [...], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/hashicorp/workspaces?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/hashicorp/workspaces?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": "https://app.terraform.io/api/v2/organizations/hashicorp/workspaces?page%5Bnumber%5D=2&page%5Bsize%5D=20", + "last": "https://app.terraform.io/api/v2/organizations/hashicorp/workspaces?page%5Bnumber%5D=2&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": 2, + "total-pages": 2, + "total-count": 21 + } + } +} +``` + +### Inclusion of Related Resources + +Some of the API's GET endpoints can return additional information about nested resources by adding an `include` query parameter, whose value is a comma-separated list of resource types. + +The related resource options are listed in each endpoint's documentation where available. + +The related resources will appear in an `included` section of the response. + +Example: + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/teams/team-n8UQ6wfhyym25sMe?include=users +``` + +```json +{ + "data": { + "id": "team-n8UQ6wfhyym25sMe", + "type": "teams", + "attributes": { + "name": "owners", + "users-count": 1 + ... + }, + "relationships": { + "users": { + "data": [ + { + "id": "user-62goNpx1ThQf689e", + "type": "users" + } + ] + } ... + } + ... + }, + "included": [ + { + "id": "user-62goNpx1ThQf689e", + "type": "users", + "attributes": { + "username": "hashibot" + ... + } ... + } + ] +} +``` + +## Rate Limiting + +You can make up to 30 requests per second to most API endpoints as an authenticated or unauthenticated request. If you reach the rate limit then your access will be throttled and an error response will be returned. + +Requests are per user, not per token. As a result, you cannot use multiple tokens to make more than 30 requests per second. + +Unauthenticated requests are associated with the requesting IP address. + +| Status | Response | Reason | +| ------- | ------------------------- | ---------------------------- | +| [429][] | [JSON API error object][] | Rate limit has been reached. | + +```json +{ + "errors": [ + { + "detail": "You have exceeded the API's rate limit.", + "status": 429, + "title": "Too many requests" + } + ] +} +``` + +### Lower rate limits for some endoints + +To prevent abuse, some endpoints have lower rate limits. The lower limits are unnoticeable under normal use. If you trigger a rate-limited response, you can see that limit in the `x-ratelimit-limit` header. + +The following endpoints have lower rate limits: + +| Method and endpoint | Purpose | Limit | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ----------------------------------- | +|

`POST /session/two-factor-send-sms`

`POST /api/v2/account/actions/two-factor-enable`

`POST /api/v2/account/actions/two-factor-resend-verification-code`

| Send SMS message | 5 requests per minute per user | +|

`POST /api/v2/account/actions/two-factor-enable`

`POST /api/v2/account/actions/two-factor-resend-verification-code`

| Send SMS message | 10 requests per hour per user | +|

`POST /api/v2/account/actions/two-factor-enable`

`POST /api/v2/account/actions/two-factor-resend-verification-code`

| Send SMS message | 100 requests per day per IP address | +|

`POST /session/two-factor`

`POST /session/two-factor-recovery`

| Submit 2FA code | 5 requests per minute per user | +|

`POST` and `PATCH /api/v2/account/create`

`POST` and `PATCH /api/v2/account/update`

`POST` and `PATCH /api/v2/account/password`

`POST` and `PATCH /api/v2/account/reconfirm`

`POST /session`

| Send emails | 100 per minute | +|

`POST` and `GET /sso/link-new-account`

`POST` and `GET /sso/link-account`

`POST` and `GET /sso/link-existing-account`

`POST /sso/saml/{SAML_CONFIGURATION_EXTERNAL_ID}/acs`

| Send emails | 20 per minute | +|

`POST /api/v2/notification-configurations/{EXTERNAL_ID}/actions/verify`

`DELETE /api/v2/oauth-tokens`

| Send emails | 10 per minute | +|

`POST /account/reconfirm`

| Send emails | 40 per hour | +|

`POST /auth`

| Send emails | 40 per hour per email address | + +## Client libraries and tools + +HashiCorp maintains [go-tfe](https://github.com/hashicorp/go-tfe), a Go client for HCP Terraform's API. + +Additionally, the community of HCP Terraform users and vendors have built client libraries in other languages. These client libraries and tools are not tested nor officially maintained by HashiCorp, but are listed below in order to help users find them easily. + +If you have built a client library and would like to add it to this community list, please [contribute](https://github.com/hashicorp/terraform-website#contributions-welcome) to [this page](https://github.com/hashicorp/terraform-docs-common/blob/main/website/docs/cloud-docs/api-docs/index.mdx#client-libraries-and-tools). + +- [tfh](https://github.com/hashicorp-community/tf-helper): UNIX shell console app +- [tf_api_gateway](https://github.com/PlethoraOfHate/tf_api_gateway): Python API library and console app +- [terrasnek](https://github.com/dahlke/terrasnek): Python API library +- [terraform-enterprise-client](https://github.com/skierkowski/terraform-enterprise-client): Ruby API library and console app +- [pyterprise](https://github.com/JFryy/terraform-enterprise-api-python-client): A simple Python API client library. +- [Tfe.NetClient](https://github.com/everis-technology/Tfe.NetClient): .NET Client Library diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/no-code-provisioning.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/no-code-provisioning.mdx new file mode 100644 index 0000000000..c8c0bfd9f9 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/no-code-provisioning.mdx @@ -0,0 +1,924 @@ +--- +page_title: /no-code-modules API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/no-code-modules` endpoint to designate + and configure no-code modules. You can also use this endpoint to deploy and + upgrade no-code workspaces. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: http://jsonapi.org/format/#error-objects + +# No-code provisioning API reference + +The no-code provisioning API allows you to create, configure, and deploy Terraform modules in the no-code provisioning workflows within HCP Terraform. For more information on no-code modules, refer to [Designing No-Code Ready Modules](/terraform/enterprise/no-code-provisioning/module-design). + +## Enable no-code provisioning for a module + +`POST /organizations/:organization_name/no-code-modules` + +| Parameter | Description | +| -------------------- | --------------------------------------------------- | +| `:organization_name` | The name of the organization the module belongs to. | + +To deploy a module using the no-code provisioning workflow, the module must meet the following requirement: + +1. The module must exist in your organization's private registry. +2. The module must meet the [design requirements](/terraform/enterprise/no-code-provisioning/module-design#requirements) for a no-code module. +3. You must enable no-code provisioning for the module. + +You can send a `POST` request to the `/no-code-modules` endpoint to enable no-code provisioning for a specific module. You can also call this endpoint to set options for the allowed values of a variable for a no-code module in your organization. + +-> **Note**: This endpoint can not be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------------------------------- | --------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "no-code-modules"`) | Successfully enabled a module for no-code provisioning. | +| [404][] | [JSON API error object][] | Not found, or the user is unauthorized to perform this action. | +| [422][] | [JSON API error object][] | Malformed request body (e.g., missing attributes, wrong types, etc.). | +| [500][] | [JSON API error object][] | Internal system failure. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------------------------------------------------- | ------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"no-code-modules"`. | +| `data.attributes.version-pin` | string | Latest version of the module | The module version to use in no-code provisioning workflows. | +| `data.attributes.enabled` | boolean | `false` | Set to `true` to enable no-code provisioning workflows. | +| `data.relationships.registry-module.data.id` | string | | The ID of a module in the organization's private registry. | +| `data.relationships.registry-module.data.type` | string | | Must be `"registry-module"`. | +| `data.relationships.variable-options.data[].type` | string | | Must be `"variable-options"`. | +| `data.relationships.variable-options.data[].attributes.variable-name` | string | | The name of a variable within the module. | +| `data.relationships.variable-options.data[].attributes.variable-type` | string | | The data type for the variable. Can be [any type supported by Terraform](/terraform/language/expressions/types#types). | +| `data.relationships.variable-options.data[].attributes.options` | Any\[] | | A list of allowed values for the variable. | + +### Sample Payload + +```json +{ + "data": { + "type": "no-code-modules", + "attributes": { + "version-pin": "1.0.1", + "enabled": true + }, + "relationships": { + "registry-module": { + "data": { + "id": "mod-2aaFrmRPZs2N9epr", + "type": "registry-module" + } + }, + "variable-options": { + "data": [ + { + "type": "variable-options", + "attributes": { + "variable-name": "amis", + "variable-type": "string", + "options": [ + "ami-1", + "ami-2", + "ami-3" + ] + } + }, + { + "type": "variable-options", + "attributes": { + "variable-name": "region", + "variable-type": "string", + "options": [ + "eu-north-1", + "us-east-2", + "us-west-1" + ] + } + } + ] + } + } + } +} + +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/no-code-modules +``` + +### Sample Response + +```json +{ + "data": { + "id": "nocode-9HE91XDNY3faePn2", + "type": "no-code-modules", + "attributes": { + "enabled": true, + "version-pin": "1.0.1" + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "registry-module": { + "data": { + "id": "mod-2aaFrmRPZs2N9epr", + "type": "registry-modules" + }, + "links": { + "related": "/api/v2/registry-modules/mod-2aaFrmRPZs2N9epr" + } + }, + "variable-options": { + "data": [ + { + "id": "ncvaropt-fcHDfnZ1EGdRzFNC", + "type": "variable-options" + }, + { + "id": "ncvaropt-dZMfdh9KBcwFjyv2", + "type": "variable-options" + } + ] + } + }, + "links": { + "self": "/api/v2/no-code-modules/nocode-9HE91XDNY3faePn2" + } + } +} +``` + +## Update no-code provisioning settings + +`PATCH /no-code-modules/:id` + +| Parameter | Description | +| --------- | -------------------------------------------- | +| `:id` | The unique identifier of the no-code module. | + +Send a `PATCH` request to the `/no-code-modules/:id` endpoint to update the settings for the no-code provisioning of a module. You can update the following settings: + +- Enable or disable no-code provisioning. +- Adjust the set of options for allowed variable values. +- Change the module version being provisioned. +- Change the module being provisioned. + +The [API call that enables no-code provisioning for a module](#allow-no-code-provisioning-of-a-module-within-an-organization) returns that module's unique identifier. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------------------------------- | --------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "no-code-modules"`) | Successfully updated a no-code module. | +| [404][] | [JSON API error object][] | Not found, or the user is unauthorized to perform this action. | +| [422][] | [JSON API error object][] | Malformed request body (e.g., missing attributes, wrong types, etc.). | +| [500][] | [JSON API error object][] | Internal system failure. | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------------------------------------------------- | ------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"no-code-modules"`. | +| `data.attributes.version-pin` | string | Existing value | The module version to use in no-code provisioning workflows. | +| `data.attributes.enabled` | boolean | Existing value | Set to `true` to enable no-code provisioning workflows, or `false` to disable them. | +| `data.relationships.registry-module.data.id` | string | Existing value | The ID of a module in the organization's Private Registry. | +| `data.relationships.registry-module.data.type` | string | Existing value | Must be `"registry-module"`. | +| `data.relationships.variable-options.data[].id` | string | | The ID of an existing variable-options set. If provided, a new variable-options set replaces the set with this ID. If not provided, this creates a new variable-option set. | +| `data.relationships.variable-options.data[].type` | string | | Must be `"variable-options"`. | +| `data.relationships.variable-options.data[].attributes.variable-name` | string | | The name of a variable within the module. | +| `data.relationships.variable-options.data[].attributes.variable-type` | string | | The data type for the variable. Can be [any type supported by Terraform](/terraform/language/expressions/types#types). | +| `data.relationships.variable-options.data[].attributes.options` | Any\[] | | A list of allowed values for the variable. | + +### Sample Payload + +```json +{ + "data": { + "type": "no-code-modules", + "attributes": { + "enabled": false + }, + "relationships": { + "registry-module": { + "data": { + "id": "mod-zyai9dwH4VPPaVuC", + "type": "registry-module" + } + }, + "variable-options": { + "data": [ + { + "id": "ncvaropt-fcHDfnZ1EGdRzFNC", + "type": "variable-options", + "attributes": { + "variable-name": "Linux AMIs", + "variable-type": "array", + "options": [ + "Xenial Xerus", + "Trusty Tahr" + ] + } + }, + { + "id": "ncvaropt-dZMfdh9KBcwFjyv2", + "type": "variable-options", + "attributes": { + "variable-name": "region", + "variable-type": "array", + "options": [ + "eu-north-1", + "us-east-2", + "us-west-1" + ] + } + } + ] + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/no-code-modules/nocode-9HE91XDNY3faePn2 +``` + +### Sample Response + +```json +{ + "data": { + "id": "nocode-9HE91XDNY3faePn2", + "type": "no-code-modules", + "attributes": { + "enabled": true, + "version-pin": "1.0.1" + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "registry-module": { + "data": { + "id": "mod-2aaFrmRPZs2N9epr", + "type": "registry-modules" + }, + "links": { + "related": "/api/v2/registry-modules/mod-2aaFrmRPZs2N9epr" + } + }, + "variable-options": { + "data": [ + { + "id": "ncvaropt-fcHDfnZ1EGdRzFNC", + "type": "variable-options" + }, + { + "id": "ncvaropt-dZMfdh9KBcwFjyv2", + "type": "variable-options" + } + ] + } + }, + "links": { + "self": "/api/v2/no-code-modules/nocode-9HE91XDNY3faePn2" + } + } +} +``` + +## Read a no-code module's properties + +`GET /no-code-modules/:id` + +| Parameter | Description | +| --------- | -------------------------------------------- | +| `:id` | The unique identifier of the no-code module. | + +Use this API to read the details of an existing no-code module. + +The [API call that enables no-code provisioning for a module](#allow-no-code-provisioning-of-a-module-within-an-organization) returns that module's unique identifier. + +| Status | Response | Reason | +| ------- | ------------------------------------------------- | --------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "no-code-modules"`) | Successfully read the no-code module. | +| [400][] | [JSON API error object][] | Invalid `include` parameter. | +| [404][] | [JSON API error object][] | Not found, or the user is unauthorized to perform this action. | +| [422][] | [JSON API error object][] | Malformed request body (e.g., missing attributes, wrong types, etc.). | +| [500][] | [JSON API error object][] | Internal system failure. | + +### Query Parameters + +This endpoint uses our [standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Use HTML URL encoding syntax, such as `%5B` to represent `[` and `%5D` to represent `]`, if your tooling does not automatically encode URLs. + +Terraform returns related resources when you add the [`include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources) to the request. + +| Parameter | Description | +| --------- | ------------------------------------------------- | +| `include` | List related resource to include in the response. | + +The following resource types are available: + +| Resource Name | Description | +| ------------------ | --------------------------------------------------------- | +| `variable_options` | Module variables with a configured set of allowed values. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/no-code-modules/nocode-9HE91XDNY3faePn2?include=variable_options +``` + +### Sample Response + +```json +{ + "data": { + "id": "nocode-9HE91XDNY3faePn2", + "type": "no-code-modules", + "attributes": { + "enabled": true, + "version-pin": "1.0.1" + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "registry-module": { + "data": { + "id": "mod-2aaFrmRPZs2N9epr", + "type": "registry-modules" + }, + "links": { + "related": "/api/v2/registry-modules/mod-2aaFrmRPZs2N9epr" + } + }, + "variable-options": { + "data": [ + { + "id": "ncvaropt-fcHDfnZ1EGdRzFNC", + "type": "variable-options" + }, + { + "id": "ncvaropt-dZMfdh9KBcwFjyv2", + "type": "variable-options" + } + ] + } + }, + "links": { + "self": "/api/v2/no-code-modules/nocode-9HE91XDNY3faePn2" + } + }, + "included": [ + { + "id": "ncvaropt-fcHDfnZ1EGdRzFNC", + "type": "variable-options", + "attributes": { + "variable-name": "Linux AMIs", + "variable-type": "array", + "options": [ + "Xenial Xerus", + "Trusty Tahr" + ] + }, + "relationships": { + "no-code-allowed-module": { + "data": { + "id": "nocode-9HE91XDNY3faePn2", + "type": "no-code-allowed-modules" + } + } + } + }, + { + "id": "ncvaropt-dZMfdh9KBcwFjyv2", + "type": "variable-options", + "attributes": { + "variable-name": "region", + "variable-type": "array", + "options": [ + "eu-north-1", + "us-east-2", + "us-west-1" + ] + }, + "relationships": { + "no-code-allowed-module": { + "data": { + "id": "nocode-9HE91XDNY3faePn2", + "type": "no-code-allowed-modules" + } + } + } + } + ] +} +``` + +## Create a no-code module workspace + +This endpoint creates a workspace from a no-code module. + +`POST /no-code-modules/:id/workspaces` + +| Parameter | Description | +| --------- | ------------------------------------------ | +| `:id` | The ID of the no-code module to provision. | + +Each HCP Terraform organization has a list of which modules you can use to create workspaces using no-code provisioning. You can use this API to create a workspace by selecting a no-code module to enable a no-code provisioning workflow. + +-> **Note**: This endpoint can not be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | -------------------------------------------- | -------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "workspaces"`) | Successfully created a workspace from a no-code module for no-code provisioning. | +| [404][] | [JSON API error object][] | Not found, or the user is unauthorized to perform this action. | +| [422][] | [JSON API error object][] | Malformed request body (e.g., missing attributes, wrong types, etc.). | +| [500][] | [JSON API error object][] | Internal system failure. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | | +| ------------------------------------------------------- | ------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | +| `data.type` | string | none | Must be `"workspaces"`. | | +| `data.attributes.agent-pool-id` | string | none | Required when `execution-mode` is set to `agent`. The ID of the agent pool belonging to the workspace's organization. This value must not be specified if `execution-mode` is set to `remote`. | | +| `data.attributes.auto_apply` | boolean | `false` | If `true`, Terraform automatically applies changes when a Terraform `plan` is successful. | | +| `data.attributes.description` | string | `""` | A description for the workspace. | | +| `data.attributes.execution-mode` | string | none | Which [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) to use. Valid values are `remote`, and `agent`. When not provided, defaults to `remote`. | | +| `data.attributes.name` | string | none | The name of the workspace. You can only include letters, numbers, `-`, and `_`. Terraform uses this value to identify the workspace and must be unique in the organization. | | +| `data.attributes.source-name` | string | none | A friendly name for the application or client creating this workspace. If set, this will be displayed on the workspace as "Created via ``". | | +| `data.attributes.source-url` | string | (nothing) | A URL for the application or client creating this workspace. This can be the URL of a related resource in another app, or a link to documentation or other info about the client. | | +| `data.attributes.terraform-version` | string | latest release | Specifies the version of Terraform to use for this workspace. You can specify an exact version or a [version constraint](/terraform/language/expressions/version-constraints) such as `~> 1.0.0`. If you specify a constraint, the workspace always uses the newest release that meets that constraint. If omitted when creating a workspace, this defaults to the latest released version. | | +| `data.relationships.project.data.id` | string | | The ID of the project to create the workspace in. You must have permission to create workspaces in the project, either by organization-level permissions or team admin access to a specific project. | | +| `data.relationships.project.data.type` | string | | Must be `"project"`. | | +| `data.relationships.vars.data[].type` | string | | Must be `"vars"`. | | +| `data.relationships.vars.data[].attributes.key` | string | | The name of the variable. | | +| `data.relationships.vars.data[].attributes.value` | string | `""` | The value of the variable. | | +| `data.relationships.vars.data[].attributes.description` | string | | The description of the variable. | | +| `data.relationships.vars.data[].attributes.category` | string | | Whether this is a Terraform or environment variable. Valid values are `"terraform"` or `"env"`. | | +| `data.relationships.vars.data[].attributes.hcl` | boolean | `false` | Whether to evaluate the value of the variable as a string of HCL code. Has no effect for environment variables. | | +| `data.relationships.vars.data[].attributes.sensitive` | boolean | `false` | Whether the value is sensitive. If `true` then the variable is written once and not visible thereafter. | | + +### Sample Payload + +```json +{ + "data": { + "type": "workspaces", + "attributes": { + "name": "no-code-workspace", + "description": "A workspace to enable the no-code provisioning workflow." + }, + "relationships": { + "project": { + "data": { + "id": "prj-yuEN6sJVra5t6XVy", + "type": "project" + } + }, + "vars": { + "data": [ + { + "type": "vars", + "attributes": { + "key": "region", + "value": "eu-central-1", + "category": "terraform", + "hcl": true, + "sensitive": false, + } + }, + { + "type": "vars", + "attributes": { + "key": "ami", + "value": "ami‑077062", + "category": "terraform", + "hcl": true, + "sensitive": false, + } + } + ] + } + } + } +} + +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/no-code-modules/nocode-WGckovT2RQxupyt1/workspaces +``` + +### Sample Response + +```json +{ + "data": { + "id": "ws-qACTToFUM5BvDKhC", + "type": "workspaces", + "attributes": { + "allow-destroy-plan": true, + "auto-apply": false, + "auto-destroy-at": null, + "auto-destroy-status": null, + "created-at": "2023-09-08T10:36:04.391Z", + "environment": "default", + "locked": false, + "name": "no-code-workspace", + "queue-all-runs": false, + "speculative-enabled": true, + "structured-run-output-enabled": true, + "terraform-version": "1.5.6", + "working-directory": null, + "global-remote-state": true, + "updated-at": "2023-09-08T10:36:04.427Z", + "resource-count": 0, + "apply-duration-average": null, + "plan-duration-average": null, + "policy-check-failures": null, + "run-failures": null, + "workspace-kpis-runs-count": null, + "latest-change-at": "2023-09-08T10:36:04.391Z", + "operations": true, + "execution-mode": "remote", + "vcs-repo": null, + "vcs-repo-identifier": null, + "permissions": { + "can-update": true, + "can-destroy": true, + "can-queue-run": true, + "can-read-variable": true, + "can-update-variable": true, + "can-read-state-versions": true, + "can-read-state-outputs": true, + "can-create-state-versions": true, + "can-queue-apply": true, + "can-lock": true, + "can-unlock": true, + "can-force-unlock": true, + "can-read-settings": true, + "can-manage-tags": true, + "can-manage-run-tasks": true, + "can-force-delete": true, + "can-manage-assessments": true, + "can-manage-ephemeral-workspaces": true, + "can-read-assessment-results": true, + "can-queue-destroy": true + }, + "actions": { + "is-destroyable": true + }, + "description": null, + "file-triggers-enabled": true, + "trigger-prefixes": [], + "trigger-patterns": [], + "assessments-enabled": false, + "last-assessment-result-at": null, + "source": "tfe-module", + "source-name": null, + "source-url": null, + "source-module-id": "private/my-organization/lambda/aws/1.0.9", + "no-code-upgrade-available": false, + "tag-names": [], + "setting-overwrites": { + "execution-mode": false, + "agent-pool": false + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + }, + "current-run": { + "data": null + }, + "latest-run": { + "data": null + }, + "outputs": { + "data": [] + }, + "remote-state-consumers": { + "links": { + "related": "/api/v2/workspaces/ws-qACTToFUM5BvDKhC/relationships/remote-state-consumers" + } + }, + "current-state-version": { + "data": null + }, + "current-configuration-version": { + "data": { + "id": "cv-vizi2p3mnrt3utgA", + "type": "configuration-versions" + }, + "links": { + "related": "/api/v2/configuration-versions/cv-vizi2p3mnrt3utgA" + } + }, + "agent-pool": { + "data": null + }, + "readme": { + "data": null + }, + "project": { + "data": { + "id": "prj-yuEN6sJVra5t6XVy", + "type": "projects" + } + }, + "current-assessment-result": { + "data": null + }, + "no-code-module-version": { + "data": { + "id": "nocodever-vFcQjZLs3ZHTe4TU", + "type": "no-code-module-versions" + } + }, + "vars": { + "data": [] + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/workspaces/no-code-workspace", + "self-html": "/app/my-organization/workspaces/no-code-workspace" + } + } +} +``` + +## Initiate a no-code workspace update + +Upgrading a workspace's no-code provisioning settings is a multi-step process. + +1. Use this API to initiate the update. HCP Terraform starts a new plan, which describes the resources to add, update, or remove from the workspace. +2. Poll the [read workspace upgrade plan status API](#read-workspace-upgrade-plan-status) to wait for HCP Terraform to complete the plan. +3. Use the [confirm and apply a workspace upgrade plan API](#confirm-and-apply-a-workspace-upgrade-plan) to complete the workspace upgrade. + +`POST /no-code-modules/:no_code_module_id/workspaces/:id/upgrade` + +| Parameter | Description | +| -------------------- | ----------------------------- | +| `:no_code_module_id` | The ID of the no-code module. | +| `:id` | The ID of the workspace. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------------- | ------- | ------- | --------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"workspaces"`. | +| `data.relationships.vars.data[].type` | string | | Must be `"vars"`. | +| `data.relationships.vars.data[].attributes.key` | string | | The name of the variable. | +| `data.relationships.vars.data[].attributes.value` | string | `""` | The value of the variable. | +| `data.relationships.vars.data[].attributes.description` | string | | The description of the variable. | +| `data.relationships.vars.data[].attributes.category` | string | | Whether this is a Terraform or environment variable. Valid values are `"terraform"` or `"env"`. | +| `data.relationships.vars.data[].attributes.hcl` | boolean | `false` | Whether to evaluate the value of the variable as a string of HCL code. Has no effect for environment variables. | +| `data.relationships.vars.data[].attributes.sensitive` | boolean | `false` | Whether the value is sensitive. If `true` then the variable is written once and not visible thereafter. | + +### Sample Payload + +```json +{ + "data": { + "type": "workspaces", + "relationships": { + "vars": { + "data": [ + { + "type": "vars", + "attributes": { + "key": "region", + "value": "eu-central-1", + "category": "terraform", + "hcl": true, + "sensitive": false, + } + }, + { + "type": "vars", + "attributes": { + "key": "ami", + "value": "ami‑077062", + "category": "terraform", + "hcl": true, + "sensitive": false, + } + } + ] + } + } + } +} + +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/no-code-modules/nocode-WGckovT2RQxupyt1/workspaces/ws-qACTToFUM5BvDKhC/upgrade +``` + +### Sample Response + +```json +{ + "data": { + "id": "run-Cyij8ctBHM1g5xdX", + "type": "workspace-upgrade", + "attributes": { + "status": "planned", + "plan-url": "https://app.terraform.io/app/my-organization/no-code-workspace/runs/run-Cyij8ctBHM1g5xdX" + }, + "relationships": { + "workspace": { + "data": { + "id": "ws-VvKtcfueHNkR6GqP", + "type": "workspaces" + } + } + } + } +} +``` + +## Read workspace upgrade plan status + +This endpoint returns the plan details and status for updating a workspace to new no-code provisioning settings. + +`GET /no-code-modules/:no_code_module_id/workspaces/:workspace_id/upgrade/:id` + +| Parameter | Description | +| -------------------- | ----------------------------- | +| `:no_code_module_id` | The ID of the no-code module. | +| `:workspace_id` | The ID of workspace. | +| `:id` | The ID of update. | + +Returns the details of a no-code workspace update run, including the run's current state, such as `pending`, `fetching`, `planning`, `planned`, or `cost_estimated`. Refer to [Run States and Stages](/terraform/enterprise/run/states) for more information on the states a run can return. + +| Status | Response | Reason | +| ------- | --------------------------------------------------- | ------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "workspace-upgrade"`) | Success | +| [404][] | [JSON API error object][] | Workspace upgrade not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/no-code-modules/nocode-WGckovT2RQxupyt1/workspaces/ws-qACTToFUM5BvDKhC/upgrade/run-Cyij8ctBHM1g5xdX +``` + +### Sample Response + +```json +{ + "data": { + "id": "run-Cyij8ctBHM1g5xdX", + "type": "workspace-upgrade", + "attributes": { + "status": "planned_and_finished", + "plan-url": "https://app.terraform.io/app/my-organization/no-code-workspace/runs/run-Cyij8ctBHM1g5xdX" + }, + "relationships": { + "workspace": { + "data": { + "id": "ws-VvKtcfueHNkR6GqP", + "type": "workspaces" + } + } + } + } +} +``` + +## Confirm and apply a workspace upgrade plan + +Use this endpoint to confirm an update and finalize the update for a workspace to use new no-code provisioning settings. + +`POST /no-code-modules/:no_code_module_id/workspaces/:workspace_id/upgrade/:id` + +| Parameter | Description | +| -------------------- | ----------------------------- | +| `:no_code_module_id` | The ID of the no-code module. | +| `:workspace_id` | The ID of workspace. | +| `:id` | The ID of update. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/no-code-modules/nocode-WGckovT2RQxupyt1/workspaces/ws-qACTToFUM5BvDKhC/upgrade/run-Cyij8ctBHM1g5xdX +``` + +### Sample Response + +```json +{ "Workspace update completed" } +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/notification-configurations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/notification-configurations.mdx new file mode 100644 index 0000000000..2fa78f811f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/notification-configurations.mdx @@ -0,0 +1,1437 @@ +--- +page_title: /notification-configurations API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/notification-configurations` endpoint to + read, create, update, verify, and delete workspace configurations and create + team configurations. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Notification configurations API reference + +HCP Terraform can send notifications for run state transitions and workspace events. You can specify a destination URL, request type, and what events will trigger the notification. Each workspace can have up to 20 notification configurations, and they apply to all runs for that workspace. + +Interacting with notification configurations requires admin access to the relevant workspace. ([More about permissions](/terraform/enterprise/users-teams-organizations/permissions).) + +-> **Note:** [Speculative plans](/terraform/enterprise/run/modes-and-options#plan-only-speculative-plan) and workspaces configured with `Local` [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) do not support notifications. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Notification triggers + +Notifications are sent in response to triggers related to workspace events, and can be defined at workspace and team levels. You can specify workspace events in the `triggers` array attribute. + +### Workspace notification triggers + +The following triggers are available for workspace notifications. + +| Display Name | Value | Description | +| ------------------------ | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Created | `"run:created"` | A run is created and enters the [Pending stage](/terraform/enterprise/run/states#the-pending-stage) | +| Planning | `"run:planning"` | A run acquires the lock and starts to execute. | +| Needs Attention | `"run:needs_attention"` | A plan has changes and Terraform requires user input to continue. This input may include approving the plan or a [policy override](/terraform/enterprise/run/states#the-policy-check-stage). | +| Applying | `"run:applying"` | A run enters the [Apply stage](/terraform/enterprise/run/states#the-apply-stage), where Terraform makes the infrastructure changes described in the plan. | +| Completed | `"run:completed"` | A run completes successfully. | +| Errored | `"run:errored"` | A run terminates early due to error or cancellation. | +| Drifted | `"assessment:drifted"` | HCP Terraform detected configuration drift. This option is only available if you enabled drift detection for the workspace. | +| Checks Failed | `"assessment:check_failure"` | One or more continuous validation checks did not pass. This option is only available if you enabled drift detection for the workspace. | +| Health Assessment Failed | `"assessment:failed"` | A health assessment failed. This option is only available if you enable health assessments for the workspace. | +| Auto Destroy Reminder | `"workspace:auto_destro_reminder"` | An automated workspace destroy run is imminent. | +| Auto Destroy Results | `"workspace:auto_destroy_run_results"` | HCP Terraform attempted an automated workspace destroy run. | + +### Team notification triggers + +The following triggers are available for [team notifications](#team-notification-configuration). + +| Display Name | Value | Description | +| -------------- | ----------------------- | -------------------------------------------------------------------------------------------------- | +| Change Request | `"team:change_request"` | HCP Terraform sent a change request to a workspace that the specified team has explicit access to. | + +## Notification payload + +The notification is an HTTP POST request with a detailed payload. The content depends on the type of notification. + +For Slack and Microsoft Teams notifications, the payload conforms to the respective webhook API and results in a notification message with informational attachments. Refer to [Slack Notification Payloads](/terraform/enterprise/workspaces/settings/notifications#slack) and [Microsoft Teams Notification Payloads](/terraform/enterprise/workspaces/settings/notifications#microsoft-teams) for examples. For generic notifications, the payload varies based on whether the notification contains information about run events or workspace events. + +### Run notification payload + +Run events include detailed information about a specific run, including the time it began and the associated workspace and organization. Generic notifications for run events contain the following information: + +| Name | Type | Description | +| -------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `payload_version` | number | Always "1". | +| `notification_configuration_id` | string | The ID of the configuration associated with this notification. | +| `run_url` | string | URL used to access the run UI page. | +| `run_id` | string | ID of the run which triggered this notification. | +| `run_message` | string | The reason the run was queued. | +| `run_created_at` | string | Timestamp of the run's creation. | +| `run_created_by` | string | Username of the user who created the run. | +| `workspace_id` | string | ID of the run's workspace. | +| `workspace_name` | string | Human-readable name of the run's workspace. | +| `organization_name` | string | Human-readable name of the run's organization. | +| `notifications` | array | List of events which caused this notification to be sent, with each event represented by an object. At present, this is always one event, but in the future HCP Terraform may roll up several notifications for a run into a single request. | +| `notifications[].message` | string | Human-readable reason for the notification. | +| `notifications[].trigger` | string | Value of the trigger which caused the notification to be sent. | +| `notifications[].run_status` | string | Status of the run at the time of notification. | +| `notifications[].run_updated_at` | string | Timestamp of the run's update. | +| `notifications[].run_updated_by` | string | Username of the user who caused the run to update. | + +#### Sample payload + +```json +{ + "payload_version": 1, + "notification_configuration_id": "nc-AeUQ2zfKZzW9TiGZ", + "run_url": "https://app.terraform.io/app/acme-org/my-workspace/runs/run-FwnENkvDnrpyFC7M", + "run_id": "run-FwnENkvDnrpyFC7M", + "run_message": "Add five new queue workers", + "run_created_at": "2019-01-25T18:34:00.000Z", + "run_created_by": "sample-user", + "workspace_id": "ws-XdeUVMWShTesDMME", + "workspace_name": "my-workspace", + "organization_name": "acme-org", + "notifications": [ + { + "message": "Run Canceled", + "trigger": "run:errored", + "run_status": "canceled", + "run_updated_at": "2019-01-25T18:37:04.000Z", + "run_updated_by": "sample-user" + } + ] +} +``` + +### Change request notification payload + +Change request events contain the following fields in their payloads. + +| Name | Type | Description | +| ------------------------------- | ------ | -------------------------------------------------------------- | +| `payload_version` | number | Always "1". | +| `notification_configuration_id` | string | The ID of the configuration associated with this notification. | +| `change_request_url` | string | URL used to access the change request UI page. | +| `change_request_subject` | string | title of the change request which triggered this notification. | +| `change_request_message` | string | The contents of the change request. | +| `change_request_created_at` | string | Timestamp of the change request's creation. | +| `change_request_created_by` | string | Username of the user who created the change_request. | +| `workspace_id` | string | ID of the run's workspace. | +| `workspace_name` | string | Human-readable name of the run's workspace. | +| `organization_name` | string | Human-readable name of the run's organization. | + +##### `Send a test` payload + +This is a sample payload you can send to test if notifications are working. The payload does not have a `run` or `workspace` context, resulting in null values. + +You can trigger a test notification from the workspace notification settings page. You can read more about verifying a [notification configuration](/terraform/enterprise/workspaces/settings/notifications#enabling-and-verifying-a-configuration). + +```json +{ + "payload_version": 1, + "notification_configuration_id": "nc-jWvVsmp5VxsaCeXm", + "run_url": null, + "run_id": null, + "run_message": null, + "run_created_at": null, + "run_created_by": null, + "workspace_id": null, + "workspace_name": null, + "organization_name": null, + "notifications": [ + { + "message": "Verification of test", + "trigger": "verification", + "run_status": null, + "run_updated_at": null, + "run_updated_by": null, + } + ] +} +``` + +### Workspace notification payload + +Workspace events include detailed information about workspace-level validation events like [health assessments](/terraform/enterprise/workspaces/health) if you enable them for the workspace. Much of the information provides details about the associated [assessment result](/terraform/enterprise/api-docs/assessment-results), which HCP Terraform uses to track instances of continuous validation. + +HCP Terraform returns different types of attributes returned in the payload details, depending on the type of `trigger_scope`. There are two main values for `trigger_scope`: `assessment` and `workspace`, examples of which you can see below. + +#### Health assessments + +Health assessment notifications for workspace events contain the following information: + + + +@include 'tfc-package-callouts/health-assessments.mdx' + + + +| Name | Type | Description | +| ------------------------------------------------------ | ------ | ------------------------------------------------------------------------------------------- | +| `payload_version` | number | Always "2". | +| `notification_configuration_id` | string | The ID of the configuration associated with this notification. | +| `notification_configuration_url` | string | URL to get the notification configuration from the HCP Terraform API. | +| `trigger_scope` | string | Always "assessment" for workspace assessment notifications. | +| `trigger` | string | Value of the trigger that caused the notification to be sent. | +| `message` | string | Human-readable reason for the notification. | +| `details` | object | Object containing details specific to the notification. | +| `details.new_assessment_result` | object | The most recent assessment result. This result triggered the notification. | +| `details.new_assessment_result.id` | string | ID of the assessment result. | +| `details.new_assessment_result.url` | string | URL to get the assessment result from the HCP Terraform API. | +| `details.new_assessment_result.succeeded` | bool | Whether assessment succeeded. | +| `details.new_assessment_result.all_checks_succeeded` | bool | Whether all conditions passed. | +| `details.new_assessment_result.checks_passed` | number | The number of resources, data sources, and outputs passing their conditions. | +| `details.new_assessment_result.checks_failed` | number | The number of resources, data sources, and outputs with one or more failing conditions. | +| `details.new_assessment_result.checks_errored` | number | The number of resources, data sources, and outputs that had a condition error. | +| `details.new_assessment_result.checks_unknown` | number | The number of resources, data sources, and outputs that had conditions left unevaluated. | +| `details.new_assessment_result.drifted` | bool | Whether assessment detected drift. | +| `details.new_assessment_result.resources_drifted` | number | The number of resources whose configuration does not match from the workspace's state file. | +| `details.new_assessment_result.resources_undrifted` | number | The number of real resources whose configuration matches the workspace's state file. | +| `details.new_assessment_result.created_at` | string | Timestamp for when HCP Terraform created the assessment result. | +| `details.prior_assessment_result` | object | The assessment result immediately prior to the one that triggered the notification. | +| `details.prior_assessment_result.id` | string | ID of the assessment result. | +| `details.prior_assessment_result.url` | string | URL to get the assessment result from the HCP Terraform API. | +| `details.prior_assessment_result.succeeded` | bool | Whether assessment succeeded. | +| `details.prior_assessment_result.all_checks_succeeded` | bool | Whether all conditions passed. | +| `details.prior_assessment_result.checks_passed` | number | The number of resources, data sources, and outputs passing their conditions. | +| `details.prior_assessment_result.checks_failed` | number | The number of resources, data sources, and outputs with one or more failing conditions. | +| `details.prior_assessment_result.checks_errored` | number | The number of resources, data sources, and outputs that had a condition error. | +| `details.prior_assessment_result.checks_unknown` | number | The number of resources, data sources, and outputs that had conditions left unevaluated. | +| `details.prior_assessment_result.drifted` | bool | Whether assessment detected drift. | +| `details.prior_assessment_result.resources_drifted` | number | The number of resources whose configuration does not match the workspace's state file. | +| `details.prior_assessment_result.resources_undrifted` | number | The number of resources whose configuration matches the workspace's state file. | +| `details.prior_assessment_result.created_at` | string | Timestamp of the assessment result. | +| `details.workspace_id` | string | ID of the workspace that generated the notification. | +| `details.workspace_name` | string | Human-readable name of the workspace. | +| `details.organization_name` | string | Human-readable name of the organization. | + +##### Sample payload + +Health assessment payloads have information about resource drift and continuous validation checks. + +```json +{ + "payload_version": "2", + "notification_configuration_id": "nc-SZ3V3cLFxK6sqLKn", + "notification_configuration_url": "https://app.terraform.io/api/v2/notification-configurations/nc-SZ3V3cLFxK6sqLKn", + "trigger_scope": "assessment", + "trigger": "assessment:drifted", + "message": "Drift Detected", + "details": { + "new_assessment_result": { + "id": "asmtres-vRVQxpqq64EA9V5a", + "url": "https://app.terraform.io/api/v2/assessment-results/asmtres-vRVQxpqq64EA9V5a", + "succeeded": true, + "drifted": true, + "all_checks_succeeded": true, + "resources_drifted": 4, + "resources_undrifted": 55, + "checks_passed": 33, + "checks_failed": 0, + "checks_errored": 0, + "checks_unknown": 0, + "created_at": "2022-06-09T05:23:10Z" + }, + "prior_assessment_result": { + "id": "asmtres-A6zEbpGArqP74fdL", + "url": "https://app.terraform.io/api/v2/assessment-results/asmtres-A6zEbpGArqP74fdL", + "succeeded": true, + "drifted": true, + "all_checks_succeeded": true, + "resources_drifted": 4, + "resources_undrifted": 55, + "checks_passed": 33, + "checks_failed": 0, + "checks_errored": 0, + "checks_unknown": 0, + "created_at": "2022-06-09T05:22:51Z" + }, + "workspace_id": "ws-XdeUVMWShTesDMME", + "workspace_name": "my-workspace", + "organization_name": "acme-org" + } +} +``` + +#### Automatic destroy runs + + + +@include 'tfc-package-callouts/ephemeral-workspaces.mdx' + + + +Automatic destroy run notifications for workspace events contain the following information: + +| Name | Type | Description | +| ---------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------- | +| `payload_version` | string | Always 2. | +| `notification_configuration_id` | string | The ID of the notification's configuration. | +| `notification_configuration_url` | string | The URL to get the notification's configuration from the HCP Terraform API. | +| `trigger_scope` | string | Always "workspace" for ephemeral workspace notifications | +| `trigger` | string | Value of the trigger that caused HCP Terraform to send the notification. | +| `message` | string | Human-readable reason for the notification. | +| `details` | object | Object containing details specific to the notification. | +| `details.auto_destroy_at` | string | Timestamp when HCP Terraform will schedule the next destroy run. Only applies to reminder notifications. | +| `details.run_created_at` | string | Timestamp of when HCP Terraform successfully created a destroy run. Only applies to results notifications. | +| `details.run_status` | string | Status of the scheduled destroy run. Only applies to results notifications. | +| `details.run_external_id` | string | The ID of the scheduled destroy run. Only applies to results notifications. | +| `details.run_create_error_message` | string | Message detailing why the run was unable to be queued. Only applies to results notifications. | +| `details.trigger_type` | string | The type of notification, and the value is either "reminder" or "results". | +| `details.workspace_name` | string | Human-readable name of the workspace. | +| `details.organization_name` | string | Human-readable name of the organization. | + +##### Sample payload + +The shape of data in auto destroy notification payloads may differ depending on the success of the run HCP Terraform created. Refer to the specific examples below. + +###### Reminder + +Reminders that HCP Terraform will trigger a destroy run at some point in the future. + +```json +{ + "payload_version": "2", + "notification_configuration_id": "nc-SZ3V3cLFxK6sqLKn", + "notification_configuration_url": "https://app.terraform.io/api/v2/notification-configurations/nc-SZ3V3cLFxK6sqLKn", + "trigger_scope": "workspace", + "trigger": "workspace:auto_destroy_reminder", + "message": "Auto Destroy Reminder", + "details": { + "auto_destroy_at": "2025-01-01T00:00:00Z", + "run_created_at": null, + "run_status": null, + "run_external_id": null, + "run_create_error_message": null, + "trigger_type": "reminder", + "workspace_name": "learned-english-dog", + "organization_name": "acme-org" + } +} +``` + +###### Results + +The final result of the scheduled auto destroy run includes additional metadata about the run. + +```json +{ + "payload_version": "2", + "notification_configuration_id": "nc-SZ3V3cLFxK6sqLKn", + "notification_configuration_url": "https://app.terraform.io/api/v2/notification-configurations/nc-SZ3V3cLFxK6sqLKn", + "trigger_scope": "workspace", + "trigger": "workspace:auto_destroy_results", + "message": "Auto Destroy Results", + "details": { + "auto_destroy_at": null, + "run_created_at": "2022-06-09T05:22:51Z", + "run_status": "applied", + "run_external_id": "run-vRVQxpqq64EA9V5a", + "run_create_error_message": null, + "trigger_type": "results", + "workspace_name": "learned-english-dog", + "organization_name": "acme-org" + } +} +``` + +###### Failed run creation + +Run-specific values are empty when HCP Terraform was unable to create an auto destroy run. + +```json +{ + "payload_version": "2", + "notification_configuration_id": "nc-SZ3V3cLFxK6sqLKn", + "notification_configuration_url": "https://app.terraform.io/api/v2/notification-configurations/nc-SZ3V3cLFxK6sqLKn", + "trigger_scope": "workspace", + "trigger": "workspace:auto_destroy_results", + "message": "Auto Destroy Results", + "details": { + "auto_destroy_at": null, + "run_created_at": null, + "run_status": null, + "run_external_id": null, + "run_create_error_message": "Configuration version is missing", + "trigger_type": "results", + "workspace_name": "learned-english-dog", + "organization_name": "acme-org" + } +} +``` + +## Notification authenticity + +If a `token` is configured, HCP Terraform provides an HMAC signature on all `"generic"` notification requests, using the `token` as the key. This is sent in the `X-TFE-Notification-Signature` header. The digest algorithm used is SHA-512. Notification target servers should verify the source of the HTTP request by computing the HMAC of the request body using the same shared secret, and dropping any requests with invalid signatures. + +Sample Ruby code for verifying the HMAC: + +```ruby +token = SecureRandom.hex +hmac = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha512"), token, @request.body) +fail "Invalid HMAC" if hmac != @request.headers["X-TFE-Notification-Signature"] +``` + +## Notification verification and delivery responses + +When saving a configuration with `enabled` set to `true`, or when using the [verify API][], HCP Terraform sends a verification request to the configured URL. The response to this request is stored and available in the `delivery-responses` array of the `notification-configuration` resource. + +Configurations cannot be enabled if the verification request fails. Success is defined as an HTTP response with status code of `2xx`. +Configurations with `destination_type` `email` can only be verified manually, they do not require an HTTP response. + +The most recent response is stored in the `delivery-responses` array. + +Each delivery response has several fields: + +| Name | Type | Description | +| ------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `body` | string | Response body (may be truncated). | +| `code` | string | HTTP status code, e.g. `400`. | +| `headers` | object | All HTTP headers received, represented as an object with keys for each header name (lowercased) and an array of string values (most arrays will be size one). | +| `sent-at` | date | The UTC timestamp when the notification was sent. | +| `successful` | bool | Whether HCP Terraform considers this response to be successful. | +| `url` | string | The URL to which the request was sent. | + +[verify API]: #verify-a-notification-configuration + +## Create a notification configuration + +`POST /workspaces/:workspace_id/notification-configurations` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:workspace_id` | The ID of the workspace to list configurations for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +| Status | Response | Reason | +| ------- | ------------------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "notification-configurations"`) | Successfully created a notification configuration | +| [400][] | [JSON API error object][] | Unable to complete verification request to destination URL | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +If `enabled` is set to `true`, a verification request will be sent before saving the configuration. If this request receives no response or the response is not successful (HTTP 2xx), the configuration will not save. + +| Key path | Type | Default | Description | +| ---------------------------------- | -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"notification-configuration"`. | +| `data.attributes.destination-type` | string | | Type of notification payload to send. Valid values are `"generic"`, `"email"`, `"slack"` or `"microsoft-teams"`. | +| `data.attributes.enabled` | bool | `false` | Disabled configurations will not send any notifications. | +| `data.attributes.name` | string | | Human-readable name for the configuration. | +| `data.attributes.token` | string or null | `null` | Optional write-only secure token, which can be used at the receiving server to verify request authenticity. See [Notification Authenticity][notification-authenticity] for more details. | +| `data.attributes.triggers` | array | `[]` | Array of triggers for which this configuration will send notifications. See [Notification Triggers][notification-triggers] for more details and a list of allowed values. | +| `data.attributes.url` | string | | HTTP or HTTPS URL to which notification requests will be made, only for configurations with `"destination_type:"` `"slack"`, `"microsoft-teams"` or `"generic"` | +| `data.relationships.users` | array | | Array of users part of the organization, only for configurations with `"destination_type:"` `"email"` | + +[notification-authenticity]: #notification-authenticity + +[notification-triggers]: #notification-triggers + +### Sample payload for generic notification configurations + +```json +{ + "data": { + "type": "notification-configuration", + "attributes": { + "destination-type": "generic", + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "triggers": [ + "run:applying", + "run:completed", + "run:created", + "run:errored", + "run:needs_attention", + "run:planning" + ] + } + } +} +``` + +### Sample payload for email notification configurations + +```json +{ + "data": { + "type": "notification-configurations", + "attributes": { + "destination-type": "email", + "enabled": true, + "name": "Notify organization users about run", + "triggers": [ + "run:applying", + "run:completed", + "run:created", + "run:errored", + "run:needs_attention", + "run:planning" + ] + }, + "relationships": { + "users": { + "data": [ { "id": "organization-user-id", "type": "users" } ] + } + } + } +} +``` + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-XdeUVMWShTesDMME/notification-configurations +``` + +### Sample response + +```json +{ + "data": { + "id": "nc-AeUQ2zfKZzW9TiGZ", + "type": "notification-configurations", + "attributes": { + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "destination-type": "generic", + "token": null, + "triggers": [ + "run:applying", + "run:completed", + "run:created", + "run:errored", + "run:needs_attention", + "run:planning" + ], + "delivery-responses": [ + { + "url": "https://httpstat.us/200", + "body": "\"200 OK\"", + "code": "200", + "headers": { + "cache-control": [ + "private" + ], + "content-length": [ + "129" + ], + "content-type": [ + "application/json; charset=utf-8" + ], + "content-encoding": [ + "gzip" + ], + "vary": [ + "Accept-Encoding" + ], + "server": [ + "Microsoft-IIS/10.0" + ], + "x-aspnetmvc-version": [ + "5.1" + ], + "access-control-allow-origin": [ + "*" + ], + "x-aspnet-version": [ + "4.0.30319" + ], + "x-powered-by": [ + "ASP.NET" + ], + "set-cookie": [ + "ARRAffinity=77c477e3e649643e5771873e1a13179fb00983bc73c71e196bf25967fd453df9;Path=/;HttpOnly;Domain=httpstat.us" + ], + "date": [ + "Tue, 08 Jan 2019 21:34:37 GMT" + ] + }, + "sent-at": "2019-01-08 21:34:37 UTC", + "successful": "true" + } + ], + "created-at": "2019-01-08T21:32:14.125Z", + "updated-at": "2019-01-08T21:34:37.274Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ" + } + } +} +``` + +## List notification configurations + +Use the following endpoint to list all notification configurations for a workspace. + +`GET /workspaces/:workspace_id/notification-configurations` + +| Parameter | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to list configurations from. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. | + +### Query parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 notification configurations per page. | + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/workspaces/ws-XdeUVMWShTesDMME/notification-configurations +``` + +### Sample response + +```json +{ + "data": [ + { + "id": "nc-W6VGEi8A7Cfoaf4K", + "type": "notification-configurations", + "attributes": { + "enabled": false, + "name": "Slack: #devops", + "url": "https://hooks.slack.com/services/T00000000/BC012345/0PWCpQmYyD4bTTRYZ53q4w", + "destination-type": "slack", + "token": null, + "triggers": [ + "run:errored", + "run:needs_attention" + ], + "delivery-responses": [], + "created-at": "2019-01-08T21:34:28.367Z", + "updated-at": "2019-01-08T21:34:28.367Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-W6VGEi8A7Cfoaf4K" + } + }, + { + "id": "nc-AeUQ2zfKZzW9TiGZ", + "type": "notification-configurations", + "attributes": { + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "destination-type": "generic", + "token": null, + "triggers": [ + "run:applying", + "run:completed", + "run:created", + "run:errored", + "run:needs_attention", + "run:planning" + ], + "delivery-responses": [ + { + "url": "https://httpstat.us/200", + "body": "\"200 OK\"", + "code": "200", + "headers": { + "cache-control": [ + "private" + ], + "content-length": [ + "129" + ], + "content-type": [ + "application/json; charset=utf-8" + ], + "content-encoding": [ + "gzip" + ], + "vary": [ + "Accept-Encoding" + ], + "server": [ + "Microsoft-IIS/10.0" + ], + "x-aspnetmvc-version": [ + "5.1" + ], + "access-control-allow-origin": [ + "*" + ], + "x-aspnet-version": [ + "4.0.30319" + ], + "x-powered-by": [ + "ASP.NET" + ], + "set-cookie": [ + "ARRAffinity=77c477e3e649643e5771873e1a13179fb00983bc73c71e196bf25967fd453df9;Path=/;HttpOnly;Domain=httpstat.us" + ], + "date": [ + "Tue, 08 Jan 2019 21:34:37 GMT" + ] + }, + "sent-at": "2019-01-08 21:34:37 UTC", + "successful": "true" + } + ], + "created-at": "2019-01-08T21:32:14.125Z", + "updated-at": "2019-01-08T21:34:37.274Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ" + } + } + ] +} + +``` + +## Show a notification configuration + +`GET /notification-configurations/:notification-configuration-id` + +| Parameter | Description | +| -------------------------------- | ------------------------------------------------- | +| `:notification-configuration-id` | The id of the notification configuration to show. | + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ +``` + +### Sample response + +The `type` and `id` attributes in `relationships.subscribable` may also reference a `"teams"` and team ID, respectively. + +```json +{ + "data": { + "id": "nc-AeUQ2zfKZzW9TiGZ", + "type": "notification-configurations", + "attributes": { + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "destination-type": "generic", + "token": null, + "triggers": [ + "run:applying", + "run:completed", + "run:created", + "run:errored", + "run:needs_attention", + "run:planning" + ], + "delivery-responses": [ + { + "url": "https://httpstat.us/200", + "body": "\"200 OK\"", + "code": "200", + "headers": { + "cache-control": [ + "private" + ], + "content-length": [ + "129" + ], + "content-type": [ + "application/json; charset=utf-8" + ], + "content-encoding": [ + "gzip" + ], + "vary": [ + "Accept-Encoding" + ], + "server": [ + "Microsoft-IIS/10.0" + ], + "x-aspnetmvc-version": [ + "5.1" + ], + "access-control-allow-origin": [ + "*" + ], + "x-aspnet-version": [ + "4.0.30319" + ], + "x-powered-by": [ + "ASP.NET" + ], + "set-cookie": [ + "ARRAffinity=77c477e3e649643e5771873e1a13179fb00983bc73c71e196bf25967fd453df9;Path=/;HttpOnly;Domain=httpstat.us" + ], + "date": [ + "Tue, 08 Jan 2019 21:34:37 GMT" + ] + }, + "sent-at": "2019-01-08 21:34:37 UTC", + "successful": "true" + } + ], + "created-at": "2019-01-08T21:32:14.125Z", + "updated-at": "2019-01-08T21:34:37.274Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ" + } + } +} +``` + +## Update a notification configuration + +`PATCH /notification-configurations/:notification-configuration-id` + +| Parameter | Description | +| -------------------------------- | --------------------------------------------------- | +| `:notification-configuration-id` | The id of the notification configuration to update. | + +If the `enabled` attribute is true, updating the configuration will cause HCP Terraform to send a verification request. If a response is received, it will be stored and returned in the `delivery-responses` attribute. More details in the [Notification Verification and Delivery Responses][] section above. + +[Notification Verification and Delivery Responses]: #notification-verification-and-delivery-responses + +| Status | Response | Reason | +| ------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "notification-configurations"`) | Successfully updated the notification configuration | +| [400][] | [JSON API error object][] | Unable to complete verification request to destination URL | +| [404][] | [JSON API error object][] | Notification configuration not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +If `enabled` is set to `true`, a verification request will be sent before saving the configuration. If this request fails to send, or the response is not successful (HTTP 2xx), the configuration will not save. + +| Key path | Type | Default | Description | +| -------------------------- | ------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | (previous value) | Must be `"notification-configuration"`. | +| `data.attributes.enabled` | bool | (previous value) | Disabled configurations will not send any notifications. | +| `data.attributes.name` | string | (previous value) | User-readable name for the configuration. | +| `data.attributes.token` | string | (previous value) | Optional write-only secure token, which can be used at the receiving server to verify request authenticity. See [Notification Authenticity][notification-authenticity] for more details. | +| `data.attributes.triggers` | array | (previous value) | Array of triggers for sending notifications. See [Notification Triggers][notification-triggers] for more details. | +| `data.attributes.url` | string | (previous value) | HTTP or HTTPS URL to which notification requests will be made, only for configurations with `"destination_type:"` `"slack"`, `"microsoft-teams"` or `"generic"` | +| `data.relationships.users` | array | | Array of users part of the organization, only for configurations with `"destination_type:"` `"email"` | + +[notification-authenticity]: #notification-authenticity + +[notification-triggers]: #notification-triggers + +### Sample payload + +```json +{ + "data": { + "id": "nc-W6VGEi8A7Cfoaf4K", + "type": "notification-configurations", + "attributes": { + "enabled": false, + "name": "Slack: #devops", + "url": "https://hooks.slack.com/services/T00000001/BC012345/0PWCpQmYyD4bTTRYZ53q4w", + "destination-type": "slack", + "token": null, + "triggers": [ + "run:created", + "run:errored", + "run:needs_attention" + ], + } + } +} +``` + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/notification-configurations/nc-W6VGEi8A7Cfoaf4K +``` + +### Sample response + +```json +{ + "data": { + "id": "nc-W6VGEi8A7Cfoaf4K", + "type": "notification-configurations", + "attributes": { + "enabled": false, + "name": "Slack: #devops", + "url": "https://hooks.slack.com/services/T00000001/BC012345/0PWCpQmYyD4bTTRYZ53q4w", + "destination-type": "slack", + "token": null, + "triggers": [ + "run:created", + "run:errored", + "run:needs_attention" + ], + "delivery-responses": [], + "created-at": "2019-01-08T21:34:28.367Z", + "updated-at": "2019-01-08T21:49:02.103Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-W6VGEi8A7Cfoaf4K" + } + }, +} +``` + +## Verify a notification configuration + +`POST /notification-configurations/:notification-configuration-id/actions/verify` + +| Parameter | Description | +| -------------------------------- | --------------------------------------------------- | +| `:notification-configuration-id` | The id of the notification configuration to verify. | + +This will cause HCP Terraform to send a verification request for the specified configuration. If a response is received, it will be stored and returned in the `delivery-responses` attribute. More details in the [Notification Verification and Delivery Responses][] section above. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------------- | ---------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "notification-configurations"`) | Successfully verified the notification configuration | +| [400][] | [JSON API error object][] | Unable to complete verification request to destination URL | + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ/actions/verify +``` + +### Sample response + +```json +{ + "data": { + "id": "nc-AeUQ2zfKZzW9TiGZ", + "type": "notification-configurations", + "attributes": { + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "destination-type": "generic", + "token": null, + "triggers": [ + "run:applying", + "run:completed", + "run:created", + "run:errored", + "run:needs_attention", + "run:planning" + ], + "delivery-responses": [ + { + "url": "https://httpstat.us/200", + "body": "\"200 OK\"", + "code": "200", + "headers": { + "cache-control": [ + "private" + ], + "content-length": [ + "129" + ], + "content-type": [ + "application/json; charset=utf-8" + ], + "content-encoding": [ + "gzip" + ], + "vary": [ + "Accept-Encoding" + ], + "server": [ + "Microsoft-IIS/10.0" + ], + "x-aspnetmvc-version": [ + "5.1" + ], + "access-control-allow-origin": [ + "*" + ], + "x-aspnet-version": [ + "4.0.30319" + ], + "x-powered-by": [ + "ASP.NET" + ], + "set-cookie": [ + "ARRAffinity=77c477e3e649643e5771873e1a13179fb00983bc73c71e196bf25967fd453df9;Path=/;HttpOnly;Domain=httpstat.us" + ], + "date": [ + "Tue, 08 Jan 2019 21:34:37 GMT" + ] + }, + "sent-at": "2019-01-08 21:34:37 UTC", + "successful": "true" + } + ], + "created-at": "2019-01-08T21:32:14.125Z", + "updated-at": "2019-01-08T21:34:37.274Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ" + } + } +} +``` + +## Delete a notification configuration + +This endpoint deletes a notification configuration. + +`DELETE /notification-configurations/:notification-configuration-id` + +| Parameter | Description | +| -------------------------------- | --------------------------------------------------- | +| `:notification-configuration-id` | The id of the notification configuration to delete. | + +| Status | Response | Reason | +| ------- | ------------------------- | ---------------------------------------------------------------------------- | +| [204][] | None | Successfully deleted the notification configuration | +| [404][] | [JSON API error object][] | Notification configuration not found, or user unauthorized to perform action | + +### Sample request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ +``` + +## Team notification configuration + +Team notifications allow you to configure relevant alerts that notify teams you specify whenever a certain event occurs. + + + +@include 'tfc-package-callouts/notifications.mdx' + + + +### Create a team notification configuration + +By default, every team has a default email notification configuration with no users assigned. If a notification configuration has no users assigned, HCP Terraform sends email notifications to all team members. + +Use this endpoint to create a notification configuration to notify a team. + +`POST /teams/:team_id/notification-configurations` + +| Parameter | Description | +| ---------- | ------------------------------------------------- | +| `:team_id` | The ID of the team to create a configuration for. | + +| Status | Response | Reason | +| ------- | ------------------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "notification-configurations"`) | Successfully created a notification configuration | +| [400][] | [JSON API error object][] | Unable to complete verification request to destination URL | +| [404][] | [JSON API error object][] | Team not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +#### Request body + +This `POST` endpoint requires a JSON object with the following properties as a request payload. Properties without a default value are required. + +If `enabled` is set to `true`, HCP Terraform sends a verification request before saving the configuration. If this request does not receive a response or the response is not successful (HTTP 2xx), the configuration will not be saved. + +| Key path | Type | Default | Description | +| ----------------------------------- | -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"notification-configuration"`. | +| `data.attributes.destination-type` | string | | Type of notification payload to send. Valid values are `"generic"`, `"email"`, `"slack"` or `"microsoft-teams"`. | +| `data.attributes.enabled` | bool | `false` | Disabled configurations will not send any notifications. | +| `data.attributes.name` | string | | Human-readable name for the configuration. | +| `data.attributes.token` | string or null | `null` | Optional write-only secure token, which can be used at the receiving server to verify request authenticity. See [Notification Authenticity][notification-authenticity] for more details. | +| `data.attributes.triggers` | array | `[]` | Array of triggers for which this configuration will send notifications. See [Notification Triggers][notification-triggers] for more details and a list of allowed values. | +| `data.attributes.url` | string | | HTTP or HTTPS URL to which notification requests will be made, only for configurations with `"destination_type:"` `"slack"`, `"microsoft-teams"` or `"generic"` | +| `data.attributes.email_all_members` | bool | | Email all team members, only for configurations with `"destination_type:" "email"`. | +| `data.relationships.users` | array | | Array of users part of the organization, only for configurations with `"destination_type:"` `"email"` | + +[notification-authenticity]: #notification-authenticity + +[notification-triggers]: #notification-triggers + +#### Sample payload for generic notification configurations + +```json +{ + "data": { + "type": "notification-configuration", + "attributes": { + "destination-type": "generic", + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "triggers": [ + "change_request:created" + ] + } + } +} +``` + +#### Sample payload for email notification configurations + +```json +{ + "data": { + "type": "notification-configurations", + "attributes": { + "destination-type": "email", + "enabled": true, + "name": "Email teams about change requests", + "triggers": [ + "change_request:created" + ] + }, + "relationships": { + "users": { + "data": [ { "id": "organization-user-id", "type": "users" } ] + } + } + } +} +``` + +#### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/team-6p5jTwJQXwqZBncC/notification-configurations +``` + +#### Sample response + +```json +{ + "data": { + "id": "nc-AeUQ2zfKZzW9TiGZ", + "type": "notification-configurations", + "attributes": { + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "destination-type": "generic", + "token": null, + "triggers": [ + "change_request:created" + ], + "delivery-responses": [ + { + "url": "https://httpstat.us/200", + "body": "\"200 OK\"", + "code": "200", + "headers": { + "cache-control": [ + "private" + ], + "content-length": [ + "129" + ], + "content-type": [ + "application/json; charset=utf-8" + ], + "content-encoding": [ + "gzip" + ], + "vary": [ + "Accept-Encoding" + ], + "server": [ + "Microsoft-IIS/10.0" + ], + "x-aspnetmvc-version": [ + "5.1" + ], + "access-control-allow-origin": [ + "*" + ], + "x-aspnet-version": [ + "4.0.30319" + ], + "x-powered-by": [ + "ASP.NET" + ], + "set-cookie": [ + "ARRAffinity=77c477e3e649643e5771873e1a13179fb00983bc73c71e196bf25967fd453df9;Path=/;HttpOnly;Domain=httpstat.us" + ], + "date": [ + "Tue, 08 Jan 2024 21:34:37 GMT" + ] + }, + "sent-at": "2024-01-08 21:34:37 UTC", + "successful": "true" + } + ], + "created-at": "2024-01-08T21:32:14.125Z", + "updated-at": "2024-01-08T21:34:37.274Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "team-6p5jTwJQXwqZBncC", + "type": "teams" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ" + } + } +} +``` + +### List team notification configurations + +Use this endpoint to list notification configurations for a team. + +`GET /teams/:team_id/notification-configurations` + +| Parameter | Description | +| ---------- | ------------------------------------------------ | +| `:team_id` | The ID of the teams to list configurations from. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 notification configurations per page. | + +#### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/teams/team-6p5jTwJQXwqZBncC/notification-configurations +``` + +#### Sample response + +```json +{ + "data": [ + { + "id": "nc-W6VGEi8A7Cfoaf4K", + "type": "notification-configurations", + "attributes": { + "enabled": false, + "name": "Slack: #devops", + "url": "https://hooks.slack.com/services/T00000000/BC012345/0PWCpQmYyD4bTTRYZ53q4w", + "destination-type": "slack", + "token": null, + "triggers": [ + "change_request:created" + ], + "delivery-responses": [], + "created-at": "2019-01-08T21:34:28.367Z", + "updated-at": "2019-01-08T21:34:28.367Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "team-TdeUVMWShTesDMME", + "type": "teams" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-W6VGEi8A7Cfoaf4K" + } + }, + { + "id": "nc-AeUQ2zfKZzW9TiGZ", + "type": "notification-configurations", + "attributes": { + "enabled": true, + "name": "Webhook server test", + "url": "https://httpstat.us/200", + "destination-type": "generic", + "token": null, + "triggers": [ + "change_request:created" + ], + "delivery-responses": [ + { + "url": "https://httpstat.us/200", + "body": "\"200 OK\"", + "code": "200", + "headers": { + "cache-control": [ + "private" + ], + "content-length": [ + "129" + ], + "content-type": [ + "application/json; charset=utf-8" + ], + "content-encoding": [ + "gzip" + ], + "vary": [ + "Accept-Encoding" + ], + "server": [ + "Microsoft-IIS/10.0" + ], + "x-aspnetmvc-version": [ + "5.1" + ], + "access-control-allow-origin": [ + "*" + ], + "x-aspnet-version": [ + "4.0.30319" + ], + "x-powered-by": [ + "ASP.NET" + ], + "set-cookie": [ + "ARRAffinity=77c477e3e649643e5771873e1a13179fb00983bc73c71e196bf25967fd453df9;Path=/;HttpOnly;Domain=httpstat.us" + ], + "date": [ + "Tue, 08 Jan 2019 21:34:37 GMT" + ] + }, + "sent-at": "2019-01-08 21:34:37 UTC", + "successful": "true" + } + ], + "created-at": "2019-01-08T21:32:14.125Z", + "updated-at": "2019-01-08T21:34:37.274Z" + }, + "relationships": { + "subscribable": { + "data": { + "id": "team-XdeUVMWShTesDMME", + "type": "teams" + } + } + }, + "links": { + "self": "/api/v2/notification-configurations/nc-AeUQ2zfKZzW9TiGZ" + } + } + ] +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-clients.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-clients.mdx new file mode 100644 index 0000000000..c16d5161c7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-clients.mdx @@ -0,0 +1,603 @@ +--- +page_title: /oauth-clients API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/oauth-clients` endpoint to manage + connections between VCS providers and organizations and projects. Learn how to + read, create, update, and destroy clients. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# OAuth client API reference + +An OAuth client represents the connection between an organization and a VCS provider. By default, you can globally access an OAuth client throughout the organization, or you can have scope access to one or more [projects](/terraform/enterprise/projects/manage). + +## List OAuth Clients + +`GET /organizations/:organization_name/oauth-clients` + +| Parameter | Description | +| -------------------- | ----------------------------- | +| `:organization_name` | The name of the organization. | + +This endpoint allows you to list VCS connections between an organization and a VCS provider (GitHub, Bitbucket, or GitLab) for use when creating or setting up workspaces. + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | ---------------------- | +| [200][] | [JSON API document][] (`type: "oauth-clients"`) | Success | +| [404][] | [JSON API error object][] | Organization not found | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. + +| Parameter | Description | +| -------------- | ----------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 oauth clients per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/organizations/my-organization/oauth-clients +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "oc-XKFwG6ggfA9n7t1K", + "type": "oauth-clients", + "attributes": { + "created-at": "2018-04-16T20:42:53.771Z", + "callback-url": "https://app.terraform.io/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a/callback", + "connect-path": "/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a?organization_id=1", + "service-provider": "github", + "service-provider-display-name": "GitHub", + "name": null, + "http-url": "https://github.com", + "api-url": "https://api.github.com", + "key": null, + "rsa-public-key": null, + "organization-scoped": false + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "oauth-tokens": { + "data": [], + "links": { + "related": "/api/v2/oauth-tokens/ot-KaeqH4cy72VPXFQT" + } + }, + "agent-pool": { + "data": { + "id": "apool-VsmjEMcYkShrckpK", + "type": "agent-pools" + }, + "links": { + "related": "/api/v2/agent-pools/apool-VsmjEMcYkShrckpK" + } + } + } + } + ] +} +``` + +## Show an OAuth Client + +`GET /oauth-clients/:id` + +| Parameter | Description | +| --------- | ---------------------------------- | +| `:id` | The ID of the OAuth Client to show | + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "oauth-clients"`) | Success | +| [404][] | [JSON API error object][] | OAuth Client not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/oauth-clients/oc-XKFwG6ggfA9n7t1K +``` + +### Sample Response + +```json +{ + "data": { + "id": "oc-XKFwG6ggfA9n7t1K", + "type": "oauth-clients", + "attributes": { + "created-at": "2018-04-16T20:42:53.771Z", + "callback-url": "https://app.terraform.io/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a/callback", + "connect-path": "/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a?organization_id=1", + "service-provider": "github", + "service-provider-display-name": "GitHub", + "name": null, + "http-url": "https://github.com", + "api-url": "https://api.github.com", + "key": null, + "rsa-public-key": null, + "organization-scoped": false + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "oauth-tokens": { + "data": [], + "links": { + "related": "/api/v2/oauth-tokens/ot-KaeqH4cy72VPXFQT" + } + }, + "agent-pool": { + "data": { + "id": "apool-VsmjEMcYkShrckpK", + "type": "agent-pools" + }, + "links": { + "related": "/api/v2/agent-pools/apool-VsmjEMcYkShrckpK" + } + } + } + } +} +``` + +## Create an OAuth Client + +`POST /organizations/:organization_name/oauth-clients` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization that will be connected to the VCS provider. The organization must already exist in the system, and the user must have permission to manage VCS settings. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +This endpoint allows you to create a VCS connection between an organization and a VCS provider (GitHub or GitLab) for use when creating or setting up workspaces. By using this API endpoint, you can provide a pre-generated OAuth token string instead of going through the process of creating a GitHub or GitLab OAuth Application. + +To learn how to generate one of these token strings for your VCS provider, you can read the following documentation: + +- [GitHub and GitHub Enterprise](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) +- [GitLab, GitLab Community Edition, and GitLab Enterprise Edition](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token) +- [Azure DevOps Server](https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops-2019&tabs=preview-page) + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "oauth-clients"`) | OAuth Client successfully created | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"oauth-clients"`. | +| `data.attributes.service-provider` | string | | The VCS provider being connected with. Valid options are `"github"`, `"github_enterprise"`, `"gitlab_hosted"`, `"gitlab_community_edition"`, `"gitlab_enterprise_edition"`, or `"ado_server"`. | +| `data.attributes.name` | string | `null` | An optional display name for the OAuth Client. If left `null`, the UI will default to the display name of the VCS provider. | +| `data.attributes.key` | string | | The OAuth Client key. It can refer to a Consumer Key, Application Key, or another type of client key for the VCS provider. | +| `data.attributes.http-url` | string | | The homepage of your VCS provider (e.g. `"https://github.com"` or `"https://ghe.example.com"` or `"https://gitlab.com"`). | +| `data.attributes.api-url` | string | | The base URL as per your VCS provider's API documentation (e.g. `"https://api.github.com"`, `"https://ghe.example.com/api/v3"` or `"https://gitlab.com/api/v4"`). | +| `data.attributes.oauth-token-string` | string | | The token string you were given by your VCS provider | +| `data.attributes.private-key` | string | | **Required for Azure DevOps Server. Not used for any other providers.** The text of the SSH private key associated with your Azure DevOps Server account. | +| `data.attributes.secret` | string | | The OAuth client secret. For Bitbucket Data Center, the secret is the text of the SSH private key associated with your Bitbucket Data Center application link. | +| `data.attributes.rsa-public-key` | string | | **Required for Bitbucket Data Center in conjunction with the `secret`. Not used for any other providers.** The text of the SSH public key associated with your Bitbucket Data Center application link. | +| `data.attributes.organization-scoped` | boolean | | Whether or not the OAuth client is scoped to all projects and workspaces in the organization. Defaults to `true`. | +| `data.relationships.projects.data[]` | array\[object] | `[]` | A list of resource identifier objects that defines which projects are associated with the OAuth client. If `data.attributes.organization-scoped` is set to `false`, the OAuth client is only available to this list of projects. Each object in this list must contain a project `id` and use the `"projects"` type. For example, `{ "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }`. | +| `data.relationships.agent-pool.data` | object | `{}` | The Agent Pool associated to the VCS connection. This pool will be responsible for forwarding VCS Provider API calls and cloning VCS repositories. | + +### Sample Payload + +```json +{ + "data": { + "type": "oauth-clients", + "attributes": { + "service-provider": "github", + "http-url": "https://github.com", + "api-url": "https://api.github.com", + "oauth-token-string": "4306823352f0009d0ed81f1b654ac17a", + "organization-scoped": false + }, + "relationships": { + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "agent-pool": { + "data": { + "id": "apool-VsmjEMcYkShrckzzz", + "type": "agent-pools" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/oauth-clients +``` + +### Sample Response + +```json +{ + "data": { + "id": "oc-XKFwG6ggfA9n7t1K", + "type": "oauth-clients", + "attributes": { + "created-at": "2018-04-16T20:42:53.771Z", + "callback-url": "https://app.terraform.io/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a/callback", + "connect-path": "/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a?organization_id=1", + "service-provider": "github", + "service-provider-display-name": "GitHub", + "name": null, + "http-url": "https://github.com", + "api-url": "https://api.github.com", + "key": null, + "rsa-public-key": null, + "organization-scoped": false + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "oauth-tokens": { + "data": [], + "links": { + "related": "/api/v2/oauth-tokens/ot-KaeqH4cy72VPXFQT" + } + }, + "agent-pool": { + "data": { + "id": "apool-VsmjEMcYkShrckzzz", + "type": "agent-pools" + } + } + } + } +} +``` + +## Update an OAuth Client + +`PATCH /oauth-clients/:id` + +| Parameter | Description | +| --------- | ------------------------------------- | +| `:id` | The ID of the OAuth Client to update. | + +Use caution when changing attributes with this endpoint; editing an OAuth client that workspaces are currently using can have unexpected effects. + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "oauth-clients"`) | The request was successful | +| [404][] | [JSON API error object][] | OAuth Client not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| ------------------------------------- | -------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `data.type` | string | | Must be `"oauth-clients"`. | +| `data.attributes.name` | string | (previous value) | An optional display name for the OAuth Client. If set to `null`, the UI will default to the display name of the VCS provider. | +| `data.attributes.key` | string | (previous value) | The OAuth Client key. It can refer to a Consumer Key, Application Key, or another type of client key for the VCS provider. | +| `data.attributes.secret` | string | (previous value) | The OAuth client secret. For Bitbucket Data Center, this secret is the text of the SSH private key associated with your Bitbucket Data Center application link. | +| `data.attributes.rsa-public-key` | string | (previous value) | **Required for Bitbucket Data Center in conjunction with the `secret`. Not used for any other providers.** The text of the SSH public key associated with your Bitbucket Data Center application link. | +| `data.attributes.organization-scoped` | boolean | (previous value) | Whether or not the OAuth client is available to all projects and workspaces in the organization. | +| `data.relationships.projects` | array\[object] | (previous value) | A list of resource identifier objects that defines which projects are associated with the OAuth client. If `data.attributes.organization-scoped` is set to `false`, the OAuth client is only available to this list of projects. Each object in this list must contain a project `id` and use the `"projects"` type. For example, `{ "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }`. Sending an empty array clears all project assignments. | +| `data.relationships.agent-pool.data` | object | `{}` | The Agent Pool associated to the VCS connection. This pool will be responsible for forwarding VCS Provider API calls and cloning VCS repositories. | + +### Sample Payload + +```json +{ + "data": { + "id": "oc-XKFwG6ggfA9n7t1K", + "type": "oauth-clients", + "attributes": { + "key": "key", + "secret": "secret", + "organization-scoped": false + }, + "relationships": { + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "agent-pool": { + "data": { + "id": "apool-VsmjEMcYkShrckzzz", + "type": "agent-pools" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/oauth-clients/oc-XKFwG6ggfA9n7t1K +``` + +### Sample Response + +```json +{ + "data": { + "id": "oc-XKFwG6ggfA9n7t1K", + "type": "oauth-clients", + "attributes": { + "created-at": "2018-04-16T20:42:53.771Z", + "callback-url": "https://app.terraform.io/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a/callback", + "connect-path": "/auth/35936d44-842c-4ddd-b4d4-7c741383dc3a?organization_id=1", + "service-provider": "github", + "service-provider-display-name": "GitHub", + "name": null, + "http-url": "https://github.com", + "api-url": "https://api.github.com", + "key": null, + "rsa-public-key": null, + "organization-scoped": false + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "oauth-tokens": { + "data": [], + "links": { + "related": "/api/v2/oauth-tokens/ot-KaeqH4cy72VPXFQT" + } + }, + "agent-pool": { + "data": { + "id": "apool-VsmjEMcYkShrckzzz", + "type": "agent-pools" + } + } + } + } +} +``` + +## Destroy an OAuth Client + +`DELETE /oauth-clients/:id` + +| Parameter | Description | +| --------- | ------------------------------------- | +| `:id` | The ID of the OAuth Client to destroy | + +This endpoint allows you to remove an existing connection between an organization and a VCS provider (GitHub, Bitbucket, or GitLab). + +**Note:** Removing the OAuth Client will unlink workspaces that use this connection from their repositories, and these workspaces will need to be manually linked to another repository. + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------------------------ | +| [204][] | Empty response | The OAuth Client was successfully destroyed | +| [404][] | [JSON API error object][] | Organization or OAuth Client not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/oauth-clients/oc-XKFwG6ggfA9n7t1K +``` + +## Attach to a project + +`POST /oauth-clients/:id/relationships/projects` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the OAuth client to attach to a project. Use the [List OAuth Clients](#list-oauth-clients) endpoint to reference your OAuth client IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------------- | +| [204][] | Nothing | The request was successful | +| [404][] | [JSON API error object][] | OAuth Client not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (one or more projects not found, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | `[]` | A list of resource identifier objects that defines which projects to attach the OAuth client to. These objects must contain `id` and `type` properties, and the `type` property must be `projects` (e.g. `{ "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }`). | + +### Sample Payload + +```json +{ + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }, + { "id": "prj-2HRvNs49EWPjDqT1", "type": "projects" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/oauth-clients/oc-XKFwG6ggfA9n7t1K/relationships/projects +``` + +## Detach an OAuth Client from projects + +`DELETE /oauth-clients/:id/relationships/projects` + +| Parameter | Description | +| --------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the oauth client you want to detach from the specified projects. Use the "List OAuth Clients" endpoint to find IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------------- | +| [204][] | Nothing | The request was successful | +| [404][] | [JSON API error object][] | OAuth Client not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (one or more projects not found, wrong types, etc.) | + +### Request Body + +This DELETE endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | `[]` | A list of resource identifier objects that defines which projects are associated with the OAuth client. If `data.attributes.organization-scoped` is set to `false`, the OAuth client is only available to this list of projects. Each object in this list must contain a project `id` and use the `"projects"` type. For example, `{ "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }`. | + +### Sample Payload + +```json +{ + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }, + { "id": "prj-2HRvNs49EWPjDqT1", "type": "projects" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/oauth-clients/oc-XKFwG6ggfA9n7t1K/relationships/projects +``` + +### Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| -------------- | --------------------------------------- | +| `oauth_tokens` | The OAuth tokens managed by this client | +| `projects` | The projects scoped to this client | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-tokens.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-tokens.mdx new file mode 100644 index 0000000000..83cdaaae1b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/oauth-tokens.mdx @@ -0,0 +1,264 @@ +--- +page_title: /oauth-tokens API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/oauth-tokens` endpoint to manage the + OAuth tokens that connect workspaces to VCS providers. Learn how to read, + update, and destroy tokens. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# OAuth token API reference + +The `oauth-token` object represents a VCS configuration which includes the OAuth connection and the associated OAuth token. This object is used when creating a workspace to identify which VCS connection to use. + +## List OAuth Tokens + +List all the OAuth Tokens for a given OAuth Client + +`GET /oauth-clients/:oauth_client_id/oauth-tokens` + +| Parameter | Description | +| ------------------ | -------------------------- | +| `:oauth_client_id` | The ID of the OAuth Client | + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "oauth-tokens"`) | Success | +| [404][] | [JSON API error object][] | OAuth Client not found, or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. + +| Parameter | Description | +| -------------- | ---------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 oauth tokens per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/oauth-clients/oc-GhHqb5rkeK19mLB8/oauth-tokens +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "ot-hmAyP66qk2AMVdbJ", + "type": "oauth-tokens", + "attributes": { + "created-at":"2017-11-02T06:37:49.284Z", + "service-provider-user":"skierkowski", + "has-ssh-key": false + }, + "relationships": { + "oauth-client": { + "data": { + "id": "oc-GhHqb5rkeK19mLB8", + "type": "oauth-clients" + }, + "links": { + "related": "/api/v2/oauth-clients/oc-GhHqb5rkeK19mLB8" + } + } + }, + "links": { + "self": "/api/v2/oauth-tokens/ot-hmAyP66qk2AMVdbJ" + } + } + ] +} +``` + +## Show an OAuth Token + +`GET /oauth-tokens/:id` + +| Parameter | Description | +| --------- | --------------------------------- | +| `:id` | The ID of the OAuth token to show | + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | ------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "oauth-tokens"`) | Success | +| [404][] | [JSON API error object][] | OAuth Token not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL +``` + +### Sample Response + +```json +{ + "data": { + "id": "ot-29t7xkUKiNC2XasL", + "type": "oauth-tokens", + "attributes": { + "created-at": "2018-08-29T14:07:22.144Z", + "service-provider-user": "EM26Jj0ikRsIFFh3fE5C", + "has-ssh-key": false + }, + "relationships": { + "oauth-client": { + "data": { + "id": "oc-WMipGbuW8q7xCRmJ", + "type": "oauth-clients" + }, + "links": { + "related": "/api/v2/oauth-clients/oc-WMipGbuW8q7xCRmJ" + } + } + }, + "links": { + "self": "/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL" + } + } +} +``` + +## Update an OAuth Token + +`PATCH /oauth-tokens/:id` + +| Parameter | Description | +| --------- | ----------------------------------- | +| `:id` | The ID of the OAuth token to update | + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "oauth-tokens"`) | OAuth Token successfully updated | +| [404][] | [JSON API error object][] | OAuth Token not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------- | ------ | ------- | ------------------------- | +| `data.type` | string | | Must be `"oauth-tokens"`. | +| `data.attributes.ssh-key` | string | | **Optional.** The SSH key | + +### Sample Payload + +```json +{ + "data": { + "id": "ot-29t7xkUKiNC2XasL", + "type": "oauth-tokens", + "attributes": { + "ssh-key": "..." + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL +``` + +### Sample Response + +```json +{ + "data": { + "id": "ot-29t7xkUKiNC2XasL", + "type": "oauth-tokens", + "attributes": { + "created-at": "2018-08-29T14:07:22.144Z", + "service-provider-user": "EM26Jj0ikRsIFFh3fE5C", + "has-ssh-key": false + }, + "relationships": { + "oauth-client": { + "data": { + "id": "oc-WMipGbuW8q7xCRmJ", + "type": "oauth-clients" + }, + "links": { + "related": "/api/v2/oauth-clients/oc-WMipGbuW8q7xCRmJ" + } + } + }, + "links": { + "self": "/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL" + } + } +} +``` + +## Destroy an OAuth Token + +`DELETE /oauth-tokens/:id` + +| Parameter | Description | +| --------- | ------------------------------------ | +| `:id` | The ID of the OAuth Token to destroy | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------- | +| [204][] | Empty response | The OAuth Token was successfully destroyed | +| [404][] | [JSON API error object][] | OAuth Token not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/oauth-tokens/ot-29t7xkUKiNC2XasL +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-memberships.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-memberships.mdx new file mode 100644 index 0000000000..dec59d2968 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-memberships.mdx @@ -0,0 +1,497 @@ +--- +page_title: /organization-memberships API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/organization-memberships` endpoint to + manage membership in an organization. Invite, list, and remove members from + organizations. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Organization memberships API reference + +Users are added to organizations by inviting them to join. Once accepted, they become members of the organization. The Organization Membership resource represents this membership. + +You can invite users who already have an account, as well as new users. If the user has an existing account with the same email address used to invite them, they can reuse the same login. + +-> **Note:** Once a user is a member of the organization, you can manage their team memberships using [the Team Membership API](/terraform/enterprise/api-docs/team-members). + +## Invite a User to an Organization + +`POST /organizations/:organization_name/organization-memberships` + +| Parameter | Description | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the user will be invited to join. The inviting user must have permission to manage organization memberships. | + +-> **Note:** Organization membership management is restricted to members of the owners team, the owners [team API token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens), the [organization API token](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens), and users or teams with one of the [Team Management](/terraform/enterprise/users-teams-organizations/permissions#team-management-permissions) permissions. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] | Successfully invited the user | +| [400][] | [JSON API error object][] | Unable to invite user due to organization limits | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Unable to invite user due to validation errors | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------------- | -------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"organization-memberships"`. | +| `data.attributes.email` | string | | The email address of the user to be invited. | +| `data.relationships.teams.data[]` | array\[object] | | A list of resource identifier objects that defines which teams the invited user will be a member of. These objects must contain `id` and `type` properties, and the `type` property must be `teams` (e.g. `{ "id": "team-GeLZkdnK6xAVjA5H", "type": "teams" }`). Obtain team IDs from the [List Teams](/terraform/enterprise/api-docs/teams#list-teams) endpoint. All users must be added to at least one team. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "email": "test@example.com" + }, + "relationships": { + "teams": { + "data": [ + { + "type": "teams", + "id": "team-GeLZkdnK6xAVjA5H" + } + ] + } + }, + "type": "organization-memberships" + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/organization-memberships +``` + +### Sample Response + +```json +{ + "data": { + "id": "ou-nX7inDHhmC3quYgy", + "type": "organization-memberships", + "attributes": { + "status": "invited" + }, + "relationships": { + "teams": { + "data": [ + { + "id": "team-GeLZkdnK6xAVjA5H", + "type": "teams" + } + ] + }, + "user": { + "data": { + "id": "user-J8oxGmRk5eC2WLfX", + "type": "users" + } + }, + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + }, + "included": [ + { + "id": "user-J8oxGmRk5eC2WLfX", + "type": "users", + "attributes": { + "username": null, + "is-service-account": false, + "auth-method": "hcp_sso", + "avatar-url": "https://www.gravatar.com/avatar/55502f40dc8b7c769880b10874abc9d0?s=100&d=mm", + "two-factor": { + "enabled": false, + "verified": false + }, + "email": "test@example.com", + "permissions": { + "can-create-organizations": true, + "can-change-email": true, + "can-change-username": true, + "can-manage-user-tokens": false + } + }, + "relationships": { + "authentication-tokens": { + "links": { + "related": "/api/v2/users/user-J8oxGmRk5eC2WLfX/authentication-tokens" + } + } + }, + "links": { + "self": "/api/v2/users/user-J8oxGmRk5eC2WLfX" + } + } + ] +} +``` + +## List Memberships for an Organization + +`GET /organizations/:organization_name/organization-memberships` + +| Parameter | Description | +| -------------------- | -------------------------------------------------------- | +| `:organization_name` | The name of the organization to list the memberships of. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `q` | **Optional.** A search query string. Organization memberships are searchable by user name and email. | +| `filter[status]` | **Optional.** If specified, restricts results to those with the matching status value. Valid values are `invited` and `active`. | +| `filter[email]` | **Optional.** If specified, restricts results to those with a matching user email address. If multiple comma separated values are specified, results matching any of the values are returned. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 users per page. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/organization-memberships +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "ou-tTJph1AQVK5ZmdND", + "type": "organization-memberships", + "attributes": { + "status": "active" + }, + "relationships": { + "teams": { + "data": [ + { + "id": "team-yUrEehvfG4pdmSjc", + "type": "teams" + } + ] + }, + "user": { + "data": { + "id": "user-vaQqszES9JnuK4eB", + "type": "users" + } + }, + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + }, + { + "id": "ou-D6HPYFt4GzeBt3gB", + "type": "organization-memberships", + "attributes": { + "status": "active" + }, + "relationships": { + "teams": { + "data": [ + { + "id": "team-yUrEehvfG4pdmSjc", + "type": "teams" + } + ] + }, + "user": { + "data": { + "id": "user-oqCgH7NgTn95jTGc", + "type": "users" + } + }, + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + }, + { + "id": "ou-x1E2eBwYwusLDC7h", + "type": "organization-memberships", + "attributes": { + "status": "invited" + }, + "relationships": { + "teams": { + "data": [ + { + "id": "team-yUrEehvfG4pdmSjc", + "type": "teams" + } + ] + }, + "user": { + "data": { + "id": "user-UntUdBTHsVRQMzC8", + "type": "users" + } + }, + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/my-organization/organization-memberships?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/my-organization/organization-memberships?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/my-organization/organization-memberships?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "status-counts": { + "total": 3, + "active": 2, + "invited": 1 + }, + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 3 + } + } +} +``` + +## List User's Own Memberships + +`GET /organization-memberships` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organization-memberships +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "ou-VgJgfbDVN3APUm2F", + "type": "organization-memberships", + "attributes": { + "status": "invited" + }, + "relationships": { + "teams": { + "data": [ + { + "id": "team-4QrJKzxB3J5N4cJc", + "type": "teams" + } + ] + }, + "user": { + "data": { + "id": "user-vaQqszES9JnuK4eB", + "type": "users" + } + }, + "organization": { + "data": { + "id": "acme-corp", + "type": "organizations" + } + } + } + }, + { + "id": "ou-tTJph1AQVK5ZmdND", + "type": "organization-memberships", + "attributes": { + "status": "active" + }, + "relationships": { + "teams": { + "data": [ + { + "id": "team-yUrEehvfG4pdmSjc", + "type": "teams" + } + ] + }, + "user": { + "data": { + "id": "user-vaQqszES9JnuK4eB", + "type": "users" + } + }, + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + } + ] +} +``` + +## Show a Membership + +`GET /organization-memberships/:organization_membership_id` + +| Parameter | Description | +| ----------------------------- | --------------------------- | +| `:organization_membership_id` | The organization membership | + +| Status | Response | Reason | +| ------- | ---------------------------------------------------------- | ------------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "organization-memberships"`) | The request was successful | +| [404][] | [JSON API error object][] | Organization membership not found, or user unauthorized to perform action | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organization-memberships/ou-kit6GaMo3zPGCzWb +``` + +### Sample Response + +```json +{ + "data": { + "id": "ou-kit6GaMo3zPGCzWb", + "type": "organization-memberships", + "attributes": { + "status": "active" + }, + "relationships": { + "teams": { + "data": [ + { + "id": "team-97LkM7QciNkwb2nh", + "type": "teams" + } + ] + }, + "user": { + "data": { + "id": "user-hn6v2WK1naDpGadd", + "type": "users" + } + }, + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + } + } + } +} +``` + +## Remove User from Organization + +`DELETE /organization-memberships/:organization_membership_id` + +| Parameter | Description | +| ----------------------------- | --------------------------- | +| `:organization_membership_id` | The organization membership | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------------------------- | +| [204][] | Empty body | Successfully removed the user from the organization | +| [403][] | [JSON API error object][] | Unable to remove the user: you cannot remove yourself from organizations which you own | +| [404][] | [JSON API error object][] | Organization membership not found, or user unauthorized to perform action | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organization-memberships/ou-tTJph1AQVK5ZmdND +``` + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +- `user` - The user associated with the membership. +- `teams` - Teams the user is a member of. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tags.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tags.mdx new file mode 100644 index 0000000000..bcebf92fbc --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tags.mdx @@ -0,0 +1,230 @@ +--- +page_title: /tags API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's organization `/tags` endpoint to assign, + list, and delete tags for an organization. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Organization tags API reference + +This API returns the list of tags used in workspaces across the organization. Tags can be added to this pool via workspaces. Tags deleted here will be removed from all other workspaces. Tags can be added, applied, removed and deleted in bulk. + +Tags are subject to the following rules: + +- Workspace tags or tags must be one or more characters, have a 255 character limit, and can include letters, numbers, colons, hyphens, and underscores. +- You can create tags for a workspace using the user interface or the API. After you create a tag, you can assign it to other workspaces in the same organization. +- You cannot create tags for a workspace using the CLI. +- You cannot set tags at the project level, so there is no tag inheritance from projects to workspaces. + +## List Tags + +`GET /organizations/:organization_name/tags` + +| Parameter | Description | +| -------------------- | ---------------------------------------------- | +| `:organization_name` | The name of the organization to list tags from | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ------------------------------- | ---------------------------------------------------------------------------------------- | +| `q` | **Optional.** A search query string. Organization tags are searchable by name likeness. | +| `filter[exclude][taggable][id]` | **Optional.** If specified, omits organization's related workspace's tags. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 organization tags per page. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/tags +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "tag-1", + "type": "tags", + "attributes": { + "name": "tag1", + "created-at": "2022-03-09T06:04:39.585Z", + "instance-count": 1 + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + }, + { + "id": "tag-2", + "type": "tags", + "attributes": { + "name": "tag2", + "created-at": "2022-03-09T06:04:39.585Z", + "instance-count": 2 + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + } + ] +} +``` + +## Delete tags + +This endpoint deletes one or more tags from an organization. The organization and tags must already +exist. Tags deleted here will be removed from all other resources. + +`DELETE /organizations/:organization_name/tags` + +| Parameter | Description | +| -------------------- | ------------------------------------------------ | +| `:organization_name` | The name of the organization to delete tags from | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | -------------------------------------------------------------- | +| [204][] | No Content | Successfully removed tags from organization | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +It is important to note that `type` and `id` are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ---------------------------- | +| `data[].type` | string | | Must be `"tags"`. | +| `data[].id` | string | | The id of the tag to remove. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "tags", + "id": "tag-Yfha4YpPievQ8wJw" + } + ] +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/hashicorp/tags +``` + +## Sample Response + +No response body. + +Status code `204`. + +## Add workspaces to a tag + +`POST /tags/:tag_id/relationships/workspaces` + +| Parameter | Description | +| --------- | ---------------------------------------------------- | +| `:tag_id` | The ID of the tag that workspaces should have added. | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ----------------------------------------------------- | +| [204][] | No Content | Successfully added workspaces to tag | +| [404][] | [JSON API error object][] | Tag not found, or user unauthorized to perform action | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ------------------------------- | +| `data[].type` | string | | Must be `"workspaces"`. | +| `data[].id` | string | | The id of the workspace to add. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/tags/tag-2/relationships/workspaces +``` + +### Sample Payload + +```json +{ + "data": [ + { + "type": "workspaces", + "id": "ws-pmKTbUwH2VPiiTC4" + } + ] +} +``` + +### Sample Response + +No response body. + +Status code `204`. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tokens.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tokens.mdx new file mode 100644 index 0000000000..75894a177c --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organization-tokens.mdx @@ -0,0 +1,148 @@ +--- +page_title: /organizations/authentication-token API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/organizations/authentication-token` + endpoint to generate and delete organization-level API tokens. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Organization tokens API reference + +## Generate a new organization token + +`POST /organizations/:organization_name/authentication-token` + +| Parameter | Description | +| -------------------- | ----------------------------------------------------- | +| `:organization_name` | The name of the organization to generate a token for. | + +Generates a new [organization API token](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens), replacing any existing token. + +Only members of the owners team, the owners [team API token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens), and the [organization API token](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens) can access this endpoint. + +This endpoint returns the secret text of the new authentication token. You can only access this token when you create it and can not recover it later. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------- | +| [201][] | [JSON API document][] (`type: "authentication-tokens"`) | Success | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| ---------------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"authentication-token"`. | +| `data.attributes.expired-at` | string | `null` | The UTC date and time that the Organization Token will expire, in ISO 8601 format. If omitted or set to `null` the token will never expire. | + +### Sample Payload + +```json +{ + "data": { + "type": "authentication-token", + "attributes": { + "expired-at": "2023-04-06T12:00:00.000Z" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/authentication-token +``` + +### Sample Response + +```json +{ + "data": { + "id": "4111756", + "type": "authentication-tokens", + "attributes": { + "created-at": "2017-11-29T19:11:28.075Z", + "last-used-at": null, + "description": null, + "token": "ZgqYdzuvlv8Iyg.atlasv1.6nV7t1OyFls341jo1xdZTP72fN0uu9VL55ozqzekfmToGFbhoFvvygIRy2mwVAXomOE", + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "created-by": { + "data": { + "id": "user-62goNpx1ThQf689e", + "type": "users" + } + } + } + } +} +``` + +## Delete the organization token + +`DELETE /organizations/:organization/authentication-token` + +| Parameter | Description | +| -------------------- | --------------------------------------------- | +| `:organization_name` | Which organization's token should be deleted. | + +Only members of the owners team, the owners [team API token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens), and the [organization API token](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens) can access this endpoint. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------- | +| [204][] | No Content | Success | +| [404][] | [JSON API error object][] | User not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/my-organization/authentication-token +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organizations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organizations.mdx new file mode 100644 index 0000000000..dc7e999e44 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/organizations.mdx @@ -0,0 +1,987 @@ +--- +page_title: /organizations API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/organizations` endpoint to create, + update, and destroy organizations, and read their entitlement sets, module + producers, and data retention policies. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Organizations API reference + +The Organizations API is used to list, show, create, update, and destroy organizations. + +## List Organizations + +`GET /organizations` + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | ------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "organizations"`) | The request was successful | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +Currently, this endpoint returns a full, unpaginated list of organizations (without pagination metadata) if both of the pagination query parameters are omitted. To avoid inconsistent behavior, we recommend always supplying pagination parameters when building against this API. + +| Parameter | Description | +| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `q` | **Optional.** A search query string. Organizations are searchable by name and notification email. This query takes precedence over the attribute specific searches `q[email]` or `q[name]`. | +| `q[email]` | **Optional.** A search query string. This query searches organizations by notification email. If used with `q[name]`, it returns organizations that match both queries. | +| `q[name]` | **Optional.** A search query string. This query searches organizations by name. If used with `q[email]`, it returns organizations that match both queries. | +| `page[number]` | **Optional.** Defaults to the first page, if omitted when `page[size]` is provided. | +| `page[size]` | **Optional.** Defaults to 20 organizations per page, if omitted when `page[number]` is provided. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/organizations\?page\[number\]\=1\&page\[size\]\=20 +``` + +### Sample Response + +**Note:** Only HCP Terraform organizations return the `two-factor-conformant` and `assessments-enforced` properties. + +```json +{ + "data": [ + { + "id": "hashicorp", + "type": "organizations", + "attributes": { + "external-id": "org-Hysjx5eUviuKVCJY", + "created-at": "2021-08-24T23:10:04.675Z", + "email": "hashicorp@example.com", + "session-timeout": null, + "session-remember": null, + "collaborator-auth-policy": "password", + "plan-expired": false, + "plan-expires-at": null, + "plan-is-trial": false, + "plan-is-enterprise": false, + "plan-identifier": "developer", + "cost-estimation-enabled": true, + "send-passing-statuses-for-untriggered-speculative-plans": true, + "aggregated-commit-status-enabled": false, + "speculative-plan-management-enabled": true, + "allow-force-delete-workspaces": true, + "name": "hashicorp", + "permissions": { + "can-update": true, + "can-destroy": true, + "can-access-via-teams": true, + "can-create-module": true, + "can-create-team": true, + "can-create-workspace": true, + "can-manage-users": true, + "can-manage-subscription": true, + "can-manage-sso": true, + "can-update-oauth": true, + "can-update-sentinel": true, + "can-update-ssh-keys": true, + "can-update-api-token": true, + "can-traverse": true, + "can-start-trial": true, + "can-update-agent-pools": true, + "can-manage-tags": true, + "can-manage-varsets": true, + "can-read-varsets": true, + "can-manage-public-providers": true, + "can-create-provider": true, + "can-manage-public-modules": true, + "can-manage-custom-providers": false, + "can-manage-run-tasks": false, + "can-read-run-tasks": false, + "can-create-project": true + }, + "fair-run-queuing-enabled": true, + "saml-enabled": false, + "owners-team-saml-role-id": null, + "two-factor-conformant": false, + "assessments-enforced": false, + "default-execution-mode": "remote" + }, + "relationships": { + "default-agent-pool": { + "data": null + }, + "oauth-tokens": { + "links": { + "related": "/api/v2/organizations/hashicorp/oauth-tokens" + } + }, + "authentication-token": { + "links": { + "related": "/api/v2/organizations/hashicorp/authentication-token" + } + }, + "entitlement-set": { + "data": { + "id": "org-Hysjx5eUviuKVCJY", + "type": "entitlement-sets" + }, + "links": { + "related": "/api/v2/organizations/hashicorp/entitlement-set" + } + }, + "subscription": { + "links": { + "related": "/api/v2/organizations/hashicorp/subscription" + } + } + }, + "links": { + "self": "/api/v2/organizations/hashicorp" + } + }, + { + "id": "hashicorp-two", + "type": "organizations", + "attributes": { + "external-id": "org-iJ5tr4WgB4WpA1hD", + "created-at": "2022-01-04T18:57:16.036Z", + "email": "hashicorp@example.com", + "session-timeout": null, + "session-remember": null, + "collaborator-auth-policy": "password", + "plan-expired": false, + "plan-expires-at": null, + "plan-is-trial": false, + "plan-is-enterprise": false, + "plan-identifier": "free", + "cost-estimation-enabled": false, + "send-passing-statuses-for-untriggered-speculative-plans": false, + "aggregated-commit-status-enabled": true, + "speculative-plan-management-enabled": true, + "allow-force-delete-workspaces": false, + "name": "hashicorp-two", + "permissions": { + "can-update": true, + "can-destroy": true, + "can-access-via-teams": true, + "can-create-module": true, + "can-create-team": false, + "can-create-workspace": true, + "can-manage-users": true, + "can-manage-subscription": true, + "can-manage-sso": false, + "can-update-oauth": true, + "can-update-sentinel": false, + "can-update-ssh-keys": true, + "can-update-api-token": true, + "can-traverse": true, + "can-start-trial": true, + "can-update-agent-pools": false, + "can-manage-tags": true, + "can-manage-varsets": true, + "can-read-varsets": true, + "can-manage-public-providers": true, + "can-create-provider": true, + "can-manage-public-modules": true, + "can-manage-custom-providers": false, + "can-manage-run-tasks": false, + "can-read-run-tasks": false, + "can-create-project": false + }, + "fair-run-queuing-enabled": true, + "saml-enabled": false, + "owners-team-saml-role-id": null, + "two-factor-conformant": false, + "assessments-enforced": false, + "default-execution-mode": "remote" + }, + "relationships": { + "default-agent-pool": { + "data": null + }, + "oauth-tokens": { + "links": { + "related": "/api/v2/organizations/hashicorp-two/oauth-tokens" + } + }, + "authentication-token": { + "links": { + "related": "/api/v2/organizations/hashicorp-two/authentication-token" + } + }, + "entitlement-set": { + "data": { + "id": "org-iJ5tr4WgB4WpA1hD", + "type": "entitlement-sets" + }, + "links": { + "related": "/api/v2/organizations/hashicorp-two/entitlement-set" + } + }, + "subscription": { + "links": { + "related": "/api/v2/organizations/hashicorp-two/subscription" + } + } + }, + "links": { + "self": "/api/v2/organizations/hashicorp-two" + } + } + ], + "links": { + "self": "https://tfe-zone-b0c8608c.ngrok.io/api/v2/organizations?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://tfe-zone-b0c8608c.ngrok.io/api/v2/organizations?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://tfe-zone-b0c8608c.ngrok.io/api/v2/organizations?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 2 + } + } +} +``` + +## Show an Organization + +`GET /organizations/:organization_name` + +| Parameter | Description | +| -------------------- | ------------------------------------ | +| `:organization_name` | The name of the organization to show | + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | ------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "organizations"`) | The request was successful | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/organizations/hashicorp +``` + +### Sample Response + +**Note:** Only HCP Terraform organizations return the `two-factor-conformant` and `assessments-enforced` properties. + +```json +{ + "data": { + "id": "hashicorp", + "type": "organizations", + "attributes": { + "external-id": "org-WV6DfwfxxXvLfvfs", + "created-at": "2020-03-26T22:13:38.456Z", + "email": "user@example.com", + "session-timeout": null, + "session-remember": null, + "collaborator-auth-policy": "password", + "plan-expired": false, + "plan-expires-at": null, + "plan-is-trial": false, + "plan-is-enterprise": false, + "cost-estimation-enabled": false, + "send-passing-statuses-for-untriggered-speculative-plans": false, + "aggregated-commit-status-enabled": true, + "speculative-plan-management-enabled": true, + "allow-force-delete-workspaces": false, + "name": "hashicorp", + "permissions": { + "can-update": true, + "can-destroy": true, + "can-access-via-teams": true, + "can-create-module": true, + "can-create-team": false, + "can-create-workspace": true, + "can-manage-users": true, + "can-manage-subscription": true, + "can-manage-sso": false, + "can-update-oauth": true, + "can-update-sentinel": false, + "can-update-ssh-keys": true, + "can-update-api-token": true, + "can-traverse": true, + "can-start-trial": true, + "can-update-agent-pools": false, + "can-manage-tags": true, + "can-manage-public-modules": true, + "can-manage-public-providers": false, + "can-manage-run-tasks": false, + "can-read-run-tasks": false, + "can-create-provider": false, + "can-create-project": true + }, + "fair-run-queuing-enabled": true, + "saml-enabled": false, + "owners-team-saml-role-id": null, + "two-factor-conformant": false, + "assessments-enforced": false, + "default-execution-mode": "remote" + }, + "relationships": { + "default-agent-pool": { + "data": null + }, + "oauth-tokens": { + "links": { + "related": "/api/v2/organizations/hashicorp/oauth-tokens" + } + }, + "authentication-token": { + "links": { + "related": "/api/v2/organizations/hashicorp/authentication-token" + } + }, + "entitlement-set": { + "data": { + "id": "org-WV6DfwfxxXvLfvfs", + "type": "entitlement-sets" + }, + "links": { + "related": "/api/v2/organizations/hashicorp/entitlement-set" + } + }, + "subscription": { + "links": { + "related": "/api/v2/organizations/hashicorp/subscription" + } + } + }, + "links": { + "self": "/api/v2/organizations/hashicorp" + } + } +} +``` + +## Create an Organization + +`POST /organizations` + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "organizations"`) | The organization was successfully created | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------------------------------- | ------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"organizations"` | +| `data.attributes.name` | string | | Name of the organization | +| `data.attributes.email` | string | | Admin email address | +| `data.attributes.session-timeout` | integer | 20160 | Session timeout after inactivity (minutes) | +| `data.attributes.session-remember` | integer | 20160 | Session expiration (minutes) | +| `data.attributes.collaborator-auth-policy` | string | password | Authentication policy (`password` or `two_factor_mandatory`) | +| `data.attributes.cost-estimation-enabled` | boolean | false | Whether or not the cost estimation feature is enabled for all workspaces in the organization. Defaults to false. In Terraform Enterprise, you must also enable cost estimation in [Site Administration](/terraform/enterprise/admin/application/integration#cost-estimation-integration). | +| `data.attributes.send-passing-statuses-for-untriggered-speculative-plans` | boolean | false | Whether or not to send VCS status updates for untriggered speculative plans. This can be useful if large numbers of untriggered workspaces are exhausting request limits for connected version control service providers like GitHub. Defaults to false. In Terraform Enterprise, this setting is always false and cannot be changed but is also available in Site Administration. | +| `data.attributes.aggregated-commit-status-enabled` | boolean | true | Whether or not to aggregate VCS status updates for triggered workspaces. This is useful for monorepo projects with configuration spanning many workspaces. Defaults to `true`. You cannot use this option if `send-passing-statuses-for-untriggered-speculative-plans` is set to `true`. | +| `data.attributes.speculative-plan-management-enabled` | boolean | true | Whether or not to enable [Automatically cancel plan-only runs](/terraform/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management). Defaults to `true`. | +| `data.attributes.owners-team-saml-role-id` | string | (nothing) | **Optional.** **SAML only** The name of the ["owners" team](/terraform/enterprise/saml/team-membership#managing-membership-of-the-owners-team) | +| `data.attributes.assessments-enforced` | boolean | (false) | Whether or not to compel health assessments for all eligible workspaces. When true, health assessments occur on all compatible workspaces, regardless of the value of the workspace setting `assessments-enabled`. When false, health assessments only occur for workspaces that opt in by setting `assessments-enabled: true`. | +| `data.attributes.allow-force-delete-workspaces` | boolean | (false) | Whether workspace administrators can [delete workspaces with resources under management](/terraform/enterprise/users-teams-organizations/organizations#general). If false, only organization owners may delete these workspaces. | +| `data.attributes.default-execution-mode` | boolean | `remote` | Which [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) to use by default. Valid values are `remote`, `local`, and `agent`. | +| `data.attributes.default-agent-pool-id` | string | (previous value) | Required when `default-execution-mode` is set to `agent`. The ID of the agent pool belonging to the organization. Do _not_ specify this value if you set `execution-mode` to `remote` or `local`. | + +### Sample Payload + +```json +{ + "data": { + "type": "organizations", + "attributes": { + "name": "hashicorp", + "email": "user@example.com" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations +``` + +### Sample Response + +**Note:** Only HCP Terraform organizations return the `two-factor-conformant` and `assessments-enforced` properties. + +```json +{ + "data": { + "id": "hashicorp", + "type": "organizations", + "attributes": { + "external-id": "org-Bzyc2JuegvVLAibn", + "created-at": "2021-08-30T18:09:57.561Z", + "email": "user@example.com", + "session-timeout": null, + "session-remember": null, + "collaborator-auth-policy": "password", + "plan-expired": false, + "plan-expires-at": null, + "plan-is-trial": false, + "plan-is-enterprise": false, + "cost-estimation-enabled": false, + "send-passing-statuses-for-untriggered-speculative-plans": false, + "aggregated-commit-status-enabled": true, + "speculative-plan-management-enabled": true, + "allow-force-delete-workspaces": false, + "name": "hashicorp", + "permissions": { + "can-update": true, + "can-destroy": true, + "can-access-via-teams": true, + "can-create-module": true, + "can-create-team": false, + "can-create-workspace": true, + "can-manage-users": true, + "can-manage-subscription": true, + "can-manage-sso": false, + "can-update-oauth": true, + "can-update-sentinel": false, + "can-update-ssh-keys": true, + "can-update-api-token": true, + "can-traverse": true, + "can-start-trial": true, + "can-update-agent-pools": false, + "can-manage-tags": true, + "can-manage-public-modules": true, + "can-manage-public-providers": false, + "can-manage-run-tasks": false, + "can-read-run-tasks": false, + "can-create-provider": false, + "can-create-project": true + }, + "fair-run-queuing-enabled": true, + "saml-enabled": false, + "owners-team-saml-role-id": null, + "two-factor-conformant": false, + "assessments-enforced": false, + "default-execution-mode": "remote" + }, + "relationships": { + "default-agent-pool": { + "data": null + }, + "oauth-tokens": { + "links": { + "related": "/api/v2/organizations/hashicorp/oauth-tokens" + } + }, + "authentication-token": { + "links": { + "related": "/api/v2/organizations/hashicorp/authentication-token" + } + }, + "entitlement-set": { + "data": { + "id": "org-Bzyc2JuegvVLAibn", + "type": "entitlement-sets" + }, + "links": { + "related": "/api/v2/organizations/hashicorp/entitlement-set" + } + }, + "subscription": { + "links": { + "related": "/api/v2/organizations/hashicorp/subscription" + } + } + }, + "links": { + "self": "/api/v2/organizations/hashicorp" + } + }, + "included": [ + { + "id": "org-Bzyc2JuegvVLAibn", + "type": "entitlement-sets", + "attributes": { + "agents": false, + "audit-logging": false, + "configuration-designer": true, + "cost-estimation": false, + "global-run-tasks": false, + "module-tests-generation": false, + "operations": true, + "policy-enforcement": false, + "policy-limit": null, + "policy-mandatory-enforcement-limit": null, + "policy-set-limit": null, + "private-module-registry": true, + "run-task-limit": null, + "run-task-mandatory-enforcement-limit": null, + "run-task-workspace-limit": null, + "run-tasks": false, + "self-serve-billing": true, + "sentinel": false, + "sso": false, + "state-storage": true, + "teams": false, + "usage-reporting": false, + "user-limit": 5, + "vcs-integrations": true, + "versioned-policy-set-limit": null + }, + "links": { + "self": "/api/v2/entitlement-sets/org-Bzyc2JuegvVLAibn" + } + } + ] +} +``` + +## Update an Organization + +`PATCH /organizations/:organization_name` + +| Parameter | Description | +| -------------------- | -------------------------------------- | +| `:organization_name` | The name of the organization to update | + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "organizations"`) | The organization was successfully updated | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| ------------------------------------------------------------------------- | ------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"organizations"` | +| `data.attributes.name` | string | | Name of the organization | +| `data.attributes.email` | string | | Admin email address | +| `data.attributes.session-timeout` | integer | 20160 | Session timeout after inactivity (minutes) | +| `data.attributes.session-remember` | integer | 20160 | Session expiration (minutes) | +| `data.attributes.collaborator-auth-policy` | string | password | Authentication policy (`password` or `two_factor_mandatory`) | +| `data.attributes.cost-estimation-enabled` | boolean | false | Whether or not the cost estimation feature is enabled for all workspaces in the organization. Defaults to false. In Terraform Enterprise, you must also enable cost estimation in [Site Administration](/terraform/enterprise/admin/application/integration#cost-estimation-integration). | +| `data.attributes.send-passing-statuses-for-untriggered-speculative-plans` | boolean | false | Whether or not to send VCS status updates for untriggered speculative plans. This can be useful if large numbers of untriggered workspaces are exhausting request limits for connected version control service providers like GitHub. Defaults to false. In Terraform Enterprise, this setting is always false and cannot be changed but is also available in Site Administration. | +| `data.attributes.aggregated-commit-status-enabled` | boolean | true | Whether or not to aggregate VCS status updates for triggered workspaces. This is useful for monorepo projects with configuration spanning many workspaces. Defaults to `true`. You cannot use this option if `send-passing-statuses-for-untriggered-speculative-plans` is set to `true`. | +| `data.attributes.speculative-plan-management-enabled` | boolean | true | Whether or not to enable [Automatically cancel plan-only runs](/terraform/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management). Defaults to `true`. | +| `data.attributes.owners-team-saml-role-id` | string | (nothing) | **Optional.** **SAML only** The name of the ["owners" team](/terraform/enterprise/saml/team-membership#managing-membership-of-the-owners-team) | +| `data.attributes.assessments-enforced` | boolean | false | Whether or not to compel health assessments for all eligible workspaces. When true, health assessments occur on all compatible workspaces, regardless of the value of the workspace setting `assessments-enabled`. When false, health assessments only occur for workspaces that opt in by setting `assessments-enabled: true`. | +| `data.attributes.allow-force-delete-workspaces` | boolean | false | Whether workspace administrators can [delete workspaces with resources under management](/terraform/enterprise/users-teams-organizations/organizations#general). If false, only organization owners may delete these workspaces. | +| `data.attributes.default-execution-mode` | boolean | `remote` | Which [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) to use by default. Valid values are `remote`, `local`, and `agent`. | +| `data.attributes.default-agent-pool-id` | string | (previous value) | Required when `default-execution-mode` is set to `agent`. The ID of the agent pool belonging to the organization. Do _not_ specify this value if you set `execution-mode` to `remote` or `local`. | + +### Sample Payload + +```json +{ + "data": { + "type": "organizations", + "attributes": { + "email": "admin@example.com" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/hashicorp +``` + +### Sample Response + +**Note:** The `two-factor-conformant` and `assessments-enforced` properties are only returned from HCP Terraform organizations. + +```json +{ + "data": { + "id": "hashicorp", + "type": "organizations", + "attributes": { + "external-id": "org-Bzyc2JuegvVLAibn", + "created-at": "2021-08-30T18:09:57.561Z", + "email": "admin@example.com", + "session-timeout": null, + "session-remember": null, + "collaborator-auth-policy": "password", + "plan-expired": false, + "plan-expires-at": null, + "plan-is-trial": false, + "plan-is-enterprise": false, + "cost-estimation-enabled": false, + "send-passing-statuses-for-untriggered-speculative-plans": false, + "aggregated-commit-status-enabled": true, + "speculative-plan-management-enabled": true, + "name": "hashicorp", + "permissions": { + "can-update": true, + "can-destroy": true, + "can-access-via-teams": true, + "can-create-module": true, + "can-create-team": false, + "can-create-workspace": true, + "can-manage-users": true, + "can-manage-subscription": true, + "can-manage-sso": false, + "can-update-oauth": true, + "can-update-sentinel": false, + "can-update-ssh-keys": true, + "can-update-api-token": true, + "can-traverse": true, + "can-start-trial": true, + "can-update-agent-pools": false, + "can-manage-tags": true, + "can-manage-public-modules": true, + "can-manage-public-providers": false, + "can-manage-run-tasks": false, + "can-read-run-tasks": false, + "can-create-provider": false, + "can-create-project": true + }, + "fair-run-queuing-enabled": true, + "saml-enabled": false, + "owners-team-saml-role-id": null, + "two-factor-conformant": false, + "assessments-enforced": false, + "default-execution-mode": "remote" + }, + "relationships": { + "default-agent-pool": { + "data": null + }, + "oauth-tokens": { + "links": { + "related": "/api/v2/organizations/hashicorp/oauth-tokens" + } + }, + "authentication-token": { + "links": { + "related": "/api/v2/organizations/hashicorp/authentication-token" + } + }, + "entitlement-set": { + "data": { + "id": "org-Bzyc2JuegvVLAibn", + "type": "entitlement-sets" + }, + "links": { + "related": "/api/v2/organizations/hashicorp/entitlement-set" + } + }, + "subscription": { + "links": { + "related": "/api/v2/organizations/hashicorp/subscription" + } + } + }, + "links": { + "self": "/api/v2/organizations/hashicorp" + } + } +} +``` + +## Destroy an Organization + +`DELETE /organizations/:organization_name` + +| Parameter | Description | +| -------------------- | --------------------------------------- | +| `:organization_name` | The name of the organization to destroy | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------- | +| [204][] | | The organization was successfully destroyed | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/hashicorp +``` + +### Sample Response + +The response body will be empty if successful. + +## Show the Entitlement Set + +This endpoint shows the [entitlements](/terraform/enterprise/api-docs#feature-entitlements) for an organization. + +`GET /organizations/:organization_name/entitlement-set` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------ | +| `:organization_name` | The name of the organization's entitlement set to view | + +| Status | Response | Reason | +| ------- | -------------------------------------------------- | ------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "entitlement-sets"`) | The request was successful | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/entitlement-set +``` + +### Sample Response + +```json +{ + "data": { + "id": "org-Bzyc2JuegvVLAibn", + "type": "entitlement-sets", + "attributes": { + "agents": false, + "audit-logging": false, + "configuration-designer": true, + "cost-estimation": false, + "global-run-tasks": false, + "module-tests-generation": false, + "operations": true, + "policy-enforcement": false, + "policy-limit": 5, + "policy-mandatory-enforcement-limit": null, + "policy-set-limit": 1, + "private-module-registry": true, + "private-policy-agents": false, + "private-run-tasks": true, + "private-vcs": false, + "run-task-limit": 1, + "run-task-mandatory-enforcement-limit": 1, + "run-task-workspace-limit": 10, + "run-tasks": false, + "self-serve-billing": true, + "sentinel": false, + "sso": false, + "state-storage": true, + "teams": false, + "usage-reporting": false, + "user-limit": 5, + "vcs-integrations": true, + "versioned-policy-set-limit": null + }, + "links": { + "self": "/api/v2/entitlement-sets/org-Bzyc2JuegvVLAibn" + } + } +} +``` + +## Show Module Producers + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. + + +This endpoint shows organizations that are configured to share modules with an organization through [Module Sharing](/terraform/enterprise/admin/application/module-sharing). + +`GET /organizations/:organization_name/relationships/module-producers` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------- | +| `:organization_name` | The name of the organization's module producers to view | + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | ------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "organizations"`) | The request was successful | +| [404][] | [JSON API error object][] | Organization not found or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | -------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 module producers per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://tfe.example.com/api/v2/organizations/hashicorp/relationships/module-producers +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "hc-nomad", + "type": "organizations", + "attributes": { + "name": "hc-nomad", + "external-id": "org-ArQSQMAkFQsSUZjB" + }, + "links": { + "self": "/api/v2/organizations/hc-nomad" + } + } + ], + "links": { + "self": "https://tfe.example.com/api/v2/organizations/hashicorp/relationships/module-producers?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://tfe.example.com/api/v2/organizations/hashicorp/relationships/module-producers?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://tfe.example.com/api/v2/organizations/hashicorp/relationships/module-producers?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + } + } +} +``` + +## Show data retention policy + + +This endpoint is exclusive to Terraform Enterprise and is not available in HCP Terraform. + + +`GET /organizations/:organization_name/relationships/data-retention-policy` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to show the data retention policy for. | + +This endpoint shows the data retention policy set explicitly on the organization. + +When no data retention policy is set for the organization, the endpoint returns the default policy configured for the Terraform Enterprise installation. Read more about [organization data retention policies](/terraform/enterprise/users-teams-organizations/organizations#data-retention-policies). + +For additional information, refer to [Data Retention Policy Types](/terraform/enterprise/api-docs/data-retention-policies#data-retention-policy-types) in the Terraform Enterprise documentation. + +## Create or update data retention policy + + +This endpoint is exclusive to Terraform Enterprise and is not available in HCP Terraform. + + +`POST /organizations/:organization_name/relationships/data-retention-policy` + +| Parameter | Description | +| -------------------- | --------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to update the data retention policy for. | + +This endpoint creates a data retention policy for an organization or updates the existing policy. + +Read more about [organization data retention policies](/terraform/enterprise/users-teams-organizations/organizations#data-retention-policies). + +Refer to [Data Retention Policy API](/terraform/enterprise/api-docs/data-retention-policies#create-or-update-data-retention-policy) in the Terraform Enterprise documentation for details. + +## Remove data retention policy + + +This endpoint is exclusive to Terraform Enterprise and is not available in HCP Terraform. + + +`DELETE /organizations/:organization_name/relationships/data-retention-policy` + +| Parameter | Description | +| -------------------- | --------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to remove the data retention policy for. | + +This endpoint removes the data retention policy explicitly set on an organization. +When the data retention policy is deleted, the organization inherits the default policy configured for the Terraform Enterprise installation. Refer to [Data Retention Policies](/terraform/enterprise/application-administration/general#data-retention-policies) for additional information. + +Refer to [Data Retention Policies](/terraform/enterprise/users-teams-organizations/organizations#data-retention-policies) for information about configuring data retention policies for an organization. + +Refer to [Data Retention Policy API](/terraform/enterprise/api-docs/data-retention-policies#remove-data-retention-policy) in the Terraform Enterprise documentation for details. + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| ----------------- | ------------------------------------------------------------------------------------------ | +| `entitlement_set` | The entitlement set that determines which HCP Terraform features the organization can use. | + +## Relationships + +The following relationships may be present in various responses. + +| Resource Name | Description | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `module-producers` | Other organizations configured to share modules with the organization. | +| `oauth-tokens` | OAuth tokens associated with VCS configurations for the organization. | +| `authentication-token` | The API token for an organization. | +| `entitlement-set` | The entitlement set that determines which HCP Terraform features the organization can use. | +| `subscription` | The current subscription for an organization. | +| `default-agent-pool` | An organization's default agent pool. Set this value if your `default-execution-mode` is `agent`. | +| `data-retention-policy` | Specifies an organization's data retention policy. Refer to [Data Retention Policy APIs](/terraform/enterprise/api-docs/data-retention-policies) in the Terraform Enterprise documentation for more details. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plan-exports.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plan-exports.mdx new file mode 100644 index 0000000000..dabfc4fd47 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plan-exports.mdx @@ -0,0 +1,226 @@ +--- +page_title: /plan-exports API reference for Terraform Enterprise +description: >- + Use the `/plan-exports` endpoint to manage plan exports for a Terraform run. + Create and show plan exports, or download and delete exported plan data. +source: terraform-docs-common +--- + +# Plan exports API reference + +Plan exports allow users to download data exported from the plan of a Run in a Terraform workspace. Currently, the only supported format for exporting plan data is to generate mock data for Sentinel. + +## Create a plan export + +`POST /plan-exports` + +This endpoint exports data from a plan in the specified format. The export process is asynchronous, and the resulting data becomes downloadable when its status is `"finished"`. The data is then available for one hour before expiring. After the hour is up, a new export can be created. + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "plan-exports"`) | Successfully created a plan export | +| [404][] | [JSON API error object][] | Plan not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.), or a plan export of the provided `data-type` is already pending or downloadable for this plan | + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------ | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"plan-exports"`. | +| `data.attributes.data-type` | string | | The format for the export. Currently, the only supported format is `"sentinel-mock-bundle-v0"`. | +| `data.relationships.plan.data` | object | | A JSON API relationship object that represents the plan being exported. This object must have a `type` of `plans`, and the `id` of a finished Terraform plan that does not already have a downloadable export of the specified `data-type` (e.g: `{"type": "plans", "id": "plan-8F5JFydVYAmtTjET"}`) | + +### Sample Payload + +```json +{ + "data": { + "type": "plan-exports", + "attributes": { + "data-type": "sentinel-mock-bundle-v0" + }, + "relationships": { + "plan": { + "data": { + "id": "plan-8F5JFydVYAmtTjET", + "type": "plans" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/plan-exports +``` + +### Sample Response + +```json +{ + "data": { + "id": "pe-3yVQZvHzf5j3WRJ1", + "type": "plan-exports", + "attributes": { + "data-type": "sentinel-mock-bundle-v0", + "status": "queued", + "status-timestamps": { + "queued-at": "2019-03-04T22:29:53+00:00", + }, + }, + "relationships": { + "plan": { + "data": { + "id": "plan-8F5JFydVYAmtTjET", + "type": "plans" + } + } + }, + "links": { + "self": "/api/v2/plan-exports/pe-3yVQZvHzf5j3WRJ1", + } + } +} +``` + +## Show a plan export + +`GET /plan-exports/:id` + +| Parameter | Description | +| --------- | ---------------------------------- | +| `id` | The ID of the plan export to show. | + +There is no endpoint to list plan exports. You can find IDs for plan exports in the +`relationships.exports` property of a plan object. + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | ------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "plan-exports"`) | The request was successful | +| [404][] | [JSON API error object][] | Plan export not found, or user unauthorized to perform action | + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/plan-exports/pe-3yVQZvHzf5j3WRJ1 +``` + +### Sample Response + +```json +{ + "data": { + "id": "pe-3yVQZvHzf5j3WRJ1", + "type": "plan-exports", + "attributes": { + "data-type": "sentinel-mock-bundle-v0", + "status": "finished", + "status-timestamps": { + "queued-at": "2019-03-04T22:29:53+00:00", + "finished-at": "2019-03-04T22:29:58+00:00", + "expired-at": "2019-03-04T23:29:58+00:00" + }, + }, + "relationships": { + "plan": { + "data": { + "id": "plan-8F5JFydVYAmtTjET", + "type": "plans" + } + } + }, + "links": { + "self": "/api/v2/plan-exports/pe-3yVQZvHzf5j3WRJ1", + "download": "/api/v2/plan-exports/pe-3yVQZvHzf5j3WRJ1/download" + } + } +} +``` + +## Download exported plan data + +`GET /plan-exports/:id/download` + +This endpoint generates a temporary URL to the location of the exported plan data in a `.tar.gz` archive, and then redirects to that link. If using a client that can follow redirects, you can use this endpoint to save the `.tar.gz` archive locally without needing to save the temporary URL. + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------- | +| [302][] | HTTP Redirect | Plan export found and temporary download URL generated | +| [404][] | [JSON API error object][] | Plan export not found, or user unauthorized to perform action | + +[302]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --location \ + https://app.terraform.io/api/v2/plan-exports/pe-3yVQZvHzf5j3WRJ1/download \ + > export.tar.gz +``` + +## Delete exported plan data + +`DELETE /plan-exports/:id` + +Plan exports expire after being available for one hour, but they can be deleted manually as well. + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------- | +| [204][] | No content | Plan export deleted successfully | +| [404][] | [JSON API error object][] | Plan export not found, or user unauthorized to perform action | + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + -X DELETE \ + https://app.terraform.io/api/v2/plan-exports/pe-3yVQZvHzf5j3WRJ1 +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plans.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plans.mdx new file mode 100644 index 0000000000..aee7e4eaef --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/plans.mdx @@ -0,0 +1,203 @@ +--- +page_title: /plans API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/plans` endpoint to read a Terraform run + plan or generate JSON-formatted execution plans. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[307]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Plans API reference + +A plan represents the execution plan of a Run in a Terraform workspace. + +## Attributes + +### Plan States + +The plan state is found in `data.attributes.status`, and you can reference the following list of possible states. + +| State | Description | +| ------------------------- | ----------------------------------------------------------------------------- | +| `pending` | The initial status of a plan once it has been created. | +| `managed_queued`/`queued` | The plan has been queued, awaiting backend service capacity to run terraform. | +| `running` | The plan is running. | +| `errored` | The plan has errored. This is a final state. | +| `canceled` | The plan has been canceled. This is a final state. | +| `finished` | The plan has completed successfully. This is a final state. | +| `unreachable` | The plan will not run. This is a final state. | + +## Show a plan + +`GET /plans/:id` + +| Parameter | Description | +| --------- | --------------------------- | +| `id` | The ID of the plan to show. | + +There is no endpoint to list plans. You can find the ID for a plan in the +`relationships.plan` property of a run object. + +| Status | Response | Reason | +| ------- | --------------------------------------- | ------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "plans"`) | The request was successful | +| [404][] | [JSON API error object][] | Plan not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/plans/plan-8F5JFydVYAmtTjET +``` + +### Sample Response + +```json +{ + "data": { + "id": "plan-8F5JFydVYAmtTjET", + "type": "plans", + "attributes": { + "execution-details": { + "mode": "remote", + }, + "generated-configuration": false, + "has-changes": true, + "resource-additions": 0, + "resource-changes": 1, + "resource-destructions": 0, + "resource-imports": 0, + "status": "finished", + "status-timestamps": { + "queued-at": "2018-07-02T22:29:53+00:00", + "pending-at": "2018-07-02T22:29:53+00:00", + "started-at": "2018-07-02T22:29:54+00:00", + "finished-at": "2018-07-02T22:29:58+00:00" + }, + "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6OFA1eEdlSFVHRSs4YUcwaW83a1dRRDA0U2E3T3FiWk1HM2NyQlNtcS9JS1hHN3dmTXJmaFhEYTlHdTF1ZlgxZ2wzVC9kVTlNcjRPOEJkK050VFI3U3dvS2ZuaUhFSGpVenJVUFYzSFVZQ1VZYno3T3UyYjdDRVRPRE5pbWJDVTIrNllQTENyTndYd1Y0ak1DL1dPVlN1VlNxKzYzbWlIcnJPa2dRRkJZZGtFeTNiaU84YlZ4QWs2QzlLY3VJb3lmWlIrajF4a1hYZTlsWnFYemRkL2pNOG9Zc0ZDakdVMCtURUE3dDNMODRsRnY4cWl1dUN5dUVuUzdnZzFwL3BNeHlwbXNXZWRrUDhXdzhGNnF4c3dqaXlZS29oL3FKakI5dm9uYU5ZKzAybnloREdnQ3J2Rk5WMlBJemZQTg" + }, + "relationships": { + "state-versions": { + "data": [] + } + }, + "links": { + "self": "/api/v2/plans/plan-8F5JFydVYAmtTjET", + "json-output": "/api/v2/plans/plan-8F5JFydVYAmtTjET/json-output" + } + } +} +``` + +_Using HCP Terraform agents_ + +[HCP Terraform agents](/terraform/enterprise/api-docs/agents) allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure. When a workspace is set to use the agent execution mode, the plan response will include additional details about the agent pool and agent used. + +```json +{ + "data": { + "id": "plan-8F5JFydVYAmtTjET", + "type": "plans", + "attributes": { + "execution-details": { + "agent-id": "agent-S1Y7tcKxXPJDQAvq", + "agent-name": "agent_01", + "agent-pool-id": "apool-Zigq2VGreKq7nwph", + "agent-pool-name": "first-pool", + "mode": "agent", + }, + "generated-configuration": false, + "has-changes": true, + "resource-additions": 0, + "resource-changes": 1, + "resource-destructions": 0, + "resource-imports": 0, + "status": "finished", + "status-timestamps": { + "queued-at": "2018-07-02T22:29:53+00:00", + "pending-at": "2018-07-02T22:29:53+00:00", + "started-at": "2018-07-02T22:29:54+00:00", + "finished-at": "2018-07-02T22:29:58+00:00" + }, + "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6OFA1eEdlSFVHRSs4YUcwaW83a1dRRDA0U2E3T3FiWk1HM2NyQlNtcS9JS1hHN3dmTXJmaFhEYTlHdTF1ZlgxZ2wzVC9kVTlNcjRPOEJkK050VFI3U3dvS2ZuaUhFSGpVenJVUFYzSFVZQ1VZYno3T3UyYjdDRVRPRE5pbWJDVTIrNllQTENyTndYd1Y0ak1DL1dPVlN1VlNxKzYzbWlIcnJPa2dRRkJZZGtFeTNiaU84YlZ4QWs2QzlLY3VJb3lmWlIrajF4a1hYZTlsWnFYemRkL2pNOG9Zc0ZDakdVMCtURUE3dDNMODRsRnY4cWl1dUN5dUVuUzdnZzFwL3BNeHlwbXNXZWRrUDhXdzhGNnF4c3dqaXlZS29oL3FKakI5dm9uYU5ZKzAybnloREdnQ3J2Rk5WMlBJemZQTg" + }, + "relationships": { + "state-versions": { + "data": [] + } + }, + "links": { + "self": "/api/v2/plans/plan-8F5JFydVYAmtTjET", + "json-output": "/api/v2/plans/plan-8F5JFydVYAmtTjET/json-output" + } + } +} +``` + +## Retrieve the JSON execution plan + +`GET /plans/:id/json-output` + +`GET /runs/:id/plan/json-output` + +These endpoints generate a temporary authenticated URL to the location of the [JSON formatted execution plan](/terraform/internals/json-format#format-summary). When successful, this endpoint responds with a temporary redirect that should be followed. If using a client that can follow redirects, you can use this endpoint to save the `.json` file locally without needing to save the temporary URL. + +This temporary URL provided by the redirect has a life of **1 minute**, and should not be relied upon beyond the initial request. If you need repeat access, you should use this endpoint to generate a new URL each time. + +-> **Note:** This endpoint is available for plans using Terraform 0.12 and later. For Terraform Enterprise, this endpoint is available from v202005-1, and its stability was improved in v202007-1. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens) that has admin level access to the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------- | ---------------------------------------------------------------- | +| [204][] | No Content | Plan JSON supported, but plan has not yet completed. | +| [307][] | Temporary Redirect | Plan JSON found and temporary download URL generated | +| [422][] | [JSON API error object][] | Plan does not use a supported version of terraform (< 0.12.X) | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --location \ + https://app.terraform.io/api/v2/plans/plan-8F5JFydVYAmtTjET/json-output | + > json-output.json +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policies.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policies.mdx new file mode 100644 index 0000000000..64118b2364 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policies.mdx @@ -0,0 +1,564 @@ +--- +page_title: /policies API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/policies` endpoint to list, show, create, + upload, update, and delete Sentinel and OPA policies. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Policies API reference + +Policies are rules that HCP Terraform enforces on Terraform runs. You can use policies to validate that the Terraform plan complies with security rules and best practices. HCP Terraform policy enforcement lets you use the policy-as-code frameworks Sentinel and Open Policy Agent (OPA) to apply policy checks to HCP Terraform workspaces. Refer to [Policy Enforcement](/terraform/enterprise/policy-enforcement) for more details. + +[Policy sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) are collections of policies that you can apply globally or to specific [projects](/terraform/enterprise/projects/manage) and workspaces, in your organization. For each run in the selected workspaces, HCP Terraform checks the Terraform plan against the policy set and displays the results in the UI. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +This page documents the API endpoints to create, read, update, and delete policies in an organization. To manage policy sets, use the [Policy Sets API](/terraform/enterprise/api-docs/policy-sets). To manage the policy results, use the [Runs API](/terraform/enterprise/api-docs/run). + +## Create a Policy + +`POST /organizations/:organization_name/policies` + +| Parameter | Description | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The organization to create the policy in. The organization must already exist in the system, and the token authenticating the API request must have permission to manage policies. (([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) | + +\[permissions-citation]: #intentionally-unused---keep-for-maintainers) + +This creates a new policy object for the organization, but does not upload the actual policy code. After creation, you must use the [Upload a Policy endpoint (below)](#upload-a-policy) with the new policy's upload path. (This endpoint's response body includes the upload path in its `links.upload` property.) + +| Status | Response | Reason | +| ------- | ------------------------------------------ | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "policies"`) | Successfully created a policy | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------------------- | -------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"policies"`. | +| `data.attributes.name` | string | | The name of the policy, which can include letters, numbers, `-`, and `_`. You cannot modify this name after creation. | +| `data.attributes.description` | string | `null` | Text describing the policy's purpose. This field supports Markdown and appears in the HCP Terraform UI. | +| `data.attributes.kind` | string | `sentinel` | The policy-as-code framework for the policy. Valid values are `"sentinel"` and `"opa"`. | +| `data.attributes.query` | string | | The OPA query to run. Only valid for OPA policies. | +| `data.attributes.enforcement-level` | string | | The enforcement level of the policy. For Sentinel, valid values are `"hard-mandatory"`, `"soft-mandatory"`, and `"advisory"`. For OPA, Valid values are `"mandatory"`and `"advisory"`. Refer to [Managing Policies](/terraform/enterprise/policy-enforcement/manage-policy-sets) for details. | +| `data.attributes.enforce` | array\[object] | | **DEPRECATED** Use `enforcement-level` instead. An array of enforcement configurations that map policy file paths to their enforcement modes. Policies support a single file, so this array should consist of a single element. For Sentinel, if the path in the enforcement map does not match the Sentinel policy (`.sentinel`), then HCP Terraform uses the default `hard-mandatory` enforcement level. For OPA, the default enforcement level is `advisory`. | +| `data.attributes.enforce[].path` | string | | **DEPRECATED** For Sentinel, must be `.sentinel`, where `` has the same value as `data.attributes.name`. For OPA, must be `.rego`. | +| `data.attributes.enforce[].mode` | string | | **DEPRECATED** Use `enforcement-level` instead. The enforcement level of the policy. For Sentinel, valid values are `"hard-mandatory"`, `"soft-mandatory"`, and `"advisory"`. For OPA, Valid values are `"mandatory"`and `"advisory"`. Refer to [Managing Policies](/terraform/enterprise/policy-enforcement/manage-policy-sets) for details. | +| `data.relationships.policy-sets.data[]` | array\[object] | `[]` | A list of resource identifier objects to define which policy sets include the new policy. These objects must contain `id` and `type` properties, and the `type` property must be `policy-sets`. For example,`{ "id": "polset-3yVQZvHzf5j3WRJ1","type": "policy-sets" }`. | + +### Sample Payload (Sentinel) + +```json +{ + "data": { + "attributes": { + "enforcement-level": "hard-mandatory", + "name": "my-example-policy", + "description": "An example policy.", + "kind": "sentinel" + }, + "relationships": { + "policy-sets": { + "data": [ + { "id": "polset-3yVQZvHzf5j3WRJ1", "type": "policy-sets" } + ] + } + }, + "type": "policies" + } +} +``` + +### Sample Payload (OPA) + +-> **Note**: We have deprecated the `enforce` property in requests and responses but continue to provide it for backward compatibility. The below sample uses the deprecated `enforce` property. + +```json +{ + "data": { + "attributes": { + "enforce": [ + { + "path": "my-example-policy.rego", + "mode": "advisory" + } + ], + "name": "my-example-policy", + "description": "An example policy.", + "kind": "opa", + "query": "terraform.main" + }, + "relationships": { + "policy-sets": { + "data": [ + { "id": "polset-3yVQZvHzf5j3WRJ1", "type": "policy-sets" } + ] + } + }, + "type": "policies" + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/policies +``` + +### Sample Response (Sentinel) + +```json +{ + "data": { + "id":"pol-u3S5p2Uwk21keu1s", + "type":"policies", + "attributes": { + "name":"my-example-policy", + "description":"An example policy.", + "enforcement-level":"advisory", + "enforce": [ + { + "path":"my-example-policy.sentinel", + "mode":"advisory" + } + ], + "policy-set-count": 1, + "updated-at": null + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "policy-sets": { + "data": [ + { "id": "polset-3yVQZvHzf5j3WRJ1", "type": "policy-sets" } + ] + } + }, + "links": { + "self":"/api/v2/policies/pol-u3S5p2Uwk21keu1s", + "upload":"/api/v2/policies/pol-u3S5p2Uwk21keu1s/upload" + } + } +} +``` + +### Sample Response (OPA) + +```json +{ + "data": { + "id":"pol-u3S5p2Uwk21keu1s", + "type":"policies", + "attributes": { + "name":"my-example-policy", + "description":"An example policy.", + "kind": "opa", + "query": "terraform.main", + "enforcement-level": "advisory", + "enforce": [ + { + "path":"my-example-policy.rego", + "mode":"advisory" + } + ], + "policy-set-count": 1, + "updated-at": null + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "policy-sets": { + "data": [ + { "id": "polset-3yVQZvHzf5j3WRJ1", "type": "policy-sets" } + ] + } + }, + "links": { + "self":"/api/v2/policies/pol-u3S5p2Uwk21keu1s", + "upload":"/api/v2/policies/pol-u3S5p2Uwk21keu1s/upload" + } + } +} +``` + +## Show a Policy + +`GET /policies/:policy_id` + +| Parameter | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:policy_id` | The ID of the policy to show. Refer to [List Policies](/terraform/enterprise/api-docs/policies#list-policies) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------------------------ | ------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "policies"`) | The request was successful | +| [404][] | [JSON API error object][] | Policy not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl --request GET \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/policies/pol-oXUppaX2ximkqp8w +``` + +### Sample Response + +```json +{ + "data": { + "id": "pol-oXUppaX2ximkqp8w", + "type": "policies", + "attributes": { + "name": "my-example-policy", + "description":"An example policy.", + "kind": "sentinel", + "enforcement-level": "soft-mandatory", + "enforce": [ + { + "path": "my-example-policy.sentinel", + "mode": "soft-mandatory" + } + ], + "policy-set-count": 1, + "updated-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "policy-sets": { + "data": [ + { "id": "polset-3yVQZvHzf5j3WRJ1", "type": "policy-sets" } + ] + } + }, + "links": { + "self": "/api/v2/policies/pol-oXUppaX2ximkqp8w", + "upload": "/api/v2/policies/pol-oXUppaX2ximkqp8w/upload", + "download": "/api/v2/policies/pol-oXUppaX2ximkqp8w/download" + } + } +} +``` + +## Upload a Policy + +`PUT /policies/:policy_id/upload` + +| Parameter | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:policy_id` | The ID of the policy to upload code to. Refer to [List Policies](/terraform/enterprise/api-docs/policies#list-policies) for reference information about finding the policy ID. The ID also appears in the response when you create a policy. | + +This endpoint uploads code to an existing Sentinel or OPA policy. + +-> **Note**: This endpoint does not use JSON-API's conventions for HTTP headers and body serialization. + +-> **Note**: This endpoint limits the size of uploaded policies to 10MB. If a larger payload is uploaded, an HTTP 413 error will be returned, and the policy will not be saved. Consider refactoring policies into multiple smaller, more concise documents if you reach this limit. + +### Request Body + +This PUT endpoint requires the text of a valid Sentinel or OPA policy with a `Content-Type` of `application/octet-stream`. + +- Refer to [Defining Sentinel Policies](/terraform/enterprise/policy-enforcement/sentinel) for details about writing Sentinel code. +- Refer to [Defining OPA Policies](/terraform/enterprise/policy-enforcement/opa) for details about writing OPA code. + +### Sample Payload + +```plain +main = rule { true } +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @payload.file \ + https://app.terraform.io/api/v2/policies/pol-u3S5p2Uwk21keu1s/upload +``` + +## Update a Policy + +`PATCH /policies/:policy_id` + +| Parameter | Description | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:policy_id` | The ID of the policy to update. Refer to [List Policies](/terraform/enterprise/api-docs/policies#list-policies) for reference information about finding IDs. | + +This endpoint can update the enforcement mode of an existing policy. To update the policy code itself, use the upload endpoint. + +| Status | Response | Reason | +| ------- | ------------------------------------------ | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "policies"`) | Successfully updated the policy | +| [404][] | [JSON API error object][] | Policy not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------------- | -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"policies"`. | +| `data.attributes.description` | string | `null` | Text describing the policy's purpose. This field supports Markdown and appears in the HCP Terraform UI. | +| `data.attributes.query` | string | | The OPA query to run. This is only valid for OPA policies. | +| `data.attributes.enforcement-level` | string | | The enforcement level of the policy. For Sentinel, valid values are `"hard-mandatory"`, `"soft-mandatory"`, and `"advisory"`. For OPA, Valid values are `"mandatory"`and `"advisory"`. Refer to [Managing Policies](/terraform/enterprise/policy-enforcement/manage-policy-sets) for details. | +| `data.attributes.enforce` | array\[object] | | **DEPRECATED** Use `enforcement-level` instead. An array of enforcement configurations that map policy file paths to their enforcement modes. Policies support a single file, so this array should consist of a single element. For Sentinel, if the path in the enforcement map does not match the Sentinel policy (`.sentinel`), then HCP Terraform uses the default `hard-mandatory` enforcement level. For OPA, the default enforcement level is `advisory`. | +| `data.attributes.enforce[].path` | string | | **DEPRECATED** For Sentinel, must be `.sentinel`, where `` has the same value as `data.attributes.name`. For OPA, must be `.rego`. | +| `data.attributes.enforce[].mode` | string | | **DEPRECATED** Use `enforcement-level` instead. The enforcement level of the policy. For Sentinel, valid values are `"hard-mandatory"`, `"soft-mandatory"`, and `"advisory"`. For OPA, Valid values are `"mandatory"`and `"advisory"`. Refer to [Managing Policies](/terraform/enterprise/policy-enforcement/manage-policy-sets) for details. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "enforcement-level": "soft-mandatory" + }, + "type":"policies" + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/policies/pol-u3S5p2Uwk21keu1s +``` + +### Sample Response + +```json +{ + "data": { + "id":"pol-u3S5p2Uwk21keu1s", + "type":"policies", + "attributes": { + "name":"my-example-policy", + "description":"An example policy.", + "kind": "sentinel", + "enforcement-level": "soft-mandatory", + "enforce": [ + { + "path":"my-example-policy.sentinel", + "mode":"soft-mandatory" + } + ], + "policy-set-count": 0, + "updated-at":"2017-10-10T20:58:04.621Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + }, + "links": { + "self":"/api/v2/policies/pol-u3S5p2Uwk21keu1s", + "upload":"/api/v2/policies/pol-u3S5p2Uwk21keu1s/upload", + "download":"/api/v2/policies/pol-u3S5p2Uwk21keu1s/download" + } + } +} +``` + +## List Policies + +`GET /organizations/:organization_name/policies` + +| Parameter | Description | +| -------------------- | -------------------------------------- | +| `:organization_name` | The organization to list policies for. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | -------------------------------------------------------------- | +| [200][] | Array of [JSON API document][]s (`type: "policies"`) | Success | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | | +| -------------- | --------------------------------------------------------------------------------------------------------------------------------- | - | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 policies per page. | | +| `search[name]` | **Optional.** Allows searching the organization's policies by name. | | +| `filter[kind]` | **Optional.** If specified, restricts results to those with the matching policy kind value. Valid values are `sentinel` and `opa` | | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-organization/policies +``` + +### Sample Response + +```json +{ + "data": [ + { + "attributes": { + "enforcement-level": "advisory", + "enforce": [ + { + "mode": "advisory", + "path": "my-example-policy.sentinel" + } + ], + "name": "my-example-policy", + "description": "An example policy.", + "policy-set-count": 0, + "updated-at": "2017-10-10T20:52:13.898Z", + "kind": "sentinel" + }, + "id": "pol-u3S5p2Uwk21keu1s", + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + }, + "links": { + "download": "/api/v2/policies/pol-u3S5p2Uwk21keu1s/download", + "self": "/api/v2/policies/pol-u3S5p2Uwk21keu1s", + "upload": "/api/v2/policies/pol-u3S5p2Uwk21keu1s/upload" + }, + "type": "policies" + }, + { + "id":"pol-vM2rBfj7V2Faq8By", + "type":"policies", + "attributes":{ + "name":"policy1", + "description":null, + "enforcement-level": "advisory", + "enforce":[ + { + "path":"policy1.rego", + "mode":"advisory" + } + ], + "policy-set-count":1, + "updated-at":"2022-09-13T04:57:43.516Z", + "kind":"opa", + "query":"data.terraform.rules.policy1.rule" + }, + "relationships":{ + "organization":{ + "data":{ + "id":"hashicorp", + "type":"organizations" + } + }, + "policy-sets":{ + "data":[ + { + "id":"polset-FYu3k5WY5eecwwdt", + "type":"policy-sets" + } + ] + } + }, + "links":{ + "self":"/api/v2/policies/pol-vM2rBfj7V2Faq8By", + "upload":"/api/v2/policies/pol-vM2rBfj7V2Faq8By/upload", + "download":"/api/v2/policies/pol-vM2rBfj7V2Faq8By/download" + } + } + ] +} +``` + +## Delete a Policy + +`DELETE /policies/:policy_id` + +| Parameter | Description | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:policy_id` | The ID of the policy to delete. Refer to [List Policies](/terraform/enterprise/api-docs/policies#list-policies) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------- | +| [204][] | No Content | Successfully deleted the policy | +| [404][] | [JSON API error object][] | Policy not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/policies/pl-u3S5p2Uwk21keu1s +``` + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| ------------- | ------------------------------------------------------ | +| `policy_sets` | Policy sets that any returned policies are members of. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-checks.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-checks.mdx new file mode 100644 index 0000000000..621f40d368 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-checks.mdx @@ -0,0 +1,265 @@ +--- +page_title: /policy-checks API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/policy-checks` endpoint to manage and + override the Sentinel policy checks that HCP Terraform performs during a run. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Policy checks API reference + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Policy checks are the default workflow for Sentinel. Policy checks use the latest version of the Sentinel runtime and have access to cost estimation data. +This set of APIs provides endpoints to get, list, and override policy checks. + +~> **Warning:** Policy checks are deprecated and will be permanently removed in August 2025. We recommend that you start using policy evaluations to avoid disruptions. + +## List Policy Checks + +This endpoint lists the policy checks in a run. + +-> **Note**: The `sentinel` hash in the `result` attribute structure represents low-level Sentinel details generated by the policy engine. The keys or structure may change over time. Use the data in this hash at your own risk. + +`GET /runs/:run_id/policy-checks` + +| Parameter | Description | +| --------- | -------------------------------------------- | +| `run_id` | The ID of the run to list policy checks for. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. + +| Parameter | Description | +| -------------- | ----------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 policy checks per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/runs/run-CZcmD7eagjhyXavN/policy-checks +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "polchk-9VYRc9bpfJEsnwum", + "type": "policy-checks", + "attributes": { + "result": { + "result": false, + "passed": 0, + "total-failed": 1, + "hard-failed": 0, + "soft-failed": 1, + "advisory-failed": 0, + "duration-ms": 0, + "sentinel": {...} + }, + "scope": "organization", + "status": "soft_failed", + "status-timestamps": { + "queued-at": "2017-11-29T20:02:17+00:00", + "soft-failed-at": "2017-11-29T20:02:20+00:00" + }, + "actions": { + "is-overridable": true + }, + "permissions": { + "can-override": false + } + }, + "relationships": { + "run": { + "data": { + "id": "run-veDoQbv6xh6TbnJD", + "type": "runs" + } + } + }, + "links": { + "output": "/api/v2/policy-checks/polchk-9VYRc9bpfJEsnwum/output" + } + } + ] +} +``` + +## Show Policy Check + +This endpoint gets information about a specific policy check ID. Policy check IDs can appear in audit logs. + +-> **Note**: The `sentinel` hash in the `result` attribute structure represents low-level Sentinel details generated by the policy engine. The keys or structure may change over time. Use the data in this hash at your own risk. + +`GET /policy-checks/:id` + +| Parameter | Description | +| --------- | ----------------------------------- | +| `id` | The ID of the policy check to show. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/policy-checks/polchk-9VYRc9bpfJEsnwum +``` + +### Sample Response + +```json +{ + "data": { + "id": "polchk-9VYRc9bpfJEsnwum", + "type": "policy-checks", + "attributes": { + "result": { + "result": false, + "passed": 0, + "total-failed": 1, + "hard-failed": 0, + "soft-failed": 1, + "advisory-failed": 0, + "duration-ms": 0, + "sentinel": {...} + }, + "scope": "organization", + "status": "soft_failed", + "status-timestamps": { + "queued-at": "2017-11-29T20:02:17+00:00", + "soft-failed-at": "2017-11-29T20:02:20+00:00" + }, + "actions": { + "is-overridable": true + }, + "permissions": { + "can-override": false + } + }, + "relationships": { + "run": { + "data": { + "id": "run-veDoQbv6xh6TbnJD", + "type": "runs" + } + } + }, + "links": { + "output": "/api/v2/policy-checks/polchk-9VYRc9bpfJEsnwum/output" + } + } +} +``` + +## Override Policy + +This endpoint overrides a soft-mandatory or warning policy. + +-> **Note**: The `sentinel` hash in the `result` attribute structure represents low-level Sentinel details generated by the policy engine. The keys or structure may change over time. Use the data in this hash at your own risk. + +`POST /policy-checks/:id/actions/override` + +| Parameter | Description | +| --------- | --------------------------------------- | +| `id` | The ID of the policy check to override. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/policy-checks/polchk-EasPB4Srx5NAiWAU/actions/override +``` + +### Sample Response + +```json +{ + "data": { + "id": "polchk-EasPB4Srx5NAiWAU", + "type": "policy-checks", + "attributes": { + "result": { + "result": false, + "passed": 0, + "total-failed": 1, + "hard-failed": 0, + "soft-failed": 1, + "advisory-failed": 0, + "duration-ms": 0, + "sentinel": {...} + }, + "scope": "organization", + "status": "overridden", + "status-timestamps": { + "queued-at": "2017-11-29T20:13:37+00:00", + "soft-failed-at": "2017-11-29T20:13:40+00:00", + "overridden-at": "2017-11-29T20:14:11+00:00" + }, + "actions": { + "is-overridable": true + }, + "permissions": { + "can-override": false + } + }, + "links": { + "output": "/api/v2/policy-checks/polchk-EasPB4Srx5NAiWAU/output" + } + } +} +``` + +### Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| --------------- | ------------------------------------- | +| `run` | The run this policy check belongs to. | +| `run.workspace` | The associated workspace of the run. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-evaluations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-evaluations.mdx new file mode 100644 index 0000000000..9733bfbed1 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-evaluations.mdx @@ -0,0 +1,288 @@ +--- +page_title: /policy-evaluations API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/policy-evaluations` endpoint to read + policy outcomes and evaluations from Sentinel and OPA policies that HCP + Terraform performs during a Terraform run. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Policy evaluations API reference + +Policy evaluations are run within the [HCP Terraform agents](/terraform/enterprise/api-docs/agents) in HCP Terraform's infrastructure. Policy evaluations do not have access to cost estimation data. +This set of APIs provides endpoints to list and get policy evaluations and policy outcomes. + +## List Policy Evaluations in the Task Stage + +Each run passes through several stages of action (pending, plan, policy check, apply, and completion), and shows the progress through those stages as [run states](/terraform/enterprise/run/states). +This endpoint allows you to list policy evaluations that are part of the task stage. + +`GET /task-stages/:task_stage_id/policy-evaluations` + +| Parameter | Description | +| ---------------- | ------------------------- | +| `:task_stage_id` | The task stage ID to get. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------- | +| [200][] | [JSON API document][] | Success | +| [404][] | [JSON API error object][] | Task stage not found | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling does not automatically encode URLs. + +| Parameter | Description | +| -------------- | ----------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint returns the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint returns 20 agent pools per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/task-stages/ts-rL5ZsuwfjqfPJcdi/policy-evaluations +``` + +### Sample Response + +```json +{ + "data":[ + { + "id":"poleval-8Jj9Hfoz892D9WMX", + "type":"policy-evaluations", + "attributes":{ + "status":"passed", + "policy-kind":"opa", + "policy-tool-version": "0.44.0", + "result-count": { + "advisory-failed":0, + "errored":0, + "mandatory-failed":0, + "passed":1 + } + "status-timestamps":{ + "passed-at":"2022-09-16T01:40:30+00:00", + "queued-at":"2022-09-16T01:40:04+00:00", + "running-at":"2022-09-16T01:40:08+00:00" + }, + "created-at":"2022-09-16T01:39:07.782Z", + "updated-at":"2022-09-16T01:40:30.010Z" + }, + "relationships":{ + "policy-attachable":{ + "data":{ + "id":"ts-yxskot8Gz5yHa38W", + "type":"task-stages" + } + }, + "policy-set-outcomes":{ + "links":{ + "related":"/api/v2/policy-evaluations/poleval-8Jj9Hfoz892D9WMX/policy-set-outcomes" + } + } + }, + "links":{ + "self":"/api/v2/policy-evaluations/poleval-8Jj9Hfoz892D9WMX" + } + } + ] +} +``` + +## List Policy Outcomes + +`GET /policy-evaluations/:policy_evaluation_id/policy-set-outcomes` + +| Parameter | Description | +| ----------------------- | ---------------------------------------------------------- | +| `:policy_evaluation_id` | The ID of the policy evaluation the outcome belongs to get | + +This endpoint allows you to list policy set outcomes that are part of the policy evaluation. + +| Status | Response | Reason | +| ------- | ------------------------- | --------------------------- | +| [200][] | [JSON API document][] | Success | +| [404][] | [JSON API error object][] | Policy evaluation not found | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling does not automatically encode URLs. + +| Parameter | Description | +| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint returns the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint returns 20 policy sets per page. | +| `filter[n][status]` | **Optional.** If omitted, the endpoint returns all policies regardless of status. Must be either "passed", "failed", or "errored". | +| `filter[n][enforcementLevel]` | **Optional.** Only used if paired with a non-errored status filter. Must be either "advisory" or "mandatory." | + +-> **Note**: You can use `filter[n]` to combine combinations of statuses and enforcement levels. Policy outcomes with an errored status do not have an enforcement level. + +### Sample Request + +The following example requests demonstrate how to call the `policy-set-outcomes` endpoint using cuRL. + +#### All Policy Outcomes + +The following example call returns all policy set outcomes. + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/policy-evaluations/poleval-8Jj9Hfoz892D9WMX/policy-set-outcomes +``` + +#### Failed and Errored Policy Outcomes + +The following example call filters the response so that it only contains failed outcomes and errors. + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/policy-evaluations/poleval-8Jj9Hfoz892D9WMX/policy-set-outcomes?filter[0][status]=errored&filter[1][status]=failed&filter[1][enforcementLevel]=mandatory +``` + +### Sample Response + +The following example response shows that the `policyVCS` policy failed. + +```json +{ + "data":[ + { + "id":"psout-cu8E9a97LBepZZXd", + "type":"policy-set-outcomes", + "attributes":{ + "outcomes":[ + { + "enforcement_level":"advisory", + "query":"data.terraform.main.main", + "status":"failed", + "policy_name":"policyVCS", + "description":"" + } + ], + "error":"", + "overridable":true, + "policy-set-name":"opa-policies-vcs", + "policy-set-description":null, + "result-count":{ + "advisory-failed":1, + "errored":0, + "mandatory-failed":0, + "passed":0 + }, + "policy-tool-version": "0.54.0" + }, + "relationships":{ + "policy-evaluation":{ + "data":{ + "id":"poleval-8Jj9Hfoz892D9WMX", + "type":"policy-evaluations" + } + } + } + } + ], + "links":{ + "self":"/api/v2/policy-evaluations/poleval-8Jj9Hfoz892D9WMX/policy-set-outcomes?page%5Bnumber%5D=1\u0026page%5Bsize%5D=20", + "first":"/api/v2/policy-evaluations/poleval-8Jj9Hfoz892D9WMX/policy-set-outcomes?page%5Bnumber%5D=1\u0026page%5Bsize%5D=20", + "prev":null, + "next":null, + "last":"/api/v2/policy-evaluations/poleval-8Jj9Hfoz892D9WMX/policy-set-outcomes?page%5Bnumber%5D=1\u0026page%5Bsize%5D=20" + }, + "meta":{ + "pagination":{ + "current-page":1, + "page-size":20, + "prev-page":null, + "next-page":null, + "total-pages":1, + "total-count":1 + } + } +} +``` + +## Show a Policy Outcome + +`GET /policy-set-outcomes/:policy_set_outcome_id` + +| Parameter | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `:policy_set_outcome_id` | The ID of the policy outcome to show. Refer to [List the Policy Outcomes](#list-policy-outcomes) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------------- | +| [200][] | [JSON API document][] | The request was successful | +| [404][] | [JSON API error object][] | Policy set outcome not found or user unauthorized to perform action | + +### Sample Request + +The following example request gets the outcomes for the `psout-cu8E9a97LBepZZXd` policy set. + +```shell +curl --request GET \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/policy-set-outcomes/psout-cu8E9a97LBepZZXd +``` + +### Sample Response + +The following example response shows that the `policyVCS` policy failed. + +```json +{ + "data":{ + "id":"psout-cu8E9a97LBepZZXd", + "type":"policy-set-outcomes", + "attributes":{ + "outcomes":[ + { + "enforcement_level":"advisory", + "query":"data.terraform.main.main", + "status":"failed", + "policy_name":"policyVCS", + "description":"" + } + ], + "error":"", + "overridable":true, + "policy-set-name":"opa-policies-vcs", + "policy-set-description":null, + "result-count":{ + "advisory-failed":1, + "errored":0, + "mandatory-failed":0, + "passed":0 + }, + "policy-tool-version": "0.54.0" + }, + "relationships":{ + "policy-evaluation":{ + "data":{ + "id":"poleval-8Jj9Hfoz892D9WMX", + "type":"policy-evaluations" + } + } + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-set-params.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-set-params.mdx new file mode 100644 index 0000000000..4065a72ca9 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-set-params.mdx @@ -0,0 +1,290 @@ +--- +page_title: /parameters API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/parameters` endpoint to manage the + key/value pairs that Sentinel uses for policy checks. Read, create, update, + and delete parameters. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Policy set parameters API references + +[Sentinel parameters](/sentinel/docs/language/parameters) are a list of key/value pairs that HCP Terraform sends to the Sentinel runtime when performing policy checks on workspaces. They can help you avoid hardcoding sensitive parameters into a policy. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Parameters are only available for Sentinel policies. This set of APIs provides endpoints to create, update, list and delete parameters. + +## Create a Parameter + +`POST /policy-sets/:policy_set_id/parameters` + +| Parameter | Description | +| ---------------- | ---------------------------------------------------- | +| `:policy_set_id` | The ID of the policy set to create the parameter in. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------ | +| `data.type` | string | | Must be `"vars"`. | +| `data.attributes.key` | string | | The name of the parameter. | +| `data.attributes.value` | string | `""` | The value of the parameter. | +| `data.attributes.category` | string | | The category of the parameters. Must be `"policy-set"`. | +| `data.attributes.sensitive` | bool | `false` | Whether the value is sensitive. If true then the parameter is written once and not visible thereafter. | + +### Sample Payload + +```json +{ + "data": { + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "category":"policy-set", + "sensitive":false + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s/parameters +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-EavQ1LztoRTQHSNT", + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "sensitive":false, + "category":"policy-set" + }, + "relationships": { + "configurable": { + "data": { + "id":"pol-u3S5p2Uwk21keu1s", + "type":"policy-sets" + }, + "links": { + "related":"/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s" + } + } + }, + "links": { + "self":"/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s/parameters/var-EavQ1LztoRTQHSNT" + } + } +} +``` + +## List Parameters + +`GET /policy-sets/:policy_set_id/parameters` + +| Parameter | Description | +| ---------------- | ------------------------------------------------ | +| `:policy_set_id` | The ID of the policy set to list parameters for. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. + +| Parameter | Description | +| -------------- | -------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 parameters per page. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ +"https://app.terraform.io/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s/parameters" +``` + +### Sample Response + +```json +{ + "data": [ + { + "id":"var-AD4pibb9nxo1468E", + "type":"vars", + "attributes": { + "key":"name", + "value":"hello", + "sensitive":false, + "category":"policy-set", + }, + "relationships": { + "configurable": { + "data": { + "id":"pol-u3S5p2Uwk21keu1s", + "type":"policy-sets" + }, + "links": { + "related":"/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s" + } + } + }, + "links": { + "self":"/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s/parameters/var-AD4pibb9nxo1468E" + } + } + ] +} +``` + +## Update Parameters + +`PATCH /policy-sets/:policy_set_id/parameters/:parameter_id` + +| Parameter | Description | +| ---------------- | ------------------------------------------------- | +| `:policy_set_id` | The ID of the policy set that owns the parameter. | +| `:parameter_id` | The ID of the parameter to be updated. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------- | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.id` | string | | The ID of the parameter to update. | +| `data.attributes` | object | | New attributes for the parameter. This object can include `key`, `value`, `category` and `sensitive` properties, which are described above under [create a parameter](#create-a-parameter). All of these properties are optional; if omitted, a property will be left unchanged. | + +### Sample Payload + +```json +{ + "data": { + "id":"var-yRmifb4PJj7cLkMG", + "attributes": { + "key":"name", + "value":"mars", + "category":"policy-set", + "sensitive": false + }, + "type":"vars" + } +} +``` + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s/parameters/var-yRmifb4PJj7cLkMG +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-yRmifb4PJj7cLkMG", + "type":"vars", + "attributes": { + "key":"name", + "value":"mars", + "sensitive":false, + "category":"policy-set", + }, + "relationships": { + "configurable": { + "data": { + "id":"pol-u3S5p2Uwk21keu1s", + "type":"policy-sets" + }, + "links": { + "related":"/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s" + } + } + }, + "links": { + "self":"/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s/parameters/var-yRmifb4PJj7cLkMG" + } + } +} +``` + +## Delete Parameters + +`DELETE /policy-sets/:policy_set_id/parameters/:parameter_id` + +| Parameter | Description | +| ---------------- | ------------------------------------------------- | +| `:policy_set_id` | The ID of the policy set that owns the parameter. | +| `:parameter_id` | The ID of the parameter to be deleted. | + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/policy-sets/polset-u3S5p2Uwk21keu1s/parameters/var-yRmifb4PJj7cLkMG +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-sets.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-sets.mdx new file mode 100644 index 0000000000..a0e73b0a9e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/policy-sets.mdx @@ -0,0 +1,1298 @@ +--- +page_title: /policy-sets API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/policy-sets` endpoint to read, create, + delete, update and version Sentinel and OPA policy sets. Also, attach, + exclude, and detach policy sets to workspaces and projects. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Policy sets API reference + +[Policy Enforcement](/terraform/enterprise/policy-enforcement) lets you use the policy-as-code frameworks Sentinel and Open Policy Agent (OPA) to apply policy checks to HCP Terraform workspaces. + +[Policy sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) are collections of policies that you can apply globally or to specific [projects](/terraform/enterprise/projects/manage) and workspaces. For each run in the selected workspaces, HCP Terraform checks the Terraform plan against the policy set. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +This API provides endpoints to create, read, update, and delete policy sets in an HCP Terraform organization. To view and manage individual policies, use the [Policies API](/terraform/enterprise/api-docs/policies). + +Many of these endpoints let you create policy sets from a designated repository in a Version Control System (VCS). For more information about how to configure a policy set VCS repository, refer to [Sentinel Policy Set VCS Repositories](/terraform/enterprise/policy-enforcement/sentinel/vcs) and [OPA Policy Set VCS Repositories](/terraform/enterprise/policy-enforcement/opa/vcs). + +Instead of connecting HCP Terraform to a VCS repository, you can use the the [Policy Set Versions endpoint](#create-a-policy-set-version) to create an entire policy set from a `tar.gz` file. + +Interacting with policy sets requires permission to manage policies. ([More about permissions](/terraform/enterprise/users-teams-organizations/permissions).) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Create a policy set + +`POST /organizations/:organization_name/policy-sets` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The organization to create the policy set in. The organization must already exist in the system, and the token authenticating the API request must have permission to manage policies. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | --------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "policy-sets"`) | Successfully created a policy set | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------------------------------- | -------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"policy-sets"`. | +| `data.attributes.name` | string | | The name of the policy set. Can include letters, numbers, `-`, and `_`. | +| `data.attributes.description` | string | `null` | Text describing the policy set's purpose. This field supports Markdown and appears in the HCP Terraform UI. | +| `data.attributes.global` | boolean | `false` | Whether HCP Terraform should automatically apply this policy set to all of an organization's workspaces. | +| `data.attributes.kind` | string | `sentinel` | The policy-as-code framework associated with the policy. Valid values are `sentinel` and `opa`. | +| `data.attributes.overridable` | boolean | `false` | Whether or not users can override this policy when it fails during a run. Valid for sentinel policies only if `agent-enabled` is set to `true`. | +| `data.attributes.vcs-repo` | object | `null` | VCS repository information. When present, HCP Terraform sources the policies and configuration from the specified VCS repository. This attribute and `policies` relationships are mutually exclusive, and you cannot use them simultaneously. | +| `data.attributes.vcs-repo.branch` | string | `null` | The branch of the VCS repository where HCP Terraform should retrieve the policy set. If empty, HCP Terraform uses the default branch. | +| `data.attributes.vcs-repo.identifier` | string | | The VCS repository identifier in the format `/`. For example, `hashicorp/my-policy-set`. The format for Azure DevOps is `//_git/`. | +| `data.attributes.vcs-repo.oauth-token-id` | string | | The OAuth Token ID HCP Terraform should use to connect to the VCS host. This value must not be specified if `github-app-installation-id` is specified. | +| `data.attributes.vcs-repo.github-app-installation-id` | string | | The VCS Connection GitHub App Installation to use. Find this ID on the account settings page. Requires previously authorizing the GitHub App and generating a user-to-server token. Manage the token from **Account Settings** within HCP Terraform. You can not specify this value if `oauth-token-id` is specified. | +| `data.attributes.vcs-repo.ingress-submodules` | boolean | `false` | Whether HCP Terraform should instantiate repository submodules when retrieving the policy set. | +| `data.attributes.policies-path` | string | `null` | The VCS repository subdirectory that contains the policies for this policy set. HCP Terraform ignores files and directories outside of this sub-path and does not update the policy set when those files change. This attribute is only valid when you specify a VCS repository for the policy set. | +| `data.relationships.projects.data[]` | array\[object] | `[]` | A list of resource identifier objects that defines which projects are associated with the policy set. These objects must contain `id` and `type` properties, and the `type` property must be `projects`. For example, `{ "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }`. You can only specify this attribute when `data.attributes.global` is `false`. | +| `data.relationships.workspaces.data[]` | array\[object] | `[]` | A list of resource identifier objects that defines which workspaces are associated with the policy set. These objects must contain `id` and `type` properties, and the `type` property must be `workspaces`. For example, `{ "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" }`. Obtain workspace IDs from the [workspace's settings page](/terraform/enterprise/workspaces/settings) or the [Show Workspace endpoint](/terraform/enterprise/api-docs/workspaces#show-workspace). You can only specify this attribute when `data.attributes.global` is `false`. | +| `data.relationships.workspace-exclusions.data[]` | array\[object] | `[]` | A list of resource identifier objects specifying which workspaces HCP Terraform excludes from a policy set's enforcement. These objects must contain `id` and `type` properties, and the `type` property must be `workspaces`. For example, `{ "id": "ws-FVVvzCDaykN1oHiw", "type": "workspaces" }`. | +| `data.relationships.policies.data[]` | array\[object] | `[]` | A list of resource identifier objects that defines which policies are members of the policy set. These objects must contain `id` and `type` properties, and the `type` property must be `policies`. For example, `{ "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" }`. | +| `data.attributes.agent-enabled` | boolean | `false` | Only valid for `sentinel` policy sets. Whether this policy set should run as a policy evaluation in the HCP Terraform agent. | +| `data.attributes.policy-tool-version` | string | `latest` | The version of the tool that HCP Terraform uses to evaluate policies. You can only set a policy tool version for 'sentinel' policy sets if `agent-enabled` is `true`. | + +### Sample Payload + +```json +{ + "data": { + "type": "policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "global": false, + "kind": "sentinel", + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "policies-path": "/policy-sets/foo", + "vcs-repo": { + "branch": "main", + "identifier": "hashicorp/my-policy-sets", + "ingress-submodules": false, + "oauth-token-id": "ot-7Fr9d83jWsi8u23A" + } + }, + "relationships": { + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + }, + "workspace-exclusions": { + "data": [ + { "id": "ws-FVVvzCDaykN1oHiw", "type": "workspaces" } + ] + } + } + } +} +``` + +### Sample payload with individual policy relationships + +```json +{ + "data": { + "type": "policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "kind": "sentinel", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true + }, + "relationships": { + "policies": { + "data": [ + { "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/policy-sets +``` + +### Sample Response + +```json +{ + "data": { + "id":"polset-3yVQZvHzf5j3WRJ1", + "type":"policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "kind": "sentinel", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "workspace-count": 1, + "policies-path": "/policy-sets/foo", + "versioned": true, + "vcs-repo": { + "branch": "main", + "identifier": "hashicorp/my-policy-sets", + "ingress-submodules": false, + "oauth-token-id": "ot-7Fr9d83jWsi8u23A" + }, + "created-at": "2018-09-11T18:21:21.784Z", + "updated-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + }, + "workspace-exclusions": { + "data": [ + { "id": "ws-FVVvzCDaykN1oHiw", "type": "workspaces" } + ] + }, + }, + "links": { + "self":"/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1" + } + } +} +``` + +### Sample response with individual policy relationships + +```json +{ + "data": { + "id":"polset-3yVQZvHzf5j3WRJ1", + "type":"policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "kind": "sentinel", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "policy-count": 1, + "workspace-count": 1, + "versioned": false, + "created-at": "2018-09-11T18:21:21.784Z", + "updated-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "policies": { + "data": [ + { "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + } + }, + "links": { + "self":"/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1" + } + } +} +``` + +## List policy sets + +`GET /organizations/:organization_name/policy-sets` + +| Parameter | Description | +| -------------------- | ----------------------------------------- | +| `:organization_name` | The organization to list policy sets for. | + +| Status | Response | Reason | +| ------- | --------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "policy-sets"`) | Request was successful | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `filter[versioned]` | **Optional.** Allows filtering policy sets based on whether they are versioned (VCS-managed or API-managed), or use individual policy relationships. Accepts a boolean true/false value. A `true` value returns versioned sets, and a `false` value returns sets with individual policy relationships. If omitted, all policy sets are returned. | +| `filter[kind]` | **Optional.** If specified, restricts results to those with the matching policy kind value. Valid values are `sentinel` and `opa`. | +| `include` | **Optional.** Enables you to include related resource data. Value must be a comma-separated list containing one or more of `projects`, `workspaces`, `workspace-exclusions`, `policies`, `newest_version`, or `current_version`. See the [relationships section](#relationships) for details. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 policy sets per page. | +| `search[name]` | **Optional.** Allows searching the organization's policy sets by name. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-organization/policy-sets +``` + +### Sample Response + +```json +{ + "data": [ + { + "id":"polset-3yVQZvHzf5j3WRJ1", + "type":"policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "kind": "sentinel", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "workspace-count": 1, + "policies-path": "/policy-sets/foo", + "versioned": true, + "vcs-repo": { + "branch": "main", + "identifier": "hashicorp/my-policy-sets", + "ingress-submodules": false, + "oauth-token-id": "ot-7Fr9d83jWsi8u23A" + }, + "created-at": "2018-09-11T18:21:21.784Z", + "updated-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + }, + "workspace-exclusions": { + "data": [ + { "id": "ws-FVVvzCDaykN1oHiw", "type": "workspaces" } + ] + }, + }, + "links": { + "self":"/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1" + } + } + ] +} +``` + +### Sample response with individual policy relationships + +```json +{ + "data": [ + { + "id":"polset-3yVQZvHzf5j3WRJ1", + "type":"policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "kind": "sentinel", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "policy-count": 1, + "workspace-count": 1, + "versioned": false, + "created-at": "2018-09-11T18:21:21.784Z", + "updated-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "policies": { + "data": [ + { "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + } + }, + "links": { + "self":"/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1" + } + }, + ] +} +``` + +## Show a policy set + +`GET /policy-sets/:id` + +| Parameter | Description | +| --------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to show. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | --------------------------------------------- | ----------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "policy-sets"`) | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | + +| Parameter | Description | +| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `include` | **Optional.** Enables you to include related resource data. Value must be a comma-separated list containing one or more of `projects`, `workspaces`, `workspace-exclusions`, `policies`, `newest_version`, or `current_version`. See the [relationships section](#relationships) for details. | + +### Sample Request + +```shell +curl --request GET \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1?include=current_version +``` + +### Sample Response + +```json +{ + "data": { + "id":"polset-3yVQZvHzf5j3WRJ1", + "type":"policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "kind": "sentinel", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "policy-count": 0, + "workspace-count": 1, + "policies-path": "/policy-sets/foo", + "versioned": true, + "vcs-repo": { + "branch": "main", + "identifier": "hashicorp/my-policy-sets", + "ingress-submodules": false, + "oauth-token-id": "ot-7Fr9d83jWsi8u23A" + }, + "created-at": "2018-09-11T18:21:21.784Z", + "updated-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "current-version": { + "data": { + "id": "polsetver-m4yhbUBCgyDVpDL4", + "type": "policy-set-versions" + } + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + }, + "workspace-exclusions": { + "data": [ + { "id": "ws-FVVvzCDaykN1oHiw", "type": "workspaces" } + ] + }, + }, + "links": { + "self":"/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1" + } + }, + "included": [ + { + "id": "polsetver-m4yhbUBCgyDVpDL4", + "type": "policy-set-versions", + "attributes": { + "source": "github", + "status": "ready", + "status-timestamps": { + "ready-at": "2019-06-21T21:29:48+00:00", + "ingressing-at": "2019-06-21T21:29:47+00:00" + }, + "error": null, + "ingress-attributes": { + "commit-sha": "8766a423cb902887deb0f7da4d9beaed432984bb", + "commit-url": "https://github.com/hashicorp/my-policy-sets/commit/8766a423cb902887deb0f7da4d9beaed432984bb", + "identifier": "hashicorp/my-policy-sets" + }, + "created-at": "2019-06-21T21:29:47.792Z", + "updated-at": "2019-06-21T21:29:48.887Z" + }, + "relationships": { + "policy-set": { + "data": { + "id": "polset-a2mJwtmKygrA11dh", + "type": "policy-sets" + } + } + }, + "links": { + "self": "/api/v2/policy-set-versions/polsetver-E4S7jz8HMjBienLS" + } + } + ] +} +``` + +### Sample response with individual policy relationships + +```json +{ + "data": { + "id":"polset-3yVQZvHzf5j3WRJ1", + "type":"policy-sets", + "attributes": { + "name": "production", + "description": "This set contains policies that should be checked on all production infrastructure workspaces.", + "kind": "sentinel", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "policy-count": 1, + "workspace-count": 1, + "versioned": false, + "created-at": "2018-09-11T18:21:21.784Z", + "updated-at": "2018-09-11T18:21:21.784Z", + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "policies": { + "data": [ + { "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + } + }, + "links": { + "self":"/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1" + } + } +} +``` + +-> **Note:** The `data.relationships.projects` and `data.relationships.workspaces` refer to the projects and workspaces attached to the policy set. HCP Terraform omits these keys for policy sets marked as global, which are implicitly related to all of the organization's workspaces. + +## Update a policy set + +`PATCH /policy-sets/:id` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to update. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | --------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "policy-sets"`) | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------------------------- | -------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"policy-sets"`. | +| `data.attributes.name` | string | (previous value) | The name of the policy set. Can include letters, numbers, `-`, and `_`. | +| `data.attributes.description` | string | (previous value) | A description of the set's purpose. This field supports markdown and appears in the HCP Terraform UI. | +| `data.attributes.global` | boolean | (previous value) | Whether or not the policies in this set should be checked in all of the organization's workspaces or only in workspaces directly attached to the set. | +| `data.attributes.vcs-repo` | object | (previous value) | VCS repository information. When present, HCP Terraform sources the policies and configuration from the specified VCS repository instead of using definitions from HCP Terraform. Note that this option and `policies` relationships are mutually exclusive and may not be used simultaneously. | +| `data.attributes.vcs-repo.branch` | string | (previous value) | The branch of the VCS repo. When empty, HCP Terraform uses the VCS provider's default branch value. | +| `data.attributes.vcs-repo.identifier` | string | (previous value) | The VCS repository identifier in the the following format: `/`. An example identifier in GitHub is `hashicorp/my-policy-set`. The format for Azure DevOps is `//_git/`. | +| `data.attributes.vcs-repo.oauth-token-id` | string | (previous value) | The OAuth token ID to use to connect to the VCS host. | +| `data.attributes.vcs-repo.ingress-submodules` | boolean | (previous value) | Determines whether HCP Terraform instantiates repository submodules during the clone operation. | +| `data.attributes.policies-path` | boolean | (previous value) | The subdirectory of the attached VCS repository that contains the policies for this policy set. HCP Terraform ignores files and directories outside of the sub-path. Changes to the unrelated files do not update the policy set. You can only enable this option when a VCS repository is present. | +| `data.relationships.projects` | array\[object] | (previous value) | An array of references to projects that the policy set should be assigned to. Sending an empty array clears all project assignments. You can only specify this attribute when `data.attributes.global` is `false`. | +| `data.relationships.workspaces` | array\[object] | (previous value) | An array of references to workspaces that the policy set should be assigned to. Sending an empty array clears all workspace assignments. You can only specify this attribute when `data.attributes.global` is `false`. | +| `data.relationships.workspace-exclusions` | array\[object] | (previous value) | An array of references to excluded workspaces that HCP Terraform will not enforce this policy set upon. Sending an empty array clears all exclusions assignments. | +| `data.attributes.agent-enabled` | boolean | `false` | Only valid for `sentinel` policy sets. Whether this policy set should run as a policy evaluation in the HCP Terraform agent. | +| `data.attributes.policy-tool-version` | string | `latest` | The version of the tool that HCP Terraform uses to evaluate policies. You can only set a policy tool version for 'sentinel' policy sets if `agent-enabled` is `true`. | + +### Sample Payload + +```json +{ + "data": { + "type": "policy-sets", + "attributes": { + "name": "workspace-scoped-policy-set", + "description": "Policies added to this policy set will be enforced on specified workspaces", + "global": false, + "agent-enabled": true, + "policy-tool-version": "0.23.0" + }, + "relationships": { + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + }, + "workspace-exclusions": { + "data": [ + { "id": "ws-FVVvzCDaykN1oHiw", "type": "workspaces" } + ] + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1 +``` + +### Sample Response + +```json +{ + "data": { + "id":"polset-3yVQZvHzf5j3WRJ1", + "type":"policy-sets", + "attributes": { + "name": "workspace-scoped-policy-set", + "description": "Policies added to this policy set will be enforced on specified workspaces", + "global": false, + "kind": "sentinel", + "agent-enabled": true, + "policy-tool-version": "0.23.0", + "overridable": true, + "policy-count": 1, + "workspace-count": 1, + "versioned": false, + "created-at": "2018-09-11T18:21:21.784Z", + "updated-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "organization": { + "data": { "id": "my-organization", "type": "organizations" } + }, + "policies": { + "data": [ + { "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" } + ] + }, + "projects": { + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" } + ] + }, + "workspaces": { + "data": [ + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] + }, + "workspace-exclusions": { + "data": [ + { "id": "ws-FVVvzCDaykN1oHiw", "type": "workspaces" } + ] + } + }, + "links": { + "self":"/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1" + } + } +} +``` + +## Add policies to the policy set + +`POST /policy-sets/:id/relationships/policies` + +| Parameter | Description | +| --------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to add policies to. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------------- | +| [204][] | No Content | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (one or more policies not found, wrong types, etc.) | + +~> **Note:** This endpoint may only be used when there is no VCS repository associated with the policy set. + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `data[]` | array\[object] | | A list of resource identifier objects that defines which policies will be added to the set. These objects must contain `id` and `type` properties, and the `type` property must be `policies` (e.g. `{ "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" }`). | + +### Sample Payload + +```json +{ + "data": [ + { "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" }, + { "id": "pol-2HRvNs49EWPjDqT1", "type": "policies" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/policies +``` + +## Attach a policy set to projects + +`POST /policy-sets/:id/relationships/projects` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to attach to projects. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +-> **Note:** You can not attach global policy sets to individual projects. + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------------- | +| [204][] | Nothing | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (one or more projects not found, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | | A list of resource identifier objects that defines which projects to attach the policy set to. These objects must contain `id` and `type` properties, and the `type` property must be `projects` (e.g. `{ "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }`). | + +### Sample Payload + +```json +{ + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }, + { "id": "prj-2HRvNs49EWPjDqT1", "type": "projects" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/projects +``` + +## Attach a policy set to workspaces + +`POST /policy-sets/:id/relationships/workspaces` + +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to attach to workspaces. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +-> **Note:** Policy sets marked as global cannot be attached to individual workspaces. + +| Status | Response | Reason | +| ------- | ------------------------- | ---------------------------------------------------------------------------- | +| [204][] | No Content | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (one or more workspaces not found, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | | A list of resource identifier objects that defines the workspaces the policy set will be attached to. These objects must contain `id` and `type` properties, and the `type` property must be `workspaces` (e.g. `{ "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" }`). | + +### Sample Payload + +```json +{ + "data": [ + { "id": "ws-u3S5p2Uwk21keu1s", "type": "workspaces" }, + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/workspaces +``` + +## Exclude a workspace from a policy set + +`POST /policy-sets/:id/relationships/workspace-exclusions` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:id` | The ID of a policy set that you want HCP Terraform to exclude from the workspaces you specify. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------------------------------- | +| [204][] | No Content | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (one or more excluded workspaces not found, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | | A list of resource identifier objects that defines the excluded workspaces the policy set will be attached to. These objects must contain `id` and `type` properties, and the `type` property must be `workspaces` (e.g. `{ "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" }`). | + +### Sample Payload + +```json +{ + "data": [ + { "id": "ws-u3S5p2Uwk21keu1s", "type": "workspaces" }, + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/workspace-exclusions +``` + +## Remove policies from the policy set + +`DELETE /policy-sets/:id/relationships/policies` + +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to remove policies from. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (wrong types, etc.) | + +~> **Note:** This endpoint may only be used when there is no VCS repository associated with the policy set. + +### Request Body + +This DELETE endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | | A list of resource identifier objects that defines which policies will be removed from the set. These objects must contain `id` and `type` properties, and the `type` property must be `policies` (e.g. `{ "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" }`). | + +### Sample Payload + +```json +{ + "data": [ + { "id": "pol-u3S5p2Uwk21keu1s", "type": "policies" }, + { "id": "pol-2HRvNs49EWPjDqT1", "type": "policies" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/policies +``` + +## Detach a policy set from projects + +`DELETE /policy-sets/:id/relationships/projects` + +| Parameter | Description | +| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set you want to detach from the specified projects. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +-> **Note:** You can not attach global policy sets to individual projects. + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------------- | +| [204][] | Nothing | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (one or more projects not found, wrong types, etc.) | + +### Request Body + +This DELETE endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | | A list of resource identifier objects that defines the projects the policy set will be detached from. These objects must contain `id` and `type` properties, and the `type` property must be `projects`. For example, `{ "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }`. | + +### Sample Payload + +```json +{ + "data": [ + { "id": "prj-AwfuCJTkdai4xj9w", "type": "projects" }, + { "id": "prj-2HRvNs49EWPjDqT1", "type": "projects" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/projects +``` + +## Detach the policy set from workspaces + +`DELETE /policy-sets/:id/relationships/workspaces` + +| Parameter | Description | +| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to detach from workspaces. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +-> **Note:** Policy sets marked as global cannot be detached from individual workspaces. + +| Status | Response | Reason | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (wrong types, etc.) | + +### Request Body + +This DELETE endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | | A list of resource identifier objects that defines which workspaces the policy set will be detached from. These objects must contain `id` and `type` properties, and the `type` property must be `workspaces` (e.g. `{ "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" }`). Obtain workspace IDs from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +### Sample Payload + +```json +{ + "data": [ + { "id": "ws-u3S5p2Uwk21keu1s", "type": "workspaces" }, + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/workspaces +``` + +## Reinclude a workspace to a policy set + +`DELETE /policy-sets/:id/relationships/workspace-exclusions` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:id` | The ID of the policy set HCP Terraform should reinclude (enforce) on the specified workspaces. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | The request was successful | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (wrong types, etc.) | + +### Request Body + +This DELETE endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data[]` | array\[object] | | A list of resource identifier objects that defines which workspaces HCP Terraform should reinclude (enforce) this policy set on. These objects must contain `id` and `type` properties, and the `type` property must be `workspaces` (e.g. `{ "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" }`). Obtain workspace IDs from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +### Sample Payload + +```json +{ + "data": [ + { "id": "ws-u3S5p2Uwk21keu1s", "type": "workspaces" }, + { "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" } + ] +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/relationships/workspace-exclusions +``` + +## Delete a policy set + +`DELETE /policy-sets/:id` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the policy set to delete. Refer to [List Policy Sets](#list-policy-sets) for reference information about finding IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------ | +| [204][] | No Content | Successfully deleted the policy set | +| [404][] | [JSON API error object][] | Policy set not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1 +``` + +## Create a policy set version + +For versioned policy sets which have no VCS repository attached, versions of policy code may be uploaded directly to the API by creating a new policy set version and, in a subsequent request, uploading a tarball (tar.gz) of data to it. + +`POST /policy-sets/:id/versions` + +| Parameter | Description | +| --------- | ----------------------------------------------------- | +| `:id` | The ID of the policy set to create a new version for. | + +| Status | Response | Reason | +| ------- | ----------------------------------------------------- | ----------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "policy-set-versions"`) | The request was successful. | +| [404][] | [JSON API error object][] | Policy set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | The policy set does not support uploading versions. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/policy-sets/polset-3yVQZvHzf5j3WRJ1/versions +``` + +### Sample Response + +```json +{ + "data": { + "id": "polsetver-cXciu9nQwmk9Cfrn", + "type": "policy-set-versions", + "attributes": { + "source": "tfe-api", + "status": "pending", + "status-timestamps": {}, + "error": null, + "created-at": "2019-06-28T23:53:15.875Z", + "updated-at": "2019-06-28T23:53:15.875Z" + }, + "relationships": { + "policy-set": { + "data": { + "id": "polset-ws1CZBzm2h5K6ZT5", + "type": "policy-sets" + } + } + }, + "links": { + "self": "/api/v2/policy-set-versions/polsetver-cXciu9nQwmk9Cfrn", + "upload": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6NWJPbHQ4QjV4R1ox..." + } + } +} +``` + +The `upload` link URL in the above response is valid for one hour after creation. Make a `PUT` request to this URL directly, sending the policy set contents in `tar.gz` format as the request body. Once uploaded successfully, you can request the [Show Policy Set](#show-a-policy-set) endpoint again to verify that the status has changed from `pending` to `ready`. + +## Upload policy set versions + +`PUT https://archivist.terraform.io/v1/object/` + +The URL is provided in the `upload` attribute in the `policy-set-versions` resource. + +### Sample Request + +In the example below, `policy-set.tar.gz` is the local filename of the policy set version file to upload. + +```shell +curl \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @policy-set.tar.gz \ + https://archivist.terraform.io/v1/object/dmF1bHQ6djE6NWJPbHQ4QjV4R1ox... +``` + +## Show a policy set version + +`GET /policy-set-versions/:id` + +| Parameter | Description | +| --------- | ----------------------------------------- | +| `:id` | The ID of the policy set version to show. | + +| Status | Response | Reason | +| ------- | ----------------------------------------------------- | ------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "policy-set-versions"`) | The request was successful. | +| [404][] | [JSON API error object][] | Policy set version not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --request GET \ + https://app.terraform.io/api/v2/policy-set-versions/polsetver-cXciu9nQwmk9Cfrn +``` + +### Sample Response + +```json +{ + "data": { + "id": "polsetver-cXciu9nQwmk9Cfrn", + "type": "policy-set-versions", + "attributes": { + "source": "tfe-api", + "status": "pending", + "status-timestamps": {}, + "error": null, + "created-at": "2019-06-28T23:53:15.875Z", + "updated-at": "2019-06-28T23:53:15.875Z" + }, + "relationships": { + "policy-set": { + "data": { + "id": "polset-ws1CZBzm2h5K6ZT5", + "type": "policy-sets" + } + } + }, + "links": { + "self": "/api/v2/policy-set-versions/polsetver-cXciu9nQwmk9Cfrn", + "upload": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6NWJPbHQ4QjV4R1ox..." + } + } +} +``` + +The `upload` link URL in the above response is valid for one hour after the `created_at` timestamp of the policy set version. Make a `PUT` request to this URL directly, sending the policy set contents in `tar.gz` format as the request body. Once uploaded successfully, you can request the [Show Policy Set Version](#show-a-policy-set-version) endpoint again to verify that the status has changed from `pending` to `ready`. + +## Available related resources + +The GET endpoints above can optionally return related resources for policy sets, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `current_version` | The most recent **successful** policy set version. | +| `newest_version` | The most recently created policy set version, regardless of status. Note that this relationship may include an errored and unusable version, and is intended to allow checking for VCS errors. | +| `policies` | Individually managed policies which are associated with the policy set. | +| `projects` | The projects this policy set applies to. | +| `workspaces` | The workspaces this policy set applies to. | +| `workspace-exclusions` | The workspaces excluded from this policy set's enforcement. | + +The following resource types may be included for policy set versions: + +| Resource Name | Description | +| ------------- | ---------------------------------------------------------------- | +| `policy_set` | The policy set associated with the specified policy set version. | + +## Relationships + +The following relationships may be present in various responses for policy sets: + +| Resource Name | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `current-version` | The most recent **successful** policy set version. | +| `newest-version` | The most recently created policy set version, regardless of status. Note that this relationship may include an errored and unusable version, and is intended to allow checking for VCS errors. | +| `organization` | The organization associated with the specified policy set. | +| `policies` | Individually managed policies which are associated with the policy set. | +| `projects` | The projects this policy set applies to. | +| `workspaces` | The workspaces this policy set applies to. | +| `workspace-exclusions` | The workspaces excluded from this policy set's enforcement. | + +The following relationships may be present in various responses for policy set versions: + +| Resource Name | Description | +| ------------- | ---------------------------------------------------------------- | +| `policy-set` | The policy set associated with the specified policy set version. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/gpg-keys.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/gpg-keys.mdx new file mode 100644 index 0000000000..3386ea42c3 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/gpg-keys.mdx @@ -0,0 +1,388 @@ +--- +page_title: /gpg-keys API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/gpg-keys` endpoint to read, add, get, + update, and delete the GPG keys that HCP Terraform uses to sign private + providers. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# GPG keys API reference + +These endpoints are only relevant to private providers. When you [publish a private provider](/terraform/enterprise/registry/publish-providers) to the HCP Terraform private registry, you must upload the public key of the GPG key-pair that you used to sign the release. The HCP Terraform registry supports RSA or DSA formatted GPG keys. Refer to [Preparing and adding a signing key](/terraform/registry/providers/publishing#preparing-and-adding-a-signing-key) for more details. + +You need [owners team](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) or [Manage Private Registry](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) permissions to add, update, or delete GPG keys in a private registry. + +## List GPG Keys + +`GET /api/registry/:registry_name/v2/gpg-keys` + +### Parameters + +| Parameter | Description | +| ---------------- | ------------------ | +| `:registry_name` | Must be `private`. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling does not automatically encode URLs. + +| Parameter | Description | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filter[namespace]` | **Required.** A comma-separated list of one or more namespaces. The namespaces must be an authorized HCP Terraform or Terraform Enterprise organization name. | +| `page[number]` | **Optional.** If omitted, the endpoint returns the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint returns 20 GPG keys per page. | + +Gets a list of GPG keys belonging to the specified namespaces. + +| Status | Response | Reason | +| ------- | ------------------------------------------ | --------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "gpg-keys"`) | Successfully fetched GPG keys | +| [400][] | [JSON API error object][] | Error - missing namespaces in request | +| [403][] | [JSON API error object][] | Forbidden - no authorized namespaces specified in request | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + "https://app.terraform.io/api/registry/private/v2/gpg-keys?filter%5Bnamespace%5D=my-organization,my-other-organization" +``` + +### Sample Response + +```json +{ + "data": [ + { + "type": "gpg-keys", + "id": "1", + "attributes": { + "ascii-armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----...", + "created-at": "2022-02-08T19:15:47Z", + "key-id": "C4E5E6C66C79C778", + "namespace": "my-other-organization", + "source": "", + "source-url": null, + "trust-signature": "", + "updated-at": "2022-02-08T19:15:47Z" + }, + "links": { + "self": "/v2/gpg-keys/1" + } + }, + { + "type": "gpg-keys", + "id": "140", + "attributes": { + "ascii-armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----...", + "created-at": "2022-04-28T21:32:11Z", + "key-id": "C4E5E6C66C79C778", + "namespace": "my-organization", + "source": "", + "source-url": null, + "trust-signature": "", + "updated-at": "2022-04-28T21:32:11Z" + }, + "links": { + "self": "/v2/gpg-keys/140" + } + } + ], + "links": { + "first": "/v2/gpg-keys?filter%5Bnamespace%5D=my-organization%2Cmy-other-organization&page%5Bnumber%5D=1&page%5Bsize%5D=15", + "last": "/v2/gpg-keys?filter%5Bnamespace%5D=my-organization%2Cmy-other-organization&page%5Bnumber%5D=1&page%5Bsize%5D=15", + "next": null, + "prev": null + }, + "meta": { + "pagination": { + "page-size": 15, + "current-page": 1, + "next-page": null, + "prev-page": null, + "total-pages": 1, + "total-count": 2 + } + } +} +``` + +## Add a GPG Key + +`POST /api/registry/:registry_name/v2/gpg-keys` + +### Parameters + +| Parameter | Description | +| ---------------- | ------------------ | +| `:registry_name` | Must be `private`. | + +Uploads a GPG Key to a private registry scoped with a namespace. The response will provide a "key-id", which is required to [Create a Provider Version](/terraform/enterprise/api-docs/private-registry/provider-versions-platforms#create-a-provider-version). + +| Status | Response | Reason | +| ------- | ------------------------------------------ | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "gpg-keys"`) | Successfully uploads a GPG key to a private provider | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - not available for public providers | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------- | ------ | ------- | -------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"gpg-keys"`. | +| `data.attributes.namespace` | string | | The namespace of the provider. Must be the same as the `organization_name` for the provider. | +| `data.attributes.ascii-armor` | string | | A valid gpg-key string. | + +### Sample Payload + +```json +{ + "data": { + "type": "gpg-keys", + "attributes": { + "namespace": "hashicorp", + "ascii-armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINB...=txfz\n-----END PGP PUBLIC KEY BLOCK-----\n" + } } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/registry/private/v2/gpg-keys +``` + +### Sample Response + +```json +{ + "data": { + "type": "gpg-keys", + "id": "23", + "attributes": { + "ascii-armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINB...=txfz\n-----END PGP PUBLIC KEY BLOCK-----\n", + "created-at": "2022-02-11T19:16:59Z", + "key-id": "32966F3FB5AC1129", + "namespace": "hashicorp", + "source": "", + "source-url": null, + "trust-signature": "", + "updated-at": "2022-02-11T19:16:59Z" + }, + "links": { + "self": "/v2/gpg-keys/23" + } + } +} +``` + +## Get GPG Key + +`GET /api/registry/:registry_name/v2/gpg-keys/:namespace/:key_id` + +### Parameters + +| Parameter | Description | +| ---------------- | ---------------------------------------------------- | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider scoped to the GPG key. | +| `:key_id` | The id of the GPG key. | + +Gets the content of a GPG key. + +| Status | Response | Reason | +| ------- | ------------------------------------------ | ---------------------------------------------- | +| [200][] | [JSON API document][] (`type: "gpg-keys"`) | Successfully fetched GPG key | +| [403][] | [JSON API error object][] | Forbidden - not available for public providers | +| [404][] | [JSON API error object][] | GPG key not found or user not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/registry/private/v2/gpg-keys/hashicorp/32966F3FB5AC1129 +``` + +### Sample Response + +```json +{ + "data": { + "type": "gpg-keys", + "id": "2", + "attributes": { + "ascii-armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINB...=txfz\n-----END PGP PUBLIC KEY BLOCK-----\n", + "created-at": "2022-02-24T17:07:25Z", + "key-id": "32966F3FB5AC1129", + "namespace": "hashicorp", + "source": "", + "source-url": null, + "trust-signature": "", + "updated-at": "2022-02-24T17:07:25Z" + }, + "links": { + "self": "/v2/gpg-keys/2" + } + } +} +``` + +## Update a GPG Key + +`PATCH /api/registry/:registry_name/v2/gpg-keys/:namespace/:key_id` + +### Parameters + +| Parameter | Description | +| ---------------- | ---------------------------------------------------- | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider scoped to the GPG key. | +| `:key_id` | The id of the GPG key. | + +Updates the specified GPG key. Only the `namespace` attribute can be updated, and `namespace` has to match an `organization` the user has permission to access. + +| Status | Response | Reason | +| ------- | ------------------------------------------ | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "gpg-keys"`) | Successfully updates a GPG key | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - not available for public providers | +| [404][] | [JSON API error object][] | GPG key not found or user not authorized | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------- | ------ | ------- | -------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"gpg-keys"`. | +| `data.attributes.namespace` | string | | The namespace of the provider. Must be the same as the `organization_name` for the provider. | + +### Sample Payload + +```json +{ + "data": { + "type": "gpg-keys", + "attributes": { + "namespace": "new-namespace", + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/registry/private/v2/gpg-keys/hashicorp/32966F3FB5AC1129 +``` + +### Sample Response + +```json +{ + "data": { + "type": "gpg-keys", + "id": "2", + "attributes": { + "ascii-armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINB...=txfz\n-----END PGP PUBLIC KEY BLOCK-----\n", + "created-at": "2022-02-24T17:07:25Z", + "key-id": "32966F3FB5AC1129", + "namespace": "new-name", + "source": "", + "source-url": null, + "trust-signature": "", + "updated-at": "2022-02-24T17:12:10Z" + }, + "links": { + "self": "/v2/gpg-keys/2" + } + } +} +``` + +## Delete a GPG Key + +`DELETE /api/registry/:registry_name/v2/gpg-keys/:namespace/:key_id` + +### Parameters + +| Parameter | Description | +| ---------------- | ---------------------------------------------------- | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider scoped to the GPG key. | +| `:key_id` | The id of the GPG key. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------------------------ | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "gpg-keys"`) | Successfully deletes a GPG key | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - not available for public providers | +| [404][] | [JSON API error object][] | GPG key not found or user not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/registry/private/v2/gpg-keys/hashicorp/32966F3FB5AC1129 +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/manage-module-versions.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/manage-module-versions.mdx new file mode 100644 index 0000000000..7fe7e2a61b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/manage-module-versions.mdx @@ -0,0 +1,531 @@ +--- +page_title: Manage module versions API reference for Terraform Enterprise +description: >- + Use these module management endpoints to deprecate, revoke, and revert the + status of module versions you published to an organization's private registry. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[503]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Manage module versions API reference + +Use the module version management API endpoints to deprecate, revoke, and revert of status of module versions in your organization’s private registry. + +<>{/* TODO: remove revoke references here */} + + + +@include "tfc-package-callouts/manage-module-versions.mdx" + + + +## Overview + +<>{/* TODO: remove revoke references here */} + +As part of the module lifecycle, you can deprecate or revoke older module versions as you stop supporting them, signaling to module consumers that they need to upgrade to newer versions. + +When you deprecate a module version, HCP Terraform adds warnings to the module's registry page and to run outputs when anyone uses the deprecated version. After deprecating a module version, you can revert that deprecated status to remove the warnings from that version in the registry and outputs. + + + +Revoking a module version adds warnings to the module's registry page, warnings in the run outputs of existing users, and blocks new users from using that version. Reverting a module version’s revocation sets the module version back to a deprecated state. + + + +For more details on deprecating or revoking module versions, refer to [Manage module versions](/terraform/enterprise/registry/manage-module-versions). + +## Deprecate a module version + +Use this endpoint to deprecate a module version. + +`PATCH /api/v2/organizations/:organization_name/registry-modules/private/:organization_name/:module_name/:module_provider/:module_version` + +| Parameter | Description | +| :------------------- | :---------------------------------------------------------- | +| `:organization_name` | The name of the organization the module belongs to. | +| `:module_name` | The name of the module whose version you want to deprecate. | +| `:module_provider` | Specifies the Terraform provider that this module uses. | +| `:module_version` | The module version you want to deprecate. | + +This endpoint allows you to deprecate a specific module version. Deprecating a module version adds warnings to the run output of any consumers using this module. + +| Status | Response | Reason | +| :----------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- | +| [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) | [JSON API document](http://terraform/cloud-docs/api-docs#json-api-documents) | Successfully deprecated a module version. | +| [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404) | [JSON API error object](http://jsonapi.org/format/#error-objects) | This organization is not authorized to deprecate this module version, or the module version does not exist. | +| [422](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422) | [JSON API error object](http://jsonapi.org/format/#error-objects) | Malformed request body, for example the request is missing attributes or uses the wrong types. | +| [500](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) or [503](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503) | [JSON API error object](http://jsonapi.org/format/#error-objects) | Failure occurred while deprecating a module version. | + +### Sample payload + +```json +{ + "data": { + "type": "module-versions", + "attributes": { + "deprecation": { + "deprecated-status": "Deprecated", + "reason": "Deprecated due to a security vulnerability issue.", + "link": "https://www.hashicorp.com/" + } + } + } +} +``` + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ +https://app.terraform.io/api/v2/organizations/hashicorp/registry-modules/private/hashicorp/lb-http/google/11.0.0 +``` + +### Sample response + +```json +{ + "data": { + "type": "module-versions", + "id": "1", + "relationships": { + "deprecation": { + "data": { + "id": "2", + "type": "deprecations" + } + } + } + }, + "included": [ + { + "type": "deprecations", + "id": "2", + "attributes": { + "link": "https://www.hashicorp.com/", + "reason": "Deprecated due to a security vulnerability issue. Applies will be blocked in 15 days." + } + } + ] +} +``` + +## Revert the deprecation status for a module version + +Use this endpoint to revert the deprecation of a module version. + +`PATCH /api/v2/organizations/:organization_name/registry-modules/private/:organization_name/:module_name/:module_provider/:module_version` + +| Parameter | Description | +| :------------------- | :------------------------------------------------------------ | +| `:organization_name` | The name of the organization the module belongs to. | +| `:module_name` | The name of the module you want to revert the deprecation of. | +| `:module_provider` | Specifies the Terraform provider that this module uses. | +| `:module_version` | The module version you want to revert the deprecation of. | + +Deprecating a module version adds warnings to the run output of any consumers using this module. Reverting the deprecation status removes warnings from the output of consumers and fully reinstates the module version. + +| Status | Response | Reason | +| :--------------------------------------------------------------------------- | :---------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- | +| [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) | [JSON API document](http:///terraform/cloud-docs/api-docs#json-api-documents) | Successfully reverted a module version’s deprecation status and reinstated that version. | +| [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404) | [JSON API error object](http://jsonapi.org/format/#error-objects) | This organization is not authorized to revert the depreciation of this module version, or the module version does not exist. | +| [422](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422) | [JSON API error object](http://jsonapi.org/format/#error-objects) | Malformed request body, for example the request is missing attributes or uses the wrong types. | +| [500](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) or [503] | [JSON API error object](http://jsonapi.org/format/#error-objects) | Failure occurred while reverting the deprecation of a module version. | + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ +https://app.terraform.io/api/v2/organizations/hashicorp/registry-modules/private/hashicorp/lb-http/google/11.0.0 +``` + +### Sample payload + +```json +{ + "data": { + "type": "module-versions", + "attributes": { + "deprecation": { + "deprecated-status": "Undeprecated" + } + } + } +} +``` + +### Sample response + +```json +{ + "data": { + "type": "module-versions", + "id": "1" + } +} +``` + +## Fetch a module version’s deprecation data + +Send a `GET` request to the `/modules/:github-organization/:module/:provider/versions` endpoint to retrieve data about private registry modules, including the module's deprecation status. Refer to the [private registry module API example](/terraform/enterprise/api-docs/private-registry/modules#sample-registry-request-private-module) for additional information. + +For example, if you want to know the deprecation status of v0.0.1 of the `aws` provider’s `consul` module in your `my-cloud-org` organization, you could perform the following API call: + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/registry/v1/modules/my-cloud-org/consul/aws/0.0.1 +``` + +If the module is deprecated, your response includes a `deprecation` key with the details of that module version’s deprecation. + +```json +{ + "id": "hashicorp/consul/aws/0.0.1", + "owner": "gruntwork-team", + "namespace": "hashicorp", + "name": "consul", + "version": "0.0.1", + "provider": "aws", + "description": "A Terraform Module for how to run Consul on AWS using Terraform and Packer" + // ... // + "deprecation": { + "reason": "This version was deprecated due to a vulnerability issue. Please upgrade to 0.0.2.", + "link": "https://hashicorp.com" + } +} +``` + +To check the deprecation status of all of the `consul` module’s versions, you could perform the following API call: + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/registry/v1/modules/my-cloud-org/consul/aws/versions +``` + +The response includes multiple versions, and each version has a `deprecation` key listing the details of that module’s deprecation. If a module version has not been deprecated, the `deprecation` field returns `null`. + +```json +{ + "modules": [ + { + "source": "hashicorp/consul/aws", + "versions": [ + { + "version": "0.0.1", + // ... // + "deprecation": { + "reason": "security vulnerability", + "link": "www.hashicorp.com" + } + }, + { + "version": "0.0.2", + "submodules": [], + "root": { + "dependencies": [], + "providers": [ + { + "name": "template", + "version": "" + }, + { + "name": "aws", + "version": "" + } + ] + }, + "deprecation": null + } + ] + } + ] +} +``` + + + +## Revoke a module version + +Use this endpoint to revoke a module version. You must [deprecate a module version](#deprecate-a-module-version) before you can revoke it. + +`PATCH /api/v2/organizations/:organization_name/registry-modules/private/:organization_name/:module_name/:module_provider/:module_version` + +| Parameter | Description | +| :------------------- | :------------------------------------------------------- | +| `:organization_name` | The name of the organization the module belongs to. | +| `:module_name` | The name of the module whose version you want to revoke. | +| `:module_provider` | Specifies the Terraform provider that this module uses. | +| `:module_version` | The module version you want to revoke. | + +This endpoint allows you to revoke a specific module version. Revoking a module version adds warnings to the run output of current consumers of this version and blocks new users from trying to use that version. + +| Status | Response | Reason | +| :----------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- | +| [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) | [JSON API document](http://terraform/cloud-docs/api-docs#json-api-documents) | Successfully revoked a module version. | +| [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404) | [JSON API error object](http://jsonapi.org/format/#error-objects) | This organization is not authorized to revoke this module version, or the module version does not exist. | +| [422](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422) | [JSON API error object](http://jsonapi.org/format/#error-objects) | Malformed request body, for example the request is missing attributes or uses the wrong types. | +| [500](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) or [503](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503) | [JSON API error object](http://jsonapi.org/format/#error-objects) | Failure occurred while revoking a module version. | + +### Sample Payload + +```json +{ + "data": { + "type": "module-versions", + "attributes": { + "revocation": { + "status": "Revoked", + "message": "Revoked due to a security vulnerability issue.", + "link": "https://www.hashicorp.com/" + } + } + } +} +``` + +### Sample Request + +```shell-session +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ +https://app.terraform.io/api/v2/organizations/hashicorp/registry-modules/private/hashicorp/lb-http/google/11.0.0 +``` + +### Sample Response + +```json +{ + "data": { + "id": "modver-uKQCVs5vAKDmUMyw", + "type": "registry-module-versions", + "attributes": { + "source": "tfe-api", + "status": "ok", + "version": "11.0.0", + "commit-sha": null, + "branch": null, + "created-at": "2024-08-28T20:48:05.206Z", + "updated-at": "2024-08-28T20:48:09.175Z", + "revocation": { + "status": "Revoked", + "message": "Revoked due to a security vulnerability issue.", + "link": "https://www.hashicorp.com/" + } + }, + "relationships": { + "registry-module": { + "data": { + "id": "mod-yDKMcmJYx9oFrGao", + "type": "registry-modules" + } + } + }, + "links": { + "upload": "https://app.terraform.io/_archivist/v1/object/dmF1bHQ6djE6eElWekF3RH" + } + } +} +``` + +## Revert the revocation status for a module version + +Use this endpoint to revert the revocation of a module version. + +`PATCH /api/v2/organizations/:organization_name/registry-modules/private/:organization_name/:module_name/:module_provider/:module_version` + +| Parameter | Description | +| :------------------- | :----------------------------------------------------------- | +| `:organization_name` | The name of the organization the module belongs to. | +| `:module_name` | The name of the module you want to revert the revocation of. | +| `:module_provider` | Specifies the Terraform provider that this module uses. | +| `:module_version` | The module version you want to revert the revocation of. | + +When you revert the revocation of a module version, HCP Terraform sets that version as deprecated, signaling that it is still maintained and supported but not recommended. Deprecated module versions produce warnings in the registry and run outputs, but new users can still use them. + +| Status | Response | Reason | +| :--------------------------------------------------------------------------- | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- | +| [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) | [JSON API document](http:///terraform/cloud-docs/api-docs#json-api-documents) | Successfully reverted a module version’s revocation status and deprecated that version. | +| [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404) | [JSON API error object](http://jsonapi.org/format/#error-objects) | This organization is not authorized to revert the revocation of this module version, or the module version does not exist. | +| [422](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422) | [JSON API error object](http://jsonapi.org/format/#error-objects) | Malformed request body, for example the request is missing attributes or uses the wrong types. | +| [500](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) or [503] | [JSON API error object](http://jsonapi.org/format/#error-objects) | Failure occurred while reverting the revocation of a module version. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ +https://app.terraform.io/api/v2/organizations/hashicorp/registry-modules/private/hashicorp/lb-http/google/11.0.0 +``` + +### Sample payload + +```json +{ + "data": { + "type": "module-versions", + "attributes": { + "revocation": { + "status": "Unrevoked" + } + } + } +} +``` + +### Sample Response + +```json +{ + "data": { + "id": "modver-uKQCVs5vAKDmUMyw", + "type": "registry-module-versions", + "attributes": { + "source": "tfe-api", + "status": "ok", + "version": "11.0.0", + "commit-sha": null, + "branch": null, + "created-at": "2024-08-28T20:48:05.206Z", + "updated-at": "2024-08-28T20:48:09.175Z", + "revocation": { + "status": "Unrevoked", + } + }, + "relationships": { + "registry-module": { + "data": { + "id": "mod-yDKMcmJYx9oFrGao", + "type": "registry-modules" + } + } + }, + "links": { + "upload": "https://app.terraform.io/_archivist/v1/object/dmF1bHQ6djE6eElWekF3RH" + } + } +} +``` + +## Fetch data about a module version’s revocation + +Send a `GET` request to the `/organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider` endpoint to retrieve data about private registry modules, including the module's revocation status. Refer to the [private registry module API example](/terraform/enterprise/api-docs/private-registry/modules#get-a-module) for additional information. + +For example, if you want to know the revocation status of v0.0.1 of the `aws` provider’s `consul` module in your `my-cloud-org` organization, you could perform the following API call: + +```shell-session +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-cloud-org/registry-modules/private/my-cloud-org/consul/aws/version?module_version=1.0.0 +``` + +If the module is revoked, your response includes a `revocation` key with the details of that module version’s revocation. + +```json +{ + "data": { + "id": "modver-3tKAXyRnpGYCxW7d", + "type": "registry-module-versions", + "attributes": { + "source": "github", + "status": "ok", + "version": "1.0.0", + "commit-sha": "ea18e73d8da502870fdcbfc54155046bc0cf2679", + "branch": null, + "created-at": "2024-10-11T19:53:35.082Z", + "updated-at": "2024-10-11T19:53:38.782Z", + "revocation": { + "status": "revoked", + "message": "please upgrade to version 1.0.1", + "link": "https://github.com" + } + }, + "relationships": { + "registry-module": { + "data": { + "id": "mod-u8BFFruSTSz8dN4C", + "type": "registry-modules" + } + } + }, + "links": { + "upload": "https://archivist.terraform.io/v1/object/dmF1bHQ6djQ6V1pZWWwra1" + } + } +} +``` + +To check the revocation status of all of the `consul` module’s versions, you could perform the following API call: + +```shell-session +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-cloud-org/registry-modules/private/my-cloud-org/consul/aws +``` + +The response includes the revoked versions of this module in the `revoked-versions` key. + +```json +{ + "data": { + "id": "mod-u8BFFruSTSz8dN4C", + "type": "registry-modules", + "attributes": { + "name": "module", + "namespace": "my-cloud-org", + // ... // + "revoked-versions": [ + "1.0.0" + ], + // ... // + }, +} +``` + + diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/modules.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/modules.mdx new file mode 100644 index 0000000000..d5df734ece --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/modules.mdx @@ -0,0 +1,942 @@ +--- +page_title: /registry-modules API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/registry-modules` endpoint to read, + publish, update, delete, and add versions to modules in your organization's + private registry. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Registry modules API reference + +-> **Note:** Public Module Curation is only available in HCP Terraform. Where applicable, the `registry_name` parameter must be `private` for Terraform Enterprise. + +## HCP Terraform Registry Implementation + +The HCP Terraform Module Registry implements the [Registry standard API](/terraform/registry/api-docs) for consuming/exposing private modules. Refer to the [Module Registry HTTP API](/terraform/registry/api-docs) to perform the following: + +- Browse available modules +- Search modules by keyword +- List available versions for a specific module +- Download source code for a specific module version +- List latest version of a module for all providers +- Get the latest version for a specific module provider +- Get a specific module +- Download the latest version of a module + +For publicly curated modules, the HCP Terraform Module Registry acts as a proxy to the [Terraform Registry](https://registry.terraform.io) for the following: + +- List available versions for a specific module +- Get a specific module +- Get the latest version for a specific module provider + +The HCP Terraform Module Registry endpoints differs from the Module Registry endpoints in the following ways: + +- The `:namespace` parameter should be replaced with the organization name for private modules. +- The private module registry discovery endpoints have the path prefix provided in the [discovery document](/terraform/registry/api-docs#service-discovery) which is currently `/api/registry/v1`. +- The public module registry discovery endpoints have the path prefix provided in the [discovery document](/terraform/registry/api-docs#service-discovery) which is currently `/api/registry/public/v1`. +- [Authentication](/terraform/enterprise/api-docs#authentication) is handled the same as all other HCP Terraform endpoints. + +### Sample Registry Request (private module) + +List available versions for the `consul` module for the `aws` provider on the module registry published from the Github organization `my-gh-repo-org`: + +```shell +$ curl https://registry.terraform.io/v1/modules/my-gh-repo-org/consul/aws/versions +``` + +The same request for the same module and provider on the HCP Terraform module registry for the `my-cloud-org` organization: + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/registry/v1/modules/my-cloud-org/consul/aws/versions +``` + +### Sample Proxy Request (public module) + +List available versions for the `consul` module for the `aws` provider on the module registry published from the Github organization `my-gh-repo-org`: + +```shell +$ curl https://registry.terraform.io/v1/modules/my-gh-repo-org/consul/aws/versions +``` + +The same request for the same module and provider on the HCP Terraform module registry: + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/registry/public/v1/modules/my-gh-repo-org/consul/aws/versions +``` + +## List Registry Modules for an Organization + +`GET /organizations/:organization_name/registry-modules` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------ | +| `:organization_name` | The name of the organization to list available modules from. | + +Lists the modules that are available to a given organization. This includes the full list of publicly curated and private modules and is filterable. + +| Status | Response | Reason | +| ------- | -------------------------------------------------- | -------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-modules"`) | The request was successful | +| [404][] | [JSON API error object][] | Modules not found or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `q` | **Optional.** A search query string. Modules are searchable by name, namespace, provider fields. | +| `filter[field name]` | **Optional.** If specified, restricts results to those with the matching field name value. Valid values are `registry_name`, `provider`, and `organization_name`. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 registry modules per page. | + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "mod-kwt1cBiX2SdDz38w", + "type": "registry-modules", + "attributes": { + "name": "api-gateway", + "namespace": "my-organization", + "provider": "alicloud", + "status": "setup_complete", + "version-statuses": [ + { + "version": "1.1.0", + "status": "ok" + } + ], + "created-at": "2021-04-07T19:01:18.528Z", + "updated-at": "2021-04-07T19:01:19.863Z", + "registry-name": "private", + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/private/my-organization/api-gateway/alicloud" + } + }, + { + "id": "mod-PopQnMtYDCcd3PRX", + "type": "registry-modules", + "attributes": { + "name": "aurora", + "namespace": "my-organization", + "provider": "aws", + "status": "setup_complete", + "version-statuses": [ + { + "version": "4.1.0", + "status": "ok" + } + ], + "created-at": "2021-04-07T19:04:41.375Z", + "updated-at": "2021-04-07T19:04:42.828Z", + "registry-name": "private", + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/private/my-organization/aurora/aws" + } + }, + ..., + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/my-organization/registry-modules?page%5Bnumber%5D=1&page%5Bsize%5D=6", + "first": "https://app.terraform.io/api/v2/organizations/my-organization/registry-modules?page%5Bnumber%5D=1&page%5Bsize%5D=6", + "prev": null, + "next": "https://app.terraform.io/api/v2/organizations/my-organization/registry-modules?page%5Bnumber%5D=2&page%5Bsize%5D=6", + "last": "https://app.terraform.io/api/v2/organizations/my-organization/registry-modules?page%5Bnumber%5D=29&page%5Bsize%5D=6" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 6, + "prev-page": null, + "next-page": 2, + "total-pages": 29, + "total-count": 169 + } + } +} +``` + +## Publish a Private Module from a VCS + +~> **Deprecation warning**: the following endpoint `POST /registry-modules` is replaced by the below endpoint and will be removed from future versions of the API! + +`POST /organizations/:organization_name/registry-modules/vcs` + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create a module in. The organization must already exist, and the token authenticating the API request must belong to a team or team member with the **Manage modules** permission enabled. | + +Publishes a new registry private module from a VCS repository, with module versions managed automatically by the repository's tags. The publishing process will fetch all tags in the source repository that look like [SemVer](https://semver.org/) versions with optional 'v' prefix. For each version, the tag is cloned and the config parsed to populate module details (input and output variables, readme, submodules, etc.). The [Module Registry Requirements](/terraform/registry/modules/publish#requirements) define additional requirements on naming, standard module structure and tags for releases. + +| Status | Response | Reason | +| ------- | -------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "registry-modules"`) | Successfully published module | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +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. Get this ID from the [oauth-tokens](/terraform/enterprise/api-docs/oauth-tokens) endpoint. You can not specify this value if `github-app-installation-id` is specified. | +| `data.attributes.vcs-repo.github-app-installation-id` | string | | The VCS Connection GitHub App Installation to use. Find this ID on the account settings page. Requires previously authorizing the GitHub App and generating a user-to-server token. Manage the token from **Account Settings** within HCP Terraform. You can not specify this value if `oauth-token-id` is specified. | +| `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. | +| `data.attributes.vcs-repo.branch` | string | | The repository branch to publish the module from if you are using the branch-based publishing workflow. If omitted, the module will be published using the tag-based publishing workflow. | + +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 Data Center, and repository in your VCS provider. The format for Azure DevOps is `:org/:project/_git/:repo`. + +The OAuth Token ID identifies the VCS connection, and therefore the organization, that the module will be created in. + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "vcs-repo": { + "identifier":"lafentres/terraform-aws-my-module", + "oauth-token-id":"ot-hmAyP66qk2AMVdbJ", + "display_identifier":"lafentres/terraform-aws-my-module", + "branch": "main" + }, + "no-code": true + }, + "type":"registry-modules" + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules/vcs +``` + +### Sample Response + +```json +{ + "data": { + "id": "mod-fZn7uHu99ZCpAKZJ", + "type": "registry-modules", + "attributes": { + "name": "my-module", + "namespace": "my-organization", + "registry-name": "private", + "provider": "aws", + "status": "pending", + "version-statuses": [], + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T19:36:56.288Z", + "vcs-repo": { + "branch": "", + "ingress-submodules": true, + "identifier": "lafentres/terraform-aws-my-module", + "display-identifier": "lafentres/terraform-aws-my-module", + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ", + "webhook-url": "https://app.terraform.io/webhooks/vcs/a12b3456..." + }, + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/private/my-organization/my-module/aws" + } + } +} +``` + +## Create a Module (with no VCS connection) + +`POST /organizations/:organization_name/registry-modules` + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create a module in. The organization must already exist, and the token authenticating the API request must belong to a team or team member with the **Manage modules** permission enabled. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Creates a new registry module without a backing VCS repository. + +#### Private modules + +After creating a module, a version must be created and uploaded in order to be usable. Modules created this way do not automatically update with new versions; instead, you must explicitly create and upload each new version with the [Create a Module Version](#create-a-module-version) endpoint. + +#### Public modules + +When created, the public module record will be available in the organization's registry module list. You cannot create versions for public modules as they are maintained in the public registry. + +| Status | Response | Reason | +| ------- | -------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "registry-modules"`) | Successfully published module | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - public module curation disabled | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +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`. | +| `data.attributes.no-code` | boolean | | Allows you to enable or disable the no-code publishing workflow for a module. | + +### Sample Payload (private module) + +```json +{ + "data": { + "type": "registry-modules", + "attributes": { + "name": "my-module", + "provider": "aws", + "registry-name": "private", + "no-code": true + } + } +} +``` + +### Sample Payload (public module) + +```json +{ + "data": { + "type": "registry-modules", + "attributes": { + "name": "vpc", + "namespace": "terraform-aws-modules", + "provider": "aws", + "registry-name": "public", + "no-code": true + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules +``` + +### Sample Response (private module) + +```json +{ + "data": { + "id": "mod-fZn7uHu99ZCpAKZJ", + "type": "registry-modules", + "attributes": { + "name": "my-module", + "namespace": "my-organization", + "registry-name": "private", + "provider": "aws", + "status": "pending", + "version-statuses": [], + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T19:36:56.288Z", + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/private/my-organization/my-module/aws" + } + } +} +``` + +### Sample Response (public module) + +```json +{ + "data": { + "id": "mod-fZn7uHu99ZCpAKZJ", + "type": "registry-modules", + "attributes": { + "name": "vpc", + "namespace": "terraform-aws-modules", + "registry-name": "public", + "provider": "aws", + "status": "pending", + "version-statuses": [], + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T19:36:56.288Z", + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/public/terraform-aws-modules/vpc/aws" + } + } +} +``` + +## Create a Module Version + +~> **Deprecation warning**: the following endpoint `POST /registry-modules/:organization_name/:name/:provider/versions` is replaced by the below endpoint and will be removed from future versions of the API! + +`POST /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider/versions` + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create a module in. The organization must already exist, and the token authenticating the API request must belong to a team or team member with the **Manage modules** permission enabled. | +| `:namespace` | The namespace of the module for which the version is being created. For private modules this is the same as the `:organization_name` parameter | +| `:name` | The name of the module for which the version is being created. | +| `:provider` | The name of the provider for which the version is being created. | +| `:registry-name` | Must be `private`. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Creates a new registry module version. This endpoint only applies to private modules without a VCS repository and VCS-linked branch based modules. VCS-linked tag-based modules automatically create new versions for new tags. After creating the version for a non-VCS backed module, you should upload the module to the link that HCP Terraform returns. + +| Status | Response | Reason | +| ------- | ---------------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "registry-module-versions"`) | Successfully published module version | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - not available for public modules | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ---------------------------- | ------ | ------- | --------------------------------------------------- | +| `data.type` | string | | Must be `"registry-module-versions"`. | +| `data.attributes.version` | string | | A valid semver version string. | +| `data.attributes.commit-sha` | string | | The commit SHA to use to create the module version. | + +### Sample Payload + +```json +{ + "data": { + "type": "registry-module-versions", + "attributes": { + "version": "1.2.3", + "commit-sha": "abcdef12345" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules/private/my-organization/my-module/aws/versions +``` + +### Sample Response + +```json +{ + "data": { + "id": "modver-qjjF7ArLXJSWU3WU", + "type": "registry-module-versions", + "attributes": { + "source": "tfe-api", + "status": "pending", + "version": "1.2.3", + "created-at": "2018-09-24T20:47:20.931Z", + "updated-at": "2018-09-24T20:47:20.931Z" + }, + "relationships": { + "registry-module": { + "data": { + "id": "1881", + "type": "registry-modules" + } + } + }, + "links": { + "upload": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6NWJPbHQ4QjV4R1ox..." + } + } +} +``` + +## Add a Module Version (Private Module) + +`PUT https://archivist.terraform.io/v1/object/` + +**The URL is provided in the `upload` links attribute in the `registry-module-versions` resource.** + +### Expected Archive Format + +HCP Terraform expects the module version uploaded to be a gzip tarball with the module in the root (not in a subdirectory). + +Given the following folder structure: + + terraform-null-test + ├── README.md + ├── examples + │   └── default + │   ├── README.md + │   └── main.tf + └── main.tf + +Package the files in an archive format by running `tar zcvf module.tar.gz *` in the module's directory. + + ~$ cd terraform-null-test + terraform-null-test$ tar zcvf module.tar.gz * + a README.md + a examples + a examples/default + a examples/default/main.tf + a examples/default/README.md + a main.tf + +### Sample Request + +```shell +curl \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @module.tar.gz \ + https://archivist.terraform.io/v1/object/dmF1bHQ6djE6NWJPbHQ4QjV4R1ox... +``` + +After the registry module version is successfully parsed, its status will become `"ok"`. + +## Get a Module + +~> **Deprecation warning**: the following endpoint `GET /registry-modules/show/:organization_name/:name/:provider` is replaced by the below endpoint and will be removed from future versions of the API! + +`GET /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider` + +### Parameters + +| Parameter | Description | +| -------------------- | ----------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the module belongs to. | +| `:namespace` | The namespace of the module. For private modules this is the name of the organization that owns the module. | +| `:name` | The module name. | +| `:provider` | The module provider. Must be lowercase alphanumeric. | +| `:registry-name` | Either `public` or `private`. | + +| Status | Response | Reason | +| ------- | -------------------------------------------------- | ------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-modules"`) | The request was successful | +| [403][] | [JSON API error object][] | Forbidden - public module curation disabled | +| [404][] | [JSON API error object][] | Module not found or user unauthorized to perform action | + +### Sample Request (private module) + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules/private/my-organization/my-module/aws +``` + +### Sample Request (public module) + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules/public/terraform-aws-modules/vpc/aws +``` + +### Sample Response (private module) + +```json +{ + "data": { + "id": "mod-fZn7uHu99ZCpAKZJ", + "type": "registry-modules", + "attributes": { + "name": "my-module", + "provider": "aws", + "namespace": "my-organization", + "registry-name": "private", + "status": "setup_complete", + "version-statuses": [ + { + "version": "1.0.0", + "status": "ok" + } + ], + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T20:16:20.538Z", + "vcs-repo": { + "branch": "", + "ingress-submodules": true, + "identifier": "lafentres/terraform-aws-my-module", + "display-identifier": "lafentres/terraform-aws-my-module", + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ", + "webhook-url": "https://app.terraform.io/webhooks/vcs/a12b3456..." + }, + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/private/my-organization/my-module/aws" + } + } +} +``` + +### Sample Response (public module) + +```json +{ + "data": { + "id": "mod-fZn7uHu99ZCpAKZJ", + "type": "registry-modules", + "attributes": { + "name": "vpc", + "provider": "aws", + "namespace": "terraform-aws-modules", + "registry-name": "public", + "status": "setup_complete", + "version-statuses": [], + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T20:16:20.538Z", + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/public/terraform-aws-modules/vpc/aws" + } + } +} +``` + +## Update a Private Registry Module + +`PATCH /organizations/:organization_name/registry-modules/private/:namespace/:name/:provider/` + +### Parameters + +| Parameter | Description | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to update a module from. The organization must already exist, and the token authenticating the API request must belong to the `owners` team or a member of the `owners` team. | +| `:namespace` | The module namespace that the update affects. For private modules this is the name of the organization that owns the module. | +| `:name` | The module name that the update affects. | +| `:provider` | The name of the provider of the module that is being updated. | + +### Request Body + +These PATCH endpoints require a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------- | ------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `data.type` | string | | Must be `"registry-modules"`. | +| `data.attributes.vcs-repo.branch` | string | (previous value) | The repository branch that Terraform executes tests and publishes new versions from. This cannot be used with the `data.attributes.vcs-repo.tags` key. | +| `data.attributes.vcs-repo.tags` | boolean | (previous value) | Whether the registry module should be tag-based. This cannot be used with the `data.attributes.vcs-repo.branch` key. | +| `data.attributes.test-config.tests-enabled` | boolean | (previous value) | Allows you to enable or disable tests for the module. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "vcs-repo": { + "branch": "main", + "tags": false + }, + "test-config": { + "tests-enabled": true + } + }, + "type": "registry-modules" + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules/private/my-organization/registry-name/registry-provider/ +``` + +### Sample Response + +```json +{ + "data": { + "id": "mod-fZn7uHu99ZCpAKZJ", + "type": "registry-modules", + "attributes": { + "name": "my-module", + "namespace": "my-organization", + "registry-name": "private", + "provider": "aws", + "status": "pending", + "version-statuses": [], + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T19:36:56.288Z", + "vcs-repo": { + "branch": "main", + "ingress-submodules": true, + "identifier": "lafentres/terraform-aws-my-module", + "display-identifier": "lafentres/terraform-aws-my-module", + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ", + "webhook-url": "https://app.terraform.io/webhooks/vcs/a12b3456..." + }, + "permissions": { + "can-delete": true, + "can-resync": true, + "can-retry": true + }, + "test-config": { + "id": "tc-tcR6bxV5zE75Zb3B", + "tests-enabled": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-modules/private/my-organization/my-module/aws" + } + } +} +``` + +## Delete a Module + +
+ **Deprecation warning**: the following endpoints: + +- `POST /registry-modules/actions/delete/:organization_name/:name/:provider/:version` +- `POST /registry-modules/actions/delete/:organization_name/:name/:provider` +- `POST /registry-modules/actions/delete/:organization_name/:name` + +are replaced by the below endpoints and will be removed from future versions of the API! + +
+ +- `DELETE /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider/:version` +- `DELETE /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name/:provider` +- `DELETE /organizations/:organization_name/registry-modules/:registry_name/:namespace/:name` + +### Parameters + +| Parameter | Description | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to delete a module from. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The module namespace that the deletion will affect. For private modules this is the name of the organization that owns the module. | +| `:name` | The module name that the deletion will affect. | +| `:provider` | If specified, the provider for the module that the deletion will affect. | +| `:version` | If specified, the version for the module and provider that will be deleted. | +| `:registry_name` | Either `public` or `private` | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +When removing modules, there are three versions of the endpoint, depending on how many parameters are specified. + +- If all parameters (module namespace, name, provider, and version) are specified, the specified version for the given provider of the module is deleted. +- If module namespace, name, and provider are specified, the specified provider for the given module is deleted along with all its versions. +- If only module namespace and name are specified, the entire module is deleted. + +For public modules, only the the endpoint specifying the module namespace and name is valid. The other DELETE endpoints will 404. +For public modules, this only removes the record from the organization's HCP Terraform Registry and does not remove the public module from registry.terraform.io. + +If a version deletion would leave a provider with no versions, the provider will be deleted. If a provider deletion would leave a module with no providers, the module will be deleted. + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------- | +| [204][] | No Content | Success | +| [403][] | [JSON API error object][] | Forbidden - public module curation disabled | +| [404][] | [JSON API error object][] | Module, provider, or version not found or user not authorized | + +### Sample Request (private module) + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules/private/my-organization/my-module/aws/2.0.0 +``` + +### Sample Request (public module) + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-modules/public/terraform-aws-modules/vpc/aws +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/provider-versions-platforms.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/provider-versions-platforms.mdx new file mode 100644 index 0000000000..029dda55df --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/provider-versions-platforms.mdx @@ -0,0 +1,707 @@ +--- +page_title: /registry-providers API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/registry-providers` endpoint to read, + create, and delete private providers versions and platforms in your private + registry. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Private provider versions and platforms API reference + +These endpoints are only relevant to private providers. When you [publish a private provider](/terraform/enterprise/registry/publish-providers) to the HCP Terraform private registry, you must also create at least one version and at least one platform for that version before consumers can use the provider in configurations. Unlike the public Terraform Registry, the private registry does not automatically upload new releases. You must manually add new provider versions and the associated release files. + +All members of an organization can view and use both public and private providers, but you need [owners team](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) or [Manage Private Registry](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) permissions to add, update, or delete provider versions and platforms in private registry. + +## Create a Provider Version + +`POST /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions` + +The private registry does not automatically update private providers when you release new versions. You must use this endpoint to add each new version. Consumers cannot use new versions until you upload all [required release files](/terraform/enterprise/registry/publish-providers#release-files) and [Create a Provider Platform](#create-a-provider-platform). + +### Parameters + +| Parameter | Description | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create a provider in. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider for which the version is being created. For private providers this is the same as the `:organization_name` parameter. | +| `:name` | The name of the provider for which the version is being created. | + +Creates a new registry provider version. This endpoint only applies to private providers. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------------ | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "registry-provider-versions"`) | Success | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - not available for public providers | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"registry-provider-versions"`. | +| `data.attributes.version` | string | | A valid semver version string. | +| `data.attributes.key-id` | string | | A valid gpg-key string. | +| `data.attributes.protocols` | array | | An array of Terraform provider API versions that this version supports. Must be one or all of the following values `["4.0","5.0","6.0"]`. | + +-> **Note:** Only Terraform 0.13 and later support third-party provider registries, and that Terraform version requires provider API version 5.0 or later. So you do not need to list major versions 4.0 or earlier in the `protocols` attribute. + +### Sample Payload + +```json +{ + "data": { + "type": "registry-provider-versions", + "attributes": { + "version": "3.1.1", + "key-id": "32966F3FB5AC1129", + "protocols": ["5.0"] + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions +``` + +### Sample Response + +```json +{ + "data": { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions", + "attributes": { + "version": "3.1.1", + "created-at": "2022-02-11T19:16:59.876Z", + "updated-at": "2022-02-11T19:16:59.876Z", + "key-id": "32966F3FB5AC1129", + "protocols": ["5.0"], + "permissions": { + "can-delete": true, + "can-upload-asset": true + }, + "shasums-uploaded": false, + "shasums-sig-uploaded": false + }, + "relationships": { + "registry-provider": { + "data": { + "id": "prov-cmEmLstBfjNNA9F3", + "type": "registry-providers" + } + }, + "platforms": { + "data": [], + "links": { + "related": "/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms" + } + } + }, + "links": { + "shasums-upload": "https://archivist.terraform.io/v1/object/dmF1b...", + "shasums-sig-upload": "https://archivist.terraform.io/v1/object/dmF1b..." + } + } +} + +``` + +## Get All Versions for a Single Provider + +`GET /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions/` + +### Parameters + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the provider belongs to. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider. Must be the same as the `organization_name` for the provider. | +| `:name` | The provider name. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | --------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-providers"`) | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions", + "attributes": { + "version": "3.1.1", + "created-at": "2022-02-11T19:16:59.876Z", + "updated-at": "2022-02-11T19:16:59.876Z", + "key-id": "32966F3FB5AC1129", + "protocols": ["5.0"], + "permissions": { + "can-delete": true, + "can-upload-asset": true + }, + "shasums-uploaded": true, + "shasums-sig-uploaded": true + }, + "relationships": { + "registry-provider": { + "data": { + "id": "prov-cmEmLstBfjNNA9F3", + "type": "registry-providers" + } + }, + "platforms": { + "data": [ + { + "id": "provpltfrm-GSHhNzptr9s3WoLD", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-A1PHitiM2KkKpVoM", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-BLJWvWyJ2QMs525k", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-qQYosUguetYtXGzJ", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-pjDHFN46y193bS7t", + "type": "registry-provider-platforms" + } + ], + "links": { + "related": "/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms" + } + } + }, + "links": { + "shasums-download": "https://archivist.terraform.io/v1/object/dmF1b...", + "shasums-sig-download": "https://archivist.terraform.io/v1/object/dmF1b..." + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + } + } +} +``` + +**Note:** The `shasums-uploaded` and `shasums-sig-uploaded` properties will be false if those files have not been uploaded to Archivist. In this case, instead of including links to `shasums-download` and `shasums-sig-download`, the response will include upload links (`shasums-upload` and `shasums-sig-upload`). + +## Get a Version + +`GET /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions/:version` + +### Parameters + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the provider belongs to. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider. Must be the same as the `organization_name` for the provider. | +| `:name` | The provider name. | +| `:version` | The version of the provider being created to which different platforms can be added. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | --------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-providers"`) | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1 +``` + +### Sample Response + +```json +{ + "data": { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions", + "attributes": { + "version": "3.1.1", + "created-at": "2022-02-11T19:16:59.876Z", + "updated-at": "2022-02-11T19:16:59.876Z", + "key-id": "32966F3FB5AC1129", + "protocols": ["5.0"], + "permissions": { + "can-delete": true, + "can-upload-asset": true + }, + "shasums-uploaded": true, + "shasums-sig-uploaded": true + }, + "relationships": { + "registry-provider": { + "data": { + "id": "prov-cmEmLstBfjNNA9F3", + "type": "registry-providers" + } + }, + "platforms": { + "data": [ + { + "id": "provpltfrm-GSHhNzptr9s3WoLD", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-A1PHitiM2KkKpVoM", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-BLJWvWyJ2QMs525k", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-qQYosUguetYtXGzJ", + "type": "registry-provider-platforms" + }, + { + "id": "provpltfrm-pjDHFN46y193bS7t", + "type": "registry-provider-platforms" + } + ], + "links": { + "related": "/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms" + } + } + }, + "links": { + "shasums-download": "https://archivist.terraform.io/v1/object/dmF1b...", + "shasums-sig-download": "https://archivist.terraform.io/v1/object/dmF1b..." + } + } +} +``` + +**Note:** `shasums-uploaded` and `shasums-sig-uploaded` will be false if those files haven't been uploaded to Archivist yet. In this case, instead of including links to `shasums-download` and `shasums-sig-download`, the response will include upload links (`shasums-upload` and `shasums-sig-upload`). + +## Delete a Version + +`DELETE /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions/:provider_version` + +### Parameters + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to delete a provider version from. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider for which the version is being deleted. For private providers this is the same as the `:organization_name` parameter. | +| `:name` | The name of the provider for which the version is being deleted. | +| `:version` | The version for the provider that will be deleted along with its corresponding platforms. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user not authorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/public/hashicorp/aws/versions/3.1.1 +``` + +## Create a Provider Platform + +`POST /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions/:version/platforms` + +Platforms are binaries that allow the provider to run on a particular operating system and architecture combination (e.g., Linux and AMD64). GoReleaser creates binaries automatically when you [create a release on GitHub](/terraform/registry/providers/publishing#creating-a-github-release) or [create a release locally](/terraform/registry/providers/publishing#using-goreleaser-locally). + +You must upload one or more platforms for each version of a private provider. After you create a platform, you must upload the platform binary file to the `provider-binary-upload` URL. + +### Parameters + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create a provider platform in. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider for which the platform is being created. For private providers this is the same as the `:organization_name` parameter. | +| `:name` | The name of the provider for which the platform is being created. | +| `:version` | The provider version of the provider for which the platform is being created. | + +Creates a new registry provider platform. This endpoint only applies to private providers. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "registry-provider-platforms"`) | Success | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - not available for public providers | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------------------------- | ------ | ------- | ---------------------------------------- | +| `data.type` | string | | Must be `"registry-provider-platforms"`. | +| `data.attributes.os` | string | | A valid operating system string. | +| `data.attributes.arch` | string | | A valid architecture string. | +| `data.attributes.shasum` | string | | A valid shasum string. | +| `data.attributes.filename` | string | | A valid filename string. | + +### Sample Payload + +```json +{ + "data": { + "type": "registry-provider-version-platforms", + "attributes": { + "os": "linux", + "arch": "amd64", + "shasum": "8f69533bc8afc227b40d15116358f91505bb638ce5919712fbb38a2dec1bba38", + "filename": "terraform-provider-aws_3.1.1_linux_amd64.zip" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms +``` + +### Sample Response + +```json +{ + "data": { + "id": "provpltfrm-BLJWvWyJ2QMs525k", + "type": "registry-provider-platforms", + "attributes": { + "os": "linux", + "arch": "amd64", + "filename": "terraform-provider-aws_3.1.1_linux_amd64.zip", + "shasum": "8f69533bc8afc227b40d15116358f91505bb638ce5919712fbb38a2dec1bba38", + "permissions": { + "can-delete": true, + "can-upload-asset": true + }, + "provider-binary-uploaded": false + }, + "relationships": { + "registry-provider-version": { + "data": { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions" + } + } + }, + "links": { + "provider-binary-upload": "https://archivist.terraform.io/v1/object/dmF1b..." + } + } +} + +``` + +## Get All Platforms for a Single Version + +`GET /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions/:version/platforms` + +### Parameters + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the provider belongs to. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider. Must be the same as the `organization_name` for the provider. | +| `:name` | The provider name. | +| `:version` | The version of the provider. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | --------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-providers"`) | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "provpltfrm-GSHhNzptr9s3WoLD", + "type": "registry-provider-platforms", + "attributes": { + "os": "darwin", + "arch": "amd64", + "filename": "terraform-provider-aws_3.1.1_darwin_amd64.zip", + "shasum": "fd580e71bd76d76913e1925f2641be9330c536464af9a08a5b8994da65a26cbc", + "permissions": { + "can-delete": true, + "can-upload-asset": true + }, + "provider-binary-uploaded": true + }, + "relationships": { + "registry-provider-version": { + "data": { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions" + } + } + }, + "links": { + "provider-binary-download": "https://archivist.terraform.io/v1/object/dmF1b..." + } + }, + { + "id": "provpltfrm-A1PHitiM2KkKpVoM", + "type": "registry-provider-platforms", + "attributes": { + "os": "darwin", + "arch": "arm64", + "filename": "terraform-provider-aws_3.1.1_darwin_arm64.zip", + "shasum": "de3c351d7f35a3c8c583c0da5c1c4d558b8cea3731a49b15f63de5bbbafc0165", + "permissions": { + "can-delete": true, + "can-upload-asset": true + }, + "provider-binary-uploaded": true + }, + "relationships": { + "registry-provider-version": { + "data": { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions" + } + } + }, + "links": { + "provider-binary-download": "https://archivist.terraform.io/v1/object/dmF1b..." + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 2 + } + } +} +``` + +**Note:** The `provider-binary-uploaded` property will be `false` if that file has not been uploaded to Archivist. In this case, instead of including a link to `provider-binary-download`, the response will include an upload link `provider-binary-upload`. + +## Get a Platform + +`GET /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions/:version/platforms/:os/:arch` + +### Parameters + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the provider belongs to. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider. Must be the same as the `organization_name` for the provider. | +| `:name` | The provider name. | +| `:version` | The version of the provider. | +| `:os` | The operating system of the provider platform. | +| `:arch` | The architecture of the provider platform. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | --------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-providers"`) | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms/linux/amd64 +``` + +### Sample Response + +```json +{ + "data": { + "id": "provpltfrm-BLJWvWyJ2QMs525k", + "type": "registry-provider-platforms", + "attributes": { + "os": "linux", + "arch": "amd64", + "filename": "terraform-provider-aws_3.1.1_linux_amd64.zip", + "shasum": "8f69533bc8afc227b40d15116358f91505bb638ce5919712fbb38a2dec1bba38", + "permissions": { + "can-delete": true, + "can-upload-asset": true + }, + "provider-binary-uploaded": true + }, + "relationships": { + "registry-provider-version": { + "data": { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions" + } + } + }, + "links": { + "provider-binary-download": "https://archivist.terraform.io/v1/object/dmF1b..." + } + } +} +``` + +**Note:** The `provider-binary-uploaded` property will be `false` if that file has not been uploaded to Archivist. In this case, instead of including a link to `provider-binary-download`, the response will include an upload link `provider-binary-upload`. + +## Delete a Platform + +`DELETE /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name/versions/:version/platforms/:os/:arch` + +### Parameters + +| Parameter | Description | +| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to delete a provider platform from. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:registry_name` | Must be `private`. | +| `:namespace` | The namespace of the provider for which the platform is being deleted. For private providers this is the same as the `:organization_name` parameter. | +| `:name` | The name of the provider for which the platform is being deleted. | +| `:version` | The version for which the platform is being deleted. | +| `:os` | The operating system of the provider platform that is being deleted. | +| `:arch` | The architecture of the provider platform that is being deleted. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user not authorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws/versions/3.1.1/platforms/linux/amd64 +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/providers.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/providers.mdx new file mode 100644 index 0000000000..44719c2f16 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/providers.mdx @@ -0,0 +1,471 @@ +--- +page_title: /registry-providers API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's organization `/registry-providers` endpoint + to list, create, get, and delete providers in your private registry. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Registry providers API reference + +You can add publicly curated providers from the [Terraform Registry](https://registry.terraform.io/) and custom, private providers to your HCP Terraform private registry. The private registry stores a pointer to public providers so that you can view their data from within HCP Terraform. This lets you clearly designate all of the providers that are recommended for the organization and makes them centrally accessible. + +All members of an organization can view and use both public and private providers, but you need [owners team](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) or [Manage Private Registry](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) permissions to add, update, or delete them them in private registry. + +## HCP Terraform Registry Implementation + +For publicly curated providers, the HCP Terraform Registry acts as a proxy to the [Terraform Registry](https://registry.terraform.io) for the following: + +- The public registry discovery endpoints have the path prefix provided in the [discovery document](/terraform/registry/api-docs#service-discovery) which is currently `/api/registry/public/v1`. +- [Authentication](/terraform/enterprise/api-docs#authentication) is handled the same as all other HCP Terraform endpoints. + +## List Terraform Registry Providers for an Organization + +`GET /organizations/:organization_name/registry-providers` + +### Parameters + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------- | +| `:organization_name` | The name of the organization to list available providers from. | + +Lists the providers included in the private registry for the specified organization. + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | ---------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-providers"`) | Success | +| [404][] | [JSON API error object][] | Providers not found or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `q` | **Optional.** A search query string. Providers are searchable by both their name and their namespace fields. | +| `filter[field name]` | **Optional.** If specified, restricts results to those with the matching field name value. Valid values are `registry_name`, and `organization_name`. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 registry providers per page. | + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-providers +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "prov-kwt1cBiX2SdDz38w", + "type": "registry-providers", + "attributes": { + "name": "aws", + "namespace": "my-organization", + "created-at": "2021-04-07T19:01:18.528Z", + "updated-at": "2021-04-07T19:01:19.863Z", + "registry-name": "public", + "permissions": { + "can-delete": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-providers/public/my-organization/aws" + } + }, + { + "id": "prov-PopQnMtYDCcd3PRX", + "type": "registry-providers", + "attributes": { + "name": "aurora", + "namespace": "my-organization", + "created-at": "2021-04-07T19:04:41.375Z", + "updated-at": "2021-04-07T19:04:42.828Z", + "registry-name": "public", + "permissions": { + "can-delete": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-providers/public/my-organization/aurora" + } + }, + ..., + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/my-organization/registry-providers?page%5Bnumber%5D=1&page%5Bsize%5D=6", + "first": "https://app.terraform.io/api/v2/organizations/my-organization/registry-providers?page%5Bnumber%5D=1&page%5Bsize%5D=6", + "prev": null, + "next": "https://app.terraform.io/api/v2/organizations/my-organization/registry-providers?page%5Bnumber%5D=2&page%5Bsize%5D=6", + "last": "https://app.terraform.io/api/v2/organizations/my-organization/registry-providers?page%5Bnumber%5D=29&page%5Bsize%5D=6" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 6, + "prev-page": null, + "next-page": 2, + "total-pages": 29, + "total-count": 169 + } + } +} +``` + +## Create a Provider + +`POST /organizations/:organization_name/registry-providers` + +Use this endpoint to create both public and private providers: + +- **Public providers:** The public provider record will be available in the organization's registry provider list immediately after creation. You cannot create versions for public providers; you must use the versions available on the Terraform Registry. +- **Private providers:** The private provider record will be available in the organization's registry provider list immediately after creation, but you must [create a version and upload release assets](/terraform/enterprise/registry/publish-providers#publishing-a-provider-and-creating-a-version) before consumers can use it. The private registry does not automatically update private providers when you release new versions. You must add each new version with the [Create a Provider Version](/terraform/enterprise/api-docs/private-registry/provider-versions-platforms#create-a-provider-version) endpoint. + +### Parameters + +| Parameter | Description | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create a provider in. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "registry-providers"`) | Successfully published provider | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +~> **Important:** For private providers, you must also create a version, a platform, and upload release assets before consumers can use the provider. Refer to [Publishing a Private Provider](/terraform/enterprise/registry/publish-providers) for more details. + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------------ | +| `data.type` | string | | Must be `"registry-providers"`. | +| `data.attributes.name` | string | | The name of the provider. | +| `data.attributes.namespace` | string | | The namespace of the provider. For private providers this is the same as the `:organization_name` parameter. | +| `data.attributes.registry-name` | string | | Whether this is a publicly maintained provider or private. Must be either `public` or `private`. | + +### Sample Payload (Private Provider) + +```json +{ + "data": { + "type": "registry-providers", + "attributes": { + "name": "aws", + "namespace": "hashicorp", + "registry-name": "private" + } + } +} +``` + +### Sample Payload (Public Provider) + +```json +{ + "data": { + "type": "registry-providers", + "attributes": { + "name": "aws", + "namespace": "hashicorp", + "registry-name": "public" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-providers +``` + +### Sample Response (Private Provider) + +```json +{ + "data": { + "id": "prov-cmEmLstBfjNNA9F3", + "type": "registry-providers", + "attributes": { + "name": "aws", + "namespace": "hashicorp", + "registry-name": "private", + "created-at": "2022-02-11T19:16:59.533Z", + "updated-at": "2022-02-11T19:16:59.533Z", + "permissions": { + "can-delete": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "versions": { + "data": [], + "links": { + "related": "/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws" + } + } + }, + "links": { + "self": "/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws" + } + } +} +``` + +### Sample Response (Public Provider) + +```json +{ + "data": { + "id": "prov-fZn7uHu99ZCpAKZJ", + "type": "registry-providers", + "attributes": { + "name": "aws", + "namespace": "hashicorp", + "registry-name": "public", + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T19:36:56.288Z", + "permissions": { + "can-delete": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-providers/public/hashicorp/aws" + } + } +} +``` + +## Get a Provider + +`GET /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name` + +### Parameters + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization the provider belongs to. | +| `:registry_name` | Whether this is a publicly maintained provider or private. Must be either `public` or `private`. | +| `:namespace` | The namespace of the provider. For private providers this is the same as the `:organization_name` parameter. | +| `:name` | The provider name. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | --------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "registry-providers"`) | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user unauthorized to perform action | + +### Sample Request (Private Provider) + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws +``` + +### Sample Request (Public Provider) + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-providers/public/hashicorp/aws +``` + +### Sample Response (Private Provider) + +```json +{ + "data": { + "id": "prov-cmEmLstBfjNNA9F3", + "type": "registry-providers", + "attributes": { + "name": "aws", + "namespace": "hashicorp", + "created-at": "2022-02-11T19:16:59.533Z", + "updated-at": "2022-02-11T19:16:59.533Z", + "registry-name": "private", + "permissions": { + "can-delete": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "versions": { + "data": [ + { + "id": "provver-y5KZUsSBRLV9zCtL", + "type": "registry-provider-versions" + } + ], + "links": { + "related": "/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws" + } + } + }, + "links": { + "self": "/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws" + } + } +} +``` + +### Sample Response (Public Provider) + +```json +{ + "data": { + "id": "prov-fZn7uHu99ZCpAKZJ", + "type": "registry-providers", + "attributes": { + "name": "aws", + "namespace": "hashicorp", + "registry-name": "public", + "created-at": "2020-07-09T19:36:56.288Z", + "updated-at": "2020-07-09T20:16:20.538Z", + "permissions": { + "can-delete": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + }, + "links": { + "self": "/api/v2/organizations/my-organization/registry-providers/public/hashicorp/aws" + } + } +} +``` + +## Delete a Provider + +`DELETE /organizations/:organization_name/registry-providers/:registry_name/:namespace/:name` + +### Parameters + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization to delete a provider from. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:registry_name` | Whether this is a publicly maintained provider or private. Must be either `public` or `private`. | +| `:namespace` | The namespace of the provider that will be deleted. | +| `:name` | The name of the provider that will be deleted. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | Success | +| [403][] | [JSON API error object][] | Forbidden - public provider curation disabled | +| [404][] | [JSON API error object][] | Provider not found or user not authorized to perform action | + +### Sample Request (Private Provider) + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/hashicorp/registry-providers/private/hashicorp/aws +``` + +### Sample Request (Public Provider) + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/my-organization/registry-providers/public/hashicorp/aws +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/tests.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/tests.mdx new file mode 100644 index 0000000000..ea1b7f4b60 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/private-registry/tests.mdx @@ -0,0 +1,755 @@ +--- +page_title: /tests API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/tests` endpoint to list, get, create, and + cancel Terraform test runs. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Tests API reference + +Tests are terraform operations(runs) and are referred to as Test Runs within the HCP Terraform API. + +Performing a test on a new configuration is a multi-step process. + +1. [Create a configuration version on the registry module](#create-a-configuration-version-for-a-test). +2. [Upload configuration files to the configuration version](#upload-configuration-files-for-a-test). +3. [Create a test on the module](#create-a-test-run); HCP Terraform completes this step automatically when you upload a configuration file. + +Alternatively, you can create a test with a pre-existing configuration version, even one from another module. This is useful for promoting known good code from one module to another. + +## Attributes + +The `tests` API endpoint has the following attributes. + +### Test Run States + +The state of the test operation is found in `data.attributes.status`, and you can reference the following list of possible states. + +| State | Description | +| ---------- | ----------------------------------------------------- | +| `pending` | The initial status of a run after creation. | +| `queued` | HCP Terraform has queued the test operation to start. | +| `running` | HCP Terraform is executing the test. | +| `errored` | The test has errored. This is a final state. | +| `canceled` | The test has been canceled. This is a final state. | +| `finished` | The test has completed. This is a final state. | + +### Test run status + +The final test status is found in `data.attributes.test-status`, and you can reference the following list of possible states. + +| Status | Description | +| ------ | ---------------------------- | +| `pass` | The given tests have passed. | +| `fail` | The given tests have failed. | + +### Detailed test status + +The test results can be found via the following attributes + +| Status | Description | | +| ------------------------------- | ------------------------------------------- | - | +| `data.attributes.tests-passed` | The number of tests that have passed. | | +| `data.attributes.tests-failed` | The number of tests that have failed. | | +| `data.attributes.tests-errored` | The number of tests that have errored out. | | +| `data.attributes.tests-skipped` | The number of tests that have been skipped. | | + +### Test Sources + +List tests for a module. You can use the following sources as [tests list](/terraform/enterprise/api-docs/private-registry/tests#list-tests-for-a-module) query parameters. + +| Source | Description | +| --------------------------- | ---------------------------------------------------------------------------------------- | +| `terraform` | Indicates a test was queued from HCP Terraform CLI. | +| `tfe-api` | Indicates a test was queued from HCP Terraform API. | +| `tfe-configuration-version` | Indicates a test was queued from a Configuration Version, triggered from a VCS provider. | + +## Create a Test + +`POST /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/test-runs` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The namespace of the module for which the test is being created. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module for which the test is being created. | +| `:provider` | The name of the provider for which the test is being created. | + +A test run executes tests against a registry module, using a configuration version and the modules’s current environment variables. + +Creating a test run requires permission to access the specified module. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for more information. + +When creating a test run, you may optionally provide a list of variable objects containing key and value attributes. These values apply to that test run specifically and take precedence over variables with the same key that are created within the module. All values must be expressed as an HCL literal in the same syntax you would use when writing Terraform code. + +**Sample Test Variables:** + +```json +"attributes": { + "variables": [ + { "key": "replicas", "value": "2" }, + { "key": "access_key", "value": "\"ABCDE12345\"" } + ] +} +``` + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------------------------------------------------- | -------------------- | ------------- | -------------------------------------------------------------------------------------------------- | +| `data.attributes.verbose` | bool | `false` | Specifies whether Terraform should print the plan or state for each test run block as it executes. | +| `data.attributes.test-directory` | string | `"tests"` | Sets the directory where HCP Terraform executes the tests. | +| `data.attributes.filters` | array\[string] | (empty array) | When specified, HCP Terraform only executes the test files contained within this array. | +| `data.attributes.variables` | array\[{key, value}] | (empty array) | Specifies an optional list of test-specific environment variable values. | +| `data.relationships.configuration-version.data.id` | string | none | Specifies the configuration version that HCP Terraform executes the test against. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "verbose": true, + "filters": ["tests/test.tftest.hcl"], + "test-directory": "tests", + "variables": [ + { "key" : "number", "value": 4} + ] + }, + "type":"test-runs" + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/private/registry-provider/test-runs +``` + +### Sample Response + +```json +{ + "data": { + "id": "trun-KFg8DSiRz4E37mdJ", + "type": "test-runs", + "attributes": { + "status": "queued", + "status-timestamps": { + "queued-at": "2023-10-03T18:27:39+00:00" + }, + "created-at": "2023-10-03T18:27:39.239Z", + "updated-at": "2023-10-03T18:27:39.264Z", + "test-configurable-type": "RegistryModule", + "test-configurable-id": "mod-9rjVHLCUE9QD3k6L", + "variables": [ + { + "key": "number", + "value": "4" + } + ], + "filters": [ + "tests/test.tftest.hcl" + ], + "test-directory": "tests", + "verbose": true, + "test-status": null, + "tests-passed": null, + "tests-failed": null, + "tests-errored": null, + "tests-skipped": null, + "source": "tfe-api", + "message": "Queued manually via the Terraform Enterprise API" + }, + "relationships": { + "configuration-version": { + "data": { + "id": "cv-d3zBGFf5DfWY4GY9", + "type": "configuration-versions" + }, + "links": { + "related": "/api/v2/configuration-versions/cv-d3zBGFf5DfWY4GY9" + } + }, + "created-by": { + "data": { + "id": "user-zsRFs3AGaAHzbEfs", + "type": "users" + }, + "links": { + "related": "/api/v2/users/user-zsRFs3AGaAHzbEfs" + } + } + } + } +} +``` + +## Create a Configuration Version for a Test + +`POST /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/test-runs/configuration-versions` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The namespace of the module for which the configuration version is being created. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module for which the configuration version is being created. | +| `:provider` | The name of the provider for which the configuration version is being created. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/test-runs/configuration-versions +``` + +### Sample Response + +```json +{ + "data": { + "id": "cv-aaady7niJMY1wAvx", + "type": "configuration-versions", + "attributes": { + "auto-queue-runs": true, + "error": null, + "error-message": null, + "source": "tfe-api", + "speculative": false, + "status": "pending", + "status-timestamps": {}, + "changed-files": [], + "provisional": false, + "upload-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djM6eFliQ0l1ZEhNUDRMZmdWeExoYWZ1WnFwaCtYQUFSQjFaWVcySkEyT0tyZTZXQ0hjN3ZYQkFvbkJHWkg2Y0U2MDRHRXFvQVl6cUJqQzJ0VkppVHBXTlJNWmpVc1ZTekg5Q1hMZ0hNaUpNdUhib1hGS1RpT3czRGdRaWtPZFZ3VWpDQ1U0S2dhK2xLTUQ2ZFZDaUZ3SktiNytrMlpoVHd0cXdGVHIway8zRkFmejdzMSt0Rm9TNFBTV3dWYjZUTzJVNE1jaW9UZ2VKVFJNRnUvbjBudUp4U0l6VzFDYkNzVVFsb2VFbC9DRFlCTWFsbXBMNzZLUGQxeTJHb09ZTkxHL1d2K1NtcmlEQXptZTh1Q1BwR1dhbVBXQTRiREdlTkI3Qyt1YTRRamFkRzBWYUg3NE52TGpqT1NKbzFrZ3J3QmxnMGhHT3VaTHNhSmo0eXpv" + }, + "relationships": { + "ingress-attributes": { + "data": null, + "links": { + "related": "/api/v2/configuration-versions/cv-aaady7niJMY1wAvx/ingress-attributes" + } + } + }, + "links": { + "self": "/api/v2/configuration-versions/cv-aaady7niJMY1wAvx" + } + } +} +``` + +## Upload Configuration Files for a Test + +`PUT https://archivist.terraform.io/v1/object/` + +**The URL is provided in the `upload-url` attribute when creating a `configuration-versions` resource. After creation, the URL is hidden on the resource and no longer available.** + +### Sample Request + +**@filename is the name of the configuration file you wish to upload.** + +```shell +curl \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @filename \ + https://archivist.terraform.io/v1/object/4c44d964-eba7-4dd5-ad29-1ece7b99e8da +``` + +## List Tests for a Module + +`GET /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/test-runs/` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The namespace of the module which the tests have executed against. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module which the tests have executed against. | +| `:provider` | The name of the provider which the tests have executed against. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling does not automatically encode URLs. + +| Parameter | Description | Required | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | +| `page[number]` | If omitted, the endpoint returns the first page. | Optional | +| `page[size]` | If omitted, the endpoint returns 20 runs per page. | Optional | +| `filter[source]` | **Optional.** A comma-separated list of test sources; the result will only include tests that came from one of these sources. Options are listed in [Test Sources](/terraform/enterprise/api-docs/private-registry/tests#test-sources). | | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/test-runs +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "trun-KFg8DSiRz4E37mdJ", + "type": "test-runs", + "attributes": { + "status": "finished", + "status-timestamps": { + "queued-at": "2023-10-03T18:27:39+00:00", + "started-at": "2023-10-03T18:27:41+00:00", + "finished-at": "2023-10-03T18:27:53+00:00" + }, + "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djM6eFliQ0l1ZEhNUDRMZmdWeExoYWZ1WnFwaCtYQUFSQjFaWVcySkEyT0tyZTZXQ0hjN3ZYQkFvbkJHWkg2Y0U2MDRHRXFvQVl6cUJqQzJ0VkppVHBXTlJNWmpVc1ZTekg5Q1hMZ0hNaUpNdUhib1hGS1RpT3czRGdRaWtPZFZ3VWpDQ1U0S2dhK2xLTUQ2ZFZDaUZ3SktiNytrMlpoVHd0cXdGVHIway8zRkFmejdzMSt0Rm9TNFBTV3dWYjZUTzJVNE1jaW9UZ2VKVFJNRnUvbjBudUp4U0l6VzFDYkNzVVFsb2VFbC9DRFlCTWFsbXBMNzZLUGQxeTJHb09ZTkxHL1d2K1NtcmlEQXptZTh1Q1BwR1dhbVBXQTRiREdlTkI3Qyt1YTRRamFkRzBWYUg3NE52TGpqT1NKbzFrZ3J3QmxnMGhHT3VaTHNhSmo0eXpv", + "created-at": "2023-10-03T18:27:39.239Z", + "updated-at": "2023-10-03T18:27:53.574Z", + "test-configurable-type": "RegistryModule", + "test-configurable-id": "mod-9rjVHLCUE9QD3k6L", + "variables": [ + { + "key": "number", + "value": "4" + } + ], + "filters": [ + "tests/test.tftest.hcl" + ], + "test-directory": "tests", + "verbose": true, + "test-status": "pass", + "tests-passed": 1, + "tests-failed": 0, + "tests-errored": 0, + "tests-skipped": 0, + "source": "tfe-api", + "message": "Queued manually via the Terraform Enterprise API" + }, + "relationships": { + "configuration-version": { + "data": { + "id": "cv-d3zBGFf5DfWY4GY9", + "type": "configuration-versions" + }, + "links": { + "related": "/api/v2/configuration-versions/cv-d3zBGFf5DfWY4GY9" + } + }, + "created-by": { + "data": { + "id": "user-zsRFs3AGaAHzbEfs", + "type": "users" + }, + "links": { + "related": "/api/v2/users/user-zsRFs3AGaAHzbEfs" + } + } + } + }, + {...} + ] +} +``` + +## Get Test Details + +`GET /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/test-runs/:test_run_id` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The namespace of the module which the test was executed against. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module which the test was executed against. | +| `:provider` | The name of the provider which the test was executed against. | +| `:test_run_id` | The test ID to get. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/test-runs/trun-xFMAHM3FhkFBL6Z7 +``` + +### Sample Response + +```json +{ + "data": { + "id": "trun-KFg8DSiRz4E37mdJ", + "type": "test-runs", + "attributes": { + "status": "finished", + "status-timestamps": { + "queued-at": "2023-10-03T18:27:39+00:00", + "started-at": "2023-10-03T18:27:41+00:00", + "finished-at": "2023-10-03T18:27:53+00:00" + }, + "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djM6eFliQ0l1ZEhNUDRMZmdWeExoYWZ1WnFwaCtYQUFSQjFaWVcySkEyT0tyZTZXQ0hjN3ZYQkFvbkJHWkg2Y0U2MDRHRXFvQVl6cUJqQzJ0VkppVHBXTlJNWmpVc1ZTekg5Q1hMZ0hNaUpNdUhib1hGS1RpT3czRGdRaWtPZFZ3VWpDQ1U0S2dhK2xLTUQ2ZFZDaUZ3SktiNytrMlpoVHd0cXdGVHIway8zRkFmejdzMSt0Rm9TNFBTV3dWYjZUTzJVNE1jaW9UZ2VKVFJNRnUvbjBudUp4U0l6VzFDYkNzVVFsb2VFbC9DRFlCTWFsbXBMNzZLUGQxeTJHb09ZTkxHL1d2K1NtcmlEQXptZTh1Q1BwR1dhbVBXQTRiREdlTkI3Qyt1YTRRamFkRzBWYUg3NE52TGpqT1NKbzFrZ3J3QmxnMGhHT3VaTHNhSmo0eXpv", + "created-at": "2023-10-03T18:27:39.239Z", + "updated-at": "2023-10-03T18:27:53.574Z", + "test-configurable-type": "RegistryModule", + "test-configurable-id": "mod-9rjVHLCUE9QD3k6L", + "variables": [ + { + "key": "number", + "value": "4" + } + ], + "filters": [ + "tests/test.tftest.hcl" + ], + "test-directory": "tests", + "verbose": true, + "test-status": "pass", + "tests-passed": 1, + "tests-failed": 0, + "tests-errored": 0, + "tests-skipped": 0, + "source": "tfe-api", + "message": "Queued manually via the Terraform Enterprise API" + }, + "relationships": { + "configuration-version": { + "data": { + "id": "cv-d3zBGFf5DfWY4GY9", + "type": "configuration-versions" + }, + "links": { + "related": "/api/v2/configuration-versions/cv-d3zBGFf5DfWY4GY9" + } + }, + "created-by": { + "data": { + "id": "user-zsRFs3AGaAHzbEfs", + "type": "users" + }, + "links": { + "related": "/api/v2/users/user-zsRFs3AGaAHzbEfs" + } + } + } + } +} +``` + +## Cancel a Test + +`POST /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/test-runs/:test_run_id/cancel` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization to create a test in. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The namespace of the module for which the test is being canceled. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module for which the test is being canceled. | +| `:provider` | The name of the provider for which the test is being canceled. | +| `:test_run_id` | The test ID to cancel. | + +Use the `cancel` action to interrupt a test that is currently running. The action sends an `INT` signal to the running Terraform process, which instructs Terraform to safely end the tests and attempt to teardown any infrastructure that your tests create. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ------------------------------------------ | +| [202][] | none | Successfully queued a cancel request. | +| [409][] | [JSON API error object][] | Test was not running; cancel not allowed. | +| [404][] | [JSON API error object][] | Test was not found or user not authorized. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/test-runs/trun-xFMAHM3FhkFBL6Z7/cancel +``` + +## Forcefully cancel a Test + +`POST /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/test-runs/:test_run_id/force-cancel` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the `owners` team or a member of the `owners` team. | +| `:namespace` | The namespace of the module for which the test is being force-canceled. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module for which the test is being force-canceled. | +| `:provider` | The name of the provider for which the test is being force-canceled. | +| `:test_run_id` | The test ID to cancel. | + +The `force-cancel` action ends the test immediately. Once invoked, Terraform places the test into a `canceled` state and terminates the running Terraform process. + +~> **Warning:** This endpoint has potentially dangerous side-effects, including loss of any in-flight state in the running Terraform process. Use this operation with extreme caution. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | -------------------------------------------------------------- | +| [202][] | none | Successfully queued a cancel request. | +| [409][] | [JSON API error object][] | Test was not running, or has not been canceled non-forcefully. | +| [404][] | [JSON API error object][] | Test was not found or user not authorized. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/test-runs/trun-xFMAHM3FhkFBL6Z7/force-cancel +``` + +## Create an Environment Variable for Module Tests + +`POST /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/vars` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization of the module. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The namespace of the module for which the testing environment variable is being created. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module for which the testing environment variable is being created. | +| `:provider` | The name of the provider for which the testing environment variable is being created. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------- | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | none | Must be `"vars"`. | +| `data.attributes.key` | string | none | The variable's name. Test variable keys must begin with a letter or underscore and can only contain letters, numbers, and underscores. | +| `data.attributes.value` | string | `""` | The value of the variable. | +| `data.attributes.description` | string | none | The description of the variable. | +| `data.attributes.category` | string | none | This must be `"env"`. | +| `data.attributes.sensitive` | bool | `false` | Whether the value is sensitive. When set to `true`, Terraform writes the variable once and is not visible thereafter. | + +### Sample Payload + +```json +{ + "data": { + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "description":"some description", + "category":"env", + "sensitive":false + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/vars +``` + +### Sample Response + + { + "data": { + "id": "var-xSCUzCxdqMs2ygcg", + "type": "vars", + "attributes": { + "key": "keykey", + "value": "some_value", + "sensitive": false, + "category": "env", + "hcl": false, + "created-at": "2023-10-03T19:47:05.393Z", + "description": "some description", + "version-id": "699b14ea5d5e5c02f6352fac6bfd0a1424c21d32be14d1d9eb79f5e1f28f663a" + }, + "links": { + "self": "/api/v2/vars/var-xSCUzCxdqMs2ygcg" + } + } + } + +## List Test Variables for a Module + +`GET /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/vars` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the `owners` team or a member of the `owners` team. | +| `:namespace` | The namespace of the module which the test environment variables were created for. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module which the test environment variables were created for. | +| `:provider` | The name of the provider which the test environment variables were created for. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/vars +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "var-xSCUzCxdqMs2ygcg", + "type": "vars", + "attributes": { + "key": "keykey", + "value": "some_value", + "sensitive": false, + "category": "env", + "hcl": false, + "created-at": "2023-10-03T19:47:05.393Z", + "description": "some description", + "version-id": "699b14ea5d5e5c02f6352fac6bfd0a1424c21d32be14d1d9eb79f5e1f28f663a" + }, + "links": { + "self": "/api/v2/vars/var-xSCUzCxdqMs2ygcg" + } + } + ] +} +``` + +## Update Test Variables for a Module + +`PATCH /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/vars/variable_id` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the "owners" team or a member of the "owners" team. | +| `:namespace` | The namespace of the module for which the test environment variable is being updated. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module for which the test environment variable is being updated. | +| `:provider` | The name of the provider for which the test environment variable is being updated. | +| `:variable_id` | The ID of the variable to update. | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.attributes` | object | none | New attributes for the variable. This object can include `key`, `value`, `description`, `category`, and `sensitive` properties. Refer to [Create an Environment Variable for Module Tests](#create-an-environment-variable-for-module-tests) for additional information. All properties are optional. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "key":"name", + "value":"mars", + "description": "new description", + "category":"env", + "sensitive": false + }, + "type":"vars" + } +} +``` + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/vars/var-yRmifb4PJj7cLkMG +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-yRmifb4PJj7cLkMG", + "type":"vars", + "attributes": { + "key":"name", + "value":"mars", + "description":"new description", + "sensitive":false, + "category":"env", + "hcl":false + } + } +} +``` + +## Delete Test Variable for a Module + +`DELETE /organizations/:organization_name/tests/registry-modules/private/:namespace/:name/:provider/vars/variable_id` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization for the module. The organization must already exist, and the token authenticating the API request must belong to the `owners` team or a member of the `owners` team. | +| `:namespace` | The namespace of the module for which the test environment variable is being deleted. For private modules this is the same as the `:organization_name` parameter. | +| `:name` | The name of the module for which the test environment variable is being deleted. | +| `:provider` | The name of the provider for which the test environment variable is being deleted. | +| `:variable_id` | The ID of the variable to delete. | + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/my-organization/tests/registry-modules/private/my-organization/registry-name/registry-provider/vars/var-yRmifb4PJj7cLkMG +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/project-team-access.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/project-team-access.mdx new file mode 100644 index 0000000000..84b479ca00 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/project-team-access.mdx @@ -0,0 +1,523 @@ +--- +page_title: /team-projects API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/team-projects` endpoint to read, add, + update, and remove team access from a project. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Project team access API reference + + + +@include 'tfc-package-callouts/project-permissions.mdx' + + + +The team access APIs are used to associate a team to permissions on a project. A single `team-project` resource contains the relationship between the Team and Project, including the privileges the team has on the project. + +## Resource permissions + +A `team-project` resource represents a team's local permissions on a specific project. Teams can also have organization-level permissions that grant access to projects. HCP Terraform uses the more restrictive access level. For example, a team with the **Manage projects** permission enabled has admin access on all projects, even if their `team-project` on a particular project only grants read access. For more information, refer to [Managing Project Access](/terraform/enterprise/users-teams-organizations/teams/manage#managing-project-access). + +Any member of an organization can view team access relative to their own team memberships, including secret teams of which they are a member. Organization owners and project admins can modify team access or view the full set of secret team accesses. The organization token and the owners team token can act as an owner on these endpoints. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for additional information. + +## Project Team Access Levels + +| Access Level | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `read` | Read project and Read workspace access role on project workspaces | +| `write` | Read project and Write workspace access role on project workspaces | +| `maintain` | Read project and Admin workspace access role on project workspaces | +| `admin` | Admin project, Admin workspace access role on project workspaces, create workspaces within project, move workspaces between projects, manage project team access | +| `custom` | Custom access permissions on project and project's workspaces | + +## List Team Access to a Project + +`GET /team-projects` + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | -------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "team-projects"`) | The request was successful | +| [404][] | [JSON API error object][] | Project not found or user unauthorized to perform action | + +### Query Parameters + +[These are standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). + +| Parameter | Description | +| --------------------- | ----------------------------------------------------- | +| `filter[project][id]` | **Required.** The project ID to list team access for. | +| `page[number]` | **Optional.** | +| `page[size]` | **Optional.** | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + "https://app.terraform.io/api/v2/team-projects?filter%5Bproject%5D%5Bid%5D=prj-ckZoJwdERaWcFHwi" +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "tprj-TLznAnYdcsD2Dcmm", + "type": "team-projects", + "attributes": { + "access": "read", + "project-access": { + "settings": "read", + "teams": "none" + }, + "workspace-access": { + "create": false, + "move": false, + "locking": false, + "delete": false, + "runs": "read", + "variables": "read", + "state-versions": "read", + "sentinel-mocks": "none", + "run-tasks": false + } + }, + "relationships": { + "team": { + "data": { + "id": "team-KpibQGL5GqRAWBwT", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-KpibQGL5GqRAWBwT" + } + }, + "project": { + "data": { + "id": "prj-ckZoJwdERaWcFHwi", + "type": "projects" + }, + "links": { + "related": "/api/v2/projects/prj-ckZoJwdERaWcFHwi" + } + } + }, + "links": { + "self": "/api/v2/team-projects/tprj-TLznAnYdcsD2Dcmm" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/team-projects?filter%5Bproject%5D%5Bid%5D=prj-ckZoJwdERaWcFHwi&page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/team-projects?filter%5Bproject%5D%5Bid%5D=prj-ckZoJwdERaWcFHwi&page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/team-projects?filter%5Bproject%5D%5Bid%5D=prj-ckZoJwdERaWcFHwi&page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + } + } +} +``` + +## Show a Team Access relationship + +`GET /team-projects/:id` + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "team-projects"`) | The request was successful | +| [404][] | [JSON API error object][] | Team access not found or user unauthorized to perform action | + +| Parameter | Description | +| --------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the team/project relationship. Obtain this from the [list team access action](#list-team-access-to-a-project) described above. | + +As mentioned in [Add Team Access to a Project](#add-team-access-to-a-project) and [Update to a Project](#update-team-access-to-a-project), several permission attributes are not editable unless you set `access` to `custom`. If you set `access` to `read`, `plan`, `write`, or `admin`, certain attributes are read-only and reflect the _implicit permissions_ granted to the current access level. + +For example, if you set `access` to `read`, the implicit permission level for project settings and workspace run is "read". Conversely, if you set the access level to `admin`, the implicit permission level for the project settings is "delete", while the workspace runs permission is "apply". + +Several permission attributes are not editable unless `access` is set to `custom`. When access is `read`, `plan`, `write`, or `admin`, these attributes are read-only and reflect the implicit permissions granted to the current access level. + +For example, when access is `read`, the implicit level for the project settings and workspace runs permissions are "read". Conversely, when the access level is `admin`, the implicit level for the project settings is "delete" and the workspace runs permission is "apply". To see all of the implied permissions at different access levels, see [Implied Custom Permission Levels](#implied-custom-permission-levels). + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/team-projects/tprj-s68jV4FWCDwWvQq8 +``` + +### Sample Response + +```json +{ + "data": { + "id": "tprj-TLznAnYdcsD2Dcmm", + "type": "team-projects", + "attributes": { + "access": "read", + "project-access": { + "settings": "read", + "teams": "none" + }, + "workspace-access": { + "create": false, + "move": false, + "locking": false, + "delete": false, + "runs": "read", + "variables": "read", + "state-versions": "read", + "sentinel-mocks": "none", + "run-tasks": false + } + }, + "relationships": { + "team": { + "data": { + "id": "team-KpibQGL5GqRAWBwT", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-KpibQGL5GqRAWBwT" + } + }, + "project": { + "data": { + "id": "prj-ckZoJwdERaWcFHwi", + "type": "projects" + }, + "links": { + "related": "/api/v2/projects/prj-ckZoJwdERaWcFHwi" + } + } + }, + "links": { + "self": "/api/v2/team-projects/tprj-TLznAnYdcsD2Dcmm" + } + } +} +``` + +## Add Team Access to a Project + +`POST /team-projects` + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | ---------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "team-projects"`) | The request was successful | +| [404][] | [JSON API error object][] | Project or Team not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"team-projects"`. | +| `data.attributes.access` | string | | The type of access to grant. Valid values are `read`, `write`, `maintain`, `admin`, or `custom`. | +| `data.relationships.project.data.type` | string | | Must be `projects`. | +| `data.relationships.project.data.id` | string | | The project ID to which the team is to be added. | +| `data.relationships.team.data.type` | string | | Must be `teams`. | +| `data.relationships.team.data.id` | string | | The ID of the team to add to the project. | +| `data.attributes.project-access.settings` | string | "read" | If `access` is `custom`, the permission to grant for the project's settings. Can only be used when `access` is `custom`. Valid values include `read`, `update`, or `delete`. | +| `data.attributes.project-access.teams` | string | "none" | If `access` is `custom`, the permission to grant for the project's teams. Can only be used when `access` is `custom`. Valid values include `none`, `read`, or `manage`. | +| `data.attributes.workspace-access.runs` | string | "read" | If `access` is `custom`, the permission to grant for the project's workspaces' runs. Can only be used when `access` is `custom`. Valid values include `read`, `plan`, or `apply`. | +| `data.attributes.workspace-access.sentinel-mocks` | string | "none" | If `access` is `custom`, the permission to grant for the project's workspaces' Sentinel mocks. Can only be used when `access` is `custom`. Valid values include `none`, or `read`. | +| `data.attributes.workspace-access.state-versions` | string | "none" | If `access` is `custom`, the permission to grant for the project's workspaces state versions. Can only be used when `access` is `custom`. Valid values include `none`, `read-outputs`, `read`, or `write`. | +| `data.attributes.workspace-access.variables` | string | "none" | If `access` is `custom`, the permission to grant for the project's workspaces' variables. Can only be used when `access` is `custom`. Valid values include `none`, `read`, or `write`. | +| `data.attributes.workspace-access.create` | boolean | false | If `access` is `custom`, this permission allows the team to create workspaces in the project. | +| `data.attributes.workspace-access.locking` | boolean | false | If `access` is `custom`, the permission granting the ability to manually lock or unlock the project's workspaces. Can only be used when `access` is `custom`. | +| `data.attributes.workspace-access.delete` | boolean | false | If `access` is `custom`, the permission granting the ability to delete the project's workspaces. Can only be used when `access` is `custom`. | +| `data.attributes.workspace-access.move` | boolean | false | If `access` is `move`, this permission allows the team to move workspaces into and out of the project. The team must also have permissions to the project(s) receiving the the workspace(s). | +| `data.attributes.workspace-access.run-tasks` | boolean | false | If `access` is `custom`, this permission allows the team to manage run tasks within the project's workspaces. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "access": "read" + }, + "relationships": { + "project": { + "data": { + "type": "projects", + "id": "prj-ckZoJwdERaWcFHwi" + } + }, + "team": { + "data": { + "type": "teams", + "id": "team-xMGyoUhKmTkTzmAy" + } + } + }, + "type": "team-projects" + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/team-projects +``` + +### Sample Response + +```json +{ + "data": { + "id": "tprj-WbG7p5KnT7S7HZqw", + "type": "team-projects", + "attributes": { + "access": "read", + "project-access": { + "settings": "read", + "teams": "none" + }, + "workspace-access": { + "create": false, + "move": false, + "locking": false, + "runs": "read", + "variables": "read", + "state-versions": "read", + "sentinel-mocks": "none", + "run-tasks": false + } + }, + "relationships": { + "team": { + "data": { + "id": "team-xMGyoUhKmTkTzmAy", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-xMGyoUhKmTkTzmAy" + } + }, + "project": { + "data": { + "id": "prj-ckZoJwdERaWcFHwi", + "type": "projects" + }, + "links": { + "related": "/api/v2/projects/prj-ckZoJwdERaWcFHwi" + } + } + }, + "links": { + "self": "/api/v2/team-projects/tprj-WbG7p5KnT7S7HZqw" + } + } +} +``` + +## Update Team Access to a Project + +`PATCH /team-projects/:id` + +| Status | Response | Reason | +| ------- | ----------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "team-projects"`) | The request was successful | +| [404][] | [JSON API error object][] | Team Access not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +| Parameter | | | Description | +| ------------------------ | ------ | - | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | | | The ID of the team/project relationship. Obtain this from the [list team access action](#list-team-access-to-a-project) described above. | +| `data.attributes.access` | string | | The type of access to grant. Valid values are `read`, `write`, `maintain`, `admin`, or `custom`. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/team-projects/tprj-WbG7p5KnT7S7HZqw +``` + +### Sample Payload + +```json +{ + "data": { + "id": "tprj-WbG7p5KnT7S7HZqw", + "attributes": { + "access": "custom", + "project-access": { + "settings": "delete" + "teams": "manage", + }, + "workspace-access" : { + "runs": "apply", + "sentinel-mocks": "read", + "state-versions": "write", + "variables": "write", + "create": true, + "locking": true, + "delete": true, + "move": true, + "run-tasks": true + } + } + } +} +``` + +### Sample Response + +```json +{ + "data": { + "id": "tprj-WbG7p5KnT7S7HZqw", + "type": "team-projects", + "attributes": { + "access": "custom", + "project-access": { + "settings": "delete" + "teams": "manage", + }, + "workspace-access" : { + "runs": "apply", + "sentinel-mocks": "read", + "state-versions": "write", + "variables": "write", + "create": true, + "locking": true, + "delete": true, + "move": true, + "run-tasks": true + } + }, + "relationships": { + "team": { + "data": { + "id": "team-xMGyoUhKmTkTzmAy", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-xMGyoUhKmTkTzmAy" + } + }, + "project": { + "data": { + "id": "prj-ckZoJwdERaWcFHwi", + "type": "projects" + }, + "links": { + "related": "/api/v2/projects/prj-ckZoJwdERaWcFHwi" + } + } + }, + "links": { + "self": "/api/v2/team-projects/tprj-WbG7p5KnT7S7HZqw" + } + } +} +``` + +## Remove Team Access from a Project + +`DELETE /team-projects/:id` + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------ | +| [204][] | | The Team Access was successfully destroyed | +| [404][] | [JSON API error object][] | Team Access not found or user unauthorized to perform action | + +| Parameter | Description | +| --------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the team/project relationship. Obtain this from the [list team access action](#list-team-access-to-a-project) described above. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/team-projects/tprj-WbG7p5KnT7S7HZqw +``` + +## Implied Custom Permission Levels + +As mentioned above, when setting team access levels (`read`, `write`, `maintain`, or `admin`), you can individually set the following permissions if you use the `custom` access level. +The below table lists each access level alongside its implicit custom permission level. If you use the `custom` access level and do not specify a certain permission's level, that permission uses the default value listed below. + +| Permissions | `read` | `write` | `maintain` | `admin ` | `custom` default | +| ------------------------------- | ------ | ------- | ---------- | -------- | ---------------- | +| project-access.settings | "read" | "read" | "read" | "delete" | "read" | +| project-access.teams | "none" | "none" | "none" | "manage" | "none" | +| workspace-access.runs | "read" | "apply" | "apply" | "apply" | "read" | +| workspace-access.sentinel-mocks | "none" | "read" | "read" | "read" | "none" | +| workspace-access.state-versions | "read" | "write" | "write" | "write" | "none" | +| workspace-access.variables | "read" | "write" | "write" | "write" | "none" | +| workspace-access.create | false | false | true | true | false | +| workspace-access.locking | false | true | true | true | false | +| workspace-access.delete | false | false | true | true | false | +| workspace-access.move | false | false | false | true | false | +| workspace-access.run-tasks | false | false | true | true | false | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/projects.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/projects.mdx new file mode 100644 index 0000000000..ef2f797665 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/projects.mdx @@ -0,0 +1,718 @@ +--- +page_title: /projects API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/projects` endpoint to list, show, create, + update, and delete an organization's projects. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +[speculative plans]: /terraform/enterprise/run/remote-operations#speculative-plans + +# Projects API reference + +This topic provides reference information about the projects API. + +The scope of the API includes the following endpoints: + +| Method | Path | Action | +| -------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `POST` | `/organizations/:organization_name/projects` | Call this endpoint to [create a project](#create-a-project). | +| `PATCH` | `/projects/:project_id` | Call this endpoint to [update an existing project](#update-a-project). | +| `GET` | `/organizations/:organization_name/projects` | Call this endpoint to [list existing projects](#list-projects). | +| `GET` | `/projects/:project_id` | Call this endpoint to [show project details](#show-project). | +| `DELETE` | `/projects/:project_id` | Call this endpoint to [delete a project](#delete-a-project). | +| `GET` | `/projects/:project_id/tag-bindings` | Call this endpoint to [list project tag bindings](#list-project-tag-bindings). (For projects, this returns the same result set as the `effective-tag-bindings` endpoint.) | +| `GET` | `/projects/:project_id/effective-tag-bindings` | Call this endpoint to [list project effective tag bindings](#list-project-tag-bindings). (For projects, this returns the same result set as the `tag-bindings` endpoint.) | + +## Requirements + +You must be on a team with one of the **Owners** or **Manage projects** permissions settings enabled to create and manage projects. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for additional information. + +You can also provide an organization API token to call project API endpoints. Refer to [Organization API Tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens) for additional information. + +## Create a Project + +`POST /organizations/:organization_name/projects` + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create the project in. The organization must already exist in the system, and the user must have permissions to create new projects. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------------- | --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | none | Must be `"projects"`. | +| `data.attributes.name` | string | | The name of the project. The name can contain letters, numbers, spaces, `-`, and `_`, but cannot start or end with spaces. It must be at least three characters long and no more than 40 characters long. | +| `data.attributes.description` | string | none | Optional. The description of the project. It must be no more than 256 characters long. | +| `data.attributes.auto-destroy-activity-duration` | string | none | Specifies the default for how long each workspace in the project should wait before automatically destroying its infrastructure. You can specify a duration up to four digits that is greater than `0` followed by either a `d` for days or `h` hours. For example, to queue destroy runs after fourteen days of inactivity set `auto-destroy-activity-duration: "14d"`. All future workspaces in this project inherit this default value. Refer to [Automatically destroy inactive workspaces](/terraform/enterprise/projects/managing#automatically-destroy-inactive-workspaces) for additional information. | +| `data.relationships.tag-bindings.data` | list of objects | none | Specifies a list of tags to bind to the project. Workspaces inherit the tags bound to their project. | +| `data.relationships.tag-bindings.data.type` | string | none | Must be `tag-bindings` for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.key` | string | none | Specifies the tag key for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.value` | string | none | Specifies the tag value for each object in the list. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "name": "Test Project", + "description": "An example project for documentation.", + }, + "type": "projects", + "relationships": { + "tag-bindings": { + "data": [ + { + "type": "tag-bindings", + "attributes": { + "key": "environment", + "value": "development" + } + }, + ] + } + } + } +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/projects +``` + +### Sample Response + +```json +{ + "data": { + "id": "prj-WsVcWRr7SfxRci1v", + "type": "projects", + "attributes": { + "name": "Test Project", + "description": "An example project for documentation.", + "permissions": { + "can-update": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-WsVcWRr7SfxRci1v/tag-bindings" + } + }, + "effective-tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-WsVcWRr7SfxRci1v/effective-tag-bindings" + } + } + }, + "links": { + "self": "/api/v2/projects/prj-WsVcWRr7SfxRci1v" + } + } +} +``` + +## Update a Project + +Call the following endpoint to update a project: + +`PATCH /projects/:project_id` + +| Parameter | Description | +| ------------- | ------------------------------- | +| `:project_id` | The ID of the project to update | + +### Request Body + +These PATCH endpoints require a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------------- | --------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | none | Must be `"projects"`. | +| `data.attributes.name` | string | existing value | A new name for the project. The name can contain letters, numbers, spaces, `-`, and `_`, but cannot start or end with spaces. It must be at least 3 characters long and no more than 40 characters long. | +| `data.attributes.description` | string | existing value | The new description for the project. It must be no more than 256 characters long. | +| `data.attributes.auto-destroy-activity-duration` | string | none | Specifies how long each workspace in the project should wait before automatically destroying its infrastructure by default. You can specify a duration up to four digits that is greater than `0` followed by either a `d` for days or `h` hours. For example, to queue destroy runs after fourteen days of inactivity set `auto-destroy-activity-duration: "14d"`. When you update this value, all workspaces in the project receive the new value unless you previously configured an override. Refer to [Automatically destroy inactive workspaces](/terraform/enterprise/projects/managing#automatically-destroy-inactive-workspaces) for additional information. | +| `data.relationships.tag-bindings.data` | list of objects | none | Specifies a list of tags to bind to the project. Workspaces inherit the tags bound to their project. | +| `data.relationships.tag-bindings.data.type` | string | none | Must be `tag-bindings` for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.key` | string | none | Specifies the tag key for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.value` | string | none | Specifies the tag value for each object in the list. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "name": "Infrastructure Project" + }, + "type": "projects", + "relationships": { + "tag-bindings": { + "data": [ + { + "type": "tag-bindings", + "attributes": { + "key": "environment", + "value": "staging" + } + } + ] + } + } + } +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/projects/prj-WsVcWRr7SfxRci1v +``` + +### Sample Response + +```json +{ + "data": { + "id": "prj-WsVcWRr7SfxRci1v", + "type": "projects", + "attributes": { + "name": "Infrastructure Project", + "description": null, + "workspace-count": 4, + "team-count": 2, + "permissions": { + "can-update": true, + "can-destroy": true, + "can-create-workspace": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-WsVcWRr7SfxRci1v/tag-bindings" + } + }, + "effective-tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-WsVcWRr7SfxRci1v/effective-tag-bindings" + } + } + }, + "links": { + "self": "/api/v2/projects/prj-WsVcWRr7SfxRci1v" + } + } +} +``` + +## List projects + +This endpoint lists projects in the organization. + +`GET /organizations/:organization_name/projects` + +| Parameter | Description | +| -------------------- | ----------------------------------------------------- | +| `:organization_name` | The name of the organization to list the projects of. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 projects per page. | +| `q` | **Optional.** A search query string. This query searches projects by name. This search is case-insensitive. If both `q` and `filter[names]` are specified, `filter[names]` will be used. | +| `filter[names]` | **Optional.** If specified, returns the project with the matching name. This filter is case-insensitive. If multiple comma separated values are specified, projects matching any of the names are returned. | +| `filter[permissions][create-workspace]` | **Optional.** If present, returns a list of projects that the authenticated user can create workspaces in. | +| `filter[permissions][update]` | **Optional.** If present, returns a list of projects that the authenticated user can update. | +| `sort` | **Optional.** Allows sorting the organization's projects by `"name"`. Prepending a hyphen to the sort parameter reverses the order. For example, `"-name"` sorts by name in reverse alphabetical order. If omitted, the default sort order is arbitrary but stable. | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/projects +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "prj-W6k9K23oSXRHGpj3", + "type": "projects", + "attributes": { + "name": "Default Project", + "description": null, + "workspace-count": 2, + "team-count": 1, + "permissions": { + "can-update": true, + "can-destroy": true, + "can-create-workspace": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-W6k9K23oSXRHGpj3/tag-bindings" + } + }, + "effective-tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-W6k9K23oSXRHGpj3/effective-tag-bindings" + } + } + }, + "links": { + "self": "/api/v2/projects/prj-W6k9K23oSXRHGpj3" + } + }, + { + "id": "prj-YoriCxAawTMDLswn", + "type": "projects", + "attributes": { + "name": "Infrastructure Project", + "description": null, + "workspace-count": 4, + "team-count": 2, + "permissions": { + "can-update": true, + "can-destroy": true, + "can-create-workspace": true + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-YoriCxAawTMDLswn/tag-bindings" + } + }, + "effective-tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-YoriCxAawTMDLswn/effective-tag-bindings" + } + } + }, + "links": { + "self": "/api/v2/projects/prj-YoriCxAawTMDLswn" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/my-organization/projects?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/my-organization/projects?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/my-organization/projects?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "status-counts": { + "total": 2, + "matching": 2 + }, + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 2 + } + } +} +``` + +## Show project + +`GET /projects/:project_id` + +| Parameter | Description | +| ------------- | -------------- | +| `:project_id` | The project ID | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/projects/prj-WsVcWRr7SfxRci1v +``` + +### Sample Response + +```json +{ + "data": { + "id": "prj-WsVcWRr7SfxRci1v", + "type": "projects", + "attributes": { + "name": "Infrastructure Project", + "description": null, + "workspace-count": 4, + "team-count": 2, + "permissions": { + "can-update": true, + "can-destroy": true, + "can-create-workspace": true + }, + "auto-destroy-activity-duration": "2d" + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-WsVcWRr7SfxRci1v/tag-bindings" + } + }, + "effective-tag-bindings": { + "links": { + "related": "/api/v2/projects/prj-WsVcWRr7SfxRci1v/effective-tag-bindings" + } + } + }, + "links": { + "self": "/api/v2/projects/prj-WsVcWRr7SfxRci1v" + } + } +} +``` + +## Delete a project + +A project cannot be deleted if it contains stacks or workspaces. + +`DELETE /projects/:project_id` + +| Parameter | Description | +| ------------- | ------------------------------- | +| `:project_id` | The ID of the project to delete | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ----------------------------------------------------------------- | +| [204][] | No Content | Successfully deleted the project | +| [403][] | [JSON API error object][] | Not authorized to perform a force delete on the project | +| [404][] | [JSON API error object][] | Project not found, or user unauthorized to perform project delete | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/projects/prj-WsVcWRr7SfxRci1v +``` + +## List project tag bindings + +Call the following endpoints to list the tags bound to a project. + +- `GET /projects/:project_id/tag-bindings`: Lists the set of tags associated with the project. Tags set on the project are inherited by its workspaces. + +| Parameter | Description | +| ------------- | ---------------------- | +| `:project_id` | The ID of the project. | + +### Sample request + +The following request returns all tags bound to a project with the ID +`prj-WsVcWRr7SfxRci1v`. + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/projects/prj-WsVcWRr7SfxRci1v/tag-bindings +``` + +### Sample response + +```json +{ + "data": [ + { + "type": "tag-bindings", + "attributes": { + "key": "added", + "value": "new", + "created-at": "2024-11-20T00:04:47.948Z" + } + }, + { + "type": "tag-bindings", + "attributes": { + "key": "aww", + "value": "aww", + "created-at": "2024-11-20T00:04:47.948Z" + } + } + ] +} +``` + +## Add or update tag bindings on a project + +Use this endpoint to add key-value tag bindings to an existing resource or to update +existing tag binding values on the resource. You cannot use this endpoint to remove tag bindings from the resource. This endpoint is useful for ensuring that a modification is additive. + +Tag bindings have the following constraints and behaviors: + +- A project can have up to 10 tags. +- All workspaces within the project inherit its tag bindings. +- Keys can have up to 128 characters. +- Keys support all alphanumeric characters and the symbols `_`, `.`, `=`, `+`, `-`, `@`, `:`. +- Values can have up to 256 characters. +- Values support all alphanumeric characters and the symbols `_`, `.`, `=`, `+`, `-`, `@`, `:`. +- You cannot use `hc:` and `hcp:` as key prefixes. + +`PATCH /projects/:project_id/tag-bindings` + +| Parameter | Description | +| ------------- | ------------------------------- | +| `:project_id` | The ID of the project to update | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +It is important to note that for each data item, `type`, as well as `attributes.key` is required. + +| Key path | Type | Default | Description | +| ------------------------- | ------ | ------- | ------------------------------------- | +| `data[].type` | string | | Must be `"tag-bindings"`. | +| `data[].attributes.key` | string | | The key of the tag to add or update. | +| `data[].attributes.value` | string | | The name of the tag to add or update. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "tag-bindings", + "attributes": { + "key": "costcenter", + "value": "123" + } + }, + { + "type": "tag-bindings", + "attributes": { + "key": "bar", + "value": "baz" + } + } + ] +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/projects/prj-82d2281aa259ba09/tag-bindings +``` + +### Sample Response + +Example status code 200 response after updating tag bindings: + + + +```json +{ + "data": [ + { + "id": "tb-e4a5847b2cf06559", + "type": "tag-bindings", + "attributes": { + "key": "costcenter", + "value": "123" + } + }, + { + "id": "tb-97ce954636f93a6c", + "type": "tag-bindings", + "attributes": { + "key": "bar", + "value": "baz" + } + } + ] +} +``` + + + +## Move workspaces into a project + +This endpoint allows you to move one or more workspaces into a project. You must have permission to move workspaces on +the destination project as well as any source project(s). If you are not authorized to move any of the workspaces in the +request, or if any workspaces in the request are not found, then no workspaces will be moved. + +`POST /projects/:project_id/relationships/workspaces` + +| Parameter | Description | +| ------------- | --------------------------------- | +| `:project_id` | The ID of the destination project | + +This POST endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ---------------------------------------------------------- | +| `data[].type` | string | | Must be `"workspaces"` | +| `data[].id` | string | | The ids of workspaces to move into the destination project | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | -------------------------------------------------------------------------------------------------------- | +| [204][] | No Content | Successfully moved workspace(s) | +| [403][] | [JSON API error object][] | Workspace(s) not found, or user is not authorized to move all workspaces out of their current project(s) | +| [404][] | [JSON API error object][] | Project not found, or user unauthorized to move workspaces into project | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "workspaces", + "id": "ws-AQEct2XFuH4HBsmS" + } + ] +} + +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/projects/prj-zXm4y2BjeGPgHtkp/relationships/workspaces +``` + +### Sample Error Response + +```json +{ + "errors": [ + { + "status": "403", + "title": "forbidden", + "detail": "Workspace(s) not found, or you are not authorized to move them: ws-AQEct2XFuH4HBmS" + } + ] +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/reserved-tag-keys.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/reserved-tag-keys.mdx new file mode 100644 index 0000000000..51655fd031 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/reserved-tag-keys.mdx @@ -0,0 +1,271 @@ +--- +page_title: /reserved-tag-keys API reference for Terraform Enterprise +description: >- + Use the `/reserved-tag-keys` API endpoints to reserve tag keys that have + special meaning for your organization. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +[speculative plans]: /terraform/enterprise/run/remote-operations#speculative-plans + +# Reserved tag keys API reference + +Use the `/reserved-tag-keys` API endpoints to define and manage tag keys that +have special meaning for your organization. Reserving tag keys enable project +and workspace managers to follow a consistent tagging strategy across the +organization. You can also use them to provide project managers with a means of +disabling overrides for inherited tags. + +The following table describes the available endpoints: + +| Method | Path | Description | +| -------- | ----------------------------------------------------- | --------------------------------------------------------------------------------- | +| `GET` | `/organizations/:organization_name/reserved-tag-keys` | [List reserved tag keys](#list-reserved-tag-keys) for the specified organization. | +| `POST` | `/organizations/:organization_name/reserved-tag-keys` | [Add a reserved tag key](#add-a-reserved-tag-key) to the specified organization. | +| `PATCH` | `/reserved-tags/:reserved_tag_key_id` | [Update a reserved tag key](#add-a-reserved-tag-value) with the specified ID. | +| `DELETE` | `/reserved-tags/:reserved_tag_key_id` | [Delete a reserved tag key](#delete-a-reserved-tag-key) with the specified ID. | + +## Path parameters + +The `/reserved-tag-keys/` API endpoints require the following path parameters: + +| Parameter | Description | +| ---------------------- | ---------------------------------------------------------- | +| `:reserved_tag_key_id` | The external ID of the reserved tag key. | +| `:organization_name` | The name of the organization containing the reserved tags. | + +## List reserved tag keys + +`GET /organizations/:organization_name/reserved-tag-keys` + +### Sample payload + +This endpoint does not require a payload. + +### Sample request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/organizations/my-organization/reserved-tag-keys +``` + +### Sample response + +```json +{ + "data": [ + { + "id": "rtk-jjnTseo8NN1jACbk", + "type": "reserved-tag-keys", + "attributes": { + "key": "environment", + "disable-overrides": false, + "created-at": "2024-08-13T23:06:42.523Z", + "updated-at": "2024-08-13T23:06:42.523Z" + } + }, + { + "id": "rtk-F1s7kKUShAQxhA1b", + "type": "reserved-tag-keys", + "attributes": { + "key": "cost-center", + "disable-overrides": false, + "created-at": "2024-08-13T23:06:51.445Z", + "updated-at": "2024-08-13T23:06:51.445Z" + } + }, + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/my-organization/reserved-tag-keys?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/my-organization/reserved-tag-keys?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/my-organization/reserved-tag-keys?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 2 + } + } +} + +``` + +## Create a reserved tag key + +`POST /organizations/:organization_name/reserved-tag-keys` + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------------------------------ | ------- | ------- | --------------------------------- | +| `data.type` | string | none | Must be `reserved-tag-keys`. | +| `data.attributes.key` | string | none | The key targeted by this reserved | +| tag key. | | | | +| `data.attributes.disable-overrides` | boolean | none | If `true`, disables | +| overriding inherited tags with the specified key at the workspace level. | | | | + +### Sample payload + +```json +{ + "data": { + "type": "reserved-tag-keys", + "attributes": { + "key": "environment", + "disable-overrides": false + } + } +} +``` + +### Sample request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/organizations/${ORGANIZATION_NAME}/reserved-tag-keys +``` + +### Sample response + +```json +{ + "data": { + "id": "rtk-Tj86UdGahKGDiYXY", + "type": "reserved-tag-keys", + "attributes": { + "key": "environment", + "disable-overrides": false, + "created-at": "2024-09-04T05:02:06.794Z", + "updated-at": "2024-09-04T05:02:06.794Z" + } + } +} +``` + +## Update a reserved tag key + +`PATCH /reserved-tags/:reserved_tag_key_id` + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------------------------------ | ------- | ------- | --------------------------------- | +| `data.type` | string | none | Must be `reserved-tag-keys`. | +| `data.attributes.key` | string | none | The key targeted by this reserved | +| tag key. | | | | +| `data.attributes.disable-overrides` | boolean | none | If `true`, disables | +| overriding inherited tags with the specified key at the workspace level. | | | | + +### Sample payload + +```json +{ + "data": { + "id": "rtk-Tj86UdGahKGDiYXY", + "type": "reserved-tag-keys", + "attributes": { + "key": "env", + "disable-overrides": true, + "created-at": "2024-09-04T05:02:06.794Z", + "updated-at": "2024-09-04T05:02:06.794Z" + } + } +} +``` + +### Sample request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + https://app.terraform.io/api/v2/reserved-tags/${RESERVED_TAG_ID} +``` + +### Sample response + +```json +{ + "data": { + "id": "rtk-zMtWLDftAjY3b5pA", + "type": "reserved-tag-keys", + "attributes": { + "key": "env", + "disable-overrides": true, + "created-at": "2024-09-04T05:05:10.449Z", + "updated-at": "2024-09-04T05:05:13.486Z" + } + } +} +``` + +## Delete a reserved tag key + +`DELETE /reserved-tags/:reserved_tag_key_id` + +### Sample payload + +This endpoint does not require a payload. + +### Sample request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/reserved-tags/rtk-zMtWLDftAjY3b5pA +``` + +### Sample response + +This endpoint does not return a response body. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-task-stages-and-results.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-task-stages-and-results.mdx new file mode 100644 index 0000000000..40c8a1f250 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-task-stages-and-results.mdx @@ -0,0 +1,366 @@ +--- +page_title: /task-stages API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/task-stages` endpoint to read run tasks + and their results, and override run task stages. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API documents]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +[run]: /terraform/enterprise/run/states + +# Run task stages and results API reference + +HCP Terraform uses run task stages and run task results to track [run task](/terraform/enterprise/workspaces/settings/run-tasks) execution. + + + +@include 'tfc-package-callouts/run-tasks.mdx' + + + +When HCP Terraform creates a [run][], it reads the run tasks associated to the workspace. Each run task in the workspace is configured to begin during a specific [run stage](/terraform/enterprise/run/states). HCP Terraform creates a run task stage object for each run stage that triggers run tasks. You can configure run tasks during the [Pre-Plan Stage](/terraform/enterprise/run/states#the-pre-plan-stage), [Post-Plan Stage](/terraform/enterprise/run/states#the-post-plan-stage), [Pre-Apply Stage](/terraform/enterprise/run/states#the-pre-apply-stage) and [Post-Apply Stage](/terraform/enterprise/run/states#the-post-apply-stage). + +Run task stages then create a run task result for each run task. For example, a workspace has two run tasks called `alpha` and `beta`. For each run, HCP Terraform creates one run task stage called `post-plan`. That run task stage has two run task results: one for the `alpha` run task and one for the `beta` run task. + +This page lists the endpoints to retrieve run task stages and run task results. Refer to the [Run Tasks API](/terraform/enterprise/api-docs/run-tasks/run-tasks) for endpoints to create and manage run tasks within HCP Terraform. Refer to the [Run Tasks Integration API](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) for endpoints to build custom run tasks for the HCP Terraform ecosystem. + +## Attributes + +### Run Task Stage Status + +The run task stage status is found in `data.attributes.status`, and you can reference the following list of possible values. + +| Status | Description | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `pending` | The initial status of a run task stage after creation. | +| `running` | The run task stage is executing one or more tasks, which have not yet completed. | +| `passed` | All of the run task results in the stage passed. | +| `failed` | One more results in the run task stage failed. | +| `awaiting_override` | The task stage is waiting for user input. Once a user manually overrides the failed run tasks, the run returns to the `running` state. | +| `errored` | The run task stage has errored. | +| `canceled` | The run task stage has been canceled. | +| `unreachable` | The run task stage could not be executed. | + +### Run Task Result Status + +The run task result status is found in `data.attributes.status`, and you can reference the following list of possible values. + +| Status | Description | +| ------------- | --------------------------------------------------------------------- | +| `pending` | The initial status of a run task result after creation. | +| `running` | The associated run task is begun execution and has not yet completed. | +| `passed` | The associated run task executed and returned a passing result. | +| `failed` | The associated run task executed and returned a failed result. | +| `errored` | The associated run task has errored during execution. | +| `canceled` | The associated run task execution has been canceled. | +| `unreachable` | The associated run task could not be executed. | + +## List the Run Task Stages in a Run + +`GET /runs/:run_id/task-stages` + +| Parameter | Description | +| --------- | ----------------------------------- | +| `run_id` | The run ID to list task stages for. | + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------- | +| [200][] | Array of [JSON API documents][] (`type: "task-stages"`) | Successfully listed task-stages | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | -------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 runs per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/runs/run-XdgtChJuuUwLoSmw/task-stages +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "ts-rL5ZsuwfjqfPJcdi", + "type": "task-stages", + "attributes": { + "status": "passed", + "stage": "post_plan", + "status-timestamps": { + "passed-at": "2022-06-08T20:32:12+08:00", + "running-at": "2022-06-08T20:32:11+08:00" + }, + "created-at": "2022-06-08T12:31:56.94Z", + "updated-at": "2022-06-08T12:32:12.315Z" + }, + "relationships": { + "run": { + "data": { + "id": "run-XdgtChJuuUwLoSmw", + "type": "runs" + } + }, + "task-results": { + "data": [ + { + "id": "taskrs-EmnmsEDL1jgd1GTP", + "type": "task-results" + } + ] + }, + "policy-evaluations":{ + "data":[ + { + "id":"poleval-iouaha9KLgGWkBRQ", + "type":"policy-evaluations" + } + ] + } + }, + "links": { + "self": "/api/v2/task-stages/ts-rL5ZsuwfjqfPJcdi" + } + } + ] +} +``` + +## Show a Run Task Stage + +`GET /task-stages/:task_stage_id` + +| Parameter | Description | +| ---------------- | ----------------------------- | +| `:task_stage_id` | The run task stage ID to get. | + +This endpoint shows details of a specific task stage. + +| Status | Response | Reason | +| ------- | --------------------------------------------- | ------------------------------------------- | +| [200][] | [JSON API document][] (`type: "task-stages"`) | Success | +| [404][] | [JSON API error object][] | Task stage not found or user not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/task-stages/ts-rL5ZsuwfjqfPJcdi +``` + +### Sample Response + +```json +{ + "data": { + "id": "ts-rL5ZsuwfjqfPJcdi", + "type": "task-stages", + "attributes": { + "status": "passed", + "stage": "post_plan", + "status-timestamps": { + "passed-at": "2022-06-08T20:32:12+08:00", + "running-at": "2022-06-08T20:32:11+08:00" + }, + "created-at": "2022-06-08T12:31:56.94Z", + "updated-at": "2022-06-08T12:32:12.315Z" + }, + "relationships": { + "run": { + "data": { + "id": "run-XdgtChJuuUwLoSmw", + "type": "runs" + } + }, + "task-results": { + "data": [ + { + "id": "taskrs-EmnmsEDL1jgd1GTP", + "type": "task-results" + } + ] + }, + "policy-evaluations":{ + "data":[ + { + "id":"poleval-iouaha9KLgGWkBRQ", + "type":"policy-evaluations" + } + ] + } + }, + "links": { + "self": "/api/v2/task-stages/ts-rL5ZsuwfjqfPJcdi" + } + } +} +``` + +## Show a Run Task Result + +`GET /task-results/:task_result_id` + +| Parameter | Description | +| ----------------- | ------------------------------ | +| `:task_result_id` | The run task result ID to get. | + +This endpoint shows the details for a specific run task result. + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | -------------------------------------------- | +| [200][] | [JSON API document][] (`type: "task-results"`) | Success | +| [404][] | [JSON API error object][] | Task result not found or user not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/task-results/taskrs-EmnmsEDL1jgd1GZz +``` + +### Sample Response + +```json +{ + "data": { + "id": "taskrs-EmnmsEDL1jgd1GZz", + "type": "task-results", + "attributes": { + "message": "No issues found.\nSeverity threshold is set to low.", + "status": "passed", + "status-timestamps": { + "passed-at": "2022-06-08T20:32:12+08:00", + "running-at": "2022-06-08T20:32:11+08:00" + }, + "url": "https://external.service/project/task-123abc", + "created-at": "2022-06-08T12:31:56.954Z", + "updated-at": "2022-06-08T12:32:12.27Z", + "task-id": "task-b6MaHZmGopHDtqhn", + "task-name": "example-task", + "task-url": "https://external.service/task-123abc", + "stage": "post_plan", + "is-speculative": false, + "workspace-task-id": "wstask-258juqenQeWb3DZz", + "workspace-task-enforcement-level": "mandatory" + }, + "relationships": { + "task-stage": { + "data": { + "id": "ts-rL5ZsuwfjqfPJczZ", + "type": "task-stages" + } + } + }, + "links": { + "self": "/api/v2/task-results/taskrs-EmnmsEDL1jgd1GZz" + } + } +} +``` + +## Available Related Resources + +### Task Stage + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource | Description | +| -------------------- | ---------------------------------------------------------- | +| `run` | Information about the associated run. | +| `run.workspace` | Information about the associated workspace. | +| `task-results` | Information about the results for a task-stage. | +| `policy-evaluations` | Information about the policy evaluations for a task-stage. | + +## Override a Task Stage + +`POST /task-stages/:task_stage_id/actions/override` + +| Parameter | Description | +| ---------------- | ------------------------------------- | +| `:task_stage_id` | The ID of the task stage to override. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/task-stages/ts-rL5ZsuwfjqfPJcdi/actions/override +``` + +### Sample Response + +```json +{ + "data":{ + "id":"ts-F7MumZQcJzVh1ZZk", + "type":"task-stages", + "attributes":{ + "status":"running", + "stage":"post_plan", + "status-timestamps":{ + "running-at":"2022-09-21T06:36:54+00:00", + "awaiting-override-at":"2022-09-21T06:31:50+00:00" + }, + "created-at":"2022-09-21T06:29:44.632Z", + "updated-at":"2022-09-21T06:36:54.952Z", + "permissions":{ + "can-override-policy":true, + "can-override-tasks":false, + "can-override":true + }, + "actions":{ + "is-overridable":false + } + }, + "relationships":{ + "run":{ + "data":{ + "id":"run-K6N4BAz8NfUyR2QB", + "type":"runs" + } + }, + "task-results":{ + "data":[ + + ] + }, + "policy-evaluations":{ + "data":[ + { + "id":"poleval-atNKxwvjYy4Gwk3k", + "type":"policy-evaluations" + } + ] + } + }, + "links":{ + "self":"/api/v2/task-stages/ts-F7MumZQcJzVh1ZZk" + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks-integration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks-integration.mdx new file mode 100644 index 0000000000..eaa3fe1fca --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks-integration.mdx @@ -0,0 +1,298 @@ +--- +page_title: Run tasks integration API for Terraform Enterprise +description: >- + Use Terraform Enterprise API's run task integration API to trigger run tasks + at specific run phases and learn how to read run task responses. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Run tasks integration API + +[Run tasks](/terraform/enterprise/workspaces/settings/run-tasks) allow HCP Terraform to interact with external systems at specific points in the HCP Terraform run lifecycle. +This page lists the API endpoints used to trigger a run task and the expected response from the integration. + + + +@include 'tfc-package-callouts/run-tasks.mdx' + + + +Refer to [run tasks](/terraform/enterprise/api-docs/run-tasks/run-tasks) for the API endpoints to create and manage run tasks within HCP Terraform. You can also access a complete list of all run tasks in the [Terraform Registry](https://registry.terraform.io/browse/run-tasks). + +## Run Task Request + +When a run reaches the appropriate phase and a run task is triggered, HCP Terraform will send a request to the run task's URL. + +Either HCP Terraform itself, or a self-hosted HCP Terraform agent using [request forwarding](/terraform/cloud-docs/agents/request-forwarding) can make the request to a run task's URL. Your organization [must be entitled to `private-run-tasks`](/terraform/enterprise/api-docs#feature-entitlements) to use request forwarding. +The service receiving the run task request should respond with `200 OK`, or HCP Terraform will retry to trigger the run task. + +`POST :url` + +| Parameter | Description | +| --------- | ------------------------------------------------------- | +| `:url` | The URL configured in the run task to send requests to. | + +| Status | Response | Reason | +| ------- | ---------- | --------------------------------- | +| [200][] | No Content | Successfully submitted a run task | + +### Request Body + +The POST request submits a JSON object with the following properties as a request payload. + +#### Common Properties + +All request payloads contain the following properties. + +| Key path | Type | Values | Description | +| ------------------------------------ | ------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `payload_version` | integer | `1` | Schema version of the payload. Only `1` is supported. | +| `stage` | string | `pre_plan`, `post_plan`, `pre_apply`, `post_apply` | The [run stage](/terraform/enterprise/run/states) when HCP Terraform triggers the run task. | +| `access_token` | string | | Bearer token to use when calling back to HCP Terraform. | +| `capabilities` | object | | A map of the capabilities that the caller supports. | +| `capabilities.outcomes` | bool | | A flag indicating the caller accepts detailed run task outcomes. | +| `configuration_version_download_url` | string | | The URL to [download the configuration version](/terraform/enterprise/api-docs/configuration-versions#download-configuration-files). This is `null` if the configuration version is not available to download. | +| `configuration_version_id` | string | | The ID of the [configuration version](/terraform/enterprise/api-docs/configuration-versions) for the run. | +| `is_speculative` | bool | | Whether the task is part of a [speculative run](/terraform/enterprise/run/remote-operations#speculative-plans). | +| `organization_name` | string | | Name of the organization the task is configured within. | +| `run_app_url` | string | | URL within HCP Terraform to the run. | +| `run_created_at` | string | | When the run was started. | +| `run_created_by` | string | | Who created the run. | +| `run_id` | string | | Id of the run this task is part of. | +| `run_message` | string | | Message that was associated with the run. | +| `task_result_callback_url` | string | | URL that should called back with the result of this task. | +| `task_result_enforcement_level` | string | `mandatory`, `advisory` | Enforcement level for this task. | +| `task_result_id` | string | | ID of task result within HCP Terraform. | +| `vcs_branch` | string | | Repository branch that the workspace executes from. This is `null` if the workspace does not have a VCS repository. | +| `vcs_commit_url` | string | | URL to the commit that triggered this run. This is `null` if the workspace does not a VCS repository. | +| `vcs_pull_request_url` | string | | URL to the Pull Request/Merge Request that triggered this run. This is `null` if the run was not triggered. | +| `vcs_repo_url` | string | | URL to the workspace's VCS repository. This is `null` if the workspace does not have a VCS repository. | +| `workspace_app_url` | string | | URL within HCP Terraform to the workspace. | +| `workspace_id` | string | | Id of the workspace the task is associated with. | +| `workspace_name` | string | | Name of the workspace. | +| `workspace_working_directory` | string | | The working directory specified in the run's [workspace settings](/terraform/enterprise/workspaces/settings#terraform-working-directory). | + +#### Post-Plan, Pre-Apply, and Post-Apply Properties + +Requests with `stage` set to `post_plan`, `pre_apply` or `post_apply` contain the following additional properties. + +| Key path | Type | Values | Description | +| ------------------- | ------ | ------ | --------------------------------------------------------- | +| `plan_json_api_url` | string | | The URL to retrieve the JSON Terraform plan for this run. | + +### Sample Payload + +```json +{ + "payload_version": 1, + "stage": "post_plan", + "access_token": "4QEuyyxug1f2rw.atlasv1.iDyxqhXGVZ0ykes53YdQyHyYtFOrdAWNBxcVUgWvzb64NFHjcquu8gJMEdUwoSLRu4Q", + "capabilities": { + "outcomes": true + }, + "configuration_version_download_url": "https://app.terraform.io/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/download", + "configuration_version_id": "cv-ntv3HbhJqvFzamy7", + "is_speculative": false, + "organization_name": "hashicorp", + "plan_json_api_url": "https://app.terraform.io/api/v2/plans/plan-6AFmRJW1PFJ7qbAh/json-output", + "run_app_url": "https://app.terraform.io/app/hashicorp/my-workspace/runs/run-i3Df5to9ELvibKpQ", + "run_created_at": "2021-09-02T14:47:13.036Z", + "run_created_by": "username", + "run_id": "run-i3Df5to9ELvibKpQ", + "run_message": "Triggered via UI", + "task_result_callback_url": "https://app.terraform.io/api/v2/task-results/5ea8d46c-2ceb-42cd-83f2-82e54697bddd/callback", + "task_result_enforcement_level": "mandatory", + "task_result_id": "taskrs-2nH5dncYoXaMVQmJ", + "vcs_branch": "main", + "vcs_commit_url": "https://github.com/hashicorp/terraform-random/commit/7d8fb2a2d601edebdb7a59ad2088a96673637d22", + "vcs_pull_request_url": null, + "vcs_repo_url": "https://github.com/hashicorp/terraform-random", + "workspace_app_url": "https://app.terraform.io/app/hashicorp/my-workspace", + "workspace_id": "ws-ck4G5bb1Yei5szRh", + "workspace_name": "tfr_github_0", + "workspace_working_directory": "/terraform" +} +``` + +### Request Headers + +The POST request submits the following properties as the request headers. + +| Name | Value | Description | +| ---------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Content-Type` | `application/json` | Specifies the type of data in the request body | +| `User-Agent` | `TFC/1.0 (+https://app.terraform.io; TFC)` | Identifies the request is coming from HCP Terraform | +| `X-TFC-Task-Signature` | string | If the run task is configured with an [HMAC Key](/terraform/enterprise/integrations/run-tasks#securing-your-run-task), this header contains the signed SHA512 sum of the request payload using the configured HMAC key. Otherwise, this is an empty string. | + +## Run Task Callback + +While a run task runs, it may send progressive updates to HCP Terraform with a `running` status. Once an integrator determines that Terraform supports detailed run task outcomes, they can send these outcomes by appending to the run task's callback payload. + +Once the external integration fulfills the request, that integration must call back into HCP Terraform with the overall result of either `passed` or `failed`. Terraform expects this callback within 10 minutes, or the request is considered errored. + +You can send outcomes with a status of `running`, `passed`, or `failed`, but it is a good practice only to send outcomes when a run task is `running`. + +`PATCH :callback_url` + +| Parameter | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------- | +| `:callback_url` | The `task_result_callback_url` specified in the run task request. Typically `/task-results/:guid/callback`. | + +| Status | Response | Reason | +| ------- | ------------------------- | --------------------------------------------------------------------------------------------------------------- | +| [200][] | No Content | Successfully submitted a run task result | +| [401][] | [JSON API error object][] | Not authorized to perform action | +| [422][] | [JSON API error object][] | Invalid response payload. This could be caused by invalid attributes, or sending a status that is not accepted. | + +### Request Body + +The PATCH request submits a JSON object with the following properties as a request payload. This payload is also described in the [JSON API schema for run task results](https://github.com/hashicorp/terraform-docs-common/blob/main/website/public/schema/run-tasks/runtask-result.json). + +| Key path | Type | Description | +| ----------------------------- | ------ | --------------------------------------------------------------------------------- | +| `data.type` | string | Must be `"task-results"`. | +| `data.attributes.status` | string | The current status of the task. Only `passed`, `failed` or `running` are allowed. | +| `data.attributes.message` | string | (Recommended, but optional) A short message describing the status of the task. | +| `data.attributes.url` | string | (Optional) A URL where users can obtain more information about the task. | +| `relationships.outcomes.data` | array | (Recommended, but optional) A collection of detailed run task outcomes. | + +Status values other than passed, failed, or running return an error. Both the passed and failed statuses represent a final state for a run task. The running status allows one or more partial updates until the task has reached a final state. + +```json +{ + "data": { + "type": "task-results", + "attributes": { + "status": "passed", + "message": "4 passed, 0 skipped, 0 failed", + "url": "https://external.service.dev/terraform-plan-checker/run-i3Df5to9ELvibKpQ" + }, + "relationships": { + "outcomes": { + "data": [...] + } + } + } +} +``` + +#### Outcomes Payload Body + +A run task result may optionally contain one or more detailed outcomes, which improves result visibility and content in the HCP Terraform user interface. The following attributes define the outcome. + +| Key path | Type | Description | +| ------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `outcome-id` | string | A partner supplied identifier for this outcome. | +| `description` | string | A one-line description of the result. | +| `body` | string | (Optional) A detailed message for the result in markdown format. We recommend limiting messages to under 1MB with a maximum allowable limit of 5MB. | +| `url` | string | (Optional) A URL that a user can navigate to for more information about this result. | +| `tags` | object | (Optional) An object containing tag arrays, named by the property key. | +| `tags.key` | string | The two or three word name of the header tag. [Special handling](#severity-and-status-tags) is given to `severity` and `status` keys. | +| `tags.key[].label` | string | The text value of the tag. | +| `tags.key[].level` | enum string | (Optional) The error level for the tag. Defaults to `none`, but accepts `none`, `info`, `warning`, or `error`. For levels other than `none`, labels render with a color and icon for that level. | + +##### Severity and Status Tags + +Run task outcomes with tags named "severity" or "status" are enriched within the outcomes display list in HCP Terraform, enabling an earlier response to issues with severity and status. + +```json +{ + "type": "task-result-outcomes", + "attributes": { + "outcome-id": "PRTNR-CC-TF-127", + "description": "ST-2942: S3 Bucket will not enforce MFA login on delete requests", + "tags": { + "Status": [ + { + "label": "Denied", + "level": "error" + } + ], + "Severity": [ + { + "label": "High", + "level": "error" + }, + { + "label": "Recoverable", + "level": "info" + } + ], + "Cost Centre": [ + { + "label": "IT-OPS" + } + ] + }, + "body": "# Resolution for issue ST-2942\n\n## Impact\n\nFollow instructions in the [AWS S3 docs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html) to manually configure the MFA setting.\n—-- Payload truncated —--", + "url": "https://external.service.dev/result/PRTNR-CC-TF-127" + } +} +``` + +##### Complete Callback Payload Example + +The example below shows a complete payload explaining the data structure of a callback payload, including all the necessary fields. + +```json +{ + "data": { + "type": "task-results", + "attributes": { + "status": "failed", + "message": "0 passed, 0 skipped, 1 failed", + "url": "https://external.service.dev/terraform-plan-checker/run-i3Df5to9ELvibKpQ" + }, + "relationships": { + "outcomes": { + "data": [ + { + "type": "task-result-outcomes", + "attributes": { + "outcome-id": "PRTNR-CC-TF-127", + "description": "ST-2942: S3 Bucket will not enforce MFA login on delete requests", + "tags": { + "Status": [ + { + "label": "Denied", + "level": "error" + } + ], + "Severity": [ + { + "label": "High", + "level": "error" + }, + { + "label": "Recoverable", + "level": "info" + } + ], + "Cost Centre": [ + { + "label": "IT-OPS" + } + ] + }, + "body": "# Resolution for issue ST-2942\n\n## Impact\n\nFollow instructions in the [AWS S3 docs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html) to manually configure the MFA setting.\n—-- Payload truncated —--", + "url": "https://external.service.dev/result/PRTNR-CC-TF-127" + } + } + ] + } + } + } +} +``` + +### Request Headers + +The PATCH request must use the token supplied in the originating request (`access_token`) for [authentication](/terraform/enterprise/api-docs#authentication). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks.mdx new file mode 100644 index 0000000000..c0b0a8fcc7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-tasks/run-tasks.mdx @@ -0,0 +1,831 @@ +--- +page_title: /tasks API reference for Terraform Enterprise +description: >- + Use Terraform Enterprise API's `/tasks` endpoint to read, create, update, and + delete run tasks, and read, update, delete and associate run tasks to + workspaces. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +[JSON API Schema document]: https://github.com/hashicorp/terraform-docs-common/blob/main/website/public/schema/run-tasks/runtask-results.json + +# Run tasks API reference + +[Run tasks](/terraform/enterprise/workspaces/settings/run-tasks) allow HCP Terraform to interact with external systems at specific points in the HCP Terraform run lifecycle. Run tasks are reusable configurations that you can associate to any workspace in an organization. This page lists the API endpoints for run tasks in an organization and explains how to associate run tasks to workspaces. + + + +@include 'tfc-package-callouts/run-tasks.mdx' + + + +Refer to [run tasks Integration](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) for the API endpoints related triggering run tasks and the expected integration response. + +## Required Permissions + +To interact with run tasks on an organization, you need the [Manage Run Tasks permission](/terraform/enterprise/users-teams-organizations/permissions#manage-run-tasks). To associate or dissociate run tasks in a workspace, you need the [Manage Workspace Run Tasks permission](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) on that particular workspace. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Create a Run Task + +`POST /organizations/:organization_name/tasks` + +| Parameter | Description | +| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The organization to create a run task in. The organization must already exist in HCP Terraform, and the token authenticating the API request must have [owner permission](/terraform/enterprise/users-teams-organizations/permissions). | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "tasks"`) | Successfully created a run task | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required unless otherwise specified. + +| Key path | Type | Default | Description | +| -------------------------------------------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `data.type` | string | | Must be `"tasks"`. | +| `data.attributes.name` | string | | The name of the task. Can include letters, numbers, `-`, and `_`. | +| `data.attributes.url` | string | | URL to send a run task payload. | +| `data.attributes.description` | string | | The description of the run task. Can be up to 300 characters long including spaces, letters, numbers, and special characters. | +| `data.attributes.category` | string | | Must be `"task"`. | +| `data.attributes.hmac-key` | string | | (Optional) HMAC key to verify run task. | +| `data.attributes.enabled` | bool | true | (Optional) Whether the task will be run. | +| `data.attributes.global-configuration.enabled` | bool | false | (Optional) Whether the task will be associated on all workspaces. | +| `data.attributes.global-configuration.stages` | array | | (Optional) An array of strings representing the stages of the run lifecycle when the run task should begin. Must be one or more of `"pre_plan"`, `"post_plan"`, `"pre_apply"`, or `"post_apply"`. | +| `data.attributes.global-configuration.enforcement-level` | string | | (Optional) The enforcement level of the workspace task. Must be `"advisory"` or `"mandatory"`. | +| `data.relationships.agent-pool.data.id` | string | | (Optional) The agent pool that HCP Terraform uses to make requests for the run task. Requires the [`private_run_tasks` feature entitlement](/terraform/enterprise/api-docs#feature-entitlements) and a self-hosted HCP Terraform agent with [request forwarding](/terraform/cloud-docs/agents/request-forwarding). | + +### Sample Payload + +```json +{ + "data": { + "type": "tasks", + "attributes": { + "name": "example", + "url": "http://example.com", + "description": "Simple description", + "hmac_key": "secret", + "enabled": "true", + "category": "task", + "global-configuration": { + "enabled": true, + "stages": ["pre_plan"], + "enforcement-level": "mandatory" + } + }, + "relationships": { + "agent-pool": { + "data": { + "id": "apool-yoGUFz5zcRMMz53i", + "type": "agent-pools" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/tasks +``` + +### Sample Response + +```json +{ + "data": { + "id": "task-7oD7doVTQdAFnMLV", + "type": "tasks", + "attributes": { + "category": "task", + "name": "my-run-task", + "url": "http://example.com", + "description": "Simple description", + "enabled": "true", + "hmac-key": null, + "global-configuration": { + "enabled": true, + "stages": ["pre_plan"], + "enforcement-level": "mandatory" + } + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "tasks": { + "data": [] + }, + "agent-pool": { + "data": { + "id": "apool-yoGUFz5zcRMMz53i", + "type": "agent-pools" + } + } + }, + "links": { + "self": "/api/v2/tasks/task-7oD7doVTQdAFnMLV" + } + } +} +``` + +## List Run Tasks + +`GET /organizations/:organization_name/tasks` + +| Parameter | Description | +| -------------------- | ----------------------------------- | +| `:organization_name` | The organization to list tasks for. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "tasks"`) | Request was successful | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `include` | **Optional.** Allows including related resource data. Value must be a comma-separated list containing one or more of `workspace_tasks` or `workspace_tasks.workspace`. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 run tasks per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-organization/tasks +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "task-7oD7doVTQdAFnMLV", + "type": "tasks", + "attributes": { + "category": "task", + "name": "my-task", + "url": "http://example.com", + "description": "Simple description", + "enabled": "true", + "hmac-key": null, + "global-configuration": { + "enabled": true, + "stages": [ + "pre_plan" + ], + "enforcement-level": "mandatory" + } + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "tasks": { + "data": [] + } + }, + "links": { + "self": "/api/v2/tasks/task-7oD7doVTQdAFnMLV" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/hashicorp/tasks?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/hashicorp/tasks?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/hashicorp/tasks?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + } + } +} +``` + +## Show a Run Task + +`GET /tasks/:id` + +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------- | +| `:id` | The ID of the task to show. Use the ["List Run Tasks"](#list-run-tasks) endpoint to find IDs. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | --------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "tasks"`) | The request was successful | +| [404][] | [JSON API error object][] | Run task not found or user unauthorized to perform action | + +| Parameter | Description | +| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `include` | **Optional.** Allows including related resource data. Value must be a comma-separated list containing one or more of `workspace_tasks` or `workspace_tasks.workspace`. | + +### Sample Request + +```shell +curl --request GET \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/tasks/task-7oD7doVTQdAFnMLV +``` + +### Sample Response + +```json +{ + "data": { + "id": "task-7oD7doVTQdAFnMLV", + "type": "tasks", + "attributes": { + "category": "task", + "name": "my-task", + "url": "http://example.com", + "description": "Simple description", + "enabled": "true", + "hmac-key": null, + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "tasks": { + "data": [ + { + "id": "task-xjKZw9KaeXda61az", + "type": "tasks" + } + ] + } + }, + "links": { + "self": "/api/v2/tasks/task-7oD7doVTQdAFnMLV" + } + } +} +``` + +## Update a Run Task + +`PATCH /tasks/:id` + +| Parameter | Description | +| --------- | ----------------------------------------------------------------------------------------------- | +| `:id` | The ID of the task to update. Use the ["List Run Tasks"](#list-run-tasks) endpoint to find IDs. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "tasks"`) | The request was successful | +| [404][] | [JSON API error object][] | Run task not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required unless otherwise specified. + +| Key path | Type | Default | Description | +| -------------------------------------------------------- | ------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"tasks"`. | +| `data.attributes.name` | string | (previous value) | The name of the run task. Can include letters, numbers, `-`, and `_`. | +| `data.attributes.url` | string | (previous value) | URL to send a run task payload. | +| `data.attributes.description` | string | | The description of the run task. Can be up to 300 characters long including spaces, letters, numbers, and special characters. | +| `data.attributes.category` | string | (previous value) | Must be `"task"`. | +| `data.attributes.hmac-key` | string | (previous value) | (Optional) HMAC key to verify run task. | +| `data.attributes.enabled` | bool | (previous value) | (Optional) Whether the task will be run. | +| `data.attributes.global-configuration.enabled` | bool | (previous value) | (Optional) Whether the task will be associated on all workspaces. | +| `data.attributes.global-configuration.stages` | array | (previous value) | (Optional) An array of strings representing the stages of the run lifecycle when the run task should begin. Must be one or more of `"pre_plan"`, `"post_plan"`, `"pre_apply"`, or `"post_apply"`. | +| `data.attributes.global-configuration.enforcement-level` | string | (previous value) | (Optional) The enforcement level of the workspace task. Must be `"advisory"` or `"mandatory"`. | + +### Sample Payload + +```json +{ + "data": { + "type": "tasks", + "attributes": { + "name": "new-example", + "url": "http://new-example.com", + "description": "New description", + "hmac_key": "new-secret", + "enabled": "false", + "category": "task", + "global-configuration": { + "enabled": false + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/tasks/task-7oD7doVTQdAFnMLV +``` + +### Sample Response + +```json +{ + "data": { + "id": "task-7oD7doVTQdAFnMLV", + "type": "tasks", + "attributes": { + "category": "task", + "name": "new-example", + "url": "http://new-example.com", + "description": "New description", + "enabled": "false", + "hmac-key": null, + "global-configuration": { + "enabled": false, + "stages": ["pre_plan"], + "enforcement-level": "mandatory" + } + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "tasks": { + "data": [ + { + "id": "wstask-xjKZw9KaeXda61az", + "type": "workspace-tasks" + } + ] + } + }, + "links": { + "self": "/api/v2/tasks/task-7oD7doVTQdAFnMLV" + } + } +} +``` + +## Delete a Run Task + +`DELETE /tasks/:id` + +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the run task to delete. Use the ["List Run Tasks"](#list-run-tasks) endpoint to find IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | ---------------------------------------------------------- | +| [204][] | No Content | Successfully deleted the run task | +| [404][] | [JSON API error object][] | Run task not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/tasks/task-7oD7doVTQdAFnMLV +``` + +## Associate a Run Task to a Workspace + +`POST /workspaces/:workspace_id/tasks` + +| Parameter | Description | +| --------------- | ------------------------ | +| `:workspace_id` | The ID of the workspace. | + +This endpoint associates an existing run task to a specific workspace. + +This involves setting the run task enforcement level, which determines whether the run task blocks runs from completing. + +- Advisory run tasks can not block a run from completing. If the task fails, the run will proceed with a warning. + +- Mandatory run tasks block a run from completing. If the task fails (including a timeout or unexpected remote error condition), the run stops with an error. + +You may also configure the run task to begin during specific [run stages](/terraform/enterprise/run/states). Run tasks use the [Post-Plan Stage](/terraform/enterprise/run/states#the-post-plan-stage) by default. + +| Status | Response | Reason | +| ------- | ------------------------- | ---------------------------------------------------------------------- | +| [204][] | No Content | The request was successful | +| [404][] | [JSON API error object][] | Workspace or run task not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------------- | ------ | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"workspace-tasks"`. | +| `data.attributes.enforcement-level` | string | | The enforcement level of the workspace task. Must be `"advisory"` or `"mandatory"`. | +| `data.attributes.stage` | string | `"post_plan"` | **DEPRECATED** Use `stages` instead. The stage in the run lifecycle when the run task should begin. Must be `"pre_plan"`, `"post_plan"`, `"pre_apply"`, or `"post_apply"`. | +| `data.attributes.stages` | array | `["post_plan"]` | An array of strings representing the stages of the run lifecycle when the run task should begin. Must be one or more of `"pre_plan"`, `"post_plan"`, `"pre_apply"`, or `"post_apply"`. | +| `data.relationships.task.data.id` | string | | The ID of the run task. | +| `data.relationships.task.data.type` | string | | Must be `"tasks"`. | + +### Sample Payload + +```json +{ + "data": { + "type": "workspace-tasks", + "attributes": { + "enforcement-level": "advisory", + "stages": ["post_plan"] + }, + "relationships": { + "task": { + "data": { + "id": "task-7oD7doVTQdAFnMLV", + "type": "tasks" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-PphL7ix3yGasYGrq/tasks +``` + +### Sample Response + +```json +{ + "data": { + "id": "wstask-tBXYu8GVAFBpcmPm", + "type": "workspace-tasks", + "attributes": { + "enforcement-level": "advisory", + "stage": "post_plan", + "stages": ["post_plan"] + }, + "relationships": { + "task": { + "data": { + "id": "task-7oD7doVTQdAFnMLV", + "type": "tasks" + } + }, + "workspace": { + "data": { + "id": "ws-PphL7ix3yGasYGrq", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/workspaces/ws-PphL7ix3yGasYGrq/tasks/task-tBXYu8GVAFBpcmPm" + } + } +} +``` + +## List Workspace Run Tasks + +`GET /workspaces/:workspace_id/tasks` + +| Parameter | Description | +| --------------- | -------------------------------- | +| `:workspace_id` | The workspace to list tasks for. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | ----------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "tasks"`) | Request was successful | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 run tasks per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "wstask-tBXYu8GVAFBpcmPm", + "type": "workspace-tasks", + "attributes": { + "enforcement-level": "advisory", + "stage": "post_plan", + "stages": ["post_plan"] + }, + "relationships": { + "task": { + "data": { + "id": "task-hu74ST39g566Q4m5", + "type": "tasks" + } + }, + "workspace": { + "data": { + "id": "ws-kRsDRPtTmtcEme4t", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks/task-tBXYu8GVAFBpcmPm" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + } + } +} +``` + +## Show Workspace Run Task + +`GET /workspaces/:workspace_id/tasks/:id` + +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the workspace task to show. Use the ["List Workspace Run Tasks"](#list-workspace-run-tasks) endpoint to find IDs. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | ------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "tasks"`) | The request was successful | +| [404][] | [JSON API error object][] | Workspace run task not found or user unauthorized to perform action | + +### Sample Request + +```shell +curl --request GET \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks/wstask-tBXYu8GVAFBpcmPm +``` + +### Sample Response + +```json +{ + "data": { + "id": "wstask-tBXYu8GVAFBpcmPm", + "type": "workspace-tasks", + "attributes": { + "enforcement-level": "advisory", + "stage": "post_plan", + "stages": ["post_plan"] + }, + "relationships": { + "task": { + "data": { + "id": "task-hu74ST39g566Q4m5", + "type": "tasks" + } + }, + "workspace": { + "data": { + "id": "ws-kRsDRPtTmtcEme4t", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks/wstask-tBXYu8GVAFBpcmPm" + } + } +} +``` + +## Update Workspace Run Task + +`PATCH /workspaces/:workspace_id/tasks/:id` + +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the task to update. Use the ["List Workspace Run Tasks"](#list-workspace-run-tasks) endpoint to find IDs. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | ------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "tasks"`) | The request was successful | +| [404][] | [JSON API error object][] | Workspace run task not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------------- | ------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | (previous value) | Must be `"workspace-tasks"`. | +| `data.attributes.enforcement-level` | string | (previous value) | The enforcement level of the workspace run task. Must be `"advisory"` or `"mandatory"`. | +| `data.attributes.stage` | string | (previous value) | **DEPRECATED** Use `stages` instead. The stage in the run lifecycle when the run task should begin. Must be `"pre_plan"` or `"post_plan"`. | +| `data.attributes.stages` | array | (previous value) | An array of strings representing the stages of the run lifecycle when the run task should begin. Must be one or more of `"pre_plan"`, `"post_plan"`, `"pre_apply"`, or `"post_apply"`. | + +### Sample Payload + +```json +{ + "data": { + "type": "workspace-tasks", + "attributes": { + "enforcement-level": "mandatory", + "stages": ["post_plan"] + } + } +} +``` + +#### Deprecated Payload + +```json +{ + "data": { + "type": "workspace-tasks", + "attributes": { + "enforcement-level": "mandatory", + "stages": ["post_plan"] + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks/wstask-tBXYu8GVAFBpcmPm +``` + +### Sample Response + +```json +{ + "data": { + "id": "wstask-tBXYu8GVAFBpcmPm", + "type": "workspace-tasks", + "attributes": { + "enforcement-level": "mandatory", + "stage": "post_plan", + "stages": ["post_plan"] + }, + "relationships": { + "task": { + "data": { + "id": "task-hu74ST39g566Q4m5", + "type": "tasks" + } + }, + "workspace": { + "data": { + "id": "ws-kRsDRPtTmtcEme4t", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks/task-tBXYu8GVAFBpcmPm" + } + } +} +``` + +## Delete Workspace Run Task + +`DELETE /workspaces/:workspace_id/tasks/:id` + +| Parameter | Description | +| --------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the Workspace run task to delete. Use the ["List Workspace Run Tasks"](#list-workspace-run-tasks) endpoint to find IDs. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------- | +| [204][] | No Content | Successfully deleted the workspace run task | +| [404][] | [JSON API error object][] | Workspace run task not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/workspaces/ws-kRsDRPtTmtcEme4t/tasks/wstask-tBXYu8GVAFBpcmPm +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-triggers.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-triggers.mdx new file mode 100644 index 0000000000..e557a25a36 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run-triggers.mdx @@ -0,0 +1,349 @@ +--- +page_title: /run-triggers API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/run-triggers` endpoint to read, create, + and delete run triggers. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Run triggers API reference + +## Create a Run Trigger + +`POST /workspaces/:workspace_id/run-triggers` + +| Parameter | Description | +| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to create the run trigger in. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | ------------------------------------------------------------------------ | +| [201][] | [JSON API document][] (`type: "run-triggers"`) | Successfully created a run trigger | +| [404][] | [JSON API error object][] | Workspace or sourceable not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Permissions + +In order to create a run trigger, the user must have admin access to the specified workspace and permission to read runs for the sourceable workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------ | ------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.relationships.sourceable.data` | object | | A JSON API relationship object that represents the source workspace for the run trigger. This object must have `id` and `type` properties, and the `type` property must be `workspaces` (e.g. `{ "id": "ws-2HRvNs49EWPjDqT1", "type": "workspaces" }`). Obtain workspace IDs from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +### Sample Payload + +```json +{ + "data": { + "relationships": { + "sourceable": { + "data": { + "id": "ws-2HRvNs49EWPjDqT1", + "type": "workspaces" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --request POST \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-XdeUVMWShTesDMME/run-triggers +``` + +### Sample Response + +```json +{ + "data": { + "id": "rt-3yVQZvHzf5j3WRJ1", + "type": "run-triggers", + "attributes": { + "workspace-name": "workspace-1", + "sourceable-name": "workspace-2", + "created-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "workspace": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + }, + "sourceable": { + "data": { + "id": "ws-2HRvNs49EWPjDqT1", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/run-triggers/rt-3yVQZvHzf5j3WRJ1" + } + } +} +``` + +## List Run Triggers + +`GET /workspaces/:workspace_id/run-triggers` + +| Parameter | Description | +| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to list run triggers for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "run-triggers"`) | Request was successful | +| [400][] | [JSON API error object][] | Required parameter `filter[run-trigger][type]` is missing or has been given an invalid value | +| [404][] | [JSON API error object][] | Workspace not found or user unauthorized to perform action | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filter[run-trigger][type]` | **Required** Which type of run triggers to list; valid values are `inbound` or `outbound`. `inbound` run triggers create runs in the specified workspace, and `outbound` run triggers create runs in other workspaces. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 run triggers per page. | + +### Permissions + +In order to list run triggers, the user must have permission to read runs for the specified workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-XdeUVMWShTesDMME/run-triggers?filter%5Brun-trigger%5D%5Btype%5D=inbound +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "rt-WygcwSBuYaQWrM39", + "type": "run-triggers", + "attributes": { + "workspace-name": "workspace-1", + "sourceable-name": "workspace-2", + "created-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "workspace": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + }, + "sourceable": { + "data": { + "id": "ws-2HRvNs49EWPjDqT1", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/run-triggers/rt-WygcwSBuYaQWrM39" + } + }, + { + "id": "rt-8F5JFydVYAmtTjET", + "type": "run-triggers", + "attributes": { + "workspace-name": "workspace-1", + "sourceable-name": "workspace-3", + "created-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "workspace": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + }, + "sourceable": { + "data": { + "id": "ws-BUHBEM97xboT8TVz", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/run-triggers/rt-8F5JFydVYAmtTjET" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/workspaces/ws-xdiJLyGpCugbFDE1/run-triggers?filter%5Brun-trigger%5D%5Btype%5D=inbound&page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/workspaces/ws-xdiJLyGpCugbFDE1/run-triggers?filter%5Brun-trigger%5D%5Btype%5D=inbound&page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/workspaces/ws-xdiJLyGpCugbFDE1/run-triggers?filter%5Brun-trigger%5D%5Btype%5D=inbound&page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 2 + } + } +} +``` + +## Show a Run Trigger + +`GET /run-triggers/:run_trigger_id` + +| Parameter | Description | +| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:run_trigger_id` | The ID of the run trigger to show. Send a `GET` request to the `run-triggers` endpoint to find IDs. Refer to [List Run Triggers](#list-run-triggers) for details. | + +| Status | Response | Reason | +| ------- | ---------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "run-triggers"`) | The request was successful | +| [404][] | [JSON API error object][] | Run trigger not found or user unauthorized to perform action | + +### Permissions + +In order to show a run trigger, the user must have permission to read runs for either the workspace or sourceable workspace of the specified run trigger. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/run-triggers/rt-3yVQZvHzf5j3WRJ1 +``` + +### Sample Response + +```json +{ + "data": { + "id": "rt-3yVQZvHzf5j3WRJ1", + "type": "run-triggers", + "attributes": { + "workspace-name": "workspace-1", + "sourceable-name": "workspace-2", + "created-at": "2018-09-11T18:21:21.784Z" + }, + "relationships": { + "workspace": { + "data": { + "id": "ws-XdeUVMWShTesDMME", + "type": "workspaces" + } + }, + "sourceable": { + "data": { + "id": "ws-2HRvNs49EWPjDqT1", + "type": "workspaces" + } + } + }, + "links": { + "self": "/api/v2/run-triggers/rt-3yVQZvHzf5j3WRJ1" + } + } +} +``` + +## Delete a Run Trigger + +`DELETE /run-triggers/:run_trigger_id` + +| Parameter | Description | +| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:run_trigger_id` | The ID of the run trigger to delete. Send a `GET` request to the `run-triggers` endpoint o find IDs. Refer to [List Run Triggers](#list-run-triggers) for details. | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------ | +| [204][] | No Content | Successfully deleted the run trigger | +| [404][] | [JSON API error object][] | Run trigger not found or user unauthorized to perform action | + +### Permissions + +In order to delete a run trigger, the user must have admin access to the specified workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Sample Request + +```shell +curl \ + --request DELETE \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/run-triggers/rt-3yVQZvHzf5j3WRJ1 +``` + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +These includes respect read permissions. If you do not have access to read the related resource, it will not be returned. + +- `workspace` - The full workspace object. +- `sourceable` - The full source workspace object. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run.mdx new file mode 100644 index 0000000000..950e1d8880 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/run.mdx @@ -0,0 +1,902 @@ +--- +page_title: /runs API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/runs` endpoint to read, get, create, + apply, discard, execute, and cancel Terraform runs. You can also list a + workspace's or organization's runs. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Runs API reference + +-> **Note:** Before working with the runs or configuration versions APIs, read the [API-driven run workflow](/terraform/enterprise/run/api) page, which includes both a full overview of this workflow and a walkthrough of a simple implementation of it. + +Performing a run on a new configuration is a multi-step process. + +1. [Create a configuration version on the workspace](/terraform/enterprise/api-docs/configuration-versions#create-a-configuration-version). +2. [Upload configuration files to the configuration version](/terraform/enterprise/api-docs/configuration-versions#upload-configuration-files). +3. [Create a run on the workspace](#create-a-run); this is done automatically when a configuration file is uploaded. +4. [Create and queue an apply on the run](#apply-a-run); if the run can't be auto-applied. + +Alternatively, you can create a run with a pre-existing configuration version, even one from another workspace. This is useful for promoting known good code from one workspace to another. + +## Attributes + +### Run States + +The run state is found in `data.attributes.status`, and you can reference the following list of possible states. + +| State | Description | +| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `pending` | The initial status of a run after creation. | +| `fetching` | The run is waiting for HCP Terraform to fetch the configuration from VCS. | +| `fetching_completed` | HCP Terraform has fetched the configuration from VCS and the run will continue. | +| `pre_plan_running` | The pre-plan phase of the run is in progress. | +| `pre_plan_completed` | The pre-plan phase of the run has completed. | +| `queuing` | HCP Terraform is queuing the run to start the planning phase. | +| `plan_queued` | HCP Terraform is waiting for its backend services to start the plan. | +| `planning` | The planning phase of a run is in progress. | +| `planned` | The planning phase of a run has completed. | +| `cost_estimating` | The cost estimation phase of a run is in progress. | +| `cost_estimated` | The cost estimation phase of a run has completed. | +| `policy_checking` | The sentinel policy checking phase of a run is in progress. | +| `policy_override` | A sentinel policy has soft failed, and a user can override it to continue the run. | +| `policy_soft_failed` | A sentinel policy has soft failed for a plan-only run. This is a final state. | +| `policy_checked` | The sentinel policy checking phase of a run has completed. | +| `confirmed` | A user has confirmed the plan. | +| `post_plan_running` | The post-plan phase of the run is in progress. | +| `post_plan_completed` | The post-plan phase of the run has completed. | +| `planned_and_finished` | The run is completed. This status only exists for plan-only runs and runs that produce a plan with no changes to apply. This is a final state. | +| `planned_and_saved` | The run has finished its planning, checks, and estimates, and can be confirmed for apply. This status is only used for saved plan runs. | +| `apply_queued` | Once the changes in the plan have been confirmed, the run will transition to `apply_queued`. This status indicates that the run should start as soon as the backend services that run terraform have available capacity. In HCP Terraform, you should seldom see this status, as our aim is to always have capacity. However, in Terraform Enterprise this status will be more common due to the self-hosted nature. | +| `applying` | Terraform is applying the changes specified in the plan. | +| `applied` | Terraform has applied the changes specified in the plan. | +| `discarded` | The run has been discarded. This is a final state. | +| `errored` | The run has errored. This is a final state. | +| `canceled` | The run has been canceled. | +| `force_canceled` | A workspace admin forcefully canceled the run. | + +### Run Operations + +The run operation specifies the Terraform execution mode. You can reference the following list of possible execution modes and use them as query parameters in the [workspace](/terraform/enterprise/api-docs/run#list-runs-in-a-workspace) and [organization](/terraform/enterprise/api-docs/run#list-runs-in-a-organization) runs lists. + +| Operation | Description | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `plan_only` | The run does not have an apply phase. This is also called a [_speculative plan_](/terraform/enterprise/run/modes-and-options#plan-only-speculative-plan). | +| `plan_and_apply` | The run includes both plan and apply phases. | +| `save_plan` | The run is a saved plan run. It can include both plan and apply phases, but only becomes the workspace's current run if a user chooses to apply it. | +| `refresh_only` | The run should update Terraform state, but not make changes to resources. | +| `destroy` | The run should destroy all objects, regardless of configuration changes. | +| `empty_apply` | The run should perform an apply with no changes to resources. This is most commonly used to [upgrade terraform state versions](/terraform/enterprise/workspaces/state#upgrading-state). | + +### Run Sources + +You can use the following sources as query parameters in [workspace](/terraform/enterprise/api-docs/run#list-runs-in-a-workspace) and [organization](/terraform/enterprise/api-docs/run#list-runs-in-a-organization) runs lists. + +| Source | Description | +| --------------------------- | --------------------------------------------------------------------------------------- | +| `tfe-ui` | Indicates a run was queued from HCP Terraform UI. | +| `tfe-api` | Indicates a run was queued from HCP Terraform API. | +| `tfe-configuration-version` | Indicates a run was queued from a Configuration Version, triggered from a VCS provider. | + +### Run Status Groups + +The run status group specifies a collection of run states by logical category. + +| Group | Description | +| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `non_final` | Inclusive of runs that are currently running, require user confirmation, or are queued/pending. | +| `final` | Inclusive of runs that have reached their final and terminal state. | +| `discardable` | Inclusive of runs whose state falls under the following: `planned`, `planned_and_saved`, `cost_estimated`, `policy_checked`, `policy_override`, `post_plan_running`, `post_plan_completed` | + +## Create a Run + +`POST /runs` + +A run performs a plan and apply, using a configuration version and the workspace’s current variables. You can specify a configuration version when creating a run; if you don’t provide one, the run defaults to the workspace’s most recently used version. (A configuration version is “used” when it is created or used for a run in this workspace.) + +Creating a run requires permission to queue plans for the specified workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +When creating a run, you may optionally provide a list of variable objects containing key and value attributes. These values apply to that run specifically and take precedence over variables with the same key applied to the workspace(e.g., variable sets). Refer to [Variable Precedence](/terraform/enterprise/workspaces/variables#precedence) for more information. All values must be expressed as an HCL literal in the same syntax you would use when writing Terraform code. Refer to [Types](/terraform/language/expressions/types#types) in the Terraform documentation for more details. + +Setting `debugging_mode: true` enables debugging mode for the queued run only. This is equivalent to setting the `TF_LOG` environment variable to `TRACE` for this run. See [Debugging Terraform](/terraform/internals/debugging) for more information. + +**Sample Run Variables:** + +```json +"attributes": { + "variables": [ + { "key": "replicas", "value": "2" }, + { "key": "access_key", "value": "\"ABCDE12345\"" } + ] +} +``` + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------------------------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.attributes.allow-empty-apply` | bool | none | Specifies whether Terraform can apply the run even when the plan [contains no changes](/terraform/enterprise/run/modes-and-options#allow-empty-apply). Use this property to [upgrade state](/terraform/enterprise/workspaces/state#upgrading-state) after upgrading a workspace to a new terraform version. | +| `data.attributes.allow-config-generation` | bool | `false` | Specifies whether Terraform can [generate resource configuration](/terraform/language/import/generating-configuration) when planning to import new resources. When set to `false`, Terraform returns an error when `import` blocks do not have a corresponding `resource` block. | +| `data.attributes.auto-apply` | bool | Defaults to the [Auto Apply](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply) workspace setting. | Determines if Terraform automatically applies the configuration on a successful `terraform plan`. | +| `data.attributes.debugging-mode` | bool | `false` | When set to `true`, enables verbose logging for the queued plan. | +| `data.attributes.is-destroy` | bool | `false` | When set to `true`, the plan destroys all provisioned resources. Mutually exclusive with `refresh-only`. | +| `data.attributes.message` | string | `"Queued manually via the Terraform Enterprise API"` | Specifies the message associated with this run. | +| `data.attributes.refresh` | bool | `true` | Specifies whether or not to refresh the state before a plan. | +| `data.attributes.refresh-only` | bool | `false` | When set to `true`, this run refreshes the state without modifying any resources. Mutually exclusive with `is-destroy`. | +| `data.attributes.replace-addrs` | array\[string] | | Specifies an optional list of resource addresses to be passed to the `-replace` flag. | +| `data.attributes.target-addrs` | array\[string] | | Specifies an optional list of resource addresses to be passed to the `-target` flag. | +| `data.attributes.variables` | array\[{key, value}] | (empty array) | Specifies an optional list of run-specific variable values. Refer to [Run-Specific Variables](/terraform/enterprise/workspaces/variables/managing-variables#run-specific-variables) for details. | +| `data.attributes.plan-only` | bool | (from configuration version) | Specifies if this is a [speculative, plan-only](/terraform/enterprise/run/modes-and-options#plan-only-speculative-plan) run that Terraform cannot apply. Often used in conjunction with terraform-version in order to test whether an upgrade would succeed. | +| `data.attributes.save-plan` | bool | `false` | When set to `true`, the run is executed as a `save plan` run. A `save plan` run plans and checks the configuration without becoming the workspace's current run. These run types only becomes the current run if you confirm that you want to apply them when prompted. When creating new [configuration versions](/terraform/enterprise/api-docs/configuration-versions) for saved plan runs, be sure to make them `provisional`. | +| `data.attributes.terraform-version` | string | none | Specifies the Terraform version to use in this run. Only valid for plan-only runs; must be a valid Terraform version available to the organization. | +| `data.relationships.workspace.data.id` | string | none | Specifies the workspace ID to execute the run in. | +| `data.relationships.configuration-version.data.id` | string | none | Specifies the configuration version to use for this run. If the `configuration-version` object is omitted, Terraform uses the workspace's latest configuration version to create the run . | + +| Status | Response | Reason | +| ------- | -------------------------------------- | --------------------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "runs"`) | Successfully created a run | +| [404][] | [JSON API error object][] | Organization or workspace not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "message": "Custom message" + }, + "type":"runs", + "relationships": { + "workspace": { + "data": { + "type": "workspaces", + "id": "ws-LLGHCr4SWy28wyGN" + } + }, + "configuration-version": { + "data": { + "type": "configuration-versions", + "id": "cv-n4XQPBa2QnecZJ4G" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/runs +``` + +### Sample Response + +```json +{ + "data": { + "id": "run-CZcmD7eagjhyX0vN", + "type": "runs", + "attributes": { + "actions": { + "is-cancelable": true, + "is-confirmable": false, + "is-discardable": false, + "is-force-cancelable": false + }, + "canceled-at": null, + "created-at": "2021-05-24T07:38:04.171Z", + "has-changes": false, + "auto-apply": false, + "allow-empty-apply": false, + "allow-config-generation": false, + "is-destroy": false, + "message": "Custom message", + "plan-only": false, + "source": "tfe-api", + "status-timestamps": { + "plan-queueable-at": "2021-05-24T07:38:04+00:00" + }, + "status": "pending", + "trigger-reason": "manual", + "target-addrs": null, + "permissions": { + "can-apply": true, + "can-cancel": true, + "can-comment": true, + "can-discard": true, + "can-force-execute": true, + "can-force-cancel": true, + "can-override-policy-check": true + }, + "refresh": false, + "refresh-only": false, + "replace-addrs": null, + "save-plan": false, + "variables": [] + }, + "relationships": { + "apply": {...}, + "comments": {...}, + "configuration-version": {...}, + "cost-estimate": {...}, + "created-by": {...}, + "input-state-version": {...}, + "plan": {...}, + "run-events": {...}, + "policy-checks": {...}, + "workspace": {...}, + "workspace-run-alerts": {...} + }, + "links": { + "self": "/api/v2/runs/run-CZcmD7eagjhyX0vN" + } + } +} +``` + +## Apply a Run + +`POST /runs/:run_id/actions/apply` + +| Parameter | Description | +| --------- | ------------------- | +| `run_id` | The run ID to apply | + +Applies a run that is paused waiting for confirmation after a plan. This includes runs in the "needs confirmation" and "policy checked" states. This action is only required for runs that can't be auto-applied. Plans can be auto-applied if the auto-apply setting is enabled on the workspace and the plan was queued by a new VCS commit or by a user with permission to apply runs for the workspace. + +-> **Note:** If the run has a soft failed sentinel policy, you will need to [override the policy check](/terraform/enterprise/api-docs/policy-checks#override-policy) before Terraform can apply the run. You can find policy check details in the `relationships` section of the [run details endpoint](#get-run-details) response. + +Applying a run requires permission to apply runs for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +This endpoint queues the request to perform an apply; the apply might not happen immediately. + +Since this endpoint represents an action (not a resource), it does not return any object in the response body. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ------------------------------------------------------- | +| [202][] | none | Successfully queued an apply request. | +| [409][] | [JSON API error object][] | Run was not paused for confirmation; apply not allowed. | + +### Request Body + +This POST endpoint allows an optional JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| --------- | ------ | ------- | ---------------------------------- | +| `comment` | string | `null` | An optional comment about the run. | + +### Sample Payload + +This payload is optional, so the `curl` command will work without the `--data @payload.json` option too. + +```json +{ + "comment":"Looks good to me" +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/runs/run-DQGdmrWMX8z9yWQB/actions/apply +``` + +## List Runs in a Workspace + +`GET /workspaces/:workspace_id/runs` + +| Parameter | Description | +| -------------- | ---------------------------------- | +| `workspace_id` | The workspace ID to list runs for. | + +By default, `plan_only` runs will be excluded from the results. To see all runs, use `filter[operation]` with all available operations included as a comma-separated list. +This endpoint has an adjusted rate limit of 30 requests per minute. Note that most endpoints are limited to 30 requests per second. + +| Status | Response | Reason | +| ------- | ------------------------------------------------ | ------------------------ | +| [200][] | Array of [JSON API document][]s (`type: "runs"`) | Successfully listed runs | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | Required | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | +| `page[number]` | If omitted, the endpoint returns the first page. | Optional | +| `page[size]` | If omitted, the endpoint returns 20 runs per page. | Optional | +| `filter[operation]` | A comma-separated list of run operations. The result lists runs that perform one of these operations. For details on options, refer to [Run operations](/terraform/enterprise/api-docs/run#run-operations). | Optional | +| `filter[status]` | A comma-separated list of run statuses. The result lists runs that are in one of the statuses you specify. For details on options, refer to [Run states](/terraform/enterprise/api-docs/run#run-states). | Optional | +| `filter[agent_pool_names]` | A comma-separated list of agent pool names. The result lists runs that use one of the agent pools you specify. | Optional | +| `filter[source]` | A comma-separated list of run sources. The result lists runs that came from one of the sources you specify. Options are listed in [Run Sources](/terraform/enterprise/api-docs/run#run-sources). | Optional | +| `filter[status_group]` | A single status group. The result lists runs whose status falls under this status group. For details on options, refer to [Run status groups](/terraform/enterprise/api-docs/run#run-status-groups). | Optional | +| `filter[timeframe]` | A single year period. The result lists runs that were created within the year you specify. An integer year or the string "year" for the past year are valid values. If omitted, the endpoint returns all runs since the creation of the workspace. | Optional | +| `search[user]` | Searches for runs that match the VCS username you supply. | Optional | +| `search[commit]` | Searches for runs that match the commit sha you specify. | Optional | +| `search[basic]` | Searches for runs that match the VCS username, commit sha, run_id, or run message your specify. HCP Terraform prioritizes `search[commit]` or `search[user]` and ignores `search[basic]` in favor of the higher priority parameters if you include them in your query. | Optional | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-yF7z4gyEQRhaCNG9/runs +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "run-CZcmD7eagjhyX0vN", + "type": "runs", + "attributes": { + "actions": { + "is-cancelable": true, + "is-confirmable": false, + "is-discardable": false, + "is-force-cancelable": false + }, + "canceled-at": null, + "created-at": "2021-05-24T07:38:04.171Z", + "has-changes": false, + "auto-apply": false, + "allow-empty-apply": false, + "allow-config-generation": false, + "is-destroy": false, + "message": "Custom message", + "plan-only": false, + "source": "tfe-api", + "status-timestamps": { + "plan-queueable-at": "2021-05-24T07:38:04+00:00" + }, + "status": "pending", + "trigger-reason": "manual", + "target-addrs": null, + "permissions": { + "can-apply": true, + "can-cancel": true, + "can-comment": true, + "can-discard": true, + "can-force-execute": true, + "can-force-cancel": true, + "can-override-policy-check": true + }, + "refresh": false, + "refresh-only": false, + "replace-addrs": null, + "save-plan": false, + "variables": [] + }, + "relationships": { + "apply": {...}, + "comments": {...}, + "configuration-version": {...}, + "cost-estimate": {...}, + "created-by": {...}, + "input-state-version": {...}, + "plan": {...}, + "run-events": {...}, + "policy-checks": {...}, + "workspace": {...}, + "workspace-run-alerts": {...} + }, + "links": { + "self": "/api/v2/runs/run-bWSq4YeYpfrW4mx7" + } + }, + {...} + ], + "links": { + "first": "https://app.terraform.io/api/v2/workspaces/ws-yF7z4gyEQRhaCNG9/runs?page[number]=1&page[size]=20", + "last": "https://app.terraform.io/api/v2/workspaces/ws-yF7z4gyEQRhaCNG9/runs?page[number]=19206&page[size]=20", + "self": "https://app.terraform.io/api/v2/workspaces/ws-yF7z4gyEQRhaCNG9/runs?page[number]=2&page[size]=20", + "prev": "https://app.terraform.io/api/v2/workspaces/ws-yF7z4gyEQRhaCNG9/runs?page[number]=1&page[size]=20", + "next": "https://app.terraform.io/api/v2/workspaces/ws-yF7z4gyEQRhaCNG9/runs?page[number]=3&page[size]=20" + }, + "meta": { + "pagination": { + "current-page": 2, + "next-page": 3, + "prev-page": 1, + "page-size": 20, + "total-count": 384105, + "total-pages": 19206 + } + } +} +``` + +## List Runs in an Organization + +`GET /organizations/:organization_name/runs` + +| Parameter | Description | +| ------------------- | --------------------------------------- | +| `organization_name` | The organization name to list runs for. | + +This endpoint has an adjusted rate limit of 30 requests per minute. Note that most endpoints are limited to 30 requests per second. + +Note that this endpoint differs from others in the pagination metadata included in the response, such as the exclusion of the typical `total-count` and `total-pages`. See the Sample Response below for more details. + +| Status | Response | Reason | +| ------- | ------------------------------------------------ | ------------------------ | +| [200][] | Array of [JSON API document][]s (`type: "runs"`) | Successfully listed runs | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | Required | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | +| `page[number]` | If omitted, the endpoint returns the first page. | Optional | +| `page[size]` | If omitted, the endpoint returns 20 runs per page. | Optional | +| `filter[operation]` | A comma-separated list of run operations. The result lists runs that perform one of these operations. For details on options, refer to [Run operations](/terraform/enterprise/api-docs/run#run-operations). | Optional | +| `filter[status]` | A comma-separated list of run statuses. The result lists runs that are in one of the statuses you specify. For details on options, refer to [Run states](/terraform/enterprise/api-docs/run#run-states). | Optional | +| `filter[agent_pool_names]` | A comma-separated list of agent pool names. The result lists runs that use one of the agent pools you specify. | Optional | +| `filter[workspace_names]` | A comma-separated list of workspace names. The result lists runs that belong to one of the workspaces your specify. | Optional | +| `filter[source]` | A comma-separated list of run sources. The result lists runs that came from one of the sources you specify. Options are listed in [Run Sources](/terraform/enterprise/api-docs/run#run-sources). | Optional | +| `filter[status_group]` | A single status group. The result lists runs whose status falls under this status group. For details on options, refer to [Run status groups](/terraform/enterprise/api-docs/run#run-status-groups). | Optional | +| `filter[timeframe]` | A single year period. The result lists runs that were created within the year you specify. An integer year or the string "year" for the past year are valid values. If omitted, the endpoint returns runs created in the last year. | Optional | +| `search[user]` | Searches for runs that match the VCS username you supply. | Optional | +| `search[commit]` | Searches for runs that match the commit sha you specify. | Optional | +| `search[basic]` | Searches for runs that match the VCS username, commit sha, run_id, or run message your specify. HCP Terraform prioritizes `search[commit]` or `search[user]` and ignores `search[basic]` in favor of the higher priority parameters if you include them in your query. | Optional | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/hashicorp/runs +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "run-CZcmD7eagjhyX0vN", + "type": "runs", + "attributes": { + "actions": { + "is-cancelable": true, + "is-confirmable": false, + "is-discardable": false, + "is-force-cancelable": false + }, + "canceled-at": null, + "created-at": "2021-05-24T07:38:04.171Z", + "has-changes": false, + "auto-apply": false, + "allow-empty-apply": false, + "allow-config-generation": false, + "is-destroy": false, + "message": "Custom message", + "plan-only": false, + "source": "tfe-api", + "status-timestamps": { + "plan-queueable-at": "2021-05-24T07:38:04+00:00" + }, + "status": "pending", + "trigger-reason": "manual", + "target-addrs": null, + "permissions": { + "can-apply": true, + "can-cancel": true, + "can-comment": true, + "can-discard": true, + "can-force-execute": true, + "can-force-cancel": true, + "can-override-policy-check": true + }, + "refresh": false, + "refresh-only": false, + "replace-addrs": null, + "save-plan": false, + "variables": [] + }, + "relationships": { + "apply": {...}, + "comments": {...}, + "configuration-version": {...}, + "cost-estimate": {...}, + "created-by": {...}, + "input-state-version": {...}, + "plan": {...}, + "run-events": {...}, + "policy-checks": {...}, + "workspace": {...}, + "workspace-run-alerts": {...} + }, + "links": { + "self": "/api/v2/runs/run-bWSq4YeYpfrW4mx7" + } + }, + {...} + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/hashicorp/runs?page[number]=2&page[size]=20", + "prev": "https://app.terraform.io/api/v2/organizations/hashicorp/runs?page[number]=1&page[size]=20", + "next": "https://app.terraform.io/api/v2/organizations/hashicorp/runs?page[number]=3&page[size]=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "next-page": 2, + "prev-page": null, + "page-size": 20 + } + } +} +``` + +## Get run details + +`GET /runs/:run_id` + +| Parameter | Description | +| --------- | ------------------ | +| `:run_id` | The run ID to get. | + +This endpoint is used for showing details of a specific run. + +| Status | Response | Reason | +| ------- | -------------------------------------- | ------------------------------------ | +| [200][] | [JSON API document][] (`type: "runs"`) | Success | +| [404][] | [JSON API error object][] | Run not found or user not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/runs/run-bWSq4YeYpfrW4mx7 +``` + +### Sample Response + +```json +{ + "data": { + "id": "run-CZcmD7eagjhyX0vN", + "type": "runs", + "attributes": { + "actions": { + "is-cancelable": true, + "is-confirmable": false, + "is-discardable": false, + "is-force-cancelable": false + }, + "canceled-at": null, + "created-at": "2021-05-24T07:38:04.171Z", + "has-changes": false, + "auto-apply": false, + "allow-empty-apply": false, + "allow-config-generation": false, + "is-destroy": false, + "message": "Custom message", + "plan-only": false, + "source": "tfe-api", + "status-timestamps": { + "plan-queueable-at": "2021-05-24T07:38:04+00:00" + }, + "status": "pending", + "trigger-reason": "manual", + "target-addrs": null, + "permissions": { + "can-apply": true, + "can-cancel": true, + "can-comment": true, + "can-discard": true, + "can-force-execute": true, + "can-force-cancel": true, + "can-override-policy-check": true + }, + "refresh": false, + "refresh-only": false, + "replace-addrs": null, + "save-plan": false, + "variables": [] + }, + "relationships": { + "apply": {...}, + "comments": {...}, + "configuration-version": {...}, + "cost-estimate": {...}, + "created-by": {...}, + "input-state-version": {...}, + "plan": {...}, + "run-events": {...}, + "policy-checks": {...}, + "task-stages": {...}, + "workspace": {...}, + "workspace-run-alerts": {...} + }, + "links": { + "self": "/api/v2/runs/run-bWSq4YeYpfrW4mx7" + } + } +} +``` + +## Discard a Run + +`POST /runs/:run_id/actions/discard` + +| Parameter | Description | +| --------- | --------------------- | +| `run_id` | The run ID to discard | + +The `discard` action can be used to skip any remaining work on runs that are paused waiting for confirmation or priority. This includes runs in the "pending," "needs confirmation," "policy checked," and "policy override" states. + +Discarding a run requires permission to apply runs for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +This endpoint queues the request to perform a discard; the discard might not happen immediately. After discarding, the run is completed and later runs can proceed. + +This endpoint represents an action as opposed to a resource. As such, it does not return any object in the response body. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [202][] | none | Successfully queued a discard request. | +| [409][] | [JSON API error object][] | Run was not paused for confirmation or priority; discard not allowed. | + +### Request Body + +This POST endpoint allows an optional JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| --------- | ------ | ------- | ------------------------------------------------------ | +| `comment` | string | `null` | An optional explanation for why the run was discarded. | + +### Sample Payload + +This payload is optional, so the `curl` command will work without the `--data @payload.json` option too. + +```json +{ + "comment": "This run was discarded" +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/runs/run-DQGdmrWMX8z9yWQB/actions/discard +``` + +## Cancel a Run + +`POST /runs/:run_id/actions/cancel` + +| Parameter | Description | +| --------- | -------------------- | +| `run_id` | The run ID to cancel | + +The `cancel` action can be used to interrupt a run that is currently planning or applying. Performing a cancel is roughly equivalent to hitting ctrl+c during a Terraform plan or apply on the CLI. The running Terraform process is sent an `INT` signal, which instructs Terraform to end its work and wrap up in the safest way possible. + +Canceling a run requires permission to apply runs for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +This endpoint queues the request to perform a cancel; the cancel might not happen immediately. After canceling, the run is completed and later runs can proceed. + +This endpoint represents an action as opposed to a resource. As such, it does not return any object in the response body. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ----------------------------------------------------- | +| [202][] | none | Successfully queued a cancel request. | +| [409][] | [JSON API error object][] | Run was not planning or applying; cancel not allowed. | +| [404][] | [JSON API error object][] | Run was not found or user not authorized. | + +### Request Body + +This POST endpoint allows an optional JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| --------- | ------ | ------- | ----------------------------------------------------- | +| `comment` | string | `null` | An optional explanation for why the run was canceled. | + +### Sample Payload + +This payload is optional, so the `curl` command will work without the `--data @payload.json` option too. + +```json +{ + "comment": "This run was stuck and would never finish." +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/runs/run-DQGdmrWMX8z9yWQB/actions/cancel +``` + +## Forcefully cancel a run + +`POST /runs/:run_id/actions/force-cancel` + +| Parameter | Description | +| --------- | -------------------- | +| `run_id` | The run ID to cancel | + +The `force-cancel` action is like [cancel](#cancel-a-run), but ends the run immediately. Once invoked, the run is placed into a `canceled` state, and the running Terraform process is terminated. The workspace is immediately unlocked, allowing further runs to be queued. The `force-cancel` operation requires admin access to the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +This endpoint enforces a prerequisite that a [non-forceful cancel](#cancel-a-run) is performed first, and a cool-off period has elapsed. To determine if this criteria is met, it is useful to check the `data.attributes.is-force-cancelable` value of the [run details endpoint](#get-run-details). The time at which the force-cancel action will become available can be found using the [run details endpoint](#get-run-details), in the key `data.attributes.force_cancel_available_at`. Note that this key is only present in the payload after the initial cancel has been initiated. + +This endpoint represents an action as opposed to a resource. As such, it does not return any object in the response body. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +~> **Warning:** This endpoint has potentially dangerous side-effects, including loss of any in-flight state in the running Terraform process. Use this operation with extreme caution. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------ | +| [202][] | none | Successfully queued a cancel request. | +| [409][] | [JSON API error object][] | Run was not planning or applying, has not been canceled non-forcefully, or the cool-off period has not yet passed. | +| [404][] | [JSON API error object][] | Run was not found or user not authorized. | + +### Request Body + +This POST endpoint allows an optional JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| --------- | ------ | ------- | ----------------------------------------------------- | +| `comment` | string | `null` | An optional explanation for why the run was canceled. | + +### Sample Payload + +This payload is optional, so the `curl` command will work without the `--data @payload.json` option too. + +```json +{ + "comment": "This run was stuck and would never finish." +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/runs/run-DQGdmrWMX8z9yWQB/actions/force-cancel +``` + +## Forcefully execute a run + +`POST /runs/:run_id/actions/force-execute` + +| Parameter | Description | +| --------- | --------------------- | +| `run_id` | The run ID to execute | + +The force-execute action cancels all prior runs that are not already complete, unlocking the run's workspace and allowing the run to be executed. (It initiates the same actions as the "Run this plan now" button at the top of the view of a pending run.) + +Force-executing a run requires permission to apply runs for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +This endpoint enforces the following prerequisites: + +- The target run is in the "pending" state. +- The workspace is locked by another run. +- The run locking the workspace can be discarded. + +This endpoint represents an action as opposed to a resource. As such, it does not return any object in the response body. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +~> **Note:** While useful at times, force-executing a run circumvents the typical workflow of applying runs using HCP Terraform. It is not intended for regular use. If you find yourself using it frequently, please reach out to HashiCorp Support for help in developing an alternative approach. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------------------------------- | +| [202][] | none | Successfully initiated the force-execution process. | +| [403][] | [JSON API error object][] | Run is not pending, its workspace was not locked, or its workspace association was not found. | +| [409][] | [JSON API error object][] | The run locking the workspace was not in a discardable state. | +| [404][] | [JSON API error object][] | Run was not found or user not authorized. | + +### Request Body + +This POST endpoint does not take a request body. + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/runs/run-DQGdmrWMX8z9yWQB/actions/force-execute +``` + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +- `plan` - Additional information about plans. +- `apply` - Additional information about applies. +- `created_by` - Full user records of the users responsible for creating the runs. +- `cost_estimate` - Additional information about cost estimates. +- `configuration_version` - The configuration record used in the run. +- `configuration_version.ingress_attributes` - The commit information used in the run. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/ssh-keys.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/ssh-keys.mdx new file mode 100644 index 0000000000..70f2e54828 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/ssh-keys.mdx @@ -0,0 +1,320 @@ +--- +page_title: /ssh-keys API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/ssh-keys` endpoint to read, get, create, + update, and delete an organization's SSH keys. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# SSH keys API reference + +The `ssh-key` object represents an SSH key which includes a name and the SSH private key. An organization can have multiple SSH keys available. + +SSH keys can be used in two places: + +- You can assign them to VCS provider integrations, which are available in the API as `oauth-tokens`. Refer to [OAuth Tokens](/terraform/enterprise/api-docs/oauth-tokens) for additional information. Azure DevOps Server and Bitbucket Data Center require an SSH key. Other providers only require an SSH key when your repositories include submodules that are only accessible using an SSH connection instead of your VCS provider's API. +- They can be [assigned to workspaces](/terraform/enterprise/api-docs/workspaces#assign-an-ssh-key-to-a-workspace) and used when Terraform needs to clone modules from a Git server. This is only necessary when your configurations directly reference modules from a Git server; you do not need to do this if you use HCP Terraform's [private module registry](/terraform/enterprise/registry). + +Listing and viewing SSH keys requires either permission to manage VCS settings for the organization, or admin access to at least one workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +~> **Important:** The list and read methods on this API only provide metadata about SSH keys. The actual private key text is write-only, and HCP Terraform never provides it to users via the API or UI. + +## List SSH Keys + +`GET /organizations/:organization_name/ssh-keys` + +| Parameter | Description | +| -------------------- | -------------------------------------------------- | +| `:organization_name` | The name of the organization to list SSH keys for. | + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ---------------------------------------------------- | --------------------------------------------- | +| [200][] | Array of [JSON API document][]s (`type: "ssh-keys"`) | Success | +| [404][] | [JSON API error object][] | Organization not found or user not authorized | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. + +| Parameter | Description | +| -------------- | ------------------------------------------------------------------------ | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 ssh keys per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/organizations/my-organization/ssh-keys +``` + +### Sample Response + +```json +{ + "data": [ + { + "attributes": { + "name": "SSH Key" + }, + "id": "sshkey-GxrePWre1Ezug7aM", + "links": { + "self": "/api/v2/ssh-keys/sshkey-GxrePWre1Ezug7aM" + }, + "type": "ssh-keys" + } + ] +} +``` + +## Get an SSH Key + +`GET /ssh-keys/:ssh_key_id` + +| Parameter | Description | +| ------------- | ---------------------- | +| `:ssh_key_id` | The SSH key ID to get. | + +This endpoint is for looking up the name associated with an SSH key ID. It does not retrieve the key text. + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------------------------ | ---------------------------------------- | +| [200][] | [JSON API document][] (`type: "ssh-keys"`) | Success | +| [404][] | [JSON API error object][] | SSH key not found or user not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/ssh-keys/sshkey-GxrePWre1Ezug7aM +``` + +### Sample Response + +```json +{ + "data": { + "attributes": { + "name": "SSH Key" + }, + "id": "sshkey-GxrePWre1Ezug7aM", + "links": { + "self": "/api/v2/ssh-keys/sshkey-GxrePWre1Ezug7aM" + }, + "type": "ssh-keys" + } +} +``` + +## Create an SSH Key + +`POST /organizations/:organization_name/ssh-keys` + +| Parameter | Description | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create an SSH key in. The organization must already exist, and the token authenticating the API request must have permission to manage VCS settings. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------------------------ | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "ssh-keys"`) | Success | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [404][] | [JSON API error object][] | User not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------- | ------ | ------- | -------------------------------- | +| `data.type` | string | | Must be `"ssh-keys"`. | +| `data.attributes.name` | string | | A name to identify the SSH key. | +| `data.attributes.value` | string | | The text of the SSH private key. | + +### Sample Payload + +```json +{ + "data": { + "type": "ssh-keys", + "attributes": { + "name": "SSH Key", + "value": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAm6+JVgl..." + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/ssh-keys +``` + +### Sample Response + +```json +{ + "data": { + "attributes": { + "name": "SSH Key" + }, + "id": "sshkey-GxrePWre1Ezug7aM", + "links": { + "self": "/api/v2/ssh-keys/sshkey-GxrePWre1Ezug7aM" + }, + "type": "ssh-keys" + } +} +``` + +## Update an SSH Key + +`PATCH /ssh-keys/:ssh_key_id` + +| Parameter | Description | +| ------------- | ------------------------- | +| `:ssh_key_id` | The SSH key ID to update. | + +This endpoint replaces the name of an existing SSH key. + +Editing SSH keys requires permission to manage VCS settings. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------------------------ | ---------------------------------------- | +| [200][] | [JSON API document][] (`type: "ssh-keys"`) | Success | +| [404][] | [JSON API error object][] | SSH key not found or user not authorized | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ---------------------- | ------ | --------- | --------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"ssh-keys"`. | +| `data.attributes.name` | string | (nothing) | A name to identify the SSH key. If omitted, the existing name is preserved. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "name": "SSH Key for GitHub" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/ssh-keys/sshkey-GxrePWre1Ezug7aM +``` + +### Sample Response + +```json +{ + "data": { + "attributes": { + "name": "SSH Key for GitHub" + }, + "id": "sshkey-GxrePWre1Ezug7aM", + "links": { + "self": "/api/v2/ssh-keys/sshkey-GxrePWre1Ezug7aM" + }, + "type": "ssh-keys" + } +} +``` + +## Delete an SSH Key + +`DELETE /ssh-keys/:ssh_key_id` + +| Parameter | Description | +| ------------- | ------------------------- | +| `:ssh_key_id` | The SSH key ID to delete. | + +Deleting SSH keys requires permission to manage VCS settings. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +-> **Note:** This endpoint cannot be accessed with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------- | ---------------------------------------- | +| [204][] | No Content | Success | +| [404][] | [JSON API error object][] | SSH key not found or user not authorized | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/ssh-keys/sshkey-GxrePWre1Ezug7aM +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/stability-policy.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/stability-policy.mdx new file mode 100644 index 0000000000..1b59e2d1f2 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/stability-policy.mdx @@ -0,0 +1,25 @@ +--- +page_title: API stability policy for Terraform Enterprise +description: >- + Learn how HashiCorp plans for stability, backward compatibility, and + deprecation for the Terraform Enterprise APIs. +source: terraform-docs-common +--- + +# API stability policy + +The HCP Terraform API will continue to evolve, but we consider it stable for general use, and HashiCorp will maintain all stable API endpoints in a backwards compatible manner. (Stable endpoints are any endpoints _not_ marked as beta.) If we need to make a change that we consider backwards incompatible, then we will create a new endpoint that serves the same purpose; the old endpoint will be maintained until declared [deprecated](#deprecation-policy). + +The following changes are considered to be backwards compatible: + +- Adding new API endpoints. +- Adding new attributes, links, or relationships to existing API requests and responses. +- Adding new optional query parameters to existing API requests. + +Security vulnerabilities are an exception to this stability policy; we will make backwards incompatible changes to stable endpoints if it is necessary to protect our security or the security of our users. + +Endpoints that are in beta are subject to change without notice. + +## Deprecation Policy + +The deprecation policy provides users the opportunity to continue to consume API endpoints for a period of time after they have been superseded. Deprecation notices for endpoints should be readily available through various channels of communication, including documentation and HTTP responses. An endpoint should be available for at least three (3) months from the date on which it has been declared deprecated. (This time is cited as a minimum; endpoint availability may be longer based on contracted agreements.) diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-version-outputs.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-version-outputs.mdx new file mode 100644 index 0000000000..cb5ef168b0 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-version-outputs.mdx @@ -0,0 +1,244 @@ +--- +page_title: /state-version-outputs API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/state-version-outputs` endpoint to read + the outputs from a specified Terraform state version or a workspace's current + outputs. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# State version outputs API reference + +State version outputs are the [output values](/terraform/language/values/outputs) from a Terraform state file. They include +the name and value of the output, as well as a sensitive boolean if the value should be hidden by default in UIs. + +~> **Important:** The state version outputs for a state version (as well as some other information about it) might be **populated asynchronously** by HCP Terraform. These values might not be immediately available after the state version is uploaded. The `resources-processed` property on the associated [state version object](/terraform/enterprise/api-docs/state-versions) indicates whether or not HCP Terraform has finished any necessary asynchronous processing. If you need to use these values, be sure to wait for `resources-processed` to become `true` before assuming that the values are in fact empty. + +## List State Version Outputs + +`GET /state-versions/:state_version_id/outputs` + +Listing state version outputs requires permission to read state outputs for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +| Parameter | Description | +| ------------------- | ------------------------------------ | +| `:state_version_id` | The ID of the desired state version. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Successfully returned a list of outputs for the given state version. | +| [404][] | [JSON API error object][] | State version not found, or user unauthorized to perform action. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 state version outputs per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/state-versions/sv-SDboVZC8TCxXEneJ/outputs +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "wsout-xFAmCR3VkBGepcee", + "type": "state-version-outputs", + "attributes": { + "name": "fruits", + "sensitive": false, + "type": "array", + "value": [ + "apple", + "strawberry", + "blueberry", + "rasberry" + ], + "detailed_type": [ + "tuple", + [ + "string", + "string", + "string", + "string" + ] + ] + }, + "links": { + "self": "/api/v2/state-version-outputs/wsout-xFAmCR3VkBGepcee" + } + }, + { + "id": "wsout-vspuB754AUNkfxwo", + "type": "state-version-outputs", + "attributes": { + "name": "vegetables", + "sensitive": false, + "type": "array", + "value": [ + "carrots", + "potato", + "tomato", + "onions" + ], + "detailed_type": [ + "tuple", + [ + "string", + "string", + "string", + "string" + ] + ] + }, + "links": { + "self": "/api/v2/state-version-outputs/wsout-vspuB754AUNkfxwo" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/state-versions/sv-SVB5wMrDL1XUgJ4G/outputs?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/state-versions/sv-SVB5wMrDL1XUgJ4G/outputs?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/state-versions/sv-SVB5wMrDL1XUgJ4G/outputs?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 2 + } + } +} +``` + +## Show a State Version Output + +`GET /state-version-outputs/:state_version_output_id` + +| Parameter | Description | +| -------------------------- | ------------------------------------------- | +| `:state_version_output_id` | The ID of the desired state version output. | + +State version output IDs must be obtained from a [state version object](/terraform/enterprise/api-docs/state-versions). When requesting a state version, you can optionally add `?include=outputs` to include full details for all of that state version's outputs. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "state-version-outputs"`) | Success. | +| [404][] | [JSON API error object][] | State version output not found or user not authorized. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + https://app.terraform.io/api/v2/state-version-outputs/wsout-J2zM24JPFbfc7bE5 +``` + +### Sample Response + +```json +{ + "data": { + "id": "wsout-J2zM24JPFbfc7bE5", + "type": "state-version-outputs", + "attributes": { + "name": "flavor", + "sensitive": false, + "type": "string", + "value": "Peanut Butter", + "detailed-type": "string" + }, + "links": { + "self": "/api/v2/state-version-outputs/wsout-J2zM24JPFbfc7bE5" + } + } +} +``` + +## Show Current State Version Outputs for a Workspace + +This endpoint allows organization users, who do not have permissions to read state versions, to fetch the latest [output values](/terraform/language/values/outputs) for a workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +-> **Note:** Sensitive values are not revealed and will be returned as `null`. To fetch an output including sensitive values see [Show a State Version Output](/terraform/enterprise/api-docs/state-version-outputs#show-a-state-version-output). + +`GET /workspaces/:workspace_id/current-state-version-outputs` + +| Parameter | Description | +| --------------- | --------------------------------------------- | +| `:workspace_id` | The ID of the workspace to read outputs from. | + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "state-version-outputs"`) | Successfully returned a list of outputs for the given workspace. | +| [404][] | [JSON API error object][] | State version outputs not found or user not authorized. | +| [503][] | [JSON API error object][] | State version outputs are being processed and are not ready. Retry the request. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-G4zM299PFbfc10E5/current-state-version-outputs +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "wsout-J2zM24JPFbfc7bE5", + "type": "state-version-outputs", + "attributes": { + "name": "flavor", + "sensitive": false, + "type": "string", + "value": "Peanut Butter", + "detailed-type": "string" + }, + "links": { + "self": "/api/v2/state-version-outputs/wsout-J2zM24JPFbfc7bE5" + } + }, + { + "id": "wsout-FLzM23Gcd5f37bE5", + "type": "state-version-outputs", + "attributes": { + "name": "recipe", + "sensitive": true, + "type": "string", + "value": "Don Douglas' Peanut Butter Frenzy", + "detailed-type": "string" + }, + "links": { + "self": "/api/v2/state-version-outputs/wsout-FLzM23Gcd5f37bE5" + } + } + ] +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-versions.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-versions.mdx new file mode 100644 index 0000000000..9e8873612d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/state-versions.mdx @@ -0,0 +1,1241 @@ +--- +page_title: /state-versions API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/state-versions` endpoint to read, create, + upload, fetch, rollback, delete, and mark state versions for garbage + collection. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# State versions API reference + +## Attributes + +State version API objects represent an instance of Terraform state data, but do not directly contain the stored state. Instead, they contain information about the state, its properties, and its contents, and include one or more URLs from which the state can be downloaded. + +Some of the information returned in a state version API object might be **populated asynchronously** by HCP Terraform. This includes resources, modules, providers, and the [state version outputs](/terraform/enterprise/api-docs/state-version-outputs) associated with the state version. These values might not be immediately available after the state version is uploaded. The `resources-processed` property on the state version object indicates whether or not HCP Terraform has finished any necessary asynchronous processing. If you need to use these values, be sure to wait for `resources-processed` to become `true` before assuming that the values are in fact empty. + +| Attribute | Description | +| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `billable-rum-count` | Count of billable Resources Under Management (RUM). Only present for organization members on HCP Terraform RUM plans with visibility of billable RUM usage. | +| `hosted-json-state-download-url` | A URL from which you can download the state data in a [stable format](/terraform/internals/json-format) appropriate for external integrations to consume. Only available if the state was created by Terraform 1.3+. | +| `hosted-state-download-url` | A URL from which you can download the raw state data, in the format used internally by Terraform. | +| `hosted-json-state-upload-url` | A URL to which you can upload state data in a [stable format](/terraform/internals/json-format) appropriate for external integrations to consume. You can upload JSON state content once per state version. | +| `hosted-state-upload-url` | A URL to which you can upload state data in the format used Terraform uses internally. You can upload state data once per state version. | +| `modules` | Extracted information about the Terraform modules in this state data. Populated asynchronously. | +| `providers` | Extracted information about the Terraform providers used for resources in this state data. Populated asynchronously. | +| `intermediate` | A boolean flag that indicates the state version is a snapshot and not yet set as the current state version for a workspace. The last intermediate state version becomes the current state version when the workspace is unlocked. Not yet supported in Terraform Enterprise. | +| `resources` | Extracted information about the resources in this state data. Populated asynchronously. | +| `resources-processed` | A Boolean flag indicating whether HCP Terraform has finished asynchronously extracting outputs, resources, and other information about this state data. | +| `serial` | The serial number of this state instance, which increases every time Terraform creates new state in the workspace. | +| `state-version` | The version of the internal state format used for this state. Different Terraform versions read and write different format versions, but it only changes infrequently. | +| `status` | Indicates a state version's content upload [status](/terraform/enterprise/api-docs/state-versions#state-version-status). This status can be `pending`, `finalized` or `discarded`. | +| `terraform-version` | The Terraform version that created this state. Populated asynchronously. | +| `vcs-commit-sha` | The SHA of the configuration commit used in the Terraform run that produced this state. Only present if the workspace is connected to a VCS repository. | +| `vcs-commit-url` | A link to the configuration commit used in the Terraform run that produced this state. Only present if the workspace is connected to a VCS repository. | + +### State Version Status + +The state version status is found in `data.attributes.status`, and you can reference the following list of possible statuses. +A state version created through the API or CLI will only be listed in the UI if it is has a `finalized` status. + +| State | Description | +| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `pending` | Indicates that a state version has been created but the state data is not encoded within the request. Pending state versions do not contain state data and do not appear in the UI. You cannot unlock the workspace until the latest state version is finalized. | +| `finalized` | Indicates that the state version has been successfully uploaded to HCP Terraform or that the state version was created with a valid `state` attribute. | +| `discarded` | The state version was discarded because it was superseded by a newer state version before it could be uploaded. | +| `backing_data_soft_deleted` | The backing files associated with this state version are marked for garbage collection. Terraform permanently deletes backing files associated with this state version after a set number of days, but you can restore the backing data associated with it before it is permanently deleted. | +| `backing_data_permanently_deleted` | The backing files associated with this state version have been permanently deleted and can no longer be restored. | + +## Create a State Version + +> **Hands-on:** Try the [Version Remote State with the HCP Terraform API](/terraform/tutorials/cloud/cloud-state-api) tutorial to download a remote state file and use the Terraform API to create a new state version. + +`POST /workspaces/:workspace_id/state-versions` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to create the new state version in. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +Creates a state version and sets it as the current state version for the given workspace. The workspace must be locked by the user creating a state version. The workspace may be locked [with the API](/terraform/enterprise/api-docs/workspaces#lock-a-workspace) or [with the UI](/terraform/enterprise/workspaces/settings#locking). This is most useful for migrating existing state from Terraform Community edition into a new HCP Terraform workspace. + +Creating state versions requires permission to read and write state versions for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +!> **Warning:** Use caution when uploading state to workspaces that have already performed Terraform runs. Replacing state improperly can result in orphaned or duplicated infrastructure resources. + +-> **Note:** For Free Tier organizations, HCP Terraform always retains at least the last 100 states (across all workspaces) and at least the most recent state for every workspace. Additional states beyond the last 100 are retained for six months, and are then deleted. + +-> **Note:** You cannot access this endpoint with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------- | ----------------------------------------------------------------- | +| [201][] | [JSON API document][] | Successfully created a state version. | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action. | +| [409][] | [JSON API error object][] | Conflict; check the error object for more information. | +| [412][] | [JSON API error object][] | Precondition failed; check the error object for more information. | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.). | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------ | ------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"state-versions"`. | +| `data.attributes.serial` | integer | | The serial of the state version. Must match the serial value extracted from the raw state file. | +| `data.attributes.md5` | string | | An MD5 hash of the raw state version. | +| `data.attributes.state` | string | (nothing) | **Optional** Base64 encoded raw state file. If omitted, you must use the upload method below to complete the state version creation. The workspace may not be unlocked normally until the state version is uploaded. | +| `data.attributes.lineage` | string | (nothing) | **Optional** Lineage of the state version. Should match the lineage extracted from the raw state file. Early versions of terraform did not have the concept of lineage, so this is an optional attribute. | +| `data.attributes.json-state` | string | (nothing) | **Optional** Base64 encoded json state, as expressed by `terraform show -json`. See [JSON Output Format](/terraform/internals/json-format) for more details. | +| `data.attributes.json-state-outputs` | string | (nothing) | **Optional** Base64 encoded output values as represented by `terraform show -json` (the contents of the values/outputs key). If provided, the workspace outputs populate immediately. If omitted, HCP Terraform populates the workspace outputs from the given state after a short time. | +| `data.relationships.run.data.id` | string | (nothing) | **Optional** The ID of the run to associate with the state version. | + +### Sample Payload + +```json +{ + "data": { + "type":"state-versions", + "attributes": { + "serial": 1, + "md5": "d41d8cd98f00b204e9800998ecf8427e", + "lineage": "871d1b4a-e579-fb7c-ffdb-f0c858a647a7", + "state": "...", + "json-state": "...", + "json-state-outputs": "..." + }, + "relationships": { + "run": { + "data": { + "type": "runs", + "id": "run-bWSq4YeYpfrW4mx7" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-6fHMCom98SDXSQUv/state-versions +``` + +### Sample Response + +```json +{ + "data": { + "id": "sv-DmoXecHePnNznaA4", + "type": "state-versions", + "attributes": { + "vcs-commit-sha": null, + "vcs-commit-url": null, + "created-at": "2018-07-12T20:32:01.490Z", + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/f55b739b-ff03-4716-b436-726466b96dc4", + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/4fde7951-93c0-4414-9a40-f3abc4bac490", + "hosted-state-upload-url": null, + "hosted-json-state-upload-url": null, + "status": "finalized", + "intermediate": true, + "serial": 1 + }, + "links": { + "self": "/api/v2/state-versions/sv-DmoXecHePnNznaA4" + } + } +} +``` + +## Upload State and JSON State + + You can upload state version content in the same request when creating a state version. However, we _strongly_ recommend that you upload content separately. + +`PUT https://archivist.terraform.io/v1/object/` + +HCP Terraform returns a `hosted-state-upload-url` or `hosted-json-state-upload-url` returned when you create a `state-version`. Once you upload state content, this URL is hidden on the resource and _no longer available_. + +### Sample Request + +In the below example, `@filename` is the name of Terraform state file you wish to upload. + +```shell +curl \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @filename \ + https://archivist.terraform.io/v1/object/4c44d964-eba7-4dd5-ad29-1ece7b99e8da +``` + +## List State Versions for a Workspace + +`GET /state-versions` + +Listing state versions requires permission to read state versions for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ---------------------------- | -------------------------------------------------------------------------------------- | +| `filter[workspace][name]` | **Required** The name of one workspace to list versions for. | +| `filter[organization][name]` | **Required** The name of the organization that owns the desired workspace. | +| `filter[status]` | **Optional.** Filter state versions by status: `pending`, `finalized`, or `discarded`. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 state versions per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + "https://app.terraform.io/api/v2/state-versions?filter%5Bworkspace%5D%5Bname%5D=my-workspace&filter%5Borganization%5D%5Bname%5D=my-organization" +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "sv-g4rqST72reoHMM5a", + "type": "state-versions", + "attributes": { + "created-at": "2021-06-08T01:22:03.794Z", + "size": 940, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "status": "finalized", + "intermediate": false, + "modules": { + "root": { + "null-resource": 1, + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + }, + "provider[\"registry.terraform.io/hashicorp/null\"]": { + "null-resource": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + }, + { + "name": "random", + "type": "null_resource", + "count": 1, + "module": "root", + "provider": "provider[\"registry.terraform.io/hashicorp/null\"]" + } + ], + "resources-processed": true, + "serial": 9, + "state-version": 4, + "terraform-version": "0.15.4", + "vcs-commit-url": "https://gitlab.com/my-organization/terraform-test/-/commit/abcdef12345", + "vcs-commit-sha": "abcdef12345" + }, + "relationships": { + "run": { + "data": { + "id": "run-YfmFLWpgTv31VZsP", + "type": "runs" + } + }, + "created-by": { + "data": { + "id": "user-onZs69ThPZjBK2wo", + "type": "users" + }, + "links": { + "self": "/api/v2/users/user-onZs69ThPZjBK2wo", + "related": "/api/v2/runs/run-YfmFLWpgTv31VZsP/created-by" + } + }, + "workspace": { + "data": { + "id": "ws-noZcaGXsac6aZSJR", + "type": "workspaces" + } + }, + "outputs": { + "data": [ + { + "id": "wsout-V22qbeM92xb5mw9n", + "type": "state-version-outputs" + }, + { + "id": "wsout-ymkuRnrNFeU5wGpV", + "type": "state-version-outputs" + }, + { + "id": "wsout-v82BjkZnFEcscipg", + "type": "state-version-outputs" + } + ] + } + }, + "links": { + "self": "/api/v2/state-versions/sv-g4rqST72reoHMM5a" + } + }, + { + "id": "sv-QYKf6GvNv75ZPTBr", + "type": "state-versions", + "attributes": { + "created-at": "2021-06-01T21:40:25.941Z", + "size": 819, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "status": "finalized", + "intermediate": false, + "modules": { + "root": { + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + } + ], + "resources-processed": true, + "serial": 8, + "state-version": 4, + "terraform-version": "0.15.4", + "vcs-commit-url": "https://gitlab.com/my-organization/terraform-test/-/commit/12345abcdef", + "vcs-commit-sha": "12345abcdef" + }, + "relationships": { + "run": { + "data": { + "id": "run-cVtxks6R8wsjCZMD", + "type": "runs" + } + }, + "created-by": { + "data": { + "id": "user-onZs69ThPZjBK2wo", + "type": "users" + }, + "links": { + "self": "/api/v2/users/user-onZs69ThPZjBK2wo", + "related": "/api/v2/runs/run-YfmFLWpgTv31VZsP/created-by" + } + }, + "workspace": { + "data": { + "id": "ws-noZcaGXsac6aZSJR", + "type": "workspaces" + } + }, + "outputs": { + "data": [ + { + "id": "wsout-MmqMhmht6jFmLRvh", + "type": "state-version-outputs" + }, + { + "id": "wsout-Kuo9TCHg3oDLDQqa", + "type": "state-version-outputs" + } + ] + } + }, + "links": { + "self": "/api/v2/state-versions/sv-QYKf6GvNv75ZPTBr" + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/state-versions?filter%5Borganization%5D%5Bname%5D=hashicorp&filter%5Bworkspace%5D%5Bname%5D=my-workspace&page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/state-versions?filter%5Borganization%5D%5Bname%5D=hashicorp&filter%5Bworkspace%5D%5Bname%5D=my-workspace&page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io.io/api/v2/state-versions?filter%5Borganization%5D%5Bname%5D=hashicorp&filter%5Bworkspace%5D%5Bname%5D=my-workspace&page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 10 + } + } +} +``` + +## Fetch the Current State Version for a Workspace + +`GET /workspaces/:workspace_id/current-state-version` + +| Parameter | Description | +| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID for the workspace whose current state version you want to fetch. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +Fetches the current state version for the given workspace. This state version +will be the input state when running terraform operations. + +Viewing state versions requires permission to read state versions for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Successfully returned current state version for the given workspace. | +| [404][] | [JSON API error object][] | Workspace not found, workspace does not have a current state version, or user unauthorized to perform action. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-6fHMCom98SDXSQUv/current-state-version +``` + +### Sample Response + +```json +{ + "data": { + "id": "sv-g4rqST72reoHMM5a", + "type": "state-versions", + "attributes": { + "billable-rum-count": 0, + "created-at": "2021-06-08T01:22:03.794Z", + "size": 940, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "status": "finalized", + "intermediate": false, + "modules": { + "root": { + "null-resource": 1, + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + }, + "provider[\"registry.terraform.io/hashicorp/null\"]": { + "null-resource": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + }, + { + "name": "random", + "type": "null_resource", + "count": 1, + "module": "root", + "provider": "provider[\"registry.terraform.io/hashicorp/null\"]" + } + ], + "resources-processed": true, + "serial": 9, + "state-version": 4, + "terraform-version": "0.15.4", + "vcs-commit-url": "https://gitlab.com/my-organization/terraform-test/-/commit/abcdef12345", + "vcs-commit-sha": "abcdef12345" + }, + "relationships": { + "run": { + "data": { + "id": "run-YfmFLWpgTv31VZsP", + "type": "runs" + } + }, + "created-by": { + "data": { + "id": "user-onZs69ThPZjBK2wo", + "type": "users" + }, + "links": { + "self": "/api/v2/users/user-onZs69ThPZjBK2wo", + "related": "/api/v2/runs/run-YfmFLWpgTv31VZsP/created-by" + } + }, + "workspace": { + "data": { + "id": "ws-noZcaGXsac6aZSJR", + "type": "workspaces" + } + }, + "outputs": { + "data": [ + { + "id": "wsout-V22qbeM92xb5mw9n", + "type": "state-version-outputs" + }, + { + "id": "wsout-ymkuRnrNFeU5wGpV", + "type": "state-version-outputs" + }, + { + "id": "wsout-v82BjkZnFEcscipg", + "type": "state-version-outputs" + } + ] + } + }, + "links": { + "self": "/api/v2/state-versions/sv-g4rqST72reoHMM5a" + } + } +} +``` + +## Show a State Version + +`GET /state-versions/:state_version_id` + +Viewing state versions requires permission to read state versions for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Parameter | Description | +| ------------------- | ------------------------------------ | +| `:state_version_id` | The ID of the desired state version. | + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Successfully returned current state version for the given workspace. | +| [404][] | [JSON API error object][] | Workspace not found, workspace does not have a current state version, or user unauthorized to perform action. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/state-versions/sv-SDboVZC8TCxXEneJ +``` + +### Sample Response + +```json +{ + "data": { + "id": "sv-g4rqST72reoHMM5a", + "type": "state-versions", + "attributes": { + "created-at": "2021-06-08T01:22:03.794Z", + "size": 940, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "status": "finalized", + "intermediate": false, + "modules": { + "root": { + "null-resource": 1, + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + }, + "provider[\"registry.terraform.io/hashicorp/null\"]": { + "null-resource": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + }, + { + "name": "random", + "type": "null_resource", + "count": 1, + "module": "root", + "provider": "provider[\"registry.terraform.io/hashicorp/null\"]" + } + ], + "resources-processed": true, + "serial": 9, + "state-version": 4, + "terraform-version": "0.15.4", + "vcs-commit-url": "https://gitlab.com/my-organization/terraform-test/-/commit/abcdef12345", + "vcs-commit-sha": "abcdef12345" + }, + "relationships": { + "run": { + "data": { + "id": "run-YfmFLWpgTv31VZsP", + "type": "runs" + } + }, + "created-by": { + "data": { + "id": "user-onZs69ThPZjBK2wo", + "type": "users" + }, + "links": { + "self": "/api/v2/users/user-onZs69ThPZjBK2wo", + "related": "/api/v2/runs/run-YfmFLWpgTv31VZsP/created-by" + } + }, + "workspace": { + "data": { + "id": "ws-noZcaGXsac6aZSJR", + "type": "workspaces" + } + }, + "outputs": { + "data": [ + { + "id": "wsout-V22qbeM92xb5mw9n", + "type": "state-version-outputs" + }, + { + "id": "wsout-ymkuRnrNFeU5wGpV", + "type": "state-version-outputs" + }, + { + "id": "wsout-v82BjkZnFEcscipg", + "type": "state-version-outputs" + } + ] + } + }, + "links": { + "self": "/api/v2/state-versions/sv-g4rqST72reoHMM5a" + } + } +} +``` + +## Rollback to a Previous State Version + +`PATCH /workspaces/:workspace_id/state-versions` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to create the new state version in. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +Creates a state version by duplicating the specified state version and sets it as the current state version for the given workspace. The workspace must be locked by the user creating a state version. The workspace may be locked [with the API](/terraform/enterprise/api-docs/workspaces#lock-a-workspace) or [with the UI](/terraform/enterprise/workspaces/settings#locking). This is most useful for rolling back to a known-good state after an operation such as a Terraform upgrade didn't go as planned. + +Creating state versions requires permission to read and write state versions for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +!> **Warning:** Use caution when rolling back to a previous state. Replacing state improperly can result in orphaned or duplicated infrastructure resources. + +-> **Note:** You cannot access this endpoint with [organization tokens](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + +| Status | Response | Reason | +| ------- | ------------------------- | --------------------------------------------------------------- | +| [201][] | [JSON API document][] | Successfully rolled back. | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action. | +| [409][] | [JSON API error object][] | Conflict; check the error object for more information. | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.). | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| --------------------------------------------------- | ------ | ------- | -------------------------------------------------------------- | +| `data.type` | string | | Must be `"state-versions"`. | +| `data.relationships.rollback-state-version.data.id` | string | | The ID of the state version to use for the rollback operation. | + +### Sample Payload + +```json +{ + "data": { + "type":"state-versions", + "relationships": { + "rollback-state-version": { + "data": { + "type": "state-versions", + "id": "sv-bWfq4Y1YpRKW4mx7" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-6fHMCom98SDXSQUv/state-versions +``` + +### Sample Response + +```json +{ + "data": { + "id": "sv-DmoXecHePnNznaA4", + "type": "state-versions", + "attributes": { + "created-at": "2022-11-22T01:22:03.794Z", + "size": 940, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "modules": { + "root": { + "null-resource": 1, + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + }, + "provider[\"registry.terraform.io/hashicorp/null\"]": { + "null-resource": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + }, + { + "name": "random", + "type": "null_resource", + "count": 1, + "module": "root", + "provider": "provider[\"registry.terraform.io/hashicorp/null\"]" + } + ], + "resources-processed": true, + "serial": 9, + "state-version": 4, + "terraform-version": "1.3.5" + }, + "relationships": { + "rollback-state-version": { + "data": { + "id": "sv-YfmFLgTv31VZsP", + "type": "state-versions" + } + } + }, + "links": { + "self": "/api/v2/state-versions/sv-DmoXecHePnNznaA4" + } + } +} +``` + +## Mark a State Version for Garbage Collection + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. + + +`POST /api/v2/state-versions/:state_version_id/actions/soft_delete_backing_data` + +This endpoint directs Terraform Enterprise to _soft delete_ the backing files associated with this state version. Soft deletion marks the state version for garbage collection. Terraform permanently deletes state versions after a set number of days unless the state version is restored. Once a state version is soft deleted, any attempts to read the state version will fail. Refer to [State Version Status](#state-version-status) for information about all data states. + +This endpoint can only soft delete state versions that are in an [`finalized` state](#state-version-status) and are not the current state version. Otherwise, calling this endpoint results in an error. + +You must have organization owner permissions to soft delete state versions. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for additional information about permissions. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Parameter | Description | +| ------------------- | ----------------------------------------------------------- | +| `:state_version_id` | The ID of the state version to mark for garbage collection. | + +| Status | Response | Reason | +| ------- | ------------------------- | --------------------------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Terraform successfully marked the data for garbage collection. | +| [400][] | [JSON API error object][] | Terraform failed to transition the state to `backing_data_soft_deleted`. | +| [404][] | [JSON API error object][] | Terraform did not find the state version or the user is not authorized to modify the state version. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/state-versions/sv-ntv3HbhJqvFzamy7/actions/soft_delete_backing_data + --data {"data": {"attributes": {"delete-older-than-n-days": 23}}} +``` + +### Sample Response + +```json +{ + "data": { + "id": "sv-g4rqST72reoHMM5a", + "type": "state-versions", + "attributes": { + "created-at": "2021-06-08T01:22:03.794Z", + "size": 940, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "status": "backing_data_soft_deleted", + "intermediate": false, + "delete-older-than-n-days": 23, + "modules": { + "root": { + "null-resource": 1, + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + }, + "provider[\"registry.terraform.io/hashicorp/null\"]": { + "null-resource": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + }, + { + "name": "random", + "type": "null_resource", + "count": 1, + "module": "root", + "provider": "provider[\"registry.terraform.io/hashicorp/null\"]" + } + ], + "resources-processed": true, + "serial": 9, + "state-version": 4, + "terraform-version": "0.15.4", + "vcs-commit-url": "https://gitlab.com/my-organization/terraform-test/-/commit/abcdef12345", + "vcs-commit-sha": "abcdef12345" + }, + "relationships": { + "run": { + "data": { + "id": "run-YfmFLWpgTv31VZsP", + "type": "runs" + } + }, + "created-by": { + "data": { + "id": "user-onZs69ThPZjBK2wo", + "type": "users" + }, + "links": { + "self": "/api/v2/users/user-onZs69ThPZjBK2wo", + "related": "/api/v2/runs/run-YfmFLWpgTv31VZsP/created-by" + } + }, + "workspace": { + "data": { + "id": "ws-noZcaGXsac6aZSJR", + "type": "workspaces" + } + }, + "outputs": { + "data": [ + { + "id": "wsout-V22qbeM92xb5mw9n", + "type": "state-version-outputs" + }, + { + "id": "wsout-ymkuRnrNFeU5wGpV", + "type": "state-version-outputs" + }, + { + "id": "wsout-v82BjkZnFEcscipg", + "type": "state-version-outputs" + } + ] + } + }, + "links": { + "self": "/api/v2/state-versions/sv-g4rqST72reoHMM5a" + } + } +} +``` + +## Restore a State Version Marked for Garbage Collection + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. + + +`POST /api/v2/state-versions/:state_version_id/actions/restore_backing_data` + +This endpoint directs Terraform Enterprise to restore backing files associated with this state version. This endpoint can only restore state versions that are not in a [`backing_data_permanently_deleted` state](#state-version-status). Terraform restores applicable state versions back to their `finalized` state. Otherwise, calling this endpoint results in an error. + +You must have organization owner permissions to restore state versions. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for additional information about permissions. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Parameter | Description | +| ------------------- | --------------------------------------- | +| `:state_version_id` | The ID of the state version to restore. | + +| Status | Response | Reason | +| ------- | ------------------------- | --------------------------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Terraform successfully initiated the restore process. | +| [400][] | [JSON API error object][] | Terraform failed to transition the state to `finalized`. | +| [404][] | [JSON API error object][] | Terraform did not find the state version or the user is not authorized to modify the state version. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/state-versions/sv-ntv3HbhJqvFzamy7/actions/restore_backing_data +``` + +### Sample Response + +```json +{ + "data": { + "id": "sv-g4rqST72reoHMM5a", + "type": "state-versions", + "attributes": { + "created-at": "2021-06-08T01:22:03.794Z", + "size": 940, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "status": "uploaded", + "intermediate": false, + "modules": { + "root": { + "null-resource": 1, + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + }, + "provider[\"registry.terraform.io/hashicorp/null\"]": { + "null-resource": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + }, + { + "name": "random", + "type": "null_resource", + "count": 1, + "module": "root", + "provider": "provider[\"registry.terraform.io/hashicorp/null\"]" + } + ], + "resources-processed": true, + "serial": 9, + "state-version": 4, + "terraform-version": "0.15.4", + "vcs-commit-url": "https://gitlab.com/my-organization/terraform-test/-/commit/abcdef12345", + "vcs-commit-sha": "abcdef12345" + }, + "relationships": { + "run": { + "data": { + "id": "run-YfmFLWpgTv31VZsP", + "type": "runs" + } + }, + "created-by": { + "data": { + "id": "user-onZs69ThPZjBK2wo", + "type": "users" + }, + "links": { + "self": "/api/v2/users/user-onZs69ThPZjBK2wo", + "related": "/api/v2/runs/run-YfmFLWpgTv31VZsP/created-by" + } + }, + "workspace": { + "data": { + "id": "ws-noZcaGXsac6aZSJR", + "type": "workspaces" + } + }, + "outputs": { + "data": [ + { + "id": "wsout-V22qbeM92xb5mw9n", + "type": "state-version-outputs" + }, + { + "id": "wsout-ymkuRnrNFeU5wGpV", + "type": "state-version-outputs" + }, + { + "id": "wsout-v82BjkZnFEcscipg", + "type": "state-version-outputs" + } + ] + } + }, + "links": { + "self": "/api/v2/state-versions/sv-g4rqST72reoHMM5a" + } + } +} +``` + +## Permanently Delete a State Version + + +This endpoint is exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. + + +`POST /api/v2/state-versions/:state_version_id/actions/permanently_delete_backing_data` + +This endpoint directs Terraform Enterprise to permanently delete backing files associated with this state version. This endpoint can only permanently delete state versions that are in an [`backing_data_soft_deleted` state](#state-version-status) and are not the current state version. Otherwise, calling this endpoint results in an error. + +You must have organization owner permissions to permanently delete state versions. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for additional information about permissions. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Parameter | Description | +| ------------------- | -------------------------------------------------- | +| `:state_version_id` | The ID of the state version to permanently delete. | + +| Status | Response | Reason | +| ------- | ------------------------- | -------------------------------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Terraform deleted the data permanently. | +| [400][] | [JSON API error object][] | Terraform failed to transition the state to `backing_data_permanently_deleted`. | +| [404][] | [JSON API error object][] | Terraform did not find the state version or the user is not authorized to modify the state version data. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/state-versions/sv-ntv3HbhJqvFzamy7/actions/permanently_delete_backing_data +``` + +### Sample Response + +```json +{ + "data": { + "id": "sv-g4rqST72reoHMM5a", + "type": "state-versions", + "attributes": { + "created-at": "2021-06-08T01:22:03.794Z", + "size": 940, + "hosted-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-state-upload-url": null, + "hosted-json-state-download-url": "https://archivist.terraform.io/v1/object/...", + "hosted-json-state-upload-url": null, + "status": "backing_data_permanently_deleted", + "intermediate": false, + "modules": { + "root": { + "null-resource": 1, + "data.terraform-remote-state": 1 + } + }, + "providers": { + "provider[\"terraform.io/builtin/terraform\"]": { + "data.terraform-remote-state": 1 + }, + "provider[\"registry.terraform.io/hashicorp/null\"]": { + "null-resource": 1 + } + }, + "resources": [ + { + "name": "other_username", + "type": "data.terraform_remote_state", + "count": 1, + "module": "root", + "provider": "provider[\"terraform.io/builtin/terraform\"]" + }, + { + "name": "random", + "type": "null_resource", + "count": 1, + "module": "root", + "provider": "provider[\"registry.terraform.io/hashicorp/null\"]" + } + ], + "resources-processed": true, + "serial": 9, + "state-version": 4, + "terraform-version": "0.15.4", + "vcs-commit-url": "https://gitlab.com/my-organization/terraform-test/-/commit/abcdef12345", + "vcs-commit-sha": "abcdef12345" + }, + "relationships": { + "run": { + "data": { + "id": "run-YfmFLWpgTv31VZsP", + "type": "runs" + } + }, + "created-by": { + "data": { + "id": "user-onZs69ThPZjBK2wo", + "type": "users" + }, + "links": { + "self": "/api/v2/users/user-onZs69ThPZjBK2wo", + "related": "/api/v2/runs/run-YfmFLWpgTv31VZsP/created-by" + } + }, + "workspace": { + "data": { + "id": "ws-noZcaGXsac6aZSJR", + "type": "workspaces" + } + }, + "outputs": { + "data": [ + { + "id": "wsout-V22qbeM92xb5mw9n", + "type": "state-version-outputs" + }, + { + "id": "wsout-ymkuRnrNFeU5wGpV", + "type": "state-version-outputs" + }, + { + "id": "wsout-v82BjkZnFEcscipg", + "type": "state-version-outputs" + } + ] + } + }, + "links": { + "self": "/api/v2/state-versions/sv-g4rqST72reoHMM5a" + } + } +} +``` + +## List State Version Outputs + +The output values from a state version are also available via the API. For details, see the [state version outputs documentation.](/terraform/enterprise/api-docs/state-version-outputs#list-state-version-outputs) + +### Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +- `created_by` - The user that created the state version. For state versions created via a run executed by HCP Terraform, this is an internal user account. +- `run` - The run that created the state version, if applicable. +- `run.created_by` - The user that manually triggered the run, if applicable. +- `run.configuration_version` - The configuration version used in the run. +- `outputs` - The parsed outputs for this state version. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-access.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-access.mdx new file mode 100644 index 0000000000..54ed8a467c --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-access.mdx @@ -0,0 +1,433 @@ +--- +page_title: /team-workspaces API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/team-workspaces` endpoint to manage team + access to a workspace. Read, add, update, and remove a team's access to + workspaces. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Team access API reference + + + +@include 'tfc-package-callouts/team-management.mdx' + + + +The team access APIs are used to associate a team to permissions on a workspace. A single `team-workspace` resource contains the relationship between the Team and Workspace, including the privileges the team has on the workspace. + +## Resource permissions + +A `team-workspace` resource represents a team's local permissions on a specific workspace. Teams can also have organization-level permissions that grant access to workspaces. HCP Terraform uses the more restrictive access level. For example, a team with the **Manage workspaces** permission enabled has admin access on all workspaces, even if their `team-workspace` on a particular workspace only grants read access. For more information, refer to [Managing Workspace Access](/terraform/enterprise/users-teams-organizations/teams/manage#managing-workspace-access). + +Any member of an organization can view team access relative to their own team memberships, including secret teams of which they are a member. Organization owners and workspace admins can modify team access or view the full set of secret team accesses. The organization token and the owners team token can act as an owner on these endpoints. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for additional information. + +## List Team Access to a Workspace + +`GET /team-workspaces` + +| Status | Response | Reason | +| ------- | ------------------------------------------------- | ---------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "team-workspaces"`) | The request was successful | +| [404][] | [JSON API error object][] | Workspace not found or user unauthorized to perform action | + +### Query Parameters + +[These are standard URL query parameters](/terraform/enterprise/api-docs#query-parameters); remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. + +| Parameter | Description | +| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filter[workspace][id]` | **Required.** The workspace ID to list team access for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | +| `page[number]` | **Optional.** | +| `page[size]` | **Optional.** | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + "https://app.terraform.io/api/v2/team-workspaces?filter%5Bworkspace%5D%5Bid%5D=ws-XGA52YVykdTgryTN" +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "tws-19iugLwoNgtWZbKP", + "type": "team-workspaces", + "attributes": { + "access": "custom", + "runs": "apply", + "variables": "none", + "state-versions": "none", + "sentinel-mocks": "none", + "workspace-locking": false, + "run-tasks": false + }, + "relationships": { + "team": { + "data": { + "id": "team-DBycxkdQrGFf5zEM", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-DBycxkdQrGFf5zEM" + } + }, + "workspace": { + "data": { + "id": "ws-XGA52YVykdTgryTN", + "type": "workspaces" + }, + "links": { + "related": "/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self": "/api/v2/team-workspaces/tws-19iugLwoNgtWZbKP" + } + } + ] +} +``` + +## Show a Team Access relationship + +`GET /team-workspaces/:id` + +| Status | Response | Reason | +| ------- | ------------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "team-workspaces"`) | The request was successful | +| [404][] | [JSON API error object][] | Team access not found or user unauthorized to perform action | + +| Parameter | Description | +| --------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the team/workspace relationship. Obtain this from the [list team access action](#list-team-access-to-a-workspace) described above. | + +-> **Note:** As mentioned in [Add Team Access to a Workspace](#add-team-access-to-a-workspace) and [Update Team Access +to a Workspace](#update-team-access-to-a-workspace), several permission attributes are not editable unless `access` is +set to `custom`. When access is `read`, `plan`, `write`, or `admin`, these attributes are read-only and reflect the +implicit permissions granted to the current access level. + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/team-workspaces/tws-s68jV4FWCDwWvQq8 +``` + +### Sample Response + +```json +{ + "data": { + "id": "tws-s68jV4FWCDwWvQq8", + "type": "team-workspaces", + "attributes": { + "access": "write", + "runs": "apply", + "variables": "write", + "state-versions": "write", + "sentinel-mocks": "read", + "workspace-locking": true, + "run-tasks": false + }, + "relationships": { + "team": { + "data": { + "id": "team-DBycxkdQrGFf5zEM", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-DBycxkdQrGFf5zEM" + } + }, + "workspace": { + "data": { + "id": "ws-XGA52YVykdTgryTN", + "type": "workspaces" + }, + "links": { + "related": "/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self": "/api/v2/team-workspaces/tws-s68jV4FWCDwWvQq8" + } + } +} +``` + +## Add Team Access to a Workspace + +`POST /team-workspaces` + +| Status | Response | Reason | +| ------- | ------------------------------------------------- | ------------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "team-workspaces"`) | The request was successful | +| [404][] | [JSON API error object][] | Workspace or Team not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ---------------------------------------- | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"team-workspaces"`. | +| `data.attributes.access` | string | | The type of access to grant. Valid values are `read`, `plan`, `write`, `admin`, or `custom`. | +| `data.attributes.runs` | string | "read" | If `access` is `custom`, the permission to grant for the workspace's runs. Can only be used when `access` is `custom`. Valid values include `read`, `plan`, or `apply`. | +| `data.attributes.variables` | string | "none" | If `access` is `custom`, the permission to grant for the workspace's variables. Can only be used when `access` is `custom`. Valid values include `none`, `read`, or `write`. | +| `data.attributes.state-versions` | string | "none" | If `access` is `custom`, the permission to grant for the workspace's state versions. Can only be used when `access` is `custom`. Valid values include `none`, `read-outputs`, `read`, or `write`. | +| `data.attributes.sentinel-mocks` | string | "none" | If `access` is `custom`, the permission to grant for the workspace's Sentinel mocks. Can only be used when `access` is `custom`. Valid values include `none`, or `read`. | +| `data.attributes.workspace-locking` | boolean | false | If `access` is `custom`, the permission granting the ability to manually lock or unlock the workspace. Can only be used when `access` is `custom`. | +| `data.attributes.run-tasks` | boolean | false | If `access` is `custom`, this permission allows the team to manage run tasks within the workspace. | +| `data.relationships.workspace.data.type` | string | | Must be `workspaces`. | +| `data.relationships.workspace.data.id` | string | | The workspace ID to which the team is to be added. | +| `data.relationships.team.data.type` | string | | Must be `teams`. | +| `data.relationships.team.data.id` | string | | The ID of the team to add to the workspace. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "access": "custom", + "runs": "apply", + "variables": "none", + "state-versions": "read-outputs", + "plan-outputs": "none", + "sentinel-mocks": "read", + "workspace-locking": false, + "run-tasks": false + }, + "relationships": { + "workspace": { + "data": { + "type": "workspaces", + "id": "ws-XGA52YVykdTgryTN" + } + }, + "team": { + "data": { + "type": "teams", + "id": "team-DBycxkdQrGFf5zEM" + } + } + }, + "type": "team-workspaces" + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/team-workspaces +``` + +### Sample Response + +```json +{ + "data": { + "id": "tws-sezDAcCYWLnd3xz2", + "type": "team-workspaces", + "attributes": { + "access": "custom", + "runs": "apply", + "variables": "none", + "state-versions": "read-outputs", + "sentinel-mocks": "read", + "workspace-locking": false, + "run-tasks": false + }, + "relationships": { + "team": { + "data": { + "id": "team-DBycxkdQrGFf5zEM", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-DBycxkdQrGFf5zEM" + } + }, + "workspace": { + "data": { + "id": "ws-XGA52YVykdTgryTN", + "type": "workspaces" + }, + "links": { + "related": "/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self": "/api/v2/team-workspaces/tws-sezDAcCYWLnd3xz2" + } + } +} +``` + +## Update Team Access to a Workspace + +`PATCH /team-workspaces/:id` + +| Status | Response | Reason | +| ------- | ------------------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "team-workspaces"`) | The request was successful | +| [404][] | [JSON API error object][] | Team Access not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | + +| Parameter | | | Description | +| ----------------------------------- | ------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | | | The ID of the team/workspace relationship. Obtain this from the [list team access action](#list-team-access-to-a-workspace) described above. | +| `data.attributes.access` | string | | The type of access to grant. Valid values are `read`, `plan`, `write`, `admin`, or `custom`. | +| `data.attributes.runs` | string | "read" | If `access` is `custom`, the permission to grant for the workspace's runs. Can only be used when `access` is `custom`. | +| `data.attributes.variables` | string | "none" | If `access` is `custom`, the permission to grant for the workspace's variables. Can only be used when `access` is `custom`. | +| `data.attributes.state-versions` | string | "none" | If `access` is `custom`, the permission to grant for the workspace's state versions. Can only be used when `access` is `custom`. | +| `data.attributes.sentinel-mocks` | string | "none" | If `access` is `custom`, the permission to grant for the workspace's Sentinel mocks. Can only be used when `access` is `custom`. | +| `data.attributes.workspace-locking` | boolean | false | If `access` is `custom`, the permission granting the ability to manually lock or unlock the workspace. Can only be used when `access` is `custom`. | +| `data.attributes.run-tasks` | boolean | false | If `access` is `custom`, this permission allows the team to manage run tasks within the workspace. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/team-workspaces/tws-s68jV4FWCDwWvQq8 +``` + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "access": "custom", + "state-versions": "none" + } + } +} +``` + +### Sample Response + +```json +{ + "data": { + "id": "tws-s68jV4FWCDwWvQq8", + "type": "team-workspaces", + "attributes": { + "access": "custom", + "runs": "apply", + "variables": "write", + "state-versions": "none", + "sentinel-mocks": "read", + "workspace-locking": true, + "run-tasks": true + }, + "relationships": { + "team": { + "data": { + "id": "team-DBycxkdQrGFf5zEM", + "type": "teams" + }, + "links": { + "related": "/api/v2/teams/team-DBycxkdQrGFf5zEM" + } + }, + "workspace": { + "data": { + "id": "ws-XGA52YVykdTgryTN", + "type": "workspaces" + }, + "links": { + "related": "/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self": "/api/v2/team-workspaces/tws-s68jV4FWCDwWvQq8" + } + } +} +``` + +## Remove Team Access to a Workspace + +`DELETE /team-workspaces/:id` + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------ | +| [204][] | | The Team Access was successfully destroyed | +| [404][] | [JSON API error object][] | Team Access not found or user unauthorized to perform action | + +| Parameter | Description | +| --------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `:id` | The ID of the team/workspace relationship. Obtain this from the [list team access action](#list-team-access-to-a-workspace) described above. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/team-workspaces/tws-sezDAcCYWLnd3xz2 +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-members.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-members.mdx new file mode 100644 index 0000000000..310dfa6121 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-members.mdx @@ -0,0 +1,249 @@ +--- +page_title: /relationships API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/relationships` endpoints to add and + remove users from teams using an account or organization membership ID. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Team membership API reference + + + +-> **Note:** Team management is available in HCP Terraform **Standard**, **Plus**, and **Premium** editions. Free organizations can also use this API, but can only manage membership of their owners team. [Learn more about HCP Terraform pricing here](https://www.hashicorp.com/products/terraform/pricing). + + + +The Team Membership API is used to add or remove users from teams. The [Team API](/terraform/enterprise/api-docs/teams) is used to create or destroy teams. + +## Organization Membership + +-> **Note:** To add users to a team, they must first receive and accept the invitation to join the organization by email. This process ensures that you do not accidentally add the wrong person by mistyping a username. Refer to [the Organization Memberships API documentation](/terraform/enterprise/api-docs/organization-memberships) for more information. + +## Add a User to Team (With user ID) + +This method adds multiple users to a team using the user ID. Both users and teams must already exist. + +`POST /teams/:team_id/relationships/users` + +| Parameter | Description | +| ---------- | ------------------- | +| `:team_id` | The ID of the team. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ------------------------------------------------ | +| `data[].type` | string | | Must be `"users"`. | +| `data[].id` | string | | The ID of the user you want to add to this team. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "users", + "id": "myuser1" + }, + { + "type": "users", + "id": "myuser2" + } + ] +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/257525/relationships/users +``` + +## Add a User to Team (With organization membership ID) + +This method adds multiple users to a team using the organization membership ID. Unlike the user ID method, the user only needs an invitation to the organization. + +`POST /teams/:team_id/relationships/organization-memberships` + +| Parameter | Description | +| ---------- | ------------------- | +| `:team_id` | The ID of the team. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | -------------------------------------------------- | +| `data[].type` | string | | Must be `"organization-memberships"`. | +| `data[].id` | string | | The organization membership ID of the user to add. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "organization-memberships", + "id": "ou-nX7inDHhmC3quYgy" + }, + { + "type": "organization-memberships", + "id": "ou-tTJph1AQVK5ZmdND" + } + ] +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/257525/relationships/organization-memberships +``` + +## Delete a User from Team (With user ID) + +This method removes multiple users from a team using the user ID. Both users and teams must already exist. This method only removes a user from this team. It does not delete that user overall. + +`DELETE /teams/:team_id/relationships/users` + +| Parameter | Description | +| ---------- | ------------------- | +| `:team_id` | The ID of the team. | + +### Request Body + +This DELETE endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | -------------------------------------------- | +| `data[].type` | string | | Must be `"users"`. | +| `data[].id` | string | | The ID of the user to remove from this team. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "users", + "id": "myuser1" + }, + { + "type": "users", + "id": "myuser2" + } + ] +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/257525/relationships/users +``` + +## Delete a User from Team (With organization membership ID) + +This method removes multiple users from a team using the organization membership ID. This method only removes a user from this team. It does not delete that user overall. + +`DELETE /teams/:team_id/relationships/organization-memberships` + +| Parameter | Description | +| ---------- | ------------------- | +| `:team_id` | The ID of the team. | + +### Request Body + +This DELETE endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ----------------------------------------------------- | +| `data[].type` | string | | Must be `"organization-memberships"`. | +| `data[].id` | string | | The organization membership ID of the user to remove. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "organization-memberships", + "id": "ou-nX7inDHhmC3quYgy" + }, + { + "type": "organization-memberships", + "id": "ou-tTJph1AQVK5ZmdND" + } + ] +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/257525/relationships/organization-memberships +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-tokens.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-tokens.mdx new file mode 100644 index 0000000000..9db2a1196a --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/team-tokens.mdx @@ -0,0 +1,558 @@ +--- +page_title: '/teams/:team_id/authentication-tokens API reference for Terraform Enterprise' +description: >- + Use the Terraform Enterprise API's `/teams/:team_id/authentication-tokens` + endpoint to generate, delete, and list a team's API tokens. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Team tokens API reference + +Team API tokens grant access to a team's workspaces. Teams are not limited to a single token, and can have multiple tokens at a time. Team tokens are not associated with a specific user. + +Teams relying on the [**legacy**](/terraform/enterprise/api-docs/team-tokens#legacy-team-tokens-api-reference) team token API (`/teams/:team_id/authentication-token`), can only create a **single**, valid token at a time. Generating a new legacy token when one already exists for the team revokes the existing legacy token, replacing it with a new team token. + +You can create and delete team tokens and list an organization's team tokens. + +## Generate a new team token + +Generates a new team token. + +| Method | Path | +| :----- | :------------------------------------ | +| POST | /teams/:team_id/authentication-tokens | + +This endpoint returns the secret text of the new authentication token. You can only access the secret text when you create it and cannot recover it later. + +### Parameters + +- `:team_id` (`string: `) - specifies the team ID for generating the team token + +### Request body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| ----------------------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"authentication-tokens"`. | +| `data.attributes.description` | string | | The description of the team token. Each description **must** be unique within the context of the team. | +| `data.attributes.expired-at` | string | `null` | The UTC date and time that the Team Token will expire, in ISO 8601 format. If omitted or set to `null` the token will never expire. | + +### Sample payload + +```json +{ + "data": { + "type": "authentication-tokens", + "attributes": { + "description": "Team API token for team ABC", + "expired-at": "2023-04-06T12:00:00.000Z" + } + } +} +``` + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/team-BUHBEM97xboT8TVz/authentication-tokens +``` + +### Sample response + +```json +{ + "data": { + "id": "4111797", + "type": "authentication-tokens", + "attributes": { + "created-at": "2017-11-29T19:18:09.976Z", + "last-used-at": null, + "description": "Team API token for team ABC", + "token": "QnbSxjjhVMHJgw.atlasv1.gxZnWIjI5j752DGqdwEUVLOFf0mtyaQ00H9bA1j90qWb254lEkQyOdfqqcq9zZL7Sm0", + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-Y7RyjccPVBKVEdp7", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-62goNpx1ThQf689e", + "type": "users" + } + } + } + } +} + +``` + +## Delete a team token + +| Method | Path | +| :----- | :------------------------------- | +| DELETE | /authentication-tokens/:token_id | + +### Parameters + +- `:token_id` (`string: `) - specifies the token_id from which to delete the token + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/authentication-tokens/at-6yEmxNAhaoQLH1Da +``` + +## List team tokens + +Lists the team tokens for the team. + +`GET /organizations/:organization_id/team-tokens` + +| Parameter | Description | +| ------------------ | -------------------------------------------------------------- | +| `:organization_id` | The ID of the organization whose team tokens you want to list. | + +This endpoint returns object metadata and does not include secret authentication details of tokens. You can only view a token when you create it and cannot recover it later. + +| Status | Response | Reason | +| ------- | --------------------------------------------- | -------------------------------------- | +| [200][] | [JSON API document][] (`type: "team-tokens"`) | The request was successful. | +| [200][] | Empty [JSON API document][] | The specified team has no team tokens. | +| [404][] | [JSON API error object][] | Team not found. | + +### Query parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters) and searching with the `q` parameter. Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint returns the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint returns 20 tokens per page. | +| `q` | **Optional.** A search query string. You can search for a team authentication token using the team name. | +| `sort` | **Optional.** Allows sorting the team tokens by `"created-by"`, `"expired-at"`, and `"last-used-at"`. Prepending a hyphen to the sort parameter reverses the order. If omitted, the default sort order ascending. | + +### Sample response + +```json +{ + "data": [ + { + "id": "at-TLhN8cc6ro6qYDvp", + "type": "authentication-tokens", + "attributes": { + "created-at": "2017-11-29T19:18:09.976Z", + "last-used-at": null, + "description": "Team API token for team ABC", + "token": "QnbSxjjhVMHJgw.atlasv1.gxZnWIjI5j752DGqdwEUVLOFf0mtyaQ00H9bA1j90qWb254lEkQyOdfqqcq9zZL7Sm0", + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-Y7RyjccPVBKVEdp7", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-ccU6h629sszLJBpY", + "type": "users" + } + } + } + }, + { + "id": "at-qfc2wqqJ1T5sCamM", + "type": "authentication-tokens", + "attributes": { + "created-at": "2024-06-19T18:44:44.051Z", + "last-used-at": null, + "description": "Team API token for team XYZ", + "token": null, + "expired-at": "2024-07-19T18:44:43.818Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-58pFiBffTLMxLphR", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-ccU6h629hhzLJBpY", + "type": "users" + } + } + } + }, + ] +} +``` + +## Show a team token + +Use this endpoint to display a particular [team token](/terraform/enterprise/users-teams-organizations/teams#api-tokens). + +`GET /authentication-tokens/:token_id` + +| Parameter | Description | +| ----------- | ------------------------- | +| `:token_id` | The ID of the Team Token. | + +The object returned by this endpoint only contains metadata, and does not include the secret text of the authentication token. A token's secret test is only shown upon creation, and cannot be recovered later. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "authentication-tokens"`) | The request was successful | +| [404][] | [JSON API error object][] | Team Token not found, or unauthorized to view the Team Token | + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/authentication-tokens/at-6yEmxNAhaoQLH1Da +``` + +### Sample response + +```json +{ + "data": { + "id": "at-6yEmxNAhaoQLH1Da", + "type": "authentication-tokens", + "attributes": { + "created-at": "2017-11-29T19:18:09.976Z", + "last-used-at": null, + "description": "Team API token for team ABC", + "token": "QnbSxjjhVMHJgw.atlasv1.gxZnWIjI5j752DGqdwEUVLOFf0mtyaQ00H9bA1j90qWb254lEkQyOdfqqcq9zZL7Sm0", + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-LnREdjodkvZFGdXL", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-MA4GL63FmYRpSFxa", + "type": "users" + } + } + } + } +} +``` + +# Legacy team tokens API reference + +Legacy team API tokens grant access to a team's workspaces. Each team can have a single legacy API token that is not associated with a specific user. +You can create and delete team tokens and list an organization's team tokens. +The [team tokens API](/terraform/enterprise/api-docs/team-tokens) includes the same functionality as legacy team tokens, and allows you to provision multiple tokens with descriptions per team. + +## Generate a new team token + +Generates a new team token and overrides existing token if one exists. + +| Method | Path | +| :----- | :----------------------------------- | +| POST | /teams/:team_id/authentication-token | + +This endpoint returns the secret text of the new authentication token. You can only access the secret when you create it and cannot recover it later. + +### Parameters + +- `:team_id` (`string: `) - specifies the team ID for generating the team token + +### Request body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +| Key path | Type | Default | Description | +| ---------------------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"authentication-token"`. | +| `data.attributes.expired-at` | string | `null` | The UTC date and time that the Team Token will expire, in ISO 8601 format. If omitted or set to `null` the token will never expire. | + +### Sample payload + +```json +{ + "data": { + "type": "authentication-token", + "attributes": { + "expired-at": "2023-04-06T12:00:00.000Z" + } + } +} +``` + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/team-BUHBEM97xboT8TVz/authentication-token +``` + +### Sample response + +```json +{ + "data": { + "id": "4111797", + "type": "authentication-tokens", + "attributes": { + "created-at": "2017-11-29T19:18:09.976Z", + "last-used-at": null, + "description": null, + "token": "QnbSxjjhVMHJgw.atlasv1.gxZnWIjI5j752DGqdwEUVLOFf0mtyaQ00H9bA1j90qWb254lEkQyOdfqqcq9zZL7Sm0", + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-Y7RyjccPVBKVEdp7", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-62goNpx1ThQf689e", + "type": "users" + } + } + } + } +} +``` + +## Delete the team token + +| Method | Path | +| :----- | :----------------------------------- | +| DELETE | /teams/:team_id/authentication-token | + +### Parameters + +- `:team_id` (`string: `) - specifies the team_id from which to delete the token + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/teams/team-BUHBEM97xboT8TVz/authentication-token +``` + +## List team tokens + +Lists the [team tokens](/terraform/enterprise/users-teams-organizations/teams#api-tokens) in an organization. + +`GET organizations/:organization_name/team-tokens` + +| Parameter | Description | +| -------------------- | ---------------------------------------------------------------- | +| `:organization_name` | The name of the organization whose team tokens you want to list. | + +This endpoint returns object metadata and does not include secret authentication details of tokens. You can only view a token when you create it and cannot recover it later. + +By default, this endpoint returns tokens by ascending expiration date. + +| Status | Response | Reason | +| ------- | --------------------------------------------- | ---------------------------------------------- | +| [200][] | [JSON API document][] (`type: "team-tokens"`) | The request was successful. | +| [200][] | Empty [JSON API document][] | The specified organization has no team tokens. | +| [404][] | [JSON API error object][] | Organization not found. | + +### Query parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters) and searching with the `q` parameter. Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint returns the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint returns 20 tokens per page. | +| `q` | **Optional.** A search query string. You can search for a team authentication token using the team name. | +| `sort` | **Optional.** Allows sorting the team tokens by `"team-name"`, `"created-by"`, `"expired-at"`, and `"last-used-at"`. Prepending a hyphen to the sort parameter reverses the order. For example, `"-team-name"` sorts by name in reverse alphabetical order. If omitted, the default sort order ascending. | + +### Sample response + +```json +{ + "data": [ + { + "id": "at-TLhN8cc6ro6qYDvp", + "type": "authentication-tokens", + "attributes": { + "created-at": "2024-06-19T18:28:25.267Z", + "last-used-at": null, + "description": null, + "token": null, + "expired-at": "2024-07-19T18:28:25.030Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-Y7RyjccPVBKVEdp7", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-ccU6h629sszLJBpY", + "type": "users" + } + } + } + }, + { + "id": "at-qfc2wqqJ1T5sCamM", + "type": "authentication-tokens", + "attributes": { + "created-at": "2024-06-19T18:44:44.051Z", + "last-used-at": null, + "description": null, + "token": null, + "expired-at": "2024-07-19T18:44:43.818Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-58pFiBffTLMxLphR", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-ccU6h629hhzLJBpY", + "type": "users" + } + } + } + }, + ] +} +``` + +## Show a team token + +Use this endpoint to display a [team token](/terraform/enterprise/users-teams-organizations/teams#api-tokens) for a particular team. + +`GET /teams/:team_id/authentication-token` + +| Parameter | Description | +| ---------- | ------------------- | +| `:team_id` | The ID of the Team. | + +You can also fetch a team token directly by using the token's ID with the `authentication-tokens/` endpoint. + +`GET /authentication-tokens/:token_id` + +| Parameter | Description | +| ----------- | ------------------------- | +| `:token_id` | The ID of the Team Token. | + +The object returned by this endpoint only contains metadata, and does not include the secret text of the authentication token. A token's secret text is only shown upon creation, and cannot be recovered later. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "authentication-tokens"`) | The request was successful | +| [404][] | [JSON API error object][] | Team Token not found, or unauthorized to view the Team Token | + +### Sample request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/teams/team-6yEmxNAhaoQLH1Da/authentication-token +``` + +### Sample response + +```json +{ + "data": { + "id": "at-6yEmxNAhaoQLH1Da", + "type": "authentication-tokens", + "attributes": { + "created-at": "2023-11-25T22:31:30.624Z", + "last-used-at": "2023-11-26T20:34:59.487Z", + "description": null, + "token": null, + "expired-at": "2024-04-06T12:00:00.000Z" + }, + "relationships": { + "team": { + "data": { + "id": "team-LnREdjodkvZFGdXL", + "type": "teams" + } + }, + "created-by": { + "data": { + "id": "user-MA4GL63FmYRpSFxa", + "type": "users" + } + } + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/teams.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/teams.mdx new file mode 100644 index 0000000000..1f96792b02 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/teams.mdx @@ -0,0 +1,466 @@ +--- +page_title: /teams API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/teams` endpoint to read, create, update, + and delete teams. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Teams API reference + +The Teams API is used to create, edit, and destroy teams as well as manage a team's organization-level permissions. The [Team Membership API](/terraform/enterprise/api-docs/team-members) is used to add or remove users from a team. Use the [Team Access API](/terraform/enterprise/api-docs/team-access) to associate a team with privileges on an individual workspace. + + + +@include 'tfc-package-callouts/team-management.mdx' + + + +Any member of an organization can view visible teams and any secret teams they are a member of. Only organization owners can modify teams or view the full set of secret teams. The organization token and the owners team token can act as an owner on these endpoints. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Organization Membership + +-> **Note:** Users must be invited to join organizations before they can be added to teams. See [the Organization Memberships API documentation](/terraform/enterprise/api-docs/organization-memberships) for more information. Invited users who have not yet accepted will not appear in Teams API responses. + +## List teams + +`GET organizations/:organization_name/teams` + +| Parameter | Description | +| -------------------- | ------------------------------------------------ | +| `:organization_name` | The name of the organization to list teams from. | + +The response may identify HashiCorp API service accounts, for example `api-team_XXXXXX`, as a members of a team. However, API service accounts do not appear in the UI. As a result, there may be differences between the number of team members reported by the UI and the API. For example, the UI may report `0` members on a team when and the API reports `1`. + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `q` | **Optional.** Allows querying a list of teams by name. This search is case-insensitive. | +| `filter[names]` | **Optional.** If specified, restricts results to a team with a matching name. If multiple comma separated values are specified, teams matching any of the names are returned. | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 teams per page. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/organizations/my-organization/teams +``` + +### Sample Response + +The `sso-team-id` attribute is only returned in Terraform Enterprise 202204-1 and later, or in HCP Terraform. +The `allow-member-token-management` attribute is set to `false` for Terraform Enterprise versions older than 202408-1. + +```json +{ + "data": [ + { + "id": "team-6p5jTwJQXwqZBncC", + "type": "teams", + "attributes": { + "name": "team-creation-test", + "sso-team-id": "cb265c8e41bddf3f9926b2cf3d190f0e1627daa4", + "users-count": 0, + "visibility": "organization", + "allow-member-token-management": true, + "permissions": { + "can-update-membership": true, + "can-destroy": true, + "can-update-organization-access": true, + "can-update-api-token": true, + "can-update-visibility": true + }, + "organization-access": { + "manage-policies": true, + "manage-policy-overrides": false, + "manage-run-tasks": true, + "manage-workspaces": false, + "manage-vcs-settings": false, + "manage-agent-pools": false, + "manage-projects": false, + "read-projects": false, + "read-workspaces": false + } + }, + "relationships": { + "users": { + "data": [] + }, + "authentication-token": { + "meta": {} + } + }, + "links": { + "self": "/api/v2/teams/team-6p5jTwJQXwqZBncC" + } + } + ] +} +``` + +## Create a Team + +`POST /organizations/:organization_name/teams` + +| Parameter | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization to create the team in. The organization must already exist in the system, and the user must have permissions to create new teams. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "teams"`) | Successfully created a team | +| [400][] | [JSON API error object][] | Invalid `include` parameter | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [500][] | [JSON API error object][] | Failure during team creation | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +-> **Note:** You cannot set `manage-workspaces` to `false` when setting `manage-projects` to `true`, since project permissions cascade down to workspaces. This is also the case for `read-workspaces` and `read-projects`. If `read-projects` is `true`, `read-workspaces` must be `true` as well. + +| Key path | Type | Default | Description | +| ------------------------------------- | ------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"teams"`. | +| `data.attributes.name` | string | | The name of the team, which can only include letters, numbers, `-`, and `_`. This will be used as an identifier and must be unique in the organization. | +| `data.attributes.sso-team-id` | string | (nothing) | The unique identifier of the team from the SAML `MemberOf` attribute. Only available in Terraform Enterprise 202204-1 and later, or in HCP Terraform. | +| `data.attributes.organization-access` | object | (nothing) | Settings for the team's organization access. This object can include the `manage-policies`, `manage-policy-overrides`, `manage-run-tasks`, `manage-workspaces`, `manage-vcs-settings`, `manage-agent-pools`, `manage-providers`, `manage-modules`, `manage-projects`, `read-projects`, `read-workspaces`, `manage-membership`, `manage-teams`, and `manage-organization-access` properties with boolean values. All properties default to `false`. | +| `data.attributes.visibility` | string | `"secret"` | The team's visibility. Must be `"secret"` or `"organization"` (visible). | + +### Sample Payload + +```json +{ + "data": { + "type": "teams", + "attributes": { + "name": "team-creation-test", + "sso-team-id": "cb265c8e41bddf3f9926b2cf3d190f0e1627daa4", + "organization-access": { + "manage-workspaces": true + } + } + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/teams +``` + +### Sample Response + +The `sso-team-id` attribute is only returned in Terraform Enterprise 202204-1 and later, or in HCP Terraform. + +```json +{ + "data": { + "attributes": { + "name": "team-creation-test", + "sso-team-id": "cb265c8e41bddf3f9926b2cf3d190f0e1627daa4", + "organization-access": { + "manage-policies": false, + "manage-policy-overrides": false, + "manage-run-tasks": false, + "manage-vcs-settings": false, + "manage-agent-pools": false, + "manage-workspaces": true, + "manage-providers": false, + "manage-modules": false, + "manage-projects": false, + "read-projects": false, + "read-workspaces": true, + "manage-membership": false, + "manage-teams": false, + "manage-organization-access": false + }, + "permissions": { + "can-update-membership": true, + "can-destroy": true, + "can-update-organization-access": true, + "can-update-api-token": true, + "can-update-visibility": true + }, + "users-count": 0, + "visibility": "secret", + "allow-member-token-management": true + }, + "id": "team-6p5jTwJQXwqZBncC", + "links": { + "self": "/api/v2/teams/team-6p5jTwJQXwqZBncC" + }, + "relationships": { + "authentication-token": { + "meta": {} + }, + "users": { + "data": [] + } + }, + "type": "teams" + } +} +``` + +## Show Team Information + +`GET /teams/:team_id` + +| Parameter | Description | +| ---------- | ------------------------ | +| `:team_id` | The team ID to be shown. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/teams/team-6p5jTwJQXwqZBncC +``` + +### Sample Response + +The `sso-team-id` attribute is only returned in Terraform Enterprise 202204-1 and later, or in HCP Terraform. + +```json +{ + "data": { + "id": "team-6p5jTwJQXwqZBncC", + "type": "teams", + "attributes": { + "name": "team-creation-test", + "sso-team-id": "cb265c8e41bddf3f9926b2cf3d190f0e1627daa4", + "users-count": 0, + "visibility": "organization", + "allow-member-token-management": true, + "permissions": { + "can-update-membership": true, + "can-destroy": true, + "can-update-organization-access": true, + "can-update-api-token": true, + "can-update-visibility": true + }, + "organization-access": { + "manage-policies": true, + "manage-policy-overrides": false, + "manage-run-tasks": true, + "manage-workspaces": false, + "manage-vcs-settings": false, + "manage-agent-pools": false, + "manage-providers": false, + "manage-modules": false, + "manage-projects": false, + "read-projects": false, + "read-workspaces": false, + "manage-membership": false, + "manage-teams": false, + "manage-organization-access": false + } + }, + "relationships": { + "users": { + "data": [] + }, + "authentication-token": { + "meta": {} + } + }, + "links": { + "self": "/api/v2/teams/team-6p5jTwJQXwqZBncC" + } + } +} +``` + +## Update a Team + +`PATCH /teams/:team_id` + +| Parameter | Description | +| ---------- | -------------------------- | +| `:team_id` | The team ID to be updated. | + +| Status | Response | Reason | +| ------- | --------------------------------------- | -------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "teams"`) | Successfully created a team | +| [400][] | [JSON API error object][] | Invalid `include` parameter | +| [404][] | [JSON API error object][] | Team not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [500][] | [JSON API error object][] | Failure during team creation | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +-> **Note:** You cannot set `manage-workspaces` to `false` when setting `manage-projects` to `true`, since project permissions cascade down to workspaces. This is also the case for `read-workspaces` and `read-projects`. If `read-projects` is `true`, `read-workspaces` must be `true` as well. + +| Key path | Type | Default | Description | +| --------------------------------------------- | ------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"teams"`. | +| `data.attributes.name` | string | (previous value) | The name of the team, which can only include letters, numbers, `-`, and `_`. This will be used as an identifier and must be unique in the organization. | +| `data.attributes.sso-team-id` | string | (previous value) | The unique identifier of the team from the SAML `MemberOf` attribute. Only available in Terraform Enterprise 202204-1 and later, or in HCP Terraform. | +| `data.attributes.organization-access` | object | (previous value) | Settings for the team's organization access. This object can include the `manage-policies`, `manage-policy-overrides`, `manage-run-tasks`, `manage-workspaces`, `manage-vcs-settings`, `manage-agent-pools`, `manage-providers`, `manage-modules`, `manage-projects`, `read-projects`, `read-workspaces`, `manage-membership`, `manage-teams`, and `manage-organization-access` properties with boolean values. All properties default to `false`. | +| `data.attributes.visibility` | string | (previous value) | The team's visibility. Must be `"secret"` or `"organization"` (visible). | +| `data.attributes.allow-team-token-management` | boolean | (previous value) | The ability to enable and disable team token management for a team. Defaults to true. | + +### Sample Payload + +```json +{ + "data": { + "type": "teams", + "attributes": { + "visibility": "organization", + "allow-member-token-management": true, + "organization-access": { + "manage-vcs-settings": true + } + } + } +} +``` + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/teams/team-6p5jTwJQXwqZBncC +``` + +### Sample Response + +The `sso-team-id` attribute is only returned in Terraform Enterprise 202204-1 and later, or in HCP Terraform. + +```json +{ + "data": { + "attributes": { + "name": "team-creation-test", + "sso-team-id": "cb265c8e41bddf3f9926b2cf3d190f0e1627daa4", + "organization-access": { + "manage-policies": false, + "manage-policy-overrides": false, + "manage-run-tasks": true, + "manage-vcs-settings": true, + "manage-agent-pools": false, + "manage-workspaces": true, + "manage-providers": false, + "manage-modules": false, + "manage-projects": false, + "read-projects": false, + "read-workspaces": true, + "manage-membership": false, + "manage-teams": false, + "manage-organization-access": false + }, + "visibility": "organization", + "allow-member-token-management": true, + "permissions": { + "can-update-membership": true, + "can-destroy": true, + "can-update-organization-access": true, + "can-update-api-token": true, + "can-update-visibility": true + }, + "users-count": 0 + }, + "id": "team-6p5jTwJQXwqZBncC", + "links": { + "self": "/api/v2/teams/team-6p5jTwJQXwqZBncC" + }, + "relationships": { + "authentication-token": { + "meta": {} + }, + "users": { + "data": [] + } + }, + "type": "teams" + } +} +``` + +## Delete a Team + +`DELETE /teams/:team_id` + +| Parameter | Description | +| ---------- | -------------------------- | +| `:team_id` | The team ID to be deleted. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/teams/team-6p5jTwJQXwqZBncC +``` + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +- `users` (`string`) - Returns the full user record for every member of a team. +- `organization-memberships` (`string`) - Returns the full organization membership record for every member of a team. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/user-tokens.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/user-tokens.mdx new file mode 100644 index 0000000000..a26352ea06 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/user-tokens.mdx @@ -0,0 +1,286 @@ +--- +page_title: /users/authentication-tokens API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/users/authentication-tokens` endpoint to + read, create, and destroy user-specific API tokens. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# User tokens API reference + +## List User Tokens + +`GET /users/:user_id/authentication-tokens` + +| Parameter | Description | +| ---------- | ------------------- | +| `:user_id` | The ID of the User. | + +Use the [Account API](/terraform/enterprise/api-docs/account) to find your own user ID. + +The objects returned by this endpoint only contain metadata, and do not include the secret text of any authentication tokens. A token is only shown upon creation, and cannot be recovered later. + +-> **Note:** You must access this endpoint with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens), and it will only return useful data for that token's user account. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "authentication-tokens"`) | The request was successful | +| [200][] | Empty [JSON API document][] (no type) | User has no authentication tokens, or request was made by someone other than the user | +| [404][] | [JSON API error object][] | User not found | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. If neither pagination query parameters are provided, the endpoint will not be paginated and will return all results. + +| Parameter | Description | +| -------------- | --------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 user tokens per page. | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/users/user-MA4GL63FmYRpSFxa/authentication-tokens +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "at-QmATJea6aWj1xR2t", + "type": "authentication-tokens", + "attributes": { + "created-at": "2018-11-06T22:56:10.203Z", + "last-used-at": null, + "description": null, + "token": null, + "expired-at": null + }, + "relationships": { + "created-by": { + "data": null + } + } + }, + { + "id": "at-6yEmxNAhaoQLH1Da", + "type": "authentication-tokens", + "attributes": { + "created-at": "2018-11-25T22:31:30.624Z", + "last-used-at": "2018-11-26T20:27:54.931Z", + "description": "api", + "token": null, + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "created-by": { + "data": { + "id": "user-MA4GL63FmYRpSFxa", + "type": "users" + } + } + } + } + ] +} +``` + +## Show a User Token + +`GET /authentication-tokens/:id` + +| Parameter | Description | +| --------- | ------------------------- | +| `:id` | The ID of the User Token. | + +The objects returned by this endpoint only contain metadata, and do not include the secret text of any authentication tokens. A token is only shown upon creation, and cannot be recovered later. + +-> **Note:** You must access this endpoint with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens), and it will only return useful data for that token's user account. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | ------------------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "authentication-tokens"`) | The request was successful | +| [404][] | [JSON API error object][] | User Token not found, or unauthorized to view the User Token | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/authentication-tokens/at-6yEmxNAhaoQLH1Da +``` + +### Sample Response + +```json +{ + "data": { + "id": "at-6yEmxNAhaoQLH1Da", + "type": "authentication-tokens", + "attributes": { + "created-at": "2018-11-25T22:31:30.624Z", + "last-used-at": "2018-11-26T20:34:59.487Z", + "description": "api", + "token": null, + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "created-by": { + "data": { + "id": "user-MA4GL63FmYRpSFxa", + "type": "users" + } + } + } + } +} +``` + +## Create a User Token + +`POST /users/:user_id/authentication-tokens` + +| Parameter | Description | +| ---------- | ------------------- | +| `:user_id` | The ID of the User. | + +Use the [Account API](/terraform/enterprise/api-docs/account) to find your own user ID. + +This endpoint returns the secret text of the created authentication token. A token is only shown upon creation, and cannot be recovered later. + +-> **Note:** You must access this endpoint with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens), and it will only create new tokens for that token's user account. + +| Status | Response | Reason | +| ------- | ------------------------------------------------------- | -------------------------------------------------------------- | +| [201][] | [JSON API document][] (`type: "authentication-tokens"`) | The request was successful | +| [404][] | [JSON API error object][] | User not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Malformed request body (missing attributes, wrong types, etc.) | +| [500][] | [JSON API error object][] | Failure during User Token creation | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"authentication-tokens"`. | +| `data.attributes.description` | string | | The description for the User Token. | +| `data.attributes.expired-at` | string | `null` | The UTC date and time that the User Token will expire, in ISO 8601 format. If omitted or set to `null` the token will never expire. | + +### Sample Payload + +```json +{ + "data": { + "type": "authentication-tokens", + "attributes": { + "description":"api", + "expired-at": "2023-04-06T12:00:00.000Z" + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/users/user-MA4GL63FmYRpSFxa/authentication-tokens +``` + +### Sample Response + +```json +{ + "data": { + "id": "at-MKD1X3i4HS3AuD41", + "type": "authentication-tokens", + "attributes": { + "created-at": "2018-11-26T20:48:35.054Z", + "last-used-at": null, + "description": "api", + "token": "6tL24nM38M7XWQ.atlasv1.KmWckRfzeNmUVFNvpvwUEChKaLGznCSD6fPf3VPzqMMVzmSxFU0p2Ibzpo2h5eTGwPU", + "expired-at": "2023-04-06T12:00:00.000Z" + }, + "relationships": { + "created-by": { + "data": { + "id": "user-MA4GL63FmYRpSFxa", + "type": "users" + } + } + } + } +} +``` + +## Destroy a User Token + +`DELETE /authentication-tokens/:id` + +| Parameter | Description | +| --------- | ------------------------------------ | +| `:id` | The ID of the User Token to destroy. | + +-> **Note:** You must access this endpoint with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens), and it will only delete tokens for that token's user account. + +| Status | Response | Reason | +| ------- | ------------------------- | ------------------------------------------------------------ | +| [204][] | Empty response | The User Token was successfully destroyed | +| [404][] | [JSON API error object][] | User Token not found, or user unauthorized to perform action | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/authentication-tokens/at-6yEmxNAhaoQLH1Da +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/users.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/users.mdx new file mode 100644 index 0000000000..4c8625e8c7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/users.mdx @@ -0,0 +1,102 @@ +--- +page_title: /users API reference for Terraform Enterprise +description: Use the Terraform Enterprise API's `/users` endpoint to read a user's details. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Users API reference + +HCP Terraform's user objects do not contain any identifying information about a user, other than their HCP Terraform username and avatar image; they are intended for displaying names and avatars in contexts that refer to a user by ID, like lists of team members or the details of a run. Most of these contexts can already include user objects via an `?include` parameter, so you shouldn't usually need to make a separate call to this endpoint. + +## Show a User + +Shows details for a given user. + +`GET /users/:user_id` + +| Parameter | Description | +| ---------- | --------------------------- | +| `:user_id` | The ID of the desired user. | + +To find the ID that corresponds to a given username, you can request a [team object](/terraform/enterprise/api-docs/teams) for a team that user belongs to, specify `?include=users` in the request, and look for the user's name in the included list of user objects. + +| Status | Response | Reason | +| ------- | --------------------------------------- | ------------------------------------------------ | +| [200][] | [JSON API document][] (`type: "users"`) | The request was successful | +| [401][] | [JSON API error object][] | Unauthorized | +| [404][] | [JSON API error object][] | User not found, or unauthorized to view the user | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/users/user-MA4GL63FmYRpSFxa +``` + +### Sample Response + +```json +{ + "data": { + "id": "user-MA4GL63FmYRpSFxa", + "type": "users", + "attributes": { + "username": "admin", + "is-service-account": false, + "auth-method": "hcp_sso", + "avatar-url": "https://www.gravatar.com/avatar/fa1f0c9364253d351bf1c7f5c534cd40?s=100&d=mm", + "v2-only": true, + "permissions": { + "can-create-organizations": false, + "can-change-email": true, + "can-change-username": true + } + }, + "relationships": { + "authentication-tokens": { + "links": { + "related": "/api/v2/users/user-MA4GL63FmYRpSFxa/authentication-tokens" + } + } + }, + "links": { + "self": "/api/v2/users/user-MA4GL63FmYRpSFxa" + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variable-sets.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variable-sets.mdx new file mode 100644 index 0000000000..8bca544f1a --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variable-sets.mdx @@ -0,0 +1,1018 @@ +--- +page_title: /varsets API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/varsets` endpoint to read, create, + update, and delete variable sets, and apply or remove variable sets from + workspaces and projects. +source: terraform-docs-common +--- + +# Variable sets API reference + +A [variable set](/terraform/enterprise/workspaces/variables#scope) is a resource that allows you to reuse the same variables across multiple workspaces and projects. For example, you could define a variable set of provider credentials and automatically apply it to a selection of workspaces, all workspaces in a project, or all workspaces in an organization. + +Projects and organizations can both own variable sets. The owner of a variable set can determine the precedence of that set. Refer to [**Manage variable sets**](/terraform/enterprise/workspaces/variables/managing-variables#permissions) for more details on variable set permissions. + +To view the variables applied from a variable set on a particular workspace, you must have [**Read** variables permission](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) on that workspace. + +## Create a Variable Set + +`POST organizations/:organization_name/varsets` + +| Parameter | Description | +| -------------------- | --------------------------------------------------------- | +| `:organization_name` | The name of the organization the variable set belongs to. | + +### Request Body + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------- | ------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.attributes.name` | string | | The name of the variable set. | +| `data.attributes.description` | string | `""` | Text displayed in the UI to contextualize the variable set and its purpose. | +| `data.attributes.global` | boolean | `false` | When true, HCP Terraform automatically applies the variable set to all current and future workspaces in the organization. | +| `data.attributes.priority` | boolean | `false` | When true, the variables in the set override any other variable values with a more specific scope, including values set on the command line. | +| `data.relationships.workspaces` | array | `[]` | Array of references to workspaces that the variable set should be assigned to. | +| `data.relationships.projects` | array | `[]` | Array of references to projects that the variable set should be assigned to. | +| `data.relationships.vars` | array | `[]` | Array of complete variable definitions that comprise the variable set. | +| `data.relationships.parent` | object | Organization that the variable set belongs to | The parent that owns this variable set. If the parent is a project, `data.attributes.global` must be `false`. | +| `data.relationships.parent.data.type` | string | `"organizations"` | The resource type of the parent that owns this variable set. Valid values are `organizations` or `projects`. | +| `data.relationships.parent.data.id` | string | Name of organization that the variable set belongs to. | The ID of the parent that owns the variable set. For organizations, use name instead of ID. | + +HCP Terraform does not allow different global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to create a global variable set that contains conflicting variables. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Successfully added variable set | +| [404][] | [JSON API error object][] | Organization not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": { + "type": "varsets", + "attributes": { + "name": "MyVarset", + "description": "Full of vars and such for mass reuse", + "global": false, + "priority": false, + }, + "relationships": { + "workspaces": { + "data": [ + { + "id": "ws-z6YvbWEYoE168kpq", + "type": "workspaces" + } + ] + }, + "vars": { + "data": [ + { + "type": "vars", + "attributes": { + "key": "c2e4612d993c18e42ef30405ea7d0e9ae", + "value": "8676328808c5bf56ac5c8c0def3b7071", + "category": "terraform" + } + } + ] + }, + "parent": { + "data": { + "id": "prj-kFjgSzcZSr5c3imE", + "type": "projects" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/varsets +``` + +### Sample Response + +```json +{ + "data": { + "id": "varset-kjkN545LH2Sfercv", + "type": "varsets", + "attributes": { + "name": "MyVarset", + "description": "Full of vars and such for mass reuse", + "global": false, + "priority": false, + }, + "relationships": { + "workspaces": { + "data": [ + { + "id": "ws-z6YvbWEYoE168kpq", + "type": "workspaces" + } + ] + }, + "projects": { + "data": [ + { + "id": "prj-kFjgSzcZSr5c3imE", + "type": "projects" + } + ] + }, + "vars": { + "data": [ + { + "id": "var-Nh0doz0hzj9hrm34qq", + "type": "vars", + "attributes": { + "key": "c2e4612d993c18e42ef30405ea7d0e9ae", + "value": "8676328808c5bf56ac5c8c0def3b7071", + "category": "terraform" + } + } + ] + }, + "parent": { + "data": { + "id": "prj-kFjgSzcZSr5c3imE", + "type": "projects" + } + } + } + } +} +``` + +## Update a Variable Set + +`PUT/PATCH varsets/:varset_id` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +HCP Terraform does not allow global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to create a global variable set that contains conflicting variables. + +HCP Terraform does not allow you to change the parent organization or project of a variable set. Instead, you must delete the variable set and recreate it in the desired organization or project. + +### Request Body + +| Key path | Type | Default | Description | +| ------------------------------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.attributes.name` | string | | The name of the variable set. | +| `data.attributes.description` | string | | Text displayed in the UI to contextualize the variable set and its purpose. | +| `data.attributes.global` | boolean | | When true, HCP Terraform automatically applies the variable set to all current and future workspaces in the organization. | +| `data.attributes.priority` | boolean | `false` | When true, the variables in the set override any other variable values set with a more specific scope, including values set on the command line. | +| `data.relationships.workspaces` | array | | **Optional** Array of references to workspaces that the variable set should be assigned to. Sending an empty array clears all workspace assignments. | +| `data.relationships.projects` | array | | **Optional** Array of references to projects that the variable set should be assigned to. Sending an empty array clears all project assignments. | +| `data.relationships.vars` | array | | **Optional** Array of complete variable definitions to add to the variable set. | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ------------------------------------------------------------------------------ | +| [200][] | [JSON API document][] | Successfully updated variable set | +| [404][] | [JSON API error object][] | Organization or variable set not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": { + "type": "varsets", + "attributes": { + "name": "MyVarset", + "description": "Full of vars and such for mass reuse. Now global!", + "global": true, + "priority": true, + }, + "relationships": { + "workspaces": { + "data": [ + { + "id": "ws-FRFwkYoUoGn1e34b", + "type": "workspaces" + } + ] + }, + "projects": { + "data": [ + { + "id": "prj-kFjgSzcZSr5c3imE", + "type": "projects" + } + ] + }, + "vars": { + "data": [ + { + "type": "vars", + "attributes": { + "key": "c2e4612d993c18e42ef30405ea7d0e9ae", + "value": "8676328808c5bf56ac5c8c0def3b7071", + "category": "terraform" + } + } + ] + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/varsets/varset-kjkN545LH2Sfercv +``` + +### Sample Response + +```json +{ + "data": { + "id": "varset-kjkN545LH2Sfercv", + "type": "varsets", + "attributes": { + "name": "MyVarset", + "description": "Full of vars and such for mass reuse. Now global!", + "global": true, + "priority": true + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "workspaces": { + "data": [ + { + "id": "ws-FRFwkYoUoGn1e34b", + "type": "workspaces" + } + ] + }, + "projects": { + "data": [ + { + "id": "prj-kFjgSzcZSr5c3imE", + "type": "projects" + } + ] + }, + "vars": { + "data": [ + { + "id": "var-Nh0doz0hzj9hrm34qq", + "type": "vars", + "attributes": { + "key": "c2e4612d993c18e42ef30405ea7d0e9ae", + "value": "8676328808c5bf56ac5c8c0def3b7071", + "category": "terraform" + } + } + ] + }, + "parent": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + } + } + } +} +``` + +## Delete a Variable Set + +`DELETE varsets/:varset_id` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/varsets/varset-kjkN545LH2Sfercv +``` + +On success, this endpoint responds with no content. + +## Show Variable Set + +Fetch details about the specified variable set. + +`GET varsets/:varset_id` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request GET \ + https://app.terraform.io/api/v2/varsets/varset-kjkN545LH2Sfercv +``` + +### Sample Response + +```json +{ + "data": { + "id": "varset-kjkN545LH2Sfercv", + "type": "varsets", + "attributes": { + "name": "MyVarset", + "description": "Full of vars and such for mass reuse", + "global": false, + "priority": false, + "updated-at": "2023-03-06T21:48:33.588Z", + "var-count": 5, + "workspace-count": 2, + "project-count": 2 + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "vars": { + "data": [ + { + "id": "var-mMqadSCxZtrQJAv8", + "type": "vars" + }, + { + "id": "var-hFxUUKSk35QMsRVH", + "type": "vars" + }, + { + "id": "var-fkd6N48tXRmoaPxH", + "type": "vars" + }, + { + "id": "var-abcbBMBMWcZw3WiV", + "type": "vars" + }, + { + "id": "var-vqvRKK1ZoqQCiMwN", + "type": "vars" + } + ] + }, + "workspaces": { + "data": [ + { + "id": "ws-UohFdKAHUGsQ8Dtf", + "type": "workspaces" + }, + { + "id": "ws-XhGhaaCrsx9ATson", + "type": "workspaces" + } + ] + }, + "projects": { + "data": [ + { + "id": "prj-1JMwvPHFsdpsPhnt", + "type": "projects" + }, + { + "id": "prj-SLDGqbYqELXE1obp", + "type": "projects" + } + ] + }, + "parent": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + } + } + } +} +``` + +## List Variable Sets + +List all variable sets for an organization. + +`GET organizations/:organization_name/varsets` + +| Parameter | Description | +| -------------------- | -------------------------------------------------------- | +| `:organization_name` | The name of the organization the variable sets belong to | + +List all variable sets for a project. This includes global variable sets from the project's organization. + +`GET projects/:project_id/varsets` + +| Parameter | Description | +| ------------- | -------------- | +| `:project_id` | The project ID | + +List all variable sets for a workspace. This includes global variable sets from the workspace's organization and variable sets +attached to the project this workspace is contained within. + +`GET workspaces/:workspace_id/varsets` + +| Parameter | Description | +| --------------- | ---------------- | +| `:workspace_id` | The workspace ID | + +### Query Parameters + +All list endpoints support pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters) and searching with the `q` parameter. Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | -------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint returns the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint returns 20 varsets per page. | +| `q` | **Optional.** A search query string. You can search for a variable set using its name. | + +### Sample Response + +```json +{ + "data": [ + { + "id": "varset-kjkN545LH2Sfercv", + "type": "varsets", + "attributes": { + "name": "MyVarset", + "description": "Full of vars and such for mass reuse", + "global": false, + "priority": false, + "updated-at": "2023-03-06T21:48:33.588Z", + "var-count": 5, + "workspace-count": 2, + "project-count": 2 + }, + "relationships": { + "organization": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + }, + "vars": { + "data": [ + { + "id": "var-mMqadSCxZtrQJAv8", + "type": "vars" + }, + { + "id": "var-hFxUUKSk35QMsRVH", + "type": "vars" + }, + { + "id": "var-fkd6N48tXRmoaPxH", + "type": "vars" + }, + { + "id": "var-abcbBMBMWcZw3WiV", + "type": "vars" + }, + { + "id": "var-vqvRKK1ZoqQCiMwN", + "type": "vars" + } + ] + }, + "workspaces": { + "data": [ + { + "id": "ws-UohFdKAHUGsQ8Dtf", + "type": "workspaces" + }, + { + "id": "ws-XhGhaaCrsx9ATson", + "type": "workspaces" + } + ] + }, + "projects": { + "data": [ + { + "id": "prj-1JMwvPHFsdpsPhnt", + "type": "projects" + }, + { + "id": "prj-SLDGqbYqELXE1obp", + "type": "projects" + } + ] + }, + "parent": { + "data": { + "id": "hashicorp", + "type": "organizations" + } + } + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/hashicorp/varsets?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/hashicorp/varsets?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/hashicorp/varsets?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "page-size": 20, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 1 + } + } +} +``` + +### Variable Relationships + +## Add Variable + +`POST varsets/:varset_external_id/relationships/vars` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------- | ------ | ------- | --------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.attributes.key` | string | | The name of the variable. | +| `data.attributes.value` | string | `""` | The value of the variable. | +| `data.attributes.description` | string | | The description of the variable. | +| `data.attributes.category` | string | | Whether this is a Terraform or environment variable. Valid values are `"terraform"` or `"env"`. | +| `data.attributes.hcl` | bool | `false` | Whether to evaluate the value of the variable as a string of HCL code. Has no effect for environment variables. | +| `data.attributes.sensitive` | bool | `false` | Whether the value is sensitive. If true, variable is not visible in the UI. | + +HCP Terraform does not allow different global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to add a conflicting variable to a global variable set. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Successfully added variable to variable set | +| [404][] | [JSON API error object][] | Variable set not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": { + "type": "vars", + "attributes": { + "key": "g6e45ae7564a17e81ef62fd1c7fa86138", + "value": "61e400d5ccffb3782f215344481e6c82", + "description": "cheeeese", + "sensitive": false, + "category": "terraform", + "hcl": false + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/varsets/varset-4q8f7H0NHG733bBH/relationships/vars +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-EavQ1LztoRTQHSNT", + "type": "vars", + "attributes": { + "key": "g6e45ae7564a17e81ef62fd1c7fa86138", + "value": "61e400d5ccffb3782f215344481e6c82", + "description": "cheeeese", + "sensitive": false, + "category": "terraform", + "hcl": false + } + } +} +``` + +## Update a Variable in a Variable Set + +`PATCH varsets/:varset_id/relationships/vars/:var_id` + +| Parameter | Description | +| ------------ | -------------------------------- | +| `:varset_id` | The variable set ID | +| `:var_id` | The ID of the variable to delete | + +HCP Terraform does not allow different global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to add a conflicting variable to a global variable set. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [200][] | [JSON API document][] | Successfully updated variable for variable set | +| [404][] | [JSON API error object][] | Variable set not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": { + "type": "vars", + "attributes": { + "key": "g6e45ae7564a17e81ef62fd1c7fa86138", + "value": "61e400d5ccffb3782f215344481e6c82", + "description": "new cheeeese", + "sensitive": false, + "category": "terraform", + "hcl": false + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/varsets/varset-4q8f7H0NHG733bBH/relationships/vars/var-EavQ1LztoRTQHSNT +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-EavQ1LztoRTQHSNT", + "type": "vars", + "attributes": { + "key": "g6e45ae7564a17e81ef62fd1c7fa86138", + "value": "61e400d5ccffb3782f215344481e6c82", + "description": "new cheeeese", + "sensitive": false, + "category": "terraform", + "hcl": false + } + } +} +``` + +## Delete a Variable in a Variable Set + +`DELETE varsets/:varset_id/relationships/vars/:var_id` + +| Parameter | Description | +| ------------ | -------------------------------- | +| `:varset_id` | The variable set ID | +| `:var_id` | The ID of the variable to delete | + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/varsets/varset-4q8f7H0NHG733bBH/relationships/vars/var-EavQ1LztoRTQHSNT +``` + +On success, this endpoint responds with no content. + +## List Variables in a Variable Set + +`GET varsets/:varset_id/relationships/vars` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +### Sample Response + +```json +{ + "data": [ + { + "id": "var-134r1k34nj5kjn", + "type": "vars", + "attributes": { + "key": "F115037558b045dd82da40b089e5db745", + "value": "1754288480dfd3060e2c37890422905f", + "sensitive": false, + "category": "terraform", + "hcl": false, + "created-at": "2021-10-29T18:54:29.379Z", + "description": "" + }, + "relationships": { + "varset": { + "data": { + "id": "varset-992UMULdeDuebi1x", + "type": "varsets" + }, + "links": { "related": "/api/v2/varsets/1" } + } + }, + "links": { "self": "/api/v2/vars/var-BEPU9NjPVCiCfrXj" } + } + ], + "links": { + "self": "app.terraform.io/app/varsets/varset-992UMULdeDuebi1x/vars", + "first": "app.terraform.io/app/varsets/varset-992UMULdeDuebi1x/vars?page=1", + "prev": null, + "next": null, + "last": "app.terraform.io/app/varsets/varset-992UMULdeDuebi1x/vars?page=1" + } +} +``` + +## Apply Variable Set to Workspaces + +Accepts a list of workspaces to add the variable set to. + +`POST varsets/:varset_id/relationships/workspaces` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | -------------------------------------------------- | +| `data[].type` | string | | Must be `"workspaces"` | +| `data[].id` | string | | The id of the workspace to add the variable set to | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | | Successfully added variable set to the requested workspaces | +| [404][] | [JSON API error object][] | Variable set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "workspaces", + "id": "ws-YwfuBJZkdai4xj9w" + } + ] +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/varsets/varset-kjkN545LH2Sfercv/relationships/workspaces +``` + +## Remove a Variable Set from Workspaces + +Accepts a list of workspaces to remove the variable set from. + +`DELETE varsets/:varset_id/relationships/workspaces` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ------------------------------------------------------- | +| `data[].type` | string | | Must be `"workspaces"` | +| `data[].id` | string | | The id of the workspace to delete the variable set from | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | | Successfully removed variable set from the requested workspaces | +| [404][] | [JSON API error object][] | Variable set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "workspaces", + "id": "ws-YwfuBJZkdai4xj9w" + }, + { + "type": "workspaces", + "id": "ws-YwfuBJZkdai4xj9w" + } + ] +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/varsets/varset-kjkN545LH2Sfercv/relationships/workspaces +``` + +## Apply Variable Set to Projects + +Accepts a list of projects to add the variable set to. When you apply a variable set to a project, all the workspaces in that project will have the variable set applied to them. + +`POST varsets/:varset_id/relationships/projects` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ------------------------------------------------ | +| `data[].type` | string | | Must be `"projects"` | +| `data[].id` | string | | The id of the project to add the variable set to | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | | Successfully added variable set to the requested projects | +| [404][] | [JSON API error object][] | Variable set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "projects", + "id": "prj-YwfuBJZkdai4xj9w" + } + ] +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/varsets/varset-kjkN545LH2Sfercv/relationships/projects +``` + +## Remove a Variable Set from Projects + +Accepts a list of projects to remove the variable set from. + +`DELETE varsets/:varset_id/relationships/projects` + +| Parameter | Description | +| ------------ | ------------------- | +| `:varset_id` | The variable set ID | + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ----------------------------------------------------- | +| `data[].type` | string | | Must be `"projects"` | +| `data[].id` | string | | The id of the project to delete the variable set from | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | | Successfully removed variable set from the requested projects | +| [404][] | [JSON API error object][] | Variable set not found or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "projects", + "id": "prj-YwfuBJZkdai4xj9w" + }, + { + "type": "projects", + "id": "prj-lkjasdfiojwerlkj" + } + ] +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/varsets/varset-kjkN545LH2Sfercv/relationships/projects +``` + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[json api document]: /terraform/enterprise/api-docs#json-api-documents + +[json api error object]: https://jsonapi.org/format/#error-objects + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +| Resource Name | Description | +| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `vars` | Show each variable in a variable set and all of their attributes including `id`, `key`, `value`, `sensitive`, `category`, `hcl`, `created_at`, and `description`. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variables.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variables.mdx new file mode 100644 index 0000000000..987dca3556 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/variables.mdx @@ -0,0 +1,307 @@ +--- +page_title: /vars API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/vars` endpoint to manage + organization-level variables. Learn how to read, create, update, and delete + variables using the API. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Variables API reference + +~> **Important**: The Variables API is **deprecated** and will be removed in a future release. All existing integrations with this API should transition to the [Workspace Variables API](/terraform/enterprise/api-docs/workspace-variables). + +This set of APIs covers create, update, list and delete operations on variables. + +## Create a Variable + +`POST /vars` + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ---------------------------------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.attributes.key` | string | | The name of the variable. | +| `data.attributes.value` | string | `""` | The value of the variable. | +| `data.attributes.description` | string | | The description of the variable. | +| `data.attributes.category` | string | | Whether this is a Terraform or environment variable. Valid values are `"terraform"` or `"env"`. | +| `data.attributes.hcl` | bool | `false` | Whether to evaluate the value of the variable as a string of HCL code. Has no effect for environment variables. | +| `data.attributes.sensitive` | bool | `false` | Whether the value is sensitive. If true then the variable is written once and not visible thereafter. | +| `data.relationships.workspace.data.type` | string | | Must be `"workspaces"`. | +| `data.relationships.workspace.data.id` | string | | The ID of the workspace that owns the variable. Obtain workspace IDs from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +**Deprecation warning**: The custom `filter` properties are replaced by JSON API `relationships` and will be removed from future versions of the API! + +| Key path | Type | Default | Description | +| -------------------------- | ------ | ------- | ----------------------------------------------------- | +| `filter.workspace.name` | string | | The name of the workspace that owns the variable. | +| `filter.organization.name` | string | | The name of the organization that owns the workspace. | + +### Sample Payload + +```json +{ + "data": { + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "description":"some description", + "category":"terraform", + "hcl":false, + "sensitive":false + }, + "relationships": { + "workspace": { + "data": { + "id":"ws-4j8p6jX1w33MiDC7", + "type":"workspaces" + } + } + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/vars +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-EavQ1LztoRTQHSNT", + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "description":"some description", + "sensitive":false, + "category":"terraform", + "hcl":false + }, + "relationships": { + "configurable": { + "data": { + "id":"ws-4j8p6jX1w33MiDC7", + "type":"workspaces" + }, + "links": { + "related":"/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self":"/api/v2/vars/var-EavQ1LztoRTQHSNT" + } + } +} +``` + +## List Variables + +`GET /vars` + +### Query Parameters + +[These are standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ---------------------------- | -------------------------------------------------------------------------- | +| `filter[workspace][name]` | **Required** The name of one workspace to list variables for. | +| `filter[organization][name]` | **Required** The name of the organization that owns the desired workspace. | + +These two parameters are optional but linked; if you include one, you must include both. Without a filter, this method lists variables for all workspaces where you have permission to read variables. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ +"https://app.terraform.io/api/v2/vars?filter%5Borganization%5D%5Bname%5D=my-organization&filter%5Bworkspace%5D%5Bname%5D=my-workspace" +# ?filter[organization][name]=my-organization&filter[workspace][name]=demo01 +``` + +### Sample Response + +```json +{ + "data": [ + { + "id":"var-AD4pibb9nxo1468E", + "type":"vars","attributes": { + "key":"name", + "value":"hello", + "description":"some description", + "sensitive":false, + "category":"terraform", + "hcl":false + }, + "relationships": { + "configurable": { + "data": { + "id":"ws-cZE9LERN3rGPRAmH", + "type":"workspaces" + }, + "links": { + "related":"/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self":"/api/v2/vars/var-AD4pibb9nxo1468E" + } + } + ] +} +``` + +## Update Variables + +`PATCH /vars/:variable_id` + +| Parameter | Description | +| -------------- | ------------------------------------- | +| `:variable_id` | The ID of the variable to be updated. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.id` | string | | The ID of the variable to update. | +| `data.attributes` | object | | New attributes for the variable. This object can include `key`, `value`, `description`, `category`, `hcl`, and `sensitive` properties, which are described above under [create a variable](#create-a-variable). All of these properties are optional; if omitted, a property will be left unchanged. | + +### Sample Payload + +```json +{ + "data": { + "id":"var-yRmifb4PJj7cLkMG", + "attributes": { + "key":"name", + "value":"mars", + "description": "new description", + "category":"terraform", + "hcl": false, + "sensitive": false + }, + "type":"vars" + } +} +``` + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/vars/var-yRmifb4PJj7cLkMG +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-yRmifb4PJj7cLkMG", + "type":"vars", + "attributes": { + "key":"name", + "value":"mars", + "description":"new description", + "sensitive":false, + "category":"terraform", + "hcl":false + }, + "relationships": { + "configurable": { + "data": { + "id":"ws-4j8p6jX1w33MiDC7", + "type":"workspaces" + }, + "links": { + "related":"/api/v2/organizations/workspace-v2-06/workspaces/workspace-v2-06" + } + } + }, + "links": { + "self":"/api/v2/vars/var-yRmifb4PJj7cLkMG" + } + } +} +``` + +## Delete Variables + +`DELETE /vars/:variable_id` + +| Parameter | Description | +| -------------- | ------------------------------------- | +| `:variable_id` | The ID of the variable to be deleted. | + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/vars/var-yRmifb4PJj7cLkMG +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/vcs-events.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/vcs-events.mdx new file mode 100644 index 0000000000..7c97d1181d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/vcs-events.mdx @@ -0,0 +1,132 @@ +--- +page_title: /vcs-events API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/vcs-events` endpoint to list VCS-related + events within your organization. +source: terraform-docs-common +--- + +# VCS events API reference + +-> **Note**: The VCS Events API is still in beta as support is being added for additional VCS providers. Currently only GitLab.com connections established after December 2020 are supported. + +VCS (version control system) events describe changes within your organization for VCS-related actions. Events are only stored for 10 days. If information about the [OAuth Client](/terraform/enterprise/api-docs/oauth-clients) or [OAuth Token](/terraform/enterprise/api-docs/oauth-tokens) are available at the time of the event, it will be logged with the event. + +## List VCS events + +This endpoint lists VCS events for an organization + +`GET /organizations/:organization_name/vcs-events` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization to list VCS events from. The organization must already exist in the system and the user must have permissions to manage VCS settings. | + +-> **Note:** Viewing VCS events is restricted to the owners team, teams with the "Manage VCS Settings", and the [organization API token](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens). ([More about permissions](/terraform/enterprise/users-teams-organizations/permissions).) + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 workspaces per page. | +| `filter[from]` | **Optional.** Must be RFC3339 formatted and in UTC. If omitted, the endpoint will default to 10 days ago. | +| `filter[to]` | **Optional.** Must be RFC3339 formatted and in UTC. If omitted, the endpoint will default to now. | +| `filter[oauth_client_external_ids]` | **Optional.** Format as a comma-separated string. If omitted, the endpoint will return all events. | +| `filter[levels]` | **Optional.** `info` and `error` are the only accepted values. If omitted, the endpoint will return both info and error events. | +| `include` | **Optional.** Allows including related resource data. This endpoint only supports `oauth_client` as a value. Only the `name`, `service-provider`, and `id` will be returned on the OAuth Client object in the `included` block. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/vcs-events?filter%5Bfrom%5D=2021-02-02T14%3A09%3A00Z&filter%5Bto%5D=2021-02-12T14%3A09%3A59Z&filter%5Boauth_client_external_ids%5D=oc-hhTM7WNUUgbXJpkW&filter%5Blevels%5D=info&include=oauth_client +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "ve-DJpbEwZc98ZedHZG", + "type": "vcs-events", + "attributes": { + "created-at": "2021-02-09 20:07:49.686182 +0000 UTC", + "level": "info", + "message": "Loaded 11 repositories", + "organization-id": "org-SBVreZxVessAmCZG" + }, + "relationships": { + "oauth-client": { + "data": { + "id": "oc-LePsVhHXhCM6jWf3", + "type": "oauth-clients" + }, + "links": { + "related": "/api/v2/oauth-clients/oc-LePsVhHXhCM6jWf3" + } + }, + "oauth-token": { + "data": { + "id": "ot-Ma2cs8tzjv3LYZHw", + "type": "oauth-tokens" + }, + "links": { + "related": "/api/v2/oauth-tokens/ot-Ma2cs8tzjv3LYZHw" + } + } + } + } + ], + "included": [ + { + "id": "oc-LePsVhHXhCM6jWf3", + "type": "oauth-clients", + "attributes": { + "name": "working", + "service-provider": "gitlab_hosted" + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + }, + "links": { + "related": "/api/v2/organizations/my-organization" + } + }, + "oauth-tokens": { + "data": [ + { + "id": "ot-Ma2cs8tzjv3LYZHw", + "type": "oauth-tokens" + } + ] + } + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/organizations/my-organization/vcs-events?filter%5Bfrom%5D=2021-02-02T14%3A09%3A00Z\u0026filter%5Blevels%5D=info\u0026filter%5Boauth_client_external_ids%5D=oc-LePsVhHXhCM6jWf3\u0026filter%5Bto%5D=2021-02-12T14%3A09%3A59Z\u0026include=oauth_client\u0026organization_name=my-organization\u0026page%5Bnumber%5D=1\u0026page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/organizations/my-organization/vcs-events?filter%5Bfrom%5D=2021-02-02T14%3A09%3A00Z\u0026filter%5Blevels%5D=info\u0026filter%5Boauth_client_external_ids%5D=oc-LePsVhHXhCM6jWf3\u0026filter%5Bto%5D=2021-02-12T14%3A09%3A59Z\u0026include=oauth_client\u0026organization_name=my-organization\u0026page%5Bnumber%5D=1\u0026page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/organizations/my-organization/vcs-events?filter%5Bfrom%5D=2021-02-02T14%3A09%3A00Z\u0026filter%5Blevels%5D=info\u0026filter%5Boauth_client_external_ids%5D=oc-LePsVhHXhCM6jWf3\u0026filter%5Bto%5D=2021-02-12T14%3A09%3A59Z\u0026include=oauth_client\u0026organization_name=my-organization\u0026page%5Bnumber%5D=1\u0026page%5Bsize%5D=20" + }, + "meta": { + "pagination": { + "current-page": 1, + "prev-page": null, + "next-page": null, + "total-pages": 1, + "total-count": 8 + } + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-resources.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-resources.mdx new file mode 100644 index 0000000000..9f53485fc2 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-resources.mdx @@ -0,0 +1,126 @@ +--- +page_title: /workspaces/resources API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/workspaces/resources` endpoint to list + all of a workspace's resources. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Workspace resources API reference + +## List Workspace Resources + +`GET /workspaces/:workspace_id/resources` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:workspace_id` | The ID of the workspace to retrieve resources from. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [show workspace](/terraform/enterprise/api-docs/workspaces#show-workspace) endpoint. | + +| Status | Response | Reason | +| ------- | ------------------------------------------- | ----------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "resources"`) | Request was successful. | +| [404][] | [JSON API error object][] | Workspace not found or user unauthorized to perform action. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | ----------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 workspace resources per page. | + +### Permissions + +To list resources the user must have permission to read resources for the specified workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Sample Request + +```shell +curl \ + --request GET \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-DiTzUDRpjrArAfSS/resources +``` + +### Sample Response + +```json +{ + "data": [ + { + "id": "wsr-KNYb3Jj3JTBgoBFs", + "type": "resources", + "attributes": { + "address": "random_pet.animal", + "name": "animal", + "created-at": "2021-10-27", + "updated-at": "2021-10-27", + "module": "root", + "provider": "hashicorp/random", + "provider-type": "random_pet", + "modified-by-state-version-id": "sv-y4pjfGHkGUBAa9AX", + "name-index": null + } + }, + { + "id": "wsr-kYsf5A3hQ1y9zFWq", + "type": "resources", + "attributes": { + "address": "random_pet.animal2", + "name": "animal2", + "created-at": "2021-10-27", + "updated-at": "2021-10-27", + "module": "root", + "provider": "hashicorp/random", + "provider-type": "random_pet", + "modified-by-state-version-id": "sv-y4pjfGHkGUBAa9AX", + "name-index": null + } + } + ], + "links": { + "self": "https://app.terraform.io/api/v2/workspaces/ws-DiTzUDRpjrArAfSS/resources?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "first": "https://app.terraform.io/api/v2/workspaces/ws-DiTzUDRpjrArAfSS/resources?page%5Bnumber%5D=1&page%5Bsize%5D=20", + "prev": null, + "next": null, + "last": "https://app.terraform.io/api/v2/workspaces/ws-DiTzUDRpjrArAfSS/resources?page%5Bnumber%5D=1&page%5Bsize%5D=20" + }, + ... +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-variables.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-variables.mdx new file mode 100644 index 0000000000..d3a92c657e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspace-variables.mdx @@ -0,0 +1,298 @@ +--- +page_title: /workspaces/vars API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's workspace `/workspaces/vars` endpoint to + manage workspace-specific variables. Read, create, update, and delete + workspace variables. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +# Workspace variables API reference + +This set of APIs covers create, update, list and delete operations on workspace variables. + +Viewing variables requires permission to read variables for their workspace. Creating, updating, and deleting variables requires permission to read and write variables for their workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Create a Variable + +`POST /workspaces/:workspace_id/vars` + +| Parameter | Description | +| --------------- | -------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to create the variable in. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------------------- | ------ | ------- | --------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.attributes.key` | string | | The name of the variable. | +| `data.attributes.value` | string | `""` | The value of the variable. | +| `data.attributes.description` | string | | The description of the variable. | +| `data.attributes.category` | string | | Whether this is a Terraform or environment variable. Valid values are `"terraform"` or `"env"`. | +| `data.attributes.hcl` | bool | `false` | Whether to evaluate the value of the variable as a string of HCL code. Has no effect for environment variables. | +| `data.attributes.sensitive` | bool | `false` | Whether the value is sensitive. If true then the variable is written once and not visible thereafter. | + +**Deprecation warning**: The custom `filter` properties are replaced by JSON API `relationships` and will be removed from future versions of the API! + +| Key path | Type | Default | Description | +| -------------------------- | ------ | ------- | ----------------------------------------------------- | +| `filter.workspace.name` | string | | The name of the workspace that owns the variable. | +| `filter.organization.name` | string | | The name of the organization that owns the workspace. | + +### Sample Payload + +```json +{ + "data": { + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "description":"some description", + "category":"terraform", + "hcl":false, + "sensitive":false + } + } +} +``` + +### Sample Request + +```shell +curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-4j8p6jX1w33MiDC7/vars +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-EavQ1LztoRTQHSNT", + "type":"vars", + "attributes": { + "key":"some_key", + "value":"some_value", + "description":"some description", + "sensitive":false, + "category":"terraform", + "hcl":false, + "version-id":"1aa07d63ea8ff4df941c94ca9ddfd5d2bd04" + }, + "relationships": { + "configurable": { + "data": { + "id":"ws-4j8p6jX1w33MiDC7", + "type":"workspaces" + }, + "links": { + "related":"/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self":"/api/v2/workspaces/ws-4j8p6jX1w33MiDC7/vars/var-EavQ1LztoRTQHSNT" + } + } +} +``` + +## List Variables + +`GET /workspaces/:workspace_id/vars` + +| Parameter | Description | +| --------------- | ---------------------------------------------- | +| `:workspace_id` | The ID of the workspace to list variables for. | + +### Sample Request + +```shell +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ +"https://app.terraform.io/api/v2/workspaces/ws-cZE9LERN3rGPRAmH/vars" +``` + +### Sample Response + +```json +{ + "data": [ + { + "id":"var-AD4pibb9nxo1468E", + "type":"vars","attributes": { + "key":"name", + "value":"hello", + "description":"some description", + "sensitive":false, + "category":"terraform", + "hcl":false, + "version-id":"1aa07d63ea8ff4df941c94ca9ddfd5d2bd04" + }, + "relationships": { + "configurable": { + "data": { + "id":"ws-cZE9LERN3rGPRAmH", + "type":"workspaces" + }, + "links": { + "related":"/api/v2/organizations/my-organization/workspaces/my-workspace" + } + } + }, + "links": { + "self":"/api/v2/workspaces/ws-cZE9LERN3rGPRAmH/vars/var-AD4pibb9nxo1468E" + } + } + ] +} +``` + +## Update Variables + +`PATCH /workspaces/:workspace_id/vars/:variable_id` + +| Parameter | Description | +| --------------- | ----------------------------------------------- | +| `:workspace_id` | The ID of the workspace that owns the variable. | +| `:variable_id` | The ID of the variable to be updated. | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ----------------- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"vars"`. | +| `data.id` | string | | The ID of the variable to update. | +| `data.attributes` | object | | New attributes for the variable. This object can include `key`, `value`, `description`, `category`, `hcl`, and `sensitive` properties, which are described above under [create a variable](#create-a-variable). All of these properties are optional; if omitted, a property will be left unchanged. | + +### Sample Payload + +```json +{ + "data": { + "id":"var-yRmifb4PJj7cLkMG", + "attributes": { + "key":"name", + "value":"mars", + "description":"some description", + "category":"terraform", + "hcl": false, + "sensitive": false + }, + "type":"vars" + } +} +``` + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-4j8p6jX1w33MiDC7/vars/var-yRmifb4PJj7cLkMG +``` + +### Sample Response + +```json +{ + "data": { + "id":"var-yRmifb4PJj7cLkMG", + "type":"vars", + "attributes": { + "key":"name", + "value":"mars", + "description":"some description", + "sensitive":false, + "category":"terraform", + "hcl":false, + "version-id":"1aa07d63ea8ff4df941c94ca9ddfd5d2bd04" + }, + "relationships": { + "configurable": { + "data": { + "id":"ws-4j8p6jX1w33MiDC7", + "type":"workspaces" + }, + "links": { + "related":"/api/v2/organizations/workspace-v2-06/workspaces/workspace-v2-06" + } + } + }, + "links": { + "self":"/api/v2/workspaces/ws-4j8p6jX1w33MiDC7/vars/var-yRmifb4PJj7cLkMG" + } + } +} +``` + +## Delete Variables + +`DELETE /workspaces/:workspace_id/vars/:variable_id` + +| Parameter | Description | +| --------------- | ----------------------------------------------- | +| `:workspace_id` | The ID of the workspace that owns the variable. | +| `:variable_id` | The ID of the variable to be deleted. | + +### Sample Request + +```bash +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/workspaces/ws-4j8p6jX1w33MiDC7/vars/var-yRmifb4PJj7cLkMG +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspaces.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspaces.mdx new file mode 100644 index 0000000000..b29e7c83d8 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/api-docs/workspaces.mdx @@ -0,0 +1,1689 @@ +--- +page_title: /workspaces API reference for Terraform Enterprise +description: >- + Use the Terraform Enterprise API's `/workspaces` endpoint to read, create, + update, lock, unlock, and delete workspaces and manage SSH keys, tags, and + remote state consumers. +source: terraform-docs-common +--- + +[200]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200 + +[201]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201 + +[202]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 + +[204]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 + +[400]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 + +[401]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 + +[403]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403 + +[404]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 + +[409]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409 + +[412]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412 + +[422]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422 + +[429]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + +[500]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 + +[504]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504 + +[JSON API document]: /terraform/enterprise/api-docs#json-api-documents + +[JSON API error object]: https://jsonapi.org/format/#error-objects + +[speculative plans]: /terraform/enterprise/run/remote-operations#speculative-plans + +# Workspaces API reference + +This topic provides reference information about the workspaces AP. Workspaces represent running infrastructure managed by Terraform. + +## Overview + +The scope of the API includes the following endpoints: + +| Method | Path | Action | +| -------- | ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `POST` | `/organizations/:organization_name/workspaces` | Call this endpoint to [create a workspace](#create-a-workspace). You can apply tags stored as key-value pairs when creating the workspace. | +| `POST` | `/organizations/:organization_name/workspaces/:name/actions/safe-delete` | Call this endpoint to [safely delete a workspace](#safe-delete-a-workspace) by querying the organization and workspace names. | +| `POST` | `/workspaces/:workspace_id/actions/safe-delete` | Call this endpoint [safely delete a workspace](#safe-delete-a-workspace) by querying the workspace ID. | +| `POST` | `/workspaces/:workspace_id/actions/lock` | Call this endpoint to [lock a workspace](#lock-a-workspace). | +| `POST` | `/workspaces/:workspace_id/actions/unlock` | Call this endpoint to [unlock a workspace](#unlock-a-workspace). | +| `POST` | `/workspaces/:workspace_id/actions/force-unlock` | Call this endpoint to [force a workspace to unlock](#force-unlock-a-workspace). | +| `POST` | `/workspaces/:workspace_id/relationships/remote-state-consumers` | Call this endpoint to [add remote state consumers](#get-remote-state-consumers). | +| `POST` | `/workspaces/:workspace_id/relationships/tags` | Call this endpoint to [bind flat string tags to an existing workspace](#add-tags-to-a-workspace). | +| `POST` | `/workspaces/:workspace_id/relationships/data-retention-policy` | Call this endpoint to [show the workspace data retention policy](#show-data-retention-policy). | +| `GET` | `/organizations/:organization_name/workspaces` | Call this endpoint to [list existing workspaces](#list-workspaces). Each project in the response contains a link to `effective-tag-bindings` and `tag-bindings` collections. You can filter the response by tag keys and values using a query string parameter. | +| `GET` | `/organizations/:organization_name/workspaces/:name` | Call this endpoint to [show workspace details](#show-workspace) by querying the organization and workspace names. | +| `GET` | `/workspaces/:workspace_id` | Call this endpoint to [show workspace details](#show-workspace). | +| `GET` | `/workspaces/:workspace_id/relationships/remote-state-consumers` | Call this endpoint to [list remote state consumers](#get-remote-state-consumers). | +| `GET` | `/workspaces/:workspace_id/relationships/tags` | Call this endpoint to [list flat string workspace tags](#get-tags). | +| `GET` | `/workspaces/:workspace_id/tag-bindings` | Call this endpoint to [list workspace key-value tags](#get-tags) bound directly to this workspace. | +| `GET` | `/workspaces/:workspace_id/effective-tag-bindings` | Call this endpoint to [list all workspace key-value tags](#get-tags), including both those bound directly to the workspace as well as those inherited from the parent project. | +| `GET` | `/workspaces/:workspace_id/relationships/data-retention-policy` | Call this endpoint to [show the workspace data retention policy](#show-data-retention-policy). | +| `PATCH` | `/workspaces/:workspace_id/relationships/ssh-key` | Call this endpoint to manage SSH key assignments for workspaces. Refer to [Assign an SSH key to a workspace](#assign-an-ssh-key-to-a-workspace) and [Unassign an SSH key from a workspace](#unassign-an-ssh-key-from-a-workspace) for instructions. | +| `PATCH` | `/workspaces/:workspace_id` | Call this endpoint to [update a workspace](#update-a-workspace). You can apply tags stored as key-value pairs when updating the workspace. | +| `PATCH` | `/organizations/:organization_name/workspaces/:name` | Call this endpoint to [update a workspace](#update-a-workspace) by querying the organization and workspace names. | +| `PATCH` | `/workspaces/:workspace_id/relationships/remote-state-consumers` | Call this endpoint to [replace remote state consumers](#replace-remote-state-consumers). | +| `DELETE` | `/workspaces/:workspace_id/relationships/remote-state-consumers` | Call this endpoint to [delete remote state consumers](#delete-remote-state-consumers). | +| `DELETE` | `/workspaces/:workspace_id/relationships/tags` | Call this endpoint to [delete flat string workspace tags](#remove-tags-from-workspace) from the workspace. | +| `DELETE` | `/workspaces/:workspace_id/relationships/data-retention-policy` | Call this endpoint to [remove a workspace data retention policy](#remove-data-retention-policy). | +| `DELETE` | `/workspaces/:workspace_id` | Call this endpoint to [force delete a workspace](#force-delete-a-workspace), which deletes the workspace without first checking for managed resources. | +| `DELETE` | `/organizations/:organization_name/workspaces/:name` | Call this endpoint to [force delete a workspace](#force-delete-a-workspace), which deletes the workspace without first checking for managed resources, by querying the organization and workspace names. | + +## Requirements + +- You must be a member of a team with the **Read** permission enabled for Terraform runs to view workspaces. +- You must be a member of a team with the **Admin** permissions enabled on the workspace to change settings and force-unlock it. +- You must be a member of a team with the **Lock/unlock** permission enabled to lock and unlock the workspace. +- You must meet one of the following requirements to create a workspace: + - Be the team owner + - Be on a team with the **Manage all workspaces** permission enabled + - Present an [organization API token](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens) when calling the API. + +Refer to [Workspace Permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions) for additional information. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Create a Workspace + +Use the following endpoint to create a new workspace: + +`POST /organizations/:organization_name/workspaces` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:organization_name` | The name of the organization to create the workspace in. The organization must already exist in the system, and the user must have permissions to create new workspaces. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +By supplying the necessary attributes under a `vcs-repository` object, you can create a workspace that is configured against a VCS Repository. + +| Key path | Type | Default | Description | +| ------------------------------------------------------- | --------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | none | Must be `"workspaces"`. | +| `data.attributes.name` | string | none | The name of the workspace. Workspace names can only include letters, numbers, `-`, and `_`. The name a unique identifier n the organization. | +| `data.attributes.agent-pool-id` | string | none | Required when `execution-mode` is set to `agent`. The ID of the agent pool belonging to the workspace's organization. This value must not be specified if `execution-mode` is set to `remote` or `local` or if `operations` is set to `true`. | +| `data.attributes.allow-destroy-plan` | boolean | `true` | Whether destroy plans can be queued on the workspace. | +| `data.attributes.assessments-enabled` | boolean | `false` | (previously `drift-detection`) Whether or not HCP Terraform performs health assessments for the workspace. May be overridden by the organization setting `assessments-enforced`. Only available for Plus tier organizations, in workspaces running Terraform version 0.15.4+ and operating in [Remote execution mode](/terraform/enterprise/workspaces/settings#execution-mode). | +| `data.attributes.auto-apply` | boolean | `false` | Whether to automatically apply changes when a Terraform plan is successful in runs initiated by VCS, UI or CLI, [with some exceptions](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply). | +| `data.attributes.auto-apply-run-trigger` | boolean | `false` | Whether to automatically apply changes when a Terraform plan is successful in runs initiated by run triggers. | +| `data.attributes.auto-destroy-at` | string | (nothing) | Timestamp when the next scheduled destroy run will occur, refer to [Scheduled Destroy](/terraform/enterprise/workspaces/settings/deletion#automatically-destroy). | +| `data.attributes.auto-destroy-activity-duration` | string | (nothing) | Value and units for [automatically scheduled destroy runs based on workspace activity](/terraform/enterprise/workspaces/settings/deletion#automatically-destroy). Valid values are greater than 0 and four digits or less. Valid units are `d` and `h`. For example, to queue destroy runs after fourteen days of inactivity set `auto-destroy-activity-duration: "14d"`. | +| `data.attributes.description` | string | (nothing) | A description for the workspace. | +| `data.attributes.execution-mode` | string | (nothing) | Which [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) to use. Valid values are `remote`, `local`, and `agent`. When set to `local`, the workspace will be used for state storage only. This value _must not_ be specified if `operations` is specified, and _must_ be specified if `setting-overwrites.execution-mode` is set to `true`. | +| `data.attributes.file-triggers-enabled` | boolean | `true` | Whether to filter runs based on the changed files in a VCS push. If enabled, it uses either `trigger-prefixes` in conjunction with `working_directory` or `trigger-patterns` to describe the set of changed files that will start a run. If disabled, any push triggers a run. | +| `data.attributes.global-remote-state` | boolean | `false` | Whether the workspace should allow all workspaces in the organization to [access its state data](/terraform/enterprise/workspaces/state) during runs. If `false`, then only specifically approved workspaces can access its state. Manage allowed workspaces using the [Remote State Consumers](/terraform/enterprise/api-docs/workspaces#get-remote-state-consumers) endpoints, documented later on this page. Terraform Enterprise admins can choose the default value for new workspaces if this attribute is omitted. | +| `data.attributes.operations` | boolean | `true` | **DEPRECATED** Use `execution-mode` instead. Whether to use remote execution mode. When set to `false`, the workspace will be used for state storage only. This value must not be specified if `execution-mode` is specified. | +| `data.attributes.queue-all-runs` | boolean | `false` | Whether runs should be queued immediately after workspace creation. When set to false, runs triggered by a VCS change will not be queued until at least one run is manually queued. | +| `data.attributes.source-name` | string | none | A friendly name for the application or client creating this workspace. If set, this will be displayed on the workspace as "Created via ``". | +| `data.attributes.source-url` | string | none | A URL for the application or client creating this workspace. This can be the URL of a related resource in another app, or a link to documentation or other info about the client. | +| `data.attributes.speculative-enabled` | boolean | `true` | Whether this workspace allows automatic [speculative plans][]. Setting this to `false` prevents HCP Terraform from running plans on pull requests, which can improve security if the VCS repository is public or includes untrusted contributors. It doesn't prevent manual speculative plans via the CLI or the runs API. | +| `data.attributes.terraform-version` | string | latest release | Specifies the version of Terraform to use for this workspace. You can specify an exact version or a [version constraint](/terraform/language/expressions/version-constraints) such as `~> 1.0.0`. If you specify a constraint, the workspace always uses the newest release that meets that constraint. If omitted when creating a workspace, this defaults to the latest released version. | +| `data.attributes.trigger-patterns` | array | `[]` | List of glob patterns that describe the files HCP Terraform monitors for changes. Trigger patterns are always appended to the root directory of the repository. | +| `data.attributes.trigger-prefixes` | array | `[]` | List of trigger prefixes that describe the paths HCP Terraform monitors for changes, in addition to the working directory. Trigger prefixes are always appended to the root directory of the repository. HCP Terraform starts a run when files are changed in any directory path matching the provided set of prefixes. | +| `data.attributes.vcs-repo.branch` | string | repository's default branch | The repository branch that Terraform executes from. If omitted or submitted as an empty string, this defaults to the repository's default branch. | +| `data.attributes.vcs-repo.identifier` | string | none | A reference to your VCS repository in the format :org/:repo where :org and :repo refer to the organization and repository in your VCS provider. The format for Azure DevOps is `:org/:project/_git/:repo`. | +| `data.attributes.vcs-repo.ingress-submodules` | boolean | `false` | Whether submodules should be fetched when cloning the VCS repository. | +| `data.attributes.vcs-repo.oauth-token-id` | string | none | Specifies the VCS OAuth connection and token. Call the [`oauth-tokens`](/terraform/enterprise/api-docs/oauth-tokens) endpoint to retrieve the OAuth ID. | +| `data.attributes.vcs-repo.tags-regex` | string | none | A regular expression used to match Git tags. HCP Terraform triggers a run when this value is present and a VCS event occurs that contains a matching Git tag for the regular expression. | +| `data.attributes.vcs-repo` | object | none | Settings for the workspace's VCS repository. If omitted, the workspace is created without a VCS repo. If included, you must specify at least the `oauth-token-id` and `identifier` keys. | +| `data.attributes.working-directory` | string | (nothing) | A relative path that Terraform will execute within. This defaults to the root of your repository and is typically set to a subdirectory matching the environment when multiple environments exist within the same repository. | +| `data.attributes.setting-overwrites` | object | none | The keys in this object are attributes that have organization-level defaults. Each attribute key stores a boolean value which is `true` by default. To overwrite the default inherited value, set an attribute's value to `false`. For example, to set `execution-mode` as the organization default, set `setting-overwrites.execution-mode` to `false`. | +| `data.relationships` | object | none | Specifies a group of workspace associations. | +| `data.relationships.project.data.id` | string | default project | The ID of the project to create the workspace in. If left blank, Terraform creates the workspace in the organization's default project. You must have permission to create workspaces in the project, either by organization-level permissions or team admin access to a specific project. | +| `data.relationships.tag-bindings.data` | list of objects | none | Specifies a list of tags to attach to the workspace. | +| `data.relationships.tag-bindings.data.type` | string | none | Must be `tag-bindings` for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.key` | string | none | Specifies the tag key for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.value` | string | none | Specifies the tag value for each object in the list. | + +### Sample Payload + +_Without a VCS repository_ + +```json +{ + "data": { + "attributes": { + "name": "workspace-1" + }, + "type": "workspaces" + } +} +``` + +_With Key/Value Tags_ + +```json +{ + "data": { + "attributes": { + "name": "workspace-1" + }, + "type": "workspaces", + "relationships": { + "tag-bindings": { + { + "data": [{ + "type": "tag-bindings", + "attributes": { "key": "env", "value": "test"} + }] + } + } + } + } +} +``` + +_With a VCS repository_ + +```json +{ + "data": { + "attributes": { + "name": "workspace-2", + "terraform_version": "0.11.1", + "working-directory": "", + "vcs-repo": { + "identifier": "example/terraform-test-proj", + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ", + "branch": "", + "tags-regex": null + } + }, + "type": "workspaces" + } +} +``` + +_Using Git Tags_ + +HCP Terraform triggers a run when you push a Git tag that matches the regular expression (SemVer): `1.2.3`, `22.33.44`, etc. + +```json +{ + "data": { + "attributes": { + "name": "workspace-3", + "terraform_version": "0.12.1", + "file-triggers-enabled": false, + "working-directory": "/networking", + "vcs-repo": { + "identifier": "example/terraform-test-proj-monorepo", + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ", + "branch": "", + "tags-regex": "\d+.\d+.\d+" + } + }, + "type": "workspaces" + } +} +``` + +_For a monorepo using trigger prefixes_ + +A run will be triggered in this workspace when changes are detected in any of the specified directories: `/networking`, `/modules`, or `/vendor`. + +```json +{ + "data": { + "attributes": { + "name": "workspace-3", + "terraform_version": "0.12.1", + "file-triggers-enabled": true, + "trigger-prefixes": ["/modules", "/vendor"], + "working-directory": "/networking", + "vcs-repo": { + "identifier": "example/terraform-test-proj-monorepo", + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ", + "branch": "" + }, + "updated-at": "2017-11-29T19:18:09.976Z" + }, + "type": "workspaces" + } +} +``` + +_For a monorepo using trigger patterns_ + +A run will be triggered in this workspace when HCP Terraform detects any of the following changes: + +- A file with the extension `tf` in any directory structure in which the last folder is named `networking` (e.g., `root/networking` and `root/module/networking`) +- Any file changed in the folder `/base`, no subfolders are included +- Any file changed in the folder `/submodule` and all of its subfolders + +```json +{ + "data": { + "attributes": { + "name": "workspace-4", + "terraform_version": "1.2.2", + "file-triggers-enabled": true, + "trigger-patterns": ["/**/networking/*.tf", "/base/*", "/submodule/**/*"], + "vcs-repo": { + "identifier": "example/terraform-test-proj-monorepo", + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ", + "branch": "" + }, + "updated-at": "2022-06-09T19:18:09.976Z" + }, + "type": "workspaces" + } +} +``` + +_Using HCP Terraform agents_ + +[HCP Terraform agents](/terraform/enterprise/api-docs/agents) allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure. + +```json +{ + "data": { + "attributes": { + "name":"workspace-1", + "execution-mode": "agent", + "agent-pool-id": "apool-ZjT6A7mVFm5WHT5a" + } + }, + "type": "workspaces" +} +``` + +_Using an organization default execution mode_ + +```json +{ + "data": { + "attributes": { + "name":"workspace-with-default", + "setting-overwrites": { + "execution-mode": false + } + } + }, + "type": "workspaces" +} + +``` + +_With a project_ + +```json +{ + "data": { + "type": "workspaces", + "attributes": { + "name": "workspace-in-project" + }, + "relationships": { + "project": { + "data": { + "type": "projects", + "id": "prj-jT92VLSFpv8FwKtc" + } + } + } + } +} +``` + +_With key-value tags_ + +```json +{ + "data": { + "type": "workspaces", + "attributes": { + "name": "workspace-in-project" + } + } +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/workspaces +``` + +### Sample Response + +_Without a VCS repository_ + +**Note:** The `assessments-enabled` property is only accepted by or returned from HCP Terraform. + +@include 'api-code-blocks/workspace.mdx' + +_With a VCS repository_ + +@include 'api-code-blocks/workspace-with-vcs.mdx' + +_With a project_ + +```json +{ + "data": { + "id": "ws-HRkJLSYWF97jucqQ", + "type": "workspaces", + "attributes": { + "allow-destroy-plan": true, + "auto-apply": false, + "auto-apply-run-trigger": false, + "auto-destroy-at": null, + "auto-destroy-activity-duration": null, + "created-at": "2022-12-05T20:57:13.829Z", + "environment": "default", + "locked": false, + "locked-reason": "", + "name": "workspace-in-project", + "queue-all-runs": false, + "speculative-enabled": true, + "structured-run-output-enabled": true, + "terraform-version": "1.3.5", + "working-directory": null, + "global-remote-state": true, + "updated-at": "2022-12-05T20:57:13.829Z", + "resource-count": 0, + "apply-duration-average": null, + "plan-duration-average": null, + "policy-check-failures": null, + "run-failures": null, + "workspace-kpis-runs-count": null, + "latest-change-at": "2022-12-05T20:57:13.829Z", + "operations": true, + "execution-mode": "remote", + "vcs-repo": null, + "vcs-repo-identifier": null, + "permissions": { + "can-update": true, + "can-destroy": true, + "can-queue-run": true, + "can-read-variable": true, + "can-update-variable": true, + "can-read-state-versions": true, + "can-read-state-outputs": true, + "can-create-state-versions": true, + "can-queue-apply": true, + "can-lock": true, + "can-unlock": true, + "can-force-unlock": true, + "can-read-settings": true, + "can-manage-tags": true, + "can-manage-run-tasks": false, + "can-force-delete": true, + "can-manage-assessments": true, + "can-read-assessment-results": true, + "can-queue-destroy": true + }, + "actions": { + "is-destroyable": true + }, + "description": null, + "file-triggers-enabled": true, + "trigger-prefixes": [], + "trigger-patterns": [], + "assessments-enabled": false, + "last-assessment-result-at": null, + "source": "tfe-api", + "source-name": null, + "source-url": null, + "tag-names": [], + "setting-overwrites": { + "execution-mode": false, + "agent-pool": false + } + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + }, + "current-run": { + "data": null + }, + "effective-tag-bindings": { + "links": { + "related": "/api/v2/workspaces/ws-HRkJLSYWF97jucqQ/effective-tag-bindings" + } + }, + "latest-run": { + "data": null + }, + "outputs": { + "data": [] + }, + "remote-state-consumers": { + "links": { + "related": "/api/v2/workspaces/ws-HRkJLSYWF97jucqQ/relationships/remote-state-consumers" + } + }, + "current-state-version": { + "data": null + }, + "current-configuration-version": { + "data": null + }, + "agent-pool": { + "data": null + }, + "readme": { + "data": null + }, + "project": { + "data": { + "id": "prj-jT92VLSFpv8FwKtc", + "type": "projects" + } + }, + "current-assessment-result": { + "data": null + }, + "tag-bindings": { + "links": { + "related": "/api/v2/workspaces/ws-HRkJLSYWF97jucqQ/tag-bindings" + } + }, + "vars": { + "data": [] + }, + }, + "links": { + "self": "/api/v2/organizations/my-organization/workspaces/workspace-in-project" + } + } +} +``` + +## Update a Workspace + +Use one of the following endpoint to update a workspace: + +- `PATCH /organizations/:organization_name/workspaces/:name` +- `PATCH /workspaces/:workspace_id` + +| Parameter | Description | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to update | +| `:organization_name` | The name of the organization the workspace belongs to. | +| `:name` | The name of the workspace to update. Workspace names are unique identifiers in the organization and can only include letters, numbers, `-`, and `_`. | + +### Request Body + +These PATCH endpoints require a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------------------------------------------------- | --------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"workspaces"`. | +| `data.attributes.name` | string | (previous value) | A new name for the workspace, which can only include letters, numbers, `-`, and `_`. This will be used as an identifier and must be unique in the organization. **Warning:** Changing a workspace's name changes its URL in the API and UI. | +| `data.attributes.agent-pool-id` | string | (previous value) | Required when `execution-mode` is set to `agent`. The ID of the agent pool belonging to the workspace's organization. This value must not be specified if `execution-mode` is set to `remote` or `local` or if `operations` is set to `true`. | +| `data.attributes.allow-destroy-plan` | boolean | (previous value) | Whether destroy plans can be queued on the workspace. | +| `data.attributes.assessments-enabled` | boolean | `false` | (previously `drift-detection`) Whether or not HCP Terraform performs health assessments for the workspace. May be overridden by the organization setting `assessments-enforced`. Only available for Plus tier organizations, in workspaces running Terraform version 0.15.4+ and operating in [Remote execution mode](/terraform/enterprise/workspaces/settings#execution-mode). | +| `data.attributes.auto-apply` | boolean | (previous value) | Whether to automatically apply changes when a Terraform plan is successful in runs initiated by VCS, UI or CLI, [with some exceptions](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply). | +| `data.attributes.auto-apply-run-trigger` | boolean | (previous value) | Whether to automatically apply changes when a Terraform plan is successful in runs initiated by run triggers. | +| `data.attributes.auto-destroy-at` | string | (previous value) | Timestamp when the next scheduled destroy run will occur, refer to [Scheduled Destroy](/terraform/enterprise/workspaces/settings/deletion#automatically-destroy). | +| `data.attributes.auto-destroy-activity-duration` | string | (previous value) | Value and units for [automatically scheduled destroy runs based on workspace activity](/terraform/enterprise/workspaces/settings/deletion#automatically-destroy). Valid values are greater than 0 and four digits or less. Valid units are `d` and `h`. For example, to queue destroy runs after fourteen days of inactivity set `auto-destroy-activity-duration: "14d"`. | +| `data.attributes.description` | string | (previous value) | A description for the workspace. | +| `data.attributes.execution-mode` | string | (previous value) | Which [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) to use. Valid values are `remote`, `local`, and `agent`. When set to `local`, the workspace will be used for state storage only. This value _must not_ be specified if `operations` is specified, and _must_ be specified if `setting-overwrites.execution-mode` is set to `true`. | +| `data.attributes.file-triggers-enabled` | boolean | (previous value) | Whether to filter runs based on the changed files in a VCS push. If enabled, it uses either `trigger-prefixes` in conjunction with `working_directory` or `trigger-patterns` to describe the set of changed files that will start a run. If disabled, any push will trigger a run. | +| `data.attributes.global-remote-state` | boolean | (previous value) | Whether the workspace should allow all workspaces in the organization to [access its state data](/terraform/enterprise/workspaces/state) during runs. If `false`, then only specifically approved workspaces can access its state. Manage allowed workspaces using the [Remote State Consumers](/terraform/enterprise/api-docs/workspaces#get-remote-state-consumers) endpoints, documented later on this page. | +| `data.attributes.operations` | boolean | (previous value) | **DEPRECATED** Use `execution-mode` instead. Whether to use remote execution mode. When set to `false`, the workspace will be used for state storage only. This value must not be specified if `execution-mode` is specified. | +| `data.attributes.queue-all-runs` | boolean | (previous value) | Whether runs should be queued immediately after workspace creation. When set to false, runs triggered by a VCS change will not be queued until at least one run is manually queued. | +| `data.attributes.speculative-enabled` | boolean | (previous value) | Whether this workspace allows automatic [speculative plans][]. Setting this to `false` prevents HCP Terraform from running plans on pull requests, which can improve security if the VCS repository is public or includes untrusted contributors. It doesn't prevent manual speculative plans via the CLI or the runs API. | +| `data.attributes.terraform-version` | string | (previous value) | The version of Terraform to use for this workspace. This can be either an exact version or a [version constraint](/terraform/language/expressions/version-constraints) (like `~> 1.0.0`); if you specify a constraint, the workspace will always use the newest release that meets that constraint. | +| `data.attributes.trigger-patterns` | array | (previous value) | List of glob patterns that describe the files HCP Terraform monitors for changes. Trigger patterns are always appended to the root directory of the repository. | +| `data.attributes.trigger-prefixes` | array | (previous value) | List of trigger prefixes that describe the paths HCP Terraform monitors for changes, in addition to the working directory. Trigger prefixes are always appended to the root directory of the repository. HCP Terraform will start a run when files are changed in any directory path matching the provided set of prefixes. | +| `data.attributes.vcs-repo.branch` | string | (previous value) | The repository branch that Terraform will execute from. | +| `data.attributes.vcs-repo.identifier` | string | (previous value) | A reference to your VCS repository in the format :org/:repo where :org and :repo refer to the organization and repository in your VCS provider. The format for Azure DevOps is `:org/:project/_git/:repo`. | +| `data.attributes.vcs-repo.ingress-submodules` | boolean | (previous value) | Whether submodules should be fetched when cloning the VCS repository. | +| `data.attributes.vcs-repo.oauth-token-id` | string | | The VCS Connection (OAuth Connection + Token) to use as identified. Get this ID from the [oauth-tokens](/terraform/enterprise/api-docs/oauth-tokens) endpoint. You can not specify this value if `github-app-installation-id` is specified. | +| `data.attributes.vcs-repo.github-app-installation-id` | string | | The VCS Connection GitHub App Installation to use. Find this ID on the account settings page. Requires previously authorizing the GitHub App and generating a user-to-server token. Manage the token from **Account Settings** within HCP Terraform. You can not specify this value if `oauth-token-id` is specified. | +| `data.attributes.vcs-repo.tags-regex` | string | (previous value) | A regular expression used to match Git tags. HCP Terraform triggers a run when this value is present and a VCS event occurs that contains a matching Git tag for the regular expression. | +| `data.attributes.vcs-repo` | object or null | (previous value) | To delete a workspace's existing VCS repo, specify `null` instead of an object. To modify a workspace's existing VCS repo, include whichever of the keys below you wish to modify. To add a new VCS repo to a workspace that didn't previously have one, include at least the `oauth-token-id` and `identifier` keys. | +| `data.attributes.working-directory` | string | (previous value) | A relative path that Terraform will execute within. This defaults to the root of your repository and is typically set to a subdirectory matching the environment when multiple environments exist within the same repository. | +| `data.attributes.setting-overwrites` | object | | The keys in this object are attributes that have organization-level defaults. Each attribute key stores a boolean value which is `true` by default. To overwrite the default inherited value, set an attribute's value to `false`. For example, to set `execution-mode` as the organization default, you set `setting-overwrites.execution-mode = false`. | +| `data.relationships` | object | none | Specifies a group of workspace relationships. | +| `data.relationships.project.data.id` | string | existing value | The ID of the project to move the workspace to. If left blank or unchanged, the workspace will not be moved. You must have admin permissions on both the source project and destination project in order to move a workspace between projects. | +| `data.relationships.tag-bindings.data` | list of objects | none | Specifies a list of tags to attach to the workspace. | +| `data.relationships.tag-bindings.data.type` | string | none | Must be `tag-bindings` for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.key` | string | none | Specifies the tag key for each object in the list. | +| `data.relationships.tag-bindings.data.attributes.value` | string | none | Specifies the tag value for each object in the list. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "name": "workspace-2", + "resource-count": 0, + "terraform_version": "0.11.1", + "working-directory": "", + "vcs-repo": { + "identifier": "example/terraform-test-proj", + "branch": "", + "ingress-submodules": false, + "oauth-token-id": "ot-hmAyP66qk2AMVdbJ" + }, + "updated-at": "2017-11-29T19:18:09.976Z" + }, + "relationships": { + "project": { + "data": { + "type": "projects", + "id": "prj-7HWWPGY3fYxztELU" + } + }, + "tag-bindings": { + "data": [ + { + "type": "tag-bindings", + "attributes": { + "key": "environment", + "value": "development" + } + }, + ] + } + }, + "type": "workspaces" + } +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/organizations/my-organization/workspaces/workspace-2 +``` + +### Sample Response + +@include 'api-code-blocks/workspace-with-vcs.mdx' + +## List workspaces + +This endpoint lists workspaces in the organization. + +`GET /organizations/:organization_name/workspaces` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------- | +| `:organization_name` | The name of the organization to list the workspaces of. | + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 workspaces per page. | +| `search[name]` | **Optional.** If specified, restricts results to workspaces with a name that matches the search string using a fuzzy search. | +| `search[tags]` | **Optional.** If specified, restricts results to workspaces with that tag. If multiple comma separated values are specified, results matching all of the tags are returned. | +| `search[exclude-tags]` | **Optional.** If specified, results exclude workspaces with that tag. If multiple comma separated values are specified, workspaces with tags matching any of the tags are excluded. | +| `search[wildcard-name]` | **Optional.** If specified, restricts results to workspaces with partial matching, using `*` on prefix, suffix, or both. For example, `search[wildcard-name]=*-prod` returns all workspaces ending in `-prod`, `search[wildcard-name]=prod-*` returns all workspaces beginning with `prod-`, and `search[wildcard-name]=*-prod-*` returns all workspaces with substring `-prod-` regardless of prefix and/or suffix. | +| `sort` | **Optional.** Allows sorting the organization's workspaces by a provided value. You can sort by `"name"`, `"current-run.created-at"` (the time of the current run), and `"latest-change-at"` (the creation time of the latest state version or the workspace itself if no state version exists). Prepending a hyphen to the sort parameter reverses the order. For example, `"-name"` sorts by name in reverse alphabetical order. If omitted, the default sort order is arbitrary but stable. | +| `filter[project][id]` | **Optional.** If specified, restricts results to workspaces in the specific project. | +| `filter[current-run][status]` | **Optional.** If specified, restricts results to workspaces that match the status of a current run. | +| `filter[tagged][i][key]` | **Optional.** If specified, restricts results to workspaces that are tagged with the provided key. Use a value of "0" for `i` if you are only using a single filter. For multiple tag filters, use an incrementing integer value for each filter. Multiple tag filters will be combined together with a logical AND when filtering results. | +| `filter[tagged][i][value]` | **Optional.** If specified, restricts results to workspaces that are tagged with the provided value. This is useful when combined with a `key` filter for more specificity. Use a value of "0" for `i` if you are only using a single filter. For multiple tag filters, use an incrementing integer value for each filter. Multiple tag filters will be combined together with a logical AND when filtering results. | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/workspaces +``` + +_With multiple tag filters_ + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/workspaces?filter%5B%tagged5D%5B0%5D%5Bkey%5D=environment&filter%5B%tagged5D%5B0%5D%5Bvalue%5D=development&filter%5B%tagged5D%5B1%5D%5Bkey%5D=meets-compliance +``` + +### Sample Response + +@include 'api-code-blocks/workspaces-list.mdx' + +## Show workspace + +Details on a workspace can be retrieved from two endpoints, which behave identically. + +One refers to a workspace by its ID: + +`GET /workspaces/:workspace_id` + +| Parameter | Description | +| --------------- | ---------------- | +| `:workspace_id` | The workspace ID | + +The other refers to a workspace by its name and organization: + +`GET /organizations/:organization_name/workspaces/:name` + +| Parameter | Description | +| -------------------- | ----------------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the workspace belongs to. | +| `:name` | The name of the workspace to show details for, which can only include letters, numbers, `-`, and `_`. | + +### Workspace performance attributes + +The following attributes are helpful in determining the overall health and performance of your workspace configuration. These metrics refer to the **past 30 runs that have either resulted in an error or successfully applied**. + +| Parameter | Type | Description | +| ------------------------------------------ | ------ | --------------------------------------------------------------------------------------- | +| `data.attributes.apply-duration-average` | number | This is the average time runs spend in the **apply** phase, represented in milliseconds | +| `data.attributes.plan-duration-average` | number | This is the average time runs spend in the **plan** phase, represented in milliseconds | +| `data.attributes.policy-check-failures` | number | Reports the number of run failures resulting from a policy check failure | +| `data.attributes.run-failures` | number | Reports the number of failed runs | +| `data.attributes.workspace-kpis-run-count` | number | Total number of runs taken into account by these metrics | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/my-organization/workspaces/workspace-1 +``` + +### Sample Response + +@include 'api-code-blocks/workspace.mdx' + +## Safe Delete a workspace + +When you delete an HCP Terraform workspace with resources, Terraform can no longer track or manage that infrastructure. During a safe delete, HCP Terraform only deletes the workspace if it is not managing resources. + +You can safe delete a workspace using two endpoints that behave identically. The first endpoint identifies a workspace with the workspace ID, and the other identifies the workspace by its name and organization. + +`POST /workspaces/:workspace_id/actions/safe-delete` + +| Parameter | Description | +| --------------- | ---------------------------------- | +| `:workspace_id` | The ID of the workspace to delete. | + +`POST /organizations/:organization_name/workspaces/:name/actions/safe-delete` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the workspace's organization. | +| `:name` | The name of the workspace to delete, which can only include letters, numbers, `-`, and `_`. | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | No Content | Successfully deleted the workspace | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform workspace delete | +| [409][] | [JSON API error object][] | Workspace is not safe to delete because it is managing resources | + +## Force Delete a workspace + +During a force delete, HCP Terraform removes the specified workspace without checking whether it is managing resources. We recommend using the [safe delete endpoint](#safe-delete-a-workspace) instead, when possible. + +!> **Warning:** Terraform cannot track or manage the workspace's infrastructure after deletion. We recommend [destroying the workspace's infrastructure](/terraform/enterprise/run/modes-and-options#destroy-mode) before you delete it. + +By default, only organization owners can force delete workspaces. Organization owners can also update [organization's settings]\(/terraform/cloud-docs/users-teams organizations/organizations#general) to let workspace admins force delete their own workspaces. + +You can use two endpoints to force delete a workspace, which behave identically. One endpoint identifies the workspace with its workspace ID and the other endpoint identifies the workspace with its name and organization. + +`DELETE /workspaces/:workspace_id` + +| Parameter | Description | +| --------------- | --------------------------------- | +| `:workspace_id` | The ID of the workspace to delete | + +`DELETE /organizations/:organization_name/workspaces/:name` + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------------------------------------- | +| `:organization_name` | The name of the organization the workspace belongs to. | +| `:name` | The name of the workspace to delete, which can only include letters, numbers, `-`, and `_`. | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | No Content | Successfully deleted the workspace | +| [403][] | [JSON API error object][] | Not authorized to perform a force delete on the workspace | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform workspace delete | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + https://app.terraform.io/api/v2/organizations/my-organization/workspaces/workspace-1 +``` + +## Lock a workspace + +This endpoint locks a workspace. + +`POST /workspaces/:workspace_id/actions/lock` + +| Parameter | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to lock. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +| Status | Response | Reason(s) | +| ------- | -------------------------------------------- | ----------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "workspaces"`) | Successfully locked the workspace | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | +| [409][] | [JSON API error object][] | Workspace already locked | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------- | ------ | ------- | ------------------------------------- | +| `reason` | string | `""` | The reason for locking the workspace. | + +### Sample Payload + +```json +{ + "reason": "Locking workspace-1" +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-SihZTyXKfNXUWuUa/actions/lock +``` + +### Sample Response + +@include 'api-code-blocks/workspace.mdx' + +## Unlock a workspace + +This endpoint unlocks a workspace. Unlocking a workspace sets the current state version to the latest finalized intermediate state version. If intermediate state versions are available, but HCP Terraform has not yet finalized the latest intermediate state version, the unlock will fail with a 503 response. For this particular error, it's recommended to retry the unlock operation for a short period of time until the platform finalizes the state version. If you must force-unlock a workspace under these conditions, ensure that state was saved successfully by inspecting the latest state version using the [State Version List API](/terraform/enterprise/api-docs/state-versions#list-state-versions-for-a-workspace) + +`POST /workspaces/:workspace_id/actions/unlock` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to unlock. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +| Status | Response | Reason(s) | +| ------- | -------------------------------------------- | ----------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "workspaces"`) | Successfully unlocked the workspace | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | +| [409][] | [JSON API error object][] | Workspace already unlocked, or locked by a different user | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/workspaces/ws-SihZTyXKfNXUWuUa/actions/unlock +``` + +### Sample Response + +@include 'api-code-blocks/workspace.mdx' + +## Force Unlock a workspace + +This endpoint force unlocks a workspace. Only users with admin access are authorized to force unlock a workspace. + +`POST /workspaces/:workspace_id/actions/force-unlock` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to force unlock. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +| Status | Response | Reason(s) | +| ------- | -------------------------------------------- | ----------------------------------------------------------- | +| [200][] | [JSON API document][] (`type: "workspaces"`) | Successfully force unlocked the workspace | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | +| [409][] | [JSON API error object][] | Workspace already unlocked | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + https://app.terraform.io/api/v2/workspaces/ws-SihZTyXKfNXUWuUa/actions/force-unlock +``` + +### Sample Response + +@include 'api-code-blocks/workspace-with-vcs.mdx' + +## Assign an SSH key to a workspace + +This endpoint assigns an SSH key to a workspace. + +`PATCH /workspaces/:workspace_id/relationships/ssh-key` + +| Parameter | Description | +| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to assign the SSH key to. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------------ | +| `data.type` | string | | Must be `"workspaces"`. | +| `data.attributes.id` | string | | The SSH key ID to assign. Obtain this from the [ssh-keys](/terraform/enterprise/api-docs/ssh-keys) endpoint. | + +#### Sample Payload + +```json +{ + "data": { + "attributes": { + "id": "sshkey-GxrePWre1Ezug7aM" + }, + "type": "workspaces" + } +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-SihZTyXKfNXUWuUa/relationships/ssh-key +``` + +### Sample Response + +@include 'api-code-blocks/workspace-with-vcs.mdx' + +## Unassign an SSH key from a workspace + +This endpoint unassigns the currently assigned SSH key from a workspace. + +`PATCH /workspaces/:workspace_id/relationships/ssh-key` + +| Parameter | Description | +| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to assign the SSH key to. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| -------------------- | ------ | ------- | ----------------------- | +| `data.type` | string | | Must be `"workspaces"`. | +| `data.attributes.id` | string | | Must be `null`. | + +### Sample Payload + +```json +{ + "data": { + "attributes": { + "id": null + }, + "type": "workspaces" + } +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-SihZTyXKfNXUWuUa/relationships/ssh-key +``` + +### Sample Response + +@include 'api-code-blocks/workspace-with-vcs.mdx' + +## Get Remote State Consumers + +`GET /workspaces/:workspace_id/relationships/remote-state-consumers` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to get remote state consumers for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +This endpoint retrieves the list of other workspaces that are allowed to access the given workspace's state during runs. + +- If `global-remote-state` is set to false for the workspace, this will return the list of other workspaces that are specifically authorized to access the workspace's state. +- If `global-remote-state` is set to true, this will return a list of every workspace in the organization except for the subject workspace. + +The list returned by this endpoint is subject to the caller's normal workspace permissions; it will not include workspaces that the provided API token is unable to read. + +### Query Parameters + +This endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. + +| Parameter | Description | +| -------------- | -------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 workspaces per page. | + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-SihZTyXKfNXUWuUa/relationships/remote-state-consumers +``` + +### Sample Response + +@include 'api-code-blocks/workspaces-list.mdx' + +## Replace Remote State Consumers + +`PATCH /workspaces/:workspace_id/relationships/remote-state-consumers` + +| Parameter | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to replace remote state consumers for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +This endpoint updates the workspace's remote state consumers to be _exactly_ the list of workspaces specified in the payload. It can only be used for workspaces where `global-remote-state` is false. + +This endpoint can only be used by teams with permission to manage workspaces for the entire organization — only those who can _view_ the entire list of consumers can _replace_ the entire list. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) Teams with admin permissions on specific workspaces can still modify remote state consumers for those workspaces, but must use the add (POST) and remove (DELETE) endpoints listed below instead of this PATCH endpoint. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | No Content | Successfully updated remote state consumers | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ----------------------------------------------------------- | +| `data[].type` | string | | Must be `"workspaces"`. | +| `data[].id` | string | | The ID of a workspace to be set as a remote state consumer. | + +### Sample Payload + +```json +{ + "data": [ + { + "id": "ws-7aiqKYf6ejMFdtWS", + "type": "workspaces" + } + ] +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-UYv6RYM8fVhzeGG5/relationships/remote-state-consumers +``` + +### Response + +No response body. + +Status code `204`. + +## Add Remote State Consumers + +`POST /workspaces/:workspace_id/relationships/remote-state-consumers` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to add remote state consumers for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +This endpoint adds one or more remote state consumers to the workspace. It can only be used for workspaces where `global-remote-state` is false. + +- The workspaces specified as consumers must be readable to the API token that makes the request. +- A workspace cannot be added as a consumer of itself. (A workspace can always read its own state, regardless of access settings.) +- You can safely add a consumer workspace that is already present; it will be ignored, and the rest of the consumers in the request will be processed normally. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | No Content | Successfully updated remote state consumers | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ----------------------------------------------------------- | +| `data[].type` | string | | Must be `"workspaces"`. | +| `data[].id` | string | | The ID of a workspace to be set as a remote state consumer. | + +### Sample Payload + +```json +{ + "data": [ + { + "id": "ws-7aiqKYf6ejMFdtWS", + "type": "workspaces" + } + ] +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-UYv6RYM8fVhzeGG5/relationships/remote-state-consumers +``` + +### Response + +No response body. + +Status code `204`. + +## Delete Remote State Consumers + +`DELETE /workspaces/:workspace_id/relationships/remote-state-consumers` + +| Parameter | Description | +| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to remove remote state consumers for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +This endpoint removes one or more remote state consumers from a workspace, according to the contents of the payload. It can only be used for workspaces where `global-remote-state` is false. + +- The workspaces specified as consumers must be readable to the API token that makes the request. +- You can safely remove a consumer workspace that is already absent; it will be ignored, and the rest of the consumers in the request will be processed normally. + +| Status | Response | Reason(s) | +| ------- | ------------------------- | --------------------------------------------------------------------- | +| [204][] | No Content | Successfully updated remote state consumers | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | +| [422][] | [JSON API error object][] | Problem with payload or request; details provided in the error object | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +Properties without a default value are required. + +| Key path | Type | Default | Description | +| ------------- | ------ | ------- | ---------------------------------------------------------------- | +| `data[].type` | string | | Must be `"workspaces"`. | +| `data[].id` | string | | The ID of a workspace to remove from the remote state consumers. | + +### Sample Payload + +```json +{ + "data": [ + { + "id": "ws-7aiqKYf6ejMFdtWS", + "type": "workspaces" + } + ] +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-UYv6RYM8fVhzeGG5/relationships/remote-state-consumers +``` + +### Response + +No response body. + +Status code `204`. + +## List workspace tags + +Workspace tags are [organization tags](/terraform/enterprise/api-docs/organization-tags) added to a workspace. They are a flat list of keys that can only be applied to workspaces when using the `tags` attribute in the Terraform `cloud` block in Terraform v1.9 and older. To list key-value tags supported in Terraform v1.10 and newer, refer to [List workspace tag bindings](#list-workspace-tag-bindings). + +`GET /workspaces/:workspace_id/relationships/tags`: Paginated list of flat string tags attached to the workspace. + +### Path parameters + +| Parameter | Description | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to fetch tags for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +### Query Parameters + +Only the flat string tags endpoint supports pagination [with standard URL query parameters](/terraform/enterprise/api-docs#query-parameters). Remember to percent-encode `[` as `%5B` and `]` as `%5D` if your tooling doesn't automatically encode URLs. Conversely, all tags are returned when using fetching tag-bindings or effective-tag-bindings endpoints. + +| Parameter | Description | +| -------------- | -------------------------------------------------------------------------- | +| `page[number]` | **Optional.** If omitted, the endpoint will return the first page. | +| `page[size]` | **Optional.** If omitted, the endpoint will return 20 workspaces per page. | + +### Sample Requests + + + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-db61c9eb5cab5ae2/relationships/tags +``` + + + +### Sample Responses + + + +```json +{ + "data": [ + { + "id": "tag-1", + "type": "tags", + "attributes": { + "name": "tag1", + "created-at": "2022-03-09T06:04:39.585Z", + "instance-count": 1 + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + }, + { + "id": "tag-2", + "type": "tags", + "attributes": { + "name": "tag2", + "created-at": "2022-03-09T06:04:39.585Z", + "instance-count": 2 + }, + "relationships": { + "organization": { + "data": { + "id": "my-organization", + "type": "organizations" + } + } + } + } + ] +} +``` + + + +## List workspace tag bindings + +Call the following endpoints to list the tags attached to a workspace: + +- `GET /workspaces/:workspace_id/tag-bindings`: Lists key-value tags directly bound to the workspace. +- `GET /workspaces/:workspace_id/effective-tag-bindings`: Lists all key-value tags bound to the workspace, including those inherited from the parent project. + +### Path parameters + +| Parameter | Description | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to fetch tags for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +### Sample Requests + + + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-db61c9eb5cab5ae2/tag-bindings +``` + + + + + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/workspaces/ws-db61c9eb5cab5ae2/effective-tag-bindings +``` + + + +### Sample Responses + + + +```json +{ + "data": [ + { + "id": "tb-232e23631380f79e", + "type": "tag-bindings", + "attributes": { + "key": "costcenter", + "value": "123", + "created-at": "2024-11-19T23:59:24.648Z" + } + } + ], + "links": { + "target": "/api/v2/workspaces/ws-db61c9eb5cab5ae2" + } +} +``` + + +
+ + +```json +{ + "data": [ + { + "id": "07cc44202a430fc2", + "type": "effective-tag-bindings", + "attributes": { + "key": "costcenter", + "value": "123" + } + }, + { + "id": "f8b11951f98e11f8", + "type": "effective-tag-bindings", + "attributes": { + "key": "dept", + "value": "r+d" + }, + "relationships": { + "inherited-from": { + "links": { + "related": "/api/v2/projects/prj-af7d174fa1ea7423" + } + } + } + } + ] +} +``` + + + +## Add flat string tags to a workspace + +`POST /workspaces/:workspace_id/relationships/tags` + +To add key-value tags to an existing workspace, call the `PATCH /workspaces/:workspace_id` and provide workspace tag bindings in the JSON payload. Refer to [Update a workspace](#update-a-workspace) for additional information. + +You can also bind key-value tags when creating a workspace. Refer to [Create a workspace](#create-a-workspace) for additional information. + +Refer to [Define project tags](/terraform/enterprise/projects/manage#define-project-tags) for information about supported tag values. + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:workspace_id` | The workspace ID to add tags to. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | Successfully added tags to workspace | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +It is important to note that `type`, as well as one of `id` _or_ `attributes.name` is required. + +| Key path | Type | Default | Description | +| ------------------------ | ------ | ------- | --------------------------- | +| `data[].type` | string | | Must be `"tags"`. | +| `data[].id` | string | | The ID of the tag to add. | +| `data[].attributes.name` | string | | The name of the tag to add. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "tags", + "attributes": { + "name": "foo" + } + }, + { + "type": "tags", + "attributes": { + "name": "bar" + } + } + ] +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/workspace-2/relationships/tags +``` + +### Sample Response + +No response body. + +Status code `204`. + +## Remove tags from workspace + +This endpoint removes one or more tags from a workspace. The workspace must already exist, and tag +element that supplies an `id` attribute must exist. If the `name` attribute is used, and no matching +organization tag is found, no action will occur for that entry. Tags removed from all workspaces will be +removed from the organization-wide list. + +To remove key-value tags to an existing workspace, call the `PATCH /workspaces/:workspace_id` and provide workspace tag bindings in the JSON payload. Refer to [Update a workspace](#update-a-workspace) for additional information. + +`DELETE /workspaces/:workspace_id/relationships/tags` + +| Parameter | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to remove tags from. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or the [Show Workspace](#show-workspace) endpoint. | + +| Status | Response | Reason(s) | +| ------- | ------------------------- | ----------------------------------------------------------- | +| [204][] | No Content | Successfully removed tags to workspace | +| [404][] | [JSON API error object][] | Workspace not found, or user unauthorized to perform action | + +### Request Body + +This POST endpoint requires a JSON object with the following properties as a request payload. + +It is important to note that `type`, as well as one of `id` _or_ `attributes.name` is required. + +| Key path | Type | Default | Description | +| ------------------------ | ------ | ------- | ------------------------------ | +| `data[].type` | string | | Must be `"tags"`. | +| `data[].id` | string | | The ID of the tag to remove. | +| `data[].attributes.name` | string | | The name of the tag to remove. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "tags", + "id": "tag-Yfha4YpPievQ8wJw" + } + ] +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request DELETE \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/workspace-2/relationships/tags +``` + +### Sample Response + +No response body. + +Status code `204`. + +## Add/update tag-bindings on a workspace + +This endpoint adds keys and values or updates values of tag-bindings on an existing resource by key. +It does not remove any keys from the collection. This endpoint is useful when you want to ensure a +modification is additive. + +Tag bindings have special constraints and behaviors: + +- You can apply up to 10 tags per workspace. +- Workspaces can inherit an additional 10 tags from its project. +- Keys can have up to 128 characters. +- Keys can contain all alphanumeric characters and the symbols `_`, `.`, `=`, `+`, `-`, `@`, `:`. +- values can have up to 256 characters. +- Values can contain all alphanumeric characters and the symbols `_`, `.`, `=`, `+`, `-`, `@`, `:`. +- You cannot use `hc:` and `hcp:` as key prefixes. + +`PATCH /workspaces/:workspace_id/tag-bindings` + +| Parameter | Description | +| --------------- | --------------------------------- | +| `:workspace_id` | The ID of the workspace to update | + +### Request Body + +This PATCH endpoint requires a JSON object with the following properties as a request payload. + +It is important to note that for each data item, `type`, as well as `attributes.key` is required. + +| Key path | Type | Default | Description | +| ------------------------- | ------ | ------- | ---------------------------------- | +| `data[].type` | string | | Must be `"tag-bindings"`. | +| `data[].attributes.key` | string | | The key of the tag to add/update. | +| `data[].attributes.value` | string | | The name of the tag to add/update. | + +### Sample Payload + +```json +{ + "data": [ + { + "type": "tag-bindings", + "attributes": { + "key": "costcenter", + "value": "123" + } + }, + { + "type": "tag-bindings", + "attributes": { + "key": "bar", + "value": "baz" + } + } + ] +} +``` + +### Sample Request + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request PATCH \ + --data @payload.json \ + https://app.terraform.io/api/v2/workspaces/ws-82d2281aa259ba09/tag-bindings +``` + +### Sample Response + +Status Code 200 + + + +```json +{ + "data": [ + { + "id": "tb-e4a5847b2cf06559", + "type": "tag-bindings", + "attributes": { + "key": "costcenter", + "value": "123" + } + }, + { + "id": "tb-97ce954636f93a6c", + "type": "tag-bindings", + "attributes": { + "key": "bar", + "value": "baz" + } + } + ] +} +``` + + + +## Show data retention policy + + +This endpoint is exclusive to Terraform Enterprise and is not available in HCP Terraform. + + +`GET /workspaces/:workspace_id/relationships/data-retention-policy` + +| Parameter | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The ID of the workspace to show the data retention policy for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or by sending a `GET` request to the [`/workspaces`](#show-workspace) endpoint. | + +This endpoint shows the data retention policy set explicitly on the workspace. +When no data retention policy is set for the workspace, the endpoint returns the default policy configured for the organization. Refer to [Data Retention Policies](/terraform/enterprise/workspaces/settings/deletion#data-retention-policies) for instructions on configuring data retention policies for workspaces. + +Refer to [Data Retention Policy API](/terraform/enterprise/api-docs/data-retention-policies#show-data-retention-policy) in the Terraform Enterprise documentation for details. + +## Create or update data retention policy + + +This endpoint is exclusive to Terraform Enterprise and is not available in HCP Terraform. + + +`POST /workspaces/:workspace_id/relationships/data-retention-policy` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `:workspace_id` | The workspace ID to update the data retention policy for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or by sending a `GET` request to the [`/workspaces`](#show-workspace) endpoint. | + +This endpoint creates a data retention policy for a workspace or updates the existing policy. +Refer to [Data Retention Policies](/terraform/enterprise/workspaces/settings/deletion#data-retention-policies) for additional information. + +Refer to [Data Retention Policy API](/terraform/enterprise/api-docs/data-retention-policies#create-or-update-data-retention-policy) in the Terraform Enterprise documentation for details. + +## Remove data retention policy + + +This endpoint is exclusive to Terraform Enterprise and is not available in HCP Terraform. + + +`DELETE /workspaces/:workspace_id/relationships/data-retention-policy` + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:workspace_id` | The workspace ID to remove the data retenetion policy for. Obtain this from the [workspace settings](/terraform/enterprise/workspaces/settings) or by sending a `GET` request to the [`/workspaces`](#show-workspace) endpoint. | + +This endpoint removes the data retention policy explicitly set on a workspace. +When no data retention policy is set for the workspace, the endpoint returns the default policy configured for the organization. Refer to [Data Retention Policies](/terraform/enterprise/users-teams-organizations/organizations#destruction-and-deletion) for instructions on configuring data retention policies for organizations. + +Read more about [workspace data retention policies](/terraform/enterprise/workspaces/settings/deletion#data-retention-policies). + +Refer to [Data Retention Policy API](/terraform/enterprise/api-docs/data-retention-policies#remove-data-retention-policy) in the Terraform Enterprise documentation for details. + +## Available Related Resources + +The GET endpoints above can optionally return related resources, if requested with [the `include` query parameter](/terraform/enterprise/api-docs#inclusion-of-related-resources). The following resource types are available: + +- `current_configuration_version` - The last configuration this workspace received, excluding plan-only configurations. Terraform uses this configuration for new runs, unless you provide a different one. +- `current_configuration_version.ingress_attributes` - The commit information for the current configuration version. +- `current_run` - Additional information about the current run. +- `current_run.configuration_version` - The configuration used in the current run. +- `current_run.configuration_version.ingress_attributes` - The commit information used in the current run. +- `current_run.plan` - The plan used in the current run. +- `locked_by` - The user, team, or run responsible for locking the workspace, if the workspace is currently locked. +- `organization` - The full organization record. +- `outputs` - The outputs for the most recently applied run. +- `project` - The full project record. +- `readme` - The most recent workspace README.md. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/architectural-details/data-security.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/architectural-details/data-security.mdx new file mode 100644 index 0000000000..ccdd823720 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/architectural-details/data-security.mdx @@ -0,0 +1,75 @@ +--- +page_title: Data security for Terraform Enterprise +description: >- + Learn about the parts of the Terraform Enterprise application that contain + sensitive data and the storage and encryption methods that HCP Terraform uses + to secure them. +source: terraform-docs-common +--- + +# Data security + +HCP Terraform takes the security of the data it manages +seriously. This table lists which parts of the HCP Terraform and Terraform Enterprise app can contain sensitive data, what storage is used, and what encryption is used. + +### HCP Terraform and Terraform Enterprise + +| Object | Storage | Encrypted | +| :----------------------------------- | :----------- | :----------------------- | +| Terraform Configuration (VCS data) | Blob Storage | Vault Transit Encryption | +| Private Registry Modules | Blob Storage | Vault Transit Encryption | +| Sentinel Policies | PostgreSQL | Vault Transit Encryption | +| Terraform/Environment Variables | PostgreSQL | Vault Transit Encryption | +| Terraform/Provider Credentials | PostgreSQL | Vault Transit Encryption | +| Terraform State File | Blob Storage | Vault Transit Encryption | +| Terraform Plan Result | Blob Storage | Vault Transit Encryption | +| Terraform Audit Trails | PostgreSQL | No | +| Organization/Workspace/Team Settings | PostgreSQL | No | + +### HCP Terraform and Terraform Enterprise Secrets + +| Object | Storage | Encrypted | +| :---------------------------- | :--------- | :----------------------- | +| Account Password | PostgreSQL | bcrypt | +| 2FA Recovery Codes | PostgreSQL | Vault Transit Encryption | +| SSH Keys | PostgreSQL | Vault Transit Encryption | +| User/Team/Organization Tokens | PostgreSQL | HMAC SHA512 | +| OAuth Client ID + Secret | PostgreSQL | Vault Transit Encryption | +| OAuth User Tokens | PostgreSQL | Vault Transit Encryption | + +### HCP Terraform Specific + +| Object | Storage | Encrypted | +| :--------------------------- | :-------- | :-------- | +| Cloud Data Backups | Amazon S3 | SSE-S3 | +| Cloud Copy of Backups for DR | Amazon S3 | SSE-S3 | + +Please see HashiCorp Cloud [subprocessors](https://www.hashicorp.com/trust/privacy/subprocessors) for third-parties engaged by HashiCorp to deliver cloud services. + +### Terraform Enterprise Specific + +| Object | Storage | Encrypted | +| :--------------------------- | :--------- | :----------------------- | +| Twilio Account Configuration | PostgreSQL | Vault Transit Encryption | +| SMTP Configuration | PostgreSQL | Vault Transit Encryption | +| SAML Configuration | PostgreSQL | Vault Transit Encryption | +| Vault Unseal Key | PostgreSQL | ChaCha20+Poly1305 | + +## Vault Transit Encryption + +The [Vault Transit Secret Engine](/vault/docs/secrets/transit) +handles encryption for data in-transit and is used when encrypting data from the +application to persistent storage. + +## Blob Storage Encryption + +All objects persisted to blob storage are symmetrically encrypted prior to being +written. Each object is encrypted with a unique encryption key. Objects are +encrypted using 128 bit AES in CTR mode. The key material is processed +through the [Vault transit secret engine](/vault/docs/secrets/transit), +which uses the default transit encryption cipher (AES-GCM with a 256-bit AES key +and a 96-bit nonce), and stored alongside the object. This pattern is called envelope encryption. + +The Vault transit secret engine's +[datakey generation](/vault/api-docs/secret/transit#generate-data-key) creates the encryption key material using bit material from the kernel's cryptographically secure pseudo-random +number generator (CSPRNG) as the `context` value. Blob storage encryption generates a unique key for each object and relies on envelope encryption, so Vault does not rotate the encryption key material for individual objects. The root encryption keys within the envelope encryption scheme are rotated automatically by HCP Terraform every 365 days. These keys are not automatically rotated within TFE. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/aws.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/aws.mdx new file mode 100644 index 0000000000..f777c0c65e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/aws.mdx @@ -0,0 +1,158 @@ +--- +page_title: AWS resources included in cost estimation in Terraform Enterprise +description: Learn which AWS resources Terraform Enterprise includes in cost estimation. +source: terraform-docs-common +--- + +# AWS resources included in cost estimation + +HCP Terraform can estimate monthly costs for many AWS Terraform resources. + +-> **Note:** Terraform Enterprise requires AWS credentials to support cost estimation. These credentials are configured at the instance level, not the organization level. See the [Application Administration docs](/terraform/enterprise/admin/application/integration) for more details. + +## Supported Resources + +Cost estimation supports the following resources. Not all possible values for attributes of each resource are supported, ex. newer instance types or EBS volume types. + +| Resource | Incurs Cost | +| ------------------------------------------- | ----------- | +| `aws_alb` | X | +| `aws_autoscaling_group` | X | +| `aws_cloudhsm_v2_hsm` | X | +| `aws_cloudwatch_dashboard` | X | +| `aws_cloudwatch_metric_alarm` | X | +| `aws_db_instance` | X | +| `aws_dynamodb_table` | X | +| `aws_ebs_volume` | X | +| `aws_elasticache_cluster` | X | +| `aws_elasticsearch_domain` | X | +| `aws_elb` | X | +| `aws_instance` | X | +| `aws_kms_key` | X | +| `aws_lb` | X | +| `aws_rds_cluster_instance` | X | +| `aws_acm_certificate_validation` | | +| `aws_alb_listener` | | +| `aws_alb_listener_rule` | | +| `aws_alb_target_group` | | +| `aws_alb_target_group_attachment` | | +| `aws_api_gateway_api_key` | | +| `aws_api_gateway_deployment` | | +| `aws_api_gateway_integration` | | +| `aws_api_gateway_integration_response` | | +| `aws_api_gateway_method` | | +| `aws_api_gateway_method_response` | | +| `aws_api_gateway_resource` | | +| `aws_api_gateway_usage_plan_key` | | +| `aws_appautoscaling_policy` | | +| `aws_appautoscaling_target` | | +| `aws_autoscaling_lifecycle_hook` | | +| `aws_autoscaling_policy` | | +| `aws_cloudformation_stack` | | +| `aws_cloudfront_distribution` | | +| `aws_cloudfront_origin_access_identity` | | +| `aws_cloudwatch_event_rule` | | +| `aws_cloudwatch_event_target` | | +| `aws_cloudwatch_log_group` | | +| `aws_cloudwatch_log_metric_filter` | | +| `aws_cloudwatch_log_stream` | | +| `aws_cloudwatch_log_subscription_filter` | | +| `aws_codebuild_webhook` | | +| `aws_codedeploy_deployment_group` | | +| `aws_cognito_identity_provider` | | +| `aws_cognito_user_pool` | | +| `aws_cognito_user_pool_client` | | +| `aws_cognito_user_pool_domain` | | +| `aws_config_config_rule` | | +| `aws_customer_gateway` | | +| `aws_db_parameter_group` | | +| `aws_db_subnet_group` | | +| `aws_dynamodb_table_item` | | +| `aws_ecr_lifecycle_policy` | | +| `aws_ecr_repository_policy` | | +| `aws_ecs_cluster` | | +| `aws_ecs_task_definition` | | +| `aws_efs_mount_target` | | +| `aws_eip_association` | | +| `aws_elastic_beanstalk_application` | | +| `aws_elastic_beanstalk_application_version` | | +| `aws_elastic_beanstalk_environment` | | +| `aws_elasticache_parameter_group` | | +| `aws_elasticache_subnet_group` | | +| `aws_flow_log` | | +| `aws_iam_access_key` | | +| `aws_iam_account_alias` | | +| `aws_iam_account_password_policy` | | +| `aws_iam_group` | | +| `aws_iam_group_membership` | | +| `aws_iam_group_policy` | | +| `aws_iam_group_policy_attachment` | | +| `aws_iam_instance_profile` | | +| `aws_iam_policy` | | +| `aws_iam_policy_attachment` | | +| `aws_iam_role` | | +| `aws_iam_role_policy` | | +| `aws_iam_role_policy_attachment` | | +| `aws_iam_saml_provider` | | +| `aws_iam_service_linked_role` | | +| `aws_iam_user` | | +| `aws_iam_user_group_membership` | | +| `aws_iam_user_login_profile` | | +| `aws_iam_user_policy` | | +| `aws_iam_user_policy_attachment` | | +| `aws_iam_user_ssh_key` | | +| `aws_internet_gateway` | | +| `aws_key_pair` | | +| `aws_kms_alias` | | +| `aws_lambda_alias` | | +| `aws_lambda_event_source_mapping` | | +| `aws_lambda_function` | | +| `aws_lambda_layer_version` | | +| `aws_lambda_permission` | | +| `aws_launch_configuration` | | +| `aws_lb_listener` | | +| `aws_lb_listener_rule` | | +| `aws_lb_target_group` | | +| `aws_lb_target_group_attachment` | | +| `aws_network_acl` | | +| `aws_network_acl_rule` | | +| `aws_network_interface` | | +| `aws_placement_group` | | +| `aws_rds_cluster_parameter_group` | | +| `aws_route` | | +| `aws_route53_record` | | +| `aws_route53_zone_association` | | +| `aws_route_table` | | +| `aws_route_table_association` | | +| `aws_s3_bucket` | | +| `aws_s3_bucket_notification` | | +| `aws_s3_bucket_object` | | +| `aws_s3_bucket_policy` | | +| `aws_s3_bucket_public_access_block` | | +| `aws_security_group` | | +| `aws_security_group_rule` | | +| `aws_service_discovery_service` | | +| `aws_sfn_state_machine` | | +| `aws_sns_topic` | | +| `aws_sns_topic_subscription` | | +| `aws_sqs_queue` | | +| `aws_sqs_queue_policy` | | +| `aws_ssm_maintenance_window` | | +| `aws_ssm_maintenance_window_target` | | +| `aws_ssm_maintenance_window_task` | | +| `aws_ssm_parameter` | | +| `aws_subnet` | | +| `aws_volume_attachment` | | +| `aws_vpc` | | +| `aws_vpc_dhcp_options` | | +| `aws_vpc_dhcp_options_association` | | +| `aws_vpc_endpoint` | | +| `aws_vpc_endpoint_route_table_association` | | +| `aws_vpc_endpoint_service` | | +| `aws_vpc_ipv4_cidr_block_association` | | +| `aws_vpc_peering_connection_accepter` | | +| `aws_vpc_peering_connection_options` | | +| `aws_vpn_connection_route` | | +| `aws_waf_ipset` | | +| `aws_waf_rule` | | +| `aws_waf_web_acl` | | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/azure.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/azure.mdx new file mode 100644 index 0000000000..5647698512 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/azure.mdx @@ -0,0 +1,56 @@ +--- +page_title: Azure resources included in cost estimation in Terraform Enterprise +description: Learn which Azure resources Terraform Enterprise includes in cost estimation. +source: terraform-docs-common +--- + +# Azure resources included in cost estimation + +HCP Terraform can estimate monthly costs for many Azure Terraform resources. + +-> **Note:** Terraform Enterprise requires Azure credentials to support cost estimation. These credentials are configured at the instance level, not the organization level. See the [Application Administration docs](/terraform/enterprise/admin/application/integration) for more details. + +## Supported Resources + +Cost estimation supports the following resources. Not all possible values for attributes of each resource are supported, ex. newer VM sizes or managed disk types. + +| Resource | Incurs Cost | +| ------------------------------------------------------ | ----------- | +| `azurerm_app_service_custom_hostname_binding` | X | +| `azurerm_app_service_environment` | X | +| `azurerm_app_service_plan` | X | +| `azurerm_app_service_virtual_network_swift_connection` | X | +| `azurerm_cosmosdb_sql_database` | X | +| `azurerm_databricks_workspace` | X | +| `azurerm_firewall` | X | +| `azurerm_hdinsight_hadoop_cluster` | X | +| `azurerm_hdinsight_hbase_cluster` | X | +| `azurerm_hdinsight_interactive_query_cluster` | X | +| `azurerm_hdinsight_kafka_cluster` | X | +| `azurerm_hdinsight_spark_cluster` | X | +| `azurerm_integration_service_environment` | X | +| `azurerm_linux_virtual_machine` | X | +| `azurerm_linux_virtual_machine_scale_set` | X | +| `azurerm_managed_disk` | X | +| `azurerm_mariadb_server` | X | +| `azurerm_mssql_elasticpool` | X | +| `azurerm_mysql_server` | X | +| `azurerm_postgresql_server` | X | +| `azurerm_sql_database` | X | +| `azurerm_virtual_machine` | X | +| `azurerm_virtual_machine_scale_set` | X | +| `azurerm_windows_virtual_machine` | X | +| `azurerm_windows_virtual_machine_scale_set` | X | +| `azurerm_app_service` | | +| `azurerm_cosmosdb_account` | | +| `azurerm_cosmosdb_sql_container` | | +| `azurerm_cosmosdb_table` | | +| `azurerm_mysql_database` | | +| `azurerm_network_security_group` | | +| `azurerm_postgresql_database` | | +| `azurerm_resource_group` | | +| `azurerm_sql_server` | | +| `azurerm_sql_virtual_network_rule` | | +| `azurerm_subnet` | | +| `azurerm_subnet_route_table_association` | | +| `azurerm_virtual_network` | | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/gcp.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/gcp.mdx new file mode 100644 index 0000000000..e1660de815 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/gcp.mdx @@ -0,0 +1,42 @@ +--- +page_title: GCP resources included in cost estimation in Terraform Enterprise +description: Learn which GCP resources Terraform Enterprise includes in cost estimation. +source: terraform-docs-common +--- + +# GCP resources included in cost estimation + +HCP Terraform can estimate monthly costs for many GCP Terraform resources. + +-> **Note:** Terraform Enterprise requires GCP credentials to support cost estimation. These credentials are configured at the instance level, not the organization level. See the [Application Administration docs](/terraform/enterprise/admin/application/integration) for more details. + +## Supported Resources + +Cost estimation supports the following resources. Not all possible values for attributes of each resource are supported, ex. new or custom machine types. + +| Resource | Incurs Cost | +| --------------------------------------- | ----------- | +| `google_compute_disk` | X | +| `google_compute_instance` | X | +| `google_sql_database_instance` | X | +| `google_billing_account_iam_member` | | +| `google_compute_address` | | +| `google_compute_subnetwork_iam_member` | | +| `google_folder_iam_member` | | +| `google_folder_iam_policy` | | +| `google_kms_crypto_key_iam_member` | | +| `google_kms_key_ring_iam_member` | | +| `google_kms_key_ring_iam_policy` | | +| `google_organization_iam_member` | | +| `google_project` | | +| `google_project_iam_member` | | +| `google_project_iam_policy` | | +| `google_project_service` | | +| `google_pubsub_subscription_iam_member` | | +| `google_pubsub_subscription_iam_policy` | | +| `google_pubsub_topic_iam_member` | | +| `google_service_account` | | +| `google_service_account_iam_member` | | +| `google_service_account_key` | | +| `google_storage_bucket_iam_member` | | +| `google_storage_bucket_iam_policy` | | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/index.mdx new file mode 100644 index 0000000000..d81c7e6c17 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/cost-estimation/index.mdx @@ -0,0 +1,58 @@ +--- +page_title: Cost estimation overview for Terraform Enterprise +description: >- + Terraform Enterprise can estimate the total cost and delta of resources from + your Terraform configuration. Use cost estimation to get hourly and monthly + cost estimates for each resource. +source: terraform-docs-common +--- + +# Cost estimation overview + +> **Hands-on:** Try the [Control Costs with Policies](/terraform/tutorials/cloud-get-started/cost-estimation) tutorial to practice enabling cost estimation and define a policy to check the total monthly delta. + +HCP Terraform provides cost estimates for many resources found in your Terraform configuration. For each resource an hourly and monthly cost is shown, along with the monthly delta. The total cost and delta of all estimable resources is also shown. + +## Enabling Cost Estimation + +HCP Terraform disables cost estimation by default. To enable cost estimation: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise, then navigate to the organization where you want to enable cost estimation. +2. Choose **Settings** from the sidebar, then **Cost Estimation**. +3. Toggle the **Enable cost estimation for all workspaces** setting. +4. Click **Update settings**. + +## Viewing a Cost Estimate + +When enabled, HCP Terraform performs a cost estimate for every run. Estimated costs appear in the run UI as an extra run phase, between the plan and apply. + +The estimate displays a total monthly cost by default; you can expand the estimate to see an itemized list of resource costs, as well as the list of unestimated resources. + +Note that this is just an estimate; some resources don't have cost information available or have unpredictable usage-based pricing. Supported resources are listed in this document's sub-pages. + +## Verifying Costs in Policies + +You can use a Sentinel policy to validate your configuration's cost estimates using the [`tfrun`](/terraform/enterprise/policy-enforcement/import-reference/tfrun) import. The example policy below checks that the new cost delta is no more than $100. A new `t3.nano` instance should be well below that. A `decimal` import is available for more accurate math when working with currency numbers. + +```python +import "tfrun" +import "decimal" + +delta_monthly_cost = decimal.new(tfrun.cost_estimate.delta_monthly_cost) + +if delta_monthly_cost.greater_than(100) { + print("This policy prevents a user from increasing their spending by more than $100 per month in a single run without a warning.") +} + +main = rule { + delta_monthly_cost.less_than(100) +} +``` + +## Supported Resources + +Cost estimation in HCP Terraform supports Terraform resources within three major cloud providers. + +- [AWS](/terraform/enterprise/cost-estimation/aws) +- [GCP](/terraform/enterprise/cost-estimation/gcp) +- [Azure](/terraform/enterprise/cost-estimation/azure) diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/aws-service-catalog/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/aws-service-catalog/index.mdx new file mode 100644 index 0000000000..e06a14e929 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/aws-service-catalog/index.mdx @@ -0,0 +1,27 @@ +--- +page_title: Terraform Enterprise for AWS Service Catalog overview +description: >- + Terraform Enterprise for AWS Service Catalog lets you provision infrastructure + with HCP Terraform inside AWS Service Catalog. +source: terraform-docs-common +--- + +# HCP Terraform for AWS Service Catalog overview + +This integration allows administrators to curate a portfolio of pre-approved Terraform configurations on AWS Service Catalog. This enables end users like engineers, database administrators, and data scientists to deploy these Terraform configurations with a single action from the AWS interface. By combining HCP Terraform with AWS Service Catalog, we’re combining a self-service interface that many customers are familiar with, AWS Service Catalog, with the existing workflows and policy guardrails of HCP Terraform. + + + +@include 'tfc-package-callouts/aws-service-catalog.mdx' + + + +## Installation & Configuration + +To start using this integration, you'll need to install the [AWS Service Catalog Engine for Terraform Cloud](https://github.com/hashicorp/aws-service-catalog-engine-for-tfc) provided by HashiCorp on GitHub by following the [setup instructions](https://github.com/hashicorp/aws-service-catalog-engine-for-tfc#getting-started) provided in the README. If you run into any setup troubles along the way, the README also includes [troubleshooting steps](https://github.com/hashicorp/aws-service-catalog-engine-for-tfc#troubleshooting) that should help resolve common issues that you may encounter. + +With the engine installed, the necessary code and infrastructure to integrate the HCP Terraform engine with AWS Service Catalog will automatically be configured. The setup can be completed in just a few minutes, and it only needs to be done once. Once the setup is complete, you can immediately start using AWS Service Catalog to develop and manage AWS Service Catalog products, and make them accessible to your end users across all your accounts. + +## Usage + +You can access this new feature through the AWS Service Catalog console in any AWS regions where AWS Service Catalog is supported and follow the AWS Service Catalog Administrator Guide to [create your first Terraform product](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-product-Terraform.html). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/index.mdx new file mode 100644 index 0000000000..dc8851bfba --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/index.mdx @@ -0,0 +1,26 @@ +--- +page_title: Integrations overview for Terraform Enterprise +description: >- + Use Terraform Enterprise integrations to connect HCP Terraform with + third-party platforms and systems. +source: terraform-docs-common +--- + +# Overview + +The HCP Terraform ecosystem features a variety of integrations to let HCP +Terraform connect with third-party systems and platforms. The following list +contains HashiCorp's official HCP Terraform integrations, which use HCP +Terraform's native APIs: + +- The [HCP Terraform Operator for Kubernetes](/terraform/enterprise/integrations/kubernetes) integration can manage HCP Terraform resources with Kubernetes custom resources. +- The [ServiceNow Service Catalog for Terraform](/terraform/enterprise/integrations/service-now/service-catalog-terraform) lets you provision self-serve infrastructure using ServiceNow. +- The [ServiceNow Service Graph Connector for Terraform](/terraform/enterprise/integrations/service-now/service-graph) integration lets you securely import HCP Terraform resources into your ServiceNow instance. +- The [HCP Terraform for Splunk](/terraform/enterprise/integrations/splunk) integration lets you pull HCP Terraform logs into Splunk. +- The [HCP Terraform for AWS Service Catalog](/terraform/enterprise/integrations/aws-service-catalog) integration lets you create pre-approved Terraform configurations on the AWS Service Catalog. + +If the platform you want to integrate HCP Terraform with does not have an +official integration, you can build a custom run task to integrate with a tool +of your choice. Run tasks can access plan details, display custom messages in +the run pipeline, and prevent runs from applying. Learn more about [Run +tasks](/terraform/enterprise/integrations/run-tasks). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/annotations-and-labels.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/annotations-and-labels.mdx new file mode 100644 index 0000000000..e38bdb08c1 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/annotations-and-labels.mdx @@ -0,0 +1,26 @@ +--- +page_title: Terraform Enterprise Operator for Kubernetes annotations and labels +description: >- + Use annotations and labels with the Terraform Enterprise Operator for + Kubernetes to manage Terraform runs. +source: terraform-docs-common +--- + +# HCP Terraform Operator for Kubernetes annotations and labels + +This topic contains reference information about the annotations and labels the HCP Terraform and Terraform Enterprise operators use for Kubernetes. + +## Annotations + +| Annotation key | Target resources | Possible values | Description | +| -------------------------------------------------- | ---------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `workspace.app.terraform.io/run-new` | Workspace | `"true"` | Set this annotation to `"true"` to trigger a new run. Example: `kubectl annotate workspace workspace.app.terraform.io/run-new="true"`. | +| `workspace.app.terraform.io/run-type` | Workspace | `plan`, `apply`, `refresh` | Specifies the run type. Changing this annotation does not start a new run. Refer to [Run Modes and Options](/terraform/enterprise/run/modes-and-options) for more information. Defaults to `"plan"`. | +| `workspace.app.terraform.io/run-terraform-version` | Workspace | Any valid Terraform version | Specifies the Terraform version to use. Changing this annotation does not start a new run. Only valid when the annotation `workspace.app.terraform.io/run-type` is set to `plan`. Defaults to the Workspace version. | + +## Labels + +| Label key | Target resources | Possible values | Description | +| -------------------------------------- | ---------------- | ------------------------ | ------------------------------------------------------------------------------------------- | +| `agentpool.app.terraform.io/pool-name` | Pod[Agent] | Any valid AgentPool name | Associate the resource with a specific agent pool by specifying the name of the agent pool. | +| `agentpool.app.terraform.io/pool-id` | Pod[Agent] | Any valid AgentPool ID | Associate the resource with a specific agent pool by specifying the ID of the agent pool. | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/api-reference.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/api-reference.mdx new file mode 100644 index 0000000000..1c1be52818 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/api-reference.mdx @@ -0,0 +1,796 @@ +--- +page_title: Terraform Enterprise Operator for Kubernetes API reference +description: >- + Use the Terraform Enterprise Operator for Kubernetes API to manage HCP + Terraform workspaces, modules, and agent pools. +source: terraform-docs-common +--- + +# HCP Terraform Operator for Kubernetes API reference + +## Packages + +- [app.terraform.io/v1alpha2](#appterraformiov1alpha2) + +## app.terraform.io/v1alpha2 + +Package v1alpha2 contains API Schema definitions for the app v1alpha2 API group. + +### Resource Types + +- [AgentPool](#agentpool) +- [Module](#module) +- [Project](#project) +- [Workspace](#workspace) + +#### AgentDeployment + +_Appears in:_ + +- [AgentPoolSpec](#agentpoolspec) + +| Field | Description | +| -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `replicas` _integer_ | | +| `spec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podspec-v1-core)_ | | +| `annotations` _object (keys:string, values:string)_ | The annotations that the operator will apply to the pod template in the deployment. | +| `labels` _object (keys:string, values:string)_ | The labels that the operator will apply to the pod template in the deployment. | + +#### AgentDeploymentAutoscaling + +AgentDeploymentAutoscaling allows you to configure the operator to scale the deployment for an AgentPool up and down to meet demand. + +_Appears in:_ + +- [AgentPoolSpec](#agentpoolspec) + +| Field | Description | +| -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `maxReplicas` _integer_ | MaxReplicas is the maximum number of replicas for the Agent deployment. | +| `minReplicas` _integer_ | MinReplicas is the minimum number of replicas for the Agent deployment. | +| `targetWorkspaces` _[TargetWorkspace](#targetworkspace)_ | TargetWorkspaces is a list of HCP Terraform Workspaces which the agent pool should scale up to meet demand. When this field is omitted the autoscaler will target all workspaces that are associated with the AgentPool. | +| `cooldownPeriodSeconds` _integer_ | CooldownPeriodSeconds is the time to wait between scaling events. Defaults to 300. | +| `cooldownPeriod` _[AgentDeploymentAutoscalingCooldownPeriod](#agentdeploymentautoscalingcooldownperiod)_ | CoolDownPeriod configures the period to wait between scaling up and scaling down | + +#### AgentDeploymentAutoscalingCooldownPeriod + +AgentDeploymentAutoscalingCooldownPeriod configures the period to wait between scaling up and scaling down, + +_Appears in:_ + +- [AgentDeploymentAutoscaling](#agentdeploymentautoscaling) + +| Field | Description | +| ---------------------------- | --------------------------------------------------------- | +| `scaleUpSeconds` _integer_ | ScaleUpSeconds is the time to wait before scaling up. | +| `scaleDownSeconds` _integer_ | ScaleDownSeconds is the time to wait before scaling down. | + +#### AgentDeploymentAutoscalingStatus + +AgentDeploymentAutoscalingStatus + +_Appears in:_ + +- [AgentPoolStatus](#agentpoolstatus) + +| Field | Description | +| -------------------------------------------------------------------------------------------------------------- | ----------------------------------- | +| `desiredReplicas` _integer_ | Desired number of agent replicas | +| `lastScalingEvent` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#time-v1-meta)_ | Last time the agent pool was scaled | + +#### AgentPool + +AgentPool manages HCP Terraform Agent Pools, HCP Terraform Agent Tokens and can perform HCP Terraform Agent scaling. + +More information: + +- [Manage agent pools](/terraform/cloud-docs/agents/agent-pools) +- [Agent API tokens](/terraform/enterprise/users-teams-organizations/api-tokens#agent-api-tokens) +- [HCP Terraform agents](/terraform/cloud-docs/agents) + +| Field | Description | +| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiVersion` _string_ | `app.terraform.io/v1alpha2` | +| `kind` _string_ | `AgentPool` | +| `kind` _string_ | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds) | +| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources) | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | +| `spec` _[AgentPoolSpec](#agentpoolspec)_ | | + +#### AgentPoolSpec + +AgentPoolSpec defines the desired state of AgentPool. + +_Appears in:_ + +- [AgentPool](#agentpool) + +| Field | Description | +| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `name` _string_ | Agent Pool name. [More information](/terraform/cloud-docs/agents/agent-pools). | +| `organization` _string_ | Organization name where the Workspace will be created. [More information](/terraform/enterprise/users-teams-organizations/organizations). | +| `token` _[Token](#token)_ | API Token to be used for API calls. | +| `agentTokens` _[AgentToken](#agenttoken) array_ | List of the agent tokens to generate. | +| `agentDeployment` _[AgentDeployment](#agentdeployment)_ | Agent deployment settings | +| `autoscaling` _[AgentDeploymentAutoscaling](#agentdeploymentautoscaling)_ | Agent deployment settings | + +#### AgentToken + +Agent Token is a secret token that a HCP Terraform Agent is used to connect to the HCP Terraform Agent Pool. In `spec` only the field `Name` is allowed, the rest are used in `status`. + +More information: + +- [HCP Terraform agents](/terraform/cloud-docs/agents) + +_Appears in:_ + +- [AgentPoolSpec](#agentpoolspec) +- [AgentPoolStatus](#agentpoolstatus) + +| Field | Description | +| ---------------------- | ------------------------------------------------ | +| `name` _string_ | Agent Token name. | +| `id` _string_ | Agent Token ID. | +| `createdAt` _integer_ | Timestamp of when the agent token was created. | +| `lastUsedAt` _integer_ | Timestamp of when the agent token was last used. | + +#### ConfigurationVersionStatus + +A configuration version is a resource used to reference the uploaded configuration files. + +More information: + +- [Configuration versions API reference](/terraform/enterprise/api-docs/configuration-versions) +- [The API-driven run workflow](/terraform/enterprise/run/api) + +_Appears in:_ + +- [ModuleStatus](#modulestatus) + +| Field | Description | +| ------------- | ------------------------- | +| `id` _string_ | Configuration Version ID. | + +#### ConsumerWorkspace + +ConsumerWorkspace allows access to the state for specific workspaces within the same organization. Only one of the fields `ID` or `Name` is allowed. At least one of the fields `ID` or `Name` is mandatory. + +More information: + +- [Remote state access controls](/terraform/enterprise/workspaces/state#remote-state-access-controls) + +_Appears in:_ + +- [RemoteStateSharing](#remotestatesharing) + +| Field | Description | +| --------------- | -------------------------------------------------------------- | +| `id` _string_ | Consumer Workspace ID. Must match pattern: `^ws-[a-zA-Z0-9]+$` | +| `name` _string_ | Consumer Workspace name. | + +#### CustomPermissions + +Custom permissions let you assign specific, finer-grained permissions to a team than the broader fixed permission sets provide. + +More information: + +- [Custom workspace permissions](/terraform/enterprise/users-teams-organizations/permissions#custom-workspace-permissions) + +_Appears in:_ + +- [TeamAccess](#teamaccess) + +| Field | Description | +| ---------------------------- | ------------------------------------------------------------------------------------------------------------ | +| `runs` _string_ | Run access. Must be one of the following values: `apply`, `plan`, `read`. Default: `read`. | +| `runTasks` _boolean_ | Manage Workspace Run Tasks. Default: `false`. | +| `sentinel` _string_ | Download Sentinel mocks. Must be one of the following values: `none`, `read`. Default: `none`. | +| `stateVersions` _string_ | State access. Must be one of the following values: `none`, `read`, `read-outputs`, `write`. Default: `none`. | +| `variables` _string_ | Variable access. Must be one of the following values: `none`, `read`, `write`. Default: `none`. | +| `workspaceLocking` _boolean_ | Lock/unlock workspace. Default: `false`. | + +#### CustomProjectPermissions + +Custom permissions let you assign specific, finer-grained permissions to a team than the broader fixed permission sets provide. + +More information: + +- [Custom project permissions](/terraform/enterprise/users-teams-organizations/permissions#custom-project-permissions) +- [General workspace permissions](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) + +_Appears in:_ + +- [ProjectTeamAccess](#projectteamaccess) + +| Field | Description | +| ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `projectAccess` _[ProjectSettingsPermissionType](#projectsettingspermissiontype)_ | Project access. Must be one of the following values: `delete`, `read`, `update`. Default: `read`. | +| `teamManagement` _[ProjectTeamsPermissionType](#projectteamspermissiontype)_ | Team management. Must be one of the following values: `manage`, `none`, `read`. Default: `none`. | +| `createWorkspace` _boolean_ | Allow users to create workspaces in the project. This grants read access to all workspaces in the project. Default: `false`. | +| `deleteWorkspace` _boolean_ | Allows users to delete workspaces in the project. Default: `false`. | +| `moveWorkspace` _boolean_ | Allows users to move workspaces out of the project. A user must have this permission on both the source and destination project to successfully move a workspace from one project to another. Default: `false`. | +| `lockWorkspace` _boolean_ | Allows users to manually lock the workspace to temporarily prevent runs. When a workspace's execution mode is set to "local", users must have this permission to perform local CLI runs using the workspace's state. Default: `false`. | +| `runs` _[WorkspaceRunsPermissionType](#workspacerunspermissiontype)_ | Run access. Must be one of the following values: `apply`, `plan`, `read`. Default: `read`. | +| `runTasks` _boolean_ | Manage Workspace Run Tasks. Default: `false`. | +| `sentinelMocks` _[WorkspaceSentinelMocksPermissionType](#workspacesentinelmockspermissiontype)_ | Download Sentinel mocks. Must be one of the following values: `none`, `read`. Default: `none`. | +| `stateVersions` _[WorkspaceStateVersionsPermissionType](#workspacestateversionspermissiontype)_ | State access. Must be one of the following values: `none`, `read`, `read-outputs`, `write`. Default: `none`. | +| `variables` _[WorkspaceVariablesPermissionType](#workspacevariablespermissiontype)_ | Variable access. Must be one of the following values: `none`, `read`, `write`. Default: `none`. | + +#### DeletionPolicy + +_Underlying type:_ _string_ + +DeletionPolicy defines the strategy the Kubernetes operator uses when you delete a resource, either manually or by a system event. + +You must use one of the following values: + +- `retain`: When you delete the custom resource, the operator does not delete the workspace. +- `soft`: Attempts to delete the associated workspace only if it does not contain any managed resources. +- `destroy`: Executes a destroy operation to remove all resources managed by the associated workspace. Once the destruction of these resources is successful, the operator deletes the workspace, and then deletes the custom resource. +- `force`: Forcefully and immediately deletes the workspace and the custom resource. + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +#### Module + +Module implements API-driven Run Workflows. + +More information: + +- [The API-driven run workflow](/terraform/enterprise/run/api) + +| Field | Description | +| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiVersion` _string_ | `app.terraform.io/v1alpha2` | +| `kind` _string_ | `Module` | +| `kind` _string_ | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds) | +| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources) | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | +| `spec` _[ModuleSpec](#modulespec)_ | | + +#### ModuleOutput + +Module outputs to store in ConfigMap(non-sensitive) or Secret(sensitive). + +_Appears in:_ + +- [ModuleSpec](#modulespec) + +| Field | Description | +| --------------------- | ----------------------------------------------------------------- | +| `name` _string_ | Output name must match with the module output. | +| `sensitive` _boolean_ | Specify whether or not the output is sensitive. Default: `false`. | + +#### ModuleSource + +Module source and version to execute. + +_Appears in:_ + +- [ModuleSpec](#modulespec) + +| Field | Description | +| ------------------ | ------------------------------------------------------------------------------------------- | +| `source` _string_ | Non local Terraform module source. [More information](/terraform/language/modules/sources). | +| `version` _string_ | Terraform module version. | + +#### ModuleSpec + +ModuleSpec defines the desired state of Module. + +_Appears in:_ + +- [Module](#module) + +| Field | Description | +| ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `organization` _string_ | Organization name where the Workspace will be created. [More information](/terraform/enterprise/users-teams-organizations/organizations). | +| `token` _[Token](#token)_ | API Token to be used for API calls. | +| `module` _[ModuleSource](#modulesource)_ | Module source and version to execute. | +| `workspace` _[ModuleWorkspace](#moduleworkspace)_ | Workspace to execute the module. | +| `name` _string_ | Name of the module that will be uploaded and executed. Default: `this`. | +| `variables` _[ModuleVariable](#modulevariable) array_ | Variables to pass to the module, they must exist in the Workspace. | +| `outputs` _[ModuleOutput](#moduleoutput) array_ | Module outputs to store in ConfigMap(non-sensitive) or Secret(sensitive). | +| `destroyOnDeletion` _boolean_ | Specify whether or not to execute a Destroy run when the object is deleted from the Kubernetes. Default: `false`. | +| `restartedAt` _string_ | Allows executing a new Run without changing any Workspace or Module attributes. Example: ``kubectl patch KIND NAME --type=merge --patch '{"spec": \{"restartedAt": "'\`date -u -Iseconds\`'"\}\}'`` | + +#### ModuleVariable + +Variables to pass to the module. + +_Appears in:_ + +- [ModuleSpec](#modulespec) + +| Field | Description | +| --------------- | ------------------------------------------ | +| `name` _string_ | Variable name must exist in the Workspace. | + +#### ModuleWorkspace + +Workspace to execute the module. Only one of the fields `ID` or `Name` is allowed. At least one of the fields `ID` or `Name` is mandatory. + +_Appears in:_ + +- [ModuleSpec](#modulespec) + +| Field | Description | +| --------------- | ------------------------------------------------------------ | +| `id` _string_ | Module Workspace ID. Must match pattern: `^ws-[a-zA-Z0-9]+$` | +| `name` _string_ | Module Workspace Name. | + +#### Notification + +Notifications allow you to send messages to other applications based on run and workspace events. + +More information: + +- [Workspace notifications](/terraform/enterprise/workspaces/settings/notifications) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` _string_ | Notification name. | +| `type` _[NotificationDestinationType](#notificationdestinationtype)_ | The type of the notification. Must be one of the following values: `email`, `generic`, `microsoft-teams`, `slack`. | +| `enabled` _boolean_ | Whether the notification configuration should be enabled or not. Default: `true`. | +| `token` _string_ | The token of the notification. | +| `triggers` _[NotificationTrigger](#notificationtrigger) array_ | The list of run events that will trigger notifications. Trigger represents the different TFC notifications that can be sent as a run's progress transitions between different states. There are two categories of triggers: - Health Events: `assessment:check_failure`, `assessment:drifted`, `assessment:failed`. - Run Events: `run:applying`, `run:completed`, `run:created`, `run:errored`, `run:needs_attention`, `run:planning`. | +| `url` _string_ | The URL of the notification. Must match pattern: `^https?://.*` | +| `emailAddresses` _string array_ | The list of email addresses that will receive notification emails. It is only available for Terraform Enterprise users. It is not available in HCP Terraform. | +| `emailUsers` _string array_ | The list of users belonging to the organization that will receive notification emails. | + +#### NotificationTrigger + +_Underlying type:_ _string_ + +NotificationTrigger represents the different TFC notifications that can be sent as a run's progress transitions between different states. This must be aligned with go-tfe type `NotificationTriggerType`. + +Must be one of the following values: `run:applying`, `assessment:check_failure`, `run:completed`, `run:created`, `assessment:drifted`, `run:errored`, `assessment:failed`, `run:needs_attention`, `run:planning`. + +_Appears in:_ + +- [Notification](#notification) + +#### OutputStatus + +Outputs status. + +_Appears in:_ + +- [ModuleStatus](#modulestatus) + +| Field | Description | +| ---------------- | -------------------------------------------------- | +| `runID` _string_ | Run ID of the latest run that updated the outputs. | + +#### PlanStatus + +_Appears in:_ + +- [WorkspaceStatus](#workspacestatus) + +| Field | Description | +| --------------------------- | ------------------------------------------------------- | +| `id` _string_ | Latest plan-only/speculative plan HCP Terraform run ID. | +| `terraformVersion` _string_ | The version of Terraform to use for this run. | + +#### Project + +Project manages HCP Terraform Projects. + +More information: + +- [Manage projects](/terraform/enterprise/projects/manage) + +| Field | Description | +| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiVersion` _string_ | `app.terraform.io/v1alpha2` | +| `kind` _string_ | `Project` | +| `kind` _string_ | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds) | +| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources) | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | +| `spec` _[ProjectSpec](#projectspec)_ | | + +#### ProjectSpec + +ProjectSpec defines the desired state of Project. + +More information: + +- [Manage projects](/terraform/enterprise/workspaces/organize-workspaces-with-projects) + +_Appears in:_ + +- [Project](#project) + +| Field | Description | +| ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `organization` _string_ | Organization name where the Workspace will be created. [More information](/terraform/enterprise/users-teams-organizations/organizations). | +| `token` _[Token](#token)_ | API Token to be used for API calls. | +| `name` _string_ | Name of the Project. | +| `teamAccess` _[ProjectTeamAccess](#projectteamaccess) array_ | HCP Terraform's access model is team-based. In order to perform an action within a HCP Terraform organization, users must belong to a team that has been granted the appropriate permissions. You can assign project-specific permissions to teams. More information: [Manage projects](/terraform/enterprise/workspaces/organize-workspaces-with-projects#permissions) and [Project permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions). | + +#### ProjectTeamAccess + +HCP Terraform's access model is team-based. In order to perform an action within a HCP Terraform organization, users must belong to a team that has been granted the appropriate permissions. You can assign project-specific permissions to teams. + +More information: + +- [Manage projects](/terraform/enterprise/workspaces/organize-workspaces-with-projects#permissions) +- [Project permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) + +_Appears in:_ + +- [ProjectSpec](#projectspec) + +| Field | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `team` _[Team](#team)_ | Team to grant access. [More information](/terraform/enterprise/users-teams-organizations/teams). | +| `access` _[TeamProjectAccessType](#teamprojectaccesstype)_ | There are two ways to choose which permissions a given team has on a project: fixed permission sets, and custom permissions. Must be one of the following values: `admin`, `custom`, `maintain`, `read`, `write`. More information: [Project permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) and [General project permissions](/terraform/enterprise/users-teams-organizations/permissions#general-project-permissions). | +| `custom` _[CustomProjectPermissions](#customprojectpermissions)_ | Custom permissions let you assign specific, finer-grained permissions to a team than the broader fixed permission sets provide. [More information](/terraform/enterprise/users-teams-organizations/permissions#custom-project-permissions). | + +#### RemoteStateSharing + +RemoteStateSharing allows remote state access between workspaces. By default, new workspaces in HCP Terraform do not allow other workspaces to access their state. + +More information: + +- [Accessing state from other workspaces](/terraform/enterprise/workspaces/state#accessing-state-from-other-workspaces) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| ------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | +| `allWorkspaces` _boolean_ | Allow access to the state for all workspaces within the same organization. Default: `false`. | +| `workspaces` _[ConsumerWorkspace](#consumerworkspace) array_ | Allow access to the state for specific workspaces within the same organization. | + +#### RunStatus + +_Appears in:_ + +- [ModuleStatus](#modulestatus) +- [WorkspaceStatus](#workspacestatus) + +| Field | Description | +| ------------------------------- | ------------------------------------------------------- | +| `id` _string_ | Current(both active and finished) HCP Terraform run ID. | +| `configurationVersion` _string_ | The configuration version of this run. | +| `outputRunID` _string_ | Run ID of the latest run that could update the outputs. | + +#### RunTrigger + +RunTrigger allows you to connect this workspace to one or more source workspaces. These connections allow runs to queue automatically in this workspace on successful apply of runs in any of the source workspaces. + +Only one of the fields `ID` or `Name` is allowed. + +At least one of the fields `ID` or `Name` is mandatory. + +More information: + +- [Run triggers](/terraform/enterprise/workspaces/settings/run-triggers) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| --------------- | ------------------------------------------------------------ | +| `id` _string_ | Source Workspace ID. Must match pattern: `^ws-[a-zA-Z0-9]+$` | +| `name` _string_ | Source Workspace Name. | + +#### SSHKey + +SSH key used to clone Terraform modules. + +Only one of the fields `ID` or `Name` is allowed. + +At least one of the fields `ID` or `Name` is mandatory. + +More information: + +- [Use SSH Keys for cloning modules](/terraform/enterprise/workspaces/settings/ssh-keys) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| --------------- | ------------------------------------------------------- | +| `id` _string_ | SSH key ID. Must match pattern: `^sshkey-[a-zA-Z0-9]+$` | +| `name` _string_ | SSH key name. | + +#### Tag + +_Underlying type:_ _string_ + +Tags allows you to correlate, organize, and even filter workspaces based on the assigned tags. + +Tags must be one or more characters; can include letters, numbers, colons, hyphens, and underscores; and must begin and end with a letter or number. + +Must match pattern: `^[A-Za-z0-9][A-Za-z0-9:_-]*$` + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +#### TargetWorkspace + +TargetWorkspace is the name or ID of the workspace you want autoscale against. + +_Appears in:_ + +- [AgentDeploymentAutoscaling](#agentdeploymentautoscaling) + +| Field | Description | +| ----------------------- | --------------------------------------------------------------------------------------- | +| `id` _string_ | Workspace ID | +| `name` _string_ | Workspace Name | +| `wildcardName` _string_ | Wildcard Name to match match workspace names using `*` on name suffix, prefix, or both. | + +#### Team + +Teams are groups of HCP Terraform users within an organization. If a user belongs to at least one team in an organization, they are considered a member of that organization. + +Only one of the fields `ID` or `Name` is allowed. + +At least one of the fields `ID` or `Name` is mandatory. + +More information: + +- [Teams overview](/terraform/enterprise/users-teams-organizations/teams) + +_Appears in:_ + +- [ProjectTeamAccess](#projectteamaccess) +- [TeamAccess](#teamaccess) + +| Field | Description | +| --------------- | -------------------------------------------------- | +| `id` _string_ | Team ID. Must match pattern: `^team-[a-zA-Z0-9]+$` | +| `name` _string_ | Team name. | + +#### TeamAccess + +HCP Terraform workspaces can only be accessed by users with the correct permissions. You can manage permissions for a workspace on a per-team basis. When a workspace is created, only the owners team and teams with the "manage workspaces" permission can access it, with full admin permissions. These teams' access can't be removed from a workspace. + +More information: + +- [Manage access to workspaces](/terraform/enterprise/workspaces/settings/access) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `team` _[Team](#team)_ | Team to grant access. [More information](/terraform/enterprise/users-teams-organizations/teams). | +| `access` _string_ | There are two ways to choose which permissions a given team has on a workspace: fixed permission sets, and custom permissions. Must be one of the following values: `admin`, `custom`, `plan`, `read`, `write`. [More information](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions). | +| `custom` _[CustomPermissions](#custompermissions)_ | Custom permissions let you assign specific, finer-grained permissions to a team than the broader fixed permission sets provide. [More information](/terraform/enterprise/users-teams-organizations/permissions#custom-workspace-permissions). | + +#### Token + +Token refers to a Kubernetes Secret object within the same namespace as the Workspace object + +_Appears in:_ + +- [AgentPoolSpec](#agentpoolspec) +- [ModuleSpec](#modulespec) +- [ProjectSpec](#projectspec) +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | +| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core)_ | Selects a key of a secret in the workspace's namespace | + +#### ValueFrom + +ValueFrom source for the variable's value. Cannot be used if value is not empty. + +_Appears in:_ + +- [Variable](#variable) + +| Field | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | +| `configMapKeyRef` _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#configmapkeyselector-v1-core)_ | Selects a key of a ConfigMap. | +| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core)_ | Selects a key of a Secret. | + +#### Variable + +Variables let you customize configurations, modify Terraform's behavior, and store information like provider credentials. + +More information: + +- [Workspace variables](/terraform/enterprise/workspaces/variables) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` _string_ | Name of the variable. | +| `description` _string_ | Description of the variable. | +| `hcl` _boolean_ | Parse this field as HashiCorp Configuration Language (HCL). This allows you to interpolate values at runtime. Default: `false`. | +| `sensitive` _boolean_ | Sensitive variables are never shown in the UI or API. They may appear in Terraform logs if your configuration is designed to output them. Default: `false`. | +| `value` _string_ | Value of the variable. | +| `valueFrom` _[ValueFrom](#valuefrom)_ | Source for the variable's value. Cannot be used if value is not empty. | + +#### VariableSetStatus + +_Appears in:_ + +- [WorkspaceStatus](#workspacestatus) + +| Field | Description | +| --------------- | ----------- | +| `id` _string_ | | +| `name` _string_ | | + +#### VariableStatus + +_Appears in:_ + +- [WorkspaceStatus](#workspacestatus) + +| Field | Description | +| -------------------- | --------------------------------------------------- | +| `name` _string_ | Name of the variable. | +| `id` _string_ | ID of the variable. | +| `versionID` _string_ | VersionID is a hash of the variable on the TFC end. | +| `valueID` _string_ | ValueID is a hash of the variable on the CRD end. | +| `category` _string_ | Category of the variable. | + +#### VersionControl + +VersionControl settings for the workspace's VCS repository, enabling the UI/VCS-driven run workflow. Omit this argument to utilize the CLI-driven and API-driven workflows, where runs are not driven by webhooks on your VCS provider. + +More information: + +- [UI and VCS-driven run workflow](/terraform/enterprise/run/ui) +- [Connect to VCS Providers](/terraform/enterprise/vcs) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `oAuthTokenID` _string_ | The VCS Connection (OAuth Connection + Token) to use. Must match pattern: `^ot-[a-zA-Z0-9]+$` | +| `repository` _string_ | A reference to your VCS repository in the format `/` where `` and `` refer to the organization and repository in your VCS provider. | +| `branch` _string_ | The repository branch that Run will execute from. This defaults to the repository's default branch (e.g. main). | +| `speculativePlans` _boolean_ | Whether this workspace allows automatic speculative plans on PR. Default: `true`. More information: [Speculative plans on pull requests](/terraform/enterprise/run/ui#speculative-plans-on-pull-requests) and [Speculative plans](/terraform/enterprise/run/remote-operations#speculative-plans). | + +#### Workspace + +Workspace manages HCP Terraform Workspaces. + +More information: + +- [Workspaces](/terraform/enterprise/workspaces) + +| Field | Description | +| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiVersion` _string_ | `app.terraform.io/v1alpha2` | +| `kind` _string_ | `Workspace` | +| `kind` _string_ | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds) | +| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. [More information](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources) | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | +| `spec` _[WorkspaceSpec](#workspacespec)_ | | + +#### WorkspaceAgentPool + +AgentPool allows HCP Terraform to communicate with isolated, private, or on-premises infrastructure. + +Only one of the fields `ID` or `Name` is allowed. + +At least one of the fields `ID` or `Name` is mandatory. + +More information: + +- [HCP Terraform agents](/terraform/cloud-docs/agents) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| --------------- | --------------------------------------------------------- | +| `id` _string_ | Agent Pool ID. Must match pattern: `^apool-[a-zA-Z0-9]+$` | +| `name` _string_ | Agent Pool name. | + +#### WorkspaceProject + +Projects let you organize your workspaces into groups. + +Only one of the fields `ID` or `Name` is allowed. + +At least one of the fields `ID` or `Name` is mandatory. + +More information: + +- [Organize workspaces with projects](/terraform/tutorials/cloud/projects) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| --------------- | ---------------------------------------------------- | +| `id` _string_ | Project ID. Must match pattern: `^prj-[a-zA-Z0-9]+$` | +| `name` _string_ | Project name. | + +#### WorkspaceRunTask + +Run tasks allow HCP Terraform to interact with external systems at specific points in the HCP Terraform run lifecycle. + +Only one of the fields `ID` or `Name` is allowed. + +At least one of the fields `ID` or `Name` is mandatory. + +More information: + +- [Run tasks](/terraform/enterprise/workspaces/settings/run-tasks) + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` _string_ | Run Task ID. Must match pattern: `^task-[a-zA-Z0-9]+$` | +| `name` _string_ | Run Task Name. | +| `enforcementLevel` _string_ | Run Task Enforcement Level. Can be one of `advisory` or `mandatory`. Default: `advisory`. Must be one of the following values: `advisory`, `mandatory` Default: `advisory`. | +| `stage` _string_ | Run Task Stage. Must be one of the following values: `pre_apply`, `pre_plan`, `post_plan`. Default: `post_plan`. | + +#### WorkspaceSpec + +WorkspaceSpec defines the desired state of Workspace. + +_Appears in:_ + +- [Workspace](#workspace) + +| Field | Description | +| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` _string_ | Workspace name. | +| `organization` _string_ | Organization name where the Workspace will be created. [More information](/terraform/enterprise/users-teams-organizations/organizations). | +| `token` _[Token](#token)_ | API Token to be used for API calls. | +| `applyMethod` _string_ | Define either change will be applied automatically(auto) or require an operator to confirm(manual). Must be one of the following values: `auto`, `manual`. Default: `manual`. [More information](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply). | +| `allowDestroyPlan` _boolean_ | Allows a destroy plan to be created and applied. Default: `true`. [More information](/terraform/enterprise/workspaces/settings#destruction-and-deletion). | +| `description` _string_ | Workspace description. | +| `agentPool` _[WorkspaceAgentPool](#workspaceagentpool)_ | HCP Terraform Agents allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure. [More information](/terraform/cloud-docs/agents). | +| `executionMode` _string_ | Define where the Terraform code will be executed. Must be one of the following values: `agent`, `local`, `remote`. Default: `remote`. [More information](/terraform/enterprise/workspaces/settings#execution-mode). | +| `runTasks` _[WorkspaceRunTask](#workspaceruntask) array_ | Run tasks allow HCP Terraform to interact with external systems at specific points in the HCP Terraform run lifecycle. [More information](/terraform/enterprise/workspaces/settings/run-tasks). | +| `tags` _[Tag](#tag) array_ | Workspace tags are used to help identify and group together workspaces. Tags must be one or more characters; can include letters, numbers, colons, hyphens, and underscores; and must begin and end with a letter or number. | +| `teamAccess` _[TeamAccess](#teamaccess) array_ | HCP Terraform workspaces can only be accessed by users with the correct permissions. You can manage permissions for a workspace on a per-team basis. When a workspace is created, only the owners team and teams with the "manage workspaces" permission can access it, with full admin permissions. These teams' access can't be removed from a workspace. [More information](/terraform/enterprise/workspaces/settings/access). | +| `terraformVersion` _string_ | The version of Terraform to use for this workspace. If not specified, the latest available version will be used. Must match pattern: `^\\d\{1\}\\.\\d\{1,2\}\\.\\d\{1,2\}$` [More information](/terraform/enterprise/workspaces/settings#terraform-version) | +| `workingDirectory` _string_ | The directory where Terraform will execute, specified as a relative path from the root of the configuration directory. [More information](/terraform/enterprise/workspaces/settings#terraform-working-directory) | +| `environmentVariables` _[Variable](#variable) array_ | Terraform Environment variables for all plans and applies in this workspace. Variables defined within a workspace always overwrite variables from variable sets that have the same type and the same key. More information: [Workspace variables](/terraform/enterprise/workspaces/variables) and [Environment variables](/terraform/enterprise/workspaces/variables#environment-variables). | +| `terraformVariables` _[Variable](#variable) array_ | Terraform variables for all plans and applies in this workspace. Variables defined within a workspace always overwrite variables from variable sets that have the same type and the same key. More information: [Workspace variables](/terraform/enterprise/workspaces/variables) and [Terraform variables](/terraform/enterprise/workspaces/variables#terraform-variables). | +| `remoteStateSharing` _[RemoteStateSharing](#remotestatesharing)_ | Remote state access between workspaces. By default, new workspaces in HCP Terraform do not allow other workspaces to access their state. [More information](/terraform/enterprise/workspaces/state#accessing-state-from-other-workspaces). | +| `runTriggers` _[RunTrigger](#runtrigger) array_ | Run triggers allow you to connect this workspace to one or more source workspaces. These connections allow runs to queue automatically in this workspace on successful apply of runs in any of the source workspaces. [More information](/terraform/enterprise/workspaces/settings/run-triggers). | +| `versionControl` _[VersionControl](#versioncontrol)_ | Settings for the workspace's VCS repository, enabling the UI/VCS-driven run workflow. Omit this argument to utilize the CLI-driven and API-driven workflows, where runs are not driven by webhooks on your VCS provider. More information: [UI and VCS-driven run workflow](/terraform/enterprise/run/ui) and [Connect to VCS providers](/terraform/enterprise/vcs) | +| `sshKey` _[SSHKey](#sshkey)_ | SSH key used to clone Terraform modules. [More information](/terraform/enterprise/workspaces/settings/ssh-keys). | +| `notifications` _[Notification](#notification) array_ | Notifications allow you to send messages to other applications based on run and workspace events. [More information](/terraform/enterprise/workspaces/settings/notifications). | +| `project` _[WorkspaceProject](#workspaceproject)_ | Projects let you organize your workspaces into groups. Default: default organization project. [More information](/terraform/tutorials/cloud/projects). | +| `deletionPolicy` _[DeletionPolicy](#deletionpolicy)_ | The Deletion Policy specifies the behavior of the custom resource and its associated workspace when the custom resource is deleted. - `retain`: When you delete the custom resource, the operator does not delete the workspace. - `soft`: Attempts to delete the associated workspace only if it does not contain any managed resources. - `destroy`: Executes a destroy operation to remove all resources managed by the associated workspace. Once the destruction of these resources is successful, the operator deletes the workspace, and then deletes the custom resource. - `force`: Forcefully and immediately deletes the workspace and the custom resource. Default: `retain`. | +| `variableSets` _[WorkspaceVariableSet](#workspacevariableset) array_ | HCP Terraform variable sets let you reuse variables in an efficient and centralized way. [More information](/terraform/tutorials/cloud/cloud-multiple-variable-sets) | + +#### WorkspaceVariableSet + +_Appears in:_ + +- [WorkspaceSpec](#workspacespec) + +| Field | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` _string_ | ID of the variable set. Must match pattern: `varset-[a-zA-Z0-9]+$` [More information](/terraform/tutorials/cloud/cloud-multiple-variable-sets). | +| `name` _string_ | Name of the variable set. [More information](/terraform/tutorials/cloud/cloud-multiple-variable-sets). | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/index.mdx new file mode 100644 index 0000000000..0b3e18a397 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/index.mdx @@ -0,0 +1,220 @@ +--- +page_title: Terraform Enterprise Operator for Kubernetes overview +description: >- + The Terraform Enterprise Operator for Kubernetes allows you to provision + infrastructure directly from the Kubernetes control plane. +source: terraform-docs-common +--- + +# HCP Terraform Operator for Kubernetes overview + +The [HCP Terraform Operator for Kubernetes](https://github.com/hashicorp/hcp-terraform-operator) allows you to manage HCP Terraform resources with Kubernetes custom resources. You can provision infrastructure internal or external to your Kubernetes cluster directly from the Kubernetes control plane. + +The operator's CustomResourceDefinitions (CRD) let you dynamically create HCP Terraform workspaces with Terraform modules, populate workspace variables, and provision infrastructure with Terraform runs. + +## Key benefits + +The HCP Terraform Operator for Kubernetes v2 offers several improvements over v1: + +- **Flexible resource management**: The operator now features multiple custom resources, each with separate controllers for different HCP Terraform resources. This provides additional flexibility and the ability to manage more custom resources concurrently, significantly improving performance for large-scale deployments. + +- **Namespace management**: The `--namespace` option allows you to tailor the operator's watch scope to specific namespaces, which enables more fine-grained resource management. + +- **Configurable synchronization**: The `--sync-period` option allows you to configure the synchronization frequency between custom resources and HCP Terraform, ensuring timely updates and smoother operations. + +## Supported HCP Terraform features + +The HCP Terraform Operator for Kubernetes allows you to create agent pools, deploy modules, and manage workspaces through Kubernetes controllers. These controllers enable you to automate and manage HCP Terraform resources using custom resources in Kubernetes. + +### Agent pools + +Agent pools in HCP Terraform manage the execution environment for Terraform runs. The HCP Terraform Operator for Kubernetes allows you to create and manage agent pools as part of your Kubernetes infrastructure. + +The following example creates a new agent pool with the name `agent-pool-development` and generates an agent token with the name `token-red`. + +```yaml +--- +apiVersion: app.terraform.io/v1alpha2 +kind: AgentPool +metadata: + name: my-agent-pool +spec: + organization: kubernetes-operator + token: + secretKeyRef: + name: tfc-operator + key: token + name: agent-pool-development + agentTokens: + - name: token-red +``` + +The operator stores the `token-red` agent token in a Kubernetes secret named `my-agent-pool-token-red`. + +You can also enable agent autoscaling by providing a `.spec.autoscaling` configuration in your `AgentPool` specification. + + + +```yaml +--- +apiVersion: app.terraform.io/v1alpha2 +kind: AgentPool +metadata: + name: this +spec: + organization: kubernetes-operator + token: + secretKeyRef: + name: tfc-operator + key: token + name: agent-pool-development + agentTokens: + - name: token-red + agentDeployment: + replicas: 1 + autoscaling: + targetWorkspaces: + - name: us-west-development + - id: ws-NUVHA9feCXzAmPHx + - wildcardName: eu-development-* + minReplicas: 1 + maxReplicas: 3 + cooldownPeriod: + scaleUpSeconds: 30 + scaleDownSeconds: 30 +``` + + + +In the above example, the operator ensures that at least one agent pod is continuously running and dynamically scales the number of pods up to a maximum of three based on the workload or resource demand. The operator then monitors resource demands by observing the load of the designated workspaces specified by the `name`, `id`, or `wildcardName` patterns. When the workload decreases, the operator downscales the number of agent pods. + +Refer to the [agent pool API reference](/terraform/enterprise/integrations/kubernetes/api-reference#agentpool) for the complete `AgentPool` specification. + +### Module + +The `Module` controller enforces an [API-driven Run workflow](/terraform/enterprise/run/api) and lets you deploy Terraform modules within workspaces. + +The following example deploys version `1.0.0` of the `hashicorp/module/random` module in the `workspace-name` workspace. + +```yaml +--- +apiVersion: app.terraform.io/v1alpha2 +kind: Module +metadata: + name: my-module +spec: + organization: kubernetes-operator + token: + secretKeyRef: + name: tfc-operator + key: token + module: + source: hashicorp/module/random + version: 1.0.0 + workspace: + name: workspace-name + variables: + - name: string_length + outputs: + - name: random_string +``` + +The operator passes the workspace's `string_length` variable to the module and stores the `random_string` outputs as either a Kubernetes secret or a ConfigMap. If the workspace marks the output as `sensitive`, the operator stores the `random_string` as a Kubernetes secret; otherwise, the operator stores it as a ConfigMap. The variables must be accessible within the workspace as a workspace variable, workspace variable set, or project variable set. + +Refer to the [module API reference](/terraform/enterprise/integrations/kubernetes/api-reference#module) for the complete `Module` specification. + +### Project + +Projects let you organize your workspaces and scope access to workspace resources. The `Project` controller allows you to create, configure, and manage [projects](/terraform/tutorials/cloud/projects) directly from Kubernetes. + +The following example creates a new project named `testing`. + +```yaml +--- +apiVersion: app.terraform.io/v1alpha2 +kind: Project +metadata: + name: testing +spec: + organization: kubernetes-operator + token: + secretKeyRef: + name: tfc-operator + key: token + name: project-demo +``` + +The `Project` controller allows you to manage team access [permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions). + +The following example creates a project named `testing` and grants the `qa` team admin access to the project. + + + +```yaml +--- +apiVersion: app.terraform.io/v1alpha2 +kind: Project +metadata: + name: testing +spec: + organization: kubernetes-operator + token: + secretKeyRef: + name: tfc-operator + key: token + name: project-demo + teamAccess: + - team: + name: qa + access: admin +``` + + + +Refer to the [project API reference](/terraform/enterprise/integrations/kubernetes/api-reference#project) for the complete `Project` specification. + +### Workspace + +HCP Terraform workspaces organize and manage Terraform configurations. The HCP Terraform Operator for Kubernetes allows you to create, configure, and manage workspaces directly from Kubernetes. + +The following example creates a new workspace named `us-west-development`, configured to use Terraform version `1.6.2`. This workspace has two variables, `nodes` and `rds-secret`. The variable `rds-secret` is treated as sensitive, and the operator reads the value for the variable from a Kubernetes secret named `us-west-development-secrets`. + +```yaml +--- +apiVersion: app.terraform.io/v1alpha2 +kind: Workspace +metadata: + name: us-west-development +spec: + organization: kubernetes-operator + token: + secretKeyRef: + name: tfc-operator + key: token + name: us-west-development + description: US West development workspace + terraformVersion: 1.6.2 + applyMethod: auto + agentPool: + name: ap-us-west-development + terraformVariables: + - name: nodes + value: 2 + - name: rds-secret + sensitive: true + valueFrom: + secretKeyRef: + name: us-west-development-secrets + key: rds-secret + runTasks: + - name: rt-us-west-development + stage: pre_plan +``` + +In the above example, the `applyMethod` has the value of `auto`, so HCP Terraform automatically applies any changes to this workspace. The specification also configures the workspace to use the `ap-us-west-development` agent pool and run the `rt-us-west-development` run task at the `pre_plan` stage. + +The operator stores the value of the workspace outputs as Kubernetes secrets or ConfigMaps. If the outputs are marked as `sensitive`, they are stored as Kubernetes secrets, otherwise they are stored as ConfigMaps. + +-> **Note**: The operator rolls back any external modifications made to the workspace to match the state specified in the custom resource definition. + +Refer to the [workspace API reference](/terraform/enterprise/integrations/kubernetes/api-reference#workspace) for the complete `Workspace` specification. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/ops-v2-migration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/ops-v2-migration.mdx new file mode 100644 index 0000000000..49c8bc1272 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/ops-v2-migration.mdx @@ -0,0 +1,342 @@ +--- +page_title: Migrate to Terraform Enterprise Operator for Kubernetes v2 +description: >- + Learn how to upgrade the Terraform Kubernetes Operator from version 1 to + version 2. +source: terraform-docs-common +--- + +# Migrate to HCP Terraform Operator for Kubernetes v2 + +~> **Warning**: Version 1 of the HCP Terraform Operator for Kubernetes is **deprecated** and no longer maintained. If you are installing the operator for the first time, refer to [Set up the HCP Terraform Operator for Kubernetes](/terraform/enterprise/integrations/kubernetes/setup) for guidance. + +To upgrade the HCP Terraform Operator for Kubernetes from version 1 to the HCP Terraform Operator for Kubernetes (version 2), there is a one-time process that you need to complete. This process upgrades the operator to the newest version and migrate your custom resources. + +## Prerequisites + +The migration process requires the following tools to be installed locally: + +- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) +- [Helm](https://helm.sh/docs/intro/install/) + +## Prepare for the upgrade + +Configure an environment variable named `RELEASE_NAMESPACE` with the value of the namespace that the Helm chart is installed in. + +```shell-session +$ export RELEASE_NAMESPACE= +``` + +Next, create an environment variable named `RELEASE_NAME` with the value of the name that you gave your installation for the Helm chart. + +```shell-session +$ export RELEASE_NAME= +``` + +Before you migrate to HCP Terraform Operator for Kubernetes v2, you must first update v1 of the operator to the latest version, including the custom resource definitions. + +```shell-session +$ helm upgrade --namespace ${RELEASE_NAMESPACE} ${RELEASE_NAME} hashicorp/terraform +``` + +Next, backup the workspace resources. + +```shell-session +$ kubectl get workspace --all-namespaces -o yaml > backup_tfc_operator_v1.yaml +``` + +## Manifest schema migration + +Version 2 of the HCP Terraform Operator for Kubernetes renames and moves many existing fields. When you migrate, you must update your specification to match version 2's field names. + +### Workspace controller + +The table below lists the field mapping of the `Workspace` controller between v1 and v2 of the operator. + +| Version 1 | Version 2 | Changes between versions | +| --------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiVersion: app.terraform.io/v1alpha1` | `apiVersion: app.terraform.io/v1alpha2` | The `apiVersion` is now `v1alpha2`. | +| `kind: Workspace` | `kind: Workspace` | None. | +| `metadata` | `metadata` | None. | +| `spec.organization` | `spec.organization` | None. | +| `spec.secretsMountPath` | `spec.token.secretKeyRef` | In v2 the operator keeps the HCP Terraform access token in a Kubernetes Secret. | +| `spec.vcs` | `spec.versionControl` | Renamed the `vcs` field to `versionControl`. | +| `spec.vcs.token_id` | `spec.versionControl.oAuthTokenID` | Renamed the `token_id` field to `oAuthTokenID`. | +| `spec.vcs.repo_identifier` | `spec.versionControl.repository` | Renamed the `repo_identifier` field to `repository`. | +| `spec.vcs.branch` | `spec.versionControl.branch` | None. | +| `spec.vcs.ingress_submodules` | `spec.workingDirectory` | Moved. | +| `spec.variables.[*]` | `spec.environmentVariables.[*]` OR `spec.terraformVariables.[*]` | We split variables into two possible places. In v1's CRD, if `spec.variables.environmentVariable` was `true`, migrate those variables to `spec.environmentVariables`. If `false`, migrate those variables to `spec.terraformVariables`. | +| `spec.variables.[*]key` | `spec.environmentVariables.[*]name` OR `spec.terraformVariables.[*]name` | Renamed the `key` field as `name`. [Learn more](#workspace-variables). | +| `spec.variables.[*]value` | `spec.environmentVariables.[*]value` OR `spec.terraformVariables.[*]value` | [Learn more](#workspace-variables). | +| `spec.variables.[*]valueFrom` | `spec.environmentVariables.[*]valueFrom` OR `spec.terraformVariables.[*]valueFrom` | [Learn more](#workspace-variables). | +| `spec.variables.[*]hcl` | `spec.environmentVariables.[*]hcl` OR `spec.terraformVariables.[*]hcl` | [Learn more](#workspace-variables). | +| `spec.variables.sensitive` | `spec.environmentVariables.[*]sensitive` OR `spec.terraformVariables.[*]sensitive` | [Learn more](#workspace-variables). | +| `spec.variables.environmentVariable` | N/A | Removed, variables are split between `spec.environmentVariables` and `spec.terraformVariables`. | +| `spec.runTriggers.[*]` | `spec.runTriggers.[*]` | None. | +| `spec.runTriggers.[*].sourceableName` | `spec.runTriggers.[*].name` | The `sourceableName` field is now `name`. | +| `spec.sshKeyID` | `spec.sshKey.id` | Moved the `sshKeyID` to `spec.sshKey.id`. | +| `spec.outputs` | N/A | Removed. | +| `spec.terraformVersion` | `spec.terraformVersion` | None. | +| `spec.notifications.[*]` | `spec.notifications.[*]` | None. | +| `spec.notifications.[*].type` | `spec.notifications.[*].type` | None. | +| `spec.notifications.[*].enabled` | `spec.notifications.[*].enabled` | None. | +| `spec.notifications.[*].name` | `spec.notifications.[*].name` | None. | +| `spec.notifications.[*].url` | `spec.notifications.[*].url` | None. | +| `spec.notifications.[*].token` | `spec.notifications.[*].token` | None. | +| `spec.notifications.[*].triggers.[*]` | `spec.notifications.[*].triggers.[*]` | None. | +| `spec.notifications.[*].recipients.[*]` | `spec.notifications.[*].emailAddresses.[*]` | Renamed the `recipients` field to `emailAddresses`. | +| `spec.notifications.[*].users.[*]` | `spec.notifications.[*].emailUsers.[*]` | Renamed the `users` field to `emailUsers`. | +| `spec.omitNamespacePrefix` | N/A | Removed. In v1 `spec.omitNamespacePrefix` is a boolean field that affects how the operator generates a workspace name. In v2, you must explicitly set workspace names in `spec.name`. | +| `spec.agentPoolID` | `spec.agentPool.id` | Moved the `agentPoolID` field to `spec.agentPool.id`. | +| `spec.agentPoolName` | `spec.agentPool.name` | Moved the `agentPoolName` field to `spec.agentPool.name`. | +| `spec.module` | N/A | Removed. You now configure modules with a separate `Module` CRD. [Learn more](#module-controller). | + +Below is an example of configuring a variable in v1 of the operator. + + + +```yaml +apiVersion: app.terraform.io/v1alpha1 +kind: Workspace +metadata: + name: migration + spec: + variables: + - key: username + value: "user" + hcl: true + sensitive: false + environmentVariable: false + - key: SECRET_KEY + value: "s3cr3t" + hcl: false + sensitive: false + environmentVariable: true +``` + + + +In v2 of the operator, you must configure Terraform variables in `spec.terraformVariables` and environment variables `spec.environmentVariables`. + + + +```yaml +apiVersion: app.terraform.io/v1alpha2 +kind: Workspace +metadata: + name: migration + spec: + terraformVariables: + - name: username + value: "user" + hcl: true + sensitive: false + environmentVariables: + - name: SECRET_KEY + value: "s3cr3t" + hcl: false + sensitive: false +``` + + + +### Module controller + +HCP Terraform Operator for Kubernetes v2 configures modules in a new `Module` controller separate from the `Workspace` controller. Below is a template of a custom resource manifest: + +```yaml +apiVersion: app.terraform.io/v1alpha2 +kind: Module +metadata: + name: +spec: + organization: + token: + secretKeyRef: + name: + key: + name: operator +``` + +The table below describes the mapping between the `Workspace` controller from v1 and the `Module` controller in v2 of the operator. + +| Version 1 (Workspace CRD) | Version 2 (Module CRD) | Notes | +| ---------------------------------------------------------- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `spec.module` | N/A | In v2 of the operator a `Module` is a separate controller with its own CRD. | +| N/A | `spec.name: operator` | In v1 of the operator, the name of the generated module is hardcoded to `operator`. In v2, the default name of the generated module is `this`, but you can rename it. | +| `spec.module.source` | `spec.module.source` | This supports all Terraform [module sources](/terraform/language/modules/sources). | +| `spec.module.version` | `spec.module.version` | Refer to [module sources](/terraform/language/modules/sources) for versioning information for each module source. | +| `spec.variables.[*]` | `spec.variables.[*].name` | You should include variable names in the module. This is a reference to variables in the workspace that is executing the module. | +| `spec.outputs.[*].key` | `spec.outputs.[*].name` | You should include output names in the module. This is a reference to the output variables produced by the module. | +| `status.workspaceID` OR `metadata.namespace-metadata.name` | `spec.workspace.id` OR `spec.workspace.name` | The workspace where the module is executed. The workspace must be in the same organization. | + +Below is an example migration of a `Module` between v1 and v2 of the operator: + + + +```yaml +apiVersion: app.terraform.io/v1alpha1 +kind: Workspace +metadata: + name: migration +spec: + module: + source: app.terraform.io/org-name/module-name/provider + version: 0.0.42 + variables: + - key: username + value: "user" + hcl: true + sensitive: false + environmentVariable: false + - key: SECRET_KEY + value: "s3cr3t" + hcl: false + sensitive: false + environmentVariable: true +``` + + + +In v2 of the operator, separate controllers manage workspace and modules. + + + +```yaml +apiVersion: app.terraform.io/v1alpha2 +kind: Workspace +metadata: + name: migration + spec: + terraformVariables: + - name: username + value: "user" + hcl: true + sensitive: false + environmentVariables: + - name: SECRET_KEY + value: "s3cr3t" + hcl: false + sensitive: false +``` + + + + + +```yaml +apiVersion: app.terraform.io/v1alpha2 +kind: Module +metadata: + name: migration +spec: + name: operator + module: + source: app.terraform.io/org-name/module-name/provider + version: 0.0.42 + workspace: + name: migration +``` + + + +## Upgrade the operator + +Download Workspace CRD patch A: + +```shell-session +$ curl -sO https://raw.githubusercontent.com/hashicorp/hcp-terraform-operator/main/docs/migration/crds/workspaces_patch_a.yaml +``` + +View the changes that patch A applies to the workspace CRD. + +```shell-session +$ kubectl diff --filename workspaces_patch_a.yaml +``` + +Patch the workspace CRD with patch A. This patch adds `app.terraform.io/v1alpha2` support, but excludes `.status.runStatus` because it has a different format in `app.terraform.io/v1alpha1` and causes JSON un-marshalling issues. + +!> **Upgrade warning**: Once you apply a patch, Kubernetes converts existing `app.terraform.io/v1alpha1` custom resources to `app.terraform.io/v1alpha2` according to the updated schema, meaning that v1 of the operator can no longer serve custom resources. Before patching, update your existing custom resources to satisfy the v2 schema requirements. [Learn more](#manifest-schema-migration). + +```shell-session +$ kubectl patch crd workspaces.app.terraform.io --patch-file workspaces_patch_a.yaml +``` + +Install the Operator v2 Helm chart with the `helm install` command. Be sure to set the `operator.watchedNamespaces` value to the list of namespaces your Workspace resources are deployed to. If this value is not provided, the operator will watch all namespaces in the Kubernetes cluster. + +```shell-session +$ helm install \ + ${RELEASE_NAME} hashicorp/hcp-terraform-operator \ + --version 2.4.0 \ + --namespace ${RELEASE_NAMESPACE} \ + --set 'operator.watchedNamespaces={white,blue,red}' \ + --set controllers.agentPool.workers=5 \ + --set controllers.module.workers=5 \ + --set controllers.workspace.workers=5 +``` + +Next, create a Kubernetes secret to store the HCP Terraform API token following the [Usage Guide](https://github.com/hashicorp/hcp-terraform-operator/blob/main/docs/usage.md#prerequisites). The API token can be copied from the Kubernetes secret that you created for v1 of the operator. By default, this is named `terraformrc`. Use the `kubectl get secret` command to get the API token. + +```shell-session +$ kubectl --namespace ${RELEASE_NAMESPACE} get secret terraformrc -o json | jq '.data.credentials' | tr -d '"' | base64 -d +``` + +Update existing custom resources [according to the schema migration guidance](#manifest-schema-migration) and apply your changes. + +```shell-session +$ kubectl apply --filename +``` + +Download Workspace CRD patch B. + +```shell-session +$ curl -sO https://raw.githubusercontent.com/hashicorp/hcp-terraform-operator/main/docs/migration/crds/workspaces_patch_b.yaml +``` + +View the changes that patch B applies to the workspace CRD. + +```shell-session +$ kubectl diff --filename workspaces_patch_b.yaml +``` + +Patch the workspace CRD with patch B. This patch adds `.status.runStatus` support, which was excluded in patch A. + +```shell-session +$ kubectl patch crd workspaces.app.terraform.io --patch-file workspaces_patch_b.yaml +``` + +The v2 operator will fail to proceed if a custom resource has the v1 finalizer `finalizer.workspace.app.terraform.io`. If you encounter an error, check the logs for more information. + +```shell-session +$ kubectl logs -f +``` + +Specifically, look for an error message such as the following. + + ERROR Migration {"workspace": "default/", "msg": "spec contains old finalizer finalizer.workspace.app.terraform.io"} + +The `finalizer` exists to provide greater control over the migration process. Verify the custom resource, and when you’re ready to migrate it, use the `kubectl patch` command to update the `finalizer` value. + +```shell-session +$ kubectl patch workspace migration --type=merge --patch '{"metadata": {"finalizers": ["workspace.app.terraform.io/finalizer"]}}' +``` + +Review the operator logs once more and verify there are no error messages. + +```shell-session +$ kubectl logs -f +``` + +The operator reconciles resources during the next sync period. This interval is set by the `operator.syncPeriod` configuration of the operator and defaults to five minutes. + +If you have any migrated `Module` custom resources, apply them now. + +```shell-session +$ kubectl apply --filename +``` + +In v2 of the operator, the `applyMethod` is set to `manual` by default. In this case, a new run in a managed workspace requires manual approval. Run the following command for each `Workspace` resource to change it to `auto` approval. + +```shell-session +$ kubectl patch workspace --type=merge --patch '{"spec": {"applyMethod": "auto"}}' +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/setup.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/setup.mdx new file mode 100644 index 0000000000..ece055aa73 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/kubernetes/setup.mdx @@ -0,0 +1,94 @@ +--- +page_title: Set up the Terraform Enterprise Operator for Kubernetes +description: >- + Learn how to install and configure the Terraform Enterprise Operator for + Kubernetes. +source: terraform-docs-common +--- + +# Set up the HCP Terraform Operator for Kubernetes + +The HCP Terraform Operator for Kubernetes' CustomResourceDefinitions (CRD) allow you to dynamically create HCP Terraform workspaces with Terraform modules, populate workspace variables, and provision infrastructure with Terraform runs. + +You can install the operator with the official [HashiCorp Helm chart](https://github.com/hashicorp/hcp-terraform-operator). + +## Prerequisites + +All HCP Terraform users can use the HCP Terraform Operator for Kubernetes. You can use the operator to manage the supported features that your organization's pricing tier enables. + +## Networking requirements + +The HCP Terraform Operator for Kubernetes makes outbound requests over HTTPS (TCP port 443) to the HCP Terraform application APIs. This may require perimeter networking as well as container host networking changes, depending on your environment. Refer to [HCP Terraform IP Ranges](/terraform/enterprise/architectural-details/ip-ranges) for more information about IP ranges. Below, we list the services that run on specific IP ranges. + +| Hostname | Port/Protocol | Directionality | Purpose | +| ------------------ | -------------- | -------------- | --------------------------------------------------------------------------------------------------------------- | +| `app.terraform.io` | tcp/443, HTTPS | Outbound | Dynamically managing HCP Terraform workspaces and returning the output to Kubernetes with the HCP Terraform API | + +For self-managed Terraform Enterprise instances, ensure that the operator can reach your Terraform Enterprise hostname over HTTPS (TCP port 443). + +## Compatibility + +The HCP Terraform Operator for Kubernetes supports the following versions: + +- Helm 3.0.1 and above +- Kubernetes 1.15 and above + +## Install and configure + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to integrate with Kubernetes. + +2. Generate an [organization token](/terraform/enterprise/users-teams-organizations/api-tokens#organization-api-tokens) within HCP Terraform or Terraform Enterprise and save it to a file. These instructions assume you are using a file named `credentials`. + +3. Set the `NAMESPACE` environment variable. This will be the namespace that you will install the Helm chart to. + + export NAMESPACE=tfc-operator-system + +4. Create the namespace. + + kubectl create namespace $NAMESPACE + +5. Create a [Kubernetes Secret](https://kubernetes.io/docs/concepts/configuration/secret/) with the HCP Terraform API credentials. + + kubectl -n $NAMESPACE create secret generic terraformrc --from-file=credentials + +6. Add sensitive variables, such as your cloud provider credentials, to the namespace. + + kubectl -n $NAMESPACE create secret generic workspacesecrets --from-literal=secret_key=abc123 + +7. Add the HashiCorp Helm repository. + + helm repo add hashicorp https://helm.releases.hashicorp.com + +8. Install the [HCP Terraform Operator for Kubernetes with Helm](https://github.com/hashicorp/hcp-terraform-operator). By default, the operator communicates with HCP Terraform at `app.terraform.io`. The following example command installs the Helm chart for HCP Terraform: + + ```shell-session + $ helm install --namespace ${RELEASE_NAMESPACE} hashicorp/hcp-terraform-operator tfc-operator + ``` + + When deploying in self-managed Terraform Enterprise, you must set the `operator.tfeAddress` to the specific hostname of the Terraform Enterprise instance: + + ```shell-session + $ helm install --namespace ${RELEASE_NAMESPACE} hashicorp/hcp-terraform-operator tfc-operator \ + --set operator.tfeAddress="TERRAFORM_ENTERPRISE_HOSTNAME" + ``` + + Alternatively, you can set the `tfeAddress` configuration for Terraform Enterprise in the [value.yaml](https://github.com/hashicorp/hcp-terraform-operator/blob/main/charts/hcp-terraform-operator/values.yaml) file. + + ```yaml + operator: + tfeAddress: + ``` + + Run the following command to apply the value.yaml file: + + ```shell-session + $ helm install --namespace ${NAMESPACE} hashicorp/hcp-terraform-operator tfc-operator -f value.yaml + ``` + +9. To create a Terraform workspace, agent pool, or other object, refer to the example YAML manifests in the [operator repository on GitHub](https://github.com/hashicorp/hcp-terraform-operator/tree/main/docs/examples). + +### Upgrade + +When a new version of the HCP Terraform Operator for Kubernetes Helm Chart is available from the HashiCorp Helm repository, you can upgrade with the following command. + + helm upgrade --namespace ${RELEASE_NAMESPACE} hashicorp/hcp-terraform-operator tfc-operator diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/run-tasks/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/run-tasks/index.mdx new file mode 100644 index 0000000000..c64b59a21d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/run-tasks/index.mdx @@ -0,0 +1,109 @@ +--- +page_title: Set up Terraform Enterprise run task integrations +description: >- + Use run tasks to execute tasks in external systems at specific points in the + Terraform Enterprise run lifecycle. +source: terraform-docs-common +--- + +# Set up run task integrations + +In addition to using existing technology partners integrations, HashiCorp HCP Terraform customers can build their own custom run task integrations. Custom integrations have access to plan details in between the plan and apply phase, and can display custom messages within the run pipeline as well as prevent a run from continuing to the apply phase. + + + +@include 'tfc-package-callouts/run-tasks.mdx' + + + +## Prerequisites + +To build a custom integration, you must have a server capable of receiving requests from HCP Terraform and responding with a status update to a supplied callback URL. When creating a run task, you supply an endpoint url to receive the hook. We send a test POST to the supplied URL, and it must respond with a 200 for the run task to be created. + +This feature relies heavily on the proper parsing of [plan JSON output](/terraform/internals/json-format). When sending this output to an external system, be certain that system can properly interpret the information provided. + +## Available Run Tasks + +You can view the most up-to-date list of run tasks in the [Terraform Registry](https://registry.terraform.io/browse/run-tasks). + +## Integration Details + +When a run reaches the appropriate phase and a run task is triggered, the supplied URL will receive details about the run in a payload similar to the one below. The server receiving the run task should respond `200 OK`, or Terraform will retry to trigger the run task. + +Refer to the [Run Task Integration API](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration) for the exact payload specification. + +```json +{ + "payload_version": 1, + "stage": "post_plan", + "access_token": "4QEuyyxug1f2rw.atlasv1.iDyxqhXGVZ0ykes53YdQyHyYtFOrdAWNBxcVUgWvzb64NFHjcquu8gJMEdUwoSLRu4Q", + "capabilities": { + "outcomes": true + }, + "configuration_version_download_url": "https://app.terraform.io/api/v2/configuration-versions/cv-ntv3HbhJqvFzamy7/download", + "configuration_version_id": "cv-ntv3HbhJqvFzamy7", + "is_speculative": false, + "organization_name": "hashicorp", + "plan_json_api_url": "https://app.terraform.io/api/v2/plans/plan-6AFmRJW1PFJ7qbAh/json-output", + "run_app_url": "https://app.terraform.io/app/hashicorp/my-workspace/runs/run-i3Df5to9ELvibKpQ", + "run_created_at": "2021-09-02T14:47:13.036Z", + "run_created_by": "username", + "run_id": "run-i3Df5to9ELvibKpQ", + "run_message": "Triggered via UI", + "task_result_callback_url": "https://app.terraform.io/api/v2/task-results/5ea8d46c-2ceb-42cd-83f2-82e54697bddd/callback", + "task_result_enforcement_level": "mandatory", + "task_result_id": "taskrs-2nH5dncYoXaMVQmJ", + "vcs_branch": "main", + "vcs_commit_url": "https://github.com/hashicorp/terraform-random/commit/7d8fb2a2d601edebdb7a59ad2088a96673637d22", + "vcs_pull_request_url": null, + "vcs_repo_url": "https://github.com/hashicorp/terraform-random", + "workspace_app_url": "https://app.terraform.io/app/hashicorp/my-workspace", + "workspace_id": "ws-ck4G5bb1Yei5szRh", + "workspace_name": "tfr_github_0", + "workspace_working_directory": "/terraform" +} +``` + +Once your server receives this payload, HCP Terraform expects you to callback to the supplied `task_result_callback_url` using the `access_token` as an [Authentication Header](/terraform/enterprise/api-docs#authentication) with a [jsonapi](/terraform/enterprise/api-docs#json-api-formatting) payload of the form: + +```json +{ + "data": { + "type": "task-results", + "attributes": { + "status": "running", + "message": "Hello task", + "url": "https://example.com", + "outcomes": [...] + } + } +} +``` + +HCP Terraform expects this callback within 10 minutes, or the task will be considered to have `errored`. The supplied message attribute will be displayed in HCP Terraform on the run details page. The status can be `running`, `passed` or `failed`. + +Here's what the data flow looks like: + +![Screenshot: a diagram of the user and data flow for an HCP Terraform run task](/img/docs/terraform-cloud-run-tasks-diagram.png) + +Refer to the [run task integration API](/terraform/enterprise/api-docs/run-tasks/run-tasks-integration#structured-results) for the exact payload specifications, and the [run task JSON schema](https://github.com/hashicorp/terraform-docs-common/blob/main/website/public/schema/run-tasks/runtask-result.json) for code generation and payload validation. + +## Securing your Run Task + +When creating your run task, you can supply an HMAC key which HCP Terraform will use to create a signature of the payload in the `X-Tfc-Task-Signature` header when calling your service. + +The signature is a sha512 sum of the webhook body using the provided HMAC key. The generation of the signature depends on your implementation, however an example of how to generate a signature in bash is provided below. + +```bash +$ echo -n $WEBHOOK_BODY | openssl dgst -sha512 -hmac "$HMAC_KEY" +``` + +## HCP Packer Run Task + +> **Hands On:** Try the [Set Up HCP Terraform Run Task for HCP Packer](/packer/tutorials/hcp/setup-hcp-terraform-run-task), [Standard tier run task image validation](/packer/tutorials/hcp/run-tasks-data-source-image-validation), and [Plus tier run task image validation](/packer/tutorials/hcp/run-tasks-resource-image-validation) tutorials to set up and test the HCP Terraform Run Task integration end to end. + +[Packer](https://www.packer.io/) lets you create identical machine images for multiple platforms from a single source template. The [HCP Packer registry](/hcp/docs/packer) lets you track golden images, designate images for test and production environments, and query images to use in Packer and Terraform configurations. + +The HCP Packer validation run task checks the image artifacts within a Terraform configuration. If the configuration references images marked as unusable (revoked), the run task fails and provides an error message containing the number of revoked artifacts and whether HCP Packer has metadata for newer versions. For HCP Packer Plus registries, run tasks also help you identify hardcoded and untracked images that may not meet security and compliance requirements. + +To get started, [create an HCP Packer account](https://cloud.hashicorp.com/products/packer) and follow the instructions in the [HCP Packer Run Task](/hcp/docs/packer/manage-image-use/terraform-cloud-run-tasks) documentation. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/admin-guide.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/admin-guide.mdx new file mode 100644 index 0000000000..735371a432 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/admin-guide.mdx @@ -0,0 +1,56 @@ +--- +page_title: Configure the ServiceNow Service Catalog integration +description: Learn how to configure the ServiceNow Service Catalog integration workers. +source: terraform-docs-common +--- + +# Configure the ServiceNow Service Catalog integration + +ServiceNow administrators have several options with configuring the Terraform +integration. + +If you haven't yet installed the integration, see the [installation +documentation](/terraform/enterprise/integrations/service-now/service-catalog-terraform). + +Once the integration has been installed, you can add and customize a service +catalog and VCS repositories using the [service catalog +documentation](/terraform/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config). + +You can also configure how frequently ServiceNow will poll HCP Terraform using +the documentation below. + +## Configure Polling Workers + +The integration includes 3 ServiceNow Scheduled Flows to poll the HCP Terraform +API using ServiceNow Outbound HTTP REST requests. By default, all flows +schedules are set to 5 minutes. These can be customized inside the ServiceNow +Server Studio: + +1. Select the Worker Poll Run State Flow. +2. Adjust Repeat Intervals +3. Click "Done" +4. Click "Save" +5. Click "Activate" + +### Worker Poll Apply Run + +This worker approves runs for any workspaces that have finished a Terraform plan +and are ready to apply their changes. It also adds a comment on the request item +for those workspaces notifying that a run has been triggered. + +### Worker Poll Destroy Workspace + +This worker looks for any records in the Terraform ServiceNow table that are +marked for deletion with the value `is_destroyable` set to true. It then checks +the status of the workspace to ensure it is ready to be deleted. Once the +destroy run has been completed, this work will send the delete request for the +workspace to Terraform. + +### Worker Poll Run State + +The worker synchronizes ServiceNow with the current run state of Terraform +workspaces by polling the HCP Terraform API. On state changes, the worker adds +a comment to the ServiceNow request item with the updated run state and other +metadata. + +![screenshot: ServiceNow integration comments](/img/docs/service-now-comments.png) diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/developer-reference.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/developer-reference.mdx new file mode 100644 index 0000000000..13ae4b2163 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/developer-reference.mdx @@ -0,0 +1,112 @@ +--- +page_title: ServiceNow Service Catalog integration developer reference +description: Learn how developers can customize the ServiceNow Service Catalog integration. +source: terraform-docs-common +--- + +# Terraform ServiceNow Service Catalog Integration Developer Reference + +The Terraform ServiceNow integration can be customized by ServiceNow developers +using the information found in this document. + +## Terraform Variables and ServiceNow Variable Sets + +ServiceNow has the concept of a Variable Set which is a collection of ServiceNow +Variables that can be referenced in a Flow from a Service Catalog item. The +Terraform Integration codebase can create [Terraform Variables and Terraform +Environment Variables](/terraform/enterprise/workspaces/variables) via the API using the +`tf_variable.createVariablesFromSet()` function. + +This function looks for variables following these conventions: + +| ServiceNow Variable Name | HCP Terraform Variable | +| -------------------------------- | ---------------------------------------------------------- | +| `tf_var_VARIABLE_NAME` | Terraform Variable: `VARIABLE_NAME` | +| `tf_env_ENV_NAME` | Environment Variable: `ENV_NAME` | +| `sensitive_tf_var_VARIABLE_NAME` | Sensitive Terraform Variable (Write Only): `VARIABLE_NAME` | +| `sensitive_tf_env_ENV_NAME` | Sensitive Environment Variable (Write Only): `ENV_NAME` | + +This function takes the ServiceNow Variable Set and HCP Terraform workspace +ID. It will loop through the given variable set collection and create any +necessary Terraform variables or environment variables in the workspace. + +## Customizing with ServiceNow "Script Includes" Libraries + +The Terraform/ServiceNow Integration codebase includes [ServiceNow Script +Includes +Classes](https://docs.servicenow.com/csh?topicname=c_ScriptIncludes.html&version=latest) +that are used to interface with HCP Terraform. The codebase also includes +example catalog items and flows that implement the interface to the HCP Terraform API. + +These classes and examples can be used to help create ServiceNow Catalog Items +customized to your specific ServiceNow instance and requirements. + +### Script Include Classes + +The ServiceNow Script Include Classes can be found in the ServiceNow Studio > +Server Development > Script Include. + +| Class Name | Description | +| ---------------------- | -------------------------------------------------------------- | +| `tf_config` | Helper to pull values from the SN Terraform Configs Table | +| `tf_get_workspace` | Client-callable script to retrieve workspace data | +| `tf_http` | ServiceNow HTTP REST wrapper for requests to the Terraform API | +| `tf_no_code_workspace` | Resources for Terraform no-code module API requests | +| `tf_run` | Resources for Terraform run API requests | +| `tf_terraform_record` | Manage ServiceNow Terraform Table Records | +| `tf_test_config` | Client-callable script to test Terraform connectivity | +| `tf_util` | Miscellaneous helper functions | +| `tf_variable` | Resources for Terraform variable API Requests | +| `tf_vcs_record` | Manage ServiceNow Terraform VCS repositories table records | +| `tf_workspace` | Resources for Terraform workspace API requests | + +### Example Service Catalog Flows and Actions + +The ServiceNow Service Catalog for Terraform provides sample catalog items that use **Flows** +and **Workflows** as their primary process engines. **Flows** are a newer solution developed +by ServiceNow and are generally preferred over **Workflows**. To see which engine an item is using, open it +in the edit mode and navigate to the **Process Engine** tab. For example, **Create Workspace** uses a **Workflow**, +whereas **Create Workspace Flow** is built upon a **Flow**. You can access both in the **Studio**. You can also +manage **Flows** in the **Flow Designer**. To manage **Workflows**, navigate to **All > Workflow Editor**. + +You can find the ServiceNow Example Flows for Terraform in the **ServiceNow Studio > Flows** (or **All > Flow Designer**). +Search for items that belong to the **Terraform** application. By default, Flows execute when someone submits an order request +for a catalog item based on a Flow. Admins can customize the Flows and Actions to add approval flows, set approval rules based +on certain conditions, and configure multiple users or roles as approvers for specific catalog items. + +| Flow Name | Description | +| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Create Workspace | Creates a new HCP Terraform workspace from VCS repository. | +| Create Workspace with Vars | Creates a new HCP Terraform workspace from VCS repository and creates any variables provided. | +| Create Run | Creates and queues a new run in the HCP Terraform workspace. | +| Apply Run | Applies a run in the HCP Terraform workspace. | +| Provision Resources | Creates a new HCP Terraform workspace (with auto-apply), creates and queues a run, then applies the run when ready. | +| Provision Resources with Vars | Creates a new HCP Terraform workspace (with auto-apply), creates any variables, creates/queues a run, applies the run when ready. | +| Provision No-Code Workspace and Deploy Resources | Creates a new HCP Terraform workspace based on a no-code module configured in the private registry (with auto-apply), creates any variables, creates and queues a run, then applies the run when ready. | +| Delete Workspace | Creates a destroy run plan. | +| Worker Poll Run State | Polls the HCP Terraform API for the current run state of a workspace. | +| Worker Poll Apply Run | Polls the HCP Terraform API and applies any pending Terraform runs. | +| Worker Poll Destroy Workspace | Queries ServiceNow Terraform Records for resources marked `is_destroyable`, applies the destroy run to destroy resources, and deletes the corresponding Terraform workspace. | +| Update No-Code Workspace and Deploy Resources | Updates an existing no-code workspace to the most recent no-code module version, updates that workspace's attached variable values, and then starts a new Terraform run. | +| Update Workspace | Updates HCP Terraform workspace configurations, such as VCS repository, description, project, execution mode, and agent pool ID (if applicable). | +| Update Workspace with Vars | Allows you to change details about the HCP Terraform workspace configurations and attached variable values. | +| Update Resources | Updates HCP Terraform workspace details and starts a new Terraform run with these new values. | +| Update Resources with Vars | Updates your existing HCP Terraform workspace and its variables, then starts a Terraform run with these updated values. | + +## ServiceNow ACLs + +Access control lists (ACLs) restrict user access to objects and operations based +on permissions granted. This integration includes the following roles that can +be used to manage various components. + +| Access Control Roles | Description | +| :---------------------------------- | --------------------------------------------------------------------------------------------- | +| `x_terraform.config_user` | Can manage the connection from the ServiceNow application to your HCP Terraform organization. | +| `x_terraform.terraform_user` | Can manage all of the Terraform resources created in ServiceNow. | +| `x_terraform.vcs_repositories_user` | Can manage the VCS repositories available for catalog items to be ordered by end-users. | + +For users who only need to order from the Terraform Catalog, we recommend +creating another role with read-only permissions for +`x_terraform_vcs_repositories` to view the available repositories for ordering +infrastructure. Install the Terraform ServiceNow Service Catalog integration by +following [the installation guide](/terraform/enterprise/integrations/service-now/service-catalog-terraform). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/example-customizations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/example-customizations.mdx new file mode 100644 index 0000000000..c14d11a220 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/example-customizations.mdx @@ -0,0 +1,174 @@ +--- +page_title: ServiceNow Service Catalog integration example configurations +description: >- + Learn from example common customizations of the ServiceNow Service Catalog + integration. +source: terraform-docs-common +--- + +# ServiceNow Service Catalog integration example configurations + +This example use case creates a Terraform Catalog Item for requesting resources +with custom variable values passed to the Terraform configuration. + +## Change the scope + +When you make a customization to the app, ensure you switch to the "Terraform" +scope. This guarantees that all items you create are correctly assigned to that +scope. To change the scope in your ServiceNow instance, click the globe icon at +the top right of the screen. For detailed instructions on changing the scope, +refer to the [ServiceNow +documentation](https://developer.servicenow.com/dev.do#!/learn/learning-plans/xanadu/new_to_servicenow/app_store_learnv2_buildneedit_xanadu_application_scope). + +## Make a copy of the existing Catalog Item + +The ServiceNow Service Catalog for Terraform application provides pre-configured [Catalog +Items](/terraform/enterprise/integrations/service-now/service-catalog-terraform/developer-reference#example-service-catalog-flows-and-actions) +for immediate use. We recommend creating a copy of the most recent version of the +Catalog Item to ensure you have access to the latest features and +improvements. Make a copy of the most appropriate Catalog Item for your specific +business requirements by following these steps: + +1. Navigate to **All > Service Catalog > Catalogs > Terraform Catalog**, and review the + Catalog Items based on flows, whose names use the suffix "Flow". + We recommend choosing Flows over Workflows because Flows provide enhanced functionality and performance and are actively developed by ServiceNow. + For more information, refer + to [Catalog Items based on Flows vs. Workflows](/terraform/enterprise/integrations/service-now/service-catalog-terraform/developer-reference#example-service-catalog-flows-and-actions). +2. Open the Catalog Item in editing mode: + 1. Click the Catalog Item to open the request form. + 2. Click **...** in the top right corner. + 3. Select **Configure Item** from the menu. + ![Screenshot: ServiceNow Configure Catalog Item](/img/docs/servicenow-catalog-configure-item.png "Screenshot of the ServiceNow Configure Catalog Item dropdown menu") +3. Click the **Process Engine** tab in the Catalog Item configuration. Take + note of the Flow name associated with the Catalog Item, because you need to + create a copy of this Flow as well. + ![Screenshot: ServiceNow Process Engine](/img/docs/servicenow-catalog-process-engine.png "Screenshot of the ServiceNow Configure Catalog Item – Process Engine tab") +4. Start the copying process: + 1. Click the **Copy** button above the **Related Links** section. + 2. Assign a new name to the copied Catalog Item. + 3. Optionally, modify the description and short description fields. + Right-click the header and select **Save**. + ![Screenshot: ServiceNow Copy Item](/img/docs/servicenow-catalog-copied-item.png "Screenshot of the copied ServiceNow Catalog Item") + +## Adjust the Variable Set + +If a Catalog Item requires users to input variable values, +you must update the variable set with those required variables. +Although some default Catalog Items come with pre-defined example variables, it +is common practice to remove these and replace them with your own custom +variables. + +1. Create a new Variable Set. + 1. On the Catalog Item's configuration page, under the **Related Links** + section, click the **Variable Sets** tab. + 2. Click the **New** button to create a new variable set. Ensure that the + variables in your new set match the variables required by your Terraform + configuration. + ![Screenshot: ServiceNow New Variable Set](/img/docs/servicenow-catalog-new-varset.png "Screenshot of the ServiceNow Catalog Item – new Variable Set") + 3. Select **Single-Row Variable Set** and provide a title and description. + 4. Click **Submit**. Upon submission, you will be redirected back to the Catalog + Item's configuration page. + ![Screenshot: ServiceNow New Variable Set Form](/img/docs/servicenow-catalog-new-varset-form.png "Screenshot of the ServiceNow Catalog Item – new Variable Set") + 5. Click the name of your newly created Variable Set and create your + variables. You must follow the [naming convention for Terraform + variables](/terraform/enterprise/integrations/service-now/service-catalog-terraform/developer-reference#terraform-variables-and-servicenow-variable-sets). + ServiceNow offers various types of variable representation (such as strings, + booleans, and dropdown menus). Refer to the [ServiceNow documentation on + variables](https://docs.servicenow.com/csh?topicname=c_ServiceCatalogVariables.html&version=latest) + and select the types that best suit your use case. You can also set default + values for the variables in the **Default Value** tab, which ServiceNow prefills for the end users. + ![Screenshot: ServiceNow New Variables](/img/docs/servicenow-catalog-variables.png "Screenshot of the ServiceNow Catalog Item – new variables") +2. Attach the newly created Variable Set to your custom Catalog Item and remove + the default Workspace Variables. + 1. Return to the **Variable Sets** tab on the Catalog Item's configuration page + and click the **Edit** button. + 2. Move the "Workspace Variables" Set from the right side to the left side + and click **Save**. Do not remove the + "Workspace Request Create" or the "Workspace Request Update" Sets. + ![Screenshot: ServiceNow Remove Example Variables](/img/docs/servicenow-catalog-remove-example-variables.png "Screenshot of the ServiceNow Catalog Item – new variables") + +## Make a copy of the Flow and Action + +1. Open the ServiceNow Studio by navigating to **All > Studio** and open the + "Terraform" application. Once in the **Terraform** application, navigate to + **Flow Designer > Flows**. + ![Screenshot: ServiceNow Flow Designer Interface](/img/docs/servicenow-catalog-original-flow.png "Screenshot of the ServiceNow Flow Designer – selecting a Flow") + + Another way to access the ServiceNow Studio is to click **All**, select + "Flow Designer", then select **Flows**. You can set the **Application** + filter to "Terraform" to quickly find the desired Flow. +2. Open the Flow referenced in your Catalog Item. Click **...** + in the top right corner of the Flow Designer interface and + select **Copy flow**. Provide a name for the copied Flow and + click **Copy**. + ![Screenshot: ServiceNow Copy Flow Interface](/img/docs/servicenow-catalog-copy-flow.png "Screenshot of the ServiceNow Flow Designer – copying a Flow") +3. Customize your newly copied Flow by clicking **Edit flow**. + ![Screenshot: ServiceNow Edit New Flow Interface](/img/docs/servicenow-catalog-edit-flow.png "Screenshot of the ServiceNow Flow Designer – editing a Flow") + 1. Do not change the **Service Catalog** trigger. + 2. Update the "Get Catalog Variables" action: + 1. Keep the "Requested Item Record" in the **Submitted Request** field. + 2. Select your newly created Catalog Item from the dropdown menu for + **Template Catalog Item**. + 3. Move all of your variables to the **Selected** side in the **Catalog + Variables** section. Remove any previous example variables from the + **Available** side. + ![Screenshot: ServiceNow Get Variables Flow Step](/img/docs/servicenow-catalog-get-variables.png "Screenshot of the ServiceNow Flow Designer – getting Variables step") + 4. Click **Done** to finish configuring this Action. +4. Unfold the second Action in the Flow and click the arrow to open it in + the Action Designer. + ![Screenshot: ServiceNow Open Action Designer](/img/docs/servicenow-catalog-open-action.png "Screenshot of the ServiceNow Action Designer") + 1. Click **...** in the top right corner and select **Copy Action**. + ![Screenshot: ServiceNow Copy Action](/img/docs/servicenow-catalog-copy-action.png "Screenshot of the ServiceNow Copy Action") + Rename it and click **Copy**. + ![Screenshot: ServiceNow Rename Action](/img/docs/servicenow-catalog-rename-action.png "Screenshot of the ServiceNow Rename Action") + 2. In the the Inputs section, remove any previous example variables. + ![Screenshot: ServiceNow Remove Variables From Action](/img/docs/servicenow-catalog-remove-example-variables-from-action.png "Screenshot of the ServiceNow Action Input Variables") + 3. Add your custom variables by clicking the **Create Input** button. Ensure that the variable names match your Catalog Item variables and select the variable type that matches each variable. Click **Save**. + ![Screenshot: ServiceNow Add Variables To Action](/img/docs/servicenow-catalog-add-variables-to-action.png "Screenshot of adding ServiceNow Action Input Variables") + 4. Open the **Script step** within the Action. Remove any example variables + and add your custom variables by clicking **Create Variable** at the + bottom. Enter the name of each variable and drag the corresponding data + pill from the right into the **Value field**. + ![Screenshot: ServiceNow Add Script Step Variables To Action](/img/docs/servicenow-catalog-adjust-script-variables.png "Screenshot of adjusting ServiceNow Action Script Variables") + 5. Click **Save** and then **Publish**. +5. Reopen the Flow and attach the newly created Action to the Flow + after "Get Catalog Variables" step: + 1. Remove the "Create Terraform Workspace with Vars" Action that you copied earlier and replace it with + your newly created Action. + ![Screenshot: ServiceNow Replace Action Step](/img/docs/servicenow-catalog-replace-action.png "Screenshot of replacing ServiceNow Action step") + 2. Connect the new Action to the Flow by dragging and dropping the data pills + from the "Get Catalog Variables" Action to the corresponding inputs of + your new Action. Click **Done** to save this step. + ![Screenshot: ServiceNow Fill Variables for Action](/img/docs/servicenow-catalog-fill-new-action-step.png "Screenshot of filling out ServiceNow Action variables") + 3. Click **Save**. + 4. Click **Activate** to enable the Flow and make it available for use. + +## Set the Flow for your Catalog Item + +1. Navigate back to the Catalog by clicking on **All** and then go to **Service + Catalog > Catalogs > Terraform Catalog**. +2. Locate your custom Catalog Item and click **...** at the top + of the item. From the dropdown menu, select **Configure item**. +3. In the configuration settings, click the **Process Engine** tab. +4. In the **Flow** field, search for the Flow you recently created. Click + the Flow then click the **Update**. + ![Screenshot: ServiceNow Update Process Engine](/img/docs/servicenow-catalog-update-process-engine.png "Screenshot of updating Process Engine for the Catalog Item") + +## Test the Catalog Item + +The new item is now available in the Terraform Service Catalog. To make the +new item accessible to your end users via the Service Portal, follow these +steps: + +1. Navigate to the configuration page of the item you want to make available. +2. Locate the **Catalogs** field on the configuration page and click the lock + icon next to it. +3. In the search bar, type "Service Catalog" and select it from the search + results. Add "Service Catalog" to the list of catalogs associated with the + item. Click the lock icon again to lock the changes. + ![Screenshot: ServiceNow Enable Service Portal](/img/docs/servicenow-catalog-service-portal.png "Screenshot of adding the Catalog Item to the Service Portal") +4. Click the **Update** button at the top of the page. + +After completing these steps, end users will be able to +access the new item through the Service Portal of your ServiceNow instance. You +can access the Service Portal by navigating to **All > Service Portal Home**. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/index.mdx new file mode 100644 index 0000000000..83f0111836 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/index.mdx @@ -0,0 +1,239 @@ +--- +page_title: Set up ServiceNow Service Catalog integration for Terraform Enterprise +description: >- + Learn how to set up the ServiceNow Service Catalog integration for Terraform + Enterprise. +source: terraform-docs-common +--- + +# Set up ServiceNow Service Catalog integration for HCP Terraform + +-> **Integration version:** v2.8.1 + +The Terraform ServiceNow Service Catalog integration enables your end-users to +provision self-serve infrastructure via ServiceNow. By connecting ServiceNow to +HCP Terraform, this integration lets ServiceNow users order Service Items, +create workspaces, and perform Terraform runs using prepared Terraform +configurations hosted in VCS repositories or as [no-code +modules](/terraform/enterprise/no-code-provisioning/module-design) for +self-service provisioning. + + + +@include 'tfc-package-callouts/servicenow-catalog.mdx' + + + +## Summary of the Setup Process + +The integration relies on Terraform ServiceNow Catalog integration software +installed within your ServiceNow instance. Installing and configuring this +integration requires administration in both ServiceNow and HCP Terraform. +Since administrators of these services within your organization are not +necessarily the same person, this documentation refers to a **ServiceNow Admin** +and a **Terraform Admin**. + +First, the Terraform Admin configures your HCP Terraform organization with a +dedicated team for the ServiceNow integration, and obtains a team API token for +that team. The Terraform Admin provides the following to your ServiceNow admin: + +- An Organization name +- A team API token +- The hostname of your HCP Terraform instance +- Any available no-code modules or version control repositories containing Terraform configurations +- Other required variables + token, the hostname of your HCP Terraform instance, and details about no-code + modules or version control repositories containing Terraform configurations and + required variables to the ServiceNow Admin. + +Next, the ServiceNow Admin will install the Terraform ServiceNow Catalog +integration to your ServiceNow instance, and configure it using the team API +token and hostname. + +Finally, the ServiceNow Admin will create a Service Catalog within ServiceNow +for the Terraform integration, and configure it using the version control +repositories or no-code modules, and variable definitions provided by the +Terraform Admin. + +| ServiceNow Admin | Terraform Admin | +| ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| | Prepare an organization for use with the ServiceNow Catalog. | +| | Create a team that can manage workspaces in that organization. | +| | Create a team API token so the integration can use that team's permissions. | +| | If using VCS repositories, retrieve the OAuth token IDs and repository identifiers that HCP Terraform uses to identify your VCS repositories. If using a no-code flow, [create a no-code ready module](/terraform/enterprise/no-code-provisioning/provisioning) in your organization's private registry. Learn more in [Configure VCS Repositories or No-Code Modules](/terraform/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config#configure-vcs-repositories-or-no-code-modules). | +| | Provide the API token, OAuth token ID, repository identifiers, variable definitions, and HCP Terraform hostname to the ServiceNow Admin. | +| Install the Terraform integration application from the ServiceNow App Store. | | +| Connect the integration application with HCP Terraform. | | +| Add the Terraform Service Catalog to ServiceNow. | | +| If you are using the VCS flow, configure the VCS repositories in ServiceNow. | | +| Configure variable sets for use with the VCS repositories or no-code modules. | | + +Once these steps are complete, self-serve infrastructure will be available +through the ServiceNow Catalog. HCP Terraform will provision and manage +requested infrastructure and report the status back to ServiceNow. + +## Prerequisites + +To start using Terraform with the ServiceNow Catalog Integration, you must have: + +- An administrator account on a Terraform Enterprise instance or within a + HCP Terraform organization. +- An administrator account on your ServiceNow instance. +- If you are using the VCS flow, one or more [supported version control + systems](/terraform/enterprise/vcs#supported-vcs-providers) (VCSs) with read + access to repositories with Terraform configurations. +- If you are using no-code provisioning, one or more [no-code modules](/terraform/enterprise/no-code-provisioning/provisioning) created in + your organization's private registry. Refer to the [no-code module + configuration](/terraform/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config#no-code-module-configuration) + for information about using no-code modules with the ServiceNow Service Catalog + for Terraform. + +You can use this integration on the following ServiceNow server versions: + +- Washington DC +- Xanadu +- Yokohama + +It requires the following ServiceNow plugins as dependencies: + +- Flow Designer support for the Service Catalog (`com.glideapp.servicecatalog.flow_designer`) +- ServiceNow IntegrationHub Action Step - Script (`com.glide.hub.action_step.script`) +- ServiceNow IntegrationHub Action Step - REST (`com.glide.hub.action_step.rest`) + +-> **Note:** Dependent plugins are installed on your ServiceNow instance automatically when the app is downloaded from the ServiceNow Store. + +## Configure HCP Terraform + +Before installing the ServiceNow integration, the Terraform Admin will need to +perform the following steps to configure and gather information from HCP +Terraform. + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise. +2. Either [create an + organization](/terraform/enterprise/users-teams-organizations/organizations#creating-organizations) + or choose an existing organization where ServiceNow will create new + workspaces. + **Save the organization name for later.** +3. [Create a team](/terraform/enterprise/users-teams-organizations/teams) for that + organization called "ServiceNow", and ensure that it has [permission to + manage + workspaces](/terraform/enterprise/users-teams-organizations/permissions#manage-all-workspaces). + You do not need to add any users to this team. + [permissions-citation]: #intentionally-unused---keep-for-maintainers +4. On the "ServiceNow" team's settings page, generate a [team API + token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). + **Save the team API token for later.** +5. If you are using the [VCS flow](/terraform/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config#vcs-configuration): + 1. Ensure your Terraform organization is [connected to a VCS provider](/terraform/enterprise/vcs). Repositories that are connectable to HCP Terraform workspaces can also be used as workspace templates in the ServiceNow integration. + 2. On your organization's VCS provider settings page (**Settings** > **VCS Providers**), find the OAuth Token ID for the VCS provider(s) that you intend to use with the ServiceNow integration. HCP Terraform uses the OAuth token ID to identify and authorize the VCS provider. **Save the OAuth token ID for later.** + 3. Identify the VCS repositories in the VCS provider containing Terraform configurations that the ServiceNow Terraform integration will deploy. Take note of any Terraform or environment variables used by the repositories you select. Save the Terraform and environment variables for later. +6. If using the [no-code flow](/terraform/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config#no-code-module-configuration), create one or more no-code modules in the private registry of your HCP Terraform. **Save the no-code module names for later.** +7. Provide the following information to the ServiceNow Admin: + - The organization name + - The team API token + - The hostname of your Terraform Enterprise instance, or of HCP Terraform. The hostname of HCP Terraform is `app.terraform.io`. + - The no-code module name(s) or the OAuth token ID(s) of your VCS provider(s), and the repository identifier for each VCS repository containing Terraform configurations that will be used by the integration. + - Any Terraform or environment variables required by the configurations in the + given VCS repositories. + +-> **Note:** Repository identifiers are determined by your VCS provider; they +typically use a format like `/` or +`/`. Azure DevOps repositories use the format +`//_git/`. A GitHub repository hosted at +`https://github.com/exampleorg/examplerepo/` would have the repository +identifier `exampleorg/examplerepo`. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +For instance, if you are configuring this integration for your company, `Example +Corp`, using two GitHub repositories, you would share values like the following +with the ServiceNow Admin. + +```markdown +Terraform Enterprise Organization Name: `ServiceNowExampleOrg` + +Team API Token: `q2uPExampleELkQ.atlasv1.A7jGHmvufExampleTeamAPITokenimVYxwunJk0xD8ObVol054` + +Terraform Enterprise Hostname: `terraform.corp.example` + +OAuth Token ID (GitHub org: example-corp): `ot-DhjEXAMPLELVtFA` + - Repository ID (Developer Environment): `example-corp/developer-repo` + - Environment variables: + - `AWS_ACCESS_KEY_ID=AKIAEXAMPLEKEY` + - `AWS_SECRET_ACCESS_KEY=ZB0ExampleSecretAccessKeyGjUiJh` + - `AWS_DEFAULT_REGION=us-west-2` + - Terraform variables: + - `instance_type=t2.medium` + - Repository ID (Testing Environment): `example-corp/testing-repo` + - Environment variables: + - `AWS_ACCESS_KEY_ID=AKIAEXAMPLEKEY` + - `AWS_SECRET_ACCESS_KEY=ZB0ExampleSecretAccessKeyGjUiJh` + - `AWS_DEFAULT_REGION=us-west-2` + - Terraform variables: + - `instance_type=t2.large` +``` + +## Install the ServiceNow Integration + +Before beginning setup, the ServiceNow Admin must install the Terraform +ServiceNow Catalog integration software. + +This can be added to your ServiceNow instance from the [ServiceNow +Store](https://store.servicenow.com/sn_appstore_store.do). Search for the "Terraform" integration, +published by "HashiCorp Inc". + +![Screenshot: ServiceNow Store Page](/img/docs/service-now-store.png "Screenshot of the ServiceNow Store listing for the Terraform Integration") + +## Connect ServiceNow to HCP Terraform + +-> **ServiceNow Roles:** `admin` or `x_terraform.config_user` + +Once the integration is installed, the ServiceNow Admin can connect your +ServiceNow instance to HCP Terraform. Before you begin, you will need the +information described in the "Configure HCP Terraform" section from your +Terraform Admin. + +Once you have this information, connect ServiceNow to HCP Terraform with +the following steps. + +1. Navigate to your ServiceNow Service Management Screen. +2. Using the left-hand navigation, open the configuration table for the + integration to manage the HCP Terraform connection. + - Terraform > Configs +3. Click on "New" to create a new HCP Terraform connection. + - Set Org Name to the HCP Terraform organization name. + - Click on the "Lock" icon to set Hostname to the hostname of your Terraform + Enterprise instance. If you are using the SaaS version of HCP Terraform, + the hostname is `https://app.terraform.io`. Be sure to include "https://" + before the hostname. + - Set API Team Token to the HCP Terraform team API token. + - (Optional) To use the [MID Server](https://docs.servicenow.com/csh?topicname=mid-server-landing.html&version=latest), + select the checkbox and type the `name` in the `MID Server Name` field. +4. Click "Submit". + +![Screenshot: ServiceNow Terraform Config](/img/docs/service-now-updated-config.png "Screenshot of the ServiceNow Terraform Config New Record page") + +## Create and Populate a Service Catalog + +Now that you have connected ServiceNow to HCP Terraform, you are ready to +create a Service Catalog using the VCS repositories or no-code modules provided +by the Terraform Admin. + +Navigate to the [Service Catalog documentation](/terraform/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config) to +begin. You can also refer to this documentation whenever you need to add or +update request items. + +### ServiceNow Developer Reference + +ServiceNow developers who wish to customize the Terraform integration can refer +to the [developer documentation](/terraform/enterprise/integrations/service-now/service-catalog-terraform/developer-reference). + +### ServiceNow Administrator's Guide. + +Refer to the [ServiceNow Administrator documentation](/terraform/enterprise/integrations/service-now/service-catalog-terraform/admin-guide) for +information about configuring the integration. + +### Example Customizations + +Once the ServiceNow integration is installed, you can consult the [example +customizations documentation](/terraform/enterprise/integrations/service-now/service-catalog-terraform/example-customizations). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config.mdx new file mode 100644 index 0000000000..ce972ed701 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config.mdx @@ -0,0 +1,255 @@ +--- +page_title: Create and manage ServiceNow Service Catalog items with Terraform Enterprise +description: >- + Create and manage service catalog items to allow end users to provision + infrastructure using ServiceNow and Terraform Enterprise. +source: terraform-docs-common +--- + +# Create and manage ServiceNow Service Catalog items + +When using ServiceNow with the HCP Terraform integration, you will configure +at least one service catalog item. You will also configure one or more version +control system (VCS) repositories or no-code modules containing the Terraform +configurations which will be used to provision that infrastructure. End users +will request infrastructure from the service catalog, and HCP Terraform will +fulfill the request by creating a new workspace, applying the configuration, and +then reporting the results back to ServiceNow. + +## Prerequisites + +Before configuring a service catalog, you must install and configure the +HCP Terraform integration software on your ServiceNow instance. These steps +are covered in the [installation documentation](/terraform/enterprise/integrations/service-now/service-catalog-terraform). + +Additionally, you must have have the following information: + +1. The no-code module name or the OAuth token ID and repository identifier for + each VCS repository that HCP Terraform will use to provision + infrastructure. Your Terraform Admin will provide these to you. Learn more in + [Configure VCS Repositories or No-Code + Modules](/terraform/enterprise/integrations/service-now/service-catalog-terraform/service-catalog-config#configure-vcs-repositories-or-no-code-modules). +2. Any Terraform or environment variables required by the configurations in the + given VCS repositories or no-code modules. + +Once these steps are complete, in order for end users to provision +infrastructure with ServiceNow and HCP Terraform, the ServiceNow Admin will +perform the following steps to make Service Items available to your end users. + +1. Add at least one service catalog for use with Terraform. +2. If you are using the VCS flow, configure at least one one VCS repository in ServiceNow. +3. Create variable sets to define Terraform and environment variables to be used + by HCP Terraform to provision infrastructure. + +## Add the Terraform Service Catalog + +-> **ServiceNow Role:** `admin` + +First, add a Service Catalog for use with the Terraform integration. Depending +on your organization's needs, you might use a single service catalog, or +several. If you already have a Service Catalog to use with Terraform, skip to +the next step. + +1. In ServiceNow, open the Service Catalog > Catalogs view by searching for + "Service Catalog" in the left-hand navigation. + 1. Click the plus sign in the top right. + 2. Select "Catalogs > Terraform Catalog > Title and Image" and choose a + location to add the Service Catalog. + 3. Close the "Sections" dialog box by clicking the "x" in the upper right-hand + corner. + +-> **Note:** In step 1, be sure to choose "Catalogs", not "Catalog" from the +left-hand navigation. + +## Configure VCS Repositories or No-Code Modules + +-> **ServiceNow Roles:** `admin` or `x_terraform.vcs_repositories_user` + +Terraform workspaces created through the ServiceNow Service Catalog for +Terraform can be associated with a VCS +provider repository or be backed by a [no-code +module](/terraform/enterprise/no-code-provisioning/provisioning) in your +organization's private registry. Administrators determine which workspace type +end users can request from the Terraform Catalog. Below are the key +differences between the version control and no-code approaches. + +### VCS configuration + +To make infrastructure available to your users through version control +workspaces, you must add one or more VCS repositories containing Terraform +configurations to the Service Catalog for Terraform. + +1. In ServiceNow, open the "Terraform > VCS Repositories" table by searching for + "Terraform" in the left-hand navigation. +2. Click "New" to add a VCS repository, and fill in the following fields: + - Name: The name for this repository. This name will be visible to end + users, and does not have to be the same as the repository name as defined + by your VCS provider. Ideally it will succinctly describe the + infrastructure that will be provisioned by Terraform from the repository. + - OAuth Token ID: The OAuth token ID that from your HCP Terraform + organization's VCS providers settings. This ID specifies which VCS + provider configured in HCP Terraform hosts the desired repository. + - Identifier: The VCS repository that contains the Terraform configuration + for this workspace template. Repository identifiers are determined by your + VCS provider; they typically use a format like + `/` or `/`. Azure DevOps + repositories use the format `//_git/`. + - The remaining fields are optional. + - Branch: The branch within the repository, if different from the default + branch. + - Working Directory: The directory within the repository containing + Terraform configuration. + - Terraform Version: The version of Terraform to use. This will default to + the latest version of Terraform supported by your HCP Terraform + instance. +3. Click "Submit". + +![Screenshot: ServiceNow New VCS Repository](/img/docs/service-now-vcs-repository.png "Screenshot of the ServiceNow Terraform New VCS Repository page") + +After configuring your repositories in ServiceNow, the names of those +repositories will be available in the "VCS Repository" dropdown menu a user +orders new workspaces through the following items in the Terraform Catalog: + +- **Create Workspace** +- **Create Workspace with Variables** +- **Provision Resources** +- **Provision Resources with Variables** + +### No-Code Module Configuration + +In version 2.5.0 and newer, ServiceNow administrators can configure +Catalog Items using [no-code +modules](/terraform/enterprise/no-code-provisioning/provisioning). This release +introduces two new additions to the Terraform Catalog - no-code workspace +create and update Items. Both utilize no-code modules from the private registry +in HCP Terraform to enable end users to request infrastructure without writing +code. + + + +@include 'tfc-package-callouts/nocode.mdx' + + + +The following Catalog Items allow you to build and manage workspaces with +no-code modules: + +- **Provision No-Code Workspace and Deploy Resources**: creates a new Terraform + workspace based on a no-code module of your choice, supplies required variable + values, runs and applies Terraform. +- **Update No-Code Workspace and Deploy Resources**: Updates an existing no-code + workspace to the most recent no-code module version, updates that workspace's + attached variable values, and then starts and applies a new Terraform run. + +Administrators can skip configuring VCS repositories in ServiceNow when using +no-code modules. The only input required in the no-code workspace request form +is the name of the no-code module. + +Before utilizing a no-code module, you must publish it to the your organization's +private module registry. With this one-time configuration complete, ServiceNow +Administrators can then call the modules through Catalog requests without +repository management, simplifying the use of infrastructure-as-code. + +> **Hands On:** Try the [Self-service enablement with HCP Terraform and ServiceNow tutorial](/terraform/tutorials/it-saas/servicenow-no-code). + +## Configure a Variable Set + +Most Terraform configurations can be customized with Terraform variables or +environment variables. You can create a Variable Set within ServiceNow to +contain the variables needed for a given configuration. Your Terraform Admin +should provide these to you. + +1. In ServiceNow, open the "Service Catalog > Variable Sets" table by searching for + "variable sets" in the left-hand navigation. +2. Click "New" to add a Variable Set. +3. Select "Single-Row Variable Set". + - Title: User-visible title for the variable set. + - Internal name: The internal name for the variable set. + - Order: The order in which the variable set will be displayed. + - Type: Should be set to "Single Row" + - Application: Should be set to "Terraform" + - Display title: Whether the title is displayed to the end user. + - Layout: How the variables in the set will be displayed on the screen. + - Description: A long description of the variable set. +4. Click "Submit" to create the variable set. +5. Find and click on the title of the new variable set in the Variable Sets + table. +6. At the bottom of the variable set details page, click "New" to add a new + variable. + +- Type: Should be "Single Line Text" for most variables, or "Masked" for + variables containing sensitive values. +- Question: The user-visible question or label for the variable. +- Name: The internal name of the variable. This must be derived from the name of the + Terraform or environment variable. Consult the table below to determine the + proper prefix for each variable name. +- Tooltip: A tooltip to display for the variable. +- Example Text: Example text to show in the variable's input box. + +1. Under the "Default Value" tab, you can set a default value for the variable. +2. Continue to add new variables corresponding to the Terraform and environment + variables the configuration requires. + +When the Terraform integration applies configuration, it will map ServiceNow +variables to Terraform and environment variables using the following convention. +ServiceNow variables that begin with "sensitive\_" will be saved as sensitive +variables within HCP Terraform. + +| ServiceNow Variable Name | HCP Terraform Variable | +| -------------------------------- | ---------------------------------------------------------- | +| `tf_var_VARIABLE_NAME` | Terraform Variable: `VARIABLE_NAME` | +| `tf_env_ENV_NAME` | Environment Variable: `ENV_NAME` | +| `sensitive_tf_var_VARIABLE_NAME` | Sensitive Terraform Variable (Write Only): `VARIABLE_NAME` | +| `sensitive_tf_env_ENV_NAME` | Sensitive Environment Variable (Write Only): `ENV_NAME` | + +## Provision Infrastructure + +Once you configure the Service Catalog for Terraform, ServiceNow users +can request infrastructure to be provisioned by HCP Terraform. + +These requests will be fulfilled by HCP Terraform, which will: + +1. Create a new workspace from the no-code module or the VCS repository provided by ServiceNow. +2. Configure variables for that workspace, also provided by ServiceNow. +3. Plan and apply the change. +4. Report the results, including any outputs from Terraform, to ServiceNow. + +Once this is complete, ServiceNow will reflect that the Request Item has been +provisioned. + +-> **Note:** The integration creates workspaces with +[auto-apply](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply) +enabled. HCP Terraform will queue an apply for these workspaces whenever +changes are merged to the associated VCS repositories. This is known as the +[VCS-driven run workflow](/terraform/enterprise/run/ui). It is important to keep in mind +that all of the ServiceNow workspaces connected to a given repository will be +updated whenever changes are merged to the associated branch in that repository. + +## Execution Mode + +If using v2.2.0 or above, the Service Catalog app allows you to set an [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) for your Terraform workspaces. There are two modes to choose from: + +- The default value is "Remote", which instructs HCP Terraform to perform runs on its disposable virtual machines. +- Selecting "Agent" mode allows you to run Terraform operations on isolated, private, or on-premises infrastructure. This option requires you to create an Agent Pool in your organization beforehand, then provide that Agent Pool's id when you order a new workspace through the Service Catalog. + + + +@include 'tfc-package-callouts/agents.mdx' + + + +## Workspace Name + +Version 2.4.0 of the Service Catalog for Terraform introduces the ability to set custom names for your Terraform workspaces. You can choose a prefix for your workspace name that the Service Catalog app will append the ServiceNow RITM number to. If you do not define a workspace prefix, ServiceNow will use RITM number as the workspace name. + +Workspace names can include letters, numbers, dashes (`-`), and underscores (`_`), and should not exceed 90 characters. +Refer to the [workspace naming recommendations](/terraform/enterprise/workspaces/create#workspace-naming) for best practices. + +## Workspace Tags + +Version 2.8.0 extends support for the key-value pair tags while still also supporting flat string tags version 2.4.0 introduced. Use the "Workspace Tags" field to provide a comma-separated list of key-value pair tags in the format "env: prod, instance: test" that will be parsed and attached to the workspace in HCP Terraform. + +Tags give you an easier way to categorize, filter, and manage workspaces provisioned through the Service Catalog for Terraform. +We recommend that you set naming conventions for tags with your end users to avoid variations such as `ec2`, `aws-ec2`, `aws_ec2`. + +Workspace tags have a 255 character limit and can contain letters, numbers, colons, hyphens, and underscores. Refer to the [workspace tagging rules](/terraform/enterprise/workspaces/create#workspace-tags) for more details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/troubleshoot.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/troubleshoot.mdx new file mode 100644 index 0000000000..b43864651c --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-catalog-terraform/troubleshoot.mdx @@ -0,0 +1,120 @@ +--- +page_title: >- + Troubleshoot the ServiceNow Service Catalog Integration for Terraform + Enterprise +description: Troubleshooting tips for ServiceNow Service Catalog Integration. +source: terraform-docs-common +--- + +# Troubleshoot the ServiceNow Service Catalog integration + +This page offers troubleshooting tips for common issues with the ServiceNow Service Catalog Integration for HCP Terraform. +It also provides instructions on how to find and read logs to diagnose and resolve issues. + +## Find logs + +Logs are crucial for diagnosing issues. You can find logs in ServiceNow in the following places: + +### Workflow logs + +To find workflow logs, click on the RITM number on a failed ticket to open the request item. +Scroll down to **Related Links > Workflow Context** and open the **Workflow Log** tab. + +### Flow logs + +To find flow logs, click on the RITM number on a failed ticket to open the request item. +Scroll down to **Related Links > Flow Context > Open Context Record** and open the **Flow engine log entries** tab. + +### Application logs + +To find application logs, navigate to **All > System Log > Application Logs.** +Set the **Application** filter to "Terraform". +Search for logs around the time your issue occurred. Some records include HTTP status codes and detailed error messages. + +### Outbound requests + +ServiceNow logs all outgoing API calls, including calls to HCP Terraform. To view the log of outbound requests, navigate to **All > System Logs > Outbound HTTP Requests.** +To customize the table view, add columns like "URL," "URL Path," and "Application scope." +Logs from the Catalog app are marked with the `x_325709_terraform` scope. + +## Enable email notifications + +To enable email notifications and receive updates on your requested item tickets: + +1. Log in to your ServiceNow instance as an administrator. +2. **Click System Properties > Email Properties**. +3. In the **Outbound Email Configuration** panel, select **Yes** next to the check-box with the email that ServiceNow should send notifications to. + +To ensure you have relevant notifications configured in your instance: + +1. Navigate to **System Notification > Email > Notifications.** +2. Search for "Request Opened" and "Request Item Commented" and ensure they are activated. + +Reach out to ServiceNow customer support if you run into any issues with the global configurations. + +## Common problems + +This section details frequently encountered issues and how they can be resolved. + +### Failure to create a workspace + +If you order the "create a workspace" catalog item and nothing happens in ServiceNow and HCP Terraform does not create a workspace then there are several possible reasons why: + +Ensure your HCP Terraform token, hostname, and organization name is correct. + +1. Make sure to use a **Team API Token**. This can be found in HCP Terraform under "API Tokens". +2. Ensure the team API token has the correct permissions. +3. Double-check your organization name by copying and pasting it from HCP Terraform or Terraform Enterprise. +4. Double-check your host name. +5. Make sure you created your team API token in the same organization you are using +6. Test your configuration. First click **Update** to process any changes then \*\*Test Config to make sure the connection is working. + +Verify your VCS configuration. + +1. The **Identifier** field should not have any spaces. The ServiceNow Service Catalog Integration requires that you format repository names in the `username/repo_name` format. +2. The **Name** can be anything, but it is better to avoid special characters as per naming convention. +3. Double-check the OAuth token ID in your HCP Terraform/Terraform Enterprise settings. To retrieve your OAuth token ID, navigate to your HCP Terraform organization's settings page, then click **Provider** in the left navigation bar under **Version Control**. + +### Failure to successfully order any catalog item + +After placing an order for any catalog item, navigate to the comments section in the newly created RITM ticket. +The latest comment will contain a response from HCP Terraform. + +### Frequency of comments and outputs + +When you place an order in the Terraform Catalog, ServiceNow submits and processes the order, then attaches additional comments to the order to indicate whether HCP Terraform successfully created the workspace. + +By default, ServiceNow polls HCP Terraform every 5 minutes for the latest status of the Terraform run. ServiceNow does not show any comments until the next ping. + +To configure ServiceNow to poll HCP Terraform more frequently: + +1. Navigate to **All > Flow designer**. +2. Set the **Application** filter to **Terraform**. +3. Under the **Name** column click **Worker Poll Run State**. +4. Click on the trigger and adjust the interval to your desired schedule. +5. Click **Done > Save > Activate** to save your changes. + +### Using no-code modules feature + +If ServiceNow fails to deploy a no-code module catalog item, verify the following: + +1. Ensure that your HCP Terraform organization has an [HCP Plus tier](https://www.hashicorp.com/products/terraform/pricing) subscription. +2. Ensure the name you enter for your no-code module in the catalog user form matches the no-code module in HCP Terraform. + +### Updating no-code workspaces + +If the “update no-code workspace” catalog item returns the output message “No update has been made to the workspace”, then you have not upgraded your no-code module in HCP Terraform. + +### Application Scope + +If you are making customizations and you encounter unexpected issues, make sure to change the scope from **Global** to **Terraform** and recreate your customized items in the **Terraform scope**. +For additional instructions on customizations, refer to the [example customizations](/terraform/enterprise/integrations/service-now/service-catalog-terraform/example-customizations) documentation. + +### MID server + +If you are using a MID server in your configuration, check the connectivity by using the **Test Config** button on the configurations page. +Additionally, when ServiceNow provisions a MID server, navigate to **MID Servers > Servers** to check if the status is “up” and “validated”. + +### Configuration + +While the app allows multiple config entries, only one should be present as this can interfere with the functionality of the app. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/customizations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/customizations.mdx new file mode 100644 index 0000000000..9263ecc2a0 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/customizations.mdx @@ -0,0 +1,97 @@ +--- +page_title: Customize the ServiceNow Service Graph Connector for Terraform Enterprise +description: >- + Learn how to edit ETL mappings in the ServiceNow Service Graph Connector for + Terraform Enterprise integration. +source: terraform-docs-common +--- + +# Customize the ServiceNow Service Graph Connector for Terraform + +-> **ServiceNow roles:** `admin` + +-> **ServiceNow plugin requirement:** `IntegrationHub ETL` + +You can update and customize the default ETL mapping rules offered by the Service Graph Connector for Terraform. + +To ensure that your custom rules remain intact during future updates, you can clone the existing ETL record and maintain it separately from the default one. + +This documentation guides you through the process of mapping a resource using an example of an AWS virtual private network (VPC). Although this resource is already covered by the application, the principles discussed apply to any new potential resource mapping. + +Any customizations should be done from the application's scope: **Service Graph Connector for Terraform**. + +## Clone the ETL map + +Navigate to the **IntegrationHub ETL** in the top menu. Check the **SG-Terraform** record and click **Duplicate**. Refer to the [ServiceNow documentation](https://docs.servicenow.com/en-US/bundle/utah-servicenow-platform/page/product/configuration-management/task/duplicate-cmdb-transform-map.html) to create a duplicate of an existing ETL transform map. + +## Build a resource in HCP Terraform + +Create a new workspace in your HCP Terraform organization and create a Terraform resource that you would like to map. It helps to have a Terraform state record of the resource to ensure accurate mapping. + +[Configure a webhook](/terraform/enterprise/integrations/service-now/service-graph/service-graph-setup#configure-terraform-webhook) and initiate a Terraform run. + +## Download Terraform State + +Once the run is successfully completed, open your ServiceNow instance, click on **All** and navigate to **Scheduled Imports**. + +Open the **SG-Terraform Scheduled Process State** record, search for the import set corresponding to the latest webhook request. Click the **Import Set** field to open the import set. Wait for the import set to be successfully processed. + +Since there are no existing ETL rules configured for the new resource, it is ignored during the ETL process. + +Open the **Outbound Http Requests** tab to list the requests sent from your ServiceNow instance to HCP Terraform and get the latest state of the workspace. + +![ServiceNow Service Graph Connector Outbound Http Requests interface](/img/docs/service-now-service-graph-state-object-url.png) + +Open the record that starts with " by clicking on the timestamp. Copy the content of the URL field and open it you your browser to download the Terraform state file. + +Locate the resource in the state object. This JSON record will serve as a source for the future mapping. + +## Identify the CI target + +Pick a suitable Configuration Item (CI) target for your resource. For example, the AWS virtual private network (VPC) resource is mapped to Cloud Network (`cmdb_ci_network`) by the Service Graph Connector for Terraform. Refer to the [ServiceNow CMDB documentation](https://docs.servicenow.com/en-US/bundle/utah-servicenow-platform/page/product/configuration-management/reference/cmdb-tables-details.html) for more details on available CI tables. + +## Consult the CI Class Manager + +After selecting an appropriate CI target, it is important to consult the CI Class Manager for guidance on dependent relationships. Many CMDB resources rely on other CI tables. If a related class is not properly mapped, the ETL job will generate errors or warnings and fail to import your resource into the CMDB. + +In the top navigation, click on **All**, search for **CI Class Manager**, and click on **Open Hierarchy**. Search for your target CI Class and check **Dependent Relationships** tab to learn more about dependent mappings required by the resource. + +For example, according to the **CI Class Manager**, **Cloud Network** should be hosted on **Logical Datacenter** and **Cloud Service Account**. + +## Set the mapping rules + +Open the **IntegrationHub ETL** from the top navigation menu and select your cloned ETL map record prepared for customization. Refer to the [ServiceNow documentation](https://docs.servicenow.com/en-US/bundle/utah-servicenow-platform/page/product/configuration-management/concept/create-etl-transform-map.html) for instructions to create an ETL transform map. + +Click on the first **Specify Basic Details** section of the ETL Transform Map Assistant. Select the import set number containing your resource from the **Sample Import Set** dropdown and click **Mark as Complete**. + +Open the **Preview and Prepare Data** section and review the imported rows. Click **Mark as Complete**. + +The third section provides the interface for mapping resource attributes. Click on **Select CMDB Classes to Map Source Data**. Click on **Add Conditional Class** button at the top. Set the rules that will identify your resource in the import set. Use the `type` field value from the Terraform state object to identify your resource (on the ServiceNow side, field name are prefaced with `u_`). Set the target CMDB CI Class name and click **Save**. + +![ServiceNow Service Graph Connector: setting the Conditional Class rules in the ETL mapping](/img/docs/service-now-service-graph-conditional-class-mapping.png) + +To modify the mapping for your new Conditional Class record, select **Edit Mapping**. On the right side of the interface, drag the relevant data pills and drop them into the corresponding CMDB fields on the left side. Refer to the Terraform state record to verify the presence of attributes. For uniqueness, the **Source Native Key** value is typically mapped to the `arn` field when dealing with AWS resources. All resources mapped in the Service Graph Connector for Terraform will have the **Operational status** and **Name** fields populated. + +![ServiceNow Service Graph Connector: mapping resource attributes in the ETL](/img/docs/service-now-service-graph-etl-attribute-mapping.png) + +Once the mapping is completed, click on the left arrow at the top to return to the list of Conditional Classes. Map two more conditional classes in the same manner, according to the rules set in the CI Class Manager: **Logical Datacenter** (**AWS Datacenter** in case of AWS VPC) and **Cloud Service Account**. Since the AWS cloud provider is already covered by the application, these classes are already present. Click **Edit Class** to include your newly mapped resource into the listed conditional rules. Add another **OR** condition to each of them and click **Save**. + +![ServiceNow Service Graph Connector: updating conditions on existing parent records when a new resource is mapped](/img/docs/service-now-service-graph-etl-condition-update.png) + +Click **Mark as Complete** to finalize the **Select CMDB Classes to Map Source Data** section. + +## Set the required relationships + +Click **Add Relationships** to continue to the next section. Click the **Add Conditional Relationship** button at the top of the page. The following configuration tells the ETL that when a record with `aws_vpc` type is found in the import set, it should be hosted on **AWS Datacenter 1**. Click **Save**. + +![ServiceNow Service Graph Connector: setting dependent relationships in the ETL mapping interface](/img/docs/service-now-service-graph-etl-setting-relationship.png) + +A similar dependent relationship needs to be established from **AWS Datacenter** to **Cloud Service Account**. Since the AWS cloud provider is already covered by the application, the relationship record is present in the application. Click **Edit Relationship** and add another **OR** condition containing your new resource to the list. Click **Save**. + +![ServiceNow Service Graph Connector: updating existing dependent relationships in the ETL mapping interface](/img/docs/service-now-service-graph-etl-editing-relationship.png) + +Click **Mark as Complete** to finalize the **Add Relationships** section. + +## Run a test + +There are two ways to test the new resource mapping. You can utilize the **Test and Rollback Integration Results** interface of the ETL Transform Map Assistant. Alternatively, you can initiate a new run in your HCP Terraform workspace that includes the deployment of the resource. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/index.mdx new file mode 100644 index 0000000000..96b511744b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/index.mdx @@ -0,0 +1,83 @@ +--- +page_title: ServiceNow Service Graph Connector for Terraform Enterprise overview +description: >- + Use the ServiceNow Service Graph Connector to enable users to import Terraform + Enterprise-built infrastructure into ServiceNow CMDB. +source: terraform-docs-common +--- + +# ServiceNow Service Graph Connector for Terraform overview + +-> **Integration version:** v1.3.0 + +Use the Service Graph Connector for Terraform to securely import HCP Terraform resources into your ServiceNow instance. The ServiceNow Service Graph for Terraform is a certified scoped application available in the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/application/0b0600891b52c150c216ebd56e4bcb32). + +The integration is based on the [Service Graph Connector](https://www.servicenow.com/products/service-graph-connectors.html) technology that provides a framework for discovering and mapping relationships between the organization's infrastructure and the ServiceNow Configuration Items (CIs), and then automatically updating the [ServiceNow CMDB (Configuration Management Database)](https://www.servicenow.com/products/servicenow-platform/configuration-management-database.html) with this information. This enables platform teams to gain a comprehensive view of the resources they support. The CMDB is a central repository within the ServiceNow platform, which provides a single source of truth for your infrastructure and offers configurable dashboards for monitoring and reporting. + +## Key benefits + +- **Enhanced visibility**: The Service Graph Connector for Terraform updates the CMDB dashboards with resources deployed in HCP Terraform. +- **Improved efficiency**: By connecting Terraform to the ServiceNow CMDB, platform teams can manage and search Terraform-provisioned resources in the CMDB alongside the rest of the company's infrastructure. +- **Consistent management**: Terraform state file changes get automatically and securely updated in the ServiceNow CMDB, capturing status changes for all technical resources in a timely manner. +- **Extensibility**: ServiceNow admins can customize mappings for additional resource types, potentially working with HashiCorp’s entire Terraform ecosystem made up of thousands of providers. + +## Technical design + +The diagram below shows how the Service Graph Connector for Terraform connects HCP Terraform to your ServiceNow instance. + +![ServiceNow Service Graph Connector for Terraform: design diagram](/img/docs/service-now-service-graph-design.png) + +The Service Graph Connector for Terraform integrates with HCP Terraform to fetch up-to-date information about your deployments. It leverages the Terraform state as the primary data source. The application doesn't make any requests to your cloud provider or require you to share any cloud credentials. + +## Import methods + +The integration offers two methods of importing your Terraform resources into CMDB. You can configure the application to periodically pull all your resources in one batch. Alternatively, you can set up webhooks in your Terraform workspaces, which will notify your ServiceNow instance about new deployments. + +### Scheduled polling + +The Service Graph Connector for Terraform can be scheduled to periodically poll HCP Terraform. Depending on the size of your infrastructure and how frequently the state of your resources needs to be refreshed in CMDB, the polling schedule can be set anywhere from once a week to every second. This option is not recommended for big environments with thousands of Terraform workspaces as the import job will take several hours to complete. + +The scheduled job makes a request to HCP Terraform to obtain all organizations that the HCP Terraform API token provided to the application has access to. It will attempt to import all relevant resources from all workspaces within each of those organizations. The processing time depends of the number of organizations and workspaces in HCP Terraform. Configuring the import job to run frequently is not recommended for big environments. + +To access the scheduler, search for **Service Graph Connector for Terraform** in the top navigation menu and select **SG-Import Schedule**. You can change the polling settings and view all previous import sets pulled into your ServiceNow instance using this method. + +### HCP Terraform Webhook Notifications + +You can configure [webhook notifications](/terraform/enterprise/workspaces/settings/notifications) for all relevant workspaces in HCP Terraform organization. Webhooks offer an event-based approach to importing your resources. The import is triggered as soon as a Terraform run is successfully completed in HCP Terraform. + +Webhook POST requests are sent to an API endpoint exposed by the Service Graph Connector for Terraform in your ServiceNow instance. Each webhook request includes an HMAC token, and the endpoint validates the signature using the secret you provide. Learn more about [HCP Terraform notification authenticity](/terraform/enterprise/workspaces/settings/notifications#notification-authenticity). + +Internally, the application uses a scheduled job as a helper to keep track of the incoming webhook requests. To activate, configure, and view the history of all webhook imports, navigate to **Scheduled Imports** and select **SG-Terraform Scheduled Process State**. By default, the job is set to run every minute. + +-> **Tip:** Both import options may be enabled, or you may choose to configure only the webhooks or the scheduled import. + +The [setup page](/terraform/enterprise/integrations/service-now/service-graph/service-graph-setup) provides configuration details for both import modes. + +## ETL (Extract, Transform, Load) + +After the application successfully imports the resources, they are temporarily stored in a staging database table. The import set records are then transferred to the ETL (Extract, Transform, Load) pipeline. Search for **IntegrationHub ETL** in the top navigation menu to view and edit the default ETL rules of the Service Graph Connector for Terraform. The application's ETL Transform Map is called **SG-Terraform**. + +To deactivate resources that you do not want imported into the CMDB, navigate to the **Select CMDB Classes to Map Source Data** section of the application's ETL record, and toggle the switch on the resource mapping record to deactivate it. + +![screenshot: ServiceNow Service Graph Connector for Terraform resource ETL deactivation button](/img/docs/service-now-service-graph-deactivate-etl.png) + +-> **Tip:** Run an import before you open the ETL map as the interface requires at least one import set stored in the memory to be able to display the rules. + +## Supported resources + +The Service Graph Connector for Terraform supports selected resources from the following cloud providers: + +- AWS +- Microsoft Azure +- Google Cloud +- VMware vSphere + +The [resource mapping](/terraform/enterprise/integrations/service-now/service-graph/resource-coverage) documentation contains tables detailing the mapping of objects and attributes between HCP Terraform and ServiceNow CMDB. + +## Destroyed resources + +After the destroy operation is completed in HCP Terraform and the application's import job is finished in your ServiceNow instance, the **Operational Status** field of all resources in the CMDB removed from the Terraform state during the deletion process will be updated to **Non-Operational**. + +## Get started + +Refer to the [setup page](/terraform/enterprise/integrations/service-now/service-graph/service-graph-setup) for information on how to configure the integration in your ServiceNow instance. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/aws.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/aws.mdx new file mode 100644 index 0000000000..d2ccc40b18 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/aws.mdx @@ -0,0 +1,219 @@ +--- +page_title: ServiceNow Service Graph Connector AWS resource coverage +description: >- + Use the ServiceNow Service Graph integration to import selected resources from + AWS into ServiceNow CMDB. +source: terraform-docs-common +--- + +# ServiceNow Service Graph Connector AWS resource coverage + +This page details the mapping rules for importing AWS resources, provisioned with Terraform, into ServiceNow CMDB. + +## Mapping of Terraform resources to CMDB CI Classes + +| AWS resource | Terraform resource name | ServiceNow CMDB CI Class | ServiceNow CMDB Category Name | +| ------------------------------------------------------------------------------------- | --------------------------- | -------------------------------- | ----------------------------- | +| AWS account | N/A | `cmdb_ci_cloud_service_account` | Cloud Service Account | +| AWS region | N/A | `cmdb_ci_aws_datacenter` | AWS Datacenter | +| EC2 Instance | `aws_instance` | `cmdb_ci_vm_instance` | Virtual Machine Instance | +| S3 Bucket | `aws_s3_bucket` | `cmdb_ci_cloud_object_storage` | Cloud Object Storage | +| ECS Cluster | `aws_ecs_cluster` | `cmdb_ci_cloud_ecs_cluster` | AWS Cloud ECS Cluster | +| EKS Cluster | `aws_eks_cluster` | `cmdb_ci_kubernetes_cluster` | Kubernetes Cluster | +| VPC | `aws_vpc` | `cmdb_ci_network` | Cloud Network | +| Database Instance (_non-Aurora databases: e.g., MySQL, PostgreSQL, SQL Server, etc._) | `aws_db_instance` | `cmdb_ci_cloud_database` | Cloud DataBase | +| RDS Aurora Cluster | `aws_rds_cluster` | `cmdb_ci_cloud_db_cluster` | Cloud DataBase Cluster | +| RDS Aurora Instance | `aws_rds_cluster_instance` | `cmdb_ci_cloud_database` | Cloud DataBase | +| DynamoDB Global Table | `aws_dynamodb_global_table` | `cmdb_ci_dynamodb_global_table` | DynamoDB Global Table | +| DynamoDB Table | `aws_dynamodb_table` | `cmdb_ci_dynamodb_table` | DynamoDB Table | +| Security Group | `aws_security_group` | `cmdb_ci_compute_security_group` | Compute Security Group | +| Lambda | `aws_lambda_function` | `cmdb_ci_cloud_function` | Cloud Function | +| Load Balancer | `aws_lb` | `cmdb_ci_cloud_load_balancer` | Cloud Load Balancer | +| Tags | N/A | `cmdb_key_value` | Key Value | + +## Resource relationships + +| Child CI Class | Relationship type | Parent CI Class | +| ----------------------------------------------------------- | ----------------- | --------------------------------------------------------- | +| AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | Hosted On::Hosts | Cloud Service Account 1 (`cmdb_ci_cloud_service_account`) | +| AWS Datacenter 2 (`cmdb_ci_aws_datacenter`) | Hosted On::Hosts | Cloud Service Account 6 (`cmdb_ci_cloud_service_account`) | +| Virtual Machine Instance 1 (`cmdb_ci_vm_instance`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Virtual Machine Instance 1 (`cmdb_ci_vm_instance`) | Reference | Key Value 1 (`cmdb_key_value`) | +| AWS Cloud ECS Cluster 1 (`cmdb_ci_cloud_ecs_cluster`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| AWS Cloud ECS Cluster 1 (`cmdb_ci_cloud_ecs_cluster`) | Reference | Key Value 2 (`cmdb_key_value`) | +| Cloud Object Storage 1 (`cmdb_ci_cloud_object_storage`) | Hosted On::Hosts | AWS Datacenter 2 (`cmdb_ci_aws_datacenter`) | +| Cloud Object Storage 1 (`cmdb_ci_cloud_object_storage`) | Reference | Key Value 3 (`cmdb_key_value`) | +| Kubernetes Cluster 1 (`cmdb_ci_kubernetes_cluster`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Kubernetes Cluster 1 (`cmdb_ci_kubernetes_cluster`) | Reference | Key Value 4 (`cmdb_key_value`) | +| Cloud Network 1 (`cmdb_ci_network`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Cloud Network 1 (`cmdb_ci_network`) | Reference | Key Value 5 (`cmdb_key_value`) | +| Cloud DataBase 1 (`cmdb_ci_cloud_database` ) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Cloud DataBase 1 (`cmdb_ci_cloud_database` ) | Reference | Key Value 6 (`cmdb_key_value`) | +| Cloud DataBase Cluster 1 (`cmdb_ci_cloud_db_cluster`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Cloud DataBase Cluster 1 (`cmdb_ci_cloud_db_cluster`) | Reference | Key Value 7 (`cmdb_key_value`) | +| DynamoDB Global Table 1 (`cmdb_ci_dynamodb_global_table`) | Hosted On::Hosts | Cloud Service Account 1 (`cmdb_ci_cloud_service_account`) | +| DynamoDB Table 1 (`cmdb_ci_dynamodb_table`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| DynamoDB Table 1 (`cmdb_ci_dynamodb_table`) | Reference | Key Value 8 (`cmdb_key_value`) | +| Compute Security Group 1 (`cmdb_ci_compute_security_group`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Compute Security Group 1 (`cmdb_ci_compute_security_group`) | Reference | Key Value 10 (`cmdb_key_value`) | +| Cloud Function 1 (`cmdb_ci_cloud_function`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Cloud Function 1 (`cmdb_ci_cloud_function`) | Reference | Key Value 11 (`cmdb_key_value`) | +| Cloud Load Balancer 1 (`cmdb_ci_cloud_load_balancer`) | Hosted On::Hosts | AWS Datacenter 1 (`cmdb_ci_aws_datacenter`) | +| Cloud Load Balancer 1 (`cmdb_ci_cloud_load_balancer`) | Reference | Key Value 12 (`cmdb_key_value`) | + +## Field attributes mapping + +### Cloud Service Account (`cmdb_ci_cloud_service_account`) + +| CMDB field | Terraform state field | +| ------------------ | -------------------------------------------- | +| Source Native Key | Resource account number extracted from `arn` | +| Account Id | Resource account number extracted from `arn` | +| Datacenter Type | Resource cloud provider extracted from `arn` | +| Object ID | Resource id extracted from `arn` | +| Name | Resource name extracted from `arn` | +| Operational Status | Defaults to "1" ("Operational") | + +### AWS Datacenter (`cmdb_ci_aws_datacenter`) + +| CMDB field | Terraform state field | +| ------------------ | --------------------------------------------------------------- | +| Source Native Key | Concatenation of region and account number extracted from `arn` | +| Object Id | Region extracted from `arn` | +| Region | Region extracted from `arn` | +| Name | Region extracted from `arn` | +| Operational Status | Defaults to "1" ("Operational") | + +### Virtual Machine Instance (`cmdb_ci_vm_instance`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Placement Group ID | `placement_group` | +| IP Address | `public_ip` | +| Status | `instance_state` | +| VM Instance ID | `id` | +| Name | `id` | +| State | `state` | +| CPU | `cpu_core_count` | +| Operational Status | Defaults to "1" ("Operational") | + +### AWS Cloud ECS Cluster (`cmdb_ci_cloud_ecs_cluster`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Object Storage (`cmdb_ci_cloud_object_storage`) + +| CMDB field | Terraform state field | +| ------------------ | -------------------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Cloud Provider | Resource cloud provider extracted from `arn` | +| Name | `bucket` | +| Operational Status | Defaults to "1" ("Operational") | + +### Kubernetes Cluster (`cmdb_ci_kubernetes_cluster`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| IP Address | `endpoint` | +| Port | Defaults to "6443" | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Network (`cmdb_ci_network`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud DataBase (`cmdb_ci_cloud_database`) + +| CMDB field | Terraform state field | +| --------------------------- | -------------------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Version | `engine_version` | +| Type | `engine` | +| TCP port(s) | `port` | +| Category | `instance_class` | +| Fully qualified domain name | `endpoint` | +| Location | Region extracted from `arn` | +| Name | `name` | +| Vendor | Resource cloud provider extracted from `arn` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud DataBase Cluster (`cmdb_ci_cloud_db_cluster`) + +| CMDB field | Terraform state field | +| --------------------------- | -------------------------------------------- | +| Source Native Key | `arn` | +| Cluster ID | `cluster_resource_id` | +| Name | `name` | +| TCP port(s) | `port` | +| Fully qualified domain name | `endpoint` | +| Vendor | Resource cloud provider extracted from `arn` | +| Operational Status | Defaults to "1" ("Operational") | + +### DynamoDB Table (`cmdb_ci_dynamodb_table`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `arn` | +| Location | Region extracted from `arn` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### DynamoDB Global Table (`cmdb_ci_dynamodb_global_table`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `arn` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Compute Security Group (`cmdb_ci_compute_security_group`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Location | Region extracted from `arn` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Function (`cmdb_ci_cloud_function`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `arn` | +| Language | `runtime` | +| Code Size | `source_code_size` | +| Location | Region extracted from `arn` | +| Name | `function_name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Load Balancer (`cmdb_ci_cloud_load_balancer`) + +| CMDB field | Terraform state field | +| -------------------------- | ------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Canonical Hosted Zone Name | `dns_name` | +| Canonical Hosted Zone ID | `zone_id` | +| Location | Region extracted from `arn` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/azure.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/azure.mdx new file mode 100644 index 0000000000..0a503bec63 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/azure.mdx @@ -0,0 +1,158 @@ +--- +page_title: ServiceNow Service Graph Connector Microsoft Azure resource coverage +description: >- + Use the ServiceNow Service Graph integration to import selected resources from + Microsoft Azure into ServiceNow CMDB. +source: terraform-docs-common +--- + +# ServiceNow Service Graph Connector Microsoft Azure resource coverage + +This page describes how Terraform-provisioned Azure resources are mapped to the classes within the ServiceNow CMDB. + +## Mapping of Terraform resources to CMDB CI Classes + +| Azure resource | Terraform resource name | ServiceNow CMDB CI Class | ServiceNow CMDB Category Name | +| ---------------------- | --------------------------------- | -------------------------------- | ----------------------------- | +| Azure account | N/A | `cmdb_ci_cloud_service_account` | Cloud Service Account | +| Azure region | N/A | `cmdb_ci_azure_datacenter` | Azure Datacenter | +| Resource Group | `azurerm_resource_group` | `cmdb_ci_resource_group` | Resource Group | +| Windows VM | `azurerm_windows_virtual_machine` | `cmdb_ci_vm_instance` | Virtual Machine Instance | +| Linux VM | `azurerm_linux_virtual_machine` | `cmdb_ci_vm_instance` | Virtual Machine Instance | +| AKS Cluster | `azurerm_kubernetes_cluster` | `cmdb_ci_kubernetes_cluster` | Kubernetes Cluster | +| Storage Container | `azurerm_storage_container` | `cmdb_ci_cloud_storage_account` | Cloud Storage Account | +| MariaDB Database | `azurerm_mariadb_server` | `cmdb_ci_cloud_database` | Cloud DataBase | +| MS SQL Database | `azurerm_mssql_server` | `cmdb_ci_cloud_database` | Cloud DataBase | +| MySQL Database | `azurerm_mysql_server` | `cmdb_ci_cloud_database` | Cloud DataBase | +| PostgreSQL Database | `azurerm_postgresql_server` | `cmdb_ci_cloud_database` | Cloud DataBase | +| Network security group | `azurerm_network_security_group` | `cmdb_ci_compute_security_group` | Compute Security Group | +| Linux Function App | `azurerm_linux_function_app` | `cmdb_ci_cloud_function` | Cloud Function | +| Windows Function App | `azurerm_windows_function_app` | `cmdb_ci_cloud_function` | Cloud Function | +| Virtual Network | `azurerm_virtual_network` | `cmdb_ci_network` | Cloud Network | +| Tags | N/A | `cmdb_key_value` | Key Value | + +## Resource relationships + +| Child CI Class | Relationship type | Parent CI Class | +| ----------------------------------------------------------- | ---------------------- | --------------------------------------------------------- | +| Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | Hosted On::Hosts | Cloud Service Account 2 (`cmdb_ci_cloud_service_account`) | +| Azure Datacenter 2 (`cmdb_ci_azure_datacenter`) | Hosted On::Hosts | Cloud Service Account 3 (`cmdb_ci_cloud_service_account`) | +| Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | Contains::Contained by | Resource Group 1 (`cmdb_ci_resource_group`) | +| Cloud Storage Account 1 (`cmdb_ci_cloud_storage_account`) | Hosted On::Hosts | Azure Datacenter 2 (`cmdb_ci_azure_datacenter`) | +| Virtual Machine Instance 2 (`cmdb_ci_vm_instance`) | Hosted On::Hosts | Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | +| Virtual Machine Instance 2 (`cmdb_ci_vm_instance`) | Reference | Key Value 14 (`cmdb_key_value`) | +| Virtual Machine Instance 3 (`cmdb_ci_vm_instance`) | Hosted On::Hosts | Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | +| Virtual Machine Instance 3 (`cmdb_ci_vm_instance`) | Reference | Key Value 15 (`cmdb_key_value`) | +| Kubernetes Cluster 2 (`cmdb_ci_kubernetes_cluster`) | Hosted On::Hosts | Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | +| Kubernetes Cluster 2 (`cmdb_ci_kubernetes_cluster`) | Reference | Key Value 16 (`cmdb_key_value`) | +| Cloud DataBase 2 (`cmdb_ci_cloud_database` ) | Hosted On::Hosts | Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | +| Cloud DataBase 2 (`cmdb_ci_cloud_database` ) | Reference | Key Value 9 (`cmdb_key_value`) | +| Compute Security Group 2 (`cmdb_ci_compute_security_group`) | Hosted On::Hosts | Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | +| Compute Security Group 2 (`cmdb_ci_compute_security_group`) | Reference | Key Value 17 (`cmdb_key_value`) | +| Cloud Function 2 (`cmdb_ci_cloud_function`) | Hosted On::Hosts | Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | +| Cloud Function 2 (`cmdb_ci_cloud_function`) | Reference | Key Value 19 (`cmdb_key_value`) | +| Cloud Network 2 (`cmdb_ci_network`) | Hosted On::Hosts | Azure Datacenter 1 (`cmdb_ci_azure_datacenter`) | +| Cloud Network 2 (`cmdb_ci_network`) | Reference | Key Value 20 (`cmdb_key_value`) | + +## Field attributes mapping + +### Cloud Service Account (`cmdb_ci_cloud_service_account`) + +| CMDB field | Terraform state field | +| ------------------ | ----------------------------------- | +| Source Native Key | Subscription ID extracted from `id` | +| Account Id | Subscription ID extracted from `id` | +| Datacenter Type | Defaults to `azure` | +| Object ID | Subscription ID extracted from `id` | +| Name | Subscription ID extracted from `id` | +| Operational Status | Defaults to "1" ("Operational") | + +### Azure Datacenter (`cmdb_ci_azure_datacenter`) + +| CMDB field | Terraform state field | +| ------------------ | ----------------------------------------------- | +| Source Native Key | Concatenation of `location` and Subscription ID | +| Object Id | `location` | +| Region | `location` | +| Name | `location` | +| Operational Status | Defaults to "1" ("Operational") | + +### Virtual Machine Instance (`cmdb_ci_vm_instance`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Storage Account (`cmdb_ci_cloud_storage_account`) + +| CMDB field | Terraform state field | +| --------------------------- | ------------------------------- | +| Source Native Key | `resource_manager_id` | +| Object Id | `resource_manager_id` | +| Fully qualified domain name | `id` | +| Blob Service | `storage_account_name` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Resource Group (`cmdb_ci_resource_group`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Location | `location` | +| Operational Status | Defaults to "1" ("Operational") | + +### Kubernetes Cluster (`cmdb_ci_kubernetes_cluster`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| IP Address | `fqdn` | +| Port | Defaults to "6443" | +| Name | `name` | +| Location | `location` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud DataBase (`cmdb_ci_cloud_database`) + +| CMDB field | Terraform state field | +| --------------------------- | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Version | `engine_version` | +| Fully qualified domain name | `fqdn` | +| Name | `name` | +| Vendor | Defaults to `azure` | +| Operational Status | Defaults to "1" ("Operational") | + +### Compute Security Group (`cmdb_ci_compute_security_group`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Function (`cmdb_ci_cloud_function`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Network (`cmdb_ci_network`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/gcp.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/gcp.mdx new file mode 100644 index 0000000000..5681430c8b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/gcp.mdx @@ -0,0 +1,159 @@ +--- +page_title: ServiceNow Service Graph Connector Google Cloud resource coverage +description: >- + Use the ServiceNow Service Graph for Terraform Enterprise integration to + import selected resources from Google Cloud into ServiceNow CMDB. +source: terraform-docs-common +--- + +# ServiceNow Service Graph Connector Google Cloud resource coverage + +This page provides details on how Google Cloud resources, set up using Terraform, are corresponded to the classes within the ServiceNow CMDB. + +## Mapping of Terraform resources to CMDB CI Classes + +| Google resource | Terraform resource name | ServiceNow CMDB CI Class | ServiceNow CMDB Category Name | +| ------------------------ | --------------------------------------------------------------------- | -------------------------------- | ----------------------------- | +| Project ID | N/A | `cmdb_ci_cloud_service_account` | Cloud Service Account | +| Region (location) | N/A | `cmdb_ci_google_datacenter` | Google Datacenter | +| Virtual Machine Instance | `google_compute_instance` | `cmdb_ci_vm_instance` | Virtual Machine Instance | +| Kubernetes Cluster | `google_container_cluster` | `cmdb_ci_kubernetes_cluster` | Kubernetes Cluster | +| Google Storage | `google_storage_bucket` | `cmdb_ci_cloud_storage_account` | Cloud Storage Account | +| Google BigQuery | `google_bigquery_table` | `cmdb_ci_cloud_database` | Cloud DataBase | +| Google SQL | `google_sql_database` | `cmdb_ci_cloud_database` | Cloud DataBase | +| Google Compute Firewall | `google_compute_firewall` | `cmdb_ci_compute_security_group` | Compute Security Group | +| Cloud Function | `google_cloudfunctions_function` or `google_cloudfunctions2_function` | `cmdb_ci_cloud_function` | Cloud Function | +| Load Balancer | `google_compute_forwarding_rule` | `cmdb_ci_cloud_load_balancer` | Cloud Load Balancer | +| VPC | `google_compute_network` | `cmdb_ci_network` | Cloud Network | +| Tags | N/A | `cmdb_key_value` | Key Value | + +## Resource relationships + +| Child CI Class | Relationship type | Parent CI Class | +| ----------------------------------------------------------- | ----------------- | --------------------------------------------------------- | +| Google Datacenter 1 (`cmdb_ci_google_datacenter`) | Hosted On::Hosts | Cloud Service Account 4 (`cmdb_ci_cloud_service_account`) | +| Google Datacenter 2 (`cmdb_ci_google_datacenter`) | Hosted On::Hosts | Cloud Service Account 4 (`cmdb_ci_cloud_service_account`) | +| Virtual Machine Instance 4 (`cmdb_ci_vm_instance`) | Hosted On::Hosts | Google Datacenter 1 (`cmdb_ci_google_datacenter`) | +| Virtual Machine Instance 4 (`cmdb_ci_vm_instance`) | Reference | Key Value 13 (`cmdb_key_value`) | +| Cloud Network 3 (`cmdb_ci_network`) | Hosted On::Hosts | Google Datacenter 1 (`cmdb_ci_google_datacenter`) | +| Cloud Network 3 (`cmdb_ci_network`) | Reference | Key Value 18 (`cmdb_key_value`) | +| Compute Security Group 3 (`cmdb_ci_compute_security_group`) | Hosted On::Hosts | Google Datacenter 1 (`cmdb_ci_google_datacenter`) | +| Compute Security Group 3 (`cmdb_ci_compute_security_group`) | Reference | Key Value 21 (`cmdb_key_value`) | +| Kubernetes Cluster 3 (`cmdb_ci_kubernetes_cluster`) | Hosted On::Hosts | Google Datacenter 1 (`cmdb_ci_google_datacenter`) | +| Kubernetes Cluster 3 (`cmdb_ci_kubernetes_cluster`) | Reference | Key Value 22 (`cmdb_key_value`) | +| Cloud DataBase 3 (`cmdb_ci_cloud_database` ) | Hosted On::Hosts | Google Datacenter 1 (`cmdb_ci_google_datacenter`) | +| Cloud DataBase 2 (`cmdb_ci_cloud_database` ) | Reference | Key Value 24 (`cmdb_key_value`) | +| Cloud Function 3 (`cmdb_ci_cloud_function`) | Hosted On::Hosts | Google Datacenter 1 (`cmdb_ci_google_datacenter`) | +| Cloud Function 3 (`cmdb_ci_cloud_function`) | Reference | Key Value 25 (`cmdb_key_value`) | +| Cloud Load Balancer 2 (`cmdb_ci_cloud_load_balancer`) | Hosted On::Hosts | Google Datacenter 1 (`cmdb_ci_google_datacenter`) | +| Cloud Load Balancer 2 (`cmdb_ci_cloud_load_balancer`) | Reference | Key Value 26 (`cmdb_key_value`) | +| Cloud Storage Account 2 (`cmdb_ci_cloud_storage_account`) | Hosted On::Hosts | Google Datacenter 2 (`cmdb_ci_google_datacenter`) | +| Cloud Storage Account 2 (`cmdb_ci_cloud_storage_account`) | Reference | Key Value 23 (`cmdb_key_value`) | + +## Field attributes mapping + +### Cloud Service Account (`cmdb_ci_cloud_service_account`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `project` | +| Account Id | `project` | +| Datacenter Type | Defaults to `google` | +| Object ID | `project` | +| Name | `project` | +| Operational Status | Defaults to "1" ("Operational") | + +### Google Datacenter (`cmdb_ci_google_datacenter`) + +| CMDB field | Terraform state field | +| ------------------ | --------------------------------------------------------- | +| Source Native Key | Concatenation of `project` and region extracted from `id` | +| Object Id | Region extracted from `id` | +| Region | Region extracted from `id` | +| Name | Region extracted from `id` | +| Operational Status | Defaults to "1" ("Operational") | + +### Virtual Machine Instance (`cmdb_ci_vm_instance`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Category | `machine_type` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Network (`cmdb_ci_network`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Compute Security Group (`cmdb_ci_compute_security_group`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Kubernetes Cluster (`cmdb_ci_kubernetes_cluster`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `arn` | +| IP Address | `endpoint` | +| Port | Defaults to "6443" | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Object Storage (`cmdb_ci_cloud_object_storage`) + +| CMDB field | Terraform state field | +| ------------------ | -------------------------------------------- | +| Source Native Key | `arn` | +| Object Id | `id` | +| Cloud Provider | Resource cloud provider extracted from `arn` | +| Name | `bucket` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Storage Account (`cmdb_ci_cloud_storage_account`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Name | `location` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud DataBase (`cmdb_ci_cloud_database`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | Name extracted from `id` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Function (`cmdb_ci_cloud_function`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### Cloud Load Balancer (`cmdb_ci_cloud_load_balancer`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/index.mdx new file mode 100644 index 0000000000..ec81da07cc --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/index.mdx @@ -0,0 +1,37 @@ +--- +page_title: >- + ServiceNow Service Graph Connector for Terraform Enterprise resource coverage + overview +description: >- + The ServiceNow Service Graph for Terraform Enterprise integration imports + selected resources from major cloud providers into ServiceNow CMDB. +source: terraform-docs-common +--- + +# ServiceNow Service Graph Connector for Terraform resource coverage overview + +The tables provided in this section illustrate the mapping of resources from the Terraform state to the ServiceNow CMDB configuration items (CIs) by the Service Graph Connector for Terraform. + +While the default ETL map provided by the application can be utilized without modification, it is also possible to customize it according to the specific requirements of your organization. Check [customizations](/terraform/enterprise/integrations/service-now/service-graph/customizations) for more details. + +The application supports selected resources from major cloud providers. The following pages provide mapping details for each supported provider: + +- [AWS](/terraform/enterprise/integrations/service-now/service-graph/resource-coverage/aws) +- [Azure](/terraform/enterprise/integrations/service-now/service-graph/resource-coverage/azure) +- [GCP](/terraform/enterprise/integrations/service-now/service-graph/resource-coverage/gcp) +- [VMware vSphere](/terraform/enterprise/integrations/service-now/service-graph/resource-coverage/vsphere) + +# Importing Tags + +The Service Graph Connector for Terraform imports the Terraform tags associated with your resource into CMDB. Tags are mapped to the **Key Value** CI Class. +Along with the tags assigned in your Terraform code, the integration also includes `tf_organization` and `tf_workspace` tags. These tags are used to indicate the HCP Terraform organization and workspace where the resource was provisioned. + +The visibility of the **Tags** tab in CMDB varies for different configuration items. By default, not every configuration item has the **Tags** tab enabled. For instance, the **Virtual Machine Instance** class page includes the **Tags** tab, whereas the **AWS Cloud ECS Cluster** page does not. + +The following example illustrates how the **Tags** tab can be enabled for **AWS Cloud ECS Cluster** CI class in CMDB. + +1. Enter `cmdb_ci_cloud_ecs_cluster.list` in the search menu of your ServiceNow instance. +2. Open any record. Right-click on the gray bar at the top, select **Configure** and proceed to **Related Lists**. If you are in a different scope, click **Edit this view**. +3. Transfer **Key Value->Configuration item** from the left column to the right and click **Save**. Tags become available in CMDB for all AWS ECS cluster records. + +![screenshot: ServiceNow Service Graph Connector - enable the Tags tab in CMDB](/img/docs/service-now-service-graph-tags.png) diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/vsphere.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/vsphere.mdx new file mode 100644 index 0000000000..9e9f91fe20 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/resource-coverage/vsphere.mdx @@ -0,0 +1,84 @@ +--- +page_title: ServiceNow Service Graph Connector VMware vSphere resource coverage +description: >- + Use the ServiceNow Service Graph integration to import selected resources from + VMware vSphere into ServiceNow CMDB. +source: terraform-docs-common +--- + +# ServiceNow Service Graph Connector VMware vSphere resource coverage + +This page explains the rules of associating VMware vSphere resources, created via Terraform, with the classes in the ServiceNow CMDB. + +## Mapping of Terraform resources to CMDB CI Classes + +| vSphere resource | Terraform resource name | ServiceNow CMDB CI Class | ServiceNow CMDB Category Name | +| ------------------------- | --------------------------- | ------------------------------- | ------------------------------- | +| vCenter server | N/A | `cmdb_ci_cloud_service_account` | Cloud Service Account | +| vSphere Datacenter | `vsphere_datacenter` | `cmdb_ci_vcenter_datacenter` | VMware vCenter Datacenter | +| vSphere Virtual Machine | `vsphere_virtual_machine` | `cmdb_ci_vmware_instance` | VMware Virtual Machine Instance | +| vSphere Datastore Cluster | `vsphere_datastore_cluster` | `cmdb_ci_vcenter_datastore` | VMware vCenter Datastore | +| vSphere Network | `vsphere_network` | `cmdb_ci_vcenter_network` | VMware vCenter Network | +| Tags | N/A | `cmdb_key_value` | Key Value | + +## Resource relationships + +| Child CI Class | Relationship type | Parent CI Class | +| ------------------------------------------------------------- | ----------------- | ---------------------------------------------------------- | +| VMware vCenter Datacenter 1 (`cmdb_ci_vcenter_datacenter`) | Hosted On::Hosts | Cloud Service Account 5 (`cmdb_ci_cloud_service_account`) | +| VMware Virtual Machine Instance 1 (`cmdb_ci_vmware_instance`) | Hosted On::Hosts | VMware vCenter Datacenter 1 (`cmdb_ci_vcenter_datacenter`) | +| VMware Virtual Machine Instance 1 (`cmdb_ci_vmware_instance`) | Reference | Key Value 27 (`cmdb_key_value`) | +| VMware vCenter Network 1 (`cmdb_ci_vcenter_network`) | Hosted On::Hosts | VMware vCenter Datacenter 1 (`cmdb_ci_vcenter_datacenter`) | +| VMware vCenter Network 1 (`cmdb_ci_vcenter_network`) | Reference | Key Value 28 (`cmdb_key_value`) | +| VMware vCenter Datastore 1 (`cmdb_ci_vcenter_datastore`) | Hosted On::Hosts | VMware vCenter Datacenter 1 (`cmdb_ci_vcenter_datacenter`) | +| VMware vCenter Datastore 1 (`cmdb_ci_vcenter_datastore`) | Reference | Key Value 29 (`cmdb_key_value`) | + +## Field attributes mapping + +### Cloud Service Account (`cmdb_ci_cloud_service_account`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | Defaults to "VMware_vCenter" | +| Account Id | Defaults to "VMware_vCenter" | +| Datacenter Type | Defaults to "VMware_vCenter" | +| Object ID | Defaults to "VMware_vCenter" | +| Name | Defaults to "VMware_vCenter" | +| Operational Status | Defaults to "1" ("Operational") | + +### VMware vCenter Datacenter (`cmdb_ci_vcenter_datacenter`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `datacenter_id` | +| Object Id | `datacenter_id` | +| Region | `datacenter_id` | +| Name | `datacenter_id` | +| Operational Status | Defaults to "1" ("Operational") | + +### VMware Virtual Machine Instance (`cmdb_ci_vmware_instance`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### VMware vCenter Network (`cmdb_ci_vcenter_network`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | + +### VMware vCenter Datastore (`cmdb_ci_vcenter_datastore`) + +| CMDB field | Terraform state field | +| ------------------ | ------------------------------- | +| Source Native Key | `id` | +| Object Id | `id` | +| Name | `name` | +| Operational Status | Defaults to "1" ("Operational") | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/service-graph-setup.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/service-graph-setup.mdx new file mode 100644 index 0000000000..c71384b3d3 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/integrations/service-now/service-graph/service-graph-setup.mdx @@ -0,0 +1,162 @@ +--- +page_title: Set up the ServiceNow Service Graph Connector for Terraform Enterprise +description: >- + Learn how to set up the ServiceNow Service Graph Connector for Terraform + Enterprise. +source: terraform-docs-common +--- + +# Set up the ServiceNow Service Graph Connector + +-> **Note:** Follow the [Configure ServiceNow Service Graph Connector for HCP Terraform](/terraform/tutorials/it-saas/servicenow-sgc) tutorial for hands-on instructions on how to import an AWS resource deployed in your HCP Terraform organization to the ServiceNow CMDB by using the Service Graph Connector for Terraform. + +The ServiceNow Service Graph Connector for Terraform is a certified scoped application available in the ServiceNow Store. Search for ”Service Graph Connector for Terraform” published by ”HashiCorp Inc” and click **Install**. + +## Prerequisites + +To start using the Service Graph Connector for Terraform, you must have: + +- An administrator account on a Terraform Enterprise instance or within an HCP Terraform organization. +- An administrator account on your ServiceNow vendor instance. + +The Service Graph Connector for Terraform supports the following ServiceNow server versions: + +- Washington DC +- Xanadu +- Yokohama + +The following ServiceNow plugins are required dependencies: + +- ITOM Discovery License +- Integration Commons for CMDB +- Discovery and Service Mapping Patterns +- ServiceNow IntegrationHub Standard Pack + +Additionally, you can install the IntegrationHub ETL application if you want to modify the default CMDB mappings. + +-> **Note:** Dependent plugins are installed on your ServiceNow instance automatically when the app is downloaded from the ServiceNow Store. Before installing the Service Graph Connector for Terraform, you must activate the ITOM Discovery License plugin in your production instance. + +## Connect ServiceNow to HCP Terraform + +-> **ServiceNow roles:** `admin`, `x_hashi_service_gr.terraform_user` + +Once the integration is installed, you can proceed to the guided setup form where you will enter your Terraform credentials. This step will establish a secure connection between HCP Terraform and your ServiceNow instance. + +### Create and scope Terraform API token + +In order for ServiceNow to connect to HCP Terraform, you must give it an HCP Terraform API token. The permissions of this token determine what resources the Service Graph Connector will import into the CMDB. While you could use a user API token, it could import resources from multiple organizations. By providing a team API token, you can scope permissions to only import resources from specified workspaces within a single organization. + +To create a team API token: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to create a team token. +2. Choose **Settings** from the sidebar, then **Teams**. +3. In **Team API Token** section, click **Create a team token**. + +Save this token in a safe place since HCP Terraform only displays it once. You will use it to configure ServiceNow in the next section. + +![ServiceNow Service Graph Connector Configure Team API token in HCP Terraform](/img/docs/service-now-service-graph-team-token-gen.png) + +### Configure Service Graph Connector for Terraform API token + +In the top navigation of your ServiceNow instance's control panel, click on **All**, search for **Service Graph Connector for Terraform**, and click **SG-Setup**. Next, click **Get Started**. + +Next, in the **Configure the Terraform connection** section, click **Get Started**. + +In the **Configure Terraform authentication credentials** section, click **Configure**. + +If you want to route traffic between your HCP Terraform and the ServiceNow instance through a MID server acting as a proxy, change the **Applies to** dropdown to "Specific MID servers" and select your previously configured MID server name. If you don't use MID servers, leave the default value. + +Set the **API Key** to the HCP Terraform team API token that you created in the previous section and click **Update**. + +![ServiceNow Service Graph Connector API Key Credentials configuration screen. The API key is provided, then saved by clicking the Update button](/img/docs/service-now-service-graph-apikey.png) + +In the **Configure Terraform authentication credentials** section, click **Mark as Complete**. + +### Configure Terraform Webhook Notification token + +To improve security, HCP Terraform includes an HMAC signature on all "generic" webhook notifications using a user-provided **token**. This token is an arbitrary secret string that HCP Terraform uses to sign each webhook notification. ServiceNow uses the same token to verify the request authenticity. Refer to [Notification Authenticity](/terraform/enterprise/api-docs/notification-configurations#notification-authenticity) for more information. + +Create a token and save it in a safe place. This secret token can be any value but should be treated as sensitive. + +In the **Configure Terraform Webhook token** section, click **Configure**. In the **Token** field, enter the secret token that will be shared between the HCP Terraform and your ServiceNow instance and click **Update**. + +![ServiceNow Service Graph Connector Webhook token configuration screen. The Token is provided, then saved by clicking the Update button](/img/docs/service-now-service-graph-webhook-token.png) + +In the **Configure Terraform Webhook token** section, click **Mark as Complete**. + +### Configure Terraform connection + +In the **Configure Terraform connection** section, click **Configure**. + +If you are using Terraform Enterprise, set the **Connection URL** to the URL of your Terraform Enterprise instance. If you are using HCP Terraform, leave the **Connection URL** as the default value of `https://app.terraform.io`. + +![ServiceNow Service Graph Connector HTTP Connection configuration screen. A Terraform Enterprise URL may be provided in the Connection URL field, the saved by clicking the Update button](/img/docs/service-now-service-graph-tfconn.png) + +If you want to use a MID server, check **Use MID server** box, change **MID Selection** dropdown to "Specific MID sever" and select your previously configured and validated MID server. + +Click **Update** to save these settings. In the **Configure Terraform connection** section, click **Mark as Complete**. + +## Import Resources + +Refer to the documentation explaining the difference between the [two modes of import](/terraform/enterprise/integrations/service-now/service-graph#import-methods) offered by the Service Graph Connector for Terraform. Both options may be enabled, or you may choose to enable only the webhook or scheduled import. + +### Configure scheduled import + +In the **Set up scheduled import job** section of the setup form, proceed to **Configure the scheduled jobs** and click **Configure**. + +You can use the **Execute Now** option to run a single import job, which is useful for testing. The import set will be displayed in the table below the scheduled import form, after refreshing the page. Once the import is successfully triggered, click on the **Import Set** field of the record to view the logs associated with the import run, as well as its status. + +Activate the job by checking the **Activate** box. Set the **Repeat Interval** and click **Update**. Note that the import processing time depends of the number of organizations and workspaces in your HCP Terraform. Setting the import job to run frequently is not recommended for big environments. + +![ServiceNow Service Graph Connector scheduled import screen](/img/docs/service-now-service-graph-scheduled-import.png) + +You can also access the scheduler interface by searching for **Service Graph Connector for Terraform** in the top navigation menu and selecting **SG-Import Schedule**. + +### Configure Terraform Webhook + +In the top navigation, click on **All**, search for **Scheduled Imports**, and click on **Scheduled Imports**. + +Select the **SG-Terraform Scheduled Process State** record, then click **To edit the record click here**. + +Click the **Active** checkbox to enable it. Leave the default value for the **Repeat Interval** of 5 seconds. Click **Update**. + +![ServiceNow Service Graph Connector scheduled import screen showing the Active checkbox enabled](/img/docs/service-now-service-graph-webhook-schedule.png) + +Next, create the webhook in HCP Terraform. Select a workspace and click **Settings > Notifications**. Click **Create a Notification**. + +Keep the **Destination** as the default option of **Webhook**. Choose a descriptive name **Name**. + +Set the **Webhook URL** enter `https:///api/x_hashi_service_gr/sg_terraform_webhook` and replace `` with the hostname of your ServiceNow instance. + +In the **Token** field, enter the same string you provided in **Terraform Webhook token** section the of the Service Graph guided setup form. + +Under **Health Events** choose **No events**. + +Under **Run Events** choose **Only certain events** and enable notifications only on **Completed** runs. Click **Create Notification**. + +![HCP Terraform notification creation screen, showing a webhook pointing to ServiceNow which is only triggered on completed runs](/img/docs/service-now-service-graph-webhook-tfc.png) + +Trigger a run in your workspace. Once the run is successfully completed, a webhook notification request will be sent to your ServiceNow instance. + +### Monitor the import job + +By following these steps, you can track the status of import jobs in ServiceNow and verify the completion of the import process before accessing the imported resources in the CMDB. + +For scheduled imports, navigate back to the **SG-Import Schedule** interface. For webhook imports, go to the **SG-Terraform Scheduled Process State** interface. + +Under the form, you will find a table containing all registered import sets. Locate and select the relevant import set record. + +Click on the **Import Set** field to open it and view its details. The **Outbound Http Requests** tab lists all requests made by your ServiceNow instance to HCP Terraform in order to retrieve the latest Terraform state. + +Monitor the state of the import job. Wait for it to change to **Complete**, indicated by a green mark. +Once the import job is complete, you can access the imported resources in the CMDB. + +![ServiceNow Service Graph Connector: import set with successfully completed status](/img/docs/service-now-service-graph-import-set.png) + +You can also access all import sets, regardless of the import type, by navigating to **All** and selecting **Import Sets** under the **Advanced** category. + +### View resources in ServiceNow CMDB + +In the top navigation of ServiceNow, click on **All** and search for **CMDB Workspace**, and click on **CMDB Workspace**. + +Perform a search by entering a Configuration Item (CI) name in the **Search** field (for example, **Virtual Machine Instance**). CI names supported by the application are listed on the [resource mapping page](/terraform/enterprise/integrations/service-now/service-graph/resource-coverage). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/migrate/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/index.mdx new file mode 100644 index 0000000000..e7d1fdb635 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/index.mdx @@ -0,0 +1,95 @@ +--- +page_title: Migrate Terraform state to Terraform Enterprise or Terraform Enterprise +description: >- + Learn how to migrate existing Terraform state to Terraform Enterprise or + Terraform Enterprise so that you can manage existing infrastructure without + de-provisioning. +source: terraform-docs-common +--- + +# Migrate Terraform state to HCP Terraform or Terraform Enterprise + +This topic describes how to migrate existing Terraform state files to HCP Terraform or Terraform Enterprise without first de-provisioning them. Refer to [State](/terraform/language/state) in the Terraform configuration language reference for additional information about Terraform state. + +## Overview + +Perform the following actions to migrate existing resources to one or more workspaces in HCP Terraform or Terraform Enterprise: + +1. Stop all Terraform operations associated with the state files. +2. Migrate Terraform state files using either the Terraform CLI or the HCP Terraform or Terraform Enterprise API. + +You have three options to migrate your state: + +1. Manually using the Terraform CLI +2. Automatically using `tf-migrate` +3. Manually using the HCP Terraform API + +## Requirements + +- Terraform v1.1 and later is required to configure the `cloud` block. For Terraform v1.0 and older, use the [`remote` backend](/terraform/language/settings/backends/remote) instead. +- Create an account on [HCP Terraform](https://app.terraform.io/) or on a [Terraform Enterprise instance](/terraform/enterprise/users-teams-organizations/users#creating-an-account). +- You must present a token linked to appropriate permissions to use the API. Refer to the following topics for additional information: + - [HCP Terraform API overview](/terraform/enterprise/api-docs) + - [Terraform Enterprise API overview](/terraform/enterprise/api-docs) + +## Stop Terraform operations + +Stop all Terraform operations associated with the state files. This may require locking or deleting CI jobs, restricting access to the state backend, and communicating with other teams. You should also only migrate state files into HCP Terraform or Terraform Enterprise workspaces that have never performed a run. + +## Migrate state using the CLI + +> **Hands-on:** Complete the [Migrate State to HCP Terraform](/terraform/tutorials/state/cloud-migrate) tutorial for additional guidance on how to migrate Terraform state using the CLI. + +1. Add the `cloud` block to your Terraform configuration and specify the following fields: + + 1. `hostname` field: Specify either `app.terraform.io` for HCP Terraform or the hostname of your Terraform Enterprise deployment. + 2. `organization` field: Specify your HCP Terraform or Terraform Enterprise organization. + 3. `workspaces` block: Add a `tags` or `name` field and specify one or more destination workspaces as a list of strings. + + Refer to [The `cloud` Block](/terraform/cli/cloud/settings#the-cloud-block) in the Terraform CLI documentation for additional information. The following example migrates the state associated with the configuration to the `networking` workspace on HCP Terraform: + + ```hcl + terraform { + cloud { + hostname = "app.terraform.io" + organization = "my-org" + workspaces { + tags = ["networking"] + } + } + } + ``` + +2. Run `terraform init`. Terraform creates any workspaces specified in the configuration if they do not already exist in the organization. + +## Migrate state using Terraform migrate + +You can use the Terraform migrate CLI tool to automatically migrate state to HCP Terraform and Terraform Enterprise. The tool does not ship with HCP Terraform. You must download and install the binary for the CLI tool separately. Refer to the [Terraform migrate documentation](/terraform/enterprise/migrate/tf-migrate) for more information. + +## Migrate state using the API + +1. Encode your state files as a base64 string and generate an MD5 hash. The following example generates the string and hash file for a single `terraform.tfstate` file: + + ```shell-session + $ cat terraform.tfstate | base64 + dGVycmFmb3JtLnRmc3RhdGUK + $ md5sum terraform.tfstate + 690a3f8ae079c629494a52c68757d585 terraform.tfstate + ``` +2. If the workspace does not yet exist in your organization, send a `POST` request to the `/organizations/:organization_name/workspaces` endpoint to create it. Otherwise, proceed to the next step. Refer to the following topics for details: + - [Create a workspace](/terraform/enterprise/api-docs/workspaces#create-a-workspace) in the HCP Terraform API reference documentation. + - [Create a workspace](/terraform/enterprise/api-docs/workspaces#create-a-workspace) in the Terraform Enterprise API reference documentation. +3. Send a `POST` request to the `/workspaces/:workspace_id/actions/lock` endpoint to lock the workspace. Refer to the following topics for details: + - [Lock a workspace](/terraform/enterprise/api-docs/workspaces#lock-a-workspace) in the HCP Terraform API reference documentation. + - [Lock a workspace](/terraform/enterprise/api-docs/workspaces#lock-a-workspace) in the Terraform Enterprise API reference documentation. +4. To upload your state files to the workspace, send a `POST` request to the `/workspaces/:workspace_id/state-versions` endpoint. Specify the MD5 string in the `data.attributes.md5` field and encoded state file in the `data.attributes.state` field of the request body. Refer to the following topics for details: + - [Create a state version](/terraform/enterprise/api-docs/state-versions#create-a-state-version) in the HCP Terraform API reference documentation. + - [Create a state version](/terraform/enterprise/api-docs/state-versions#create-a-state-version) in the Terraform Enterprise API reference documentation. +5. Send a `POST` request to the `/workspaces/:workspace_id/actions/unlock` endpoint to unlock the workspace. + +Refer to the following external article for an example of how to create a script in Python to automate multiple state files: +[Migrating A Lot of State with Python and the HCP Terraform (previously Terraform Cloud) API](https://medium.com/hashicorp-engineering/migrating-a-lot-of-state-with-python-and-the-terraform-cloud-api-997ec798cd11). The example uses the [Workspaces API](/terraform/enterprise/api-docs/workspaces#create-a-workspace) to create the necessary workspaces in HCP Terraform and the [State Versions API](/terraform/enterprise/api-docs/state-versions) to migrate the state files to those workspaces. + +## Migrate state using Terraform migrate + +You can use the Terraform migrate CLI tool to automatically migrate state to HCP Terraform and Terraform Enterprise. The tool does not ship with HCP Terraform. You must download and install the binary for the CLI tool separately. Refer to the [Terraform migrate documentation](/terraform/enterprise/migrate/tf-migrate) for more information. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/index.mdx new file mode 100644 index 0000000000..9712d3e465 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/index.mdx @@ -0,0 +1,132 @@ +--- +page_title: Terraform migrate overview +description: Learn how to install and configure the Terraform migrate tf-migrate CLI tool. +source: terraform-docs-common +--- + +# Terraform migrate + +The Terraform migrate `tf-migrate` CLI automatically migrates your Terraform Community Edition state and variables to HCP Terraform or Terraform Enterprise. It also updates your local configuration with the new state storage location and optionally creates a pull request to update your code repository. + +**Hands-on**: Complete the [Migrate to HCP Terraform in bulk](/terraform/tutorials/cloud/bulk-migrate-hcp) tutorial to get started with `tf-migrate`. + +## Overview + +Complete the following steps to install and configure `tf-migrate`: + +1. [Download and install `tf-migrate`](#install). +2. Configure `tf-migrate` to [authenticate](#connect-to-hcp-terraform-or-enterprise-terraform) to HCP Terraform or Terraform Enterprise. +3. Enable logging so that you can troubleshoot potential issues that may occur during the migration process. + +### GitHub and GitLab connection requirements + +The `tf-migrate` tool can optionally open a pull request to update your configuration in GitHub or GitLab. + +If your Terraform files are stored in GitHub, you must configure an API token that meets the following requirements: + +- The token must be a classic token. Refer to the [GitHub documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) for additional information. +- The token must have the `repo` OAuth scope. + +If your Terraform files are stored in GitLab Cloud, you must configure an API token that meets the following requirements: + +- The token must be a personal access token. Refer to the [GitHub documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) for additional information. +- The token must be have `read_repository` and `write_repository` scopes. + +## Install + + + + + +HashiCorp distributes `tf-migrate` as a binary package. To install `tf-migrate`, find the [appropriate binary](https://releases.hashicorp.com/tf-migrate/) for your operating system and download it as a zip archive. + +After you download `tf-migrate`, unzip the archive. + +Finally, make sure that the `tf-migrate` binary is available in a directory that is in your system's `PATH`. + +### Verify the installation + +Every build of `tf-migrate` includes a `SHA256SUMS` and a `SHA256SUMS.sig` file to validate your downloaded binary. Refer to the [verify HashiCorp binary downloads tutorial](https://developer.hashicorp.com/well-architected-framework/operational-excellence/verify-hashicorp-binary) for more information. + + + + + +[Homebrew](https://brew.sh/) is a free and open-source package management system for macOS. You can install the official [`tf-migrate`](https://github.com/hashicorp/homebrew-tap) formula from the terminal. + +First, install the HashiCorp tap, a repository of all our Homebrew packages. + + $ brew tap hashicorp/tap + +Now, install `tf-migrate` with the `hashicorp/tap/tf-migrate` formula. + + $ brew install hashicorp/tap/tf-migrate + + + + + +## Connect to HCP Terraform or Enterprise Terraform + +The `tf-migrate` tool uses your locally configured Terraform CLI API token. If you have not authenticated your local Terraform installation with HCP Terraform, use the `terraform login` command to create an authentication token. + + $ terraform login + + Terraform will request an API token for app.terraform.io using your browser. + + If login is successful, Terraform will store the token in plain text in + the following file for use by subsequent commands: + /Users/redacted/.terraform.d/credentials.tfrc.json + + Do you want to proceed? + Only 'yes' will be accepted to confirm. + + Enter a value: yes + +Terraform opens a browser to the HCP Terraform sign in screen, where you can then enter a token name in the web UI, or leave the default name. Click **Create API token** to generate the authentication token. + +HCP Terraform only displays your token once. Copy this token, then when the Terraform CLI prompts you, paste the user token exactly once into your terminal. Press **Enter** to complete the authentication process. + +`tf-migrate` can optionally create a pull request that updates the state storage location specified in your Terraform configuration. To do this, `tf-migrate` uses the GitHub or GitLab Cloud API, and requires an API token with permissions to modify your Git repository. + +To configure your API token, set the `TF_GIT_PAT_TOKEN` environment variable + + $ export TF_GIT_PAT_TOKEN= + +## Supported backends + +The `tf-migrate` tool supports migrating state from the following backends to HCP Terraform or Terraform Enterprise: + +- [local](/terraform/language/backend/local) +- [azurerm](/terraform/language/backend/azurerm) +- [consul](/terraform/language/backend/consul) +- [cos](/terraform/language/backend/cos) +- [gcs](/terraform/language/backend/gcs) +- [http](/terraform/language/backend/http) +- [Kubernetes](/terraform/language/backend/kubernetes) +- [oss](/terraform/language/backend/oss) +- [pg](/terraform/language/backend/pg) +- [s3](/terraform/language/backend/s3) + +`tf-migrate` does not support migrating state from an existing `cloud` integration or `remote` backend. + +## Enable logging + +You can enable detailed logging by setting the `TF_MIGRATE_ENABLE_LOG` environment variable to `true`. When you enable this setting, `tf-migrate` writes the logs to the following locations, depending on your operating system: + +| Platform | Location | +| --------------- | --------------------------------------------------------------- | +| macOS and Linux | `/Users//.tf-migrate/logs//.log` | +| Windows | `C:\Users\\.tf-migrate\logs\\.log` | + +You can set the `TF_MIGRATE_LOG_LEVEL` environment variable to one of the following values to change the verbosity of the logs in order of decreasing verbosity: + +- `TRACE` +- `DEBUG` +- `INFO` +- `WARN` +- `ERROR` + +## Additional configuration + +You can create an optional configuration file to modify the `tf-migrate` CLI behavior and specify the path to the configuration file when you run `tf-migrate prepare`. Any command-line flags you provide with these commands override the configuration file. Refer to the [configuration reference](/terraform/enterprise/migrate/tf-migrate/reference/configuration) for additional information. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/configuration.mdx new file mode 100644 index 0000000000..215f5b9a2b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/configuration.mdx @@ -0,0 +1,88 @@ +--- +page_title: Configuration file reference +description: >- + You can configure `tf-migrate` to control how it migrate your state to + Terraform Enterprise or Terraform Enterprise. +source: terraform-docs-common +--- + +# `tf-migrate` configuration file reference + +This topic describes the parameters for configuring the `tf-migrate` CLI. + +## Configuration model + +A `tf-migrate` configuration file supports the following parameters. + +- [`skip-dir`](#skip-dir): list of strings +- [`projects`](#projects): list of objects + - [`dir`](#projects-dir): string + - [`workspaces`](#projects-workspaces): list of objects + - [`name`](#projects-workspaces): string + - [`env-vars`](#projects-workspaces): + - [`terraform-vars`](#projects-workspaces): list of strings + +## Specification + +This section provides details about the fields you can configure in a `tf-migrate` configuration file. + +### `skip-dir` + +Specifies a list of paths to directories you want `tf-migrate` to skip. This parameter is identical to using the [`-skip-dir` command-line flag](/terraform/enterprise/migrate/tf-migrate/reference/prepare#available-options). By default, `tf-migrate` processes all child directories containing Terraform configuration files. + +- Data type: List of strings +- Default: None + +### `projects` + +Specifies a list of project configurations that align with local directories. The `tf-migrate` tool creates one project in HCP Terraform or Terraform Enterprise per configuration. In each project, `tf-migrate` creates one workspace per local workspace. + +- Data type: List of objects +- Default: None + +### `projects.dir` + +Specifies the relative or absolute path to the Terraform configuration to migrate. + +- Data type: String +- Default: None + +### `projects.workspaces` + +Specifies workspace configurations in the project. Terraform creates a workspace in HCP Terraform or Terraform Enterprise for each workspace configuration. The following table describes the attributes you can configure in each item in the list of workspaces: + +| Attribute | Description | Data type | Default | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------- | +| `name` | Specifies the name of the local workspace. | String | None | +| `env-vars` | Specifies a map of environment variables to set during the migration. Each key must start with `TF_VAR`. You must specify `env-vars`, `terraform-vars`, or both. | Object | None | +| `terraform-vars` | Specifies a list of Terraform variables files to use for configuring the workspace. Each file must end with either `.tfvars` or `tfvars.json`. You must specify `terraform-vars`, `env-vars`, or both. The path can be a relative or absolute path. | List of strings | None | + +- Data type: List of objects +- Default: None + +## Example configuration file + +In the following example, Terraform creates one project using data from the `example/project1` directory. The project has a workspace named `staging` and a workspace named `dev`: + +```hcl +skip-dir = ["example/skip/dir1", "example/skip/dir2"] + +projects = [ + { + dir = "example/project1" + workspaces = [ + { + name = "staging" + env-vars = { + "TF_VAR_region": "us-east-2" + } + terraform-vars = ["staging.tfvars"] + }, + { + name = "dev" + terraform-vars = ["dev.tfvars"] + } + ] + } +] +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/execute.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/execute.mdx new file mode 100644 index 0000000000..511175e82a --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/execute.mdx @@ -0,0 +1,65 @@ +--- +page_title: tf-migrate execute reference +description: >- + The `tf-migrate execute` command runs a prepared migration to migrate locally + existing state to Terraform Enterprise or Terraform Enterprise. +source: terraform-docs-common +--- + +# `tf-migrate execute` reference + +The `tf-migrate execute` command directs Terraform to run the `init`, `plan`, and `apply` commands on the configuration generated with the `tf-migrate prepare` command. + +## Usage + + $ tf-migrate execute + +## Description + +The `tf-migrate execute` command creates the project and workspace in HCP Terraform or Terraform Enterprise, migrates the existing state, and updates your configuration to replace the `backend` block with the `cloud` block. If you responded to the prompt in the prepare workflow to create a pull request, `tf-migrate` creates the pull request after it completes the migration. + +When Terraform migrate completes the migration, it displays the number of workspaces migrated, a link to each HCP Terraform workspace, and a link to the GitHub pull request if you configured it to create one. + +## Example + +The `tf-migrate execute` command automatically performs the migration and code updates. + + + + $ tf-migrate execute + ✓ Init command ran successfully + ✓ Plan command ran successfully and changes are detected + ✓ Apply command ran successfully + Apply complete! Resources: 7 added, 0 changed, 0 destroyed. + + + Migration Summary + ┌───────────────────────────────┬───────┐ + │ Metric │ Count │ + ├───────────────────────────────┼───────┤ + │ Number of Projects Migrated │ 2 │ + │ Number of Directories Skipped │ 0 │ + │ Number of New Workspaces │ 2 │ + │ Number of Variables Migrated │ 8 │ + └───────────────────────────────┴───────┘ + ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐ + │ Workspace URLs │ + ├───────────────────────────────────────────────────────────────────────────────────────────────────┤ + │ https://app.terraform.io//workspaces/web_default │ + │ https://app.terraform.io//workspaces/api_default │ + └───────────────────────────────────────────────────────────────────────────────────────────────────┘ + ┌────────────────────────────────────────────────────────────────────────┐ + │ Pull Request Link │ + ├────────────────────────────────────────────────────────────────────────┤ + │ https://github.com//learn-terraform-migrate/pull/1 │ + └────────────────────────────────────────────────────────────────────────┘ + + + +## Available options + +You can include the following flags when you run the `tf-migrate execute` command: + +| Option | Description | Default | Required | +| ---------- | ------------------------------------------------------------------------------------------------------------------- | ------- | -------- | +| `-dry-run` | If set, Terraform migrate only shows the output from the `terraform plan` step, and does not perform the migration. | None | No | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/prepare.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/prepare.mdx new file mode 100644 index 0000000000..ae735703bf --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/migrate/tf-migrate/reference/prepare.mdx @@ -0,0 +1,104 @@ +--- +page_title: tf-migrate prepare reference +description: >- + The `tf-migrate prepare` command gathers information and creates a plan to + migrate your Terraform Community Edition state. +source: terraform-docs-common +--- + +# `tf-migrate prepare` reference + +The `tf-migrate prepare` command recursively scans the current directory for Terraform state files, then generates new Terraform configuration to migrate the state to HCP Terraform or Terraform Enterprise. + +## Usage + + $ tf-migrate prepare [options] + +## Description + +The `tf-migrate prepare` command prompts you for the following information: + +- The HCP Terraform or Terraform Enterprise organization to migrate your state to. +- If you would like to create a new branch named `hcp-migrate-` where `` is the name of the branch you currently have checked out. +- If you would like it to automatically create a pull request with the updated code change when the migration is complete. + +The `tf-migrate prepare` command generates a new Terraform configuration in the `_hcp-migrate-configs` directory to perform the migration. This configuration creates the following resources: + +- One workspace per state file. The `tf-migrate` tool names the workspace following the `-` pattern. The `tf-migrate` tool also creates workspace variables from the Terraform configuration's variables. +- One project to store all workspaces. The `tf-migrate` tool uses the directory path to the state file as the project name. For example, if your configuration is stored at `./frontend/networking/terraform.tfstate`, `tf-migrate` names the project "frontend_networking". Because of this, your directory path must be between 3-40 characters and only include letters, numbers, inner spaces, hyphens, and underscores. +- A new local git branch if you responded to the prompt to create a new branch with `yes`. +- A new pull request in the remote git repository if you responded to the prompt to create a pull request with `yes`. + +The `tf-migrate` CLI tool adds the generated configuration to the `.gitignore` file so that the configuration is not committed to source control. + +The `tf-migrate` tool creates the following structure in HCP Terraform or Terraform Enterprise depending on your local configuration: + +| Source | Result | +| :------------------------------------------------------------------------- | :----------------------------------------------------------- | +| Single configuration, single state | Single HCP workspace | +| Single configuration, multiple states for each Community Edition workspace | One HCP workspace per state | +| Multiple configurations, one state per configuration | One HCP workspace per configuration | +| Multiple configurations, multiple states per configuration | One HCP workspace per combination of configuration and state | + +## Example + +The `tf-migrate prepare` command generates the configuration to migrate this state to a single HCP Terraform workspace. + + + + $ tf-migrate prepare + ✓ Current working directory: /tmp/learn-terraform-migrate + ✓ Environment readiness checks completed + ✓ Found 3 HCP Terraform organizations + ┌────────────────────────────┐ + │ Available Orgs │ + ├────────────────────────────┤ + │ my-org-1 │ + │ my-org-2 │ + │ my-org-3 │ + └────────────────────────────┘ + Enter the name of the HCP Terraform organization to migrate to: my-org-1 + ✓ You have selected organization my-org-1 for migration + ✓ Found 2 directories with Terraform files + ┌────────────────────────────────┐ + │ Terraform File Directories │ + ├────────────────────────────────┤ + │ web │ + │ api │ + └────────────────────────────────┘ + Create a local branch named hcp-migrate-main from the current branch main: ... ? + + + Only 'yes or no' will be accepted as input. + Type 'yes' to approve the step + Type 'no' to to skip + + + Enter a value: yes + + ✓ Successfully created branch hcp-migrate-main + Do you want to open a pull request from hcp-migrate-main ... ? + + + Only 'yes or no' will be accepted as input. + Type 'yes' to approve the step + Type 'no' to to skip + + + Enter a value: yes + + ✓ Migration config generation completed + ✓ Successfully updated .gitignore + + + +## Available options + +You can include the following flags when you run the `tf-migrate prepare` command: + +| Option | Description | Default | Required | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -------- | +| `-config` | Specifies the path to an optional configuration file. Refer to [`tf-migrate` configuration file reference](/terraform/enterprise/migrate/tf-migrate/reference/configuration) for more information. | None | No | +| `-hostname` | The hostname of your Terraform Enterprise server. If you do not provide a hostname, `tf-migrate` defaults to HCP Terraform. | `app.terraform.io` | No | +| `-skip-dir` | Specifies a comma-separated list of relative paths to exclude from the migration. | None | No | +| `--parallelism` | Specifies the number of threads `tf-migrate` uses to scan the local directory and prepare the migration. Set this value to `1` to disable parallelism. | The number of logical CPUs in the system. | No | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/module-design.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/module-design.mdx new file mode 100644 index 0000000000..8b62ff5f99 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/module-design.mdx @@ -0,0 +1,72 @@ +--- +page_title: Design no-code ready modules for Terraform Enterprise +description: >- + No-code ready modules let users deploy a module's resources without writing + configuration. Learn how to prepare modules for no-code provisioning. +source: terraform-docs-common +--- + +# Design no-code ready modules + +Terraform [modules](/terraform/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. + + + +@include 'tfc-package-callouts/nocode.mdx' + + + +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](/terraform/enterprise/registry). Users can then [provision no-code infrastructure](/terraform/enterprise/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](/terraform/tutorials/cloud/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 + +A no-code ready module must meet the following requirements: + +- **Root Module Structure:** The module must follow [standard module structure](/terraform/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](/terraform/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations). + +### 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, HCP Terraform 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: + +- Recommended: Create a [project-scoped variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets) that HCP Terraform applies to all existing and future workspaces within a project. This approach allows you to create specific teams for those less familiar with Terraform, then give those teams access to your no-code projects. +- Create a [global variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets) that HCP Terraform 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](/terraform/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 + +Similarly to a [standard module](/terraform/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 + +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 +- Deploying a database with constraints on resource allocation and deployment region + +### Updating a Module's Version + +When you enable no-code provisioning for a module, HCP Terraform pins the **No-code Ready** designation to the specific module version of your choice. HCP Terraform deploys that selected module version whenever a user provisions a workspace using that module, ensuring that no-code users always provision the correct version. Pinning the **No-code Ready** designation to a specific module version lets you set variable input options, which are tied to that specific module version. + +By default, a module selects the latest version available. If you pinned a specific module version and a newer one becomes available, you can always update your module's version. + +### Provide Variable Defaults When Possible + +The no-code provisioning workflow prompts users to set values for the module version'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 or project level variable sets in your organization. + +### Define Dropdown Options for Variables without Defaults + +If your module has variables without defaults, you can define options to limit the values a user can input when you enable a module for no-code provisioning. You can define input options using the HCP Terraform UI, the [No-Code Provisioning API](/terraform/enterprise/api-docs/no-code-provisioning), or the [TFE provider](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/no_code_module). We recommend using the TFE provider if you want to track variable input options through a code approval process, therefore keeping your configuration as code. + +HCP Terraform surfaces any subsequent changes to a variable’s input options when no-code users provision a new module version. If you update the selected module version enabled for no-code provisioning, consider revisiting the variables and adjusting the defined input values accordingly. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/provisioning.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/provisioning.mdx new file mode 100644 index 0000000000..46c36667f2 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/no-code-provisioning/provisioning.mdx @@ -0,0 +1,89 @@ +--- +page_title: Provision no-code infrastructure in Terraform Enterprise +description: >- + No-code ready modules let users deploy a module's resources without writing + configuration. Learn how to provision infrastructure from a no-code ready + module. +source: terraform-docs-common +--- + +# Provision no-code infrastructure + +No-code provisioning lets you deploy infrastructure resources in a new HCP Terraform workspace without writing any Terraform configuration. You can create a no-code workspace from any module version labeled **No-code Ready** in your organization's [private registry](/terraform/enterprise/registry). + + + +@include 'tfc-package-callouts/nocode.mdx' + + + +> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](/terraform/tutorials/cloud/no-code-provisioning). + +## Permissions + +To use no-code provisioning, you must be a member of a team with [manage all projects permissions](/terraform/enterprise/users-teams-organizations/permissions#manage-all-projects), [manage all workspaces permissions](/terraform/enterprise/users-teams-organizations/permissions#manage-all-workspaces), or [admin permissions for a project](/terraform/enterprise/users-teams-organizations/permissions#project-admins). When using [custom project permissions](/terraform/enterprise/users-teams-organizations/permissions#custom-project-permissions), your team must be able to create workspaces, write variables, and apply runs in a project. + +## 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 should [access provider credentials](/terraform/enterprise/no-code-provisioning/module-design#provider-credentials), which may require specific module design. + +## Creating a Workspace and Deploying Resources + +The no-code provisioning workflow creates a new HCP Terraform workspace to deploy and manage the no-code ready module's resources. HCP Terraform 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: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization with the module you want to provision. + +2. Click **Registry** in the main HCP Terraform navigation to access your organization's private registry. + +3. 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. + +4. Select the no-code ready module to view its details, then click **Provision workspace**. The **Configure module inputs** page appears. + + HCP Terraform 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. HCP Terraform performs type validation for the variable values if the module configuration specifies a type. + +5. (Optional) Set values for the input variables. If your organization has defined options for a variable's values, these options appear in a dropdown menu. You can skip this step and configure the variables later in your workspace. However, HCP Terraform does not prompt you for these values again, and your Terraform runs may fail. + +6. Click **Next: Workspace settings**. + +7. 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](/terraform/enterprise/workspaces/create#workspace-naming) for more guidance. + +8. Choose a **Project** for the workspace. Teams with access to the specified project can view the workspace automatically. Refer to [Organizing Workspaces with Projects](/terraform/enterprise/projects/manage) for more details. If the specified project contains any project-scoped variable sets, HCP Terraform automatically applies those sets to the workspace. + +9. Add an optional **Description** for the workspace. + +10. 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. + +11. Click **Create workspace**. HCP Terraform 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 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. 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. + +### Updating Variables + +To change a variable's options after provisioning, go to the **Variables** section in your workspace to see your workspace's variables listed. To edit a variable: + +1. Click the ellipses next to the variable you want to edit and select **Edit**. +2. Enter your desired value and click **Save variable**. + +Start a new run in your workspace to update your existing infrastructure with your new variable value. + +### Module Version Updates + +When you [update the module version](/terraform/enterprise/no-code-provisioning/module-design#updating-a-module-s-version) designated for no-code provisioning, every workspace provisioned from the module is notified that an updated version is available on the workspace overview page. HCP Terraform does not automatically update workspaces. A workspace admin must respond to the update notification to upgrade the workspace, and HCP Terraform prompts for values for any new input variables. + +To change the version of the module that users can deploy: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to your organization. + +2. Choose **Registry** from the sidebar and navigate to the module in your organization's registry. + +3. Click **Configure Settings**. + +4. Click **Edit version and variable options**. + +5. Choose the desired module version from the **Module version** dropdown. + +6. Click **Save**. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/custom-sentinel.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/custom-sentinel.mdx new file mode 100644 index 0000000000..16334c8807 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/custom-sentinel.mdx @@ -0,0 +1,260 @@ +--- +page_title: Define Sentinel policies in Terraform Enterprise +description: >- + Learn how to use the Sentinel policy language to create policies in Terraform + Enterprise. +source: terraform-docs-common +--- + +# Define Sentinel policies in HCP Terraform + +This topic describes how to create and manage custom policies using Sentinel policy language. For instructions about how to use pre-written Sentinel policies from the registry, refer to [Run pre-written Sentinel policies](/terraform/enterprise/policy-enforcement/prewritten-sentinel). + +## Overview + +To define a policy, create a file and declare an `import` function to include reusable libraries, external data, and other functions. Sentinel policy language includes several types of elements you can import using the `import` function. + +Declare and configure additional Sentinel policy language elements. The details depend on which elements you want to use in your policy. Refer to the [Sentinel documentation](/sentinel/docs) for additional information. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +## Declare an `import` function + +A policy can include imports that enable a policy to access reusable libraries, external data, and functions. Refer to [imports](/sentinel/docs/concepts/imports) in the Sentinel documentation for more details. + +HCP Terraform provides four imports to define policy rules for the plan, configuration, state, and run associated with a policy check. + +- [tfplan](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) - Access a Terraform plan, which is the file created as a result of the [`terraform plan` command](/terraform/cli/commands/plan). The plan represents the changes that Terraform must make to reach the desired infrastructure state described in the configuration. +- [tfconfig](/terraform/enterprise/policy-enforcement/import-reference/tfconfig-v2) - Access a Terraform configuration. The configuration is the set of `.tf` files that describe the desired infrastructure state. +- [tfstate](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2) - Access the Terraform [state](/terraform/language/state). Terraform uses state to map real-world resources to your configuration. +- [tfrun](/terraform/enterprise/policy-enforcement/import-reference/tfrun) - Access data associated with a [run in HCP Terraform](/terraform/enterprise/run/remote-operations). For example, you could retrieve the run's workspace. + +You can create mocks of these imports to use with the the [Sentinel +CLI](/sentinel/docs/commands) mocking and testing features. Refer to [Mocking Terraform Sentinel Data](/terraform/enterprise/policy-enforcement/test-sentinel) for more details. + + + +HCP Terraform does not support custom imports. + + + +## Declare additional elements + +The following functions and idioms will be useful as you start writing Sentinel +policies for Terraform. + +### Iterate over modules and find resources + +The most basic Sentinel task for Terraform is to enforce a rule on all resources +of a given type. Before you can do that, you need to get a collection of all the +relevant resources from all modules. The easiest way to do that is to copy and +use a function like the following into your policies. + +The following example uses the `tfplan` import. Refer to our [guides for other examples](https://github.com/hashicorp/terraform-guides/tree/master/governance/second-generation/common-functions) of +functions that iterate over the `tfconfig` and `tfstate` imports. + +```python +import "tfplan" +import "strings" + +# Find all resources of specific type from all modules using the tfplan import +find_resources_from_plan = func(type) { + resources = {} + for tfplan.module_paths as path { + for tfplan.module(path).resources[type] else {} as name, instances { + for instances as index, r { + # Get the address of the resource instance + if length(path) == 0 { + # root module + address = type + "." + name + "[" + string(index) + "]" + } else { + # non-root module + address = "module." + strings.join(path, ".module.") + "." + + type + "." + name + "[" + string(index) + "]" + } + # Add the instance to resources, setting the key to the address + resources[address] = r + } + } + } + return resources +} +``` + +Call the function to get all resources of a desired type by passing the +type as a string in quotation marks: + +```python +aws_instances = find_resources_from_plan("aws_instance") +``` + +This example function does several useful things while finding resources: + +- It checks every module (including the root module) for resources of the + specified type by iterating over the `module_paths` namespace. The top-level + `resources` namespace is more convenient, but it only reveals resources from + the root module. +- It iterates over the named resources and [resource + instances](/terraform/language/expressions/references#resources) + found in each module, starting with `tfplan.module(path).resources[type]` + which is a series of nested maps keyed by resource names and instance counts. +- It uses the Sentinel [`else` + operator](/sentinel/docs/language/spec#else-operator) to + recover from `undefined` values which would occur for modules that don't have + any resources of the specified type. +- It builds a flat `resources` map of all resource instances of the specified + type. Using a flat map simplifies the code used by Sentinel policies to + evaluate rules. +- It computes an `address` variable for each resource instance and uses this as + the key in the `resources` map. This allows writers of Sentinel policies to + print the full [address](/terraform/cli/state/resource-addressing) of each + resource instance that violate a policy, using the same address format used in + plan and apply logs. Doing this tells users who see violation messages exactly + which resources they need to modify in their Terraform code to comply with the + Sentinel policies. +- It sets the value of the `resources` map to the data associated with the + resource instance (`r`). This is the data that Sentinel policies apply rules + against. + +### Validate resource attributes + +Once you have a collection of resources instances of a desired type indexed by +their addresses, you usually want to validate that one or more resource +attributes meets some conditions by iterating over the resource instances. + +While you could use Sentinel's [`all` and `any` +expressions](/sentinel/docs/language/boolexpr#any-all-expressions) +directly inside Sentinel rules, your rules would only report the first violation +because Sentinel uses short-circuit logic. It is therefore usually preferred to +use a [`for` loop](/sentinel/docs/language/loops) outside +of your rules so that you can report all violations that occur. You can do this +inside functions or directly in the policy itself. + +Here is a function that calls the `find_resources_from_plan` function and +validates that the instance types of all EC2 instances being provisioned are in +a given list: + +```python +# Validate that all EC2 instances have instance_type in the allowed_types list +validate_ec2_instance_types = func(allowed_types) { + validated = true + aws_instances = find_resources_from_plan("aws_instance") + for aws_instances as address, r { + # Determine if the attribute is computed + if r.diff["instance_type"].computed else false is true { + print("EC2 instance", address, + "has attribute, instance_type, that is computed.") + } else { + # Validate that each instance has allowed value + if (r.applied.instance_type else "") not in allowed_types { + print("EC2 instance", address, "has instance_type", + r.applied.instance_type, "that is not in the allowed list:", + allowed_types) + validated = false + } + } + } + return validated +} +``` + +The boolean variable `validated` is initially set to `true`, but it is set to +`false` if any resource instance violates the condition requiring that the +`instance_type` attribute be in the `allowed_types` list. Since the function +returns `true` or `false`, it can be called inside Sentinel rules. + +Note that this function prints a warning message for **every** resource instance +that violates the condition. This allows writers of Terraform code to fix all +violations after just one policy check. It also prints warnings when the +attribute being evaluated is +[computed](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#value-computed) and does +not evaluate the condition in this case since the applied value will not be +known. + +While this function allows a rule to validate an attribute against a list, some +rules will only need to validate an attribute against a single value; in those +cases, you could either use a list with a single value or embed that value +inside the function itself, drop the `allowed_types` parameter from the function +definition, and use the `is` operator instead of the `in` operator to compare +the resource attribute against the embedded value. + +### Write Rules + +Having used the standardized `find_resources_from_plan` function and having +written your own function to validate that resources instances of a specific +type satisfy some condition, you can define a list with allowed values and write +a rule that evaluates the value returned by your validation function. + +```python +# Allowed Types +allowed_types = [ + "t2.small", + "t2.medium", + "t2.large", +] + +# Main rule +main = rule { + validate_ec2_instance_types(allowed_types) +} + +``` + +### Validate multiple conditions in a single policy + +If you want a policy to validate multiple conditions against resources of a +specific type, you could define a separate validation function for each +condition or use a single function to evaluate all the conditions. In the latter +case, you would make this function return a list of boolean values, using one +for each condition. You can then use multiple Sentinel rules that evaluate +those boolean values or evaluate all of them in your `main` rule. Here is a +partial example: + +```python +# Function to validate that S3 buckets have private ACL and use KMS encryption +validate_private_acl_and_kms_encryption = func() { + result = { + "private": true, + "encrypted_by_kms": true, + } + s3_buckets = find_resources_from_plan("aws_s3_bucket") + # Iterate over resource instances and check that S3 buckets + # have private ACL and are encrypted by a KMS key + # If an S3 bucket is not private, set result["private"] to false + # If an S3 bucket is not encrypted, set result["encrypted_by_kms"] to false + for s3_buckets as joined_path, resource_map { + #... + } + return result +} + +# Call the validation function +validations = validate_private_acl_and_kms_encryption() + +# ACL rule +is_private = rule { + validations["private"] +} + +# KMS Encryption Rule +is_encrypted_by_kms = rule { + validations["encrypted_by_kms"] +} + +# Main rule +main = rule { + is_private and is_encrypted_by_kms +} +``` + +You can write similar functions and policies to restrict Terraform configurations using the `tfconfig` import and to restrict Terraform state using the `tfstate` import. + +## Next steps + +1. Group your policies into sets and apply them to your workspaces. Refer to [Create policy sets](/terraform/enterprise/policy-enforcement/manage-policy-sets#create-policy-sets) for additional information. +2. View results and address Terraform runs that do not comply with your policies. Refer to [View results](/terraform/enterprise/policy-enforcement/view-results) for additional information. +3. You can also view Sentinel policy results in JSON format. Refer to [View Sentinel JSON results](/terraform/enterprise/policy-enforcement/view-results/json) for additional information. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/index.mdx new file mode 100644 index 0000000000..bc5881f611 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/index.mdx @@ -0,0 +1,19 @@ +--- +page_title: Define policies overview +description: >- + You can define policies using HashiCorp Sentinel or Open Policy Agent (OPA). + Learn how to define policies for governing how Terraform provisions + infrastructure. +source: terraform-docs-common +--- + +# Define policies overview + +This topic provides overview information about how to define policies as code. Policies are rules for enforcing how Terraform provisions infrastructure as code for your workspaces and projects. + +## Workflows + +You can use two policy-as-code frameworks to define fine-grained, logic-based policies: Sentinel and Open Policy Agent (OPA). Depending on the settings, policies can act as advisory warnings or firm requirements that prevent Terraform from provisioning infrastructure. + +- **Sentinel:** You define policies with the [Sentinel policy language](/sentinel/docs/concepts/language) and use imports to parse the Terraform plan, state, and configuration. Refer to [Define custom Sentinel policies](/terraform/enterprise/policy-enforcement/define-policies/custom-sentinel) for details. +- **OPA:** You define policies with the [Rego policy language](https://www.openpolicyagent.org/docs/latest/policy-language/). Refer to [Defining OPA Policies](/terraform/enterprise/policy-enforcement/define-policies/opa) for details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/opa.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/opa.mdx new file mode 100644 index 0000000000..92305f8e9f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/define-policies/opa.mdx @@ -0,0 +1,259 @@ +--- +page_title: Define Open Policy Agent policies for Terraform Enterprise +description: >- + Use the Rego policy language to define Open Policy Agent (OPA) policies for + Terraform Enterprise. +source: terraform-docs-common +--- + +# Define Open Policy Agent policies for HCP Terraform + +This topic describes how to create and manage custom policies using the open policy agent (OPA) framework. Refer to the following topics for instructions on using HashiCorp Sentinel policies: + +- [Define custom Sentinel policies](/terraform/enterprise/policy-enforcement/define-policies/custom-sentinel) +- [Copy pre-written Sentinel policies](/terraform/enterprise/define-policies/prewritten-sentinel) + + + +@include 'tfc-package-callouts/policies.mdx' + + + +## Overview + +> **Hands-on:** Try the [Detect Infrastructure Drift and Enforce OPA Policies](/terraform/tutorials/cloud/drift-and-opa) tutorial. + +You can write OPA policies using the Rego policy language, which is the native query language for the OPA framework. Refer to the following topics in the [OPA documentation](https://www.openpolicyagent.org/docs/latest/policy-language/) for additional information: + +- [How Do I Write Rego Policies?](https://www.openpolicyagent.org/docs/v0.13.5/how-do-i-write-policies/) +- [Rego Policy Playground](https://play.openpolicyagent.org/) + +## OPA query + +You must write a query to identify a specific policy rule within your Rego code. The query may evaluate code from multiple Rego files. + +The result of each query must return an array, which HCP Terraform uses to determine whether the policy has passed or failed. If the array is empty, HCP Terraform reports that the policy has passed. + +The query is typically a combination of the policy package name and rule name, such as `data.terraform.deny`. + +## OPA input + +HCP Terraform combines the output from the Terraform run and plan into a single JSON file and passes that file to OPA as input. Refer to the [OPA Overview documentation](https://www.openpolicyagent.org/docs/latest/#the-input-document) for more details about how OPA uses JSON input data. + +The run data contains information like workspace details and the organization name. To access the properties from the Terraform plan data in your policies, use `input.plan`. To access properties from the Terraform run, use `input.run`. + +The following example shows sample OPA input data. + +```json +{ +"plan": { + "format_version": "1.1", + "output_changes": { + }, + "planned_values": { + }, + "resource_changes": [ + ], + "terraform_version": "1.2.7" +}, + +"run": { + "organization": { + "name": "hashicorp" + }, + "workspace": { + } +} +} +``` + +Use the [Retrieve JSON Execution Plan endpoint](/terraform/enterprise/api-docs/plans#retrieve-the-json-execution-plan) to retrieve Terraform plan output data for testing. Refer to [Terraform Run Data](#terraform-run-data) for the properties included in Terraform run output data. + +## Example Policies + +The following example policy parses a Terraform plan and checks whether it includes security group updates that allow ingress traffic from all CIDRs (`0.0.0.0/0`). + +The OPA query for this example policy is `data.terraform.policies.public_ingress.deny`. + +```rego +package terraform.policies.public_ingress + +import input.plan as plan + +deny[msg] { + r := plan.resource_changes[_] + r.type == "aws_security_group" + r.change.after.ingress[_].cidr_blocks[_] == "0.0.0.0/0" + msg := sprintf("%v has 0.0.0.0/0 as allowed ingress", [r.address]) +} +``` + +The following example policy ensures that databases are no larger than 128 GB. + +The OPA query for this policy is `data.terraform.policies.fws.database.fws_db_001.rule`. + +```rego +package terraform.policies.fws.database.fws_db_001 + +import future.keywords.in +import input.plan as tfplan + +actions := [ + ["no-op"], + ["create"], + ["update"], +] + +db_size := 128 + +resources := [resource_changes | + resource_changes := tfplan.resource_changes[_] + resource_changes.type == "fakewebservices_database" + resource_changes.mode == "managed" + resource_changes.change.actions in actions +] + +violations := [resource | + resource := resources[_] + not resource.change.after.size == db_size +] + +violators[address] { + address := violations[_].address +} + +rule[msg] { + count(violations) != 0 + msg := sprintf( + "%d %q severity resource violation(s) have been detected.", + [count(violations), rego.metadata.rule().custom.severity] + ) +} +``` + +## Test policies + +You can write tests for your policies by [mocking](https://www.openpolicyagent.org/docs/latest/policy-testing/#data-and-function-mocking) the input data the policies use during Terraform runs. + +The following example policy called `block_auto_apply_runs` checks whether or not an HCP Terraform workspace has been configured to automatically apply a successful Terraform plan. + +```rego +package terraform.tfc.block_auto_apply_runs + +import input.run as run + +deny[msg] { + run.workspace.auto_apply != false + msg := sprintf( + "HCP Terraform workspace %s has been configured to automatically provision Terraform infrastructure. Change the workspace Apply Method settings to 'Manual Apply'", + [run.workspace.name], + ) +} +``` + +The following test validates `block_auto_apply_runs`. The test is written in rego and uses the OPA [test format](https://www.openpolicyagent.org/docs/latest/policy-testing/#test-format) to check that the workspace [apply method](/terraform/enterprise/workspaces/settings#apply-method) is not configured to auto apply. You can run this test with the `opa test` CLI command. Refer to [Policy Testing](https://www.openpolicyagent.org/docs/latest/policy-testing/) in the OPA documentation for more details. + +```rego +package terraform.tfc.block_auto_apply_runs + +import future.keywords + +test_run_workspace_auto_apply if { + deny with input as {"run": {"workspace": {"auto_apply": true}}} +} +``` + +## Terraform run data + +Each [Terraform run](/terraform/docs/glossary#run) outputs data describing the run settings and the associated workspace. + +### Schema + +The following code shows the schema for Terraform run data. + + run + ├── id (string) + ├── created_at (string) + ├── created_by (string) + ├── message (string) + ├── commit_sha (string) + ├── is_destroy (boolean) + ├── refresh (boolean) + ├── refresh_only (boolean) + ├── replace_addrs (array of strings) + ├── speculative (boolean) + ├── target_addrs (array of strings) + └── project + │ ├── id (string) + │ └── name (string) + ├── variables (map of keys) + ├── organization + │ └── name (string) + └── workspace + ├── id (string) + ├── name (string) + ├── created_at (string) + ├── description (string) + ├── execution_mode (string) + ├── auto_apply (bool) + ├── tags (array of strings) + ├── working_directory (string) + └── vcs_repo (map of keys) + +### Properties + +The following sections contain details about each property in Terraform run data. + +#### Run namespace + +The following table contains the attributes for the `run` namespace. + +| Properties Name | Type | Description | +| --------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | String | The ID associated with the current Terraform run | +| `created_at` | String | The time Terraform created the run. The timestamp follows the [standard timestamp format in RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). | +| `created_by` | String | A string that specifies the user name of the HCP Terraform user for the specific run. | +| `message` | String | The message associated with the Terraform run. The default value is "Queued manually via the Terraform Enterprise API". | +| `commit_sha` | String | The checksum hash (SHA) that identifies the commit | +| `is_destroy` | Boolean | Whether the plan is a destroy plan that destroys all provisioned resources | +| `refresh` | Boolean | Whether the state refreshed prior to the plan | +| `refresh_only` | Boolean | Whether the plan is in refresh-only mode. In refresh-only mode, Terraform ignores configuration changes and updates state with any changes made outside of Terraform. | +| `replace_addrs` | An array of strings representing [resource addresses](/terraform/cli/state/resource-addressing) | The targets specified using the [`-replace`](/terraform/cli/commands/plan#replace-address) flag in the CLI or the `replace-addrs` property in the API. Undefined if there are no specified resource targets. | +| `speculative` | Boolean | Whether the plan associated with the run is a [speculative plan](/terraform/enterprise/run/remote-operations#speculative-plans) only | +| `target_addrs` | An array of strings representing [resource addresses](/terraform/cli/state/resource-addressing). | The targets specified using the [`-target`](/terraform/cli/commands/plan#resource-targeting) flag in the CLI or the `target-addrs` property in the API. Undefined if there are no specified resource targets. | +| `variables` | A string-keyed map of values. | Provides the variables configured within the run. Each variable `name` maps to two properties: `category` and `sensitive`. The `category` property is a string indicating the variable type, either "input" or "environment". The `sensitive` property is a boolean, indicating whether the variable is a [sensitive value](/terraform/enterprise/workspaces/variables/managing-variables#sensitive-values). | + +#### Project Namespace + +The following table contains the properties for the `project` namespace. + +| Property Name | Type | Description | +| ------------- | ------ | --------------------------------------------------------------------------------------- | +| `id` | String | The ID associated with the Terraform project | +| `name` | String | The name of the project, which can only include letters, numbers, spaces, `-`, and `_`. | + +#### Organization namespace + +The `organization` namespace has one property called `name`. The `name` property is a string that specifies the name of the HCP Terraform organization for the run. + +#### Workspace namespace + +The following table contains the properties for the `workspace` namespace. + +| Property Name | Type | Description | +| ------------------- | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | String | The ID associated with the Terraform workspace | +| `name` | String | The name of the workspace, which can only include letters, numbers, `-`, and `_` | +| `created_at` | String | The time of the workspace's creation. The timestamp follows the [standard timestamp format in RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). | +| `description` | String | The description for the workspace. This value can be `null`. | +| `auto_apply` | Boolean | The workspace's [auto-apply](/terraform/enterprise/workspaces/settings#apply-method) setting | +| `tags` | Array of strings | The list of tag names for the workspace | +| `working_directory` | String | The configured [Terraform working directory](/terraform/enterprise/workspaces/settings#terraform-working-directory) of the workspace. This value can be `null`. | +| `execution_mode` | String | The configured Terraform execution mode of the workspace. The default value is `remote`. | +| `vcs_repo` | A string-keyed map to objects | Data associated with a VCS repository connected to the workspace. The map contains `identifier` (string), ` display_identifier` (string), `branch` (string), and `ingress_submodules` (boolean). Refer to the HCP Terraform [Workspaces API documentation](/terraform/enterprise/api-docs/workspaces) for details about each property. This value can be `null`. | + +## Next steps + +- Group your policies into sets and apply them to your workspaces. Refer to [Create policy sets](/policy-enforcement/manage-policy-sets#create-policy-sets) for additional information. +- View results and address Terraform runs that do not comply with your policies. Refer to [View results](/terraform/enterprise/policy-enforcement/view-results) for additional information. +- You can also view Sentinel policy results in JSON format. Refer to [View Sentinel JSON results](/terraform/enterprise/policy-enforcement/view-results/json) for additional information. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/index.mdx new file mode 100644 index 0000000000..eebf3b47f7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/index.mdx @@ -0,0 +1,32 @@ +--- +page_title: Sentinel import function reference +description: >- + Use the Sentinel import function to configure policy behaviors in custom + Sentinel policies. +source: terraform-docs-common +--- + +# `import` function reference overview + +This topic provides an overview of the Sentinel `import` function, which you can use to import Sentinel libraries into your custom Sentinel policies. Refer to [Define custom Sentinel policies](/terraform/enterprise/policy-enforcement/define-policies/custom-sentinel) for additional information about how to use the `import` function. + +## Functions for Terraform + +You can add Sentinel the `import` function, which enables a policy to access reusable libraries, external data, and other functions. Refer to the [Sentinel imports documentation](/sentinel/docs/language/imports) for more details. + +HCP Terraform provides the following importable libraries to define policy rules for the plan, configuration, state, and run associated with a policy check. + +- [`tfplan`](/terraform/enterprise/policy-enforcement/import-reference/tfplan) : Provides access to a Terraform plan, which is the file created when you run the `terraform plan` command. This library is deprecated. Use `tfplanv/2` instead. +- [`tfplan/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2): Provides access to a Terraform plan, which is the file created when you run the `terraform plan` command. +- [`tfconfig`](/terraform/enterprise/policy-enforcement/import-reference/tfconfig): Provides access to a Terraform configuration. The configuration is the set of `.tf` files that describe the desired infrastructure state. This library is deprecated. Use `tfconfig/v2` instead. +- [`tfconfig/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfconfig-v2): Provides access to a Terraform configuration. The configuration is the set of `.tf` files that describe the desired infrastructure state. +- [`tfstate`](/terraform/enterprise/policy-enforcement/import-reference/tfstate): Provides access to the Terraform state. Terraform uses state to map real-world resources to your configuration. This library is deprecated. Use `tfstate/v2` instead. +- [`tfstate/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2): Provides access to the Terraform state. Terraform uses state to map real-world resources to your configuration. +- [`tfrun`](/terraform/enterprise/policy-enforcement/import-reference/tfrun): Provides access to data associated with a run in HCP Terraform. For example, you could retrieve the run's workspace. + +## Test `import` functions + +You can create mocks of these functions and test them using the Sentinel CLI. Refer to the following topics for additional information: + +- [Test Sentinel policies](/terraform/enterprise/policy-enforcement/test-sentinel) +- [Sentinel CLI documentation](/sentinel/docs/commands) diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig-v2.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig-v2.mdx new file mode 100644 index 0000000000..637d596f01 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig-v2.mdx @@ -0,0 +1,422 @@ +--- +page_title: tfconfig/v2 Sentinel import +description: >- + Use the tfconfig/v2 import to give Sentinel access to a Terraform + configuration. +source: terraform-docs-common +--- + +-> **Note:** This is documentation for the next version of the `tfconfig` +Sentinel import, designed specifically for Terraform 0.12. This import requires +Terraform 0.12 or higher, and must currently be loaded by path, using an alias, +example: `import "tfconfig/v2" as tfconfig`. + +# tfconfig/v2 Sentinel import + +The `tfconfig/v2` import provides access to a Terraform configuration. + +The Terraform configuration is the set of `*.tf` files that are used to +describe the desired infrastructure state. Policies using the `tfconfig` +import can access all aspects of the configuration: providers, resources, +data sources, modules, and variables. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Some use cases for `tfconfig` include: + +- **Organizational naming conventions**: requiring that configuration elements + are named in a way that conforms to some organization-wide standard. +- **Required inputs and outputs**: organizations may require a particular set + of input variable names across all workspaces or may require a particular + set of outputs for asset management purposes. +- **Enforcing particular modules**: organizations may provide a number of + "building block" modules and require that each workspace be built only from + combinations of these modules. +- **Enforcing particular providers or resources**: an organization may wish to + require or prevent the use of providers and/or resources so that configuration + authors cannot use alternative approaches to work around policy + restrictions. + +The data in the `tfconfig/v2` import is sourced from the JSON configuration file +that is generated by the [`terraform show -json`](/terraform/cli/commands/show#json-output) command. For more information on +the file format, see the [JSON Output Format](/terraform/internals/json-format) +page. + +## Import Overview + +The `tfconfig/v2` import is structured as a series of _collections_, keyed as a +specific format, such as resource address, module address, or a +specifically-formatted provider key. + + tfconfig/v2 + ├── strip_index() (function) + ├── providers + │ └── (indexed by [module_address:]provider[.alias]) + │ ├── provider_config_key (string) + │ ├── name (string) + │ ├── full_name (string) + │ ├── alias (string) + │ ├── module_address (string) + │ ├── config (block expression representation) + │ └── version_constraint (string) + ├── resources + │ └── (indexed by address) + │ ├── address (string) + │ ├── module_address (string) + │ ├── mode (string) + │ ├── type (string) + │ ├── name (string) + │ ├── provider_config_key (string) + │ ├── provisioners (list) + │ │ └── (ordered provisioners for this resource only) + │ ├── config (block expression representation) + │ ├── count (expression representation) + │ ├── for_each (expression representation) + │ └── depends_on (list of strings) + ├── provisioners + │ └── (indexed by resource_address:index) + │ ├── resource_address (string) + │ ├── type (string) + │ ├── index (string) + │ └── config (block expression representation) + ├── variables + │ └── (indexed by module_address:name) + │ ├── module_address (string) + │ ├── name (string) + │ ├── default (value) + │ └── description (string) + ├── outputs + │ └── (indexed by module_address:name) + │ ├── module_address (string) + │ ├── name (string) + │ ├── sensitive (boolean) + │ ├── value (expression representation) + │ ├── description (string) + │ └── depends_on (list of strings) + └── module_calls + └── (indexed by module_address:name) + ├── module_address (string) + ├── name (string) + ├── source (string) + ├── config (block expression representation) + ├── count (expression representation) + ├── depends_on (expression representation) + ├── for_each (expression representation) + └── version_constraint (string) + +The collections are: + +- [`providers`](#the-providers-collection) - The configuration for all provider + instances across all modules in the configuration. +- [`resources`](#the-resources-collection) - The configuration of all resources + across all modules in the configuration. +- [`variables`](#the-variables-collection) - The configuration of all variable + definitions across all modules in the configuration. +- [`outputs`](#the-outputs-collection) - The configuration of all output + definitions across all modules in the configuration. +- [`module_calls`](#the-module_calls-collection) - The configuration of all module + calls (individual [`module`](/terraform/language/modules) blocks) across + all modules in the configuration. + +These collections are specifically designed to be used with the +[`filter`](/sentinel/docs/language/collection-operations#filter-expression) +quantifier expression in Sentinel, so that one can collect a list of resources +to perform policy checks on without having to write complex module or +configuration traversal. As an example, the following code will return all +`aws_instance` resource types within the configuration, regardless of what +module they are in: + + all_aws_instances = filter tfconfig.resources as _, r { + r.mode is "managed" and + r.type is "aws_instance" + } + +You can add specific attributes to the filter to narrow the search, such as the +module address. The following code would return resources in a module named +`foo` only: + + all_aws_instances = filter tfconfig.resources as _, r { + r.module_address is "module.foo" and + r.mode is "managed" and + r.type is "aws_instance" + } + +### Address Differences Between `tfconfig`, `tfplan`, and `tfstate` + +This import deals with configuration before it is expanded into a +resource graph by Terraform. As such, it is not possible to compute an index as +the import is building its collections and computing addresses for resources and +modules. + +As such, addresses found here may not always match the expanded addresses found +in the [`tfplan/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) and [`tfstate/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2) +imports, specifically when +[`count`](/terraform/language/resources#count-multiple-resource-instances-by-count) +and +[`for_each`](/terraform/language/resources#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings), +are used. + +As an example, consider a resource named `null_resource.foo` with a count of `2` +located in a module named `bar`. While there will possibly be entries in the +other imports for `module.bar.null_resource.foo[0]` and +`module.bar.null_resource.foo[1]`, in `tfconfig/v2`, there will only be a +`module.bar.null_resource.foo`. As mentioned in the start of this section, this +is because configuration actually _defines_ this scaling, whereas _expansion_ +actually happens when the resource graph is built, which happens as a natural +part of the refresh and planning process. + +The `strip_index` helper function, found in this import, can assist in +removing the indexes from addresses found in the `tfplan/v2` and `tfstate/v2` +imports so that data from those imports can be used to reference data in this +one. + +## The `strip_index` Function + +The `strip_index` helper function can be used to remove indexes from addresses +found in [`tfplan/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) and [`tfstate/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2), +by removing the indexes from each resource. + +This can be used to help facilitate cross-import lookups for data between plan, +state, and config. + + import "tfconfig/v2" as tfconfig + import "tfplan/v2" as tfplan + + main = rule { + all filter tfplan.resource_changes as _, rc { + rc.mode is "managed" and + rc.type is "aws_instance" + } as _, rc { + tfconfig.resources[tfconfig.strip_index(rc.address)].config.ami.constant_value is "ami-abcdefgh012345" + } + } + +## Expression Representations + +Most collections in this import will have one of two kinds of _expression +representations_. This is a verbose format for expressing a (parsed) +configuration value independent of the configuration source code, which is not +100% available to a policy check in HCP Terraform. + + (expression representation) + ├── constant_value (value) + └── references (list of strings) + +There are two major parts to an expression representation: + +- Any _strictly constant value_ is expressed as an expression with a + `constant_value` field. +- Any expression that requires some degree of evaluation to generate the final + value - even if that value is known at plan time - is not expressed in + configuration. Instead, any particular references that are made are added to + the `references` field. More details on this field can be found in the + [expression + representation](/terraform/internals/json-format#expression-representation) + section of the JSON output format documentation. + +For example, to determine if an output is based on a particular +resource value, one could do: + + import "tfconfig/v2" as tfconfig + + main = rule { + tfconfig.outputs["instance_id"].value.references is ["aws_instance.foo"] + } + +-> **Note:** The representation does not account for +complex interpolations or other expressions that combine constants with other +expression data. For example, the partially constant data in `"foo${var.bar}"` would be lost. + +### Block Expression Representation + +Expanding on the above, a multi-value expression representation (such as the +kind found in a [`resources`](#the-resources-collection) collection element) is +similar, but the root value is a keyed map of expression representations. This +is repeated until a "scalar" expression value is encountered, ie: a field that +is not a block in the resource's schema. + + (block expression representation) + └── (attribute key) + ├── (child block expression representation) + │ └── (...) + ├── constant_value (value) + └── references (list of strings) + +As an example, one can validate expressions in an +[`aws_instance`](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) resource using the +following: + + import "tfconfig/v2" as tfconfig + + main = rule { + tfconfig.resources["aws_instance.foo"].config.ami.constant_value is "ami-abcdefgh012345" + } + +Note that _nested blocks_, sometimes known as _sub-resources_, will be nested in +configuration as a list of blocks (reflecting their ultimate nature as a list +of objects). An example would be the `aws_instance` resource's +[`ebs_block_device`](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#ebs-ephemeral-and-root-block-devices) block: + + import "tfconfig/v2" as tfconfig + + main = rule { + tfconfig.resources["aws_instance.foo"].config.ebs_block_device[0].volume_size < 10 + } + +## The `providers` Collection + +The `providers` collection is a collection representing the configurations of +all provider instances across all modules in the configuration. + +This collection is indexed by an opaque key. This is currently +`module_address:provider.alias`, the same value as found in the +`provider_config_key` field. `module_address` and the colon delimiter are +omitted for the root module. + +The `provider_config_key` field is also found in the `resources` collection and +can be used to locate a provider that belongs to a configured resource. + +The fields in this collection are as follows: + +- `provider_config_key` - The opaque configuration key, used as the index key. +- `name` - The name of the provider, ie: `aws`. +- `full_name` - The fully-qualified name of the provider, e.g. `registry.terraform.io/hashicorp/aws`. +- `alias` - The alias of the provider, ie: `east`. Empty for a default provider. +- `module_address` - The address of the module this provider appears in. +- `config` - A [block expression + representation](#block-expression-representation) with provider configuration + values. +- `version_constraint` - The defined version constraint for this provider. + +## The `resources` Collection + +The `resources` collection is a collection representing all of the resources +found in all modules in the configuration. + +This collection is indexed by the resource address. + +The fields in this collection are as follows: + +- `address` - The resource address. This is the index of the collection. +- `module_address` - The module address that this resource was found in. +- `mode` - The resource mode, either `managed` (resources) or `data` (data + sources). +- `type` - The type of resource, ie: `null_resource` in `null_resource.foo`. +- `name` - The name of the resource, ie: `foo` in `null_resource.foo`. +- `provider_config_key` - The opaque configuration key that serves as the index + of the [`providers`](#the-providers-collection) collection. +- `provisioners` - The ordered list of provisioners for this resource. The + syntax of the provisioners matches those found in the + [`provisioners`](#the-provisioners-collection) collection, but is a list + indexed by the order the provisioners show up in the resource. +- `config` - The [block expression + representation](#block-expression-representation) of the configuration values + found in the resource. +- `count` - The [expression data](#expression-representations) for the `count` + value in the resource. +- `for_each` - The [expression data](#expression-representations) for the + `for_each` value in the resource. +- `depends_on` - The contents of the `depends_on` config directive, which + declares explicit dependencies for this resource. + +## The `provisioners` Collection + +The `provisioners` collection is a collection of all of the provisioners found +across all resources in the configuration. + +While normally bound to a resource in an ordered fashion, this collection allows +for the filtering of provisioners within a single expression. + +This collection is indexed with a key following the format +`resource_address:index`, with each field matching their respective field in the +particular element below: + +- `resource_address`: The address of the resource that the provisioner was found + in. This can be found in the [`resources`](#the-resources-collection) + collection. +- `type`: The provisioner type, ie: `local_exec`. +- `index`: The provisioner index as it shows up in the resource provisioner + order. +- `config`: The [block expression + representation](#block-expression-representation) of the configuration values + in the provisioner. + +## The `variables` Collection + +The `variables` collection is a collection of all variables across all modules +in the configuration. + +Note that this tracks variable definitions, not values. See the [`tfplan/v2` +`variables` collection](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#the-variables-collection) for variable +values set within a plan. + +This collection is indexed by the key format `module_address:name`, with each +field matching their respective name below. `module_address` and the colon +delimiter are omitted for the root module. + +- `module_address` - The address of the module the variable was found in. +- `name` - The name of the variable. +- `default` - The defined default value of the variable. +- `description` - The description of the variable. + +## The `outputs` Collection + +The `outputs` collection is a collection of all outputs across all modules in +the configuration. + +Note that this tracks variable definitions, not values. See the [`tfstate/v2` +`outputs` collection](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2#the-outputs-collection) for the final +values of outputs set within a state. The [`tfplan/v2` `output_changes` +collection](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#the-output_changes-collection) also contains a more +complex collection of planned output changes. + +This collection is indexed by the key format `module_address:name`, with each +field matching their respective name below. `module_address` and the colon +delimiter are omitted for the root module. + +- `module_address` - The address of the module the output was found in. +- `name` - The name of the output. +- `sensitive` - Indicates whether or not the output was marked as + [`sensitive`](/terraform/language/values/outputs#sensitive-suppressing-values-in-cli-output). +- `value` - An [expression representation](#expression-representations) for the output. +- `description` - The description of the output. +- `depends_on` - A list of resource names that the output depends on. These are + the hard-defined output dependencies as defined in the + [`depends_on`](/terraform/language/values/outputs#depends_on-explicit-output-dependencies) + field in an output declaration, not the dependencies that get derived from + natural evaluation of the output expression (these can be found in the + `references` field of the expression representation). + +## The `module_calls` Collection + +The `module_calls` collection is a collection of all module declarations at all +levels within the configuration. + +Note that this is the +[`module`](/terraform/language/modules#calling-a-child-module) stanza in +any particular configuration, and not the module itself. Hence, a declaration +for `module.foo` would actually be declared in the root module, which would be +represented by a blank field in `module_address`. + +This collection is indexed by the key format `module_address:name`, with each +field matching their respective name below. `module_address` and the colon +delimiter are omitted for the root module. + +- `module_address` - The address of the module the declaration was found in. +- `name` - The name of the module. +- `source` - The contents of the `source` field. +- `config` - A [block expression + representation](#block-expression-representation) for all parameter values + sent to the module. +- `count` - An [expression representation](#expression-representations) for the + `count` field. +- `depends_on`: An [expression representation](#expression-representations) for the + `depends_on` field. +- `for_each` - An [expression representation](#expression-representations) for + the `for_each` field. +- `version_constraint` - The string value found in the `version` field of the + module declaration. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig.mdx new file mode 100644 index 0000000000..dd83787db5 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfconfig.mdx @@ -0,0 +1,976 @@ +--- +page_title: tfconfig Sentinel import +description: Use tfconfig import to give Sentinel access to a Terraform configuration. +source: terraform-docs-common +--- + +# tfconfig Sentinel import + +~> **Warning:** The `tfconfig` import is now deprecated and will be permanently removed in August 2025. We recommend that you start using the updated [tfconfig/v2](/terraform/enterprise/policy-enforcement/import-reference/tfconfig-v2) import as soon as possible to avoid disruptions. The `tfconfig/v2` import offers improved functionality and is designed to better support your policy enforcement needs. + +The `tfconfig` import provides access to a Terraform configuration. + +The Terraform configuration is the set of `*.tf` files that are used to +describe the desired infrastructure state. Policies using the `tfconfig` +import can access all aspects of the configuration: providers, resources, +data sources, modules, and variables. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Some use cases for `tfconfig` include: + +- **Organizational naming conventions**: requiring that configuration elements + are named in a way that conforms to some organization-wide standard. +- **Required inputs and outputs**: organizations may require a particular set + of input variable names across all workspaces or may require a particular + set of outputs for asset management purposes. +- **Enforcing particular modules**: organizations may provide a number of + "building block" modules and require that each workspace be built only from + combinations of these modules. +- **Enforcing particular providers or resources**: an organization may wish to + require or prevent the use of providers and/or resources so that configuration + authors cannot use alternative approaches to work around policy + restrictions. + +Note with these use cases that this import is concerned with object _names_ +in the configuration. Since this is the configuration and not an invocation +of Terraform, you can't see values for variables, the state, or the diff for +a pending plan. If you want to write policy around expressions used +within configuration blocks, you likely want to use the +[`tfplan`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) import. + +## Namespace Overview + +The following is a tree view of the import namespace. For more detail on a +particular part of the namespace, see below. + +-> **Note:** The root-level alias keys shown here (`data`, `modules`, +`providers`, `resources`, and `variables`) are shortcuts to a [module +namespace](#namespace-module) scoped to the root module. For more details, see +the section on [root namespace aliases](#root-namespace-aliases). + + tfconfig + ├── module() (function) + │ └── (module namespace) + │ ├── data + │ │ └── TYPE.NAME + │ │ ├── config (map of keys) + │ │ ├── references (map of keys) (TF 0.12 and later) + │ │ └── provisioners + │ │ └── NUMBER + │ │ ├── config (map of keys) + │ │ ├── references (map of keys) (TF 0.12 and later) + │ │ └── type (string) + │ ├── modules + │ │ └── NAME + │ │ ├── config (map of keys) + │ │ ├── references (map of keys) (TF 0.12 and later) + │ │ ├── source (string) + │ │ └── version (string) + │ ├──outputs + │ │ └── NAME + │ │ ├── depends_on (list of strings) + │ │ ├── description (string) + │ │ ├── sensitive (boolean) + │ │ ├── references (list of strings) (TF 0.12 and later) + │ │ └── value (value) + │ ├── providers + │ │ └── TYPE + │ │ ├── alias + │ │ │ └── ALIAS + │ │ │ ├── config (map of keys) + │ │ | ├── references (map of keys) (TF 0.12 and later) + │ │ │ └── version (string) + │ │ ├── config (map of keys) + │ │ ├── references (map of keys) (TF 0.12 and later) + │ │ └── version (string) + │ ├── resources + │ │ └── TYPE.NAME + │ │ ├── config (map of keys) + │ │ ├── references (map of keys) (TF 0.12 and later) + │ │ └── provisioners + │ │ └── NUMBER + │ │ ├── config (map of keys) + │ │ ├── references (map of keys) (TF 0.12 and later) + │ │ └── type (string) + │ └── variables + │ └── NAME + │ ├── default (value) + │ └── description (string) + ├── module_paths ([][]string) + │ + ├── data (root module alias) + ├── modules (root module alias) + ├── outputs (root module alias) + ├── providers (root module alias) + ├── resources (root module alias) + └── variables (root module alias) + +### `references` with Terraform 0.12 + +**With Terraform 0.11 or earlier**, if a configuration value is defined as an +expression (and not a static value), the value will be accessible in its raw, +non-interpolated string (just as with a constant value). + +As an example, consider the following resource block: + +```hcl +resource "local_file" "accounts" { + content = "some text" + filename = "${var.subdomain}.${var.domain}/accounts.txt" +} +``` + +In this example, one might want to ensure `domain` and `subdomain` input +variables are used within `filename` in this configuration. With Terraform 0.11 or +earlier, the following policy would evaluate to `true`: + +```python +import "tfconfig" + +# filename_value is the raw, non-interpolated string +filename_value = tfconfig.resources.local_file.accounts.config.filename + +main = rule { + filename_value contains "${var.domain}" and + filename_value contains "${var.subdomain}" +} +``` + +**With Terraform 0.12 or later**, any non-static +values (such as interpolated strings) are not present within the +configuration value and `references` should be used instead: + +```python +import "tfconfig" + +# filename_references is a list of string values containing the references used in the expression +filename_references = tfconfig.resources.local_file.accounts.references.filename + +main = rule { + filename_references contains "var.domain" and + filename_references contains "var.subdomain" +} +``` + +The `references` value is present in any namespace where non-constant +configuration values can be expressed. This is essentially every namespace +which has a `config` value as well as the `outputs` namespace. + +-> **Note:** Remember, this import enforces policy around the literal Terraform +configuration and not the final values as a result of invoking Terraform. If +you want to write policy around the _result_ of expressions used within +configuration blocks (for example, if you wanted to ensure the final value of +`filename` above includes `accounts.txt`), you likely want to use the +[`tfplan`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) import. + +## Namespace: Root + +The root-level namespace consists of the values and functions documented below. + +In addition to this, the root-level `data`, `modules`, `providers`, `resources`, +and `variables` keys all alias to their corresponding namespaces within the +[module namespace](#namespace-module). + + + +### Function: `module()` + + module = func(ADDR) + +- **Return Type:** A [module namespace](#namespace-module). + +The `module()` function in the [root namespace](#namespace-root) returns the +[module namespace](#namespace-module) for a particular module address. + +The address must be a list and is the module address, split on the period (`.`), +excluding the root module. + +Hence, a module with an address of simply `foo` (or `root.foo`) would be +`["foo"]`, and a module within that (so address `foo.bar`) would be read as +`["foo", "bar"]`. + +[`null`][ref-null] is returned if a module address is invalid, or if the module +is not present in the configuration. + +[ref-null]: /sentinel/docs/language/spec#null + +As an example, given the following module block: + +```hcl +module "foo" { + # ... +} +``` + +If the module contained the following content: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { subject.module(["foo"]).resources.null_resource.foo.config.triggers[0].foo is "bar" } +``` + + + +### Value: `module_paths` + +- **Value Type:** List of a list of strings. + +The `module_paths` value within the [root namespace](#namespace-root) is a list +of all of the modules within the Terraform configuration. + +Modules not present in the configuration will not be present here, even if they +are present in the diff or state. + +This data is represented as a list of a list of strings, with the inner list +being the module address, split on the period (`.`). + +The root module is included in this list, represented as an empty inner list. + +As an example, if the following module block was present within a Terraform +configuration: + +```hcl +module "foo" { + # ... +} +``` + +The value of `module_paths` would be: + + [ + [], + ["foo"], + ] + +And the following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.module_paths contains ["foo"] } +``` + +#### Iterating Through Modules + +Iterating through all modules to find particular resources can be useful. This +[example][iterate-over-modules] shows how to use `module_paths` with the +[`module()` function](#function-module-) to find all resources of a +particular type from all modules using the `tfplan` import. By changing `tfplan` +in this function to `tfconfig`, you could make a similar function find all +resources of a specific type in the Terraform configuration. + +[iterate-over-modules]: /terraform/enterprise/policy-enforcement/sentinel#sentinel-imports + +## Namespace: Module + +The **module namespace** can be loaded by calling [`module()`](#root-function-module) +for a particular module. + +It can be used to load the following child namespaces: + +- `data` - Loads the [resource namespace](#namespace-resources-data-sources), + filtered against data sources. +- `modules` - Loads the [module configuration + namespace](#namespace-module-configuration). +- `outputs` - Loads the [output namespace](#namespace-outputs). +- `providers` - Loads the [provider namespace](#namespace-providers). +- `resources` - Loads the [resource + namespace](#namespace-resources-data-sources), filtered against resources. +- `variables` - Loads the [variable namespace](#namespace-variables). + +### Root Namespace Aliases + +The root-level `data`, `modules`, `providers`, `resources`, and `variables` keys +all alias to their corresponding namespaces within the module namespace, loaded +for the root module. They are the equivalent of running `module([]).KEY`. + + + +## Namespace: Resources/Data Sources + +The **resource namespace** is a namespace _type_ that applies to both resources +(accessed by using the `resources` namespace key) and data sources (accessed +using the `data` namespace key). + +Accessing an individual resource or data source within each respective namespace +can be accomplished by specifying the type and name, in the syntax +`[resources|data].TYPE.NAME`. + +In addition, each of these namespace levels is a map, allowing you to filter +based on type and name. Some examples of multi-level access are below: + +- To fetch all `aws_instance` resources within the root module, you can specify + `tfconfig.resources.aws_instance`. This would give you a map of resource + namespaces indexed from the names of each resource (`foo`, `bar`, and so + on). +- To fetch all resources within the root module, irrespective of type, use + `tfconfig.resources`. This is indexed by type, as shown above with + `tfconfig.resources.aws_instance`, with names being the next level down. + +As an example, perhaps you wish to deny use of the `local_file` resource +in your configuration. Consider the following resource block: + +```hcl +resource "local_file" "foo" { + content = "foo!" + filename = "${path.module}/foo.bar" +} +``` + +The following policy would fail: + +```python +import "tfconfig" + +main = rule { tfconfig.resources not contains "local_file" } +``` + +Further explanation of the namespace will be in the context of resources. As +mentioned, when operating on data sources, use the same syntax, except with +`data` in place of `resources`. + + + +### Value: `config` + +- **Value Type:** A string-keyed map of values. + +The `config` value within the [resource +namespace](#namespace-resources-data-sources) is a map of key-value pairs that +directly map to Terraform config keys and values. + +-> **With Terraform 0.11 or earlier**, if the config value is defined as an +expression (and not a static value), the value will be in its raw, +non-interpolated string. **With Terraform 0.12 or later**, any non-static +values (such as interpolated strings) are not present and +[`references`](#resources-value-references) should be used instead. + +As an example, consider the following resource block: + +```hcl +resource "local_file" "accounts" { + content = "some text" + filename = "accounts.txt" +} +``` + +In this example, one might want to access `filename` to validate that the correct +file name is used. Given the above example, the following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { + tfconfig.resources.local_file.accounts.config.filename is "accounts.txt" +} +``` + + + +### Value: `references` + +- **Value Type:** A string-keyed map of list values containing strings. + +-> **Note:** This value is only present when using Terraform 0.12 or later. + +The `references` value within the [resource namespace](#namespace-resources-data-sources) +contains the identifiers within non-constant expressions found in [`config`](#resources-value-config). +See the [documentation on `references`](#references-with-terraform-0-12) for more information. + + + +### Value: `provisioners` + +- **Value Type:** List of [provisioner namespaces](#namespace-provisioners). + +The `provisioners` value within the [resource namespace](#namespace-resources) +represents the [provisioners][ref-tf-provisioners] within a specific resource. + +Provisioners are listed in the order they were provided in the configuration +file. + +While the `provisioners` value will be present within data sources, it will +always be an empty map (in Terraform 0.11) or `null` (in Terraform 0.12) since +data sources cannot actually have provisioners. + +The data within a provisioner can be inspected via the returned [provisioner +namespace](#namespace-provisioners). + +[ref-tf-provisioners]: /terraform/language/resources/provisioners/syntax + +## Namespace: Provisioners + +The **provisioner namespace** represents the configuration for a particular +[provisioner][ref-tf-provisioners] within a specific resource. + + + +### Value: `config` + +- **Value Type:** A string-keyed map of values. + +The `config` value within the [provisioner namespace](#namespace-provisioners) +represents the values of the keys within the provisioner. + +-> **With Terraform 0.11 or earlier**, if the config value is defined as an +expression (and not a static value), the value will be in its raw, +non-interpolated string. **With Terraform 0.12 or later**, any non-static +values (such as interpolated strings) are not present and +[`references`](#provisioners-value-references) should be used instead. + +As an example, given the following resource block: + +```hcl +resource "null_resource" "foo" { + # ... + + provisioner "local-exec" { + command = "echo ${self.private_ip} > file.txt" + } +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { + tfconfig.resources.null_resource.foo.provisioners[0].config.command is "echo ${self.private_ip} > file.txt" +} +``` + + + +### Value: `references` + +- **Value Type:** A string-keyed map of list values containing strings. + +-> **Note:** This value is only present when using Terraform 0.12 or later. + +The `references` value within the [provisioner namespace](#namespace-provisioners) +contains the identifiers within non-constant expressions found in [`config`](#provisioners-value-config). +See the [documentation on `references`](#references-with-terraform-0-12) for more information. + + + +### Value: `type` + +- **Value Type:** String. + +The `type` value within the [provisioner namespace](#namespace-provisioners) +represents the type of the specific provisioner. + +As an example, in the following resource block: + +```hcl +resource "null_resource" "foo" { + # ... + + provisioner "local-exec" { + command = "echo ${self.private_ip} > file.txt" + } +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.resources.null_resource.foo.provisioners[0].type is "local-exec" } +``` + +## Namespace: Module Configuration + +The **module configuration** namespace displays data on _module configuration_ +as it is given within a `module` block. This means that the namespace concerns +itself with the contents of the declaration block (example: the `source` +parameter and variable assignment keys), not the data within the module +(example: any contained resources or data sources). For the latter, the module +instance would need to be looked up with the [`module()` +function](#root-function-module). + + + +### Value: `source` + +- **Value Type:** String. + +The `source` value within the [module configuration +namespace](#namespace-module-configuration) represents the module source path as +supplied to the module configuration. + +As an example, given the module declaration block: + +```hcl +module "foo" { + source = "./foo" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.modules.foo.source is "./foo" } +``` + + + +### Value: `version` + +- **Value Type:** String. + +The `version` value within the [module configuration +namespace](#namespace-module-configuration) represents the [version +constraint][module-version-constraint] for modules that support it, such as +modules within the [Terraform Module Registry][terraform-module-registry] or the +[HCP Terraform private module registry][tfe-private-registry]. + +[module-version-constraint]: /terraform/language/modules#module-versions + +[terraform-module-registry]: https://registry.terraform.io/ + +[tfe-private-registry]: /terraform/enterprise/registry + +As an example, given the module declaration block: + +```hcl +module "foo" { + source = "foo/bar" + version = "~> 1.2" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.modules.foo.version is "~> 1.2" } +``` + + + +### Value: `config` + +- **Value Type:** A string-keyed map of values. + +-> **With Terraform 0.11 or earlier**, if the config value is defined as an +expression (and not a static value), the value will be in its raw, +non-interpolated string. **With Terraform 0.12 or later**, any non-static +values (such as interpolated strings) are not present and +[`references`](#modules-value-references) should be used instead. + +The `config` value within the [module configuration +namespace](#namespace-module-configuration) represents the values of the keys +within the module configuration. This is every key within a module declaration +block except [`source`](#modules-value-source) and [`version`](#modules-value-version), which +have their own values. + +As an example, given the module declaration block: + +```hcl +module "foo" { + source = "./foo" + + bar = "baz" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.modules.foo.config.bar is "baz" } +``` + + + +### Value: `references` + +- **Value Type:** A string-keyed map of list values containing strings. + +-> **Note:** This value is only present when using Terraform 0.12 or later. + +The `references` value within the [module configuration namespace](#namespace-module-configuration) +contains the identifiers within non-constant expressions found in [`config`](#modules-value-config). +See the [documentation on `references`](#references-with-terraform-0-12) for more information. + +## Namespace: Outputs + +The **output namespace** represents _declared_ output data within a +configuration. As such, configuration for the [`value`](#outputs-value-value) attribute +will be in its raw form, and not yet interpolated. For fully interpolated output +values, see the [`tfstate` import][ref-tfe-sentinel-tfstate]. + +[ref-tfe-sentinel-tfstate]: /terraform/enterprise/policy-enforcement/import-reference/tfstate-v2 + +This namespace is indexed by output name. + + + +### Value: `depends_on` + +- **Value Type:** A list of strings. + +The `depends_on` value within the [output namespace](#namespace-outputs) +represents any _explicit_ dependencies for this output. For more information, +see the [depends_on output setting][ref-depends_on] within the general Terraform +documentation. + +[ref-depends_on]: /terraform/language/values/outputs#depends_on + +As an example, given the following output declaration block: + +```hcl +output "id" { + depends_on = ["null_resource.bar"] + value = "${null_resource.foo.id}" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.outputs.id.depends_on[0] is "null_resource.bar" } +``` + + + +### Value: `description` + +- **Value Type:** String. + +The `description` value within the [output namespace](#namespace-outputs) +represents the defined description for this output. + +As an example, given the following output declaration block: + +```hcl +output "id" { + description = "foobar" + value = "${null_resource.foo.id}" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.outputs.id.description is "foobar" } +``` + + + +### Value: `sensitive` + +- **Value Type:** Boolean. + +The `sensitive` value within the [output namespace](#namespace-outputs) +represents if this value has been marked as sensitive or not. + +As an example, given the following output declaration block: + +```hcl +output "id" { + sensitive = true + value = "${null_resource.foo.id}" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { subject.outputs.id.sensitive } +``` + + + +### Value: `value` + +- **Value Type:** Any primitive type, list or map. + +The `value` value within the [output namespace](#namespace-outputs) represents +the defined value for the output as declared in the configuration. Primitives +will bear the implicit type of their declaration (string, int, float, or bool), +and maps and lists will be represented as such. + +-> **With Terraform 0.11 or earlier**, if the config value is defined as an +expression (and not a static value), the value will be in its raw, +non-interpolated string. **With Terraform 0.12 or later**, any non-static +values (such as interpolated strings) are not present and +[`references`](#outputs-value-references) should be used instead. + +As an example, given the following output declaration block: + +```hcl +output "id" { + value = "${null_resource.foo.id}" +} +``` + +With Terraform 0.11 or earlier the following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.outputs.id.value is "${null_resource.foo.id}" } +``` + + + +### Value: `references` + +- **Value Type:**. List of strings. + +-> **Note:** This value is only present when using Terraform 0.12 or later. + +The `references` value within the [output namespace](#namespace-outputs) +contains the names of any referenced identifiers when [`value`](#outputs-value-value) +is a non-constant expression. + +As an example, given the following output declaration block: + +```hcl +output "id" { + value = "${null_resource.foo.id}" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.outputs.id.references contains "null_resource.foo.id" } +``` + +## Namespace: Providers + +The **provider namespace** represents data on the declared providers within a +namespace. + +This namespace is indexed by provider type and _only_ contains data about +providers when actually declared. If you are using a completely implicit +provider configuration, this namespace will be empty. + +This namespace is populated based on the following criteria: + +- The top-level namespace [`config`](#providers-value-config) and + [`version`](#providers-value-version) values are populated with the configuration and + version information from the default provider (the provider declaration that + lacks an alias). +- Any aliased providers are added as namespaces within the + [`alias`](#providers-value-alias) value. +- If a module lacks a default provider configuration, the top-level `config` and + `version` values will be empty. + + + +### Value: `alias` + +- **Value Type:** A map of [provider namespaces](#namespace-providers), indexed + by alias. + +The `alias` value within the [provider namespace](#namespace-providers) +represents all declared [non-default provider +instances][ref-tf-provider-instances] for a specific provider type, indexed by +their specific alias. + +[ref-tf-provider-instances]: /terraform/language/providers/configuration#alias-multiple-provider-configurations + +The return type is a provider namespace with the data for the instance in +question loaded. The `alias` key will not be available within this namespace. + +As an example, given the following provider declaration block: + +```hcl +provider "aws" { + alias = "east" + region = "us-east-1" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.providers.aws.alias.east.config.region is "us-east-1" } +``` + + + +### Value: `config` + +- **Value Type:** A string-keyed map of values. + +-> **With Terraform 0.11 or earlier**, if the config value is defined as an +expression (and not a static value), the value will be in its raw, +non-interpolated string. **With Terraform 0.12 or later**, any non-static +values (such as interpolated strings) are not present and +[`references`](#providers-value-references) should be used instead. + +The `config` value within the [provider namespace](#namespace-providers) +represents the values of the keys within the provider's configuration, with the +exception of the provider version, which is represented by the +[`version`](#providers-value-version) value. [`alias`](#providers-value-alias) is also not included +when the provider is aliased. + +As an example, given the following provider declaration block: + +```hcl +provider "aws" { + region = "us-east-1" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.providers.aws.config.region is "us-east-1" } +``` + + + +### Value: `references` + +- **Value Type:** A string-keyed map of list values containing strings. + +-> **Note:** This value is only present when using Terraform 0.12 or later. + +The `references` value within the [provider namespace](#namespace-providers) +contains the identifiers within non-constant expressions found in [`config`](#providers-value-config). +See the [documentation on `references`](#references-with-terraform-0-12) for more information. + + + +### Value: `version` + +- **Value Type:** String. + +The `version` value within the [provider namespace](#namespace-providers) +represents the explicit expected version of the supplied provider. This includes +the pessimistic operator. + +As an example, given the following provider declaration block: + +```hcl +provider "aws" { + version = "~> 1.34" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.providers.aws.version is "~> 1.34" } +``` + +## Namespace: Variables + +The **variable namespace** represents _declared_ variable data within a +configuration. As such, static data can be extracted, such as defaults, but not +dynamic data, such as the current value of a variable within a plan (although +this can be extracted within the [`tfplan` import][ref-tfe-sentinel-tfplan]). + +[ref-tfe-sentinel-tfplan]: /terraform/enterprise/policy-enforcement/import-reference/tfplan-v2 + +This namespace is indexed by variable name. + + + +### Value: `default` + +- **Value Type:** Any primitive type, list, map, or `null`. + +The `default` value within the [variable namespace](#namespace-variables) +represents the default for the variable as declared in the configuration. + +The actual value will be as configured. Primitives will bear the implicit type +of their declaration (string, int, float, or bool), and maps and lists will be +represented as such. + +If no default is present, the value will be [`null`][ref-sentinel-null] (not to +be confused with [`undefined`][ref-sentinel-undefined]). + +[ref-sentinel-null]: /sentinel/docs/language/spec#null + +[ref-sentinel-undefined]: /sentinel/docs/language/undefined + +As an example, given the following variable blocks: + +```hcl +variable "foo" { + default = "bar" +} + +variable "number" { + default = 42 +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +default_foo = rule { tfconfig.variables.foo.default is "bar" } +default_number = rule { tfconfig.variables.number.default is 42 } + +main = rule { default_foo and default_number } +``` + + + +### Value: `description` + +- **Value Type:** String. + +The `description` value within the [variable namespace](#namespace-variables) +represents the description of the variable, as provided in configuration. + +As an example, given the following variable block: + +```hcl +variable "foo" { + description = "foobar" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfconfig" + +main = rule { tfconfig.variables.foo.description is "foobar" } +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan-v2.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan-v2.mdx new file mode 100644 index 0000000000..68d18aa3dd --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan-v2.mdx @@ -0,0 +1,388 @@ +--- +page_title: tfplan/v2 Sentinel import +description: Use tfplan/v2 import to give Sentinel access to a Terraform plan. +source: terraform-docs-common +--- + +-> **Note:** This is documentation for the next version of the `tfplan` Sentinel +import, designed specifically for Terraform 0.12. This import requires +Terraform 0.12 or higher, and must currently be loaded by path, using an alias, +example: `import "tfplan/v2" as tfplan`. + +# tfplan/v2 Sentinel import + +The `tfplan/v2` import provides access to a Terraform plan. + +A Terraform plan is the file created as a result of `terraform plan` and is the +input to `terraform apply`. The plan represents the changes that Terraform needs +to make to infrastructure to reach the desired state represented by the +configuration. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +In addition to the diff data available in the plan, there is a "planned state" +that is available through this import, via the +[`planned_values`](#the-planned_values-collection) collection. This collection +presents the Terraform state as how it might look after the plan data is +applied, but is not guaranteed to be the final state. + +The data in the `tfplan/v2` import is sourced from the JSON configuration file +that is generated by the [`terraform show -json`](/terraform/cli/commands/show#json-output) command. For more information on +the file format, see the [JSON Output Format](/terraform/internals/json-format) +page. + +The entirety of the JSON output file is exposed as a Sentinel map via the +[`raw`](#the-raw-collection) collection. This allows direct, low-level access to +the JSON data, but should only be used in complex situations where the +higher-level collections do not serve the purpose. + +## Import Overview + +The `tfplan/v2` import is structured as a series of _collections_, keyed as a +specific format depending on the collection. + + tfplan/v2 + ├── terraform_version (string) + ├── variables + │ └── (indexed by name) + │ ├── name (string) + │ └── value (value) + ├── planned_values + │ ├── outputs (tfstate/v2 outputs representation) + │ └── resources (tfstate/v2 resources representation) + ├── resource_changes + │ └── (indexed by address[:deposed]) + │ ├── address (string) + │ ├── module_address (string) + │ ├── mode (string) + │ ├── type (string) + │ ├── name (string) + │ ├── index (float (number) or string) + │ ├── provider_name (string) + │ ├── deposed (string) + │ └── change (change representation) + ├── resource_drift + │ └── (indexed by address[:deposed]) + │ ├── address (string) + │ ├── module_address (string) + │ ├── mode (string) + │ ├── type (string) + │ ├── name (string) + │ ├── index (float (number) or string) + │ ├── provider_name (string) + │ ├── deposed (string) + │ └── change (change representation) + ├── output_changes + │ └── (indexed by name) + │ ├── name (string) + │ └── change (change representation) + └── raw (map) + +The collections are: + +- [`variables`](#the-variables-collection) - The values of variables that have + been set in the plan itself. This collection only contains variables set in + the root module. +- [`planned_values`](#the-planned_values-collection) - The state representation + of _planned values_, or an estimation of what the state will look like after + the plan is applied. +- [`resource_changes`](#the-resource_changes-and-resource_drift-collections) - The set of change + operations for resources and data sources within this plan. +- [`resource_drift`](#the-resource_changes-and-resource_drift-collections) - A description of the + changes Terraform detected when it compared the most recent state to the prior saved state. +- [`output_changes`](#the-output_changes-collection) - The changes to outputs + within this plan. This collection only contains outputs set in the root + module. +- [`raw`](#the-raw-collection) - Access to the raw plan data as stored by + HCP Terraform. + +These collections are specifically designed to be used with the +[`filter`](/sentinel/docs/language/collection-operations#filter-expression) +quantifier expression in Sentinel, so that one can collect a list of resources +to perform policy checks on without having to write complex discovery code. As +an example, the following code will return all `aws_instance` resource changes, +across all modules in the plan: + + all_aws_instances = filter tfplan.resource_changes as _, rc { + rc.mode is "managed" and + rc.type is "aws_instance" + } + +You can add specific attributes to the filter to narrow the search, such as the +module address, or the operation being performed. The following code would +return resources in a module named `foo` only, and further narrow the search +down to only resources that were being created: + + all_aws_instances = filter tfplan.resource_changes as _, rc { + rc.module_address is "module.foo" and + rc.mode is "managed" and + rc.type is "aws_instance" and + rc.change.actions is ["create"] + } + +### Change Representation + +Certain collections in this import contain a _change representation_, an object +with details about changes to a particular entity, such as a resource (within +the [`resource_changes`](#the-resource_changes-collection) collection), or +output (within the [`output_changes`](#the-output_changes-collection) +collection). + + (change representation) + ├── actions (list) + ├── before (value, or map) + ├── after (value, or map) + └── after_unknown (boolean, or map of booleans) + +This change representation contains the following fields: + +- `actions` - A list of actions being carried out for this change. The order is + important, for example a regular replace operation is denoted by `["delete", + "create"]`, but a + [`create_before_destroy`](/terraform/language/meta-arguments/lifecycle#create_before_destroy) + resource will have an operation order of `["create", "delete"]`. +- `before` - The representation of the resource data object value before the + action. For create-only actions, this is unset. For no-op actions, this value + will be identical with `after`. +- `after` - The representation of the resource data object value after the + action. For delete-only actions, this is unset. For no-op actions, this value + will be identical with `before`. Note that unknown values will not show up in + this field. +- `after_unknown` - A deep object of booleans that denotes any values that are + unknown in a resource. These values were previously referred to as "computed" + values. If the value cannot be found in this map, then its value should be + available within `after`, so long as the operation supports it. + +#### Actions + +As mentioned above, actions show up within the `actions` field of a change +representation and indicate the type of actions being performed as part of the +change, and the order that they are being performed in. + +The current list of actions are as follows: + +- `create` - The action will create the associated entity. Depending on the + order this appears in, the entity may be created alongside a copy of the + entity before replacing it. +- `read` - The action will read the associated entity. In practice, seeing this + change type should be rare, as reads generally happen before a plan is + executed (usually during a refresh). +- `update` - The action will update the associated entity in a way that alters its state + in some way. +- `delete` - The action will remove the associated entity, deleting any + applicable state and associated real resources or infrastructure. +- `no-op` - No action will be performed on the associated entity. + +The `actions` field is a list, as some real-world actions are actually a +composite of more than one primitive action. At this point in time, this +is generally only applicable to resource replacement, in which the following +action orders apply: + +- **Normal replacement:** `["delete", "create"]` - Applies to default lifecycle + configurations. +- **Create-before-destroy:** `["create", "delete"]` - Applies when + [`create_before_destroy`](/terraform/language/meta-arguments/lifecycle#create_before_destroy) + is used in a lifecycle configuration. + +Note that, in most situations, the plan will list all "changes", including no-op +changes. This makes filtering on change type crucial to the accurate selection +of data if you are concerned with the state change of a particular resource. + +To filter on a change type, use exact list comparison. For example, the +following example from the [Import Overview](#import-overview) filters on +exactly the resources being created _only_: + + all_aws_instances = filter tfplan.resource_changes as _, rc { + rc.module_address is "module.foo" and + rc.mode is "managed" and + rc.type is "aws_instance" and + rc.change.actions is ["create"] + } + +#### `before`, `after`, and `after_unknown` + +The exact attribute changes for a particular operation are outlined in the +`before` and `after` attributes. Depending on the entity being operated on, this +will either be a map (as with +[`resource_changes`](#the-resource_changes-collection)) or a singular value (as +with [`output_changes`](#the-output_changes-collection)). + +What you can expect in these fields varies depending on the operation: + +- For fresh create operations, `before` will generally be `null`, and `after` + will contain the data you can expect to see after the change. +- For full delete operations, this will be reversed - `before` will contain + data, and `after` will be `null`. +- Update or replace operations will have data in both fields relevant to their + states before and after the operation. +- No-op operations should have identical data in `before` and `after`. + +For resources, if a field cannot be found in `after`, it generally means one of +two things: + +- The attribute does not exist in the resource schema. Generally, known + attributes that do not have a value will show up as `null` or otherwise empty + in `after`. +- The attribute is _unknown_, that is, it was unable to be determined at plan + time and will only be available after apply-time values have been able to be + calculated. + +In the latter case, there should be a value for the particular attribute in +`after_unknown`, which can be checked to assert that the value is indeed +unknown, versus invalid: + + import "tfplan/v2" as tfplan + + no_unknown_amis = rule { + all filter tfplan.resource_changes as _, rc { + rc.module_address is "module.foo" and + rc.mode is "managed" and + rc.type is "aws_instance" and + rc.change.actions is ["create"] + } as _, rc { + rc.change.after_unknown.ami else false is false + } + } + +For output changes, `after_unknown` will simply be `true` if the value won't be +known until the plan is applied. + +## The `terraform_version` Value + +The top-level `terraform_version` value in this import gives the Terraform +version that made the plan. This can be used to do version validation. + + import "tfplan/v2" as tfplan + import "strings" + + v = strings.split(tfplan.terraform_version, ".") + version_major = int(v[1]) + version_minor = int(v[2]) + + main = rule { + version_major is 12 and version_minor >= 19 + } + +-> **NOTE:** The above example will give errors when working with pre-release +versions (example: `0.12.0beta1`). Future versions of this import will include +helpers to assist with processing versions that will account for these kinds of +exceptions. + +## The `variables` Collection + +The `variables` collection is a collection of the variables set in the root +module when creating the plan. + +This collection is indexed on the name of the variable. + +The valid values are: + +- `name` - The name of the variable, also used as the collection key. +- `value` - The value of the variable assigned during the plan. + +## The `planned_values` Collection + +The `planned_values` collection is a special collection in that it contains two +fields that alias to state collections with the _planned_ state set. This is the +best prediction of what the state will look like after the plan is executed. + +The two fields are: + +- `outputs` - The prediction of what output values will look like after the + state is applied. For more details on the structure of this collection, see + the [`outputs`](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2#the-outputs-collection) collection in the + [`tfstate/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2) documentation. +- `resources` - The prediction of what resource values will look like after the + state is applied. For more details on the structure of this collection, see + the [`resources`](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2#the-resources-collection) collection in the + [`tfstate/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2) documentation. + +-> **NOTE:** Unknown values are omitted from the `planned_values` state +representations, regardless of whether or not they existed before. Use +[`resource_changes`](#the-resource_changes-collection) if awareness of unknown +data is important. + +## The `resource_changes` and `resource_drift` Collections + +The `resource_changes` and `resource_drift` collections are a set of change operations for resources +and data sources within this plan. + +The `resource_drift` collection provides a description of the changes Terraform detected +when it compared the most recent state to the prior saved state. + +The `resource_changes` collection includes all resources that have been found in the configuration and state, +regardless of whether or not they are changing. + +~> When [resource targeting](/terraform/cli/commands/plan#resource-targeting) is in effect, the `resource_changes` collection will only include the resources specified as targets for the run. This may lead to unexpected outcomes if a policy expects a resource to be present in the plan. To prohibit targeted runs altogether, ensure [`tfrun.target_addrs`](/terraform/enterprise/policy-enforcement/import-reference/tfrun#value-target_addrs) is undefined or empty. + +This collection is indexed on the complete resource address as the key. If +`deposed` is non-empty, it is appended to the end, and may look something like +`aws_instance.foo:deposed-abc123`. + +An element contains the following fields: + +- `address` - The absolute resource address - also the key for the collection's + index, if `deposed` is empty. + +- `module_address` - The module portion of the absolute resource address. + +- `mode` - The resource mode, either `managed` (resources) or `data` (data + sources). + +- `type` - The resource type, example: `aws_instance` for `aws_instance.foo`. + +- `name` - The resource name, example: `foo` for `aws_instance.foo`. + +- `index` - The resource index. Can be either a number or a string. + +- `provider_name` - The name of the provider this resource belongs to. This + allows the provider to be interpreted unambiguously in the unusual situation + where a provider offers a resource type whose name does not start with its own + name, such as the `googlebeta` provider offering `google_compute_instance`. + + -> **Note:** Starting with Terraform 0.13, the `provider_name` field contains the + _full_ source address to the provider in the Terraform Registry. Example: + `registry.terraform.io/hashicorp/null` for the null provider. + +- `deposed` - An identifier used during replacement operations, and can be used + to identify the exact resource being replaced in state. + +- `change` - The data describing the change that will be made to this resource. + For more details, see [Change Representation](#change-representation). + +## The `output_changes` Collection + +The `output_changes` collection is a collection of the change operations for +outputs within this plan. + +Only outputs for the root module are included. + +This collection is indexed by the name of the output. The fields in a collection +value are below: + +- `name` - The name of the output, also the index key. +- `change` - The data describing the change that will be made to this output. + For more details, see [Change Representation](#change-representation). + +## The `raw` Collection + +The `raw` collection exposes the raw, unprocessed plan data, direct from the +data stored by HCP Terraform. + +This is the same data that is produced by [`terraform show -json`](/terraform/cli/commands/show#json-output) on the plan file for the run this +policy check is attached to. + +Use of this data is only recommended in expert situations where the data the +collections present may not exactly serve the needs of the policy. For more +information on the file format, see the [JSON Output +Format](/terraform/internals/json-format) page. + +-> **NOTE:** Although designed to be relatively stable, the actual makeup for +the JSON output format is a Terraform CLI concern and as such not managed by +HCP Terraform. Use at your own risk, follow the [Terraform CLI +project](https://github.com/hashicorp/terraform), and watch the file format +documentation for any changes. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan.mdx new file mode 100644 index 0000000000..12832dd583 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfplan.mdx @@ -0,0 +1,604 @@ +--- +page_title: tfplan Sentinel import reference +description: Use the tfplan import to give Sentinel access to a Terraform plan. +source: terraform-docs-common +--- + +# tfplan Sentinel import reference + +~> **Warning:** The `tfplan` import is now deprecated and will be permanently removed in August 2025. We recommend that you start using the updated [tfplan/v2](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) import as soon as possible to avoid disruptions. The `tfplan/v2` import offers improved functionality and is designed to better support your policy enforcement needs. + +The `tfplan` import provides access to a Terraform plan. A Terraform plan is the +file created as a result of `terraform plan` and is the input to `terraform +apply`. The plan represents the changes that Terraform needs to make to +infrastructure to reach the desired state represented by the configuration. + +In addition to the diff data available in the plan, there is an +[`applied`](#value-applied) state available that merges the plan with the state +to create the planned state after apply. + +Finally, this import also allows you to access the configuration files and the +Terraform state at the time the plan was run. See the section on [accessing a +plan's state and configuration +data](#accessing-a-plan-39-s-state-and-configuration-data) for more information. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +## Namespace Overview + +The following is a tree view of the import namespace. For more detail on a +particular part of the namespace, see below. + +-> Note that the root-level alias keys shown here (`data`, `path`, and +`resources`) are shortcuts to a [module namespace](#namespace-module) scoped to +the root module. For more details, see the section on [root namespace +aliases](#root-namespace-aliases). + + tfplan + ├── module() (function) + │ └── (module namespace) + │ ├── path ([]string) + │ ├── data + │ │ └── TYPE.NAME[NUMBER] + │ │ ├── applied (map of keys) + │ │ └── diff + │ │ └── KEY + │ │ ├── computed (bool) + │ │ ├── new (string) + │ │ └── old (string) + │ └── resources + │ └── TYPE.NAME[NUMBER] + │ ├── applied (map of keys) + │ ├── destroy (bool) + │ ├── requires_new (bool) + │ └── diff + │ └── KEY + │ ├── computed (bool) + │ ├── new (string) + │ └── old (string) + ├── module_paths ([][]string) + ├── terraform_version (string) + ├── variables (map of keys) + │ + ├── data (root module alias) + ├── path (root module alias) + ├── resources (root module alias) + │ + ├── config (tfconfig namespace alias) + └── state (tfstate import alias) + +## Namespace: Root + +The root-level namespace consists of the values and functions documented below. + +In addition to this, the root-level `data`, `path`, and `resources` keys alias +to their corresponding namespaces or values within the [module +namespace](#namespace-module). + +### Accessing a Plan's State and Configuration Data + +The `config` and `state` keys alias to the [`tfconfig`][import-tfconfig] and +[`tfstate`][import-tfstate] namespaces, respectively, with the data sourced from +the Terraform _plan_ (as opposed to actual configuration and state). + +[import-tfconfig]: /terraform/enterprise/policy-enforcement/import-reference/tfconfig-v2 + +[import-tfstate]: /terraform/enterprise/policy-enforcement/import-reference/tfstate-v2 + +-> Note that these aliases are not represented as maps. While they will appear +empty when viewed as maps, the specific import namespace keys will still be +accessible. + +-> Note that while current versions of HCP Terraform source configuration and +state data from the plan for the Terraform run in question, future versions may +source data accessed through the `tfconfig` and `tfstate` imports (as opposed to +`tfplan.config` and `tfplan.state`) from actual config bundles, or state as +stored by HCP Terraform. When this happens, the distinction here will be useful - +the data in the aliased namespaces will be the config and state data as the +_plan_ sees it, versus the actual "physical" data. + +### Function: `module()` + + module = func(ADDR) + +- **Return Type:** A [module namespace](#namespace-module). + +The `module()` function in the [root namespace](#namespace-root) returns the +[module namespace](#namespace-module) for a particular module address. + +The address must be a list and is the module address, split on the period (`.`), +excluding the root module. + +Hence, a module with an address of simply `foo` (or `root.foo`) would be +`["foo"]`, and a module within that (so address `foo.bar`) would be read as +`["foo", "bar"]`. + +[`null`][ref-null] is returned if a module address is invalid, or if the module +is not present in the diff. + +[ref-null]: /sentinel/docs/language/spec#null + +As an example, given the following module block: + +```hcl +module "foo" { + # ... +} +``` + +If the module contained the following content: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfplan" + +main = rule { tfplan.module(["foo"]).resources.null_resource.foo[0].applied.triggers.foo is "bar" } +``` + +### Value: `module_paths` + +- **Value Type:** List of a list of strings. + +The `module_paths` value within the [root namespace](#namespace-root) is a list +of all of the modules within the Terraform diff for the current plan. + +Modules not present in the diff will not be present here, even if they are +present in the configuration or state. + +This data is represented as a list of a list of strings, with the inner list +being the module address, split on the period (`.`). + +The root module is included in this list, represented as an empty inner list, as +long as there are changes. + +As an example, if the following module block was present within a Terraform +configuration: + +```hcl +module "foo" { + # ... +} +``` + +The value of `module_paths` would be: + + [ + [], + ["foo"], + ] + +And the following policy would evaluate to `true`: + +```python +import "tfplan" + +main = rule { tfplan.module_paths contains ["foo"] } +``` + +-> Note the above example only applies if the module is present in the diff. + +#### Iterating Through Modules + +Iterating through all modules to find particular resources can be useful. This +[example][iterate-over-modules] shows how to use `module_paths` with the +[`module()` function](#function-module-) to find all resources of a +particular type from all modules that have pending changes using the `tfplan` +import. + +[iterate-over-modules]: /terraform/enterprise/policy-enforcement/sentinel#sentinel-imports + +### Value: `terraform_version` + +- **Value Type:** String. + +The `terraform_version` value within the [root namespace](#namespace-root) +represents the version of Terraform used to create the plan. This can be used to +enforce a specific version of Terraform in a policy check. + +As an example, the following policy would evaluate to `true`, as long as the +plan was made with a version of Terraform in the 0.11.x series, excluding any +pre-release versions (example: `-beta1` or `-rc1`): + +```python +import "tfplan" + +main = rule { tfplan.terraform_version matches "^0\\.11\\.\\d+$" } +``` + +### Value: `variables` + +- **Value Type:** A string-keyed map of values. + +The `variables` value within the [root namespace](#namespace-root) represents +all of the variables that were set when creating the plan. This will only +contain variables set for the root module. + +Note that unlike the [`default`][import-tfconfig-variables-default] value in the +[`tfconfig` variables namespace][import-tfconfig-variables], primitive values +here are stringified, and type conversion will need to be performed to perform +comparison for int, float, or boolean values. This only applies to variables +that are primitives themselves and not primitives within maps and lists, which +will be their original types. + +[import-tfconfig-variables-default]: /terraform/enterprise/policy-enforcement/import-reference/tfconfig-v2#value-default + +[import-tfconfig-variables]: /terraform/enterprise/policy-enforcement/import-reference/tfconfig-v2#namespace-variables + +If a default was accepted for the particular variable, the default value will be +populated here. + +As an example, given the following variable blocks: + +```hcl +variable "foo" { + default = "bar" +} + +variable "number" { + default = 42 +} + +variable "map" { + default = { + foo = "bar" + number = 42 + } +} +``` + +The following policy would evaluate to `true`, if no values were entered to +change these variables: + +```python +import "tfplan" + +default_foo = rule { tfplan.variables.foo is "bar" } +default_number = rule { tfplan.variables.number is "42" } +default_map_string = rule { tfplan.variables.map["foo"] is "bar" } +default_map_int = rule { tfplan.variables.map["number"] is 42 } + +main = rule { default_foo and default_number and default_map_string and default_map_int } +``` + +## Namespace: Module + +The **module namespace** can be loaded by calling +[`module()`](#function-module-) for a particular module. + +It can be used to load the following child namespaces, in addition to the values +documented below: + +- `data` - Loads the [resource namespace](#namespace-resources-data-sources), + filtered against data sources. +- `resources` - Loads the [resource + namespace](#namespace-resources-data-sources), filtered against resources. + +### Root Namespace Aliases + +The root-level `data` and `resources` keys both alias to their corresponding +namespaces within the module namespace, loaded for the root module. They are the +equivalent of running `module([]).KEY`. + +### Value: `path` + +- **Value Type:** List of strings. + +The `path` value within the [module namespace](#namespace-module) contains the +path of the module that the namespace represents. This is represented as a list +of strings. + +As an example, if the following module block was present within a Terraform +configuration: + +```hcl +module "foo" { + # ... +} +``` + +The following policy would evaluate to `true` _only_ if the diff had changes for +that module: + +```python +import "tfplan" + +main = rule { tfplan.module(["foo"]).path contains "foo" } +``` + +## Namespace: Resources/Data Sources + +The **resource namespace** is a namespace _type_ that applies to both resources +(accessed by using the `resources` namespace key) and data sources (accessed +using the `data` namespace key). + +Accessing an individual resource or data source within each respective namespace +can be accomplished by specifying the type, name, and resource number (as if the +resource or data source had a `count` value in it) in the syntax +`[resources|data].TYPE.NAME[NUMBER]`. Note that NUMBER is always needed, even if +you did not use `count` in the resource. + +In addition, each of these namespace levels is a map, allowing you to filter +based on type and name. + +-> The (somewhat strange) notation here of `TYPE.NAME[NUMBER]` may imply that +the inner resource index map is actually a list, but it's not - using the square +bracket notation over the dotted notation (`TYPE.NAME.NUMBER`) is required here +as an identifier cannot start with a number. + +Some examples of multi-level access are below: + +- To fetch all `aws_instance.foo` resource instances within the root module, you + can specify `tfplan.resources.aws_instance.foo`. This would then be indexed by + resource count index (`0`, `1`, `2`, and so on). Note that as mentioned above, + these elements must be accessed using square-bracket map notation (so `[0]`, + `[1]`, `[2]`, and so on) instead of dotted notation. +- To fetch all `aws_instance` resources within the root module, you can specify + `tfplan.resources.aws_instance`. This would be indexed from the names of + each resource (`foo`, `bar`, and so on), with each of those maps containing + instances indexed by resource count index as per above. +- To fetch all resources within the root module, irrespective of type, use + `tfplan.resources`. This is indexed by type, as shown above with + `tfplan.resources.aws_instance`, with names being the next level down, and so + on. + +~> When [resource targeting](/terraform/cli/commands/plan#resource-targeting) is in effect, `tfplan.resources` will only include the resources specified as targets for the run. This may lead to unexpected outcomes if a policy expects a resource to be present in the plan. To prohibit targeted runs altogether, ensure [`tfrun.target_addrs`](/terraform/enterprise/policy-enforcement/import-reference/tfrun#value-target_addrs) is undefined or empty. + +Further explanation of the namespace will be in the context of resources. As +mentioned, when operating on data sources, use the same syntax, except with +`data` in place of `resources`. + +### Value: `applied` + +- **Value Type:** A string-keyed map of values. + +The `applied` value within the [resource +namespace](#namespace-resources-data-sources) contains a "predicted" +representation of the resource's state post-apply. It's created by merging the +pending resource's diff on top of the existing data from the resource's state +(if any). The map is a complex representation of these values with data going +as far down as needed to represent any state values such as maps, lists, and +sets. + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true` if the resource was in the diff: + +```python +import "tfplan" + +main = rule { tfplan.resources.null_resource.foo[0].applied.triggers.foo is "bar" } +``` + +-> Note that some values will not be available in the `applied` state because +they cannot be known until the plan is actually applied. In Terraform 0.11 or +earlier, these values are represented by a placeholder (the UUID value +`74D93920-ED26-11E3-AC10-0800200C9A66`) and in Terraform 0.12 or later they +are `undefined`. **In either case**, you should instead use the +[`computed`](#value-computed) key within the [diff +namespace](#namespace-resource-diff) to determine that a computed value will +exist. + +-> If a resource is being destroyed, its `applied` value is omitted from the +namespace and trying to fetch it will return undefined. + +### Value: `diff` + +- **Value Type:** A map of [diff namespaces](#namespace-resource-diff). + +The `diff` value within the [resource +namespace](#namespace-resources-data-sources) contains the diff for a particular +resource. Each key within the map links to a [diff +namespace](#namespace-resource-diff) for that particular key. + +Note that unlike the [`applied`](#value-applied) value, this map is not complex; +the map is only 1 level deep with each key possibly representing a diff for a +particular complex value within the resource. + +See the below section for more details on the diff namespace, in addition to +usage examples. + +### Value: `destroy` + +- **Value Type:** Boolean. + +The `destroy` value within the [resource +namespace](#namespace-resources-data-sources) is `true` if a resource is being +destroyed for _any_ reason, including cases where it's being deleted as part of +a resource re-creation, in which case [`requires_new`](#value-requires_new) will +also be set. + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true` when `null_resource.foo` is being +destroyed: + +```python +import "tfplan" + +main = rule { tfplan.resources.null_resource.foo[0].destroy } +``` + +### Value: `requires_new` + +- **Value Type:** Boolean. + +The `requires_new` value within the [resource +namespace](#namespace-resources-data-sources) is `true` if the resource is still +present in the configuration, but must be replaced to satisfy its current diff. +Whenever `requires_new` is `true`, [`destroy`](#value-destroy) is also `true`. + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true` if one of the `triggers` in +`null_resource.foo` was being changed: + +```python +import "tfplan" + +main = rule { tfplan.resources.null_resource.foo[0].requires_new } +``` + +## Namespace: Resource Diff + +The **diff namespace** is a namespace that represents the diff for a specific +attribute within a resource. For details on reading a particular attribute, +see the [`diff`](#value-diff) value in the [resource +namespace](#namespace-resources-data-sources). + +### Value: `computed` + +- **Value Type:** Boolean. + +The `computed` value within the [diff namespace](#namespace-resource-diff) is +`true` if the resource key in question depends on another value that isn't yet +known. Typically, that means the value it depends on belongs to a resource that +either doesn't exist yet, or is changing state in such a way as to affect the +dependent value so that it can't be known until the apply is complete. + +-> Keep in mind that when using `computed` with complex structures such as maps, +lists, and sets, it's sometimes necessary to test the count attribute for the +structure, versus a key within it, depending on whether or not the diff has +marked the whole structure as computed. This is demonstrated in the example +below. Count keys are `%` for maps, and `#` for lists and sets. If you are +having trouble determining the type of specific field within a resource, contact +the support team. + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} + +resource "null_resource" "bar" { + triggers = { + foo_id = "${null_resource.foo.id}" + } +} +``` + +The following policy would evaluate to `true`, if the `id` of +`null_resource.foo` was currently not known, such as when the resource is +pending creation, or is being deleted and re-created: + +```python +import "tfplan" + +main = rule { tfplan.resources.null_resource.bar[0].diff["triggers.%"].computed } +``` + +### Value: `new` + +- **Value Type:** String. + +The `new` value within the [diff namespace](#namespace-resource-diff) contains +the new value of a changing attribute, _if_ the value is known at plan time. + +-> `new` will be an empty string if the attribute's value is currently unknown. +For more details on detecting unknown values, see [`computed`](#value-computed). + +Note that this value is _always_ a string, regardless of the actual type of the +value changing. [Type conversion][ref-sentinel-type-conversion] within policy +may be necessary to achieve the comparison needed. + +[ref-sentinel-type-conversion]: /sentinel/docs/language/values#type-conversion + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true`, if the resource was in the diff +and each of the concerned keys were changing to new values: + +```python +import "tfplan" + +main = rule { tfplan.resources.null_resource.foo[0].diff["triggers.foo"].new is "bar" } +``` + +### Value: `old` + +- **Value Type:** String. + +The `old` value within the [diff namespace](#namespace-resource-diff) contains +the old value of a changing attribute. + +Note that this value is _always_ a string, regardless of the actual type of the +value changing. [Type conversion][ref-sentinel-type-conversion] within policy +may be necessary to achieve the comparison needed. + +If the value did not exist in the previous state, `old` will always be an empty +string. + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "baz" + } +} +``` + +If that resource was previously in config as: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfplan" + +main = rule { tfplan.resources.null_resource.foo[0].diff["triggers.foo"].old is "bar" } +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfrun.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfrun.mdx new file mode 100644 index 0000000000..51d03dfd0e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfrun.mdx @@ -0,0 +1,320 @@ +--- +page_title: tfrun Sentinel import reference +description: >- + Use tfrun import to give Sentinel access to data associated with a Terraform + run. +source: terraform-docs-common +--- + +# tfrun Sentinel import reference + +The `tfrun` import provides access to data associated with a [Terraform run][run-glossary]. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +This import currently consists of run attributes, as well as namespaces for the `organization`, `workspace` and `cost-estimate`. Each namespace provides static data regarding the HCP Terraform application that can then be consumed by Sentinel during a policy evaluation. + + tfrun + ├── id (string) + ├── created_at (string) + ├── created_by (string) + ├── message (string) + ├── commit_sha (string) + ├── is_destroy (boolean) + ├── refresh (boolean) + ├── refresh_only (boolean) + ├── replace_addrs (array of strings) + ├── speculative (boolean) + ├── target_addrs (array of strings) + ├── project + │ ├── id (string) + │ └── name (string) + ├── variables (map of keys) + ├── organization + │ └── name (string) + ├── workspace + │ ├── id (string) + │ ├── name (string) + │ ├── created_at (string) + │ ├── description (string) + │ ├── execution_mode (string) + │ ├── auto_apply (bool) + │ ├── tags (array of strings) + | ├── tag_bindings (array of objects) + │ ├── working_directory (string) + │ └── vcs_repo (map of keys) + └── cost_estimate + ├── prior_monthly_cost (string) + ├── proposed_monthly_cost (string) + └── delta_monthly_cost (string) + +-> **Note:** When writing policies using this import, keep in mind that workspace +data is generally editable by users outside of the context of policy +enforcement. For example, consider the case of omitting the enforcement of +policy rules for development workspaces by the workspace name (allowing the +policy to pass if the workspace ends in `-dev`). While this is useful for +extremely granular exceptions, the workspace name could be edited by +workspace admins, effectively bypassing the policy. In this case, where an +extremely strict separation of policy managers vs. workspace practitioners is +required, using [policy sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) +to only enforce the policy on non-development workspaces is more appropriate. + +[run-glossary]: /terraform/docs/glossary#run + +[workspace-glossary]: /terraform/docs/glossary#workspace + +## Namespace: root + +The **root namespace** contains data associated with the current run. + +### Value: `id` + +- **Value Type:** String. + +Specifies the ID that is associated with the current Terraform run. + +### Value: `created_at` + +- **Value Type:** String. + +The `created_at` value within the [root namespace](#namespace-root) specifies the time that the run was created. The timestamp returned follows the format outlined in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339). + +Users can use the `time` import to [load](/sentinel/docs/imports/time#time-load-timeish) a run timestamp and create a new timespace from the specified value. See the `time` import [documentation](/sentinel/docs/imports/time#import-time) for available actions that can be performed on timespaces. + +### Value: `created_by` + +- **Value Type:** String. + +The `created_by` value within the [root namespace](#namespace-root) is string that specifies the user name of the HCP Terraform user for the specific run. + +### Value: `message` + +- **Value Type:** String. + +Specifies the message that is associated with the Terraform run. + +The default value is _"Queued manually via the Terraform Enterprise API"_. + +### Value: `commit_sha` + +- **Value Type:** String. + +Specifies the checksum hash (SHA) that identifies the commit. + +### Value: `is_destroy` + +- **Value Type:** Boolean. + +Specifies if the plan is a destroy plan, which will destroy all provisioned resources. + +### Value: `refresh` + +- **Value Type:** Boolean. + +Specifies whether the state was refreshed prior to the plan. + +### Value: `refresh_only` + +- **Value Type:** Boolean. + +Specifies whether the plan is in refresh-only mode, which ignores configuration changes and updates state with any changes made outside of Terraform. + +### Value: `replace_addrs` + +- **Value Type:** An array of strings representing [resource addresses](/terraform/cli/state/resource-addressing). + +Provides the targets specified using the [`-replace`](/terraform/cli/commands/plan#resource-targeting) flag in the CLI or the `replace-addrs` attribute in the API. Will be null if no resource targets are specified. + +### Value: `speculative` + +- **Value Type:** Boolean. + +Specifies whether the plan associated with the run is a [speculative plan](/terraform/enterprise/run/remote-operations#speculative-plans) only. + +### Value: `target_addrs` + +- **Value Type:** An array of strings representing [resource addresses](/terraform/cli/state/resource-addressing). + +Provides the targets specified using the [`-target`](/terraform/cli/commands/plan#resource-targeting) flag in the CLI or the `target-addrs` attribute in the API. Will be null if no resource targets are specified. + +To prohibit targeted runs altogether, make sure the `target_addrs` value is null or empty: + + import "tfrun" + + main = tfrun.target_addrs is null or tfrun.target_addrs is empty + +### Value: `variables` + +- **Value Type:** A string-keyed map of values. + +Provides the names of the variables that are configured within the run and the [sensitivity](/terraform/enterprise/workspaces/variables/managing-variables#sensitive-values) state of the value. + + variables (map of keys) + └── name (string) + └── category (string) + └── sensitive (boolean) + +## Namespace: project + +The **project namespace** contains data associated with the current run's [projects](/terraform/enterprise/api-docs/projects). + +### Value: `id` + +- **Value Type:** String. + +Specifies the ID that is associated with the current project. + +### Value: `name` + +- **Value Type:** String. + +Specifies the name assigned to the HCP Terraform project. + +## Namespace: organization + +The **organization namespace** contains data associated with the current run's HCP Terraform [organization](/terraform/enterprise/users-teams-organizations/organizations). + +### Value: `name` + +- **Value Type:** String. + +Specifies the name assigned to the HCP Terraform organization. + +## Namespace: workspace + +The **workspace namespace** contains data associated with the current run's workspace. + +### Value: `id` + +- **Value Type:** String. + +Specifies the ID that is associated with the Terraform workspace. + +### Value: `name` + +- **Value Type:** String. + +The name of the workspace, which can only include letters, numbers, `-`, and `_`. + +As an example, in a workspace named `app-us-east-dev` the following policy would evaluate to `true`: + + # Enforces production rules on all non-development workspaces + + import "tfrun" + import "strings" + + # (Actual policy logic omitted) + evaluate_production_policy = rule { ... } + + main = rule when strings.has_suffix(tfrun.workspace.name, "-dev") is false { + evaluate_production_policy + } + +### Value: `created_at` + +- **Value Type:** String. + +Specifies the time that the workspace was created. The timestamp returned follows the format outlined in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339). + +Users can use the `time` import to [load](/sentinel/docs/imports/time#time-load-timeish) a workspace timestamp, and create a new timespace from the specified value. See the `time` import [documentation](/sentinel/docs/imports/time#import-time) for available actions that can be performed on timespaces. + +### Value: `description` + +- **Value Type:** String. + +Contains the description for the workspace. + +This value can be `null`. + +### Value: `auto_apply` + +- **Value Type:** Boolean. + +Contains the workspace's [auto-apply](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply) setting. + +### Value: `tags` + +- **Value Type:** Array of strings. + +Contains the list of tag names for the workspace, as well as the keys from tag bindings. + +### Value: `tag_bindings` + +- **Value Type:** Array of objects. + +Contains the complete list of tag bindings for the workspace, which includes inherited tag bindings, as well as the workspace key-only tags. Each binding has a string `key`, a nullable string `value`, as well as a boolean `inherited` properties. + + tag_bindings (array of objects) + ├── key (string) + ├── value (string or null) + └── inherited (boolean) + +### Value: `working_directory` + +- **Value Type:** String. + +Contains the configured [Terraform working directory](/terraform/enterprise/workspaces/settings#terraform-working-directory) of the workspace. + +This value can be `null`. + +### Value: `execution_mode` + +- **Value Type:** String. + +Contains the configured [Terraform execution mode](/terraform/enterprise/workspaces/settings#execution-mode) of the workspace. + +The default value is `remote`. + +### Value: `vcs_repo` + +- **Value Type:** A string-keyed map of values. + +Contains data associated with a VCS repository connected to the workspace. + +Details regarding each attribute can be found in the documentation for the HCP Terraform [Workspaces API](/terraform/enterprise/api-docs/workspaces). + +This value can be `null`. + + vcs_repo (map of keys) + ├── identifier (string) + ├── display_identifier (string) + ├── branch (string) + └── ingress_submodules (bool) + +## Namespace: cost_estimate + +The **cost_estimation namespace** contains data associated with the current run's cost estimate. + +This namespace is only present if a cost estimate is available. + +-> Cost estimation is disabled for runs using [resource targeting](/terraform/cli/commands/plan#resource-targeting), which may cause unexpected failures. + +-> **Note:** Cost estimates are not available for Terraform 0.11. + +### Value: `prior_monthly_cost` + +- **Value Type:** String. + +Contains the monthly cost estimate at the beginning of a plan. + +This value contains a positive decimal and can be `"0.0"`. + +### Value: `proposed_monthly_cost` + +- **Value Type:** String. + +Contains the monthly cost estimate if the plan were to be applied. + +This value contains a positive decimal and can be `"0.0"`. + +### Value: `delta_monthly_cost` + +- **Value Type:** String. + +Contains the difference between the prior and proposed monthly cost estimates. + +This value may contain a positive or negative decimal and can be `"0.0"`. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate-v2.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate-v2.mdx new file mode 100644 index 0000000000..0de4f5cbd5 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate-v2.mdx @@ -0,0 +1,180 @@ +--- +page_title: tfstate/v2 Sentinel import +description: Use tfstate/v2 import to give Sentinel access to Terraform state. +source: terraform-docs-common +--- + +-> **Note:** This is documentation for the next version of the `tfstate` +Sentinel import, designed specifically for Terraform 0.12. This import requires +Terraform 0.12 or higher, and must currently be loaded by path, using an alias, +example: `import "tfstate/v2" as tfstate`. + +# tfstate/v2 Sentinel import + +The `tfstate/v2` import provides access to a Terraform state. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +The _state_ is the data that Terraform has recorded about a workspace at a +particular point in its lifecycle, usually after an apply. You can read more +general information about how Terraform uses state +[here](/terraform/language/state). + +-> **NOTE:** Since HCP Terraform currently only supports policy checks at plan +time, the usefulness of this import is somewhat limited, as it will usually give +you the state _prior_ to the plan the policy check is currently being run for. +Depending on your needs, you may find the +[`planned_values`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#the-planned_values-collection) collection in +`tfplan/v2` more useful, which will give you a _predicted_ state by applying +plan data to the data found here. The one exception to this rule is _data +sources_, which will always give up to date data here, as long as the data +source could be evaluated at plan time. + +The data in the `tfstate/v2` import is sourced from the JSON configuration file +that is generated by the [`terraform show -json`](/terraform/cli/commands/show#json-output) command. For more information on +the file format, see the [JSON Output Format](/terraform/internals/json-format) +page. + +## Import Overview + +The `tfstate/v2` import is structured as currently two _collections_, keyed in +resource address and output name, respectively. + + (tfstate/v2) + ├── terraform_version (string) + ├── resources + │ └── (indexed by address) + │ ├── address (string) + │ ├── module_address (string) + │ ├── mode (string) + │ ├── type (string) + │ ├── name (string) + │ ├── index (float (number) or string) + │ ├── provider_name (string) + │ ├── values (map) + │ ├── depends_on (list of strings) + │ ├── tainted (boolean) + │ └── deposed_key (string) + └── outputs + └── (indexed by name) + ├── name (string) + ├── sensitive (boolean) + └── value (value) + +The collections are: + +- [`resources`](#the-resources-collection) - The state of all resources across + all modules in the state. +- [`outputs`](#the-outputs-collection) - The state of all outputs from the root module in the state. + +These collections are specifically designed to be used with the +[`filter`](/sentinel/docs/language/collection-operations#filter-expression) +quantifier expression in Sentinel, so that one can collect a list of resources +to perform policy checks on without having to write complex module traversal. As +an example, the following code will return all `aws_instance` resource types +within the state, regardless of what module they are in: + + all_aws_instances = filter tfstate.resources as _, r { + r.mode is "managed" and + r.type is "aws_instance" + } + +You can add specific attributes to the filter to narrow the search, such as the +module address. The following code would return resources in a module named +`foo` only: + + all_aws_instances = filter tfstate.resources as _, r { + r.module_address is "module.foo" and + r.mode is "managed" and + r.type is "aws_instance" + } + +## The `terraform_version` Value + +The top-level `terraform_version` value in this import gives the Terraform +version that recorded the state. This can be used to do version validation. + + import "tfstate/v2" as tfstate + import "strings" + + v = strings.split(tfstate.terraform_version, ".") + version_major = int(v[1]) + version_minor = int(v[2]) + + main = rule { + version_major is 12 and version_minor >= 19 + } + +-> **NOTE:** The above example will give errors when working with pre-release +versions (example: `0.12.0beta1`). Future versions of this import will include +helpers to assist with processing versions that will account for these kinds of +exceptions. + +## The `resources` Collection + +The `resources` collection is a collection representing all of the resources in +the state, across all modules. + +This collection is indexed on the complete resource address as the key. + +An element in the collection has the following values: + +- `address` - The absolute resource address - also the key for the collection's + index. + +- `module_address` - The address portion of the absolute resource address. + +- `mode` - The resource mode, either `managed` (resources) or `data` (data + sources). + +- `type` - The resource type, example: `aws_instance` for `aws_instance.foo`. + +- `name` - The resource name, example: `foo` for `aws_instance.foo`. + +- `index` - The resource index. Can be either a number or a string. + +- `provider_name` - The name of the provider this resource belongs to. This + allows the provider to be interpreted unambiguously in the unusual situation + where a provider offers a resource type whose name does not start with its own + name, such as the `googlebeta` provider offering `google_compute_instance`. + + -> **Note:** Starting with Terraform 0.13, the `provider_name` field contains the + _full_ source address to the provider in the Terraform Registry. Example: + `registry.terraform.io/hashicorp/null` for the null provider. + +- `values` - An object (map) representation of the attribute values of the + resource, whose structure depends on the resource type schema. When accessing + proposed state through the [`planned_values`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#the-planned_values-collection) + collection of the tfplan/v2 import, unknown values will be omitted. + +- `depends_on` - The addresses of the resources that this resource depends on. + +- `tainted` - `true` if the resource has been explicitly marked as + [tainted](/terraform/cli/commands/taint) in the state. + +- `deposed_key` - Set if the resource has been marked deposed and will be + destroyed on the next apply. This matches the deposed field in the + [`resource_changes`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#the-resource_changes-collection) + collection in the [`tfplan/v2`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) import. + +## The `outputs` Collection + +The `outputs` collection is a collection of outputs from the root module of the +state. + +Note that no child modules are included in this output set, and there is no way +to fetch child module output values. This is to encourage the correct flow of +outputs to the recommended root consumption level. + +The collection is indexed on the output name, with the following fields: + +- `name`: The name of the output, also the collection key. +- `sensitive`: Whether or not the value was marked as + [sensitive](/terraform/language/values/outputs#sensitive-suppressing-values-in-cli-output) + in + configuration. +- `value`: The value of the output. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate.mdx new file mode 100644 index 0000000000..42e2590196 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/import-reference/tfstate.mdx @@ -0,0 +1,550 @@ +--- +page_title: tfstate Sentinel import +description: Use the tfstate import to give Sentinel access to Terraform state. +source: terraform-docs-common +--- + +# Import: tfstate + +~> **Warning:** The `tfstate` import is now deprecated and will be permanently removed in August 2025. We recommend that you start using the updated [tfstate/v2](/terraform/enterprise/policy-enforcement/import-reference/tfstate-v2) import as soon as possible to avoid disruptions. The `tfstate/v2` import offers improved functionality and is designed to better support your policy enforcement needs. + +The `tfstate` import provides access to the Terraform state. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +The _state_ is the data that Terraform has recorded about a workspace at a +particular point in its lifecycle, usually after an apply. You can read more +general information about how Terraform uses state [here][ref-tf-state]. + +[ref-tf-state]: /terraform/language/state + +-> **Note:** Since HCP Terraform currently only supports policy checks at plan +time, the usefulness of this import is somewhat limited, as it will usually give +you the state _prior_ to the plan the policy check is currently being run for. +Depending on your needs, you may find the +[`applied`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#value-applied) collection in `tfplan` more useful, +which will give you a _predicted_ state by applying plan data to the data found +here. The one exception to this rule is _data sources_, which will always give +up to date data here, as long as the data source could be evaluated at plan +time. + +## Namespace Overview + +The following is a tree view of the import namespace. For more detail on a +particular part of the namespace, see below. + +-> Note that the root-level alias keys shown here (`data`, `outputs`, `path`, +and `resources`) are shortcuts to a [module namespace](#namespace-module) scoped +to the root module. For more details, see the section on [root namespace +aliases](#root-namespace-aliases). + + tfstate + ├── module() (function) + │ └── (module namespace) + │ ├── path ([]string) + │ ├── data + │ │ └── TYPE.NAME[NUMBER] + │ │ ├── attr (map of keys) + │ │ ├── depends_on ([]string) + │ │ ├── id (string) + │ │ └── tainted (boolean) + │ ├── outputs (root module only in TF 0.12 or later) + │ │ └── NAME + │ │ ├── sensitive (bool) + │ │ ├── type (string) + │ │ └── value (value) + │ └── resources + │ └── TYPE.NAME[NUMBER] + │ ├── attr (map of keys) + │ ├── depends_on ([]string) + │ ├── id (string) + │ └── tainted (boolean) + │ + ├── module_paths ([][]string) + ├── terraform_version (string) + │ + ├── data (root module alias) + ├── outputs (root module alias) + ├── path (root module alias) + └── resources (root module alias) + +## Namespace: Root + +The root-level namespace consists of the values and functions documented below. + +In addition to this, the root-level `data`, `outputs`, `path`, and `resources` +keys alias to their corresponding namespaces or values within the [module +namespace](#namespace-module). + +### Function: `module()` + + module = func(ADDR) + +- **Return Type:** A [module namespace](#namespace-module). + +The `module()` function in the [root namespace](#namespace-root) returns the +[module namespace](#namespace-module) for a particular module address. + +The address must be a list and is the module address, split on the period (`.`), +excluding the root module. + +Hence, a module with an address of simply `foo` (or `root.foo`) would be +`["foo"]`, and a module within that (so address `foo.bar`) would be read as +`["foo", "bar"]`. + +[`null`][ref-null] is returned if a module address is invalid, or if the module +is not present in the state. + +[ref-null]: /sentinel/docs/language/spec#null + +As an example, given the following module block: + +```hcl +module "foo" { + # ... +} +``` + +If the module contained the following content: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true` if the resource was present in +the state: + +```python +import "tfstate" + +main = rule { tfstate.module(["foo"]).resources.null_resource.foo[0].attr.triggers.foo is "bar" } +``` + +### Value: `module_paths` + +- **Value Type:** List of a list of strings. + +The `module_paths` value within the [root namespace](#namespace-root) is a list +of all of the modules within the Terraform state at plan-time. + +Modules not present in the state will not be present here, even if they are +present in the configuration or the diff. + +This data is represented as a list of a list of strings, with the inner list +being the module address, split on the period (`.`). + +The root module is included in this list, represented as an empty inner list, as +long as it is present in state. + +As an example, if the following module block was present within a Terraform +configuration: + +```hcl +module "foo" { + # ... +} +``` + +The value of `module_paths` would be: + + [ + [], + ["foo"], + ] + +And the following policy would evaluate to `true`: + +```python +import "tfstate" + +main = rule { tfstate.module_paths contains ["foo"] } +``` + +-> Note the above example only applies if the module is present in the state. + +#### Iterating Through Modules + +Iterating through all modules to find particular resources can be useful. This +[example][iterate-over-modules] shows how to use `module_paths` with the +[`module()` function](#function-module-) to find all resources of a +particular type from all modules using the `tfplan` import. By changing `tfplan` +in this function to `tfstate`, you could make a similar function find all +resources of a specific type in the current state. + +[iterate-over-modules]: /terraform/enterprise/policy-enforcement/sentinel#sentinel-imports + +### Value: `terraform_version` + +- **Value Type:** String. + +The `terraform_version` value within the [root namespace](#namespace-root) +represents the version of Terraform in use when the state was saved. This can be +used to enforce a specific version of Terraform in a policy check. + +As an example, the following policy would evaluate to `true` as long as the +state was made with a version of Terraform in the 0.11.x series, excluding any +pre-release versions (example: `-beta1` or `-rc1`): + +```python +import "tfstate" + +main = rule { tfstate.terraform_version matches "^0\\.11\\.\\d+$" } +``` + +-> **NOTE:** This value is also available via the [`tfplan`](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) +import, which will be more current when a policy check is run against a plan. +It's recommended you use the value in `tfplan` until HCP Terraform +supports policy checks in other stages of the workspace lifecycle. See the +[`terraform_version`][import-tfplan-terraform-version] reference within the +`tfplan` import for more details. + +[import-tfplan-terraform-version]: /terraform/enterprise/policy-enforcement/import-reference/tfplan-v2#value-terraform_version + +## Namespace: Module + +The **module namespace** can be loaded by calling +[`module()`](#function-module-) for a particular module. + +It can be used to load the following child namespaces, in addition to the values +documented below: + +- `data` - Loads the [resource namespace](#namespace-resources-data-sources), + filtered against data sources. +- `outputs` - Loads the [output namespace](#namespace-outputs), which supply the + outputs present in this module's state. Note that with Terraform 0.12 or + later, this value is only available for the root namespace. +- `resources` - Loads the [resource + namespace](#namespace-resources-data-sources), filtered against resources. + +### Root Namespace Aliases + +The root-level `data`, `outputs`, and `resources` keys both alias to their +corresponding namespaces within the module namespace, loaded for the root +module. They are the equivalent of running `module([]).KEY`. + +### Value: `path` + +- **Value Type:** List of strings. + +The `path` value within the [module namespace](#namespace-module) contains the +path of the module that the namespace represents. This is represented as a list +of strings. + +As an example, if the following module block was present within a Terraform +configuration: + +```hcl +module "foo" { + # ... +} +``` + +The following policy would evaluate to `true`, _only_ if the module was present +in the state: + +```python +import "tfstate" + +main = rule { tfstate.module(["foo"]).path contains "foo" } +``` + +## Namespace: Resources/Data Sources + +The **resource namespace** is a namespace _type_ that applies to both resources +(accessed by using the `resources` namespace key) and data sources (accessed +using the `data` namespace key). + +Accessing an individual resource or data source within each respective namespace +can be accomplished by specifying the type, name, and resource number (as if the +resource or data source had a `count` value in it) in the syntax +`[resources|data].TYPE.NAME[NUMBER]`. Note that NUMBER is always needed, even if +you did not use `count` in the resource. + +In addition, each of these namespace levels is a map, allowing you to filter +based on type and name. + +-> The (somewhat strange) notation here of `TYPE.NAME[NUMBER]` may imply that +the inner resource index map is actually a list, but it's not - using the square +bracket notation over the dotted notation (`TYPE.NAME.NUMBER`) is required here +as an identifier cannot start with number. + +Some examples of multi-level access are below: + +- To fetch all `aws_instance.foo` resource instances within the root module, you + can specify `tfstate.resources.aws_instance.foo`. This would then be indexed + by resource count index (`0`, `1`, `2`, and so on). Note that as mentioned + above, these elements must be accessed using square-bracket map notation (so + `[0]`, `[1]`, `[2]`, and so on) instead of dotted notation. +- To fetch all `aws_instance` resources within the root module, you can specify + `tfstate.resources.aws_instance`. This would be indexed from the names of + each resource (`foo`, `bar`, and so on), with each of those maps containing + instances indexed by resource count index as per above. +- To fetch all resources within the root module, irrespective of type, use + `tfstate.resources`. This is indexed by type, as shown above with + `tfstate.resources.aws_instance`, with names being the next level down, and so + on. + +Further explanation of the namespace will be in the context of resources. As +mentioned, when operating on data sources, use the same syntax, except with +`data` in place of `resources`. + +### Value: `attr` + +- **Value Type:** A string-keyed map of values. + +The `attr` value within the [resource +namespace](#namespace-resources-data-sources) is a direct mapping to the state +of the resource. + +The map is a complex representation of these values with data going as far down +as needed to represent any state values such as maps, lists, and sets. + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true` if the resource was in the state: + +```python +import "tfstate" + +main = rule { tfstate.resources.null_resource.foo[0].attr.triggers.foo is "bar" } +``` + +### Value: `depends_on` + +- **Value Type:** A list of strings. + +The `depends_on` value within the [resource +namespace](#namespace-resources-data-sources) contains the dependencies for the +resource. + +This is a list of full resource addresses, relative to the module (example: +`null_resource.foo`). + +As an example, given the following resources: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} + +resource "null_resource" "bar" { + # ... + + depends_on = [ + "null_resource.foo", + ] +} +``` + +The following policy would evaluate to `true` if the resource was in the state: + +```python +import "tfstate" + +main = rule { tfstate.resources.null_resource.bar[0].depends_on contains "null_resource.foo" } +``` + +### Value: `id` + +- **Value Type:** String. + +The `id` value within the [resource +namespace](#namespace-resources-data-sources) contains the id of the resource. + +-> **NOTE:** The example below uses a _data source_ here because the +[`null_data_source`][ref-tf-null-data-source] data source gives a static ID, +which makes documenting the example easier. As previously mentioned, data +sources share the same namespace as resources, but need to be loaded with the +`data` key. For more information, see the +[synopsis](#namespace-resources-data-sources) for the namespace itself. + +[ref-tf-null-data-source]: https://registry.terraform.io/providers/hashicorp/null/latest/docs/data-sources/data_source + +As an example, given the following data source: + +```hcl +data "null_data_source" "foo" { + # ... +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfstate" + +main = rule { tfstate.data.null_data_source.foo[0].id is "static" } +``` + +### Value: `tainted` + +- **Value Type:** Boolean. + +The `tainted` value within the [resource +namespace](#namespace-resources-data-sources) is `true` if the resource is +marked as tainted in Terraform state. + +As an example, given the following resource: + +```hcl +resource "null_resource" "foo" { + triggers = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true`, if the resource was marked as +tainted in the state: + +```python +import "tfstate" + +main = rule { tfstate.resources.null_resource.foo[0].tainted } +``` + +## Namespace: Outputs + +The **output namespace** represents all of the outputs present within a +[module](#namespace-module). Outputs are present in a state if they were saved +during a previous apply, or if they were updated with known values during the +pre-plan refresh. + +**With Terraform 0.11 or earlier** this can be used to fetch both the outputs +of the root module, and the outputs of any module in the state below the root. +This makes it possible to see outputs that have not been threaded to the root +module. + +**With Terraform 0.12 or later** outputs are available in the top-level (root +module) namespace only and not accessible within submodules. + +This namespace is indexed by output name. + +### Value: `sensitive` + +- **Value Type:** Boolean. + +The `sensitive` value within the [output namespace](#namespace-outputs) is +`true` when the output has been [marked as sensitive][ref-tf-sensitive-outputs]. + +[ref-tf-sensitive-outputs]: /terraform/language/values/outputs#sensitive-suppressing-values-in-cli-output + +As an example, given the following output: + +```hcl +output "foo" { + sensitive = true + value = "bar" +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfstate" + +main = rule { tfstate.outputs.foo.sensitive } +``` + +### Value: `type` + +- **Value Type:** String. + +The `type` value within the [output namespace](#namespace-outputs) gives the +output's type. This will be one of `string`, `list`, or `map`. These are +currently the only types available for outputs in Terraform. + +As an example, given the following output: + +```hcl +output "string" { + value = "foo" +} + +output "list" { + value = [ + "foo", + "bar", + ] +} + +output "map" { + value = { + foo = "bar" + } +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfstate" + +type_string = rule { tfstate.outputs.string.type is "string" } +type_list = rule { tfstate.outputs.list.type is "list" } +type_map = rule { tfstate.outputs.map.type is "map" } + +main = rule { type_string and type_list and type_map } +``` + +### Value: `value` + +- **Value Type:** String, list, or map. + +The `value` value within the [output namespace](#namespace-outputs) is the value +of the output in question. + +Note that the only valid primitive output type in Terraform is currently a +string, which means that any int, float, or boolean value will need to be +converted before it can be used in comparison. This does not apply to primitives +within maps and lists, which will be their original types. + +As an example, given the following output blocks: + +```hcl +output "foo" { + value = "bar" +} + +output "number" { + value = "42" +} + +output "map" { + value = { + foo = "bar" + number = 42 + } +} +``` + +The following policy would evaluate to `true`: + +```python +import "tfstate" + +value_foo = rule { tfstate.outputs.foo.value is "bar" } +value_number = rule { int(tfstate.outputs.number.value) is 42 } +value_map_string = rule { tfstate.outputs.map.value["foo"] is "bar" } +value_map_int = rule { tfstate.outputs.map.value["number"] is 42 } + +main = rule { value_foo and value_number and value_map_string and value_map_int } +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/index.mdx new file mode 100644 index 0000000000..7a53f5ced2 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/index.mdx @@ -0,0 +1,50 @@ +--- +page_title: Terraform Enterprise policy enforcement overview +description: >- + Policies are rules for provisioning infrastructure that you can use to + validate Terraform plans. Learn how to use Sentinel and OPA to enforce + policies. +source: terraform-docs-common +--- + +# HCP Terraform policy enforcement overview + +This topic provides overview information about policies in HCP Terraform. Policies are rules for Terraform runs that let you validate that Terraform plans comply with security rules and best practices. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +> **Hands-on:** Try the [Enforce Policy with Sentinel](/terraform/tutorials/policy) and [Detect Infrastructure Drift and Enforce OPA Policies](/terraform/tutorials/cloud/drift-and-opa) tutorials. + +## Introduction + +You can implement policies that check for any number of conditions, such as whether infrastructure configuration adheres to security standards or best practices. For example, you may want to write a policy to check whether Terraform plans to deploy production infrastructure to the correct region. + +You can also use policies to enforce standards for your organization’s workflows. For example, you could write a policy to prevent new infrastructure deployments on Fridays, reducing the risk of production incidents outside of your team’s working hours. + +## Workflow + +The following workflow describes how to create and manage policies manually. + +### Define policy + +You can use either the Sentinel or OPA framework to create custom policies. You can also copy pre-written Sentinel policies created and maintained by HashiCorp. + +### Create and apply policy sets + +Policy sets are collections of policies you can apply globally or to specific [projects](/terraform/enterprise/projects/manage) and workspaces in your organization. For each run in the selected workspaces, HCP Terraform checks the Terraform plan against the policy set. + +You can also exclude specific workspaces from global or project-scoped policy sets. HCP Terraform won't enforce a policy set's policies on any runs in an excluded workspace. For example, if you attach a policy set to a project and then exclude one of the project's workspaces from that policy set, HCP Terraform will not enforce the policy set on the excluded workspace. + +You can create policy sets from the [user interface](/terraform/enterprise/policy-enforcement/manage-policy-sets#create-policy-sets), the API, or by connecting HCP Terraform to your version control system. A policy set can only contain policies written in a single policy framework, but you can add Sentinel or OPA policy sets to the same workspace. + +Refer to [Managing Policy Sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) for details. + +### Review policy results + +The HCP Terraform UI displays policy results for each policy set you apply to the workspace. Depending on their [enforcement level](/terraform/enterprise/policy-enforcement/manage-policy-sets#policy-enforcement-levels), failed policies can stop the run. You can override failed policies with the right permissions. + +Refer to [Policy Results](/terraform/enterprise/policy-enforcement/view-results) for details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/index.mdx new file mode 100644 index 0000000000..c64a99593a --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/index.mdx @@ -0,0 +1,227 @@ +--- +page_title: Manage policies and policy sets in Terraform Enterprise +description: >- + Learn how to create and manage policies and policy sets in Terraform + Enterprise. +source: terraform-docs-common +--- + +# Manage policies and policy sets in HCP Terraform + +Policies are rules that HCP Terraform enforces on Terraform runs. You can define policies using either the [Sentinel](/terraform/enterprise/policy-enforcement/sentinel) or [Open Policy Agent (OPA)](/terraform/enterprise/policy-enforcement/opa) policy-as-code frameworks. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Policy sets are collections of policies you can apply globally or to specific [projects](/terraform/enterprise/projects/manage) and workspaces in your organization. For each run in the applicable workspaces, HCP Terraform checks the Terraform plan against the policy set. Depending on the [enforcement level](#policy-enforcement-levels), failed policies can stop a run in a workspace. If you do not want to enforce a policy set on a specific workspace, you can exclude the workspace from that set. + +## Permissions + +To view and manage policies and policy sets, you must have [manage policy permissions](/terraform/enterprise/users-teams-organizations/permissions#manage-policies) for your organization. + +## Policy checks versus policy evaluations + +Policy checks and evaluations can access different types of data and enable slightly different workflows. + +### Policy checks + +Only Sentinel policies can run as policy checks. Checks can access cost estimation data but can only use the latest version of Sentinel. + +~> **Warning:** Policy checks are deprecated and will be permanently removed in August 2025. We recommend that you start using policy evaluations to avoid disruptions. + +### Policy evaluations + +OPA policy sets can only run as policy evaluations, and you can enable policy evaluations for Sentinel policy sets by selecting the `Agent` policy set type. + +HCP Terraform runs a workspace's policy evaluation in your self-managed agent pool if you meet the following requirements: + +- You are on the HCP Terraform **Premium** edition. +- You configure the workspace to run Terraform operations in your self-managed agent pool. Refer to [Configure Workspaces to use the Agent](/terraform/cloud-docs/agents/agent-pools#configure-workspaces-to-use-the-agent) for more information. +- You configure at least one agent in the agent pool to accept `policy` jobs. Refer to the [HCP Terraform agent reference](/terraform/cloud-docs/agents/agents#accept) for more information. + +If you do not meet all of the above requirements, then policy evaluations run within HCP Terraform's infrastructure. + +For Sentinel policy sets, using policy evaluations lets you: + +- Enable overrides for soft-mandatory and hard-mandatory policies, letting any user with [Manage Policy Overrides permission](/terraform/enterprise/users-teams-organizations/permissions#manage-policy-overrides) proceed with a run in the event of policy failure. +- Select a specific Sentinel runtime version for the policy set. + +Policy evaluations **cannot** access cost estimation data, so use policy checks if your policies rely on cost estimates. + +~> **Tip:** Sentinel runtime version pinning is supported only for Sentinel 0.23.1 and above, as well as HCP Terraform agent versions 1.13.1 and above + +## Policy enforcement levels + +You can set an enforcement level for each policy that determines what happens when a Terraform plan does not pass the policy rule. Sentinel and OPA policies have different enforcement levels available. + +### Sentinel + +Sentinel provides three policy enforcement levels: + +- **advisory:** Failed policies never interrupt the run. They provide information about policy check failures in the UI. +- **soft mandatory:** Failed policies stop the run, but any user with [Manage Policy Overrides permission](/terraform/enterprise/users-teams-organizations/permissions#manage-policy-overrides) can override these failures and allow the run to complete. +- **hard mandatory:** Failed policies stop the run. Terraform does not apply runs with failed **hard mandatory** policies until a user fixes the issue that caused the failure. + +### OPA + +OPA provides two policy enforcement levels: + +- **advisory** Failed policies never interrupt the run. They provide information about policy failures in the UI. +- **mandatory:** Failed policies stop the run, but any user with [Manage Policy Overrides permission](/terraform/enterprise/users-teams-organizations/permissions#manage-policy-overrides) can override these failures and allow the run to complete. + +## Policy publishing workflows + +You can create policies and policy sets for your HCP Terraform organization in one of three ways: + +- **HCP Terraform web UI:** Add individually-managed policies manually in the HCP Terraform UI, and store your policy code in HCP Terraform. This workflow is ideal for initial experimentation with policy enforcement, but we do not recommend it for organizations with large numbers of policies. +- **Version control:** Connect HCP Terraform to a version control repository containing a policy set. When you push changes to the repository, HCP Terraform automatically uses the updated policy set. +- **Automated:** Push versions of policy sets to HCP Terraform with the [HCP Terraform Policy Sets API](/terraform/enterprise/api-docs/policy-sets#create-a-policy-set-version) or the `tfe` provider [`tfe_policy_set`](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/policy_set) resource. This workflow is ideal for automated Continuous Integration and Deployment (CI/CD) pipelines. + +### Manage individual policies in the web UI + +You can add policies directly to HCP Terraform using the web UI. This process requires you to paste completed, valid Sentinel or Rego code into the UI. We recommend validating your policy code before adding it to HCP Terraform. + +#### Add managed policies + +To add an individually managed policy: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to add policies to. +2. Choose **Settings** from the sidebar, then **Policies**. A list of managed policies in HCP Terraform appears. Each policy designates its policy framework (Sentinel or OPA) and associated policy sets. +3. Click **Create a new policy**. +4. Choose the **Policy framework** you want to use. You can only create a policy set from policies written using the same framework. You cannot change the framework type after you create the policy. +5. Complete the following fields to define the policy: + - **Policy Name:** Add a name containing letters, numbers, `-`, and `_`. HCP Terraform displays this name in the UI. The name must be unique within your organization. + - **Description:** Describe the policy’s purpose. The description supports Markdown rendering, and HCP Terraform displays this text in the UI. + - **Enforcement mode:** Choose whether this policy can stop Terraform runs and whether users can override it. Refer to [policy enforcement levels](#policy-enforcement-levels) for more details. + - **(OPA Only) Query:** Write a query to identify a specific policy rule within your rego code. HCP Terraform uses this query to determine the result of the policy. The query is typically a combination of the policy package name and rule name, such as `terraform.deny`. The result of this query must be an array. The policy passes when the array is empty. + - **Policy code**: Paste the code for the policy: either Sentinel code or Rego code for OPA policies. The UI provides syntax highlighting for the policy language. + - **(Optional) Policy sets:** Select one or more existing managed policy sets where you want to add the new policy. You can only select policy sets compatible with the chosen policy set framework. If there are no policy sets available, you can [create a new one](#create-policy-sets). + +The policy is now available in the HCP Terraform UI for you to edit and add to one or more policy sets. + +#### Edit managed policies + +To edit a managed policy: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to edit policies for. +2. Choose **Settings** from the sidebar, then **Policies**. +3. Click the policy you want to edit to go to its details page. +4. Edit the policy's fields and then click **Update policy**. + +#### Delete managed policies + +~> **Warning:** Deleting a policy that applies to an active run causes that run’s policy evaluation stage to error. We recommend warning other members of your organization before you delete widely used policies. + +You can not restore policies after deletion. You must manually re-add them to HCP Terraform. You may want to save the policy code in a separate location before you delete the policy. + +To delete a managed policy: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to delete a policy in. +2. Choose **Settings** from the sidebar, then **Policies**. +3. Click the policy you want to delete to go to its details page. +4. Click **Delete policy** and then click **Yes, delete policy** to confirm. + +The policy no longer appears in HCP Terraform and in any associated policy sets. + +## Manage policy sets + +Policy sets are collections of policies that you can apply globally or to specific [projects](/terraform/enterprise/projects/manage) and workspaces. + +To view and manage policy sets, go to the **Policy Sets** section of your organization’s settings. This page contains all of the policy sets available in the organization, including those added through the API. + +The way you set up and configure a new policy set depends on your workflow and where you store policies. + +- For [managed policies](#managed-policies), you use the UI to create a policy set and add managed policies. +- For policy sets in a version control system, you use the UI to create a policy set connected to that repository. HCP Terraform automatically refreshes the policy set when you change relevant files in that repository. Version control policy sets have specific organization and formatting requirements. Refer to [Sentinel VCS Repositories](/terraform/enterprise/policy-enforcement/sentinel/vcs) and [OPA VCS Repositories](/terraform/enterprise/policy-enforcement/opa/vcs) for details. +- For automated workflows like continuous deployment, you can use the UI to create an empty policy set and then use the [Policy Sets API](/terraform/enterprise/api-docs/policy-sets) to add policies. You can also use the API or the [`tfe` provider (Sentinel Only)](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/policy_set) to add an entire, packaged policy set. + +### Create policy sets + +To create a policy set: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to create a policy set in. + +2. Choose **Settings** from the sidebar, then **Policies**. + +3. Click **Connect a new policy set**. + +4. Choose your workflow. + - For managed policies, click **create a policy set with individually managed policies**. HCP Terraform shows a form to create a policy set and add individually managed policies. + - For version control policies, choose a version control provider and then select the repository with your policy set. HCP Terraform shows a form to create a policy set connected to that repository. + - For automated workflows, click **No VCS Connection**. HCP Terraform shows a form to create an empty policy set. You can use the API to add policies to this empty policy set later. + +5. Choose a **Policy framework** for the policies you want to add. A policy set can only contain policies that use the same framework (OPA or Sentinel). You cannot change a policy set's framework type after creation. + +6. Choose a policy set scope: + - **Policies enforced globally:** HCP Terraform automatically enforces this global policy set on all of an organization's existing and future workspaces. + - **Policies enforced on selected projects and workspaces:** Use the text fields to find and select the workspaces and projects to enforce this policy set on. This affects all current and future workspaces for any chosen projects. + +7. **(Optional)** Add **Policy exclusions** for this policy set. Specify any workspaces in the policy set's scope that HCP Terraform will not enforce this policy set on. + +8. **(Sentinel Only)** Choose a policy set type: + - **Standard:** This is the default workflow. A Sentinel policy set uses a [policy check](#policy-checks) in HCP Terraform and lets you access cost estimation data. + - **Agent:** A Sentinel policy set uses a [policy evaluation](#policy-evaluations) in HCP Terraform. This lets you enable policy overrides and enforce a Sentinel runtime version + +9. **(OPA Only)** Select a **Runtime version** for this policy set. + +10. **(OPA Only)** Allow **Overrides**, which enables users with override policy permissions to apply plans that have [mandatory policy](#policy-enforcement-levels) failures. + +11. **(VCS Only)** Optionally specify the **VCS branch** within your VCS repository where HCP Terraform should import new versions of policies. If you do not set this field, HCP Terraform uses your selected VCS repository's default branch. + +12. **(VCS Only)** Specify where your policy set files live using the **Policies path**. This lets you maintain multiple policy sets within a single repository. Use a relative path from your root directory to the directory that contains either the `sentinel.hcl` (Sentinel) or `policies.hcl` (OPA) configuration files. If you do not set this field, HCP Terraform uses the repository's root directory. + +13. **(Managed Policies Only)** Select managed **Policies** to add to the policy set. You can only add policies written with the same policy framework you selected for this set. + +14. Choose a descriptive and unique **Name** for the policy set. You can use any combination of letters, numbers, `-`, and `_`. + +15. Write an optional **Description** that tells other users about the purpose of the policy set and what it contains. + +### Edit policy sets + +To edit a policy set: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to edit a policy set in. +2. Choose **Settings** from the sidebar, then **Policies**. +3. Click the policy set you want to edit to go to its settings page. +4. Adjust the settings and click **Update policy set**. + +### Evaluate a policy runtime upgrade + +You can validate that changing a policy runtime version does not introduce any breaking changes. + +To perform a policy evaluation: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to your organization. +2. Choose **Settings** from the sidebar, then **Policies** in your organization’s settings. +3. Click the policy set you want to upgrade. +4. Click the **Evaluate** tab. +5. Select the **Runtime version** you wish to upgrade to. +6. Select a **Workspace** to test the policy and upgraded version against. +7. Click **Evaluate**. + +HCP Terraform will execute the policy set using the specified version and the latest plan data for the selected workspace. It will display the evaluation results. If the evaluation returns a `Failed` status, inspect the JSON output to determine whether the issue is related to a non-compliant resource or is due to a syntax issue. +If the evaluation results in an error, check that the policy configuration is valid. + +### Delete policy sets + +~> **Warning:** Deleting a policy set that applies to an active run causes that run’s policy evaluation stage to error. We recommend warning other members of your organization before you delete widely used policy sets. + +You can not restore policy sets after deletion. You must manually re-add them to HCP Terraform. + +To delete a policy set: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to delete a policy set in. +2. Choose **Settings** from the sidebar, then **Policies** in your organization’s settings. +3. Click the policy set you want to delete to go to its details page. +4. Click **Delete policy** and then click **Yes, delete policy set** to confirm. + +The policy set no longer appears on the UI and HCP Terraform no longer applies it to any workspaces. For managed policy sets, all of the individual policies are still available in HCP Terraform. You must delete each policy individually to remove it from your organization. + +### (Sentinel only) Sentinel parameters + +[Sentinel parameters](/sentinel/docs/language/parameters) are a list of key/value pairs that HCP Terraform sends to the Sentinel runtime when performing policy checks on workspaces. If the value parses as JSON, HCP Terraform sends it to Sentinel as the corresponding type (string, boolean, integer, map, or list). If the value fails JSON validation, HCP Terraform sends it as a string. + +You can set Sentinel parameters when you [edit a policy set](#edit-policy-sets). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/opa-vcs.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/opa-vcs.mdx new file mode 100644 index 0000000000..adb5027c99 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/opa-vcs.mdx @@ -0,0 +1,48 @@ +--- +page_title: Configure an OPA policy set with a VCS repository +description: Use a VCS repository to configure an OPA policy set in Terraform Enterprise. +source: terraform-docs-common +--- + +# Configure an OPA policy set with a VCS repository + +To enable policy enforcement, you must group OPA policies into policy sets and apply those policy sets globally or to specific [projects](/terraform/enterprise/projects/manage) and workspaces. + +> **Hands-on:** Try the [Detect Infrastructure Drift and Enforce OPA Policies](/terraform/tutorials/cloud/drift-and-opa) tutorial. + +One way to create policy sets is by connecting HCP Terraform to a version control repository. When you push changes to the repository, HCP Terraform automatically uses the updated policy set. Refer to [Managing Policy Sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) for more details. + +An OPA policy set repository contains a HashiCorp Configuration Language (HCL) configuration file and policy files. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +## Configuration File + +The root directory of your policy set repository must contain a configuration file named either `policies.hcl` or `policies.json`. Policy enforcement supports both HCL and the JSON variant of HCL syntax. +The configuration file contains one or more `policy` blocks that define each policy in the policy set. Unlike Sentinel, OPA policies do not need to be in separate files. You use an [OPA query](/terraform/enterprise/policy-enforcement/opa#opa-query) to identify each policy rule. + +The following example uses a query to define a policy named `policy1`. This query may evaluate across multiple files, or a single file. + +```hcl +policy "policy1" { + query = "data.terraform.policy1.deny" +} +``` + +Optionally, you can also provide a `description` and an `enforcement_level` property. If you do not specify an enforcement level, HCP Terraform uses `advisory`, meaning policy failures produce warnings but do not block Terraform runs. Refer to [Policy Enforcement Levels](/terraform/enterprise/policy-enforcement/manage-policy-sets#policy-enforcement-levels) for more details. + +```hcl +policy "policy1" { + query = "data.terraform.policy1.deny" + enforcement_level = "mandatory" + description = "policy1 description" +} +``` + +## Policy Code Files + +All Rego policy files must end with `.rego` and exist in the local GitHub repository for the policy set. You can store them in separate directories from the configuration file. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/sentinel-vcs.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/sentinel-vcs.mdx new file mode 100644 index 0000000000..3bb8a81579 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/manage-policy-sets/sentinel-vcs.mdx @@ -0,0 +1,139 @@ +--- +page_title: Configure a Sentinel policy set with a VCS repository +description: >- + Use a VCS repository to configure a Sentinel policy set in Terraform + Enterprise. +source: terraform-docs-common +--- + +# Configure a Sentinel policy set with a VCS repository + +To enable policy enforcement, you must group Sentinel policies into policy sets. You can then apply those policy sets globally or to specific [projects](/terraform/enterprise/projects/manage) and workspaces. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +One way to create policy sets is by connecting HCP Terraform to a version control repository. When you push changes to the repository, HCP Terraform automatically uses the updated policy set. Refer to [Managing Policy Sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) for more details. + +A Sentinel policy set repository contains a Sentinel configuration file, policy files, and module files. + +## Configuration File + +Your repository must contain a configuration file named `sentinel.hcl` that defines the following features of the policy set: + +- Each policy included in the set. The policy name must match the names of individual [policy code files](#policy-code-files) exactly. HCP Terraform ignores policy files in the repository that are not listed in the configuration file. For each policy, the configuration file must designate the policy’s [enforcement level](/terraform/enterprise/policy-enforcement/manage-policy-sets#policy-enforcement-levels) and [source](#policy-source). +- [Terraform modules](#modules) that policies in the set need to access. + +The following example shows a portion of a `sentinel.hcl` configuration file that defines a policy named `terraform-maintenance-windows`. The policy has a `hard-mandatory` enforcement level, meaning that it can block Terraform runs when it fails and users cannot override it. + +```hcl +policy "terraform-maintenance-windows" { + source = "./terraform-maintenance-windows.sentinel" + enforcement_level = "hard-mandatory" +} +``` + +To configure a module, add a `module` entry to your `sentinel.hcl` file. The following example adds a module called `timezone`. + +```hcl +module "timezone" { + source = "./modules/timezone.sentinel" +} +``` + +The repositories for [policy libraries on the Terraform Registry](https://registry.terraform.io/browse/policies) contain more examples. + +## Policy Code Files + +Define each Sentinel policy in a separate file within your repository. All local policy files must reside in the same directory as the `sentinel.hcl` configuration file and end with the `.sentinel` suffix. + +### Policy Source + +A policy's `source` field can either reference a file within the policy repository, or it can reference a remote source. For example, the configuration could reference a policy from HashiCorp's [foundational policies library](https://github.com/hashicorp/terraform-foundational-policies-library). Sentinel only supports HTTP and HTTPS remote sources. + +To specify a local source, prefix the `source` with a `./`, or `../`. The following example shows how to reference a local source policy called `terraform-maintenance-windows.sentinel`. + +```hcl +policy "terraform-maintenance-windows" { + source = "./terraform-maintenance-windows.sentinel" + enforcement_level = "hard-mandatory" +} +``` + +To specify a remote source, supply the URL as the `source`. The following example references a policy from HashiCorp's foundational policies library. + +```hcl +policy "deny-public-ssh-nsg-rules" { + source = "https://registry.terraform.io/v2/policies/hashicorp/azure-networking-terraform/1.0.2/policy/deny-public-ssh-nsg-rules.sentinel?checksum=sha256:75c95bf1d6eb48153cb31f15c49c237bf7829549beebe20effa07bcdd3f3cb74" + enforcement_level = "advisory" +} +``` + +For GitHub, you must use the URL of the raw policy content. Other URL types cause HCP Terraform to error when checking the policy. For example, do not use `https://github.com/hashicorp/policy-library-azure-networking-terraform/blob/main/policies/deny-public-ssh-nsg-rules/deny-public-ssh-nsg-rules.sentinel`. + +To access the raw URL, open the Sentinel file in your Github repository, right-click **Raw** on the top right of the page, and save the link address. + +### Example Policy + +The following example policy uses the `time` and `tfrun` imports and a custom `timezone` module to do the following tasks: + +1. Load the time when the Terraform run occurred +2. Convert the loaded time with the correct offset using the [Timezone API](https://timezoneapi.io/) +3. Verify that the provisioning operation occurs only on a specific day + +The example policy also uses a [rule expression](/sentinel/docs/language/spec#rule-expressions) with the `when` predicate. If the value of `tfrun.workspace.auto_apply` is false, the rule is not evaluated and returns true. + +Finally, the example uses parameters to facilitate module reuse within Terraform. Refer to the [Sentinel parameter documentation](/sentinel/docs/language/parameters) for details. + +```hcl +import "time" +import "tfrun" +import "timezone" + +param token default "WbNKULOBheqV" +param maintenance_days default ["Friday", "Saturday", "Sunday"] +param timezone_id default "America/Los_Angeles" + +tfrun_created_at = time.load(tfrun.created_at) + +supported_maintenance_day = rule when tfrun.workspace.auto_apply is true { + tfrun_created_at.add(time.hour * timezone.offset(timezone_id, token)).weekday_name in maintenance_days +} + +main = rule { + supported_maintenance_day +} +``` + +To expand the policy, you could use the [time.hour](/sentinel/docs/imports/time#time-hour) function to also restrict provisioning to specific times of day. + +## Modules + +HCP Terraform supports [Sentinel modules](/sentinel/docs/extending/modules). Modules let you write reusable policy code that you can import and use within several policies at once. + +You can store modules locally or retrieve them from a remote HTTP or HTTPS source. + +-> **Note:** We recommend reviewing [Sentinel runtime's modules documentation](/sentinel/docs/extending/modules) to learn how to use modules within Sentinel. However, the configuration examples in the runtime documentation are relevant to the Sentinel CLI and not HCP Terraform. + +The following example module loads the code at `./modules/timezone.sentinel` relative to the policy set working directory. Other modules can access this code with the statement `import "timezone"`. + +```hcl +import "http" +import "json" +import "decimal" + +httpGet = func(id, token){ + uri = "https://timezoneapi.io/api/timezone/?" + id + "&token=" + token + request = http.get(uri) + return json.unmarshal(request.body) +} + +offset = func(id, token) { + tz = httpGet(id, token) + offset = decimal.new(tz.data.datetime.offset_hours).int + return offset +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-library.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-library.mdx new file mode 100644 index 0000000000..fc023061da --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-library.mdx @@ -0,0 +1,26 @@ +--- +page_title: Pre-written policy library +description: >- + HashiCorp authors and maintains a library of pre-written Sentinel policies + that enforce CIS and other compliance standards. Learn about the available + pre-written policies. +source: terraform-docs-common +--- + +# Pre-written policy library reference + +This topic provides reference information about the Sentinel policy libraries that HashiCorp authors and maintains. For instructions on how to run the policy libraries, refer to [Run pre-written Sentinel policies ](/terraform/enterprise/policy-enforcement/prewritten-sentinel). + +## Center for Internet Security (CIS) + +The Center for Internet Security (CIS) is a non-profit organization that publishes standards for configuring secure cloud services. Refer to the [CIS website](https://www.cisecurity.org) for additional information. + +HashiCorp publishes pre-written policies that support the following CIS benchmarks. + +### AWS + +- Amazon Web Services Foundations version 1.2. Refer to the [AWS documentation](https://docs.aws.amazon.com/securityhub/latest/userguide/cis-aws-foundations-benchmark.html#cis1v2-standard) for additional information about this version. +- Amazon Web Services Foundations version 1.4. Refer to the [AWS documentation](https://docs.aws.amazon.com/securityhub/latest/userguide/cis-aws-foundations-benchmark.html#cis1v4-standard) for additional information about this version. +- Amazon Web Services Foundations version 3.0. Refer to the [AWS documentation](https://docs.aws.amazon.com/securityhub/latest/userguide/cis-aws-foundations-benchmark.html#cis3v0-standard) for additional information about this version. + +Refer to the [CIS policy set for AWS GitHub repository](https://github.com/hashicorp/policy-library-CIS-Policy-Set-for-AWS-Terraform) for details about these policies. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-sentinel.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-sentinel.mdx new file mode 100644 index 0000000000..ea73b949a1 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/prewritten-sentinel.mdx @@ -0,0 +1,133 @@ +--- +page_title: Run pre-written Sentinel policies +description: >- + Learn how to download and install pre-written Sentinel policies created and + maintained by HashiCorp. +source: terraform-docs-common +--- + +# Run pre-written Sentinel policies + +This topic describes how to run Sentinel policies created and maintained by HashiCorp. For instructions about how to create your own custom Sentinel policies, refer to [Define custom Sentinel policies](/terraform/enterprise/policy-enforcement/define-policies/custom-sentinel). + +## Overview + +Pre-written Sentinel policy libraries streamline your compliance processes and enhance security across your infrastructure. HashiCorp's ready-to-use policies can help you enforce best practices and security standards across your AWS environment. + +Complete the following steps to implement pre-written Sentinel policies in your workspaces: + +1. Obtain the policies you want to implement. Download policies directly into your repository or create a fork of the HashiCorp repositories. Alternatively, you can add the Terraform module to your configuration, which acquires the policies and connects them to your workspaces in a single step. +2. Connect policies to your workspace. After you download policies or fork policy repositories, you must connect them to your HCP Terraform or Terraform Enterprise workspaces. + +Refer to the [Sentinel documentation](/sentinel/docs) for information about the Sentinel language. + +## Requirements + +You must use one of the following Terraform applications: + +- HCP Terraform +- Terraform Enterprise v202406-1 or newer + +### Permissions + +To create new policy sets and policies, your HCP Terraform or Terraform Enterprise user account must either be a member of the owners team or have the **Manage Policies** organization-level permissions enabled. Refer to the following topics for additional information: + +- [Organization owners](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) +- [Manage policies](/terraform/enterprise/users-teams-organizations/permissions#manage-policies) + +### Version control system + +You must have a GitHub account connected to HCP Terraform or Terraform Enterprise to manually connect policy sets to your workspaces. Refer to [Connecting VCS Providers](/terraform/enterprise/vcs) for instructions. + +## Get policies + +Refer to the [pre-written policy library reference](/terraform/enterprise/policy-enforcement/prewritten-library) for a complete list of available policy sets. You can also [browse the registry](https://registry.terraform.io/search/policies?q=Pre-written) to discover additional policy libraries. + +Use one of the following methods to get pre-written policies: + +- **Download policies from the registry**: Use this method if you want to assemble custom policy sets without customizing policies. +- **Fork the HashiCorp policy GitHub repository**: Use this method if you intend to customize the policies. +- **Add the Terraform module to your configuration**: Use this method to implement specific versions of the policies as-is. This method also connects the policies to workspaces in the Terraform configuration file instead of connecting them as a separate step. + + + + + +Complete the following steps to download policies from the registry and apply them directly to your workspaces. + +1. Browse the policy libraries available in the [Terraform registry](https://registry.terraform.io/search/policies?q=Pre-written). +2. Click on a policy library and click **Choose policies**. +3. Select the policies you want to implement. The registry generates code in the **USAGE INSTRUCTIONS** box. +4. Click **Copy Code Snippet** to copy the code to your clipboard. +5. Create a GitHub repository to store the policies and the policy set configuration file. +6. Create a file called `sentinel.hcl` in the repository. +7. Paste the code from your clipboard into `sentinel.hcl` and commit your changes. +8. Complete the instructions for [connecting the policies to your workspace](#connect-policies-to-your-workspace). + + + + +Create a fork of the repository containing the policies you want to implement. Refer to the [GitHub documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) for instructions on how to create a fork. + +The following repositories are available: + +- [policy-library-CIS-Policy-Set-for-AWS-Terraform](https://github.com/hashicorp/policy-library-CIS-Policy-Set-for-AWS-Terraform) + +HashiCorp Sentinel policy libraries include a `sentinel.hcl` file. The file defines an example policy set using the policies included in the library. Modify the file to customize your policy set. Refer to [Sentinel Policy Set VCS Repositories](/terraform/enterprise/policy-enforcement/manage-policy-sets/sentinel-vcs) for additional information. + +After forking the repository, complete the instructions for [connecting the policies to your workspace](#connect-policies-to-your-workspace). + + + + +This method enables you to connect the policies to workspaces in the Terraform configuration file. As a result, you can skip the instructions described in [Connect policies to your workspaces](#connect-policies-to-your-workspaces). + +1. Go to the [module in the Terraform registry](https://registry.terraform.io/modules/hashicorp/CIS-Policy-Set/AWS/latest) and copy the code generated in the **Provision Instructions** tile. + +2. Add the `module` block to your Terraform configuration and define the following arguments: + + - `source`: Specify the path to the module you downloaded. + - `tfe_organization`: Specify the name of your organization on Terraform Enterprise or HCP Terraform. + - `policy_set_workspace_names`: Specify a list of workspace names that you want to apply the policies to. + + The following example configuration applies invokes the module for `target_workspace_1`: + + ```hcl + module "cis_v1-2-0_policies" { + source = "../prewritten-policy" + name = "cis-1-2-0" + tfe_organization = "" + policy_set_workspace_names = ["target_workspace_1"] + } + ``` + +3. Run `terraform plan` to view the plan. + +4. Run `terraform apply` to apply the changes. After running the command, Terraform will evaluate Sentinel policies for each following run of the workspaces you specified. + + + + +## Connect policies to your workspace + +Skip this step if you [added the Terraform module](#add-the-terraform-module-to-your-configuration) to your configuration. When you use the module, the `policy_set_workspace_names` argument instructs Terraform to connect the policies to the HCP Terraform workspaces specified in the configuration. + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization with workspaces you want to connect policies to. +2. Choose **Settings** from the sidebar. +3. Click **Policy Sets** and click **Connect a new policy set**. +4. Click the **Version control provider (VCS)** tile. +5. Enable the **Sentinel** option as the policy framework. +6. Specify a name and description for the set. +7. Configure any additional options for the policy set and click **Next**. +8. Choose the GitHub connection type, then choose the repository you created in [Set up a repository for the policies](#set-up-a-repository-for-the-policies). +9. If the `sentinel.hcl` policy set file is stored in a subfolder, specify the path to the file in the **Policies path** field. The default is the root directory. +10. If you want to apply updated policy sets to the workspace from a specific branch, specify the name in the **VCS branch** field. The default is the default branch configured for the repository. +11. Click **Next** and specify any additional parameters you want to pass to the Sentinel runtime and click **Connect policy set** to finish applying the policies to the workspace. + +Run a plan in the workspace to trigger the connected policies. Refer to [Start a Terraform run](/terraform/enterprise/run/remote-operations#starting-runs) for additional information. + +## Next steps + +- Group your policies into sets and apply them to your workspaces. Refer to [Create policy sets](/terraform/enterprise/policy-enforcement/manage-policy-sets#create-policy-sets) for additional information. +- View results and address Terraform runs that do not comply with your policies. Refer to [View results](/terraform/enterprise/policy-enforcement/view-results) for additional information. +- You can also view Sentinel policy results in JSON format. Refer to [View Sentinel JSON results](/terraform/enterprise/policy-enforcement/view-results/json) for additional information. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/test-sentinel.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/test-sentinel.mdx new file mode 100644 index 0000000000..91be1391fe --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/test-sentinel.mdx @@ -0,0 +1,277 @@ +--- +page_title: Generate mock Sentinel data with Terraform Enterprise +description: >- + Learn how to generate mock Sentinel data to test your policies with Terraform + Enterprise. +source: terraform-docs-common +--- + +# Generate mock Sentinel data with Terraform + +We recommend that you test your Sentinel policies extensively before deploying +them within HCP Terraform. An important part of this process is mocking +the data that you wish your policies to operate on. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Due to the highly variable structure of data that can be produced by an +individual Terraform configuration, HCP Terraform provides the ability to +generate mock data from existing configurations. This can be used to create +sample data for a new policy, or data to reproduce issues in an existing one. + +Testing policies is done using the [Sentinel +CLI](/sentinel/docs/commands). More general information on +testing Sentinel policies can be found in the [Testing +section](/sentinel/docs/writing/testing) of the [Sentinel +runtime documentation](https://docs.hashicorp.com/sentinel). + +~> **Be careful!** Mock data generated by HCP Terraform directly exposes any +and all data within the configuration, plan, and state. Terraform attempts to +scrub sensitive data from these mocks, but we do not guarantee 100% accuracy. +Treat this data with care, and avoid generating mocks with live sensitive data +when possible. Access to this information requires [permission to download +Sentinel mocks](/terraform/enterprise/users-teams-organizations/permissions) for the +workspace where the data was generated. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Generating Mock Data Using the UI + +Mock data can be generated using the UI by expanding the plan status section of +the run page, and clicking on the **Download Sentinel mocks** button. + +![sentinel mock generate ui](/img/docs/download-mocks.png) + +For more information on creating a run, see the +[Terraform Runs and Remote Operations](/terraform/enterprise/run/remote-operations) section of the docs. + +If the button is not visible, then the plan is ineligible for mock generation or +the user doesn't have the necessary permissions. See [Mock Data +Availability](#mock-data-availability) for more details. + +## Generating Mock Data Using the API + +Mock data can also be created with the [Plan Export +API](/terraform/enterprise/api-docs/plan-exports). + +Multiple steps are required for mock generation. The export process is +asynchronous, so you must monitor the request to know when the data is generated +and available for download. + +1. Get the plan ID for the run that you want to generate the mock for by + [getting the run details](/terraform/enterprise/api-docs/run#get-run-details). + Look for the `id` of the `plan` object within the `relationships` section of + the return data. +2. [Request a plan + export](/terraform/enterprise/api-docs/plan-exports#create-a-plan-export) using the + discovered plan ID. Supply the Sentinel export type `sentinel-mock-bundle-v0`. +3. Monitor the export request by [viewing the plan + export](/terraform/enterprise/api-docs/plan-exports#show-a-plan-export). When the + status is `finished`, the data is ready for download. +4. Finally, [download the export + data](/terraform/enterprise/api-docs/plan-exports#download-exported-plan-data). + You have up to an hour from the completion of the export request - after + that, the mock data expires and must be re-generated. + +## Using Mock Data + +-> **Note:** The v2 mock files are only available on Terraform 0.12 and higher. + +Mock data is supplied as a bundled tarball, containing the following files: + + mock-tfconfig.sentinel # tfconfig mock data + mock-tfconfig-v2.sentinel # tfconfig/v2 mock data + mock-tfplan.sentinel # tfplan mock data + mock-tfplan-v2.sentinel # tfplan/v2 mock data + mock-tfstate.sentinel # tfstate mock data + mock-tfstate-v2.sentinel # tfstate/v2 mock data + mock-tfrun.sentinel # tfrun mock data + sentinel.hcl # sample configuration file + +The sample `sentinel.hcl` file contains mappings to the mocks so that you +can get started testing with `sentinel apply` right away. For `sentinel test`, +however, we recommend a more detailed layout. + +We recommend placing the files for `sentinel test` in a subdirectory +of the repository holding your policies, so they don't interfere with the +command's automatic policy detection. While the test data is Sentinel code, it's +not a policy and will produce errors if evaluated like one. + + . + ├── foo.sentinel + ├── sentinel.hcl + ├── test + │   └── foo + │   ├── fail.hcl + │   └── pass.hcl + └── testdata + ├── mock-tfconfig.sentinel + ├── mock-tfconfig-v2.sentinel + ├── mock-tfplan.sentinel + ├── mock-tfplan-v2.sentinel + ├── mock-tfstate.sentinel + ├── mock-tfstate-v2.sentinel + └── mock-tfrun.sentinel + +Each configuration that needs access to the mock should reference the mock data +files within the `mock` block in the Sentinel configuration file. + +For `sentinel apply`, this path is relative to the working directory. Assuming +you always run this command from the repository root, the `sentinel.hcl` +configuration file would look like: + +```hcl +mock "tfconfig" { + module { + source = "testdata/mock-tfconfig.sentinel" + } +} + +mock "tfconfig/v1" { + module { + source = "testdata/mock-tfconfig.sentinel" + } +} + +mock "tfconfig/v2" { + module { + source = "testdata/mock-tfconfig-v2.sentinel" + } +} + +mock "tfplan" { + module { + source = "testdata/mock-tfplan.sentinel" + } +} + +mock "tfplan/v1" { + module { + source = "testdata/mock-tfplan.sentinel" + } +} + +mock "tfplan/v2" { + module { + source = "testdata/mock-tfplan-v2.sentinel" + } +} + +mock "tfstate" { + module { + source = "testdata/mock-tfstate.sentinel" + } +} + +mock "tfstate/v1" { + module { + source = "testdata/mock-tfstate.sentinel" + } +} + +mock "tfstate/v2" { + module { + source = "testdata/mock-tfstate-v2.sentinel" + } +} + +mock "tfrun" { + module { + source = "testdata/mock-tfrun.sentinel" + } +} +``` + +For `sentinel test`, the paths are relative to the specific test configuration +file. For example, the contents of `pass.hcl`, asserting that the result of the +`main` rule was `true`, would be: + + mock "tfconfig" { + module { + source = "../../testdata/mock-tfconfig.sentinel" + } + } + + mock "tfconfig/v1" { + module { + source = "../../testdata/mock-tfconfig.sentinel" + } + } + + mock "tfconfig/v2" { + module { + source = "../../testdata/mock-tfconfig-v2.sentinel" + } + } + + mock "tfplan" { + module { + source = "../../testdata/mock-tfplan.sentinel" + } + } + + mock "tfplan/v1" { + module { + source = "../../testdata/mock-tfplan.sentinel" + } + } + + mock "tfplan/v2" { + module { + source = "../../testdata/mock-tfplan-v2.sentinel" + } + } + + mock "tfstate" { + module { + source = "../../testdata/mock-tfstate.sentinel" + } + } + + mock "tfstate/v1" { + module { + source = "../../testdata/mock-tfstate.sentinel" + } + } + + mock "tfstate/v2" { + module { + source = "../../testdata/mock-tfstate-v2.sentinel" + } + } + + mock "tfrun" { + module { + source = "../../testdata/mock-tfrun.sentinel" + } + } + + test { + rules = { + main = true + } + } + +## Mock Data Availability + +The following factors can prevent you from generating mock data: + +- You do not have permission to download Sentinel mocks for the workspace. + ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + Permission is required to protect the possibly sensitive data which can be + produced via mock generation. +- The run has not progressed past the planning stage, or did not create a plan + successfully. +- The run progressed past the planning stage prior to July 23, 2021. Prior to this date, HCP Terraform only kept JSON plans for 7 days. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +If a plan cannot have its mock data exported due to any of these reasons, the +**Download Sentinel mocks** button within the plan status section of the UI will +not be visible. + +-> **Note:** Only a successful plan is required for mock generation. Sentinel can still generate the data if apply or policy checks fail. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/index.mdx new file mode 100644 index 0000000000..9c744110c5 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/index.mdx @@ -0,0 +1,74 @@ +--- +page_title: View policy enforcement results in Terraform Enterprise +description: >- + Learn how to view and override policy enforcement results in Terraform + Enterprise. +source: terraform-docs-common +--- + +# View policy enforcement results + +When you add [policy sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) to a workspace, HCP Terraform enforces those policy sets on every Terraform run. HCP Terraform displays the policy enforcement results in the UI for each run. Depending on each policy’s [enforcement level](/terraform/enterprise/policy-enforcement/manage-policy-sets#policy-enforcement-levels), policy failures can also stop the run and prevent Terraform from provisioning infrastructure. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +## Policy Evaluation Run Stages + +HCP Terraform only evaluates policies for successful plans. HCP Terraform evaluates Sentinel and OPA policy sets separately and at different points in the run. + +- Sentinel policy checks occur after Terraform completes the plan and after both [run tasks](/terraform/enterprise/workspaces/settings/run-tasks) and [cost estimation](https://terraform.io/cloud-dodcs/cost-estimation). This order lets you write Sentinel policies to restrict costs based on the data in the cost estimates. +- Sentinel policy evaluations occur after Terraform completes the plan and after any run tasks. HCP Terraform evaluates Sentinel policy evaluations immediately before cost estimation. +- OPA policy evaluations occur after Terraform completes the plan and after any run tasks. HCP Terraform evaluates OPA policies immediately before cost estimation. + +Refer to [Run States and Stages](/terraform/enterprise/run/states) for more details. + +## View Policy Results + +To view the policy results for both Sentinel and OPA policies: + +1. Go to your workspace and navigate to the **Runs** page. +2. Click a run to view its details. + +HCP Terraform displays a timeline of the run’s events. For workspaces with both Sentinel and OPA policy sets, the run details page displays two separate run events: **OPA policies** for OPA policy sets and **Policy check** for Sentinel policy sets. + +Click a policy evaluation event to view policy results and details about any failed policies. + +-> **Note:** For Sentinel, the Terraform CLI also prints policy results for [CLI-driven runs](/terraform/enterprise/run/cli). CLI support for policy results is not available for OPA. + +## Override Policies + +You need [manage policy overrides](/terraform/enterprise/users-teams-organizations/permissions#manage-policy-overrides) permissions to override failed Sentinel and OPA policies. + +Sentinel and OPA have different policy enforcement levels that determine when you need to override failed policies to allow a run to continue. +To override failed policies, go to the run details page and click **Override and Continue** at the bottom. + +For Sentinel only, you can also override `soft-mandatory` policies with the Terraform CLI. Run the `terraform apply` command and then enter `override` when prompted. + +-> **Note:** HCP Terraform does not allow policy overrides for [no-operation plans containing no infrastructure changes](/terraform/enterprise/run/modes-and-options#allow-empty-apply), unless you choose the **Allow empty apply** option when starting the run. + +### Sentinel + +#### Policy checks + +Policies with an `advisory` enforcement level never stop runs. If they fail, HCP Terraform displays a warning in the policy results and the run continues. + +You can override `soft-mandatory` policies to allow the run to continue. Overriding failed policies on a run does not affect policy evaluations on future runs in that workspace. + +You cannot override `hard-mandatory` policies, and all of these policies must pass for the run to continue. + +#### Policy evaluations + +Policies with an `advisory` enforcement level never stop runs. If they fail, HCP Terraform displays a warning in the policy results and the run continues. + +When running Sentinel policies as policy evaluations, `soft-mandatory` and `hard-mandatory` enforcement levels are internally converted to `mandatory` enforcement level. +You can override `mandatory` policies to allow the run to continue. + +### OPA + +Policies with an `advisory` enforcement level never stop runs. If they fail, HCP Terraform displays a warning in the policy results and the run continues. + +You can override `mandatory` policies to allow the run to continue. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/json.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/json.mdx new file mode 100644 index 0000000000..c0fa9f3707 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/policy-enforcement/view-results/json.mdx @@ -0,0 +1,59 @@ +--- +page_title: View and filter Sentinel JSON data +description: Learn how to view and filter Sentinel JSON data. +source: terraform-docs-common +--- + +# View and filter Sentinel JSON data + +When using the HCP Terraform UI, Sentinel policy check results are available +both in a human-readable log form, and in a more detailed, lower-level JSON +form. While the logs may suppress some output that would make the logs harder +to read, the JSON output exposes the lower-level output directly to you. Being +able to parse this data in its entirety is especially important when working +with [non-boolean rule +data](/sentinel/docs/language/rules#non-boolean-values) in +a policy designed to work with Sentinel 0.17.0 and higher. + + + +@include 'tfc-package-callouts/policies.mdx' + + + +-> The JSON data exposed is the same as you would see when using the [policy +checks API](/terraform/enterprise/api-docs/policy-checks), with the data starting at the +`sentinel` key. + +## Viewing JSON Data + +To view the JSON data, expand the policy check on the [runs +page](/terraform/enterprise/run/manage) if it is not already expanded. The logs are +always displayed first, so click the **View JSON Data** button to view the JSON +data. You can click the **View Logs** button to switch back to the log view. + +![viewing json data](/img/docs/sentinel-view-json.png) + +## Filtering JSON Data + +The JSON data is filterable using a [jq](https://stedolan.github.io/jq/)-subset +filtering language. See the [JSON +filtering](/terraform/enterprise/workspaces/json-filtering) page for more details on +the filtering language. + +Filters are entered by putting the filter in the aptly named **filter** box in +the JSON viewer. After entering the filter, pressing **Apply** or the enter key +on your keyboard will apply the filter. The filtered results, if any, are +displayed in result box. Clearing the filter will restore the original JSON +data. + +![entering a json filter](/img/docs/sentinel-json-enter-filter.png) + +### Quick-Filtering `main` Rules + +Clicking the **Filter "main" rules** button will quickly apply a filter that +shows you the results of the `main` rule for every policy in the policy set. You +can use this to quickly get the results of each policy in the set, without +having navigate through the rest of the policy result data. + +![using the quick filter](/img/docs/sentinel-json-quick-filter.png) diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/projects/best-practices.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/projects/best-practices.mdx new file mode 100644 index 0000000000..b1b60daf38 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/projects/best-practices.mdx @@ -0,0 +1,40 @@ +--- +page_title: Best Practices - Projects - Terraform Enterprise +description: >- + Best practices to structure your configuration and Terraform Enterprise + projects +source: terraform-docs-common +--- + +# Project Best Practices + +Projects let you group and scope access to your workspaces. You can group related workspaces into projects and give teams more permissive access to individual projects rather than granting them permissions to the entire organization. + +Projects offer several advantages to help you further develop your workspace strategy: + +- **Focused workspace view**: You can scope which workspaces HCP Terraform displays by project, allowing for a more organized view. +- **Simplified workspace management**: You can create project-level permissions and variable sets that apply to all current and future workspaces in the project. For example, you can create a project variable set containing your cloud provider credentials for all workspaces in the project to access. +- **Reduced risk with centralized control**: You can scope project permissions to only grant teams administrator access to the projects and workspaces they need. + +## Recommendations + +When using projects, we recommend the following: + +- **Automate with Terraform**: Automate the creation of projects, variable sets, and teams together using the [TFE provider](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs). +- **Designate a landing zone project**: Landing zone projects contain workspaces used to create all other projects, teams, and workspaces. This lets you have a variable set that includes the organization token, which the TFE provider can use to create other resources in your organization. You can also create a [Sentinel policy](/terraform/enterprise/policy-enforcement) to prevent users in other projects from accessing the organization token. +- **Maintain least privilege**: Restrict the number of project administrators to maintain the principal of least privilege. + +## Project boundaries + +Finally, decide on the logical boundaries for your projects. Some considerations to keep in mind include: + +- **Provider boundaries**: For smaller organizations, creating one project per cloud account may make it easier to manage access. Projects can use [dynamic credentials](/terraform/tutorials/cloud/dynamic-credentials) by configuring a project variable set to avoid hard-coding long-lived static credentials. +- **Least privilege**: You can create teams and grant them access to projects with workspaces of similar areas of ownership. For example, a production networking workspace should be in a separate project from a development compute workspace. +- **Use variable sets**: Project-wide variable sets let you configure and reuse values such as default tags for cost-codes, owners, and support contacts. Projects can own variable sets, enabling you to separate management and access to sets between projects. +- **Practitioner efficiency**: Consider if it makes sense for a practitioner to need to visit multiple projects to complete a deployment. + +## Next steps + +This article introduces some considerations to keep in mind as your organization matures their project usage. Being deliberate about how you use these to organize your infrastructure will ensure smoother and safer operations. To learn more about HCP Terraform and Terraform Enterprise best practices, refer to [Workspace Best Practices](/terraform/enterprise/workspaces/best-practices). To learn best practices for writing Terraform configuration, refer to the [Terraform Style Guide](/terraform/language/style). + +[HCP Terraform](/terraform/tutorials/cloud-get-started) provides a place to try these concepts hands-on, and you can [get started for free](https://app.terraform.io/public/signup/account). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/projects/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/projects/index.mdx new file mode 100644 index 0000000000..62f7b9a260 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/projects/index.mdx @@ -0,0 +1,51 @@ +--- +page_title: Projects - Terraform Enterprise +description: >- + Use projects to organize and group workspaces and create ownership boundaries + across your infrastructure. +source: terraform-docs-common +--- + +# Overview + + + +@include 'tfc-package-callouts/project-permissions.mdx' + + + +Projects let you organize your workspaces and scope access to workspace +resources. Each project has a separate permissions set that you can use to grant +teams access to all workspaces in the project, defining access control +boundaries for teams and their resources. Project-level permissions are more +granular than organization-level permissions, but more specific than individual +workspace-level grants. + +When deciding how to structure your projects, consider which groups of resources +need distinct access rules. You may wish to define projects by business units, +departments, subsidiaries, or technical teams. + +> **Hands On:** Try our [Managing +> Projects](/terraform/tutorials/cloud/projects) +> tutorial. + +## Default Project + +Every workspace must belong to exactly one project. By default, all workspaces +belong to an organization's **Default Project**. You can rename the default +project, but you cannot delete it. You can specify a workspace's project at the +time of creation and move it to a different project later. + +The “Manage Workspaces” team permission lets users create and manage workspaces. +Users with this permission can read and manage all workspaces, but new +workspaces are automatically added to the “Default Project” and users cannot +access the metadata for other projects. To create workspaces under other +projects, users also need the "Manage Projects & Workspaces" permission or the +admin role for the project they wish to use. + +## Managing Projects + +The "Manage all Projects" team permission lets users manage projects. Users with +this permission can view, edit, delete, and assign team access to all of an +organization's projects. Refer to [Managing +Projects](/terraform/enterprise/projects/manage) for more details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/projects/manage.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/projects/manage.mdx new file mode 100644 index 0000000000..3ad84ad7e5 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/projects/manage.mdx @@ -0,0 +1,124 @@ +--- +page_title: Manage projects in Terraform Enterprise +description: |- + Use projects to organize and group workspaces and create ownership boundaries + across your infrastructure. +source: terraform-docs-common +--- + +# Manage projects + +This topic describes how to create and manage projects in HCP Terraform and Terraform Enterprise. A project is a folder containing one or more workspaces. + +## Requirements + +You must have the following permissions to manage projects: + +- You must be a member of a team with the **Manage all Projects** permissions enabled to create a project. Refer to [Organization Permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) for additional information. +- You must be a member of a team with the **Visible** option enabled under **Visibility** in the organization settings to configure a new team's access to the project. Refer to [Team Visibility](/terraform/enterprise/users-teams-organizations/teams/manage#team-visibility) for additional information. +- You must be a member of a team with update and delete permissions to be able to update and delete teams respectively. + +To delete tags on a project, you must be member of a team with the **Admin** permission group enabled for the project. + +To create tags for a project, you must be member of a team with the **Write** permission group enabled for the project. + +## View a project + +To view your organization's projects: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and select **Projects** from the sidebar. +2. Search for a project that you want to view. You can use the following methods: + - Sort by column header. + - Use the search bar to search on the name of a project or a tag. +3. Click on a project's name to view more details. + +## Create a project + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and select **Projects** from the sidebar. +2. Click **+ New project**. +3. Specify a name for the project. The name must be unique within the organization and can only include letters, numbers, inner spaces, hyphens, and underscores. +4. Add a description for the project. This field is optional. +5. Open the **Add key value tags** menu to add tags to your project. Workspaces you create within the project inherit project tags. Refer to [Define project tags](#define-project-tags) for additional information. +6. Click **+Add tag** and specify a tag key and tag value. If your organization has defined reserved tag keys, they appear in the **Tag key** field as suggestions. Refer to [Create and manage reserved tags](/terraform/enterprise/users-teams-organizations/organizations/manage-reserved-tags) for additional information. +7. Click **+ Add tag** to attach any additional tags. +8. Click **Create** to finish creating the project. + +HCP Terraform returns a new project page displaying all the project +information. + +## Edit a project + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and select **Projects** from the sidebar. +2. Click on a project name of the project you want to edit. +3. Choose **Settings** from the sidebar. + +On this **General settings** page, you can update the project name, project +description, and delete the project. On the **Team access** page, you can modify +team access to the project. + +## Automatically destroy inactive workspaces + + + +@include 'tfc-package-callouts/ephemeral-workspaces.mdx' + + + +You can configure HCP Terraform to automatically destroy each workspace's +infrastructure in a project after a period of inactivity. A workspace +is inactive if the workspace's state has not changed within your designated +time period. + +If you configure a project to auto-destroy its infrastructure when inactive, +any run that updates Terraform state further delays the scheduled auto-destroy +time by the length of your designated timeframe. + + + +The user interface does not prompt you to approve automated destroy plans. We recommend only using this setting for development environments. + + + +To schedule an auto-destroy run after a period of workspace inactivity: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the project with workspaces you want to destroy. +2. Choose **Settings** from the sidebar, then **Auto-destroy Workspaces**. +3. Click **Set up default**. +4. Select or customize a desired timeframe of inactivity. +5. Click **Confirm default**. + +You can configure an individual workspace's auto-destroy settings to override +this default configuration. Refer to [automatically destroy workspaces](/terraform/enterprise/workspaces/settings/deletion#automatically-destroy) for more information. + +## Delete a project + +You can only delete projects that do not contain stacks or workspaces. + +To delete an empty project: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise. +2. Click **Projects**. +3. Search for a project that you want to review by scrolling down the table or + searching for a project name in the search bar above the project table. +4. Choose **Settings** from the sidebar. +5. Click the **Delete** button. A **Delete project** modal appears. +6. Click the **Delete** button to confirm the deletion. + +HCP Terraform returns to the **Projects** view with the deleted project +removed from the list. + +## Define project tags + +You can define tags stored as key-value pairs to help you organize your projects and track resource consumption. Workspaces created in the project automatically inherit the tags, but workspace administrators with appropriate permissions can attach new key-value pairs to their workspaces to override inherited tags. Refer to [Create workspace tags](/terraform/enterprise/workspaces/tags) for additional information about using tags in workspaces. + +The following rules apply to tag keys and values: + +- Tags must be one or more characters. +- Tags have a 255 character limit. +- Tags can include letters, numbers, colons, hyphens, and underscores. +- Tag values are optional. +- You can create up to 10 unique tags per workspace and 10 unique tags per project. As a result, each workspace can have up to 20 tags. +- You cannot use the following strings at the beginning of a tag key: + - `hcp` + - `hc` + - `ibm` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/registry/add.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/add.mdx new file mode 100644 index 0000000000..50b3130f06 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/add.mdx @@ -0,0 +1,79 @@ +--- +page_title: Add public providers and modules to the Terraform Enterprise private registry +description: >- + Learn how to add providers and modules from the public Terraform registry to + your organization's private registry. +source: terraform-docs-common +--- + +[vcs]: /terraform/enterprise/vcs + +# Add public providers and modules to the HCP Terraform private registry + +You can add providers and modules from the public [Terraform Registry](/terraform/registry) to your HCP Terraform private registry. The private registry stores a pointer to these public providers and modules so that you can view their data from within HCP Terraform. This lets you clearly designate which public providers and modules are recommended for the organization and makes their supporting documentation and examples centrally accessible. + +-> **Note:** Your Terraform Enterprise instance must allow access to `registry.terraform.io` and `https://yy0ffni7mf-dsn.algolia.net/`. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +You can add providers and modules through the UI as detailed below or through the [Registry Providers API](/terraform/enterprise/api-docs/private-registry/providers) and the [Registry Modules API](/terraform/enterprise/api-docs/private-registry/modules#create-a-module-with-no-vcs-connection-). + +## Permissions + +All members of an organization can view and use public providers and modules. Members of the [owners team](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) and teams with [Manage Private Registry permissions](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) can add and delete them from the private registry. + +## Adding a Public Provider or Module + +> **Hands-on:** Try the [Add Public Providers and Modules to your Private Registry](/terraform/tutorials/modules/private-registry-add) tutorial and [Share Modules in the Private Registry](/terraform/tutorials/modules/module-private-registry-share) tutorials. + +To add a public provider or module: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to add a public provider or module to. + +2. Select **Registry** from the sidebar. The organization's private registry appears with a list of available providers and modules. + +3. Click **Search public registry**. The **Public Registry Search** page appears. + +4. 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. + +5. Do one of the following to add a provider or module to your private registry: + - Hover over the provider or module and click **+ Add**. + - Click the provider or module to view its details and then click **Add to HCP Terraform**. + +6. 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 + + + +@include 'tfc-package-callouts/nocode.mdx' + + + +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 or project-scoped variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets) with the credentials for the module's provider, or by accessing outputs with credentials from other workspaces. Refer to [Provider Credentials](/terraform/enterprise/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](/terraform/enterprise/no-code-provisioning/module-design#requirements). +2. Click the module to view its details. +3. 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 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 + +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: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization whose registry you want to remove a provider or module from. + +2. Select **Registry** from the sidebar. The organization's private registry appears with a list of available providers and modules. + +3. 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). + +4. 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/content/ptfe-releases/v000011-1/docs/enterprise/registry/design.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/design.mdx new file mode 100644 index 0000000000..935081361e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/design.mdx @@ -0,0 +1,64 @@ +--- +page_title: Use the configuration designer in Terraform Enterprise +description: >- + Learn how to outline a configuration with private modules and define variables + with the Terraform Enterprise configuration designer. +source: terraform-docs-common +--- + +# Use the configuration designer + +HCP Terraform's private registry includes a configuration designer that can help you spend less time writing boilerplate code in a module-centric Terraform workflow. + +The configuration designer lets you outline a configuration for a new workspace by choosing any number of private modules. It then lists those modules' variables as a fillable HTML form, with a helper interface for finding values that you can interpolate. When you are finished, the designer returns the text of a `main.tf` configuration. This is the same Terraform code you would have written in your text editor. + +## Accessing the Configuration Designer + +Go to your organization's private registry, and then click **<> Design Configuration**. + +The **Select Modules** page appears. + +## Adding Modules + +Filter and search the left side of the **Select Modules** page to find private modules that you can add to your configuration. + +Click **Add Module** for all of the modules you want to use in your configuration. These modules appear in the **Selected Modules** list on the right side of the page. + +### Setting Versions + +Selecting a module adds its most recent version to the configuration. To specify a different version: + +1. Click the module's version number from the **Selected Modules** list on the right. +2. Select an alternate version from the menu. + +## Setting Variables + +When you finish selecting modules, click **Next »** to go to the **Set Variables** page. + +The left side of this page lists your chosen modules, and the right side lists all variables for the currently selected module. Each variable is labeled as required or optional. + +You can switch between modules without losing your work; click a module's **Configure** button to switch to its variable list. + +Once you set a value for all of a module's required variables, its **Configure** button changes to a green **Configured** button. + +### Interpolation Searching + +Variable values can be literal strings, or can interpolate other values. When you start typing an interpolation token (`${`), the designer displays a help message. As you continue typing, it searches the available outputs in your other selected modules, as well as outputs from workspaces where you are authorized to read state outputs. You can select one of these search results, or type a full name if you need to reference a value HCP Terraform does not know about. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Deferring Variables + +Sometimes, configuration users should be able to set certain variables according to their use cases. + +Select the **Deferred** checkbox to delegate a variable to configuration users. This ties the variable's value to a new top-level Terraform variable with no default value. All users that create a workspace from your configuration will have to provide a value for that variable. + +## The Output Configuration + +When all modules are configured, click **Next »**. + +The **Publish** page appears. Use the **Preview configuration** menu to review the generated code. + +The configuration designer does not create any repositories or workspaces. To create workspaces with the configuration, you must download the generated code, save it as the `main.tf` file in a new directory, and commit it to version control. After you download the code, you can make any necessary changes or additions. For example, you may want to add non-module resources. + +When you are sure you have downloaded the results, click **Done** to discard the configuration. HCP Terraform does not save output from previous configuration designer runs. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/registry/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/index.mdx new file mode 100644 index 0000000000..0405c24452 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/index.mdx @@ -0,0 +1,27 @@ +--- +page_title: Terraform Enterprise private registry overview +description: >- + The Terraform Enterprise private registry lets you share private modules and + providers across your organization. +source: terraform-docs-common +--- + +# HCP Terraform private registry overview + +HCP Terraform's private registry works similarly to the [public Terraform Registry](/terraform/registry) and helps you share [Terraform providers](/terraform/language/providers) and [Terraform modules](/terraform/language/modules) across your organization. It includes support for versioning and a searchable list of available providers and modules. + +> **Hands-on:** Try the [Add Public Providers and Modules to your Private Registry](/terraform/tutorials/modules/private-registry-add) tutorial and [Share Modules in the Private Registry](/terraform/tutorials/modules/module-private-registry-share) tutorials. + +## Public Providers and Modules + +[Public modules and providers](/terraform/enterprise/registry/add) are hosted on the public Terraform Registry and HCP Terraform can automatically synchronize them to an organization's private registry. This lets you clearly designate which public providers and modules are recommended for the organization and makes their supporting documentation and examples centrally accessible. + +-> **Note:** Your Terraform Enterprise instance must allow access to `registry.terraform.io` and `https://yy0ffni7mf-dsn.algolia.net/`. + +## Private Providers and Modules + +[Private providers](/terraform/enterprise/registry/publish-providers) and [private modules](/terraform/enterprise/registry/publish-modules) are hosted on an organization's private registry and are only available to members of that organization. In Terraform Enterprise, private providers and modules are also available to other organizations that are [configured to share](/terraform/enterprise/admin/application/registry-sharing) with that organization. + +## Managing Usage + +You can create [Sentinel policies](/terraform/enterprise/policy-enforcement) to manage how members of your organization can use modules from the private registry. For example, you can mandate that all non-root modules in Terraform configurations must be private or public modules from your own private registry. You can also apply a policy that requires all modules to use recent versions. Refer to our [example policy on GitHub](https://github.com/hashicorp/terraform-sentinel-policies/blob/main/cloud-agnostic/http-examples/use-recent-versions-from-pmr.sentinel). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/registry/manage-module-versions.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/manage-module-versions.mdx new file mode 100644 index 0000000000..2c83eeefec --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/manage-module-versions.mdx @@ -0,0 +1,218 @@ +--- +page_title: Manage module versions in Terraform Enterprise +description: >- + Learn how to deprecate and revoke module versions to signal the end of support + for those versions. Deprecating a module version warns users to upgrade soon, + and revoking a module version signals you no longer maintain support for a + module version and blocks new consumers. +source: terraform-docs-common +--- + +# Manage module versions + +<>{/* TODO: remove revoke references here */} + +You can manage the lifecycle of module versions in your organization’s private registry by deprecating or revoking module versions as you stop maintaining and supporting those versions. + + + +@include "tfc-package-callouts/manage-module-versions.mdx" + + + +Deprecating a module version adds warnings to the module's registry page and warnings in the run outputs of any users of that version. + + + +Revoking a module version adds warnings to the module's registry page, warnings in the run outputs of existing users, and prevents new users from consuming that version. + + + +You can also [deprecate or revoke module versions using the HCP Terraform API](/terraform/enterprise/api-docs/private-registry/manage-module-versions). + +<>{/* TODO: remove revoke references here */} + +## Overview + +Deprecating a private module version enables platform teams and module authors to signal to consumers that a version is still maintained and supported but is not recommended. HCP Terraform urges existing and new users of deprecated versions to upgrade that version in their configuration. The private registry also denotes which module versions are deprecated, alerting new consumers to use a non-deprecated version. + +You can revert a module version’s deprecation if you decide to continue supporting that version. Reverting a version’s deprecation removes all warnings from that version in both the module’s registry page and the run outputs of that version’s consumers. + + + +You can revoke a private module to mark that you not longer support it. Revoking a module version adds similar warnings to deprecation in a module's registry page and the run outputs of current consumers. Revoking a module version also blocks the runs of any new users attempting to add that version to their configuration. + +Reverting a module version’s revocation sets it back to a deprecated state, signaling that the version is still maintained and supported but not recommended. + + + +## Requirements + +To deprecate a module version or to revert a version’s deprecation: + +- you must have permission to manage [private registry modules](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) +- the module must be in the [private](/terraform/enterprise/registry/publish-modules) registry + +- you must be a member of an organization on the HCP Terraform **Plus** edition + + + + +To revoke or to revert a module version’s status: + +- you must have permission to manage [private registry modules](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) +- the module must be in an organization's [private registry](/terraform/enterprise/registry/publish-modules) +- you must be a member of an organization on the HCP Terraform **Premium** edition + + +<>{/* TODO: don't forget to exclude PNP above when remove tags */} + +## Deprecate a module version + +To deprecate a module version, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to your organization. +2. Choose **Registry** in the sidebar then find the module you want to deprecate a version of. +3. Open the **Manage module for organization** dropdown. +4. Select a module version for deprecation. +5. You can optionally provide an explanation in the **Reason for module deprecation** field to help users understand why this module version is being deprecated. This custom message is displayed to module users in deprecation warnings. +6. You can optionally enter a URL into the **Link to additional information** field if there is a website where consumers can learn more about that module version’s deprecation. +7. Click **Deprecate**. + +If the module version you are deprecating has the [**No-code ready**](/terraform/enterprise/no-code-provisioning/module-design#updating-a-module-s-version) pin, then HCP Terraform lets you select another version to create no-code modules from. We recommend adding the **No-code ready** pin to another non-deprecated module version so that users provisioning workspaces from your module can use a version that you plan to continue supporting. + +### Deprecation warnings + +After you deprecate a module version, consumers of that version receive warnings in their operation outputs urging them to update that version in both HCP Terraform and the Terraform CLI. + +~> **Note**: Only workspaces in the [remote or agent execution modes](/terraform/enterprise/workspaces/settings#execution-mode) can receive warnings for a module version’s deprecation. + +If you provided a reason for a module version’s deprecation, then deprecation warnings contain that reason: + + + +```shell +Found the following deprecated module versions, consider using an updated version. + +``` + + + +A run’s output mode affects where a version's deprecation warning appears. If a workspace is in the default [**Structured Run Output**](/terraform/enterprise/workspaces/settings#user-interface) mode, then module deprecation warnings show up under a run’s **Diagnostics** dropdown. + +If a run is in the **Console UI** mode, module deprecation warnings appear in the run’s logs: + + + +```shell +Warning: Deprecated modules found, consider installing an updating version. The following are affected: +Version X.X.X of +``` + + + +## Revert the deprecation of a module version + +To revert a module version’s deprecation, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to your organization. +2. Choose **Registry** in the sidebar, then find the module version you want to revert the deprecation of. +3. Open the **Manage module for organization** dropdown. +4. Select **Revert module version deprecation X.X.X**. +5. Click **Revert Deprecation**. + +Reverting the deprecation of a module version removes all warnings from that version in both the module’s registry page and in the run outputs of that module version’s consumers. + +<>{/* TODO: add TFE to bullet points */} + + + +## Revoke a module version + +To revoke a module version, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) and navigate to your organization. +2. Choose **Registry** in the sidebar, then select the module version you want to revoke. +3. If you have not already, [deprecate the module version](#deprecate-a-module-version) you want to revoke. +4. Open the **Manage module for organization** dropdown. +5. Optionally explain why you are deprecating this module version in the **Reason for module revocation** field. This custom message is displayed to users in revocation run warnings and on the registry page. +6. Optionally, enter a URL into the **Link to additional information** field if there is a website where consumers can learn more about that module version’s revocation. +7. Click **Revoke**. + +If the module version you are revoking has the [**No-code ready**](/terraform/enterprise/no-code-provisioning/module-design#updating-a-module-s-version) pin, you must select another version to create no-code modules from. This is to ensure users provisioning workspaces from your module use a version that you are currently supporting. + +### Revocation warnings + +Like deprecation, revoking a module version displays a warning on the private registry and sends current consumers warnings in operation outputs in HCP Terraform and the Terraform CLI. The difference between deprecation and revocation is that Terraform blocks new consumers from using a revoked module version by erroring out in runs. + +~> **Note**: Only workspaces in the [remote or agent execution modes](/terraform/enterprise/workspaces/settings#execution-mode) can receive warnings for a module version’s revocation. + +After you revoke a module version, current consumers of that version receive warnings in their operation outputs in HCP Terraform and the Terraform CLI. If you provided a reason for a module version’s revocation, HCP Terraform displays that reason to users in run outputs: + + + +```shell +This run references revoked module versions, but this will proceed due to referencing a previously used module version. +Module version X.X.X of is revoked. + + +``` + + + +A run’s output mode affects where a version's revocation warnings appear. If a workspace is in the default [**Structured Run Output**](/terraform/enterprise/workspaces/settings#user-interface) mode, then module revocation warnings show up under a run’s **Diagnostics** dropdown. + +If a run is in the **Console UI** mode, module revocation warnings appear in the run’s logs: + + + +```shell +Warning: This run will continue because it references a revoked module version that was previously used in this workspace. Net new workspaces that reference this module version will be blocked from making new runs. +Version X.X.X of + + +``` + + + +If a new user attempts to add a revoked module version to their configuration, their runs fail. If you provided a reason for a module version’s revocation, HCP Terraform displays that reason to users in run outputs: + + + +```shell +This run references revoked module versions, this run will not proceed. +Module version of is revoked. + +``` + + + +A run’s output mode affects where a module revocation’s warning appears. If a run set to the default [**Structured Run Output**](/terraform/enterprise/workspaces/settings#user-interface) mode, then module revocation warnings show up under a run’s **Diagnostics** dropdown. + +If a run is in the **Console UI** mode, module revocation warnings appear in the run’s logs: + + + +```shell +│ Alert: Revoked modules found, this run will not continue. The following modules have been revoked: +│ +│ Version X.X.X of +│ +│ +``` + + + +## Revert the revocation of a module version + +When you revert the revocation of a module version, HCP Terraform sets that version as deprecated, signaling that it is still maintained and supported but not recommended. Deprecated module versions still produce warnings in the registry and run outputs, but new users can still use them. + +To revert a module version’s revocation, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) and navigate to your organization. +2. Choose **Registry** in the sidebar, then find the revoked module version you want to revert. +3. Open the **Manage module for organization** dropdown. +4. Select **Revert module version revocation X.X.X**. +5. Click **Revert**. + + diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-modules.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-modules.mdx new file mode 100644 index 0000000000..657f740572 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-modules.mdx @@ -0,0 +1,165 @@ +--- +page_title: Publish private modules to the Terraform Enterprise private registry +description: >- + Use the Terraform Enterprise private registry to publish and share private + modules across your organization. +source: terraform-docs-common +--- + +[vcs]: /terraform/enterprise/vcs + +# Publish private modules to the HCP Terraform private registry + +> **Hands-on:** Try the [Share Modules in the Private Module Registry](/terraform/tutorials/modules/module-private-registry-share) tutorial. + +In addition to [adding modules from the Terraform Registry](/terraform/enterprise/registry/add), you can publish private modules to an organization's HCP Terraform private registry. The registry handles downloads and controls access with HCP Terraform 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. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## 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 you configure to [share modules](/terraform/enterprise/admin/application/registry-sharing) with that organization. + +Members of the [owners team](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) and teams with [Manage Private Registry permissions](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) can publish and delete modules from the private registry. + +## Preparing a Module Repository + +After you configure at least one [connection to a VCS provider][vcs], you can publish a new module by specifying a properly formatted VCS repository (details below). The registry automatically detects the rest of the information it needs, including the module's name and its available versions. + +A module repository must meet all of the following requirements before you can add it to the registry: + +- **Location and permissions:** The repository must be in one of + your configured [VCS providers][vcs], and HCP Terraform's VCS user account must have admin access to the repository. The registry needs admin access to create the webhooks to import new module versions. GitLab repositories must be in the main organization or group, and not in any subgroups. + +- **Named `terraform--`:** Module repositories must use this + three-part name format, where `` reflects the type of infrastructure + the module manages and `` is the main provider where it creates that + infrastructure. The `` segment must be all lowercase. The `` + segment can contain additional hyphens. Examples: `terraform-google-vault` or + `terraform-aws-ec2-instance`. + +- **Standard module structure:** The module must adhere to the + [standard module structure](/terraform/language/modules/develop/structure). + This allows the registry to inspect your module and generate documentation, + track resource usage, and more. + +## Publishing a New Module + +You can publish modules through the UI as shown below or with the [Registry Modules API](/terraform/enterprise/api-docs/private-registry/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: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to publish a module. + +2. Select **Registry** from the sidebar. + +3. Click **Publish** and select **Module**. + + The **Add Module** page appears with a list of available repositories. + +4. Select the repository containing the module you want to publish. + + 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 Data Center, not Bitbucket Cloud, uses project keys, like `INFRA`. + +5. When prompted, choose either the **Tag** or **Branch** module publishing type. + +6. (Optional) If this module is a [no-code ready module](/terraform/enterprise/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. + +7. Click **Publish module**. + + HCP Terraform 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. + + + +@include 'tfc-package-callouts/nocode.mdx' + + + +### Tag-based publishing considerations + +When using the **Tag** module publishing type, the registry uses `x.y.z` formatted release tags to identify module versions. Your repository must contain at least one release tag for you to publish a module. Release tag names must be a [semantic version](http://semver.org), which you can optionally prefix with a `v`. For example, `v1.0.4` and `0.9.2`. The registry ignores tags that do not match these formats. + + + +### Branch-based publishing considerations + +When using the **Branch** module publishing type, you must provide the name of an existing branch in your VCS repository and give the module a **Module version**. Your VCS repository does not need to contain a matching tag or release. + +You can only enable testing on modules published using branch-based publishing. Refer to the [test-integrated modules](/terraform/enterprise/registry/test) documentation for more information. + + + +## Releasing New Versions of a Module + + + +The process to release a new module version differs between the tag-based and branch-based publishing workflows. + +### Tag-Based Publishing Workflow + + + +To release a new version of a module in the tag-based publishing workflow, 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. + + + +### Branch-Based Publishing Workflow + +To release a new version of a module using the branch-based publishing workflow, navigate to the module overview screen, then click the **Publish New Version** button. Select the commit SHA that the new version will point to, and assign a new module version. You cannot re-use an existing module version. + +## Update Publish Settings + +After publishing your module, you can change between tag-based and branch-based publishing. To update your module's publish settings, navigate to the the module overview page, click the **Manage Module for Organization** dropdown, and then click **Publish Settings**. + +- To change from tag-based to branch-based publishing, you must configure a **Module branch** and [create a new module version](#branch-based-publishing-workflow), as HCP Terraform will not automatically create one. + +- To change from branch-based publishing to tag-based publishing, you must create at least one tag in your VCS repository. + + + +## Deleting Versions and Modules + +-> **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, HCP Terraform removes the entire module. To delete a module or version: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the module's details page. + +2. If you want to delete a single version, use the **Versions** menu to select it. + +3. Click **Delete module**. + +4. 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 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`. + +5. Type the module name and click **Delete**. + +### Restoring a Deleted Module or Version + +Deletion is permanent, but there are ways to restore deleted modules and module versions. + +- To restore a deleted module, re-add it as a new module. +- To restore a deleted version, either delete the corresponding tag from your VCS and push a new tag with the same name, or delete the entire module from the registry and re-add it. + +## Sharing Modules Across Organizations + +HCP Terraform does not typically allow one organization's workspaces to use private modules from a different organization. This restriction is because HCP Terraform 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. + +Terraform Enterprise administrators can configure [module sharing](/terraform/enterprise/admin/application/registry-sharing) to allow organizations to use private modules from other organizations. + +## Generating Module Tests (Beta) + +You can generate and run generated tests for your module with [the `terraform test` command](/terraform/cli/commands/test). + +Before you can generate tests for a module, it must have at least one version published. Tests can only be generated once per module and are intended to be reviewed by the module's authors before being checked into version control and maintained with the rest of the module's content. If the module's configuration files exceed 128KB in total size, HCP Terraform will not be able to generate tests for that module. + +You must have [permission to manage registry modules](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) and [permission to manage module test generation](/terraform/enterprise/users-teams-organizations/permissions#manage-module-test-generation-beta) to generate tests. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-providers.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-providers.mdx new file mode 100644 index 0000000000..a7a1d6f811 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/publish-providers.mdx @@ -0,0 +1,266 @@ +--- +page_title: Publish private providers to the Terraform Enterprise private registry +description: >- + Use the Terraform Enterprise private registry to publish and share private + providers across your organization. +source: terraform-docs-common +--- + +# Publish private providers to the HCP Terraform private registry + +In addition to [curating public providers from the Terraform Registry](/terraform/enterprise/registry/add), you can publish private providers to an organization's HCP Terraform private registry. Once you have published a private provider through the API, members of your organization can search for it in the private registry UI and use it in configurations. + +## Requirements + +Review the following before publishing a new provider or provider version. + +### Permissions + +Users must be members of an organization to access its registry and private providers. In Terraform Enterprise, providers are also available to organizations that you configure to [share registry access](/terraform/enterprise/admin/application/registry-sharing). + +You must be a member of the [owners team](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) or a team with [Manage Private Registry permissions](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) to publish and delete private providers from the private registry. + +### Release files + +You must publish at least one version of your provider that follows [semantic versioning format](http://semver.org). For each version, you must upload the `SHA256SUMS` file, `SHA256SUMS.sig` file, and one or more provider binaries. Using GoReleaser to [create a release on GitHub](/terraform/registry/providers/publishing#creating-a-github-release) or [create a release locally](/terraform/registry/providers/publishing#using-goreleaser-locally) generates these files automatically. The private registry does not have strict naming conventions, but we recommend using GoReleaser file naming schemes for consistency. + +Private providers do not currently support documentation. + +### Signed releases + +GPG signing is required for private providers, and you must upload the public key of the GPG keypair used to sign the release. Refer to [Preparing and Adding a Signing Key](/terraform/registry/providers/publishing#preparing-and-adding-a-signing-key) for more details. Unlike the public Terraform Registry, the private registry does not automatically upload new releases. You must manually add new provider versions and the associated release files. + +-> **Note**: If you are using the [provider API](/terraform/enterprise/api-docs/private-registry/providers) to upload an official HashiCorp public provider into your private registry, use [HashiCorp's public PGP key](https://www.hashicorp.com/.well-known/pgp-key.txt). You do not need to upload this public key, and it is automatically included in Terraform Enterprise version v202309-1 and newer. + +## Publishing a provider + +Before consumers can use a private provider, you must do the following: + +1. [Create the provider](#create-the-provider) +2. [Upload a GPG signing key](#add-your-public-key) +3. [Create at least one version](#create-a-version) +4. [Create at least one platform for that version](#create-a-provider-platform) +5. [Upload release files](#upload-provider-binary) + +### Create the provider + +Create a file named `provider.json` with the following contents. Replace `PROVIDER_NAME` with the name of your provider and replace `ORG_NAME` with the name of your organization. + +```json +{ + "data": { + "type": "registry-providers", + "attributes": { + "name": "PROVIDER_NAME", + "namespace": "ORG_NAME", + "registry-name": "private" + } + } +} +``` + +Use the [Create a Provider endpoint](/terraform/enterprise/api-docs/private-registry/providers#create-a-provider) to create the provider in HCP Terraform. Replace `TOKEN` in the `Authorization` header with your HCP Terraform API token and replace `ORG_NAME` with the name of your organization. + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @provider.json \ + https://app.terraform.io/api/v2/organizations/ORG_NAME/registry-providers +``` + +The provider is now available in your organization’s HCP Terraform private registry, but consumers cannot use it until you add a version and a platform. + +To create a version and a platform, you need the following resources: + +- The Provider binaries +- A public GPG signing key +- A `SHA256SUMS` file +- A `SHA256SUMS.sig` file from at least one release + +### Add your public key + +-> **Note**: If you are uploading an official HashiCorp public provider into your private registry, skip this step and instead use [HashiCorp's public PGP key](https://www.hashicorp.com/.well-known/pgp-key.txt) in the the [create a version](#create-a-version) step. The key ID for HashiCorp's public ID is `34365D9472D7468F`, and you can verify the ID by [importing the public key locally](/terraform/tutorials/cli/verify-archive#download-and-import-hashicorp-s-public-key). + +Create a file named `key.json` with the following contents. Replace `ORG_NAME` with the name of your organization, and input your public key in an RSA or DSA format in the `ascii-armor` field. + +```hcl +{ + "data": { + "type": "gpg-keys", + "attributes": { + "namespace": "ORG_NAME", + "ascii-armor": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINB...=txfz\n-----END PGP PUBLIC KEY BLOCK-----\n" + } } +} +``` + +Use the [Add a GPG key endpoint](/terraform/enterprise/api-docs/private-registry/gpg-keys#add-a-gpg-key) to add the public key that matches the signing key for the release. Replace `TOKEN` in the `Authorization` header with your HCP Terraform API token. + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @key.json \ + https://app.terraform.io/api/registry/private/v2/gpg-keys +``` + +The response contains a `key-id` that you will use to create a provider version. + +```json +"key-id": "34365D9472D7468F" +``` + +### Create a version + +Create a file named `version.json` with the following contents. Replace the value of the `version` field with the version of your provider, and replace the `key-id` field with the id of the GPG key that you created in the [Add your public key](#add-your-public-key) step. If you are uploading an official HashiCorp public provider, use the value `34365D9472D7468F` for your `key-id`. + +```hcl +{ + "data": { + "type": "registry-provider-versions", + "attributes": { + "version": "5.14.0", + "key-id": "34365D9472D7468F", + "protocols": ["5.0"] + } + } +} +``` + +Use the [Create a Provider Version endpoint](/terraform/enterprise/api-docs/private-registry/provider-versions-platforms#create-a-provider-version) to create a version for your provider. Replace `TOKEN` in the `Authorization` header with your HCP Terraform API token, and replace both instances of `ORG_NAME` with the name of your organization. If are not using the `aws` provider, then replace `aws` with your provider's name. + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @version.json \ + https://app.terraform.io/api/v2/organizations/ORG_NAME/registry-providers/private/ORG_NAME/aws/versions +``` + + The response includes URL links that you will use to upload the `SHA256SUMS` and `SHA256.sig` files. + +```json +"links": { + "shasums-upload": "https://archivist.terraform.io/v1/object/dmF1b64hd73ghd63", + "shasums-sig-upload": "https://archivist.terraform.io/v1/object/dmF1b37dj37dh33d" + } +``` + +### Upload signatures + +Upload the `SHA256SUMS` and `SHA256SUMS.sig` files to the URLs [returned in the previous step](#create-a-version). The example command below uploads the files from your local machine. First upload the `SHA256SUMS` file to the URL returned in the `shasums-upload` field. + +```shell-session +$ curl \ + -T terraform-provider-aws_5.14.0_SHA256SUMS \ + https://archivist.terraform.io/v1/object/dmF1b64hd73ghd63... +``` + +Next, upload the `SHA256SUMS.sig` file to the URL returned in the `shasums-sig-upload` field. + +```shell-session +$ curl \ + -T terraform-provider-aws_5.14.0_SHA256SUMS.72D7468F.sig \ + https://archivist.terraform.io/v1/object/dmF1b37dj37dh33d... +``` + +### Create a provider platform + +First, calculate the SHA256 hash of the provider binary that you intend to upload. This should match the SHA256 hash of the file listed in the `SHA256SUMS` file. + +```shell-session +$ shasum -a 256 terraform-provider-aws_5.14.0_linux_amd64.zip +f1d83b3e5a29bae471f9841a4e0153eac5bccedbdece369e2f6186e9044db64e terraform-provider-aws_5.14.0_linux_amd64.zip +``` + +Next, create a file named `platform.json`. Replace the `os`, `arch`, `filename`, and `shasum` fields with the values that match the provider you intend to upload. + +```json +{ + "data": { + "type": "registry-provider-version-platforms", + "attributes": { + "os": "linux", + "arch": "amd64", + "shasum": "f1d83b3e5a29bae471f9841a4e0153eac5bccedbdece369e2f6186e9044db64e", + "filename": "terraform-provider-aws_5.14.0_linux_amd64.zip" + } + } +} +``` + +Use the [Create a Provider Platform endpoint](/terraform/enterprise/api-docs/private-registry/provider-versions-platforms#create-a-provider-platform) to create a platform for the version. Platforms are binaries that allow the provider to run on a particular operating system and architecture combination (e.g., Linux and AMD64). Replace `TOKEN` in the `Authorization` header with your HCP Terraform API token and replace both instances of `ORG_NAME` with the name of your organization. + +```shell-session +$ curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @platform.json \ + https://app.terraform.io/api/v2/organizations/ORG_NAME/registry-providers/private/ORG_NAME/aws/versions/5.14.0/platforms +``` + +The response includes a `provider-binary-upload` URL that you will use to upload the binary file for the platform. + +```json +"links": { + "provider-binary-upload": "https://archivist.terraform.io/v1/object/dmF1b45c367djh45nj78" + } +``` + +### Upload provider binary + +Upload the platform binary file to the `provider-binary-upload` URL returned in the [previous step](#create-a-version). The example command below uploads the binary from your local machine. + +```shell-session +$ curl -T local-example/terraform-provider-random_5.14.0_linux_amd64.zip + https://archivist.terraform.io/v1/object/dmF1b45c367djh45nj78 +``` + +The version is available in the HCP Terraform user interface. Consumers can now begin using this provider version in configurations. You can repeat these steps starting from [Create a provider platform](#create-a-provider-platform) to add additional platform binaries for the release. + +## Checking Release Files + +Consumers cannot use a private provider version until you upload all required [release files](#release-files). To determine whether these files have been uploaded: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to publish a private provider. +2. Click **Registry** and click the private provider to go to its details page. +3. Use the version menu to navigate to the version you want to check. The UI shows a warning banner for versions that do not have all required release files. +4. Open the **Manage Provider** menu and select **Show release files**. The **Release Files** page appears containing lists of uploaded and missing files for the current version. + +## Managing private providers + +Use the HCP Terraform API to create, read, update, and delete the following: + +- [GPG keys](/terraform/enterprise/api-docs/private-registry/gpg-keys) +- [Private providers](/terraform/enterprise/api-docs/private-registry/providers) +- [Provider versions and platforms](/terraform/enterprise/api-docs/private-registry/provider-versions-platforms) + +## Deleting private providers and versions + +In addition to the [Registry Providers API](/terraform/enterprise/api-docs/private-registry/providers#delete-a-provider), you can delete providers and provider versions through the HCP Terraform UI. To delete providers and versions in the UI: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization whose private registry you want to delete a provider or provider version from. + +2. Click **Registry** and click the private provider to go to its details page. + +3. If you want to delete a single version, use the **Versions** menu to select it. + +4. Open the **Manage Provider** menu and select **Delete Provider**. The **Delete Provider from Organization** box appears. + +5. Select an action from the menu: + + - **Delete only this provider version:** Deletes only the version of the provider you are currently viewing. + - **Delete all versions for this provider:** Deletes the entire provider and all associated versions. + +6. Type the provider name into the confirmation box and click **Delete**. + +The provider version or entire provider has been deleted from this organization's private registry and its data has been removed. Consumers will no longer be able to reference it in configurations. + +### Restoring a deleted provider + +Deletion is permanent, but you can restore a deleted private provider by re-adding it to your organization and recreating its versions and platforms. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/registry/test.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/test.mdx new file mode 100644 index 0000000000..377e7f3402 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/test.mdx @@ -0,0 +1,69 @@ +--- +page_title: Test private modules in the Terraform Enterprise private registry +description: Use the Terraform Enterprise private registry to run module tests. +source: terraform-docs-common +--- + +# Test private modules in the HCP Terraform private registry + +You can configure HCP Terraform to automatically run tests for modules in your private registry. When enabled, HCP Terraform will run tests for every commit to the designated branch. This lets you verify that it is safe to publish new module versions. + +## Enable testing + +If your module uses the [branch-based publishing workflow](/terraform/enterprise/registry/publish-modules#branch-based-publishing) and its source code includes [tests](/terraform/language/v1.6.x/tests), you can enable testing at any time. + +To enable testing when you publish your module: + +- Choose the **Branch** module publishing type +- Assign a branch and a module version +- Under testing, click the **Enable testing for module** checkbox +- Click **Publish module** + +To enable testing after you publishing your branch-based module: + +- Navigate to the module overview screen +- Click **Configure Tests** to open the **Tests Settings** screen +- Click **Enable testing for module** + +## Run tests remotely from the CLI + +After publishing and enabling testing for your module, you can use the Terraform CLI locally to trigger remotely-executed tests in HCP Terraform. This lets you test your module changes using the credentials configured in HCP Terraform without committing your changes to version control. + +To run your tests remotely, use the `-cloud-run` flag with the path to your module in your private registry. + +```shell +terraform test -cloud-run=app.terraform.io/:ORG/:MODULE_NAME/:PROVIDER +``` + +## Configure environment variables + +You can define test-specific environment variables that HCP Terraform will use for testing. If your tests provision infrastructure, you must configure provider credentials for the module. + +To add environment variables to your module's tests: + +1. On the module overview screen, click **Configure Tests**. +2. In the **Variables** section on the **Tests Settings** screen, click **+ Add variable**. +3. Provide a **Key** and **Value** for your environment variable, and if you want to protect the variable's value, click the **Sensitive** checkbox. `TF_VAR_x` variables of a string type that are not defined in a config must be wrapped in double-quotes. +4. Click **Add variable** to save it. + + + +## Generated module tests + +@include 'tfc-package-callouts/tests.mdx' + +HCP Terraform can generate [test files](/terraform/language/tests) for any private module in your registry. You can only generate tests one time per module. + +To generate tests for your module: + +1. On the module overview screen, click **Generate tests**. +2. Click **Confirm**. It will take a few minutes to generate your module tests. +3. HCP Terraform displays generated configuration. To download all of the test files, click **Download generated tests**. +4. Create a `tests` directory in your configuration. +5. Unzip the downloaded files into the new `tests` directory. + +Generated test files remain available on the module overview page for later retrieval. Click **View test files** to view and download any previously generated tests. + +Organization owners can control this feature on the organization's [General Settings](/terraform/enterprise/users-teams-organizations/organizations#organization-settings) page. + + diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/registry/using.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/registry/using.mdx new file mode 100644 index 0000000000..98542f2bd7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/registry/using.mdx @@ -0,0 +1,149 @@ +--- +page_title: Use providers and modules from the Terraform Enterprise private registry +description: >- + Learn how to use providers and modules from the Terraform Enterprise private + registry in your Terraform configuration. +source: terraform-docs-common +--- + +# Use providers and modules from the HCP Terraform private registry + +All users in an organization can view the HCP Terraform private registry and use the available providers and modules. A private registry has some key requirements and differences from the [public Terraform Registry](/terraform/registry): + +- **Location:** Search for providers, modules, and usage examples in the HCP Terraform private registry UI. +- **Provider and Module block `source` argument:** Private providers and modules use a [different format](/terraform/enterprise/registry/using#using-private-providers-and-modules-in-configurations). +- **Terraform version:** HCP Terraform 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](/terraform/enterprise/registry/using#authentication) to HCP Terraform or your instance to use providers and modules in your organization’s private registry. + +HCP Terraform supports using modules in written configuration or through the [no-code provisioning workflow](/terraform/enterprise/no-code-provisioning/provisioning). + +## Finding Providers and Modules + +To find available providers and modules, click the **Registry** button. The **Registry** page appears. + +Click **Providers** and **Modules** to toggle back and forth between lists of available providers and modules in the private registry. You can also use the search field to filter for titles that contain a specific keyword. The search does not include READMEs or resource details. + +### Shared Providers and Modules - Terraform Enterprise + +On Terraform Enterprise, your [registry sharing](/terraform/enterprise/admin/application/registry-sharing) configuration may grant you access to another organization's providers and modules. Providers and modules that are shared with your current organization have a **Shared** badge in the private registry (below). Providers and modules in your current organization that are shared with other organizations have a badge that says **Sharing**. + +### Viewing Provider and Module Details and Versions + +Click a provider or module to view its details page. Use the **Versions** menu in the upper right to switch between the available versions, and use the **Readme**, **Inputs**, **Outputs**, **Dependencies**, and **Resources** tabs to view more information about the selected version. + +### Viewing Nested Modules and Examples + +Use the **Submodules** menu to navigate to the detail pages for any nested modules. Use the **Examples** menu to navigate to the detail pages for any available example modules. + +## 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](/terraform/enterprise/no-code-provisioning/provisioning) for details. + +## Using Public Providers and Modules in Configurations + +> **Hands-on:** Try the [Use Modules from the Registry](/terraform/tutorials/modules/module-use) tutorial. + +The syntax for public providers in a private registry is the same as for providers that you use directly from the public Terraform Registry. The syntax for the [provider block](/terraform/language/providers/configuration#provider-configuration-1) `source` argument is `/`. + +```hcl +terraform { + required_providers { + google = { + source = "hashicorp/google" + version = "4.0.0" + } + } +``` + +The syntax for referencing public modules in the [module block](/terraform/language/modules/syntax) `source` argument is `//`. + +```hcl +module "subnets" { + source = "hashicorp/subnets/cidr" + version = "1.0.0" +} +``` + +## Using Private Providers and Modules in Configurations + +The syntax for referencing private providers in the [provider block](/terraform/language/providers/configuration#provider-configuration-1) `source` argument is `//`. For the SaaS version of HCP Terraform, the hostname is `app.terraform.io`. + +```hcl +terraform { + required_providers { + random = { + source = "app.terraform.io/demo-custom-provider/random" + version = "1.1.0" + } + } +``` + +The syntax for referencing private modules in the [module block](/terraform/language/modules/syntax) `source` argument is `///`. + +- **Hostname:** For the SaaS version of HCP Terraform, use `app.terraform.io`. In Terraform Enterprise, use the hostname for your instance or the [generic hostname](/terraform/enterprise/registry/using#generic-hostname-terraform-enterprise). +- **Organization:** If you are using a shared module with Terraform Enterprise, the module's organization name may be different from your organization's name. Check the source string at the top of the module's registry page to find the proper organization name. + +```hcl +module "vpc" { + source = "app.terraform.io/example_corp/vpc/aws" + version = "1.0.4" +} +``` + +### Generic Hostname - HCP Terraform and Terraform Enterprise + +You can use the generic hostname `localterraform.com` in module sources to reference modules without modifying the HCP Terraform or Terraform Enterprise instance. When you run Terraform, it automatically requests any `localterraform.com` modules from the instance it runs on. + +```hcl +module "vpc" { + source = "localterraform.com/example_corp/vpc/aws" + version = "1.0.4" +} +``` + +~> **Important**: CLI-driven workflows require Terraform CLI v1.4.0 or above. + +To test configurations on a developer workstation without the remote backend configured, you must replace the generic hostname with a literal hostname in all module sources and then change them back before committing to VCS. We are working on making this workflow smoother, but we only recommend `localterraform.com` for large organizations that use multiple Terraform Enterprise instances. + +### Provider and Module Availability + +A workspace can only use private providers and modules from its own organization's registry. When using providers or modules from multiple organizations in the same configuration, we recommend: + +- **HCP Terraform:** [Add providers and modules to the registry](/terraform/enterprise/registry/publish-modules#sharing-modules-across-organizations) for each organization that requires access. + +- **Terraform Enterprise:** Check your site's [registry sharing](/terraform/enterprise/admin/application/registry-sharing) configuration. Workspaces can also use private providers and modules from organizations that are sharing with the workspace's organization. + +## Running Configurations with Private Providers and Modules + +### Version Requirements + +Terraform version 0.11 or later is required to use private modules in HCP Terraform workspaces and to use the CLI to apply configurations with private modules. Terraform version 0.13 and later is required to use private providers in HCP Terraform workspaces and apply configurations with private providers. + +### Authentication + +To authenticate with HCP Terraform, you can use either a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or a [team token](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens). The type of token you choose may grant different permissions. + +- **User Token**: Allows you to access providers and modules from any organization in which you are a member. You are a member of an organization if you belong to any team in that organization. You can also access modules from any organization that is sharing modules with any of your organizations. + + -> **Note:** When SAML SSO is enabled, there is a [session timeout for user API tokens](/terraform/enterprise/saml/login#api-token-expiration), requiring you to periodically re-authenticate through the web UI. Expired tokens produce a _401 Unauthorized_ error. A SAML SSO account with [IsServiceAccount](/terraform/enterprise/saml/attributes#isserviceaccount) is treated as a service account and will not have the session timeout. + +- **Team Token**: Allows you to access the private registry of that team's organization and the registries from any other organizations that have configured sharing. + +_Permissions Example_ + +A user belongs to three organizations (1, 2, and 3), and organizations 1 and 2 share access with each other. In this case, the user's token gives them access to the private registries for all of the organizations they belong to: 1, 2, and 3. However, a team token from a team in organization 1 only gives the user access to the private registry in organizations 1 and 2. + +#### Configure Authentication + +To configure authentication to HCP Terraform or your Terraform Enterprise instance, you can: + +- (Terraform 0.12.21 or later) Use the [`terraform login`](/terraform/cli/commands/login) command to obtain and save a user API token. +- Create a token and [manually configure credentials in the CLI config file][cli-credentials]. + +Make sure the hostname matches the hostname you use in provider and module sources because if the same HCP Terraform server is available at two hostnames, Terraform will not know that they reference the same server. To support multiple hostnames for provider and module sources, use the `terraform login` command multiple times and specify a different hostname each time. + +[user-token]: /terraform/enterprise/users-teams-organizations/users#api-tokens + +[cli-credentials]: /terraform/cli/config/config-file#credentials + +[permissions-citation]: #intentionally-unused---keep-for-maintainers diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/api.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/api.mdx new file mode 100644 index 0000000000..eaf923fce2 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/api.mdx @@ -0,0 +1,197 @@ +--- +page_title: The API-driven run workflow in Terraform Enterprise +description: >- + Use Terraform Enterprise's API-driven run workflow to enable external tools to + upload Terraform configurations and trigger new runs. +source: terraform-docs-common +--- + +# The API-driven run workflow + +HCP Terraform has three workflows for managing Terraform runs. + +- The [UI/VCS-driven run workflow](/terraform/enterprise/run/ui), which is the primary mode of operation. +- The API-driven run workflow described below, which is more flexible but requires you to create some tooling. +- The [CLI-driven run workflow](/terraform/enterprise/run/cli), which uses Terraform's standard CLI tools to execute runs in HCP Terraform. + +## Summary + +In the API-driven workflow, workspaces are not directly associated with a VCS repo, and runs are not driven by webhooks on your VCS provider. + +Instead, one of your organization's other tools is in charge of deciding when configuration has changed and a run should occur. Usually this is something like a CI system, or something else capable of monitoring changes to your Terraform code and performing actions in response. + +Once your other tooling has decided a run should occur, it must make a series of calls to HCP Terraform's `runs` and `configuration-versions` APIs to upload configuration files and perform a run with them. For the exact series of API calls, see the [pushing a new configuration version](#pushing-a-new-configuration-version) section. + +The most significant difference in this workflow is that HCP Terraform _does not_ fetch configuration files from version control. Instead, your own tooling must upload the configurations as a `.tar.gz` file. This allows you to work with configurations from unsupported version control systems, automatically generate Terraform configurations from some other source of data, or build a variety of other integrations. + +~> **Important:** The script below is provided to illustrate the run process, and is not intended for production use. If you want to drive HCP Terraform runs from the command line, please see the [CLI-driven run workflow](/terraform/enterprise/run/cli). + +## Pushing a New Configuration Version + +Pushing a new configuration to an existing workspace is a multi-step process. This section walks through each step in detail, using an example bash script to illustrate. + +You need queue plans permission to create new configuration versions for the workspace. Refer to the [permissions](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) documentation for more details. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### 1. Define Variables + +To perform an upload, a few user parameters must be set: + +- **path_to_content_directory** is the folder with the terraform configuration. There must be at least one `.tf` file in the root of this path. +- **organization** is the organization name (not ID) for your HCP Terraform organization. +- **workspace** is the workspace name (not ID) in the HCP Terraform organization. +- **$TOKEN** is the API Token used for [authenticating with the HCP Terraform API](/terraform/enterprise/api-docs#authentication). + +This script extracts the `path_to_content_directory`, `organization`, and `workspace` from command line arguments, and expects the `$TOKEN` as an environment variable. + +```bash +#!/bin/bash + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: $0 /" + exit 0 +fi + +CONTENT_DIRECTORY="$1" +ORG_NAME="$(cut -d'/' -f1 <<<"$2")" +WORKSPACE_NAME="$(cut -d'/' -f2 <<<"$2")" +``` + +### 2. Create the File for Upload + +The [configuration version API](/terraform/enterprise/api-docs/configuration-versions) requires a `tar.gz` file to use the configuration version for a run, so you must package the directory containing the Terraform configuration into a `tar.gz` file. + +~> **Important:** The configuration directory must be the root of the tar file, with no intermediate directories. In other words, when the tar file is extracted the result must be paths like `./main.tf` rather than `./terraform-appserver/main.tf`. + +```bash +UPLOAD_FILE_NAME="./content-$(date +%s).tar.gz" +tar -zcvf "$UPLOAD_FILE_NAME" -C "$CONTENT_DIRECTORY" . +``` + +### 3. Look Up the Workspace ID + +The first step identified the organization name and the workspace name; however, the [configuration version API](/terraform/enterprise/api-docs/configuration-versions) expects the workspace ID. As such, the ID has to be looked up. If the workspace ID is already known, this step can be skipped. This step uses the [`jq` tool](https://stedolan.github.io/jq/) to parse the JSON output and extract the ID value into the `WORKSPACE_ID` variable. + +```bash +WORKSPACE_ID=($(curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/$ORG_NAME/workspaces/$WORKSPACE_NAME \ + | jq -r '.data.id')) +``` + +### 4. Create a New Configuration Version + +Before uploading the configuration files, you must create a `configuration-version` to associate uploaded content with the workspace. This API call performs two tasks: it creates the new configuration version and it extracts the upload URL to be used in the next step. + +```bash +echo '{"data":{"type":"configuration-versions"}}' > ./create_config_version.json + +UPLOAD_URL=($(curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @create_config_version.json \ + https://app.terraform.io/api/v2/workspaces/$WORKSPACE_ID/configuration-versions \ + | jq -r '.data.attributes."upload-url"')) +``` + +### 5. Upload the Configuration Content File + +Next, upload the configuration version `tar.gz` file to the upload URL extracted from the previous step. If a file is not uploaded, the configuration version will not be usable, since it will have no Terraform configuration files. + +HCP Terraform automatically creates a new run with a plan once the new file is uploaded. If the workspace is configured to auto-apply, it will also apply if the plan succeeds; otherwise, an apply can be triggered via the [Run Apply API](/terraform/enterprise/api-docs/run#apply). If the API token used for the upload lacks permission to apply runs for the workspace, the run can't be auto-applied. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +```bash +curl \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @"$UPLOAD_FILE_NAME" \ + $UPLOAD_URL +``` + +### 6. Delete Temporary Files + +In the previous steps a few files were created; they are no longer needed, so they should be deleted. + +```bash +rm "$UPLOAD_FILE_NAME" +rm ./create_config_version.json +``` + +### Complete Script + +Combine all of the code blocks into a single file, `./terraform-enterprise-push.sh` and give execution permission to create a combined bash script to perform all of the operations. + +```shell +chmod +x ./terraform-enterprise-push.sh +./terraform-enterprise-push.sh ./content my-organization/my-workspace +``` + +**Note**: This script does not have error handling, so for a more robust script consider adding error checking. + +**`./terraform-enterprise-push.sh`:** + +```bash +#!/bin/bash + +# Complete script for API-driven runs. + +# 1. Define Variables + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: $0 /" + exit 0 +fi + +CONTENT_DIRECTORY="$1" +ORG_NAME="$(cut -d'/' -f1 <<<"$2")" +WORKSPACE_NAME="$(cut -d'/' -f2 <<<"$2")" + +# 2. Create the File for Upload + +UPLOAD_FILE_NAME="./content-$(date +%s).tar.gz" +tar -zcvf "$UPLOAD_FILE_NAME" -C "$CONTENT_DIRECTORY" . + +# 3. Look Up the Workspace ID + +WORKSPACE_ID=($(curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + https://app.terraform.io/api/v2/organizations/$ORG_NAME/workspaces/$WORKSPACE_NAME \ + | jq -r '.data.id')) + +# 4. Create a New Configuration Version + +echo '{"data":{"type":"configuration-versions"}}' > ./create_config_version.json + +UPLOAD_URL=($(curl \ + --header "Authorization: Bearer $TOKEN" \ + --header "Content-Type: application/vnd.api+json" \ + --request POST \ + --data @create_config_version.json \ + https://app.terraform.io/api/v2/workspaces/$WORKSPACE_ID/configuration-versions \ + | jq -r '.data.attributes."upload-url"')) + +# 5. Upload the Configuration Content File + +curl \ + --header "Content-Type: application/octet-stream" \ + --request PUT \ + --data-binary @"$UPLOAD_FILE_NAME" \ + $UPLOAD_URL + +# 6. Delete Temporary Files + +rm "$UPLOAD_FILE_NAME" +rm ./create_config_version.json +``` + +## Advanced Use Cases + +For advanced use cases refer to the [Terraform Enterprise Automation Script](https://github.com/hashicorp/terraform-guides/tree/master/operations/automation-script) repository for automating interactions with HCP Terraform, including the creation of a workspace, uploading code, setting variables, and triggering the `plan` and `apply` operations. + +In addition to uploading configurations and starting runs, you can use HCP Terraform's APIs to create and modify workspaces, edit variable values, and more. See the [API documentation](/terraform/enterprise/api-docs) for more details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/cli.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/cli.mdx new file mode 100644 index 0000000000..87c74d475f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/cli.mdx @@ -0,0 +1,299 @@ +--- +page_title: The CLI-driven remote run workflow for Terraform Enterprise +description: >- + Configure the Terraform CLI to trigger remote runs in Terraform Enterprise + from your terminal. +source: terraform-docs-common +--- + +[private]: /terraform/enterprise/registry + +[speculative plan]: /terraform/enterprise/run/remote-operations#speculative-plans + +[tfe-provider]: https://registry.terraform.io/providers/hashicorp/tfe/latest/docs + +# The CLI-driven remote run workflow + +> **Hands-on:** Try the [Log in to HCP Terraform from the CLI](/terraform/tutorials/0-13/cloud-login) tutorial. + +HCP Terraform has three workflows for managing Terraform runs. + +- The [UI/VCS-driven run workflow](/terraform/enterprise/run/ui), which is the primary mode of operation. +- The [API-driven run workflow](/terraform/enterprise/run/api), which is more flexible but requires you to create some tooling. +- The CLI-driven run workflow described below, which uses Terraform's standard CLI tools to execute runs in HCP Terraform. + +## Summary + +The [CLI integration](/terraform/cli/cloud) brings HCP Terraform's collaboration features into the familiar Terraform CLI workflow. It offers the best of both worlds to developers who are already comfortable with using the Terraform CLI, and it can work with existing CI/CD pipelines. + +You can start runs with the standard `terraform plan` and `terraform apply` commands and then watch the progress of the run from your terminal. These runs execute remotely in HCP Terraform, use variables from the appropriate workspace, enforce any applicable [Sentinel or OPA policies](/terraform/enterprise/policy-enforcement), and can access HCP Terraform's [private registry][private] and remote state inputs. + +HCP Terraform offers a few types of CLI-driven runs, to support different stages of your workflow: + +- `terraform plan` starts a [speculative plan][] in an HCP Terraform workspace, using configuration files from a local directory. You can quickly check the results of edits (including compliance with Sentinel policies) without needing to copy sensitive variables to your local machine. + + Speculative plans work with all workspaces, and can co-exist with the [VCS-driven workflow](/terraform/enterprise/run/ui). + +- `terraform apply` starts a standard plan and apply in an HCP Terraform workspace, using configuration files from a local directory. + + Remote `terraform apply` is for workspaces without a linked VCS repository. It replaces the VCS-driven workflow with a more traditional CLI workflow. + +- `terraform plan -out ` and `terraform apply ` perform a two-part [saved plan run](/terraform/enterprise/run/modes-and-options/#saved-plans) in an HCP Terraform workspace, using configuration files from a local directory. The first command performs and saves the plan, and the second command applies it. You can use `terraform show ` to inspect a saved plan. + + Like remote `terraform apply`, remote saved plans are for workspaces without a linked VCS repository. + + Saved plans require at least Terraform CLI v1.6.0. + +To supplement these remote operations, you can also use the optional [Terraform Enterprise Provider][tfe-provider], which interacts with the HCP Terraform-supported resources. This provider is useful for editing variables and workspace settings through the Terraform CLI. + +## Configuration + +To enable the CLI-driven workflow, you must: + +1. Create an account or sign in to [HCP Terraform](https://app.terraform.io/). + +2. Run `terraform login` to authenticate with HCP Terraform. Alternatively, you can manually configure credentials in the CLI config file or through environment variables. Refer to [CLI Configuration](/terraform/cli/config/config-file#environment-variable-credentials) for details. + +3. Add the `cloud` block to your Terraform configuration. You can define its arguments directly in your configuration file or supply them through environment variables, which can be useful for [non-interactive workflows](#non-interactive-workflows). Refer to [Using HCP Terraform](/terraform/cli/cloud) for configuration details. + + The following example shows how to map CLI workspaces to HCP Terraform workspaces with a specific tag. + + terraform { + cloud { + organization = "my-org" + workspaces { + tags = ["networking"] + } + } + } + + -> **Note:** The `cloud` block is available in Terraform v1.1 and later. Previous versions can use the [`remote` backend](/terraform/language/settings/backends/remote) to configure the CLI workflow and migrate state. + +4. Run `terraform init`. + + $ terraform init + + Initializing HCP Terraform... + + Initializing provider plugins... + - Reusing previous version of hashicorp/random from the dependency lock file + - Using previously-installed hashicorp/random v3.0.1 + + HCP Terraform has been successfully initialized! + + You may now begin working with HCP Terraform. Try running "terraform plan" + to see any changes that are required for your infrastructure. + + If you ever set or change modules or Terraform Settings, + run "terraform init" again to reinitialize your working directory. + +### Implicit Workspace Creation + +If you configure the `cloud` block to use a workspace that doesn't yet exist in your organization, HCP Terraform will create a new workspace with that name when you run `terraform init`. The output of `terraform init` will inform you when this happens. + +Automatically created workspaces might not be immediately ready to use, so use HCP Terraform's UI to check a workspace's settings and data before performing any runs. In particular, note that: + +- No Terraform variables or environment variables are created by default, unless your organization has configured one or more [global variable sets](/terraform/enterprise/workspaces/variables#scope). HCP Terraform will use `*.auto.tfvars` files if they are present, but you will usually still need to set some workspace-specific variables. +- The execution mode defaults to "Remote," so that runs occur within HCP Terraform's infrastructure instead of on your workstation. +- New workspaces are not automatically connected to a VCS repository and do not have a working directory specified. +- A new workspace's Terraform version defaults to the most recent release of Terraform at the time the workspace was created. + +### Implicit Project Creation + +If you configure the [`workspaces` block](/terraform/cli/cloud/settings#workspaces) to use a [project](/terraform/cli/cloud/settings#project) that does not yet exist in your organization, HCP Terraform will attempt to create a new project with that name when you run `terraform init` and notify you in the command output. + +If you specify both the `project` argument and [`TF_CLOUD_PROJECT`](/terraform/cli/cloud/settings#tf_cloud_project) environment variable, the `project` argument takes precedence. + +## Variables in CLI-Driven Runs + +Remote runs in HCP Terraform use: + +- Run-specific variables set through the command line or in your local environment. Terraform can use shell environment variables prefixed with `TF_VAR_` as input variables for the run, but you must still set all required environment variables, like provider credentials, inside the workspace. +- Workspace-specific Terraform and environment variables set in the workspace. +- Any variable sets applied globally, on the project containing the workspace, or on the workspace itself. +- Terraform variables from any `*.auto.tfvars` files included in the configuration. + +Refer to [Variables](/terraform/enterprise/workspaces/variables) for more details about variable types, variable scopes, variable precedence, and how to set run-specific variables through the command line. + +## Remote Working Directories + +If you manage your Terraform configurations in self-contained repositories, the remote working directory always has the same content as the local working directory. + +If you use a combined repository and [specify a working directory on workspaces](/terraform/enterprise/workspaces/settings#terraform-working-directory), you can run Terraform from either the real working directory or from the root of the combined configuration directory. In both cases, Terraform will upload the entire combined configuration directory. + +## Excluding Files from Upload + +-> **Version note:** `.terraformignore` support was added in Terraform 0.12.11. + +CLI-driven runs upload an archive of your configuration directory +to HCP Terraform. If the directory contains files you want to exclude from upload, +you can do so by defining a [`.terraformignore` file in your configuration directory](/terraform/cli/cloud/settings). + +## Remote Speculative Plans + +You can run speculative plans in any workspace where you have [permission to queue plans](/terraform/enterprise/users-teams-organizations/permissions). Speculative plans use the configuration code from the local working directory, but will use variable values from the specified workspace. + +To run a [speculative plan][] on your configuration, use the `terraform plan` command. The plan will run in HCP Terraform, and the logs will stream back to the command line along with a URL to view the plan in the HCP Terraform UI. + + $ terraform plan + + Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C + will stop streaming the logs, but will not stop the plan running remotely. + + Preparing the remote plan... + + To view this run in a browser, visit: + https://app.terraform.io/app/hashicorp-learn/docs-workspace/runs/run-cfh2trDbvMU2Rkf1 + + Waiting for the plan to start... + + [...] + + Plan: 1 to add, 0 to change, 0 to destroy. + + Changes to Outputs: + + pet_name = (known after apply) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Remote Applies + +In workspaces that are not connected to a VCS repository, users with [permission to apply runs](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) can use the CLI to trigger remote applies. Remote applies use the configuration code from the local working directory, but use the variable values from the specified workspace. + +~> **Note:** You cannot run remote applies in workspaces that are linked to a VCS repository, since the repository serves as the workspace’s source of truth. To apply changes in a VCS-linked workspace, merge your changes to the designated branch. + +When you are ready to apply configuration changes, use the `terraform apply` command. HCP Terraform will plan your changes, and the command line will prompt you for approval before applying them. + + $ terraform apply + + Running apply in HCP Terraform. Output will stream here. Pressing Ctrl-C + will cancel the remote apply if it's still pending. If the apply started it + will stop streaming the logs, but will not stop the apply running remotely. + + Preparing the remote apply... + + To view this run in a browser, visit: + https://app.terraform.io/app/hashicorp-learn/docs-workspace/runs/run-Rcc12TkNW1PDa7GH + + Waiting for the plan to start... + + [...] + + Plan: 1 to add, 0 to change, 0 to destroy. + + Changes to Outputs: + + pet_name = (known after apply) + + Do you want to perform these actions in workspace "docs-workspace"? + Terraform will perform the actions described above. + Only 'yes' will be accepted to approve. + + Enter a value: yes + + [...] + + Apply complete! Resources: 1 added, 0 changed, 0 destroyed. + +### Non-Interactive Workflows + +> **Hands On:** Try the [Deploy Infrastructure with HCP Terraform and CircleCI](/terraform/tutorials/automation/circle-ci) tutorial. + +External systems cannot run the traditional apply workflow because Terraform requires console input from the user to approve plans. We recommend using the [API-driven Run Workflow](/terraform/enterprise/run/api) for non-interactive workflows when possible. + +If you prefer to use the CLI in a non-interactive environment, we recommend first running a [speculative plan](/terraform/enterprise/run/remote-operations#speculative-plans) to preview the changes Terraform will make to your infrastructure. Then, use one of the following approaches with the `-auto-approve` flag based on the [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) of your workspace. The [`-auto-approve`](/terraform/cli/commands/apply#auto-approve) flag skips prompting you to approve the plan. + +- **Local Execution:** Save the approved speculative plan and then run `terraform apply -auto-approve` with the saved plan. +- **Remote Execution:** HCP Terraform does not support uploading saved plans for remote execution, so we recommend running `terraform apply -auto-approve` immediately after approving the speculative plan to prevent the plan from becoming stale. + + !> **Warning:** Remote execution with non-interactive workflows requires auto-approved deployments. Minimize the risk of unpredictable infrastructure changes and configuration drift by making sure that no one can change your infrastructure outside of your automated build pipeline. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Remote Saved Plans + +-> **Version note:** Saved plans require at least Terraform CLI v1.6.0. + +In workspaces that support `terraform apply`, you also have the option of performing the plan and apply as separate steps, using the standard variations of the relevant Terraform commands: + +- `terraform plan -out ` performs and saves a plan. +- `terraform apply ` applies a previously saved plan. +- `terraform show ` (and `terraform show -json `) inspect a plan you previously saved. + +Saved plan runs are halfway between [speculative plans](#remote-speculative-plans) and standard [plan and apply runs](#remote-applies). They allow you to: + +- Perform cheap exploratory plans while retaining the option of applying a specific plan you are satisfied with. +- Perform other tasks in your terminal between the plan and apply stages. +- Perform the plan and apply operations on separate machines (as is common in continuous integration workflows). + +Saved plans become _stale_ once the state Terraform planned them against is no longer valid (usually due to someone applying a different run). In HCP Terraform, stale saved plan runs are automatically detected and discarded. When examining a remote saved plan, the `terraform show` command (without the `-json` option) informs you if a plan has been discarded or is otherwise unable to be applied. + +### File Contents and Permissions + +You can only apply remote saved plans in the same remote HCP Terraform workspace that performed the plan. Additionally, you can not apply locally executed saved plans in a remote workspace. + +In order to abide by HCP Terraform's permissions model, remote saved plans do not use the same local file format as locally executed saved plans. Instead, remote saved plans are a thin reference to a remote run, and the Terraform CLI relies on authenticated network requests to inspect and apply remote plans. This helps avoid the accidental exposure of credentials or other sensitive information. + +The `terraform show -json` command requires [workspace admin permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-admins) to inspect a remote saved plan; this is because the [machine-readable JSON plan format](/terraform/internals/json-format) contains unredacted sensitive information (alongside redaction hints for use by systems that consume the format). The human-readable version of `terraform show` only requires the read runs permission, because it uses pre-redacted information. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Policy Enforcement + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Policies are rules that HCP Terraform enforces on Terraform runs. You can use two policy-as-code frameworks to define fine-grained, logic-based policies: Sentinel and Open Policy Agent (OPA). + +If the specified workspace uses policies, HCP Terraform runs those policies against all speculative plans and remote applies in that workspace. Failed policies can pause or prevent an apply, depending on the enforcement level. Refer to [Policy Enforcement](/terraform/enterprise/policy-enforcement) for details. + +For Sentinel, the Terraform CLI prints policy results for CLI-driven runs. CLI support for policy results is not available for OPA. + +The following example shows Sentinel policy output in the terminal. + + $ terraform apply + + [...] + + Plan: 1 to add, 0 to change, 1 to destroy. + + ------------------------------------------------------------------------ + + Organization policy check: + + Sentinel Result: false + + Sentinel evaluated to false because one or more Sentinel policies evaluated + to false. This false was not due to an undefined value or runtime error. + + 1 policies evaluated. + ## Policy 1: my-policy.sentinel (soft-mandatory) + + Result: false + + FALSE - my-policy.sentinel:1:1 - Rule "main" + + Do you want to override the soft failed policy check? + Only 'override' will be accepted to override. + + Enter a value: override + +## Options for Plans and Applies + +[Run Modes and Options](/terraform/enterprise/run/modes-and-options) contains more details about the various options available for plans and applies when you use the CLI-driven workflow. + +## Networking/Connection Issues + +Sometimes during a CLI-driven run, errors relating to network connectivity issues arise. Examples of these kinds of errors include: + +- `Client.Timeout exceeded while awaiting headers` +- `context deadline exceeded` +- `TLS handshake timeout` + +Sometimes there are network problems beyond our control. If you have network errors, verify your network connection is operational. Then, check the following common configuration settings: + +- Determine if any firewall software on your system blocks the `terraform` command and explicitly approve it. +- Verify that you have a valid DNS server IP address. +- Remove any expired TLS certificates for your system. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/install-software.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/install-software.mdx new file mode 100644 index 0000000000..31ff8d5b1c --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/install-software.mdx @@ -0,0 +1,111 @@ +--- +page_title: Install software in the HCP Terrafrom run environment +description: >- + Learn how to install Terraform providers, cloud CLIs, or configuration + management tools and software on Terraform Enterprise workers. +source: terraform-docs-common +--- + +# Install software in the run environment + +Terraform relies on provider plugins to manage resources. In most cases, Terraform can automatically download the required plugins, but there are cases where plugins must be managed explicitly. + +In rare cases, it might also be necessary to install extra software on the Terraform worker, such as a configuration management tool or cloud CLI. + +## Installing Terraform Providers + +The mechanics of provider installation changed in Terraform 0.13, thanks to the introduction of the [Terraform Registry][registry] for providers which allows custom and community providers to be installed via `terraform init`. Prior to Terraform 0.13, Terraform could only automatically install providers distributed by HashiCorp. + +### Terraform 0.13 and later + +#### Providers From the Terraform Registry + +The [Terraform Registry][registry] allows anyone to publish and distribute providers which can be automatically downloaded and installed via `terraform init`. + +Terraform Enterprise instances must be able to access `registry.terraform.io` to use providers from the public registry; otherwise, you can install providers using [the `terraform-bundle` tool][bundle]. + +[registry]: https://registry.terraform.io/browse/providers + +#### In-House Providers + +If you have a custom provider that you'd rather not publish in the public Terraform Registry, you have a few options: + +- Add the provider binary to the VCS repo (or manually-uploaded configuration version). Place the compiled `linux_amd64` version of the plugin at `terraform.d/plugins/////linux_amd64`, relative to the root of the directory. + + The source host and namespace will need to match the source given in the `required_providers` block within the configuration, but can otherwise be arbitrary identifiers. For instance, if your `required_providers` block looks like this: + + terraform { + required_providers { + custom = { + source = "my-host/my-namespace/custom" + version = "1.0.0" + } + } + } + + HCP Terraform will be able to use your compiled provider if you place it at `terraform.d/plugins/my-host/my-namespace/custom/1.0.0/linux_amd64/terraform-provider-custom`. + +- Use a privately-owned provider registry service which implements the [provider registry protocol](/terraform/internals/provider-registry-protocol) to distribute custom providers. Be sure to include the full [source address](/terraform/language/providers/requirements#source-addresses), including the hostname, when referencing providers. + +- **Terraform Enterprise only:** Use [the `terraform-bundle` tool][bundle] to add custom providers. + +-> **Note:** Using a [network mirror](/terraform/internals/provider-network-mirror-protocol) to host custom providers for installation is not currently supported in HCP Terraform, since the network mirror cannot be activated without a [`provider_installation`](/terraform/cli/config/config-file#explicit-installation-method-configuration) block in the CLI configuration file. + +### Terraform 0.12 and earlier + +#### Providers Distributed by HashiCorp + +HCP Terraform can automatically install providers distributed by HashiCorp. Terraform Enterprise instances can do this as well as long as they can access `releases.hashicorp.com`. + +If that isn't feasible due to security requirements, you can manually install providers. Use [the `terraform-bundle` tool][bundle] to build a custom version of Terraform that includes the necessary providers, and configure your workspaces to use that bundled version. + +[bundle]: https://github.com/hashicorp/terraform/tree/master/tools/terraform-bundle#installing-a-bundle-in-on-premises-terraform-enterprise + +#### Custom and Community Providers + +To use community providers or your own custom providers with Terraform versions prior to 0.13, you must install them yourself. + +There are two ways to accomplish this: + +- Add the provider binary to the VCS repo (or manually-uploaded configuration version) for any workspace that uses it. Place the compiled `linux_amd64` version of the plugin at `terraform.d/plugins/linux_amd64/` (as a relative path from the root of the working directory). The plugin name should follow the [naming scheme](/terraform/language/v1.1.x/configuration-0-11/providers#plugin-names-and-versions) and the plugin file must have read and execute permissions. (Third-party plugins are often distributed with an appropriate filename already set in the distribution archive.) + + You can add plugins directly to a configuration repo, or you can add them as Git submodules and symlink the executable files into `terraform.d/plugins/`. Submodules are a good choice when many workspaces use the same custom provider, since they keep your repos smaller. If using submodules, enable the ["Include submodules on clone" setting](/terraform/enterprise/workspaces/settings/vcs#include-submodules-on-clone) on any affected workspace. + +- **Terraform Enterprise only:** Use [the `terraform-bundle` tool][bundle] to add custom providers to a custom Terraform version. This keeps custom providers out of your configuration repos entirely, and is easier to update when many workspaces use the same provider. + +## Installing Additional Tools + +### Avoid Installing Extra Software + +Whenever possible, don't install software on the worker. There are a number of reasons for this: + +- Provisioners are a last resort in Terraform; they greatly increase the risk of creating unknown states with unmanaged and partially-managed infrastructure, and the `local-exec` provisioner is especially hazardous. [The Terraform CLI docs on provisioners](/terraform/language/resources/provisioners/syntax#provisioners-are-a-last-resort) explain the hazards in more detail, with more information about the preferred alternatives. (In summary: use Packer, use cloud-init, try to make your infrastructure more immutable, and always prefer real provider features.) +- We don't guarantee the stability of the operating system on the Terraform build workers. It's currently the latest version of Ubuntu LTS, but we reserve the right to change that at any time. +- The build workers are disposable and are destroyed after each use, which makes managing extra software even more complex than when running Terraform CLI in a persistent environment. Custom software must be installed on every run, which also increases run times. + +### Only Install Standalone Binaries + +HCP Terraform does not allow you to elevate a command's permissions with `sudo` during Terraform runs. This means you cannot install packages using the worker OS's normal package management tools. However, you can install and execute standalone binaries in Terraform's working directory. + +You have two options for getting extra software into the configuration directory: + +- Include it in the configuration repository as a submodule. (Make sure the workspace is configured to clone submodules.) +- Use `local-exec` to download it with `curl`. For example: + + ```hcl + resource "aws_instance" "example" { + ami = "${var.ami}" + instance_type = "t2.micro" + provisioner "local-exec" { + command = < **Note:** Terraform Enterprise instances can be configured to allow `sudo` commands during Terraform runs. However, even when `sudo` is allowed, using the worker OS's package tools during runs is still usually a bad idea. You will have a much better experience if you can move your provisioner actions into a custom provider or an immutable machine image. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/manage.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/manage.mdx new file mode 100644 index 0000000000..2594b81dae --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/manage.mdx @@ -0,0 +1,78 @@ +--- +page_title: Manage and view runs in Terraform Enterprise +description: >- + Learn how to view and interact with runs in Terraform Enterprise, and how to + unlock and lock workspaces to prevent new runs. +source: terraform-docs-common +--- + +# Manage and view runs + +Each workspace in HCP Terraform includes a list of its current, pending, and historical runs. You can view and interact with these runs in the UI. You can also lock workspaces to temporarily prevent new runs. + +## API + +Refer to the [Runs API](/terraform/enterprise/api-docs/run) and [lock a Workspace endpoint](/terraform/enterprise/api-docs/workspaces#lock-a-workspace). + +## Navigating Runs + +Go to the workspace and click the **Runs** tab to review a list of all current and past Terraform runs. + +Click a run to go to its details page. The details page contains the following information: + +- The current status of the run. +- The code commit associated with the run. +- How the run initiated, when, and which user initiated it (if applicable). +- A timeline of events related to the run. +- The output from both the `terraform plan` and `terraform apply` commands, if applicable. This output defaults to visible if the command is currently running and hidden if the command has finished. + +## Interacting with Runs + +In workspaces where you have [permission to apply runs](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions), you can interact with a run at the bottom of its details page. + +The following options are available, depending on the state of the run: + +| Button | Available when: | +| ------------------- | --------------------------------------------------------------------------------------------------------------- | +| Add Comment | Always. | +| Confirm & Apply | A plan needs confirmation. | +| Override & Continue | A soft-mandatory policy failed. Requires permission to manage policy overrides for the organization. | +| Discard Run | A plan needs confirmation or a soft-mandatory policy failed. | +| Cancel Run | A plan or apply is currently running. | +| Force Cancel Run | A plan or apply canceled, but HCP Terraform was unable to end the run. Requires admin access to the workspace. | +| Retry Run | A plan-only run has finished. You can also change which Terraform version to use when retrying a plan-only run. | + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +If a plan needs confirmation (with [manual apply](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply) enabled) or a soft-mandatory policy failed, the run remains paused until a user with appropriate permissions uses these buttons to continue or discard the run. Refer to [Run States and Stages](/terraform/enterprise/run/states) for more details. + +### Canceling Runs + +If a run is currently planning or applying, users with [permission to apply runs](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) for the workspace can click **Cancel Run** to stop the run before it finishes. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Canceling a run is roughly equivalent to typing `ctrl+c` during a Terraform plan or apply on the CLI. The running Terraform process is sent an INT signal, which instructs Terraform to end its work, update state for any resources that have already been changed, and wrap up in the safest way possible. + +In rare cases, a canceled run can fail to end, continuing to lock the workspace. You can forcefully cancel these runs, which immediately terminates the running Terraform process and unlocks the workspace. + +Force-canceling requires admin access to the workspace because it can have dangerous side-effects, including loss of state and orphaned resources. Additionally, the **Force Cancel Run** button only appears after you click **Cancel Run** and HCP Terraform has time to terminate the run safely. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Locking Workspaces (Preventing Runs) + +You can lock the workspace to temporarily stop runs from proceeding. Locking a workspace requires [permission to lock and unlock the workspace](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions), and requires that the workspace is not currently locked by an in-progress run. + +A lock prevents HCP Terraform from performing any applies in the workspace, and also prevents many kinds of plans. New runs remain in the **Pending** state until the workspace unlocks. + +Locking **does not** affect [plan-only runs](/terraform/enterprise/run/remote-operations#speculative-plans) or the planning stages of [saved plan runs](/terraform/enterprise/run/cli#remote-saved-plans). Terraform allows these types of runs because they can not affect infrastructure resources, do not attempt to lock the workspace themselves, and might provide important information about tasks to perform before removing the lock. Note that you can not _apply_ saved-plan runs while the workspace is locked, and HCP Terraform automatically discards these runs if the workspace's state is changed before they can be applied. Terraform Enterprise does not yet support saved plans. + +HCP Terraform shows the lock status in the workspace's header, next to the **Actions** menu. + +To lock or unlock a workspace, do one of the following: + +- Open the **Actions** menu and select **Lock workspace** or **Unlock workspace**. +- Go to **Settings > Locking**. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/modes-and-options.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/modes-and-options.mdx new file mode 100644 index 0000000000..9a1e6a0f8d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/modes-and-options.mdx @@ -0,0 +1,123 @@ +--- +page_title: Run modes and options in Terraform Enterprise +description: >- + Learn about the different run modes and options available in Terraform + Enterprise to customize behavior during runs. +source: terraform-docs-common +--- + +# Run modes and options + +HCP Terraform runs support many of the same modes and options available in the Terraform CLI. + +## Plan and Apply (Standard) + +The default run mode of HCP Terraform is to perform a plan and then apply it. If you have enabled auto-apply and are using a VCS or API workflow, a successful plan applies immediately. Otherwise, the run waits for user confirmation before applying. + +- **CLI:** Use `terraform apply` (without providing a saved plan file). +- **API:** Create a run without specifying any options that select a different mode. +- **UI:** From the workspace's overview page, click **+ New run**, and then choose **Plan and apply (standard)** as the run type. +- **VCS:** When a workspace is connected to a VCS repository, HCP Terraform automatically starts a standard plan and apply when you add new commits to the selected branch of that repository. + +## Destroy Mode + +[Destroy mode](/terraform/cli/commands/plan#planning-modes) instructs Terraform to create a plan which destroys all objects, regardless of configuration changes. + +- **CLI:** Use `terraform plan -destroy` or `terraform destroy` +- **API:** Use the `is-destroy` option. +- **UI:** Use a workspace's **Destruction and Deletion** settings page. + +## Plan Only/Speculative Plan + +This option creates a [speculative plan](/terraform/enterprise/run/remote-operations#speculative-plans). The speculative plan shows a set of possible changes and checks them against Sentinel policies, but Terraform can _not_ apply this plan. + +You can create speculative plans with a different Terraform version than the one currently selected for a workspace. This lets you check whether your configuration is compatible with a newer Terraform version without changing the workspace settings. + +Plan-only runs ignore the per-workspace run queue. Plan-only runs can proceed even if another run is in progress, can not become the workspace's current run, and do not block progress on a workspace's other runs. + +- **API:** Set the `plan-only` option to `true` and specify an available terraform version using the `terraform-version` field. +- **UI:** From the workspace's overview page, click **+ New run**, and then choose **Plan only** as the run type. +- **VCS:** When a workspace is connected to a VCS repository, HCP Terraform automatically starts a speculative plan when someone opens a pull request (or merge request) against the selected branch of that repository. The pull/merge request view in your VCS links to the speculative plan, and you can also find it in the workspace's run list. + +## Saved Plans + +-> **Version note:** Using saved plans from the CLI with HCP Terraform requires at least Terraform CLI v1.6.0. + +Saved plan runs are very similar to standard plan and apply runs: they perform a plan and then optionally apply it. There are three main differences: + +1. _No wait for planning._ Saved plan runs ignore the per-workspace run queue during their plan and checks. Like plan-only runs, saved plans can begin planning even if another run is in progress, without blocking progress on other runs. +2. _No auto-apply._ Saved plan runs are never auto-applied, even if you enabled auto-apply for the workspace. Saved plans only apply if you confirm them. +3. _Automatic discard for stale plans._ If another run is applied (or the state is otherwise modified) before a saved plan run is confirmed, HCP Terraform automatically discards that saved plan. HCP Terraform may also automatically discard saved plans if they are not confirmed within a few weeks. + +Saved plans are ideal for interactive CLI workflows, where you can perform many exploratory plans and then choose one to apply, or for custom continuous integration workflows where the default run queue behavior isn't suitable. + +- **CLI:** Use `terraform plan -out ` to perform and save a plan, then use `terraform apply ` to apply the saved plan. Use `terraform show ` to inspect a saved plan before applying it. +- **API:** Use the `save-plan` option when creating a run. If you create a new configuration version for a saved plan run, use the `provisional` option so that it will not become the workspace's current configuration version until you decide to apply the run. + +## Allow Empty Apply + +A no-operation (empty) apply enables HCP Terraform to apply a run from a plan that contains no infrastructure changes. During apply, Terraform can upgrade the state version if required. You can use this option to upgrade the state in your HCP Terraform workspace to a new Terraform version. Only some Terraform versions require this, most notably 0.13. + +To make such upgrades easier, empty apply runs will always auto-apply if their plan contains no changes. + +~> **Warning:** HCP Terraform cannot guarantee that a plan in this mode will produce no changes. We recommend checking the plan for drift before proceeding to the apply stage. + +- **API:** Set the `allow-empty-apply` field to `true`. +- **UI:** From the workspace's overview page, click **+ New run**, and then choose **Allow empty apply** as the run type. + +## Refresh-Only Mode + +> **Hands-on:** Try the [Use Refresh-Only Mode to Sync Terraform State](/terraform/tutorials/state/refresh) tutorial. + +-> **Version note:** Refresh-only support requires a workspace using at least Terraform CLI v0.15.4. + +[Refresh-only mode](/terraform/cli/commands/plan#planning-modes) instructs Terraform to create a plan that updates the Terraform state to match changes made to remote objects outside of Terraform. This is useful if state drift has occurred and you want to reconcile your state file to match the drifted remote objects. Applying a refresh-only run does not result in further changes to remote objects. + +- **CLI:** Use `terraform plan -refresh-only` or `terraform apply -refresh-only`. +- **API:** Use the `refresh-only` option. +- **UI:** From the workspace's overview page, click **+ New run**, and then choose **Refresh state** as the run type. + +## Skipping Automatic State Refresh + +The [`-refresh=false` option](/terraform/cli/commands/plan#refresh-false) is used in normal planning mode to skip the default behavior of refreshing Terraform state before checking for configuration changes. + +- **CLI:** Use `terraform plan -refresh=false` or `terraform apply -refresh=false`. +- **API:** Use the `refresh` option. + +## Replacing Selected Resources + +-> **Version note:** Replace support requires a workspace using at least Terraform CLI v0.15.2. + +The [replace option](/terraform/cli/commands/plan#replace-address) instructs Terraform to replace the object with the given resource address. + +- **CLI:** Use `terraform plan -replace=ADDRESS` or `terraform apply -replace=ADDRESS`. +- **API:** Use the `replace-addrs` option. +- **UI:** Click **+ New run** and select the **Plan and apply (standard)** run type. Then click **Additional planning options** to reveal the **Replace resources** option. Type the address of the resource that you want to replace. You can replace multiple resources. + +## Targeted Plan and Apply + +[Resource Targeting](/terraform/cli/commands/plan#resource-targeting) is intended for exceptional circumstances only and should not be used routinely. + +- **CLI:** Use `terraform plan -target=ADDRESS` or `terraform apply -target=ADDRESS`. +- **API:** Use the `target-addrs` option. + +The usual caveats for targeting in local operations imply some additional limitations on HCP Terraform features for remote plans created with targeting: + +- [Sentinel](/terraform/enterprise/policy-enforcement) policy checks for targeted plans will see only the selected subset of resource instances planned for changes in [the `tfplan` import](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2) and [the `tfplan/v2` import](/terraform/enterprise/policy-enforcement/import-reference/tfplan-v2), which may cause an unintended failure for any policy that requires a planned change to a particular resource instance selected by its address. + +- [Cost Estimation](/terraform/enterprise/cost-estimation) is disabled for any run created with `-target` set, to prevent producing a misleading underestimate of cost due to resource instances being excluded from the plan. + +You can disable or constrain use of targeting in a particular workspace using a Sentinel policy based on [the `tfrun.target_addrs` value](/terraform/enterprise/policy-enforcement/import-reference/tfrun#value-target_addrs). + +## Generating Configuration + +-> **Version note:** Support for `import` blocks and generating configuration requires a workspace using at least Terraform CLI v1.5.0. + +When using [`import` blocks](/terraform/language/import) to import existing resources, Terraform can [automatically generate configuration](/terraform/language/import/generating-configuration) during the plan for any imported resources that don't have an existing `resource` block. This option is enabled by default for runs started from the UI or from a VCS webhook. + +- **CLI:** Use `terraform plan -generate-config-out=generated.tf`. +- **API:** Use the `allow-config-generation` option. + +You can find generated configuration displayed in the plan UI. If you're using the CLI workflow, Terraform will write generated configuration to the file you specify when running `terraform plan`. + +Once Terraform has generated configuration for you, you'll need to review it, incorporate it in your Terraform configuration (including committing it to version control), then run another plan. If you try to directly apply a plan with generated configuration, the run will error. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/remote-operations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/remote-operations.mdx new file mode 100644 index 0000000000..8091309a5e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/remote-operations.mdx @@ -0,0 +1,148 @@ +--- +page_title: Remote operations in Terraform Enterprise +description: >- + Terraform Enterprise runs Terraform operations remotely through the UI, API, + or CLI. Learn how HCP Terraform manages runs. +source: terraform-docs-common +--- + +# Remote operations + +> **Hands-on:** Try the [Get Started — HCP Terraform](/terraform/tutorials/cloud-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorials. + +HCP Terraform provides a central interface for running Terraform within a large collaborative organization. If you're accustomed to running Terraform from your workstation, the way HCP Terraform manages runs can be unfamiliar. + +This page describes the basics of how runs work in HCP Terraform. + +## Remote Operations + +HCP Terraform is designed as an execution platform for Terraform, and can perform Terraform runs on its own disposable virtual machines. This provides a consistent and reliable run environment, and enables advanced features like Sentinel policy enforcement, cost estimation, notifications, version control integration, and more. + +Terraform runs managed by HCP Terraform are called _remote operations._ Remote runs can be initiated by webhooks from your VCS provider, by UI controls within HCP Terraform, by API calls, or by Terraform CLI. When using Terraform CLI to perform remote operations, the progress of the run is streamed to the user's terminal, to provide an experience equivalent to local operations. + +### Disabling Remote Operations + +[execution_mode]: /terraform/enterprise/workspaces/settings#execution-mode + +Many of HCP Terraform's features rely on remote execution and are not available when using local operations. This includes features like Sentinel policy enforcement, cost estimation, and notifications. + +You can disable remote operations for any workspace by changing its [Execution Mode][execution_mode] to **Local**. This causes the workspace to act only as a remote backend for Terraform state, with all execution occurring on your own workstations or continuous integration workers. + +### Protecting Private Environments + +[HCP Terraform agents](/terraform/cloud-docs/agents) are a paid feature that allows HCP Terraform to communicate with isolated, private, or on-premises infrastructure. The agent polls HCP Terraform or Terraform Enterprise for any changes to your configuration and executes the changes locally, so you do not need to allow public ingress traffic to your resources. Agents allow you to control infrastructure in private environments without modifying your network perimeter. + +HCP Terraform agents also support running custom programs, called _hooks_, during strategic points of a Terraform run. For example, you may create a hook to dynamically download software required by the Terraform run or send an HTTP request to a system to kick off an external workflow. + +## Runs and Workspaces + +HCP Terraform always performs Terraform runs in the context of a [workspace](/terraform/enterprise/run/remote-operations). The workspace serves the same role that a persistent working directory serves when running Terraform locally: it provides the configuration, state, and variables for the run. + +### Configuration Versions + +Each workspace is associated with a particular Terraform configuration, but that configuration is expected to change over time. Thus, HCP Terraform manages configurations as a series of _configuration versions._ + +Most commonly, a workspace is linked to a VCS repository, and its configuration versions are tied to revisions in the specified VCS branch. In workspaces that aren't linked to a repository, new configuration versions can be uploaded via Terraform CLI or via the API. + +### Ordering and Timing + +Each workspace in HCP Terraform maintains its own queue of runs, and processes those runs in order. + +Whenever a new run is initiated, it's added to the end of the queue. If there's already a run in progress, the new run won't start until the current one has completely finished — HCP Terraform won't even plan the run yet, because the current run might change what a future run would do. Runs that are waiting for other runs to finish are in a _pending_ state, and a workspace might have any number of pending runs. + +There are two exceptions to the run queue, which can proceed at any time and do not block the progress of other runs: + +- Plan-only runs. +- The planning stages of [saved plan runs](/terraform/enterprise/run/modes-and-options/#saved-plans). You can only _apply_ a saved plan if no other run is in progress, and applying that plan blocks the run queue as usual. Terraform Enterprise does not yet support this workflow. + +When you initiate a run, HCP Terraform locks the run to a particular configuration version and set of variable values. If you change variables or commit new code before the run finishes, it will only affect future runs, not runs that are already pending, planning, or awaiting apply. + +### Workspace Locks + +When a workspace is _locked,_ HCP Terraform can create new runs (automatically or manually), but those runs do not begin until you unlock the workspace. + +When a run is in progress, that run locks the workspace, as described above under "Ordering and Timing". + +There are two kinds of run operation that can ignore workspace locking: + +- Plan-only runs. +- The planning stages of [saved plan runs](/terraform/enterprise/run/modes-and-options/#saved-plans). You can only _apply_ a saved plan if the workspace is unlocked, and applying that plan locks the workspace as usual. Terraform Enterprise does not yet support this workflow. + +A user or team can also deliberately lock a workspace, to perform maintenance or for any other reason. For more details, see [Locking Workspaces (Preventing Runs)](/terraform/enterprise/run/manage#locking-workspaces-preventing-runs-). + +## Starting Runs + +HCP Terraform has three main workflows for managing runs, and your chosen workflow determines when and how Terraform runs occur. For detailed information, see: + +- The [UI/VCS-driven run workflow](/terraform/enterprise/run/ui), which is the primary mode of operation. +- The [API-driven run workflow](/terraform/enterprise/run/api), which is more flexible but requires you to create some tooling. +- The [CLI-driven run workflow](/terraform/enterprise/run/cli), which uses Terraform's standard CLI tools to execute runs in HCP Terraform. + +You can use the following methods to initiate HCP Terraform runs: + +- Click the **+ New run** button on the workspace's page +- Implement VCS webhooks +- Run the standard `terraform apply` command when the CLI integration is configured +- Call [the Runs API](/terraform/enterprise/api-docs/run) using any API tool + +## Plans and Applies + +HCP Terraform enforces Terraform's division between _plan_ and _apply_ operations. It always plans first, then uses that plan's output for the apply. + +In the default configuration, HCP Terraform waits for user approval before running an apply, but you can configure workspaces to [automatically apply](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply) successful plans. Some plans can't be auto-applied, like plans queued by [run triggers](/terraform/enterprise/workspaces/settings/run-triggers) or by users without permission to apply runs for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +If a plan contains no changes, HCP Terraform does not attempt to apply it. Instead, the run ends with a status of "Planned and finished". The [allow empty apply](/terraform/enterprise/run/modes-and-options#allow-empty-apply) run mode can override this behavior. + +### Speculative Plans + +In addition to normal runs, HCP Terraform can run _speculative plans_ to test changes to a configuration during editing and code review. Speculative plans are plan-only runs. They show possible changes, and policies affected by those changes, but cannot apply any changes. + +Speculative plans can begin without waiting for other runs to finish because they don't affect real infrastructure. HCP Terraform lists past speculative plan runs alongside a workspace's other runs. + +There are three ways to run speculative plans: + +- In VCS-backed workspaces, pull requests start speculative plans, and the VCS provider's pull request interface includes a link to the plan. See [UI/VCS Runs: Speculative Plans on Pull Requests](/terraform/enterprise/run/ui#speculative-plans-on-pull-requests) for more details. +- With the [CLI integration](/terraform/cli/cloud) configured, running `terraform plan` on the command line starts a speculative plan. The plan output streams to the terminal, and a link to the plan is also included. +- The runs API creates speculative plans whenever the specified configuration version is marked as speculative. See [the `configuration-versions` API](/terraform/enterprise/api-docs/configuration-versions#create-a-configuration-version) for more information. + +#### Retry a speculative plan in the UI + +If a speculative plan fails due to an external factor, you can run it again using the "Retry Run" button on its page: + +Retrying a plan requires permission to queue plans for that workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) Only failed or canceled plans can be retried. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Retrying the run will create a new run with the same configuration version. If it is a VCS-backed workspace, the pull request interface will receive the status of the new run, along with a link to the new run. + +### Saved Plans + +-> **Version note:** Using saved plans from the CLI with HCP Terraform requires at least Terraform CLI v1.6.0. + +HCP Terraform also supports saved plan runs. If you have configured the [CLI integration](/terraform/cli/cloud) you can use `terraform plan -out ` to perform and save a plan, `terraform apply ` to apply a saved plan, and `terraform show ` to inspect a saved plan before applying it. You can also create saved plan runs via the API by using the `save-plan` option. + +Saved plan runs affect the run queue differently from normal runs, and can sometimes be automatically discarded. For more details, refer to [Run Modes and Options: Saved Plans](/terraform/enterprise/run/modes-and-options#saved-plans). + +## Planning Modes and Options + +In addition to the normal run workflows described above, HCP Terraform supports destroy runs, refresh-only runs, and several planning options that can modify the behavior of a run. For more details, see [Run Modes and Options](/terraform/enterprise/run/modes-and-options). + +## Run States + +HCP Terraform shows the progress of each run as it passes through each run state (pending, plan, policy check, apply, and completion). In some states, the run might require confirmation before continuing or ending; see [Managing Runs: Interacting with Runs](/terraform/enterprise/run/manage#interacting-with-runs) for more information. + +In the list of workspaces on HCP Terraform's main page, each workspace shows the state of the run it's currently processing. (Or, if no run is in progress, the state of the most recent completed run.) + +For full details about the stages of a run, see [Run States and Stages][]. + +[Run States and Stages]: /terraform/enterprise/run/states + +## Import + +We recommend using [`import` blocks](/terraform/language/import), introduced in Terraform 1.5, to import resources in HCP Terraform. + +HCP Terraform does not support remote execution for the `terraform import` command. For this command the workspace acts only as a remote backend for Terraform state, with all execution occurring on your own workstations or continuous integration workers. + +Since `terraform import` runs locally, environment variables defined in the workspace are not available. Any environment variables required by the provider you're importing from must be defined within your local execution scope. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/run-environment.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/run-environment.mdx new file mode 100644 index 0000000000..ccae094a3f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/run-environment.mdx @@ -0,0 +1,131 @@ +--- +page_title: Terraform Enterprise's run environment +description: >- + Learn how Terraform Enterprise's run enviornment manages virtual machines, + network access, concurrency for runs, state access authentication, and + environment variables. +source: terraform-docs-common +--- + +# HCP Terraform's run environment + +HCP Terraform is designed as an execution platform for Terraform, and most of its features are based around its ability to perform Terraform runs in a fleet of disposable worker VMs. This page describes some features of the run environment for Terraform runs managed by HCP Terraform. + +## The Terraform Worker VMs + +HCP Terraform performs Terraform runs in single-use Linux virtual machines, running on an x86_64 architecture. + +The operating system and other software installed on the worker VMs is an internal implementation detail of HCP Terraform. It is not part of a stable public interface, and is subject to change at any time. + +Before Terraform is executed, the worker VM's shell environment is populated with environment variables from the workspace, the selected version of Terraform is installed, and the run's Terraform configuration version is made available. + +Changes made to the worker during a run are not persisted to subsequent runs, since the VM is destroyed after the run is completed. Notably, this requires some additional care when installing additional software with a `local-exec` provisioner; see [Installing Additional Tools](/terraform/enterprise/run/install-software#installing-additional-tools) for more details. + +> **Hands-on:** Try the [Upgrade Terraform Version in HCP Terraform](/terraform/tutorials/cloud/cloud-versions) tutorial. + +## Network Access to VCS and Infrastructure Providers + +In order to perform Terraform runs, HCP Terraform needs network access to all of the resources Terraform is going to manage. + +If you are using the cloud version of HCP Terraform, your VCS provider and any private infrastructure providers you manage with Terraform must be internet accessible. + + + +If you are on the HCP Terraform **Premium** edition, you can use a self-hosted HCP Terraform agent to connect to private VCS providers. Refer to [Connect to private VCS providers](/terraform/enterprise/vcs/private) for more information. + + + +Terraform Enterprise instances must have network connectivity to any connected VCS providers or managed infrastructure providers. + +## Concurrency and Run Queuing + +HCP Terraform uses multiple concurrent worker VMs, which take jobs from a global queue of runs that are ready for processing. (This includes confirmed applies, and plans that have just become the current run on their workspace.) + +If the global queue has more runs than the workers can handle at once, some of them must wait until a worker becomes available. When the queue is backed up, HCP Terraform gives different priorities to different kinds of runs: + +- Applies that will make changes to infrastructure have the highest priority. +- Normal plans have the next highest priority. +- Speculative plans have the lowest priority. + +HCP Terraform can also delay some runs in order to make performance more consistent across organizations. If an organization requests a large number of runs at once, HCP Terraform queues some of them immediately, and delays the rest until some of the initial batch have finished. Queuing and delaying runs lets organizations continue performing runs even during periods of especially heavy load. Your HCP Terraform edition limits the maximum run concurrency for your organization. Refer to [HCP Terraform pricing](https://www.hashicorp.com/products/terraform/pricing?product_intent=terraform) for details. + +## State Access and Authentication + +[CLI config file]: /terraform/cli/config/config-file + +[cloud]: /terraform/cli/cloud + +HCP Terraform stores state for its workspaces. + +When you trigger runs via the [CLI workflow](/terraform/enterprise/run/cli), Terraform reads from and writes to HCP Terraform's stored state. HCP Terraform uses [the `cloud` block][cloud] for runs, overriding any existing [backend](/terraform/language/settings/backends/configuration) in the configuration. + +-> **Note:** The `cloud` block is available in Terraform v1.1 and later. Previous versions can use the [`remote` backend](/terraform/language/settings/backends/remote) to configure the CLI workflow and migrate state. + +### Autogenerated API Token + +Instead of using existing user credentials, HCP Terraform generates a unique per-run API token and provides it to the Terraform worker in the [CLI config file][]. When you run Terraform on the command line against a workspace configured for remote operations, you must have [the `cloud` block][cloud] in your configuration and have a user or team API token with the appropriate permissions specified in your [CLI config file][]. However, the run itself occurs within one of HCP Terraform's worker VMs and uses the per-run token for state access. + +The per-run token can read and write state data for the workspace associated with the run, can download modules from the [private registry](/terraform/enterprise/registry), and may be granted access to read state from other workspaces in the organization. (Refer to [cross-workspace state access](/terraform/enterprise/workspaces/state#accessing-state-from-other-workspaces) for more details.) Per-run tokens cannot make any other calls to the HCP Terraform API and are not considered to be user, team, or organization tokens. They become invalid after the run is completed. + +### User Token + +HCP Terraform uses the user token to access a workspace's state when you: + +- Run Terraform on the command line against a workspace that is _not_ configured for remote operations. The user must have permission to read and write state versions for the workspace. + +- Run Terraform's state manipulation commands against an HCP Terraform workspace. The user must have permission to read and write state versions for the workspace. + +Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions) for more details about workspace permissions. + +### Provider Authentication + +Runs in HCP Terraform typically require some form of credentials to authenticate with infrastructure providers. Credentials can be provided statically through Environment or Terraform [variables](/terraform/enterprise/workspaces/variables), or can be generated on a per-run basis through [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) for certain providers. Below are pros and cons to each approach. + +#### Static Credentials + +##### Pros + +- Simple to setup +- Broad support across providers + +##### Cons + +- Requires regular manual rotation for enhanced security posture +- Large blast radius if a credential is exposed and needs to be revoked + +#### Dynamic Credentials + +##### Pros + +- Eliminates the need for manual rotation of credentials on HCP Terraform +- HCP Terraform metadata - including the run's project, workspace, and run-phase - is encoded into every token to allow for granular permission scoping on the target cloud platform +- Credentials are short-lived, which reduces blast radius of potential credential exposure + +##### Cons + +- More complicated initial setup compared to using static credentials +- Not supported for all providers + +The full list of supported providers and setup instructions can be found in the [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) documentation. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Environment Variables + +HCP Terraform automatically injects the following environment variables for each run: + +| Variable Name | Description | Example | +| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------- | +| `TFC_RUN_ID` | A unique identifier for this run. | `run-CKuwsxMGgMd4W7Ui` | +| `TFC_WORKSPACE_NAME` | The name of the workspace used in this run. | `prod-load-balancers` | +| `TFC_WORKSPACE_SLUG` | The full slug of the configuration used in this run. This consists of the organization name and workspace name, joined with a slash. | `acme-corp/prod-load-balancers` | +| `TFC_CONFIGURATION_VERSION_GIT_BRANCH` | The name of the branch that the associated Terraform configuration version was ingressed from. | `main` | +| `TFC_CONFIGURATION_VERSION_GIT_COMMIT_SHA` | The full commit hash of the commit that the associated Terraform configuration version was ingressed from. | `abcd1234...` | +| `TFC_CONFIGURATION_VERSION_GIT_TAG` | The name of the tag that the associated Terraform configuration version was ingressed from. | `v0.1.0` | +| `TFC_PROJECT_NAME` | The name of the project used in this run. | `proj-name` | + +They are also available as Terraform input variables by defining a variable with the same name. For example: + +```terraform +variable "TFC_RUN_ID" {} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/states.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/states.mdx new file mode 100644 index 0000000000..a8f444e0a3 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/states.mdx @@ -0,0 +1,218 @@ +--- +page_title: Run states and stages in Terraform Enterprise +description: >- + Learn the run stages of Terraform operations. Understanding run stages and + their states can help you follow a run's progress. +source: terraform-docs-common +--- + +# Run states and stages + +Each plan and apply run passes through several stages of action: pending, plan, cost estimation, policy check, apply, and completion. HCP Terraform shows a run's progress through each stage as a run state. + +In the list of workspaces on HCP Terraform's main page, each workspace shows the state of the run it's currently processing. If no run is in progress, HCP Terraform displays the state of the most recently completed run. + +## The Pending Stage + +_States in this stage:_ + +- **Pending:** HCP Terraform hasn't started action on a run yet. HCP Terraform processes each workspace's runs in the order they were queued, and a run remains pending until every run before it has completed. + +_Leaving this stage:_ + +- If the user discards the run before it starts, the run does not continue (**Discarded** state). +- If the run is first in the queue, it proceeds automatically to the plan stage (**Planning** state). + +## The Fetching Stage + +HCP Terraform may need to fetch the configuration from VCS prior to starting the plan. HCP Terraform automatically archives configuration versions created through VCS when all runs are complete and then re-fetches the files for subsequent runs. + +_States in this stage:_ + +- **Fetching:** If HCP Terraform has not yet fetched the configuration from VCS, the run will go into this state until the configuration is available. + +_Leaving this stage:_ + +- If HCP Terraform encounters an error when fetching the configuration from VCS, the run does not continue (**Plan Errored** state). +- If Terraform successfully fetches the configuration, the run moves to the next stage. + +## The Pre-Plan Stage + +The pre-plan phase only occurs if there are enabled [run tasks](/terraform/enterprise/workspaces/settings/run-tasks) in the workspace that are configured to begin before Terraform creates the plan. HCP Terraform sends information about the run to the configured external system and waits for a `passed` or `failed` response to determine whether the run can continue. The information sent to the external system includes the configuration version of the run. + +All runs can enter this phase, including [speculative plans](/terraform/enterprise/run/remote-operations#speculative-plans). + +_States in this stage:_ + +- **Pre-plan running:** HCP Terraform is waiting for a response from the configured external system(s). + - External systems must respond initially with a `200 OK` acknowledging the request is in progress. After that, they have 10 minutes to return a status of `passed`, `running`, or `failed`. If the timeout expires, HCP Terraform assumes that the run tasks is in the `failed` status. + +_Leaving this stage:_ + +- If any mandatory tasks failed, the run skips to completion (**Plan Errored** state). +- If any advisory tasks failed, the run proceeds to the **Planning** state, with a visible warning regarding the failed task. +- If a single run has a combination of mandatory and advisory tasks, Terraform takes the most restrictive action. For example, the run fails if there are two advisory tasks that succeed and one mandatory task that fails. +- If a user canceled the run, the run ends in the **Canceled** state. + +## The Plan Stage + +A run goes through different steps during the plan stage depending on whether or not HCP Terraform needs to fetch the configuration from VCS. HCP Terraform automatically archives configuration versions created through VCS when all runs are complete and then re-fetches the files for subsequent runs. + +_States in this stage:_ + +- **Planning:** HCP Terraform is currently running `terraform plan`. +- **Needs Confirmation:** `terraform plan` has finished. Runs sometimes pause in this state, depending on the workspace and organization settings. + +_Leaving this stage:_ + +- If the `terraform plan` command failed, the run does not continue (**Plan Errored** state). +- If a user canceled the plan by pressing the "Cancel Run" button, the run does not continue (**Canceled** state). +- If the plan succeeded with no changes and neither cost estimation nor Sentinel policy checks will be done, HCP Terraform considers the run complete (**Planned and Finished** state). +- If the plan succeeded and requires changes: + - If cost estimation is enabled, the run proceeds automatically to the cost estimation stage. + - If cost estimation is disabled and [Sentinel policies](/terraform/enterprise/policy-enforcement/sentinel) are enabled, the run proceeds automatically to the policy check stage. + - If there are no Sentinel policies and the plan can be auto-applied, the run proceeds automatically to the apply stage. Plans can be auto-applied if the auto-apply setting is enabled on the workspace and the plan was queued by a new VCS commit or by a user with permission to apply runs. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + - If there are no Sentinel policies and HCP Terraform cannot auto-apply the plan, the run pauses in the **Needs Confirmation** state until a user with permission to apply runs takes action. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) If an authorized user approves the apply, the run proceeds to the apply stage. If an authorized user rejects the apply, the run does not continue (**Discarded** state). + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Note, if you want to directly integrate third-party tools and services between your plan and apply stages, see [Run Tasks](/terraform/enterprise/workspaces/settings/run-tasks). + +## The Post-Plan Stage + +The post-plan phase only occurs if you configure [run tasks](/terraform/enterprise/workspaces/settings/run-tasks) on a workspace to begin after Terraform successfully completes a plan operation. +All runs can enter this phase, including [speculative plans](/terraform/enterprise/run/remote-operations#speculative-plans). During this phase, HCP Terraform sends information about the run to the configured external system and waits for a `passed` or `failed` response to determine whether the run can continue. + +-> **Note:** The information sent to the configured external system includes the [JSON output](/terraform/internals/json-format) of the Terraform plan. + +_States in this stage:_ + +- **Post-plan running:** HCP Terraform is waiting for a response from the configured external system(s). + - External systems must respond initially with a `200 OK` acknowledging the request is in progress. After that, they have 10 minutes to return a status of `passed`, `running`, or `failed`, or the timeout will expire and the task will be assumed to be in the `failed` status. + +_Leaving this stage:_ + +- If any mandatory tasks failed, the run skips to completion (**Plan Errored** state). +- If any advisory tasks failed, the run proceeds to the **Applying** state, with a visible warning regarding the failed task. +- If a single run has a combination of mandatory and advisory tasks, Terraform takes the most restrictive action. For example, if there are two advisory tasks that succeed and one mandatory task that failed, the run fails. If one mandatory task succeeds and two advisory tasks fail, the run succeeds with a warning. +- If a user canceled the run, the run ends in the **Canceled** state. + +## The OPA Policy Check Stage + +This stage only occurs if you enabled [Open Policy Agent (OPA) policies](/terraform/enterprise/policy-enforcement/opa) and runs after a successful `terraform plan` and before Cost Estimation. In this stage, HCP Terraform checks whether the plan adheres to the policies in the OPA policy sets for the workspace. + +_States in this stage:_ + +- **Policy Check:** HCP Terraform is checking the plan against the OPA policy sets. +- **Policy Override:** The policy check finished, but a mandatory policy failed. The run pauses, and Terraform cannot perform an apply unless a user manually overrides the policy check failure. Refer to [Policy Results](/terraform/enterprise/policy-enforcement/view-results) for details. +- **Policy Checked:** The policy check succeeded, and Terraform can apply the plan. The run may pause in this state if the workspace is not set up to auto-apply runs. + +_Leaving this stage:_ + +If any mandatory policies failed, the run pauses in the **Policy Override** state. The run completes one of the following workflows: + +- The run stops and enters the **Discarded** state when a user with [permission to apply runs](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions#manage-policy-overrides) discards the run. +- The run proceeds to the **Policy Checked** state when a user with [permission to manage policy overrides](/terraform/enterprise/users-teams-organizations/permissions) overrides the failed policy. The **Policy Checked** state means that no mandatory policies failed or that a user performed a manual override. + +Once the run reaches the **Policy Checked** state, the run completes one of the following workflows: + +- The run proceeds to the **Apply** stage if Terraform can automatically apply the plan. An auto-apply requires that the **Auto apply** setting is enabled on the workspace. +- If Terraform cannot automatically apply the plan, the run pauses in the **Policy Checked** state until a user with permission to apply runs takes action. If the user approves the apply, the run proceeds to the **Apply** stage. If the user rejects the apply, the run stops and enters the **Discarded** state. + +## The Cost Estimation Stage + +This stage only occurs if cost estimation is enabled. After a successful `terraform plan`, HCP Terraform uses plan data to estimate costs for each resource found in the plan. + +_States in this stage:_ + +- **Cost Estimating:** HCP Terraform is currently estimating the resources in the plan. +- **Cost Estimated:** The cost estimate completed. + +_Leaving this stage:_ + +- If cost estimation succeeded or errors, the run moves to the next stage. +- If there are no policy checks or applies, the run does not continue (**Planned and Finished** state). + +## The Sentinel Policy Check Stage + +This stage only occurs if [Sentinel policies](/terraform/enterprise/policy-enforcement/sentinel) are enabled. After a successful `terraform plan`, HCP Terraform checks whether the plan obeys policy to determine whether it can be applied. + +_States in this stage:_ + +- **Policy Check:** HCP Terraform is currently checking the plan against the organization's policies. +- **Policy Override:** The policy check finished, but a soft-mandatory policy failed, so an apply cannot proceed without approval from a user with permission to manage policy overrides for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) The run pauses in this state. +- **Policy Checked:** The policy check succeeded, and Sentinel will allow an apply to proceed. The run sometimes pauses in this state, depending on workspace settings. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +_Leaving this stage:_ + +- If any hard-mandatory policies failed, the run does not continue (**Plan Errored** state). +- If any soft-mandatory policies failed, the run pauses in the **Policy Override** state. + - If a user with permission to manage policy overrides, overrides the failed policy, the run proceeds to the **Policy Checked** state. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + - If a user with permission to apply runs discards the run, the run does not continue (**Discarded** state). ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) +- If the run reaches the **Policy Checked** state (no mandatory policies failed, or soft-mandatory policies were overridden): + - If the plan can be auto-applied, the run proceeds automatically to the apply stage. Plans can be auto-applied if the auto-apply setting is enabled on the workspace and the plan was queued by a new VCS commit or by a user with permission to apply runs. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + - If the plan can't be auto-applied, the run pauses in the **Policy Checked** state until a user with permission to apply runs takes action. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) The run proceeds to the apply stage if they approve the apply, or does not continue (**Discarded** state) if they reject the apply. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## The Pre-Apply Stage + +The pre-apply phase only occurs if the workspace has [run tasks](/terraform/enterprise/workspaces/settings/run-tasks) configured to begin before Terraform creates the apply. HCP Terraform sends information about the run to the configured external system and waits for a `passed` or `failed` response to determine whether the run can continue. The information sent to the external system includes the configuration version of the run. + +Only confirmed runs can enter this phase. + +_States in this stage:_ + +- **Pre-apply running:** HCP Terraform is waiting for a response from the configured external system(s). + - External systems must respond initially with a `200 OK` acknowledging the request is in progress. After that, they have 10 minutes to return a status of `passed`, `running`, or `failed`. If the timeout expires, HCP Terraform assumes that the run tasks is in the `failed` status. + +_Leaving this stage:_ + +- If any mandatory tasks failed, the run skips to completion. +- If any advisory tasks failed, the run proceeds to the **Applying** state, with a visible warning regarding the failed task. +- If a single run has a combination of mandatory and advisory tasks, Terraform takes the most restrictive action. For example, the run fails if there are two advisory tasks that succeed and one mandatory task that fails. +- If a user canceled the run, the run ends in the **Canceled** state. + +## The Apply Stage + +_States in this stage:_ + +- **Applying:** HCP Terraform is currently running `terraform apply`. + +_Leaving this stage:_ + +After applying, the run proceeds automatically to completion. + +- If the apply succeeded, the run ends in the **Applied** state. +- If the apply failed, the run ends in the **Apply Errored** state. +- If a user canceled the apply by pressing **Cancel Run**, the run ends in the **Canceled** state. + +## The Post-Apply Stage + +The post-apply phase only occurs if you configure [run tasks](/terraform/enterprise/workspaces/settings/run-tasks) on a workspace to begin after Terraform successfully completes an apply operation. During this phase, HCP Terraform sends information about the run to the configured external system and waits for a `passed` or `failed` response. However, unlike other stages in the run task process, a failed outcome does not halt the run since HCP Terraform has already provisioned the infrastructure. + +_States in this stage:_ + +- **Post-apply running:** HCP Terraform is waiting for a response from the configured external system(s). +- External systems must respond initially with a `200 OK` acknowledging the request is in progress. After that, they have 10 minutes to return a status of `passed`, `running`, or `failed`. If the timeout expires, HCP Terraform assumes that the run tasks is in the `failed` status. + +_Leaving this stage:_ + +- There are only advisory tasks on this stage. +- If any advisory tasks failed, the run proceeds to the **Applied** state, with a visible warning regarding the failed task. +- If a user cancels the run, the run ends in the **Canceled** state. + +## Completion + +A run is complete if it finishes applying, if any part of the run fails, if there is nothing to do, or if a user chooses not to continue. Once a run completes, the next run in the queue can enter the plan stage. + +_States in this stage:_ + +- **Applied:** The run was successfully applied. +- **Planned and Finished:** `terraform plan`'s output already matches the current infrastructure state, so `terraform apply` doesn't need to do anything. +- **Apply Errored:** The `terraform apply` command failed, possibly due to a missing or misconfigured provider or an illegal operation on a provider. +- **Plan Errored:** The `terraform plan` command failed (usually requiring fixes to variables or code), or a hard-mandatory Sentinel policy failed. The run cannot be applied. +- **Discarded:** A user chose not to continue this run. +- **Canceled:** A user interrupted the `terraform plan` or `terraform apply` command with the "Cancel Run" button. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/run/ui.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/run/ui.mdx new file mode 100644 index 0000000000..36fb9b192b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/run/ui.mdx @@ -0,0 +1,140 @@ +--- +page_title: UI and VCS-driven run workflow in Terraform Enterprise +description: >- + Use Terraform Enterprise's UI and VCS-driven run workflow to automatically + queue runs when merging new commits to the VCS repository branch associated + with a workspace. +source: terraform-docs-common +--- + +# UI and VCS-driven run workflow + +HCP Terraform has three workflows for managing Terraform runs. + +- The UI/VCS-driven run workflow described below, which is the primary mode of operation. +- The [API-driven run workflow](/terraform/enterprise/run/api), which is more flexible but requires you to create some tooling. +- The [CLI-driven run workflow](/terraform/enterprise/run/cli), which uses Terraform's standard CLI tools to execute runs in HCP Terraform. + +## Summary + +In the UI and VCS workflow, every workspace is associated with a specific branch of a VCS repo of Terraform configurations. HCP Terraform registers webhooks with your VCS provider when you create a workspace, then automatically queues a Terraform run whenever new commits are merged to that branch of workspace's linked repository. + +HCP Terraform also performs a [speculative plan][] when a pull request is opened against that branch. HCP Terraform posts a link to the plan in the pull request, and re-runs the plan if the pull request is updated. + +[speculative plan]: /terraform/enterprise/run/remote-operations#speculative-plans + +The Terraform code for a normal run always comes from version control, and is always associated with a specific commit. + +## Automatically Starting Runs + +In a workspace linked to a VCS repository, runs start automatically when you merge or commit changes to version control. + +If you use GitHub as your VCS provider and merge a PR changing 300 or more files, HCP Terraform automatically triggers runs for every workspace connected to that repository. The GitHub API has a limit of 300 reported changed files for a PR merge. To address this, HCP Terraform initiates workspace runs proactively, preventing oversight of file changes beyond this limit. + +A workspace is linked to one branch of a VCS repository and ignores changes to other branches. You can specify which files and directories within your repository trigger runs. HCP Terraform can also automatically trigger runs when you create Git tags. Refer to [Automatic Run Triggering](/terraform/enterprise/workspaces/settings/vcs#automatic-run-triggering) for details. + +-> **Note:** A workspace with no runs will not accept new runs via VCS webhook. At least one run must be manually queued to confirm that the workspace is ready for further runs. + +A workspace will not process a webhook if the workspace previously processed a webhook with the same commit SHA and created a run. To trigger a run, create a new commit. If a workspace receives a webhook with a previously processed commit, HCP Terraform will add a new event to the [VCS Events](/terraform/enterprise/vcs#viewing-events) page documenting the received webhook. + +## Manually Starting Runs + +You can manually trigger a run using the UI. Manual runs let you apply configuration changes when you update variable values but the configuration in version control is unchanged. You must manually trigger an initial run in any new VCS-driven workspace. + +-> **Note:** When you trigger a manual run, HCP Terraform does not fetch the latest commit from your VCS repository, and instead uses the current [configuration version](/terraform/enterprise/workspaces/configurations) associated with the workspace. HCP Terraform uses [VCS Webhooks](/terraform/enterprise/vcs#webhooks) to monitor changes in your VCS repository and update your configuration version. + +To start a run: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace you want to start a run in. +2. Click **+ New run**, opening the **Start a new run** dialog. +3. Select the run mode and provide an optional message. + +Review the [run modes documentation](/terraform/enterprise/run/modes-and-options) for more detail on supported options. + +Run modes that have a plan phase support debugging mode. This is equivalent to setting the `TF_LOG` environment variable to `TRACE` for this run only. To enable debugging, click **Additional planning options** under the run mode and click **Enable debugging mode**. See [Debugging Terraform](/terraform/internals/debugging) for more information. + +To [replace](/terraform/enterprise/run/modes-and-options#replacing-selected-resources) specific resources as part of a standard plan and apply run, expand the **Additional planning options** section and select the resources to replace. + +Manually starting a run requires permission to queue plans for the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +If the workspace has a plan that is still in the [plan stage](/terraform/enterprise/run/states#the-plan-stage) when a new plan is queued, you can either wait for it to complete, or visit the **Current Run** page and click **Run this plan now**. Be aware that this action terminates the current plan and unlocks the workspace, which can lead to anomalies in behavior, but can be useful if the plans are long-running and the current plan does not have all the desired changes. + +## Automatically cancel plan-only runs triggered by outdated commits + +Refer to [Automatically cancel plan-only runs triggered by outdated commits](/terraform/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management) for additional information. + +## Confirming or Discarding Plans + +By default, run plans require confirmation before HCP Terraform will apply them. Users with permission to apply runs for the workspace can navigate to a run that has finished planning and click the "Confirm & Apply" or "Discard Plan" button to finish or cancel a run. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) If necessary, use the "View Plan" button for more details about what the run will change. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +![confirm button](/img/docs/runs-confirm.png) + +Users can also leave comments if there's something unusual involved in a run. + +Note that once the plan stage is completed, until you apply or discard a plan, HCP Terraform can't start another run in that workspace. + +### Auto apply + +If you would rather automatically apply plans that don't have errors, you can [enable auto apply](/terraform/enterprise/workspaces/settings#auto-apply-and-manual-apply) on the workspace's "General Settings" page. Some plans can't be auto-applied, like plans queued by [run triggers](/terraform/enterprise/workspaces/settings/run-triggers) or by users without permission to apply runs. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Speculative Plans on Pull Requests + +To help you review proposed changes, HCP Terraform can automatically run [speculative plans][speculative plan] for pull requests or merge requests. + +### Viewing Pull Request Plans + +You can view speculative plans in a workspace's list of normal runs. Additionally, HCP Terraform adds a link to the run in the pull request itself, along with an indicator of the run's status. + +A single pull request can include links to multiple plans, depending on how many workspaces connect to the destination branch. If you update a pull request, HCP Terraform performs new speculative plans and update the links. + +Although any contributor to the repository can see the status indicators for pull request plans, only members of your HCP Terraform organization with permission to read runs for the affected workspaces can click through and view the complete plan output. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Rules for Triggering Pull Request Plans + +Whenever a pull request is _created or updated,_ HCP Terraform checks whether it should run speculative plans in workspaces connected to that repository, based on the following rules: + +- Only pull requests that originate from within the same repository can trigger speculative plans. + + To avoid executing malicious code or exposing sensitive information, HCP Terraform doesn't run speculative plans for pull requests that originate from forks of a repository. + + -> **Note:** On Terraform Enterprise, administrators can choose to allow speculative plans on pull requests that originate from forks. To learn more about this setting, refer to the [general settings documentation](/terraform/enterprise/admin/application/general#allow-speculative-plans-on-pull-requests-from-forks) + +- Pull requests can only trigger runs in workspaces where automatic speculative plans are allowed. You can [disable automatic speculative plans](/terraform/enterprise/workspaces/settings/vcs#automatic-speculative-plans) in a workspace's VCS settings. + +- A pull request will only trigger speculative plans in workspaces that are connected to that pull request's destination branch. + + The destination branch is the branch that a pull request proposes to make changes to; this is often the repository's main branch, but not always. + +- If a workspace is configured to only treat certain directories in a repository as relevant, pull requests that don't affect those directories won't trigger speculative plans in that workspace. For more information, see [VCS settings: automatic run triggering](/terraform/enterprise/workspaces/settings/vcs#automatic-run-triggering). + + -> **Note:** If HCP Terraform skips a plan because the changes weren't relevant, it will still post a passing commit status to the pull request. + +- HCP Terraform does not update the status checks on a pull request with the status of an associated apply. This means that a commit with a successful plan but an errored apply will still show the passing commit status from the plan. + +### Contents of Pull Request Plans + +Speculative plans for pull requests use the contents of the head branch (the branch that the PR proposes to merge into the destination branch), and they compare against the workspace's current state at the time of the plan. This means that if the destination branch changes significantly after the head branch is created, the speculative plan might not accurately show the results of accepting the PR. To get a more accurate view, you can rebase the head branch onto a more recent commit, or merge the destination branch into the head branch. + +## Testing Terraform Upgrades with Speculative Plans + +You can start a new [speculative plan][speculative plan] in the UI with the workspace's current configuration version and any Terraform version available to the organization. + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace you want to try a new Terraform version in. +2. Click **+ New run**. +3. Select **Plan only** as the run type. +4. Select a version from the **Choose Terraform version** menu. The speculative plan will use this version without changing the workspace's settings. +5. Click **Start run**. + +If the run is successful, you can change the workspace's Terraform version and [upgrade the state](/terraform/enterprise/workspaces/state#upgrading-state). + +## Speculative Plans During Development + +You can also use the CLI to run speculative plans on demand before making a pull request. Refer to the [CLI-driven run workflow](/terraform/enterprise/run/cli#remote-speculative-plans) for more details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/2fa.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/2fa.mdx new file mode 100644 index 0000000000..f9377e882c --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/2fa.mdx @@ -0,0 +1,47 @@ +--- +page_title: Configure two-factor authentication +description: Use two-factor authentication to secure access to Terraform Enterprise. +source: terraform-docs-common +--- + +# Configure two-factor authentication + +User accounts can be additionally protected with two-factor authentication (2FA), and an organization owner can make this a requirement for all users. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Setting up Two-factor Authentication + +To reach your user security settings page: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise. +2. Click the user icon in the upper right corner of the screen. +3. Choose **Account Settings** from the menu. + +Once on this page you can set-up authentication with either a TOTP-compliant application and/or an SMS-enabled phone number. Choose your preferred authentication method and enter a phone number (optional if using an application), then follow the instructions to finish the configuration. If you are using an application, you must scan a QR code to enable it; for either method, you must enter valid authentication codes to verify a successful set-up. + +After you finish, the two-factor authentication settings will change to show your currently configured authentication method. You can click the "Reveal codes" link to view backup codes, or use the "Disable 2FA" button to disable two-factor authentication. + +## Logging in with Two-factor Authentication + +After two-factor authentication has been successfully set-up you will need to enter the code from your TOTP-compliant application or from an SMS sent to your approved SMS-enabled phone number on login. + +If necessary you can also use a backup code by clicking "Use a recovery code". Please remember that each backup code can only be used to log in once. + +## Requiring Two-factor Authentication for All Users + +If you are an organization owner you can require all users within your organization to use two-factor authentication. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Click **Settings** in your organization to reach your organization'a settings page, then click **Authentication**. + +Click the button "Require two-factor". Please remember that all organization owners must have two-factor authentication on before this can be set. + +## Requiring Two-factor Authentication for Users with HashiCorp Cloud Platform + +When you require two-factor authentication for all users and have users who [sign in with their HashiCorp Cloud Platform Account](/terraform/enterprise/users-teams-organizations/users#log-in-with-your-hashicorp-cloud-platform-account), the required configuration for each organization member depends on their linked HashiCorp Cloud identity: + +- **Email**: Follow the instructions in the [HashiCorp Cloud MFA](/hcp/docs/hcp/admin/iam/mfa) docs. +- **GitHub**: Follow the instructions in the [Configuring GitHub two-factor authentication](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication) docs. +- **SSO**: HCP Terraform does not currently support HCP SSO accounts. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/api-tokens.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/api-tokens.mdx new file mode 100644 index 0000000000..5aa5db1023 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/api-tokens.mdx @@ -0,0 +1,129 @@ +--- +page_title: Manage API tokens for Terraform Enterprise +description: >- + Use API tokens to authenticate with Terraform Enterprise and perform API + operations. +source: terraform-docs-common +--- + +# API Tokens + +This topic describes the distinct types of API tokens you can use to authenticate with HCP Terraform. + +Note that HCP Terraform only displays API tokens once when you initially create them and are obfuscated thereafter. If the token is lost, it must be regenerated. + +Refer to [Team Token API](/terraform/enterprise/api-docs/team-tokens) and [Organization Token API](/terraform/enterprise/api-docs/organization-tokens) for additional information about using the APIs. + +## User API Tokens + +API tokens may belong directly to a user. User tokens are the most flexible token type because they inherit permissions from the user they are associated with. For more information on user tokens and how to generate them, see the [Users](/terraform/enterprise/users-teams-organizations/users#tokens) documentation. + +## Team API Tokens + +API tokens may belong to a specific team. Team API tokens allow access to the workspaces that the team has access to, without being tied to any specific user. + +Navigate to the **Organization Settings > API Tokens > Team Tokens** tab to manage API tokens for a team or create new team tokens. + +Teams can have multiple valid tokens at a time, so long as the tokens' descriptions are unique within the context of the given team. A token without a description is considered a legacy token, and only one legacy token can exist at a given time. + +The [**legacy API**](/terraform/enterprise/api-docs/team-tokens#legacy-team-tokens-api-reference) will only operate on the legacy token, and generating a new legacy token invalidates the previous legacy token. + +The [**non-legacy API**](/terraform/enterprise/api-docs/team-tokens#team-tokens-api-reference) will support the existence of multiple, valid team tokens, meaning that when a new, non-legacy token is generated, existing tokens will remain valid. + +Owners and users with [manage teams](/terraform/enterprise/users-teams-organizations/permissions#manage-teams) permissions have the ability to enable and disable team token management for a team, which limits the actions that team members can take on a team token. Refer to [Allow Member Token Management](/terraform/enterprise/users-teams-organizations/permissions#allow-member-token-management) for more information. + +Team API tokens are designed for performing API operations on workspaces. They have the same access level to the workspaces the team has access to. For example, if a team has permission to apply runs on a workspace, the team's token can create runs and configuration versions for that workspace via the API. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Note that the individual members of a team can usually perform actions the team itself cannot, since users can belong to multiple teams, can belong to multiple organizations, and can authenticate with Terraform's `atlas` backend for running Terraform locally. + +If an API token is generated for the "owners" team, then that API token will have all of the same permissions that an organization owner would. + +## Organization API Tokens + +API tokens may be generated for a specific organization. Organization API tokens allow access to the organization-level settings and resources, without being tied to any specific team or user. + +To manage the API token for an organization, go to **Organization settings > API Token** and use the controls under the "Organization Tokens" header. + +Each organization can have **one** valid API token at a time. Only [organization owners](/terraform/enterprise/users-teams-organizations/teams#the-owners-team) can generate or revoke an organization's token. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Organization API tokens are designed for creating and configuring workspaces and teams. We don't recommend using them as an all-purpose interface to HCP Terraform; their purpose is to do some initial setup before delegating a workspace to a team. For more routine interactions with workspaces, use [team API tokens](#team-api-tokens). + +Organization API tokens have permissions across the entire organization. They can perform all CRUD operations on most resources, but have some limitations; most importantly, they cannot start runs or create configuration versions. Any API endpoints that can't be used with an organization API token include a note like the following: + +-> **Note:** This endpoint cannot be accessed with [organization tokens](#organization-api-tokens). You must access it with a [user token](/terraform/enterprise/users-teams-organizations/users#api-tokens) or [team token](#team-api-tokens). + + + +## Audit trail tokens + +You can generate an audit trails token to read an organization's [audit trails](/terraform/enterprise/api-docs/audit-trails). Use this token type to authenticate integrations pulling audit trail data, for example, using the [HCP Terraform for Splunk](/terraform/enterprise/integrations/splunk) app. + +To manage an organization's audit trails token, go to **Organization settings > API Token** and use the settings under the "Audit Token" header. + +Each organization can only have a _single_ valid audit trails token. Only [organization owners](/terraform/enterprise/users-teams-organizations/teams#the-owners-team) can generate or revoke an organization's audit trails token. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + + + +## Agent API Tokens + +[Agent pools](/terraform/cloud-docs/agents) have their own set of API tokens which allow agents to communicate with HCP Terraform, scoped to an organization. These tokens are not valid for direct usage in the HCP Terraform API and are only used by agents. + +## Access Levels + +The following chart illustrates the various access levels for the supported API token types. Some permissions are implicit based on the token type, others are dependent on the permissions of the associated user, team, or organization. + +🔵 = Implicit for token type 🔶 = Requires explicit permission + +| | User tokens | Team tokens | Organization tokens | +| ---------------------------------- | :---------: | :---------: | :-----------------: | +| **Users** | | | | +| Manage account settings | 🔵 | | | +| Manage user tokens | 🔵 | | | +| **Workspaces** | | | | +| Read workspace variables | 🔶 | 🔶 | 🔵 | +| Write workspace variables | 🔶 | 🔶 | 🔵 | +| Plan, apply, upload states | 🔶 | 🔶 | | +| Force cancel runs | 🔶 | 🔶 | | +| Create configuration versions | 🔶 | 🔶 | | +| Create or modify workspaces | 🔶 | 🔶 | 🔵 | +| Remote operations | 🔶 | 🔶 | | +| Manage run triggers | 🔶 | 🔶 | 🔵 | +| Manage notification configurations | 🔶 | 🔶 | | +| Manage run tasks | 🔶 | 🔶 | 🔵 | +| **Teams** | | | | +| Create teams | 🔶 | 🔶 | 🔵 | +| Modify team | 🔶 | 🔶 | 🔵 | +| Read team | 🔶 | 🔶 | 🔵 | +| Manage team tokens | 🔶 | 🔶 | 🔵 | +| Manage team workspace access | 🔶 | 🔶 | 🔵 | +| Manage team membership | 🔶 | 🔶 | 🔵 | +| **Organizations** | | | | +| Create organizations | 🔵 | | | +| Modify organizations | 🔶 | | | +| Manage organization tokens | 🔶 | | | +| View audit trails | | | 🔵 | +| Invite users to organization | 🔶 | 🔶 | 🔵 | +| **Sentinel** | | | | +| Manage Sentinel policies | 🔶 | 🔶 | 🔵 | +| Manage policy sets | 🔶 | 🔶 | 🔵 | +| Override policy checks | 🔶 | 🔶 | | +| **Integrations** | | | | +| Manage VCS connections | 🔶 | 🔶 | 🔵 | +| Manage SSH keys | 🔶 | 🔶 | | +| Manage run tasks | 🔶 | 🔶 | 🔵 | +| **Modules** | | | | +| Manage Terraform modules | 🔶 | 🔵 (owners) | | + +## Token Expiration + +You can create user, team, and organization tokens with an expiration date and time. Once the expiration time has passed, the token is longer treated as valid and may not be used to authenticate to any API. Any API requests made with an expired token will fail. + +HashiCorp recommends setting an expiration on all new authentication tokens. Creating tokens with an expiration date helps reduce the risk of accidentally leaking valid tokens or forgetting to delete tokens meant for a delegated use once their intended purpose is complete. + +You can not modify the expiration of a token once you have created it. The HCP Terraform UI displays tokens relative to the current user's timezone, but all tokens are passed and displayed in UTC in ISO 8601 format through the HCP Terraform API. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/index.mdx new file mode 100644 index 0000000000..543f10aaa0 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/index.mdx @@ -0,0 +1,338 @@ +--- +page_title: Organizations overview +description: >- + Organizations are groups of projects and workspaces that let teams + collaborate. Learn how to create and manage Terraform Enterprise + organizations. +source: terraform-docs-common +--- + +[teams]: /terraform/enterprise/users-teams-organizations/teams + +[users]: /terraform/enterprise/users-teams-organizations/users + +[owners]: /terraform/enterprise/users-teams-organizations/teams#the-owners-team + +# Organizations overview + +This topic provides overview information about how to create and manage organizations in HCP Terraform and Terraform Enterprise. An organization contains one or more projects. + +## Requirements + +The **admin** permission preset must be enabled on your profile to create and manage organizations in the HCP Terraform UI. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) for additional information. + +## API and Terraform Enterprise Provider + +In addition to the HCP Terraform UI, you can use the following methods to manage organizations: + +- [Organizations API](/terraform/enterprise/api-docs/organizations) +- The `tfe` provider [`tfe_organization`](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/organization) resource + +## Select an organization + +HCP Terraform displays your current organization in the sidebar. To select an organization: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise. +2. Click the current organization name to view a list of all the organizations where you are a member. +3. Click an organization to select it. HCP Terraform displays list of workspaces within that organization. + +## Join an organization + +To join an organization, the organization [owners][] or a user with specific [team management](/terraform/enterprise/users-teams-organizations/permissions#team-management-permissions) permissions must invite you, and you must accept the emailed invitation. [Learn more](#users). + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Leave an organization + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and click the Terraform logo in the page header to navigate to the **Organizations** page. +2. Open the **...** ellipses menu next to the organization and select **Leave organization**. + +You do not need permission from the owners to leave an organization, but you cannot leave if you are the last member of the owners team. Either add a new owner and then leave, or [delete the organization](/terraform/enterprise/users-teams-organizations/organizations#general). + +## Create an organization + + + +On Terraform Enterprise, administrators can restrict your ability to create organizations. Refer to [Organization Creation](/terraform/enterprise/admin/application/general#organization-creation) for details. + + + +On HCP Terraform, any user can create a new organization. If you do not belong to any organizations, HCP Terraform prompts you to create one the first time you [sign in](https://app.terraform.io/). To create an organization: + +1. Click the current organization name and select **Create new organization**. The **Create a new organization** page appears. +2. Enter a unique **Organization name** Organization names can include numbers, letters, underscores (`_`), and hyphens (`-`). +3. Provide an **Email address** to receive notifications about the organization. +4. Click **Create organization**. + +HCP Terraform shows the new organization and prompts you to create a new workspace. You can also [invite other users](#users) to join the organization. + + + +## Managed resources + +Your organization’s managed resource count helps you understand the number of infrastructure resources that HCP Terraform manages across all your workspaces. + +HCP Terraform reads all the workspaces’ state files to determine the total number of managed resources. Each [resource](/terraform/language/resources/syntax) instance in the state equals one managed resource. HCP Terraform includes resources in modules and each resource created with the `count` or `for_each` meta-arguments. HCP Terraform does not include [data sources](/terraform/language/data-sources) in the count. Refer to [Managed Resources Count](/terraform/enterprise/workspaces/state#managed-resources-count) in the workspace state documentation for more details. + +You can view your organization's managed resource count on the **Usage** page. + + + +## Create and manage reserved tag keys + +~> **Reserved tag keys are in beta**: We do not recommend using beta features in production environments. + +You can define reserved tag keys that appear as suggested labels when managers want to add tags to their projects and workspaces in the organization. Refer to [Create and manage reserved tag keys](/terraform/enterprise/users-teams-organizations/organizations/manage-reserved-tags) for instructions. + +You can also view single-value tags that may already be attached to projects and workspaces. Refer to [Tags](#tags) in the organization settings reference for additional information. + +## Managing settings + +To view and manage an organization's settings, click **Settings**. + +The contents of the organization settings depends on your permissions within the organization. All users can review the organization's contact email, view the membership of any teams they belong to, and view the organization's authentication policy. [Organization owners][owners] can view and manage the entire list of organization settings. Refer to [Organization Permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) for details. + +You may be able to manage the following organization settings. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Organization settings + +#### General + +Review the organization name and contact email. Organization owners can choose to change the organization name, contact email, and the default execution mode, or delete the organization. When an organization owner updates the default execution mode, all workspaces configured to [inherit this value](/terraform/enterprise/workspaces/settings#execution-mode) will be affected. + +Organization owners can also choose whether [workspace administrators](/terraform/enterprise/users-teams-organizations/permissions#workspace-admins) can delete workspaces that are managing resources. Deleting a workspace with resources under management introduces risk because Terraform can no longer track or manage the infrastructure. The workspace's users must manually delete any remaining resources or [import](/terraform/cli/commands/import) them into another Terraform workspace. + + + +Organization owners using HCP Terraform Plus edition can choose whether members with [module management permissions](/terraform/enterprise/users-teams-organizations/permissions#manage-private-registry) can [generate module tests](/terraform/enterprise/registry/test#generated-module-tests). + + + +##### Renaming an organization + +!> **Warning:** Deleting or renaming an organization can be very disruptive. We strongly recommend against deleting or renaming organizations with active members. + +To rename an organization that manages infrastructure: + +1. Alert all members of the organization about the name change. +2. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to rename. +3. Cancel in progress and pending runs or wait for them to finish. HCP Terraform cannot change the name of an organization with runs in progress. +4. Lock all workspaces to ensure that no new runs will start before you change the name. +5. Rename the organization. +6. Update all components using the HCP Terraform API to the new organization name. This includes Terraform's `cloud` block CLI integration, the `tfe` Terraform provider, and any external API integrations. +7. Unlock workspaces and resume normal operations. + +#### Plan & Billing + +Review the organization's plan and any invoices for previous plan payments. Organization owners can also upgrade to one of HCP Terraform's paid plans, downgrade to a free plan, or begin a free trial of paid features. + +#### Tags + +Click the **Tags** tab in the **Tags Management** screen to view single-value tags that may have already been created in your system. The table on lists the tags in the system, the number of times a tag appears in a project or workspace, and the date the tag was created. + +The only action you can perform in the UI is deleting single-value tags from the system. You can use the following methods to delete single-value tags: + +1. Select one or more tags and click **Delete tags**. +2. Select the **Name** header to select all tags, then click **Delete tags**. +3. Click the trash icon for a tag and confirm that you want to permanently delete it when prompted. + +#### Teams + + + +@include 'tfc-package-callouts/team-management.mdx' + + + +All users in an organization can access the **Teams** page, which displays a list of [teams][] within the organization. + +Organization owners and users with the [include secret teams permission](/terraform/enterprise/users-teams-organizations/permissions#include-secret-teams) can: + +- view all [secret teams](/terraform/enterprise/users-teams-organizations/teams/manage#team-visibility) +- view each team's membership +- manage team API tokens + +HCP Terraform restricts team creation, team deletion, and management of team API tokens to organization owners and users with the [manage teams](/terraform/enterprise/users-teams-organizations/permissions#manage-teams) permission. Organization owners and users with the [manage membership](/terraform/enterprise/users-teams-organizations/permissions#manage-membership) permission can manage team membership. Remember that users must accept their organization invitations before you can add them to a team. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +#### Users + +Organization owners and users with [manage membership](/terraform/enterprise/users-teams-organizations/permissions#manage-membership) permissions can invite HCP Terraform users into the organization, cancel invitations, and remove existing members. + +The list of users is separated into one tab for active users and one tab for invited users who have not yet accepted their invitations. For active users, the list includes usernames, email addresses, avatar icons, two-factor authentication status, and current team memberships. Use the **Search by username or email** field to filter these lists. + +User invitations are always sent by email; you cannot invite someone using their HCP Terraform username. To invite a user to an organization: + +1. Click **Invite a user**. The **invite a user** box appears. +2. Enter the user's email address and optionally add them to one or more teams. If the user accepts the invitation, HCP Terraform automatically adds them to the specified teams. + +All permissions in HCP Terraform are managed through teams. Users can join an organization without belonging to any teams, but they cannot use HCP Terraform features until they belong to a team. Refer to [permissions](/terraform/enterprise/users-teams-organizations/permissions) for details. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +#### Variable Sets + +View all of the available variable sets and their variables. Users with [**Manage variable set** permissions](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets) can create variable sets and assign them to one or more projects or workspaces. + +Variable sets let you reuse the same variables across multiple workspaces or projects in an organization. For example, you could define a variable set of provider credentials and automatically apply it to several projects or workspaces, rather than manually defining credential variables in each. Changes to variable sets instantly apply to all appropriate workspaces, saving time and reducing errors from manual updates. + +Refer to the [variables overview](/terraform/enterprise/workspaces/variables) documentation for details about variable types, scope, and precedence. Refer to [managing variables](/terraform/enterprise/workspaces/variables/managing-variables) for details about how to create and manage variable sets. + +#### Health + + + +@include 'tfc-package-callouts/health-assessments.mdx' + + + +HCP Terraform can perform automatic health assessments in a workspace to assess whether its real infrastructure matches the requirements defined in its Terraform configuration. Health assessments include the following types of evaluations: + +- Drift detection determines whether your real-world infrastructure matches your Terraform configuration. Drift detection requires Terraform version 0.15.4+. +- Continuous validation determines whether custom conditions in the workspace’s configuration continue to pass after Terraform provisions the infrastructure. Continuous validation requires Terraform version 1.3.0+. + +You can enforce health assessments for all eligible workspaces or let each workspace opt in to health assessments through workspace settings. Refer to [Health](/terraform/enterprise/workspaces/health) in the workspaces documentation for more details. + +#### Runs + +From the Workspaces page, click **Settings** in the sidebar, then **Runs** to view all of the current runs in your organization's workspaces. The **Runs** page displays: + +- The name of the run +- The run's ID +- What triggered the run +- The workspace and project where the run is taking place +- When the latest change in the run occurred +- A button allowing you to cancel that run + +You can apply the following filters to limit the runs HCP Terraform displays: + +- Click **Needs Attention** to display runs that require user input to continue, such as approving a plan or overriding a policy. +- Click **Running** to display runs that are in progress. +- Click **On Hold** to display paused runs. + +For precise filtering, click **More filters** and check the boxes to filter runs by specific [run statuses](/terraform/enterprise/run/states), [run operations](/terraform/enterprise/run/modes-and-options), workspaces, or [agent pools](/terraform/cloud-docs/agents/agent-pools). Click **Apply filters** to list the runs that match your criteria. + +You can dismiss any of your filtering criteria by clicking the **X** next to the filter name above the table displaying your runs. + +For more details about run states, refer to [Run States and Stages](/terraform/enterprise/run/states). + +### Integrations + +#### Cost Estimation + +Enable and disable the [cost estimation](/terraform/enterprise/cost-estimation) feature for all workspaces. + +#### Policies + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Policies let you define and enforce rules for Terraform runs. You can write them using either the [Sentinel](/terraform/enterprise/policy-enforcement/sentinel) or [Open Policy Agent (OPA)](/terraform/enterprise/policy-enforcement/opa) policy-as-code frameworks and then group them into policy sets that you can apply to workspaces in your organization. To create policies and policy sets, you must have [permission to manage policies](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions). + +#### Policy Sets + + + +@include 'tfc-package-callouts/policies.mdx' + + + +Create groups of policies and enforce those policy sets globally or on specific [projects](/terraform/enterprise/projects/manage) and workspaces. You can create policy sets through the Terraform API, by connecting a VCS repository containing policies, or directly in HCP Terraform. To create policies and policy sets, you must have [permission to manage policies](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions). + +Refer to [Managing Policy Sets](/terraform/enterprise/policy-enforcement/manage-policy-sets) for details. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +#### Run Tasks + + + +@include 'tfc-package-callouts/run-tasks.mdx' + + + +Manage the run tasks that you can add to workspaces within the organization. [Run tasks](/terraform/enterprise/workspaces/settings/run-tasks) let you integrate third-party tools and services at specific stages in the HCP Terraform run lifecycle. + +### Security + +#### Agents + + + +@include 'tfc-package-callouts/agents.mdx' + + + +Create and manage [HCP Terraform agent pools](/terraform/cloud-docs/agents). HCP Terraform agents let HCP Terraform communicate with isolated, private, or on-premises infrastructure. This is useful for on-premises infrastructure types such as vSphere, Nutanix, OpenStack, enterprise networking providers, and infrastructure within a protected enclave. + +#### API Tokens + +Organization owners can set up a special [Organization API Token](/terraform/enterprise/users-teams-organizations/api-tokens) that is not associated with a specific user or team. + +#### Authentication + +Organization owners can determine when users must reauthenticate and require [two-factor authentication](/terraform/enterprise/users-teams-organizations/2fa) for all members of the organization. + +#### SSH Keys + +Manage [SSH keys for cloning Git-based modules](/terraform/enterprise/workspaces/settings/ssh-keys) during Terraform runs. This does not include keys to access a connected VCS provider. + +#### SSO + +Organization owners can set up an SSO provider for the organization. + +### Version Control + +#### VCS General + +Configure [Automatically cancel plan-only runs triggered by outdated commits](/terraform/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management) to manage the setting. + +#### VCS Events + +-> **Note:** This feature is in beta. + +Review the event logs for GitLab.com connections. + +#### VCS Providers + +Configure [VCS providers](/terraform/enterprise/vcs) to use in the organization. You must have [permission to manage VCS settings](/terraform/enterprise/users-teams-organizations/permissions). + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Destruction and Deletion + +#### Data Retention Policies + + +Data retention policies are exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. +
+ +An organization owner can set or override the following data retention policies: + +- **Admin default policy** +- **Do not auto-delete** +- **Auto-delete data** + +Setting the data retention policy to **Admin default policy** disables the other data retention policy settings. + +By default, the **Do not auto-delete** option is enabled for an organization. This option directs Terraform Enterprise to retain data associated with configuration and state versions, but organization owners can define configurable data retention policies that allow Terraform to _soft delete_ the backing data associated with configuration versions and state versions. Soft deleting refers to marking a data object for garbage collection so that Terraform can delete the object after a set number of days. + +Once an object is soft deleted, any attempts to read the object will fail. Until the garbage collection process begins, you can restore soft deleted objects using the APIs described in the [configuration version documentation](/terraform/enterprise/api-docs/configuration-versions) and the [state version documentation](/terraform/enterprise/api-docs/state-versions). Terraform permanently deletes the archivist storage after the garbage collection grace period elapses. + +The organization policy is the default policy applied to all workspaces, but members of individual workspaces can set overriding policies for their workspaces that take precedence over the organization policy. + +## Trial Expired Organizations + +HCP Terraform paid features are available as a free trial. When a free trial has expired, the organization displays a banner reading **TRIAL EXPIRED — Upgrade Required**. + +Organizations with expired trials return to the feature set of a free organization, but they retain any data created as part of paid features. Specifically, HCP Terraform disables the following features: + +- Teams other than `owners` and locks users who do not belong to the `owners` team out of the organization. HCP Terraform preserves team membership and permissions and re-enables them after you upgrade the organization. +- Sentinel policy checks. HCP Terraform preserves existing policies and policy sets and re-enables them after you upgrade the organization. +- Cost estimation. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/manage-reserved-tags.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/manage-reserved-tags.mdx new file mode 100644 index 0000000000..60709f95c5 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/manage-reserved-tags.mdx @@ -0,0 +1,59 @@ +--- +page_title: Create and manage reserved tag keys +description: >- + Reserved tag keys let you organize projects and workspaces and track + consumption. Learn how to create and manage reserved tag keys. +source: terraform-docs-common +--- + +# Create and manage reserved tag keys + +This topic describes how to create and manage reserved tag keys in HCP Terraform. You can use reserved tag keys to help managers consistently label workspaces and projects in your organization. + +## Introduction + +You can define reserved tag keys that appear as suggested labels when managers want to add tags to their projects and workspaces in the organization. Doing so helps you standardize tag keys and prevent duplicates that affect your ability to track resources. + +Refer to the following topics for information about creating and managing tags attached to projects and workspaces: + +- [Create a project](/terraform/enterprise/projects/manage#create-a-project) +- [Create workspace tags](/terraform/enterprise/workspaces/tags) + +## Requirements + +The **admin** permission preset must be enabled on your profile to create and manage reserved tags. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) for additional information. + +## Define a reserved tag key + +You can define reserved tag keys for your organization so that project and workspace managers can use consistent labels. + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to define a reserved tag for. +2. Choose **Settings** from the sidebar, then **Tags**. +3. Click on the **Reserved Keys** tab. +4. Click **New reserved tag key** and specify a key value when prompted. Keys are unique and can have up to 128 characters. You can use letters, numbers, spaces, and the following special characters: `.`, `=`, `+`, `-`, `@`, `:`, `-`, and `_`. +5. You can enable the **Disable overrides** option to prevent project and workspace managers from overriding the key. Refer to [Disable overrides for project tags](#disable-overrides-for-project-tags) for additional information. +6. Click **Save** to finish adding the key. + +## Delete a reserved key + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to delete a reserved tag. +2. Choose **Settings** from the sidebar, then **Tags**. +3. Click on the **Reserved Keys** tab. +4. Open the ellipses menu and choose **Delete <key-name>**. +5. Click **Yes, delete reserved key** when prompted. + +To re-add a key, you must manually complete the steps described in [Define a reserved tag key](#define-a-reserved-tag-key). + +## Edit a reserved key + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to edit a reserved tag. +2. Choose **Settings** from the sidebar, then **Tags**. +3. Click on the **Reserved Keys** tab. +4. Open the ellipses menu and choose **Edit <key-name>**. +5. Specify your changes and click **Save**. + +## Disable overrides for project tags + +Enable the **Disable overrides** option when creating or editing a reserved tag key to prevent project and workspace managers from overriding the tag keys. + +This option is not retroactive. When a workspace contains keys that were overridden before you enabled the **Disable overrides** option, you must first remove the tags from the workspace. You can then re-apply the keys to the workspace so that HCP Terraform can allow future updates to the workspace tag bindings. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management.mdx new file mode 100644 index 0000000000..8945635223 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-speculative-plan-management.mdx @@ -0,0 +1,45 @@ +--- +page_title: Automatically cancel plan-only runs triggered by outdated commits +description: >- + Learn how to configure Terraform Enterprise to automatically cancel Terraform + plan operations triggered by pull requests when new commits are pushed to the + VCS. +source: terraform-docs-common +--- + +# Automatically cancel plan-only runs + +This topic describes how to configure HCP Terraform to automatically cancel plan-only Terraform run triggered by pull requests in the VCS. + +## Introduction + +When connected to a VCS, HCP Terraform can automatically start a Terraform run that performs a `terraform plan` operation when someone creates a pull request (PR) in the repository. Refer to [Connecting to VCS](/terraform/enterprise/vcs) for additional information. + +When team members push new commits to the same branch, HCP Terraform starts new run that performs a `terraform plan` operation. But as team members push new commits, the queue of Terraform runs can cause delays and reduce efficiency. + +You can enable the **Automatically cancel speculative plans for outdated commits** option in the organization's settings screen so that HCP Terraform automatically cancel unfinished plan-only runs in VCS workflows. + +## Configure automatic cancellation + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and select your organization. +2. Choose **Settings** from the sidebar. +3. Under the **Version Control** group of settings, click **General**. +4. Enable the **Automatically cancel speculative plans for outdated commits** option under the **Manage speculative plans** section. +5. Click **Update settings**. + +After enabling the option, HCP Terraform cancels ongoing or pending speculative plans when new commits are received on the same branch. + +## Automated cancellation notifications + +When the **Automatically cancel speculative plans for outdated commits** option is enabled, HCP Terraform notifies you about plan-only runs that are canceled as a result of the setting. Notifications appear in the following screens: + +- **Run details page**. Refer to [Viewing and Managing Runs](/terraform/enterprise/run/manage) for additional information. + +- **VCS status checks**. When the **Non-aggregated status checks** option is enabled in the version control settings, the notification explicitly states when a plan has been canceled automatically. + + When the **Aggregated status checks** option is enabled, HCP Terraform includes canceled plans in the result and identifies them separately from manually canceled plans. + + Refer to [VCS Status Checks](/terraform/enterprise/users-teams-organizations/organizations/vcs-status-checks) for additional information. + + +- **Aggregated status page**. HCP Terraform prints the cancellation message in the aggregated status page in the **Resources to be changed** section. The section may not reflect a complete result if all runs associated with the commit reach completion. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-status-checks.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-status-checks.mdx new file mode 100644 index 0000000000..4b1983ef17 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/organizations/vcs-status-checks.mdx @@ -0,0 +1,49 @@ +--- +page_title: Configure VCS status checks +description: >- + VCS status checks send notifications to your version control provider. Learn + how to configure VCS status checks in Terraform Enterprise. +source: terraform-docs-common +--- + +# Configure VCS status checks + +Status checks are notifications sent to your version control system's VCS provider, providing details about specific commits, including the present status of the HCP Terraform run. Please refer to your VCS provider's documentation regarding status checks (e.g., [GitHub Status Checks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)). + +## Permissions + +To modify VCS Status Checks settings, you must have [Manage VCS Settings](/terraform/enterprise/users-teams-organizations/permissions#manage-vcs-settings) permissions. + +## Managing organization VCS status check settings + +Organization owners can choose between _aggregated_ (default) and _non-aggregated_ status checks. This setting determines whether detailed information and links are accessed directly from the VCS provider or HCP Terraform. + +This setting also determines the number of status checks directly sent to the VCS Provider in response to actions such as pull or merge requests. + +To view and manage an organization’s VCS Status Check settings, click **Settings** then **Version Control**. + +### Aggregated status checks + +Aggregated status checks offer a streamlined experience if you have a single repository containing configuration for many workspaces (a.k.a., a monorepo). + +When aggregated status checks are enabled, HCP Terraform sends one VCS status check for all runs triggered by a VCS event. If multiple workspaces rely on a shared repository, HCP Terraform aggregates the status checks for these workspaces into one summary. This summary is unique to the workspace's organization and VCS client connection. + +You can access additional information about an aggregated status check in HCP Terraform by clicking the **Details** link a status check provides. This link directs you to an HCP Terraform page that offers the consolidated status check results across multiple workspaces, highlighting details such as resource changes and issues that require attention. + +![Screenshot: Organization Aggregated status checks](/img/docs/organization-vcs-general-aggregated-status-checks.png) + +### Non-aggregated status checks + +Non-aggregated status checks send your VCS provider a status check for each triggered workspace and related run stage in response to a VCS event. For example, a VCS push triggers checks for each related workspace's run stages, including the plan operation, policy checks, cost estimation, run tasks, and more. + +If you have a manageable amount of workspaces and want to visualize status checks on your VCS Provider rather than in HCP Terraform, use non-aggregated status checks. + +![Screenshot: Organization Non-aggregated status checks](/img/docs/organization-vcs-general-non-aggregated-status-checks.png) + +#### Send passing commit statuses + +-> **Note:** Organization owners can only enable the **Send passing commit statuses** setting if the **Aggregated status checks** setting is disabled. + +Workspaces that use part of a shared repository do not typically run plans for changes that do not affect their files. This includes [speculative plans](/terraform/enterprise/run/remote-operations#speculative-plans) on pull requests. Since **pending** VCS status checks can block pull requests, workspaces automatically send passing commit statuses for any PRs that do not affect their files. + +You can disable this behavior if it creates too many status checks for your VCS provider. You may want to do this if you have a large number of workspaces sharing one VCS repository. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/permissions.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/permissions.mdx new file mode 100644 index 0000000000..b57deb14a8 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/permissions.mdx @@ -0,0 +1,396 @@ +--- +page_title: Permission model in Terraform Enterprise +description: >- + Use the Terraform Enterprise permission model to manage user access to + organizations, projects, and workspaces. +source: terraform-docs-common +--- + +# Permission model + + + +-> **Note:** Team management is available in HCP Terraform **Standard** Edition. [Learn more about HCP Terraform pricing here](https://www.hashicorp.com/products/terraform/pricing). + + + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +> **Hands-on:** Try the [Manage Permissions in HCP Terraform](/terraform/tutorials/cloud/cloud-permissions?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial. + +HCP Terraform's access model is team-based. In order to perform an action within an HCP Terraform organization, users must belong to a team that has been granted the appropriate permissions. + +The HCP Terraform permissions model is split into three levels: you can set organization-level, project-level, and workspace-level permissions. Each permission level is additive, granting a user the highest level of permissions possible, regardless of which level set that permission. + +A team's _effective permissions_ is the sum of the permissions granted to that team from all permission levels. For example, if a team has the **View all workspaces** permission at the organization-level and **Admin** permission on a specific workspace, then users on that team have the effective permission of **Admin** on that workspace. An organization-level permission does not take precedence over a workspace-level permission. + +We recommend following the principle of least privilege when configuring permissions, only giving teams access to the resources they need for their job function. When configuring permissions at a particular level, remember that a team may have permissions above or below in the hierarchy that grant a higher level of permission than what you are currently configuring. + +## Organization Owners + +Every organization has a special team called the **Owners** team, whose members have the maximum available permissions within the organization. Members of this team are often referred to as "organization owners". + +Organization owners have every available permission within the organization. This includes all organization-level permissions, and the highest level of workspace permissions on every workspace. + +There are also some actions within an organization that are only available to owners. These are generally actions that affect the permissions and membership of other teams, or are otherwise fundamental to the organization's security and integrity. + +Permissions for the owners team include: + +- Manage workspaces (refer to [Organization Permissions][] below; equivalent to admin permissions on every workspace) +- Manage projects (refer to [Organization Permissions][] below; equivalent to admin permissions on every project and workspace) +- Manage policies (refer to [Organization Permissions][] below) +- Manage policy overrides (refer to [Organization Permissions][] below) +- Manage VCS settings (refer to [Organization Permissions][] below) +- Manage the private registry (refer to [Organization Permissions][] below) +- Manage Membership (refer to [Organization Permissions][] below; invite or remove users from the organization itself, and manage the membership of its teams) +- View all secret teams (refer to [Organization Permissions][] below) +- Manage agents (refer to [Organization Permissions][] below) +- Manage organization permissions (refer to [Organization Permissions][] below) +- Manage all organization settings (owners only) +- Manage organization billing (owners only, not applicable to Terraform Enterprise) +- Delete organization (owners only) + +This list is not necessarily exhaustive. + +[Organization Permissions]: #organization-permissions + +## Workspace Permissions + +[workspace]: /terraform/enterprise/workspaces + +Most of HCP Terraform's permissions system is focused on workspaces. In general, administrators want to delegate access to specific collections of infrastructure; HCP Terraform implements this by granting permissions to teams on a per-workspace basis. + +There are two ways to choose which permissions a given team has on a workspace: fixed permission sets, and custom permissions. Additionally, there is a special "admin" permission set that grants the highest level of permissions on a workspace. + +### Implied Permissions + +Some permissions imply other permissions; for example, the run access plan permission also grants permission to read runs. + +If documentation or UI text states that an action requires a specific permission, it is also available for any permission that implies that permission. + +### General Workspace Permissions + +[General Workspace Permissions]: #general-workspace-permissions + +The following workspace permissions can be granted to teams on a per-workspace basis. They can be granted via either fixed permission sets or custom workspace permissions. + +-> **Note:** Throughout the documentation, we refer to the specific permission an action requires (like "requires permission to apply runs") rather than the fixed permission set that includes that permission (like "requires write access"). + +- **Run access:** + - **Read:** — Allows users to view information about remote Terraform runs, including the run history, the status of runs, the log output of each stage of a run (plan, apply, cost estimation, policy check), and configuration versions associated with a run. + - **Plan:** — _Implies permission to read._ Allows users to queue Terraform plans in a workspace, including both speculative plans and normal plans. Normal plans must be approved by a user with permission to apply runs. This also allows users to comment on runs. + - **Apply:** — _Implies permission to plan._ Allows users to approve and apply Terraform plans, causing changes to real infrastructure. +- **Variable access:** + - **No access:** — No access is granted to the values of Terraform variables and environment variables for the workspace. + - **Read:** — Allows users to view the values of Terraform variables and environment variables for the workspace. Note that variables marked as sensitive are write-only, and can't be viewed by any user. + - **Read and write:** — _Implies permission to read._ Allows users to edit the values of variables in the workspace. +- **State access:** + + - **No access:** — No access is granted to the state file from the workspace. + - **Read outputs only:** — Allows users to access values in the workspace's most recent Terraform state that have been explicitly marked as public outputs. Output values are often used as an interface between separate workspaces that manage loosely coupled collections of infrastructure, so their contents can be relevant to people who have no direct responsibility for the managed infrastructure but still indirectly use some of its functions. This permission is required to access the [State Version Outputs](/terraform/enterprise/api-docs/state-version-outputs) API endpoint. + + -> **Note:** **Read state versions** permission is required to use the `terraform output` command or the `terraform_remote_state` data source against the workspace. + - **Read:** — _Implies permission to read outputs only._ Allows users to read complete state files from the workspace. State files are useful for identifying infrastructure changes over time, but often contain sensitive information. + - **Read and write:** — _Implies permission to read._ Allows users to directly create new state versions in the workspace. Applying a remote Terraform run creates new state versions without this permission, but if the workspace's execution mode is set to "local", this permission is required for performing local runs. This permission is also required to use any of the Terraform CLI's state manipulation and maintenance commands against this workspace, including `terraform import`, `terraform taint`, and the various `terraform state` subcommands. +- **Other controls:** + - **Download Sentinel mocks:** — Allows users to download data from runs in the workspace in a format that can be used for developing Sentinel policies. This run data is very detailed, and often contains unredacted sensitive information. + - **Manage Workspace Run Tasks:** — Allows users to associate or dissociate run tasks with the workspace. HCP Terraform creates Run Tasks at the organization level, where you can manually associate or dissociate them with specific workspaces. + - **Lock/unlock workspace:** — Allows users to manually lock the workspace to temporarily prevent runs. When a workspace's execution mode is set to "local", users must have this permission to perform local CLI runs using the workspace's state. + +### Fixed Permission Sets + +Fixed permission sets are bundles of specific permissions for workspaces, which you can use to delegate access to workspaces easily. + +Each permissions set targets a level of authority and responsibility for a given workspace's infrastructure. A permission set can grant permissions that recipients do not require but offer a balance of simplicity and utility. + +#### Workspace Admins + +Much like the owners team has full control over an organization, each workspace has a special "admin" permissions level that grants full control over the workspace. Members of a team with admin permissions on a workspace are sometimes called "workspace admins" for that workspace. + +Admin permissions include the highest level of general permissions for the workspace. There are also some permissions that are only available to workspace admins, which generally involve changing the workspace's settings or setting access levels for other teams. + +Workspace admins have all [General Workspace Permissions](#general-workspace-permissions), as well as the ability to do the following tasks: + +- Read and write workspace settings. This includes general settings, notification configurations, run triggers, and more. +- Set or remove workspace permissions for visible teams. Workspace admins cannot view or manage teams with the [**Secret**](/terraform/enterprise/users-teams-organizations/teams/manage#team-visibility) visibility option enabled unless they are also organization owners. +- Delete the workspace + - Depending on the [organization's settings](/terraform/enterprise/users-teams-organizations/organizations#general), workspace admins may only be able to delete the workspace if it is not actively managing infrastructure. Refer to [Deleting a Workspace With Resources Under Management](/terraform/enterprise/workspaces/settings#deleting-a-workspace-with-resources-under-management) for details. + +#### Write + +The "write" permission set is for people who do most of the day-to-day work of provisioning and modifying managed infrastructure. Write access grants the following workspace permissions: + +- Run access - Apply +- Variable access - Read and write +- State access - Read and write +- Other access - Lock/unlock workspace +- Other access - Download Sentinel mocks + +See [General Workspace Permissions][] above for details about specific permissions. + +#### Plan + +The "plan" permission set is for people who might propose changes to managed infrastructure, but whose proposed changes should be approved before they are applied. Plan access grants the following workspace permissions: + +- Run access - Plan +- Variable access - Read +- State access - Read + +See [General Workspace Permissions][] above for details about specific permissions. + +#### Read + +The "read" permission set is for people who need to view information about the status and configuration of managed infrastructure in order to do their jobs, but aren't responsible for maintaining that infrastructure. Read access grants the following workspace permissions: + +- Run access - Read +- Variable access - Read +- State access - Read + +See [General Workspace Permissions][] above for details about specific permissions. + +### Custom Workspace Permissions + +Custom permissions let you assign specific, finer-grained permissions to a team than the broader fixed permission sets provide. This enables more task-focused permission sets and tighter control of sensitive information. + +You can use custom permissions to assign any of the permissions listed above under [General Workspace Permissions][], with the exception of admin-only permissions. + +The minimum custom permissions set for a workspace is the permission to read runs; the only way to grant a team lower access is to not add them to the workspace at all. + +Some permissions - such as the runs permission - are tiered: you can assign one permission per category, since higher permissions include all of the capabilities of the lower ones. + +## Project Permissions + +You can assign project-specific permissions to teams. + +### Implied Permissions + +Some permissions imply other permissions. For example, permission to update a project also grants permission to read a project. + +If an action states that it requires a specific permission level, you can perform that action if your permissions _imply_ the stated permission level. + +### General Project Permissions + +[General Project Permissions]: #general-project-permissions + +You can grant the following project permissions to teams on a per-project basis. You can grant these with either fixed permission sets or custom project permissions. + +-> **Note:** Throughout the documentation, we refer to the specific permission an action requires (like "requires permission to apply runs") rather than the fixed permission set that includes that permission (like "requires write access"). + +- **Project access:** + - **Read:** — Allows users to view information about the project including the name. + - **Update:** — _Implies permission to read._ Allows users to update the project name. + - **Delete:** — _Implies permission to update._ Allows users to delete the project. + - **Create Workspaces:** — Allow users to create workspaces in the project. This grants read access to all workspaces in the project. + - **Delete Workspaces:** — Allows users to delete workspaces in the project. + - Depending on the [organization's settings](/terraform/enterprise/users-teams-organizations/organizations#general), workspace admins may only be able to delete the workspace if it is not actively managing infrastructure. Refer to [Deleting a Workspace With Resources Under Management](/terraform/enterprise/workspaces/settings#deleting-a-workspace-with-resources-under-management) for details. + - **Move Workspaces:** — Allows users to move workspaces out of the project. A user _must_ have this permission on both the source _and_ destination project to successfully move a workspace from one project to another. +- **Team management:** + - **None:** — No access to view teams assigned to the project. + - **Read:** — Allows users to see teams assigned to the project for visible teams. + - **Manage:** — _Implies permission to read._ Allows users to set or remove project permissions for visible teams. Project admins can not view or manage [secret teams](/terraform/enterprise/users-teams-organizations/teams/manage#team-visibility) unless they are also organization owners. +- **Variable sets:** + - **None:** — No access to variable sets owned by the project. However, users with Variable access permissions can view variable sets applied to this project and its workspaces. + - **Read:** — Allows users to view variable sets owned by this project. + - **Manage:** — _Implies permission to read._ Allows users to create, update, and delete variable sets owned by the project. + +See [General Workspace Permissions](#general-workspace-permissions)for the complete list of available permissions for a project's workspaces. + +### Fixed Permission Sets + +Fixed permission sets are bundles of specific permissions for projects, which you can use to delegate access to a project's workspaces easily. + +#### Project Admin + +Each project has an "admin" permissions level that grants permissions for both the project and the workspaces that belong to that project. Members with admin permissions on a project are dubbed that project's "project admins". + +Members of teams with "admin" permissions for a project have [General Workspace Permissions](#general-workspace-permissions) for every workspace in the project, and the ability to: + +- Read and update project settings. +- Delete the project. +- Create workspaces in the project. +- Move workspaces into or out of the project. This also requires project admin permissions for the source or destination project. +- Grant or revoke project permissions for visible teams. Project admins **cannot** view or manage access for teams that are are [Secret](/terraform/enterprise/users-teams-organizations/teams/manage#team-visibility), unless those admins are also organization owners. + +#### Maintain + +The "maintain" permission is for people who need to manage existing infrastructure in a single project, while also granting the ability to create new workspaces in that project. Maintain access grants full control of everything in the project, including the following permissions: + +- Admin access for all workspaces in this project. +- Create workspaces in this project. +- Read the project name. +- Lock and unlock all workspaces in this project. +- Read and write variables for all workspaces in this project. +- Access state for all workspaces in this project. +- Approve runs for all workspaces in this project. + +#### Write + +The "write" permission set is for people who do most of the day-to-day work of provisioning and modifying managed infrastructure. Write access grants the following workspace permissions: + +- Read the project name. +- Lock and unlock all workspaces in this project. +- Read and write variables for all workspaces in this project. +- Access state for all workspaces in this project. +- Approve runs for all workspaces in this project. + +#### Read + +The "read" permission set is for people who need to view information about the status and configuration of managed infrastructure for their job function, but are not responsible for maintaining that infrastructure. Read access grants the permissions to: + +- Read the project name. +- Read the workspaces in the project. + +### Custom Project Permissions + +Custom permissions enable you to assign specific and granular permissions to a team. You can use custom permission sets to create task-focused permission sets and control sensitive information. + +You can create a set of custom permissions using any of the permissions listed under [General Project Permissions](#general-project-permissions). + +Some permissions, such as the project access permission, are tiered. You can only assign one permission per category because higher-level permissions include the capabilities of lower levels. + +## Organization Permissions + +Separate from project and workspace permissions, you can grant teams permissions to manage or view certain resources or settings across an organization. To set these permissions for a team, go to your organization's **Settings**. Then click **Teams**, and select the team name from the list. + +The following organization permissions are available: + +### Project permissions + +You must select a level of access for projects. + +#### None + +Members do not have access to projects or workspaces. You can grant permissions to individual projects or workspaces through [Project Permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) or [Workspace Permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions). + +#### View all projects + +Members can view all projects within the organization. This lets users: + +- View project names in a given organization. + +#### Manage all projects + +Members can create and manage all projects and workspaces within the organization. In addition to the permissions granted by [“Manage all workspaces”](/terraform/enterprise/users-teams-organizations/permissions#manage-all-workspaces), this also lets users: + +- Manage other teams' access to all projects. +- Create, edit, and delete projects (otherwise only available to organization owners). +- Move workspaces between projects. + +### Workspace permissions + +You must select a level of access for workspaces. + +#### None + +Members do not have access to projects or workspaces. You can grant permissions to individual projects or workspaces through [Project Permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) or [Workspace Permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions). + +#### View all workspaces + +Members can view all workspaces within the organization. This lets users: + +- View information and features relevant to each workspaces (e.g. runs, state versions, variables). + +#### Manage all workspaces + +Members can create and manage all workspaces within the organization. This lets users: + +- Perform any action that requires admin permissions in those workspaces. +- Create new workspaces within the organization's **Default Project**, an action that is otherwise only available to organization owners. +- Create, update, and delete [Variable Sets](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). + +### Manage Policies + +Allows members to create, edit, read, list and delete the organization's Sentinel policies. + +This permission implicitly gives permission to read runs on all workspaces, which is necessary to set enforcement of [policy sets](/terraform/enterprise/policy-enforcement/manage-policy-sets). + +### Manage Run Tasks + +Allows members to create, edit, and delete run tasks on the organization. + +### Manage Policy Overrides + +Allows members to override soft-mandatory policy checks. + +This permission implicitly gives permission to read runs on all workspaces, which is necessary to override policy checks. + +### Manage VCS Settings + +Allows members to manage the set of [VCS providers](/terraform/enterprise/vcs) and [SSH keys](/terraform/enterprise/vcs#ssh-keys) available within the organization. + +### Manage Agent Pools + +Allows members to create, edit, and delete agent pools within their organization. + +This permission implicitly grants access to read all workspaces, which is necessary for agent pool management. + +### Manage Private Registry + +Allows members to publish and delete providers, modules, or both providers and modules in the organization's [private registry](/terraform/enterprise/registry). These permissions are otherwise only available to organization owners. + +### Team Management Permissions + +HCP Terraform has three levels of team management permissions: manage membership, manage teams, and manage organization access. Each permission level grants users the ability to perform specific actions and each progressively requires prerequisite permissions. + +For example, to grant a user the manage teams permission, that user must already have manage membership permissions. To grant a user the manage organization access permission, a user must have both manage teams and manage membership permissions. + +#### Manage Membership + +Allows members to invite users to the organization, remove users from the organization, and add or remove users from teams within the organization. + +This permission grants the ability to view the list of users within the organization, and to view the organization access of other visible teams. It does not permit the creation of teams, the ability to modify the settings of existing teams, or the ability to view secret teams. + +In order to modify the membership of a team, a user with Manage Membership permissions must have visibility into the team (i.e. the team must be ["Visible"](/terraform/enterprise/users-teams-organizations/teams/manage#team-visibility), or the user must be on the team). +In order to remove a user from the organization, the holder of this permission must have visibility into all of the teams which the user is a member of. + +~> This permission is intended to allow owners of large organizations to delegate membership management to another trusted team, and should be granted to only teams of trusted users. **Assign with caution:** Users with this permission are able to add themselves to any visible team, and inherit the permissions of any visible team. + +#### Manage Teams + +Allows members to create, update, and delete teams, and generate, and revoke tokens. + +This permission grants the ability to update a team's names, SSO IDs, and token management permissions, but does not allow access to organization settings. On its own, this permission does not allow users to create, update, delete, or otherwise access secret teams. + +The manage teams permission confers all permissions granted by the manage membership permission. + +This permission allows owners of large organizations to delegate team management to another trusted team. You should only grant it to teams of trusted users. + +~> **Assign with caution**: Users with this permission can update or delete any visible team. Because this permission also confers the manage membership permission, a user with the manage teams permission can add themselves to any visible team. + +#### Manage Organization Access + +Allows members to update a team's organization access settings. + +On its own, this permission does not allow users to create, update, delete, or otherwise access secret teams. This permission confers all of the permissions granted by the manage teams and manage membership permissions. + +This permission allows owners of large organizations to delegate team management to another trusted team. You should only grant it to teams of trusted users. + +~> **Assign with caution:** Members with this permission can update all organization access settings for any team visible to them. + +### Include Secret Teams + +Allows members access to secret teams at the level permitted by that user's team permissions setting. + +This permission acts as a modifier to existing team management permissions. Members with this permission can access secret teams up to the level permitted by other team management permissions. For example, if a user has permission to include secret teams and [manage teams](/terraform/enterprise/users-teams-organizations/permissions#manage-teams), that user can create secret teams. + +### Allow Member Token Management + +Allows owners and members with [manage teams](/terraform/enterprise/users-teams-organizations/permissions#manage-teams) permissions to enable and disable team token management for team members. This permission defaults to `true`. + +When member token management is enabled, members will be able to perform actions on team tokens, including generating and revoking a team token. + +When member token management is disabled, members will be unable to perform actions on team tokens, including generating and revoking a team token. + +## Permissions Outside HCP Terraform's Scope + +This documentation only refers to permissions that are managed by HCP Terraform itself. + +Since HCP Terraform integrates with other systems, the permissions models of those systems can also be relevant to the overall security model of your HCP Terraform organization. For example: + +- When a workspace is connected to a VCS repository, anyone who can merge changes to that repository's main branch can indirectly queue plans in that workspace, regardless of whether they have explicit permission to queue plans or are even a member of your HCP Terraform organization. (And when auto-apply is enabled, merging changes will indirectly apply runs.) +- If you use HCP Terraform's API to create a Slack bot for provisioning infrastructure, anyone able to issue commands to that Slack bot can implicitly act with that bot's permissions, regardless of their own membership and permissions in the HCP Terraform organization. +- When a run task sends a request to an integrator, it provides an access token that provides access depending on the run task stage: + - For post-plan, it provides access to the runs plan json and the run task callback + - All access tokens created for run tasks have a lifetime of 10 minutes + +When integrating HCP Terraform with other systems, you are responsible for understanding the effects on your organization's security. An integrated system is able to delegate any level of access that it has been granted, so carefully consider the conditions and events that will cause it to delegate that access. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/index.mdx new file mode 100644 index 0000000000..1be3015653 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/index.mdx @@ -0,0 +1,59 @@ +--- +page_title: Teams overview +description: >- + Teams are a group of users within an organization. Learn about managing teams, + team membership, team permissions, and more. +source: terraform-docs-common +--- + +[organizations]: /terraform/enterprise/users-teams-organizations/organizations + +[organization settings]: /terraform/enterprise/users-teams-organizations/organizations#organization-settings + +[users]: /terraform/enterprise/users-teams-organizations/users + +# Teams overview + +Teams are groups of HCP Terraform [users][] within an [organization][organizations]. If a user belongs to at least one team in an organization, they are considered a member of that organization. + + + +@include 'tfc-package-callouts/team-management.mdx' + + + +An organization can [grant workspace permissions to teams](/terraform/enterprise/users-teams-organizations/teams/manage#managing-workspace-access) that allow its members to start Terraform runs, create workspace variables, read and write state, and more. Teams can only have permissions on workspaces within their organization, although individual users can belong to multiple teams in this and other organizations. + +> **Hands-on:** Try the [Manage Permissions in HCP Terraform](/terraform/tutorials/cloud/cloud-permissions?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial. + +## Accessing teams with the API or TFE provider + +In addition to the HCP Terraform UI, you can use the following methods to manage teams: + +- [Teams API](/terraform/enterprise/api-docs/teams) to list, create, update, and delete teams +- [Team Members API](/terraform/enterprise/api-docs/team-members) to add and delete users from teams +- [Team Tokens API](/terraform/enterprise/api-docs/team-tokens) to generate and delete tokens and list an organization's team tokens +- [Team Access API](/terraform/enterprise/api-docs/team-access) to manage team access to one or more workspaces +- The `tfe` provider resources [`tfe_team`](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/team), [`tfe_team_members`](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/team_members), and `tfe_team_access` + +### API tokens + +Each team can have an API token not associated with a specific user. You can manage a team's API token from the **Organization settings > API Tokens > Team Token** page. You can create, regenerate, and delete team tokens on the API token page. Refer to [Team API Tokens](/terraform/enterprise/users-teams-organizations/api-tokens#team-api-tokens) for details. + +## The owners team + +Every organization has an owners team, and members of the owners team are sometimes called organization owners. An organization's creator is the first member of its owner's team. You can add and remove other members in the same way as you can with other teams. In free organizations, the owner's team is limited to five members. In paid organizations, the size of the owner's team is unlimited. + +You cannot delete or leave the owner's team empty. If only one member in an owner's team exists, you must add another user before removing the current member. + +Refer to [organization owners](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) for more details about owners team permissions. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Manage teams + +You can manage many things about teams, including creating and deleting a team, team membership, and team access to workspaces, projects, and organizations. Refer to [Manage teams](/terraform/enterprise/users-teams-organizations/teams/manage) to learn more. + +## Team notifications + +You can set up team notifications to notify team members on external systems whenever a particular action takes place. Refer to [Notifications](/terraform/enterprise/users-teams-organizations/teams/notifications) to learn more. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/manage.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/manage.mdx new file mode 100644 index 0000000000..63e0331297 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/manage.mdx @@ -0,0 +1,109 @@ +--- +page_title: Manage teams +description: >- + Learn how to manage team creation, team deletion, team membership, and team + access to workspaces, projects, and organizations. +source: terraform-docs-common +--- + +# Manage teams + +You can grant team management abilities to members of teams with either one of the manage teams or manage organization access permissions. Refer to [Team Permissions](/terraform/enterprise/users-teams-organizations/permissions#team-permissions) for details. + +[Organization owners](/terraform/enterprise/users-teams-organizations/teams#the-owners-team) can also create teams, assign team permissions, or view the full list of teams. Other users can view any teams marked as visible within the organization, plus any secret teams they are members of. Refer to [Team Visibility](#team-visibility) for details. + +To manage teams, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to manage teams. +2. Choose **Settings** from the sidebar, then **Teams**. The **Team Management** page appears, containing a list of all teams within the organization. +3. Click a team to go to its settings page, which lists the team's settings and current members. Members that have [two-factor authentication](/terraform/enterprise/users-teams-organizations/2fa) enabled have a **2FA** badge. + +You can manage a team on its settings page by adding or removing members, changing its visibility, and controlling access to workspaces, projects, and the organization. + +## Create teams + +To create a new team, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to create a team. +2. Choose **Settings** from the sidebar, then **Teams**. +3. Click **Create a team**. +4. Enter a unique team **Name** and click **Create Team**. Team names can include numbers, letters, underscores (`_`), and hyphens (`-`). + +The new team's settings page appears, where you can add new members and grant permissions. + +## Delete teams + +~> **Important:** Team deletion is permanent, and you cannot undo it. + +To delete a team, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to delete a team. +2. Choose **Settings** from the sidebar, then **Teams**. The **Team Management** page appears, containing a list of all teams within the organization. +3. Click the team you want to delete to go to its settings page. +4. Click **Delete [team name]** at the bottom of the page. The **Deleting team "[team name]"** box appears. +5. Click **Yes, delete team** to permanently delete the team and all of its data from HCP Terraform. + +## Manage team membership + +Team structure often resembles your company's organizational structure. + +### Add users + +If the user is not yet in the organization, [invite them to join the organization](/terraform/enterprise/users-teams-organizations/organizations#users) and include a list of teams they should belong to in the invitation. Once the user accepts the invitation, HCP Terraform automatically adds them to those teams. + +To add a user that is already in the organization: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add a user to a team. +2. Choose **Settings** from the sidebar, then **Teams**. +3. Click on a team's name to go to its settings page. +4. Choose a user under **Add a New Team Member**. Use the text field to filter the list by username or email. +5. Click the user to add them to the team. HCP Terraform now displays the user under **Members**. + +### Remove users + +To remove a user from a team: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to remove a user from a team. +2. Choose **Settings** from the sidebar, then **Teams**. +3. Click the team to go to its settings page. +4. Click **...** next to the user's name and choose **Remove from team** from the menu. HCP Terraform removes the user from the list of team members. + +## Team visibility + +The settings under **Visibility** allow you to control who can see a team within the organization. To edit a team's visibility: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to view teams. +2. Choose **Settings** from the sidebar, then **Teams**. +3. Click on a team's name to navigate to its settings page. +4. Enable one of the following settings: + - **Visible:** Every user in the organization can see the team and its membership. Non-members have read-only access. + - **Secret:** The default setting is that only team members and organization owners can view a team and its membership. + +We recommend making the majority of teams visible to simplify workspace administration. Secret teams should only have +[organization-level permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) since workspace admins cannot manage permissions for teams they cannot view. + +## Manage workspace access + +You can grant teams various permissions on workspaces. Refer to [Workspace Permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions) for details. + +HCP Terraform uses the most permissive permission level from your teams to determine what actions you can take on a particular resource. For example, if you belong to a team that only has permission to read runs for a workspace and another team with admin access to that workspace, HCP Terraform grants you admin access. + +HCP Terraform grants the most permissive permissions regardless of whether an organization, project, team, or workspace set those permissions. For example, if a team has permission to read runs for a given workspace and has permission to manage that workspace through the organization, then members of that team can manage that workspace. Refer to [organization permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) and [project permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) for additional information. + +Another example is when a team has permission at the organization-level to read runs for all workspaces and admin access to a specific workspace. HCP Terraform grants the more permissive admin permissions to that workspace. + +To manage team permissions on a workspace: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace where you want to set team permissions. +2. Choose **Settings** from the sidebar, then **Team Access**. +3. Click **Add team and permissions** to select a team and assign a pre-built or custom permission set. + +## Manage project access + +You can grant teams permissions to manage a project and the workspaces that belong to it. Refer to [Project Permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) for details. + +## Manage organization access + +Organization owners can grant teams permissions to manage policies, projects and workspaces, team and organization membership, VCS settings, private registry providers and modules, and policy overrides across an organization. Refer to [Organization Permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) for details. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/notifications.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/notifications.mdx new file mode 100644 index 0000000000..f13ba68a18 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/teams/notifications.mdx @@ -0,0 +1,132 @@ +--- +page_title: Manage team notifications +description: >- + Learn how to set up team notifications to notify team members on external + systems whenever a particular action takes place. +source: terraform-docs-common +--- + +# Manage team notifications + +HCP Terraform can use webhooks to notify external systems about run progress, change requests, and other events. Team notifications allow you to configure relevant alerts that notify teams you specify whenever a certain event occurs. + +@include 'tfc-package-callouts/notifications.mdx' + +You can configure an individual team notification to notify up to twenty teams. To set up notifications for teams using the API, refer to the [Notification API](/terraform/enterprise/api-docs/notification-configurations#team-notification-configuration). + +## Requirements + +To configure team notifications, you need the [**Manage teams**](/terraform/enterprise/users-teams-organizations/permissions#manage-teams) permissions for the team for which you want to configure notifications. + +## View notification configuration settings + +To view your current team notifications, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to view the team notifications of. +2. Choose **Settings** from the sidebar, then **Teams**. +3. Select the team for which you want to view the notifications from your list of teams. +4. Select **Notifications** in the sidebar navigation. + +HCP Terraform displays a list of any notification configurations you have set up. A notification configuration defines how and when you want to send notifications, and once you enable that configuration, it can send notifications. + +### Update and enable notification configurations + +Each notification configuration includes a brief overview of each configuration’s name, type, the events that can trigger the notification, and the last time the notification was triggered. Clicking on a notification configuration opens a page where you can perform the following actions: + +- Enable your configuration to send notifications by toggling the switch. +- Delete a configuration by clicking **Delete notification**, then **Yes, delete notification configuration**. +- Test your notification’s configuration by clicking **Send test**. +- Click **Edit notification** to edit your notification configuration. + +After creating a notification configuration, you can only edit the following aspects of that configuration: + +1. The configuration’s name. +2. Whether this configuration notifies everyone on a team or specific members. +3. The workspace events that trigger notifications. You can choose from: + - **All events** triggers a notification for every event in your workspace. + - **No events** means that no workspace events trigger a notification. + - **Only certain events** lets you specify which events trigger a notification. + +After making any changes, click **Update notification** to save your changes. + +## Create and configure a notification + +To configure a new notification for a team or a user, perform the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization you want to create a team notification in. +2. Choose **Settings** from the sidebar, then **Teams**. +3. Select the team you want to view the notifications for from your list of teams. +4. Select **Notifications** in the sidebar navigation. +5. Click **Create a notification**. + +You must complete the following fields for all new notification configurations: + +1. The **Destination** where HCP Terraform should deliver either a generic or a specifically formatted payload. Refer to [Notification payloads](#notification-payloads) for details. +2. The display **Name** for this notification configuration. +3. If you configure an email notification, you can optionally specify which **Email Recipients** will receive this notification. +4. If you choose to configure a webhook, you must also specify: + - A **Webhook URL** for the destination of your webhook payload. Your URL must accept HTTP or HTTPS `POST` requests and be able to use the chosen payload type. + - You can optionally configure a **Token** as an arbitrary secret string that HCP Terraform will use to sign its notification webhooks. Refer to [Notification authenticity](#notification-authenticity) for details. You cannot view the token after you save the notification configuration. +5. If you choose to specify either a **Slack** or **Microsoft Teams** notification, you must also configure your webhook URL for either service. For details, refer to Slack's documentation on [creating an incoming webhook](https://api.slack.com/messaging/webhooks#create_a_webhook) and Microsoft's documentation on [creating a workflow from a channel in teams](https://support.microsoft.com/en-us/office/creating-a-workflow-from-a-channel-in-teams-242eb8f2-f328-45be-b81f-9817b51a5f0e). +6. Specify which [**Workspace events**](#workspace-events) should trigger this notification. +7. After you finish configuring your notification, click **Create a notification**. + +Note that if you are create an email notification, you must have [**Manage membership**](/terraform/enterprise/users-teams-organizations/permissions#manage-membership) permissions on a team to select users from that team as email recipients. + +### Workspace events + +HCP Terraform can send notifications for all workspace events, no workspace events, or specific events. The following events are available for you to specify: + +| Event | Description | +| :-------------- | :-------------------------------------------------------------------------------------------------------------------------- | +| Change Requests | HCP Terraform will notify this team whenever someone creates a change request on a workspace to which this team has access. | + +## Enable and verify a notification + +To configure HCP Terraform to stop sending notifications for a notification configuration, disable the **Enabled** setting on a configuration's detail page . + +HCP Terraform enables notifications for email configurations by default. Before enabling any webhook notifications, HCP Terraform attempts to verify the notification’s configuration by sending a test message. If the test succeeds, HCP Terraform enables the notification. + +To verify a notification configuration, the destination must respond with a `2xx` HTTP code. If verification fails, HCP Terraform does not enable the configuration and displays an error message. + +For successful and unsuccessful verifications, click the **Last Response** box to view more information about the verification results. You can also send additional test messages by clicking **Send a Test**. + +## Notification Payloads + +Notification payloads contain different attributes depending on the integration you specified when configuring that notification. + +### Slack + +Notifications to Slack contain the following information: + +- Information about the change request, including the username and avatar of the person who created the change request. +- The event that triggered the notification and the time that event occurred. + +### Microsoft Teams + +Notifications to Microsoft Teams contain the following information: + +- Information about the change request, including the username and avatar of the person who created the change request. +- The event that triggered the notification and the time that event occurred. + +### Email + +Email notifications contain the following information: + +- Information about the change request, including the username and avatar of the person who created the change request. +- The event that triggered the notification and the time that event occurred. + +### Generic + +A generic notification contains information about the event that triggered it and the time that the event occurred. You can refer to the complete generic notification payload in the [API documentation](/terraform/enterprise/api-docs/notification-configurations#notification-payload). + +You can use some of the values in the payload to retrieve additional information through the API, such as: + +- The [workspace ID](/terraform/enterprise/api-docs/workspaces#list-workspaces) +- The [organization name](/terraform/enterprise/api-docs/organizations#show-an-organization) + +## Notification Authenticity + +Slack notifications use Slack's own protocols to verify HCP Terraform's webhook requests. + +Generic notifications can include a signature to verify the request. For notification configurations that include a secret token, HCP Terraform's webhook requests include an `X-TFE-Notification-Signature` header containing an HMAC signature computed from the token using the SHA-512 digest algorithm. The notification’s receiving service is responsible for validating the signature. For more information and an example of how to validate the signature, refer to the [API documentation](/terraform/enterprise/api-docs/notification-configurations#notification-payload). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/users.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/users.mdx new file mode 100644 index 0000000000..aa24a43750 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/users-teams-organizations/users.mdx @@ -0,0 +1,215 @@ +--- +page_title: Create and manage users in Terraform Enterprise +description: Learn how to create and manage users in Terraform Enterprise. +source: terraform-docs-common +--- + +[organizations]: /terraform/enterprise/users-teams-organizations/organizations + +[teams]: /terraform/enterprise/users-teams-organizations/teams + +[invite]: /terraform/enterprise/users-teams-organizations/organizations#users + +[owners]: /terraform/enterprise/users-teams-organizations/teams#the-owners-team + +# Create and manage users + +User accounts belong to individual people. Each user can be part of one or more [teams](/terraform/enterprise/users-teams-organizations/teams), which are granted permissions on workspaces within an organization. A user can be a member of multiple [organizations][]. + +## API + +Use the [Account API](/terraform/enterprise/api-docs/account) to get account details, update account information, and change your password. + + + +## Log in with a HashiCorp Cloud Platform account + +We recommend using a [HashiCorp Cloud Platform (HCP)](https://portal.cloud.hashicorp.com/sign-up) account to log in to HCP Terraform. Your HCP Account grants access to every HashiCorp product and the Terraform Registry. If you use an HCP Account, you manage account settings like multi-factor authentication and password resets from within HCP instead of the HCP Terraform UI. + +To log in with your HCP account, navigate to [HCP Terraform](https://app.terraform.io/) and click **Continue with HCP account**. HCP Terraform may ask if you want to link your account. + +### Linking HCP and HCP Terraform accounts + +The first time you log in with your HCP credentials, HCP Terraform searches for an existing HCP Terraform account with the same email address. If you have an unlinked account, HCP Terraform asks if you want to link it to your HCP account. Otherwise, if no account matches your HCP account's email address, HCP Terraform creates and automatically links a new HCP Terraform account to your HCP account. + +> **Note**: You can only log in with your HCP credentials after linking your HCP and HCP Terraform accounts. We do not recommend linking your account if you use an SSO provider to log in to HCP Terraform because linking your account may conflict with your existing SSO configuration. + +The only way to log in with your old HCP Terraform credentials is to unlink your HCP Terraform and HCP accounts. If HCP Terraform generated an account for you, you cannot unlink that account from your HCP account. You can unlink a pre-existing HCP Terraform account on the [HCP Account Linking page](#hcp-account-linking) in your **Account settings**. + + + +## Creating an account + +To use HCP Terraform or Enterprise, you must create an account through one of the following methods: + +- **Invitation Email:** When a user sends you an invitation to join an existing HCP Terraform organization, the email includes a sign-up link. After you create an account, you can automatically join that organization and can begin using HCP Terraform. +- **Sign-Up Page:** Creating an account requires a username, an email address, and a password. [Sign up on HCP Terraform](https://app.terraform.io/public/signup/account) or if you have a Terraform Enterprise instance, go to `https:///public/signup/account`. + +After you create an account, you do not belong to any organizations. To begin using HCP Terraform, you can either [create an organization](/terraform/enterprise/users-teams-organizations/organizations#creating-organizations) or ask an organization owner to send you an invitation email to join their organization. + + + +We recommend logging into HCP Terraform [with your HCP account](#log-in-with-your-hashicorp-cloud-platform-account) instead of creating a separate HCP Terraform account. + + + +## Joining organizations and teams + +An organization owner or a user with [**Manage Membership**](/terraform/enterprise/users-teams-organizations/permissions#manage-membership) permissions enabled must [invite you to join their organization](/terraform/enterprise/users-teams-organizations/organizations#users) and [add you to one or more teams](/terraform/enterprise/users-teams-organizations/teams/manage#manage-team-membership). + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +HCP Terraform sends user invitations by email. If the invited email address matches an existing HCP Terraform account, the invitee can join the organization with that account. Otherwise, they must create a new account and then join the organization. + +## Site admin permissions + +On Terraform Enterprise instances, some user accounts have a special site admin permission that allows them to administer the entire instance. + +Admin permissions are distinct from normal organization-level permissions, and they apply to a different set of UI controls and API endpoints. Admin users can administer any resource across the instance when using the site admin pages or the [admin API](/terraform/enterprise/api-docs/admin), but they have normal user permissions when using an organization's standard UI controls and API endpoints. These normal user permissions are determined by team membership. + +Refer to [Administering Terraform Enterprise](/terraform/enterprise/admin) for more details. + +## Account settings + +To view your settings page, click your user icon and select **Account settings**. Your **Profile** page appears, showing your username, email address, and avatar. + +### Profile + +Click **Profile** in the sidebar to view and edit the username and email address associated with your HCP Terraform account. + +~> **Important:** HCP Terraform includes your username in URL paths to resources. If external systems make requests to these resources, you must update them before you change your username. + +HCP Terraform uses [Gravatar](http://en.gravatar.com) to display a user icon if you have associated one with your email address. Refer to the [Gravatar documentation](http://en.gravatar.com/support/) for details about changing your user icon. + +### Sessions + +Click **Sessions** in the sidebar to view a list of sessions associated with your HCP Terraform account. You can revoke any sessions you do not recognize. + + + +There are two types of Terraform accounts, standalone HCP Terraform accounts and HCP Terraform accounts linked to HCP accounts. + +### Idle session timeout + +HCP Terraform automatically terminates user sessions if there has been no end-user activity for a certain time period: + +- Standalone HCP Terraform accounts can stay idle and valid for up to 14 days by default +- HCP Terraform accounts linked to an HCP account follow the HCP defaults and can stay idle for 1 hour by default + +After HCP Terraform terminates a session, you can resume it by logging back in through the HCP Terraform portal. This is a security measure to prevent unauthorized access to unmonitored devices. + +-> **Note:** HCP Terraform organization owners can reduce the idle session timeout for an organization in the authentication settings for standalone HCP Terraform accounts, but cannot modify settings for HCP Terraform accounts linked to HCP accounts. + +### Forced re-authentication + +Forced re-authentication (e.g., “remember for”) makes a user re-authenticate, regardless of activity. This is a security measure to force a new identity verification to access sensitive IT and data managed by HCP Terraform. In this case, the user must re-authenticate their credentials and may be asked to verify 2FA/MFA again. + +- By default, standalone HCP Terraform accounts are forced to re-authenticate every 14 days +- By default, HCP Terraform accounts linked to an HCP account follow the HCP defaults and are forced to re-authenticate every 48 hours + +-> **Note:** HCP Terraform organization owners can reduce the idle session timeout for standalone HCP Terraform accounts, but cannot modify settings for HCP Terraform accounts linked to HCP accounts. + +### Impact to user experience + +The default re-authentication defaults force users to re-authenticate at the beginning of each work week (Monday through Friday). Note that several actions immediately terminate active sessions, including: + +- Manually logging out of the HCP or HCP Terraform portals +- Clearing browser session/cookies +- Closing all active browser windows + +Any of these actions requires you to re-authenticate regardless of session timeout settings. + + + +### Organizations + +Click **Organizations** in the sidebar to view a list of the organizations where you are a member. If you are on the [owners team][owners], the organization is marked with an **OWNER** badge. + +To leave an organization, click the ellipses (**...**) next to the organization and select **Leave organization**. You do not need permission from the owners to leave an organization, but you cannot leave if you are the last member of the owners team. Either add a new owner and then leave, or [delete the organization](/terraform/enterprise/users-teams-organizations/organizations#general). + +### Password + +Click **Password** in the sidebar to change your password. + +-> **Note:** Password management is not available if your Terraform Enterprise instance uses [SAML single sign on](/terraform/enterprise/saml/configuration). +-> **Note:** Passwords must be at least 10 characters in length, and you can use any type of character. Password management is not available if your Terraform Enterprise instance uses [SAML single sign on](/terraform/enterprise/saml/configuration). + +### Two-factor authentication + +Click **Two Factor Authentication** in the sidebar to enable two-factor authentication. Two-factor authentication requires a TOTP-compliant application or an SMS-capable phone number. An organization can set policies that require two-factor authentication. + +Refer to [Two-Factor Authentication](/terraform/enterprise/users-teams-organizations/2fa) for details. + + + +### HCP account linking + +Click **HCP Account Linking** in the sidebar to unlink your HCP Terraform from your HCP Account. You cannot unlink an account that HCP Terraform autogenerated during the linking process. Refer to [Linked HCP and HCP Terraform Accounts](#linked-hcp-and-hcp-terraform-accounts) for more details. + +After you unlink, you can begin using your HCP Terraform credentials to log in. You cannot log in with your HCP account again unless you re-link it to your HCP Terraform account. + +### SSO identities + +Click **SSO Identities** in the sidebar to review and [remove SSO identity links](/terraform/enterprise/users-teams-organizations/single-sign-on/linking-user-account#remove-sso-identity-link) associated with your account. + +You have an SSO identity for every SSO-enabled HCP Terraform organization. HCP Terraform links each SSO identity to a single HCP Terraform user account. This link determines which account you can use to access each organization. + + + +### Tokens + +Click **Tokens** in the sidebar to create, manage, and revoke API tokens. HCP Terraform has three kinds of API tokens: user, team, and organization. Users can be members of multiple organizations, so user tokens work with any organization where the associated user is a member. Refer to [API Tokens](/terraform/enterprise/users-teams-organizations/api-tokens) for details. + +API tokens are required for the following tasks: + +- Authenticating with the [HCP Terraform API](/terraform/enterprise/api-docs). API calls require an `Authorization: Bearer ` HTTP header. +- Authenticating with the [HCP Terraform CLI integration](/terraform/cli/cloud/settings) or the [`remote` backend](/terraform/language/settings/backends/remote). These require a token in the CLI configuration file or in the backend configuration. +- Using [private modules](/terraform/enterprise/registry/using) in command-line runs on local machines. This requires [a token in the CLI configuration file](/terraform/enterprise/registry/using#authentication). + +Protect your tokens carefully because they contain the same permissions as your user account. For example, if you belong to a team with permission to read and write variables for a workspace, another user could use your API token to authenticate as your user account and also edit variables in that workspace. Refer to [permissions](/terraform/enterprise/users-teams-organizations/permissions) for more details. + +We recommend protecting your tokens by creating them with an expiration date and time. Refer to [API Token Expiration](/terraform/enterprise/users-teams-organizations/api-tokens#token-expiration) for details. + +#### Creating a token + + To create a new token: + +1. Click **Create an API token**. The **Create API token** box appears. +2. Enter a **Description** that explains what the token is for and click **Create API token**. +3. You can optionally enter the token's expiration date or time, or create a token that never expires. The UI displays a token's expiration date and time in your current time zone. +4. Copy your token from the box and save it in a secure location. HCP Terraform only displays the token once, right after you create it. If you lose it, you must revoke the old token and create a new one. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +#### Revoking a token + +To revoke a token, click the **trash can** next to it. That token will no longer be able to authenticate as your user account. + +~> **Note**: HCP Terraform does not revoke a user API token's access to an organization when you remove the user from an SSO Identity Provider as the user may still be a member of the organization. To remove access to a user's API token, remove the user from the organization in the UI or with the [Terraform Enterprise provider](https://registry.terraform.io/providers/hashicorp/tfe/latest). + +### GitHub app OAuth token + +Click **Tokens** in the sidebar to manage your GitHub App token. This token lets you connect a workspaces to an available GitHub App installation. + +~> **Note:** Only an HCP Terraform user can own a GitHub App token. Team and Organization API tokens are not able to own a GitHub App token. + +A GitHub App token lets you: + +- Connect workspaces, policy sets, and registry modules to a GitHub App installation with the [HCP Terraform API](/terraform/enterprise/api-docs) and UI. +- View available GitHub App installations with the [HCP Terraform API](/terraform/enterprise/api-docs) and UI. + +After generating this token, you can use it to view information about your available installations for the Terraform Cloud GitHub App. + +#### Creating a GitHub app token + +To create a GitHub App token, click **Create a GitHub App token**. The **GitHub App authorization pop-up window** appears requesting authorization of the Terraform Cloud GitHub App. + +~> **Note:** This does not grant HCP Terraform access to repositories. + +#### Revoking a GitHub app token + +To revoke the GitHub App token, click the **ellipses button (...)**. The dropdown menu appears. Click the **Delete Token** option. This triggers a confirmation window to appear, which asks you to confirm that you want to revoke the token. Once confirmed, the token is revoked and you can no longer view GitHub App installations. + +#### Additional resources + +- [GitHub App permissions in HCP Terraform](/terraform/enterprise/vcs/github-app#github-permissions) diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-server.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-server.mdx new file mode 100644 index 0000000000..1995aa8bc4 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-server.mdx @@ -0,0 +1,94 @@ +--- +page_title: Set up the Azure DevOps Server VCS provider +description: >- + Learn how to use an on-premises installation of Azure DevOps Server with + workspaces and private registry modules in Terraform Enterprise. +source: terraform-docs-common +--- + +# Set up the Azure DevOps Server VCS provider + +These instructions describe how to connect to on-premise installations of Azure DevOps Server so that you can use HCP Terraform's VCS features. For instructions on how to set up Azure DevOps Services using OAuth, refer to [Set up the Azure DevOps Services VCS provider using OAuth](/terraform/enterprise/vcs/azure-devops-services). For information about other supported VCS providers, refer to [Connect to VCS Providers](/terraform/enterprise/vcs). + +## Requirements + +You must have permission to manage VCS settings for the organization to configure a new VCS provider. Refer to [Permission model](/terraform/enterprise/users-teams-organizations/permissions) for additional information about permissions. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Personal access token maintenance + +HCP Terraform uses personal access tokens to connect to Azure DevOps Server. This access method requires some additional configuration and ongoing maintenance: + +- [IIS Basic Authentication must be disabled](https://docs.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/iis-basic-auth?view=azure-devops) on your Azure DevOps Server instance in order to use personal access tokens. +- Personal access tokens eventually expire, with a maximum allowed lifetime of one year. If HCP Terraform's token expires, it will be unable to connect to Azure DevOps Server until the token is replaced. To avoid a gap in service, do one of the following before the token expires: + - Update the expiration date of the existing token within Azure DevOps Server. + - Create a new token, and edit HCP Terraform's VCS connection to use it. + +## Step 1: On HCP Terraform, Begin Adding a New VCS Provider + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add VCS Provider**. The **VCS Providers** page appears. + +4. Select **Azure DevOps** and then select **Azure DevOps Server** from the menu. The page moves to the next step. + +5. On the "Set up provider" step there are three textboxes. Enter an optional **Name** for this VCS connection. Enter the instance URL for your Azure DevOps Server in **HTTP URL** and **API URL** textboxes. Click the "Continue" button to continue to the next step. + +Leave the page open in a browser tab. In the next step you will copy values from this page, and in later steps you will continue configuring HCP Terraform. + +## Step 2: On Azure DevOps Server, Create a New Personal Access Token + +1. In a new browser tab, open your Azure DevOps Server instance and log in as whichever account you want HCP Terraform to act as. For most organizations this should be a dedicated service user, but a personal account will also work. + + ~> **Important:** The account you use for connecting HCP Terraform **must have Project Collection Administrator access** to any projects containing repositories of Terraform configurations, since creating webhooks requires these permissions. It is not possible to create custom access roles with lower levels of privilege, as Microsoft does not currently allow delegation of this capability. + +2. Navigate to User settings -> Security -> Personal access tokens. + +3. Click the **New Token** button to generate a new personal access token with "Code (Read)" and "Code (Status)" scopes. (We recommend also granting access to "All accessible organizations.") + +4. Copy the generated token to your clipboard; you'll paste it in the next step. Leave this page open in a browser tab. + +## Step 3: Add the Personal Access Token on HCP Terraform + +1. On the "Configure settings" step there is one textbox. Enter your Azure DevOps Server **Personal Access Token** from Step 2. Click the "Continue" button to continue to the next step. + +## Step 4: Configure VCS Provider Scope on HCP Terraform (Optional) + +This step is optional. You can configure which workspaces can use repositories from this VCS provider. By default the **All Projects** option is selected, meaning this VCS provider is available to be used by all workspaces in the organization. + +To limit the scope of this VCS Provider: + +1. Select the **Selected Projects** option and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click the **Update VCS Provider** button to save your selections. + +## Step 5: On Workstation, Create an SSH Key for HCP Terraform + +On a secure workstation, create an SSH keypair that HCP Terraform can use to connect to Azure DevOps Server. The exact command depends on your OS, but is usually something like `ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise"`. This creates a `service_terraform` file with the private key, and a `service_terraform.pub` file with the public key. + +This SSH key **must have an empty passphrase.** HCP Terraform cannot use SSH keys that require a passphrase. + +### Important Notes + +- Do not use your personal SSH key to connect HCP Terraform and Azure DevOps Server; generate a new one or use an existing key reserved for service access. +- In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, it retains it and will use it for authenticating to Azure DevOps Server. +- **Protect this private key carefully.** It can read code to the repositories you use to manage your infrastructure. Take note of your organization's policies for protecting important credentials and be sure to follow them. + +## Step 6: On Azure Devops Server, Add SSH Public Key + +1. Navigate to User settings -> Security -> SSH public keys on your Azure DevOps Server instance. + + ![Azure DevOps Server screenshot: the SSH keys page](/img/docs/azure-devops-server-public-keys.png) + +2. Click the **Add** button. Paste the text of the **SSH public key** you created in step 3 (from the `.pub` file) into the text field, then click the **Add key** button to confirm. + +## Step 7: On HCP Terraform, Add SSH Private Key + +1. Go back to your HCP Terraform browser tab and paste the text of the **SSH private key** you created in step 3 into the **Private SSH Key** text field of the "Set up SSH keypair" step. Click the "Add SSH key" button. + +## Finished + +At this point, Azure DevOps Server access for HCP Terraform is fully configured, and you can create Terraform workspaces based on your organization's repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services-pat.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services-pat.mdx new file mode 100644 index 0000000000..1da6dc1123 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services-pat.mdx @@ -0,0 +1,116 @@ +--- +page_title: Set up the Azure DevOps Services VCS provider using personal access tokens +description: >- + Learn how to use Azure DevOps Services with workspaces and private registry + modules in Terraform Enterprise using personal access tokens. +source: terraform-docs-common +--- + +# Set up the Azure DevOps Services VCS provider using personal access tokens + +These instructions describe how to use a personal access token to connect HCP Terraform to Azure DevOps Services VCS, which is hosted at `dev.azure.com`. Connecting to Azure DevOps Services VCS lets you take advantage of HCP Terraform's VCS features. + +If you do not intend to use personal access tokens to connect to Azure DevOps Services, refer to [Set up the Azure DevOps Server VCS provider](/terraform/enterprise/vcs/azure-devops-server). For information about other supported VCS providers, refer to [Connect to VCS Providers](/terraform/enterprise/vcs). + +## Requirements + +Configuring a new VCS provider requires permission to [manage VCS settings](/terraform/enterprise/users-teams-organizations/permissions#manage-vcs-settings) for the organization. + +To connect HCP Terraform to your repositories, your account must have **Project Collection Administrator** access enabled for all projects containing Terraform configurations. This permission is required to create webhooks because Microsoft doesn't allow you to create custom roles with lower-level access for this purpose. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Personal access token maintenance + +HCP Terraform uses personal access tokens to connect to Azure DevOps Services. This access method requires some additional configuration and ongoing maintenance: + +- Personal access tokens have a maximum lifetime of one year. When the token expires, HCP Terraform cannot connect to Azure DevOps Services until the token is replaced. To avoid a gap in service, do one of the following actions before the token expires: + - Update the expiration date of the existing token within Azure DevOps Services. + - Create a new token and update the VCS configuration in HCP Terraform VCS connection to use it. + +Refer to the [Azure DevOps documentation](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?toc=%2Fazure%2Fdevops%2Forganizations%2Ftoc.json&view=azure-devops&tabs=Windows) for instructions on working with personal access tokens. + +## Step 1: Add a new VCS provider in HCP Terraform + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add VCS Provider**. The **VCS Providers** page appears. + +4. Select **Azure DevOps** and then select **Azure DevOps Services** from the menu. The page moves to the next step. + +5. Select **Configure with Personal Access Token** + +Leave the page open in a browser tab. In the next step you will copy values from this page, and in later steps you will continue configuring HCP Terraform. + +## Step 2: Create a new personal access token in Azure DevOps Services + +1. In a new browser tab, open your Azure DevOps Services instance and log in as whichever account you want HCP Terraform to act as. Many organizations use a dedicated service user but a personal account is acceptable. + +2. Navigate to User settings -> Security -> Personal access tokens. + +3. Click the **New Token** button to generate a new personal access token with **Code (Read)** and **Code (Status)** scopes. We recommend also granting access to **All accessible organizations** and setting an expiration that meets your requirements. + +4. Click **Create**. + +5. Copy the generated token to your clipboard so that you can use it in the next step. Leave this page open in a browser tab. + +## Step 3: Add the personal access token on HCP Terraform + +1. Return to the browser window you opened in [Step 1: Add a new VCS provider in HCP Terraform](#step-1-add-a-new-vcs-provider-in-hcp-terraform). +2. In the second step under **Set up provider**, specify a name for your VCS provider a name in the **Name** field. This field is optional. +3. In the second step under **Set up provider**, paste the Azure DevOps Services personal access token you copied in [step 2](#step-2-create-a-new-personal-access-token-in-azure-devops-services) into the **Personal Access Token** field. +4. Click **Connect and continue\*\*** to continue. + +## Step 4: Configure advanced settings in HCP Terraform (optional) + +It is optional, but you can configure the following settings in the **Advanced Settings** screen: + +- In the **Scope of VCS Provider** setting, enable workspaces to use repositories from this VCS provider. **All Projects** is enabled by default. This setting lets all workspaces in the organization use the VCS provider. +- In the **Set up SSH Keypair** setting, you can add or update an SSH key and OAuth credentials so that HCP Terraform can access Git submodules in repositories that require them. You configure these settings later. + +If you don't need to configure either of the advanced settings, click **Skip and Finish** to complete the setup and return to HCP Terraform's VCS Provider page, which includes your new Azure DevOps Services client. Otherwise, complete the following steps. + +### Limit the scope of this VCS provider + +1. Enable **Selected Projects** and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click **Update VCS Provider** to save your selections. + +3. Click the **Update VCS Provider** button to save your selections. + +### Add an SSH key pair + +HCP Terraform only uses SSH to clone Git submodules and uses HTTPS for all other Git operations. +Do not use your personal SSH key to connect HCP Terraform and Azure DevOps Services. You should generate a new key or use an existing key reserved for service access. + +In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, HCP Terraform retains the key and uses for authenticating with Azure DevOps Services. + + + +Follow security best practices and your organization's policies for protecting important credentials when handing and storing a private key. Someone with access to the key can use it to push code to the repositories you use to manage your infrastructure. + + + +1. On a secure workstation, create an SSH keypair that HCP Terraform can use to connect to the Azure DevOps Services domain. The following example uses the `ssh-keygen` command to create a `service_terraform` file with the private key and a `service_terraform.pub` file with the public key: + + ```shell-session + $ ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise" + ``` + + + + The passphrase for the SSH key must be empty. HCP Terraform cannot use SSH keys that require a passphrase. + + + +2. Log into the Azure DevOps Services account you want HCP Terraform to act as and navigate to the **SSH Keys** settings page. + +3. Add a new SSH key and paste the value of the SSH public key you just created. + +4. In HCP Terraform's **Add VCS Provider** page, paste the text of the **SSH private key** you just created, and click the **Add SSH Key** button. + +## Next steps + +Azure DevOps Services access for HCP Terraform is fully configured. You can create Terraform workspaces based on your organization's repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services.mdx new file mode 100644 index 0000000000..023a60d8b7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/azure-devops-services.mdx @@ -0,0 +1,132 @@ +--- +page_title: Set up the Azure DevOps Services VCS provider using OAuth +description: >- + Learn how to use Azure DevOps Services with workspaces and private registry + modules in Terraform Enterprise using OAuth. +source: terraform-docs-common +--- + +# Set up the Azure DevOps Services VCS provider using OAuth + +~> **Important:** Starting April 2025, Microsoft will no longer allow new Azure DevOps OAuth app registrations—see the [official announcement](https://devblogs.microsoft.com/devops/no-new-azure-devops-oauth-apps-beginning-february-2025/) for details. Until [Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) support is shipped in HCP Terraform, we recommend using [personal access tokens](/terraform/enterprise/vcs/azure-devops-services-pat). + +These instructions are for using `dev.azure.com` for HCP Terraform's VCS features. [Other supported VCS providers](/terraform/enterprise/vcs) have separate instructions. + +This page explains the four main steps required to connect HCP Terraform to your Azure DevOps Services VCS: + +1. Create a new connection in HCP Terraform and get the callback URL. +2. On your VCS, register your HCP Terraform organization as a new application. Provide the callback URL and get the application ID and key. +3. Provide HCP Terraform with the application ID and key. Then, request VCS access. +4. On your VCS, approve the access request from HCP Terraform. + +~> **Important:** HCP Terraform only supports Azure DevOps connections that use the `dev.azure.com` domain. If your Azure DevOps project uses the older `visualstudio.com` domain, you must migrate using the [steps in the Microsoft documentation](https://docs.microsoft.com/en-us/azure/devops/release-notes/2018/sep-10-azure-devops-launch#switch-existing-organizations-to-use-the-new-domain-name-url). + +## Requirements + +Configuring a new VCS provider requires permission to [manage VCS settings](/terraform/enterprise/users-teams-organizations/permissions#manage-vcs-settings) for the organization. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Before you begin, enable `Third-party application access via OAuth` in Azure DevOps Services settings. + +1. Log in to [Azure DevOps Services](https://dev.azure.com/). +2. Click **Organization settings**. +3. Click **Policies** under **Security**. +4. Enable the **Third-party application access via OAuth** setting. + + ![Azure DevOps Services Screenshot: Policies Third-party application access via Oauth](/img/docs/azure-devops-services-oauth-policies.png) + +## Step 1: On HCP Terraform, Begin Adding a New VCS Provider + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add VCS Provider**. The **VCS Providers** page appears. + +4. Select **Azure DevOps** and then select **Azure DevOps Services** from the menu. The page moves to the next step. + +Leave this page open in a browser tab. You will copy values from this page into Azure DevOps in the next step, and in later steps you will continue configuring HCP Terraform. + +## Step 2: From your Azure DevOps Services Profile, Create a New Application + +1. In a new browser tab, open your [Azure DevOps Services Profile](https://aex.dev.azure.com), and log in to your Azure DevOps Services account if necessary. A page with a list of your organizations appears. + + ~> **Important:** The Azure DevOps Services account you use for connecting HCP Terraform must have Project Collection Administrator access to any projects containing repositories of Terraform configurations, since creating webhooks requires admin permissions. It is not possible to create custom access roles with lower levels of privilege, as Microsoft does not currently allow delegation of this capability. If you're unable to load the link above, you can create a new application for the next step at one of the following links: `https://aex.dev.azure.com/app/register?mkt=en-US` or `https://app.vsaex.visualstudio.com/app/register?mkt=en-US`. + +2. Go into your preferred organization. + +3. Click your user icon and then click the **ellipses (...) ** and select **User settings**. + +4. From the User settings menu, click **Profile**. Your profile page appears. + +5. Click **Authorizations**. The Authorized OAuth Apps page appears. + +6. Click the link to register a new app. A form appears asking for your company and application information. + +7. Fill out the fields and checkboxes with the corresponding values currently displayed in your HCP Terraform browser tab. HCP Terraform lists the values in the order they appear and includes controls for copying values to your clipboard. Here is an example: + + | Field name | Value | + | -------------------------- | ----------------------------------------------------------------------------- | + | Company name | HashiCorp | + | Application Name | HCP Terraform (``) | + | Application website | `https://app.terraform.io` (or the URL of your Terraform Enterprise instance) | + | Authorization callback URL | `https://app.terraform.io/` | + + In the **Authorized scopes** section, select only **Code (read)** and **Code (status)** and then click **Create Application.** + + ![Azure DevOps Services Screenshot: Required permissions when creating a new application in your Azure DevOps Services Profile](/img/docs/azure-devops-services-application-permissions.png) + + ~> **Important:** Do not add any additional scopes beyond **Code (read)** and **Code (status),** as this can prevent HCP Terraform from connecting. Note that these authorized scopes cannot be updated after the application is created; to fix incorrect scopes you must delete and re-create the application. + +8. After creating the application, the next page displays its details. Leave this page open in a browser tab. In the next step, you will copy and paste the unique **App ID** and **Client Secret** from this page. + + If you accidentally close this details page and need to find it later, you can reach it from the **Applications and Services** links in your profile. + +## Step 3: On HCP Terraform, Set up Your Provider + +1. (Optional) Enter a **Name** for this VCS connection. + +2. Enter your Azure DevOps Services application's **App ID** and **Client Secret**. These can be found in the application's details, which should still be open in the browser tab from Step 2. + +3. Click **Connect and continue.** This takes you to a page on Azure DevOps Services, asking whether you want to authorize the app. Click the **Accept** button and you'll be redirected back to HCP Terraform. + + -> **Note:** If you receive a 404 error from Azure DevOps Services, it likely means your callback URL has not been configured correctly. + +## Step 4: On HCP Terraform, Configure Advanced Settings (Optional) + +The settings in this section are optional. The Advanced Settings you can configure are: + +- **Scope of VCS Provider** - You can configure which workspaces can use repositories from this VCS provider. By default the **All Projects** option is selected, meaning this VCS provider is available to be used by all workspaces in the organization. +- **Set up SSH Keypair** - Most organizations will not need to add an SSH key. However, if the organization repositories include Git submodules that can only be accessed via SSH, an SSH key can be added along with the OAuth credentials. You can add or update the SSH key at a later time. + +### If You Don't Need to Configure Advanced Settings: + +1. Click the **Skip and Finish** button. This returns you to HCP Terraform's VCS Provider page, which now includes your new Azure DevOps Services client. + +### If You Need to Limit the Scope of this VCS Provider: + +1. Select the **Selected Projects** option and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click the **Update VCS Provider** button to save your selections. + +### If You Do Need an SSH Keypair: + +#### Important Notes + +- SSH will only be used to clone Git submodules. All other Git operations will still use HTTPS. +- Do not use your personal SSH key to connect HCP Terraform and Azure DevOps Services; generate a new one or use an existing key reserved for service access. +- In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, it retains it and will use it when authenticating to Azure DevOps Services. +- **Protect this private key carefully.** It can push code to the repositories you use to manage your infrastructure. Take note of your organization's policies for protecting important credentials and be sure to follow them. + +1. On a secure workstation, create an SSH keypair that HCP Terraform can use to connect to Azure DevOps Services.com. The exact command depends on your OS, but is usually something like: + `ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise"` + This creates a `service_terraform` file with the private key, and a `service_terraform.pub` file with the public key. This SSH key **must have an empty passphrase**. HCP Terraform cannot use SSH keys that require a passphrase. + +2. While logged into the Azure DevOps Services account you want HCP Terraform to act as, navigate to the SSH Keys settings page, add a new SSH key and paste the value of the SSH public key you just created. + +3. In HCP Terraform's **Add VCS Provider** page, paste the text of the **SSH private key** you just created, and click the **Add SSH Key** button. + +## Finished + +At this point, Azure DevOps Services access for HCP Terraform is fully configured, and you can create Terraform workspaces based on your organization's repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-cloud.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-cloud.mdx new file mode 100644 index 0000000000..41e33f8676 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-cloud.mdx @@ -0,0 +1,127 @@ +--- +page_title: Set up the Bitbucket Cloud VCS provider +description: >- + Learn how to use Bitbucket Cloud with workspaces and private registry modules + in Terraform Enterprise. +source: terraform-docs-common +--- + +# Set up the Bitbucket Cloud VCS provider + +This topic describes how to connect Bitbucket Cloud to HCP Terraform. Bitbucket Cloud is the cloud-hosted version of Bitbucket. For self-hosted Bitbucket Data Center instances, refer to [Configuring Bitbucket Data Center Access](/terraform/enterprise/vcs/bitbucket-data-center). Refer to [Connecting VCS Providers to HCP Terraform](/terraform/enterprise/vcs) for other supported VCS providers. + +Configuring a new VCS provider requires permission to manage VCS settings for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Connecting HCP Terraform to your VCS involves four steps: + +| On your VCS | On HCP Terraform | +| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +|   | Create a new connection in HCP Terraform. Get callback URL. | +| Register your HCP Terraform organization as a new app. Provide callback URL. Get ID and key. |   | +|   | Provide HCP Terraform with ID and key. Request VCS access. | +| Approve access request. |   | + +The rest of this page explains the Bitbucket Cloud-specific versions of these steps. + +## Step 1: On HCP Terraform, Begin Adding a New VCS Provider + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add VCS Provider**. The **VCS Providers** page appears. + +4. Select **Bitbucket** and then select **Bitbucket Cloud** from the menu. The page moves to the next step. + +Leave the page open in a browser tab. In the next step you will copy values from this page, and in later steps you will continue configuring HCP Terraform. + +## Step 2: On Bitbucket Cloud, Create a New OAuth Consumer + +1. In a new browser tab, open [Bitbucket Cloud](https://bitbucket.org) and log in as whichever account you want HCP Terraform to act as. For most organizations this should be a dedicated service user, but a personal account will also work. + + ~> **Important:** The account you use for connecting HCP Terraform **must have admin access** to any shared repositories of Terraform configurations, since creating webhooks requires admin permissions. + +2. Navigate to Bitbucket's "Add OAuth Consumer" page. + + This page is located at `https://bitbucket.org//workspace/settings/oauth-consumers/new`. You can also reach it through Bitbucket's menus: + + - Click your profile picture and choose the workspace you want to access. + - Click "Settings". + - Click "OAuth consumers," which is in the "Apps and Features" section. + - On the OAuth settings page, click the "Add consumer" button. + +3. This page has a form with several text fields and checkboxes. + + Fill out the fields and checkboxes with the corresponding values currently displayed in your HCP Terraform browser tab. HCP Terraform lists the values in the order they appear, and includes controls for copying values to your clipboard. + + Fill out the text fields as follows: + + | Field | Value | + | ------------ | ----------------------------------------------------------------------------- | + | Name | HCP Terraform (``) | + | Description | Any description of your choice. | + | Callback URL | `https://app.terraform.io/` | + | URL | `https://app.terraform.io` (or the URL of your Terraform Enterprise instance) | + + Ensure that the "This is a private consumer" option is checked. Then, activate the following permissions checkboxes: + + | Permission type | Permission level | + | --------------- | ---------------- | + | Account | Write | + | Repositories | Admin | + | Pull requests | Write | + | Webhooks | Read and write | + +4. Click the "Save" button, which returns you to the OAuth settings page. + +5. Find your new OAuth consumer under the "OAuth Consumers" heading, and click its name to reveal its details. + + Leave this page open in a browser tab. In the next step, you will copy and paste the unique **Key** and **Secret.** + +## Step 3: On HCP Terraform, Set up Your Provider + +1. Enter the **Key** and **Secret** from the previous step, as well as an optional **Name** for this VCS connection. + +2. Click "Connect and continue." This takes you to a page on Bitbucket Cloud asking whether you want to authorize the app. + +3. Click the blue "Grant access" button to proceed. + +## Step 4: On HCP Terraform, Configure Advanced Settings (Optional) + +The settings in this section are optional. The Advanced Settings you can configure are: + +- **Scope of VCS Provider** - You can configure which workspaces can use repositories from this VCS provider. By default the **All Projects** option is selected, meaning this VCS provider is available to be used by all workspaces in the organization. +- **Set up SSH Keypair** - Most organizations will not need to add an SSH key. However, if the organization repositories include Git submodules that can only be accessed via SSH, an SSH key can be added along with the OAuth credentials. You can add or update the SSH key at a later time. + +### If You Don't Need to Configure Advanced Settings: + +1. Click the **Skip and Finish** button. This returns you to HCP Terraform's VCS Provider page, which now includes your new Bitbucket Cloud client. + +### If You Need to Limit the Scope of this VCS Provider: + +1. Select the **Selected Projects** option and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click the **Update VCS Provider** button to save your selections. + +### If You Do Need an SSH Keypair: + +#### Important Notes + +- SSH will only be used to clone Git submodules. All other Git operations will still use HTTPS. +- Do not use your personal SSH key to connect HCP Terraform and Bitbucket Cloud; generate a new one or use an existing key reserved for service access. +- In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, it retains it and will use it when authenticating to Bitbucket Cloud. +- **Protect this private key carefully.** It can push code to the repositories you use to manage your infrastructure. Take note of your organization's policies for protecting important credentials and be sure to follow them. + +1. On a secure workstation, create an SSH keypair that HCP Terraform can use to connect to Bitbucket Cloud. The exact command depends on your OS, but is usually something like: + `ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise"` + This creates a `service_terraform` file with the private key, and a `service_terraform.pub` file with the public key. This SSH key **must have an empty passphrase**. HCP Terraform cannot use SSH keys that require a passphrase. + +2. While logged into the Bitbucket Cloud account you want HCP Terraform to act as, navigate to the SSH Keys settings page, add a new SSH key and paste the value of the SSH public key you just created. + +3. In HCP Terraform's **Add VCS Provider** page, paste the text of the **SSH private key** you just created, and click the **Add SSH Key** button. + +## Finished + +At this point, Bitbucket Cloud access for HCP Terraform is fully configured, and you can create Terraform workspaces based on your organization's shared repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-data-center.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-data-center.mdx new file mode 100644 index 0000000000..7951e3e2d7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/bitbucket-data-center.mdx @@ -0,0 +1,128 @@ +--- +page_title: Set up the Bitbucket Data Center VCS provider +description: >- + Learn how to use Bitbucket Data Center with workspaces and private registry + modules in Terraform Enterprise. +source: terraform-docs-common +--- + +# Set up the Bitbucket Data Center VCS provider + +This topic describes how to connect Bitbucket Data Center to HCP Terraform. For instructions on how to connect Bitbucket Cloud, refer to [Configuring Bitbucket Cloud Access](/terraform/enterprise/vcs/bitbucket-cloud). Refer to [Connecting VCS Providers to HCP Terraform](/terraform/enterprise/vcs) for other supported VCS providers. + +**Bitbucket Server is deprecated**. Atlassian ended support for Bitbucket Server on February 15, 2024, and recommends using either Bitbucket Data Center (v8.0 or newer) or Bitbucket Cloud instead. Refer to the [Atlassian documentation](https://bitbucket.org/blog/cloud-migration-benefits) for additional information. + +HCP Terraform will end support Bitbucket Server on August 15, 2024. Terraform Enterprise will also end support for Bitbucket Server in Terraform Enterprise v202410. [Contact HashiCorp support](https://support.hashicorp.com/hc/en-us) if you have any questions regarding this change. + +## Overview + +The following steps provide an overview of how to connect HCP Terraform and Terraform Enterprise to Bitbucket Data Center: + +1. Add a new VCS provider to HCP Terraform or Enterprise. +2. Create a new application link in Bitbucket. +3. Create an SSH key pair. SSH keys must have an empty passphrase because HCP Terraform cannot use SSH keys that require a passphrase. +4. Add an SSH key to Bitbucket. You must complete this step as a non-administrator user in Bitbucket. +5. Add the private SSH key to Terraform. + +## Requirements + +- You must have permission to manage VCS settings for the organization. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for additional information. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +- You must have OAuth authentication credentials for Bitbucket Data Center. + +- Your instance of Bitbucket Data Center must be internet-accessible on its SSH and HTTP(S) ports. This is because HCP Terraform must be able to contact Bitbucket Data Center over both SSH and HTTP or HTTPS during setup and during normal operation. + +- HCP Terraform must have network connectivity to Bitbucket Data Center instances. Note that [Bitbucket Data Center's default ports](https://confluence.atlassian.com/bitbucketserverkb/which-ports-does-bitbucket-server-listen-on-and-what-are-they-used-for-806029586.html) are `7999` for SSH and `7990` for HTTP. Check your configuration to confirm your BitBucket instance's real ports. + +## Add a new VCS provider to Terraform + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add VCS Provider**. The **VCS Providers** page appears. + +4. Choose **Bitbucket Data Center** from the **Bitbucket** drop-down menu. + +5. (Optional) Enter a **Name** for this VCS connection. + +6. Specify the URL of your Bitbucket Data Center instance in the **HTTP URL** and **API URL** fields. If the context path is not set for your Bitbucket Data Center instance, the **API URL** is the same as the **HTTP URL**. Refer to the [Atlassian documentation](https://confluence.atlassian.com/bitbucketserver/moving-bitbucket-server-to-a-different-context-path-776640153.html) for additional information. Specify the following values if the context path is set for your Bitbucket Data Center instance: + + - Set the **HTTP URL** field to your Bitbucket Data Center instance URL and add the context path: `https:///`. + - Set the **API URL** field to your Bitbucket Data Center instance URL: `https://`. + + By default, HCP Terraform uses port `80` for HTTP and `443` for HTTPS. If Bitbucket Data Center is configured to use non-standard ports or is behind a reverse proxy, you may need to include the port number in the URL. + +7. You can either generate new consumer and public keys that you can use to create a new application link in Bitbucket Data Center described in [Create an application link](#create-an-application-link) or use keys from an existing application link: + - To generate new keys, click **Continue**. Do not leave this screen until you have copied the key values. + - To use existing keys, enable the **Use Custom Keys** option and enter them into the fields. + +## Create an application link + +1. Log into Bitbucket Data Center as an admin. + +2. Open the **Application Links** administration page using the navigation or by entering `https:///plugins/servlet/applinks/listApplicationLinks` in your browser's address bar. + +3. Click **Application Links** in the sidebar, then click **Create new link**. + +4. Choose **Atlassian product** as the link type. This option also works for external applications and lets you continue to use OAuth 1.0 integrations. + +5. Enter `https://app.terraform.io` or the hostname of your Terraform Enterprise instance when prompted. You can only specify the main URL once. To connect multiple HCP Terraform organizations to the same Bitbucket Data Center instance, enter the organization URL when creating the link instead. The organization URL is the HCP Terraform URL or Terraform Enterprise hostname appended with `/app/`. + +6. When prompted, confirm that you wish to use the URL as entered. If you specified HCP Terraform's main URL, click **Continue**. If you specified an organization URL, enable the **Use this URL** option and then click **Continue**. + +7. In the **Link applications** dialog, configure the following settings: + + - Specify `HCP Terraform ` in the **Application Name** field + - Choose **Generic Application** from the **Application Type** drop-down menu + - Enable the **Create incoming link** option + + Leave all the other fields empty. + +8. Click **Continue**. The **Link applications** screen progresses to the second configuration screen. + +9. In the **Consumer Key** and **Public Key** fields, enter the key values you created in the [Add a new VCS provider to Terraform](#add-a-new-vcs-provider-to-terraform) instructions. + +10. In the **Consumer Name** field, enter `HCP Terraform ()`. + +11. Click **Continue**. Bitbucket prompts you to authorize Terraform to make changes. Before you proceed, verify that you are logged in with the user account that HCP Terraform will use to access Bitbucket and not as a Bitbucket administrator. If Bitbucket returns a 500 error instead of the authorization screen, Terraform may have been unable to reach your Bitbucket Data Center instance. + +12. Click **Allow** and enter the SSH key when prompted. + +## Create an SSH key for Terraform + +On a secure workstation, create an SSH keypair that HCP Terraform or Terraform Enterprise can use to connect to Bitbucket Data Center. The command for generating SSH keys depends on your OS. The following example for Linux creates a `service_terraform` file with the private key and a `service_terraform.pub` file with the public key: + +```shell-session +$ ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise" +``` + +Do not specify a passphrase because Terraform cannot use SSH keys that require a passphrase. + +## Add an SSH key to Bitbucket + +In the following steps, you must provide HCP Terraform with the private SSH key you created in [Create an SSH key for Terraform](#create-an-ssh-key-for-terraform). Although HCP Terraform does not display the text of the key to users after it is entered, it retains the key and uses it for authenticating to Bitbucket Data Center. + +1. If you are logged into Bitbucket Data Center as an administrator, log out before proceeding. +2. Log in with the Bitbucket account that you want to use for HCP Terraform or Terraform Enterprise. Many organizations use a dedicated service user account for this purpose. Because creating webhooks requires admin permissions, the account must have admin access to any shared repositories of Terraform configurations. Refer to [Requirements](#requirements) for more information. +3. Open the **SSH keys** page and click the profile icon. +4. Choose **Manage account**. +5. Click **SSH keys** or enter `https:///plugins/servlet/ssh/account/keys` in the address bar to go to the **SSH keys** screen. +6. Click **Add key** and enter the SSH public key you created in [Create an SSH key for Terraform](#create-an-ssh-key-for-terraform) into the text field. Open the `.pub` file to get the key value. +7. Click **Add key** to finish adding the key. + +## Add an SSH private key + +Complete the following steps in HCP Terraform or Terraform Enterprise to request access to Bitbucket and add the SSH private key. + +1. Open the **SSH keys** settings page and click **Add a private SSH key**. A large text field appears. +2. Enter the text of the **SSH private key** you created in [Create an SSH key for Terraform](#create-an-ssh-key-for-terraform) and click **Add SSH Key**. + +## Next steps + +After completing these instructions, you can create Terraform workspaces based on your organization's shared repositories. Refer to the following resources for additional guidance: + +- [Creating Workspaces](/terraform/enterprise/workspaces/create) in HCP Terraform +- [Creating Workspaces](/terraform/enterprise/workspaces/create) in Terraform Enterprise diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/github-enterprise.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/github-enterprise.mdx new file mode 100644 index 0000000000..ffdc1dd99f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/github-enterprise.mdx @@ -0,0 +1,140 @@ +--- +page_title: Set up the GitHub Enterprise VCS provider +description: >- + Learn how to use an on-premise installation of GitHub Enterprise with + workspaces and private registry modules in Terraform Enterprise. +source: terraform-docs-common +--- + +# Set up the GitHub Enterprise VCS provider + +These instructions are for using a self-hosted installation of GitHub Enterprise for HCP Terraform's VCS features. [GitHub.com has separate instructions,](/terraform/enterprise/vcs/github-enterprise) as do the [other supported VCS providers.](/terraform/enterprise/vcs) + +Configuring a new VCS provider requires permission to manage VCS settings for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Connecting HCP Terraform to your VCS involves four steps: + +| On your VCS | On HCP Terraform | +| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +|   | Create a new connection in HCP Terraform. Get callback URL. | +| Register your HCP Terraform organization as a new app. Provide callback URL. Get ID and key. |   | +|   | Provide HCP Terraform with ID and key. Request VCS access. | +| Approve access request. |   | + +The rest of this page explains the GitHub Enterprise versions of these steps. + +~> **Important:** HCP Terraform needs to contact your GitHub Enterprise instance during setup and during normal operation. For the SaaS version of HCP Terraform, this means GitHub Enterprise must be internet-accessible; for Terraform Enterprise, you must have network connectivity between your Terraform Enterprise and GitHub Enterprise instances. + +-> **Note:** Alternately, you can skip the OAuth configuration process and authenticate with a personal access token. This requires using HCP Terraform's API. For details, see [the OAuth Clients API page](/terraform/enterprise/api-docs/oauth-clients). + +## Step 1: On HCP Terraform, begin adding a new VCS provider + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add a VCS provider**. The **Add VCS Provider** page appears. + +4. Select **GitHub** and then select **GitHub Enterprise** from the menu. The page moves to the next step. + +5. In the "Set up provider" step, fill in the **HTTP URL** and **API URL** of your GitHub Enterprise instance, as well as an optional **Name** for this VCS connection. + + | Field | Value | + | -------- | ------------------------------------------- | + | HTTP URL | `https://` | + | API URL | `https:///api/v3` | + +Leave the page open in a browser tab. In the next step you will copy values from this page, and in later steps you will continue configuring HCP Terraform. + +## Step 2: On GitHub, create a new OAuth application + +1. In a new browser tab, open your GitHub Enterprise instance and log in as whichever account you want HCP Terraform to act as. For most organizations this should be a dedicated service user, but a personal account will also work. + + ~> **Important:** The account you use for connecting HCP Terraform **must have admin access** to any shared repositories of Terraform configurations, since creating webhooks requires admin permissions. + +2. Navigate to GitHub's Register a New OAuth Application page. + + This page is located at `https:///settings/applications/new`. You can also reach it through GitHub's menus: + + - Click your profile picture and choose "Settings." + - Click "OAuth Apps" (under the "Developer settings" section). + - Click the "Register a new application" button. + +3. This page has a form with four text fields. + + Fill out the fields with the corresponding values currently displayed in your HCP Terraform browser tab. HCP Terraform lists the values in the order they appear, and includes controls for copying values to your clipboard. + + Fill out the text fields as follows: + + | Field name | Value | + | -------------------------- | ----------------------------------------------------------------------------- | + | Application Name | HCP Terraform (``) | + | Homepage URL | `https://app.terraform.io` (or the URL of your Terraform Enterprise instance) | + | Application Description | Any description of your choice. | + | Authorization callback URL | `https://app.terraform.io/` | + +4. Click the "Register application" button, which creates the application and takes you to its page. + +5. Download this image of the HCP Terraform logo and upload it with the "Upload new logo" button or the drag-and-drop target. This optional step helps you identify HCP Terraform's pull request checks at a glance. + +6. Click the "Generate a new client secret" button. You will need this secret in the next step. + +7. Leave this page open in a browser tab. In the next step, you will copy and paste the unique **Client ID** and **Client Secret.** + +## Step 3: On HCP Terraform, set up your provider + +1. Enter the **Client ID** and **Client Secret** from the previous step. + +2. Click "Connect and continue." This takes you to a page on your GitHub Enterprise instance, asking whether you want to authorize the app. + +3. The authorization page lists any GitHub organizations this account belongs to. If there is a **Request** button next to the organization that owns your Terraform code repositories, click it now. Note that you need to do this even if you are only connecting workspaces to private forks of repositories in those organizations since those forks are subject to the organization's access restrictions. See [About OAuth App access restrictions](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions). + + If it results in a 500 error, it usually means HCP Terraform was unable to reach your GitHub Enterprise instance. + +4. Click the green "Authorize ``" button at the bottom of the authorization page. GitHub might request your password or multi-factor token to confirm the operation. + +## Step 4: On HCP Terraform, configure advanced settings (optional) + +The settings in this section are optional. The Advanced Settings you can configure are: + +- **Scope of VCS Provider** - You can configure which workspaces can use repositories from this VCS provider. By default the **All Projects** option is selected, meaning this VCS provider is available to be used by all workspaces in the organization. +- **Set up SSH Keypair** - Most organizations will not need to add an SSH key. However, if the organization repositories include Git submodules that can only be accessed via SSH, an SSH key can be added along with the OAuth credentials. You can add or update the SSH key at a later time. + +### If you don't need to configure advanced settings: + +1. Click the **Skip and finish** button. This returns you to HCP Terraform's VCS Providers page, which now includes your new GitHub Enterprise client. + +### If you need to limit the scope of this VCS provider: + +1. Select the **Selected Projects** option and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click the **Update VCS Provider** button to save your selections. + +### If you need an SSH keypair: + +#### Important notes + +- SSH will only be used to clone Git submodules. All other Git operations will still use HTTPS. +- Do not use your personal SSH key to connect HCP Terraform and GitHub Enterprise; generate a new one or use an existing key reserved for service access. +- In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, it retains it and will use it when authenticating to GitHub Enterprise. +- **Protect this private key carefully.** It can push code to the repositories you use to manage your infrastructure. Take note of your organization's policies for protecting important credentials and be sure to follow them. + +1. On a secure workstation, create an SSH keypair that HCP Terraform can use to connect to Github Enterprise. The exact command depends on your OS, but is usually something like: + `ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise"` + This creates a `service_terraform` file with the private key, and a `service_terraform.pub` file with the public key. This SSH key **must have an empty passphrase**. HCP Terraform cannot use SSH keys that require a passphrase. + +2. While logged into the GitHub Enterprise account you want HCP Terraform to act as, navigate to the SSH Keys settings page, add a new SSH key and paste the value of the SSH public key you just created. + +3. In HCP Terraform's **Add VCS Provider** page, paste the text of the **SSH private key** you just created, and click the **Add SSH Key** button. + +## Step 5: Contact Your GitHub organization admins + +If your organization uses OAuth app access restrictions, you had to click a **Request** button when authorizing HCP Terraform, which sent an automated email to the administrators of your GitHub organization. An administrator must approve the request before HCP Terraform can access your organization's shared repositories. + +If you're a GitHub administrator, check your email now and respond to the request; otherwise, contact whoever is responsible for GitHub accounts in your organization, and wait for confirmation that they've approved your request. + +## Finished + +At this point, GitHub access for HCP Terraform is fully configured, and you can create Terraform workspaces based on your organization's shared GitHub Enterprise repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/github.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/github.mdx new file mode 100644 index 0000000000..0ffe1630c9 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/github.mdx @@ -0,0 +1,145 @@ +--- +page_title: Set up the GitHub.com OAuth VCS provider +description: >- + Learn how to use GitHub.com with workspaces and private registry modules in + Terraform Enterprise with a per-organization OAuth connection. +source: terraform-docs-common +--- + +# Set up the GitHub.com OAuth VCS provider + +These instructions are for using GitHub.com for HCP Terraform's VCS features, using a per-organization OAuth connection with the permissions of one particular GitHub user. [GitHub Enterprise has separate instructions,](/terraform/enterprise/vcs/github-enterprise) as do the [other supported VCS providers.](/terraform/enterprise/vcs) + + + +For new users on HCP Terraform, we recommend using our [configuration-free GitHub App](/terraform/enterprise/vcs/github-app) to access repositories instead. + + + +For Terraform Enterprise site admins, you can create your own [GitHub App](/terraform/enterprise/admin/application/github-app-integration) to access repositories. + +Configuring a new VCS provider requires permission to manage VCS settings for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Connecting HCP Terraform to your VCS involves four steps: + +| On your VCS | On HCP Terraform | +| ---------------------------------------------------------------------------- | ----------------------------------------------------------- | +|   | Create a new connection in HCP Terraform. Get callback URL. | +| Register your HCP Terraform organization as a new app. Provide callback URL. |   | +|   | Provide HCP Terraform with ID and key. Request VCS access. | +| Approve access request. |   | + +The rest of this page explains the GitHub versions of these steps. + +-> **Note:** Alternately, you can skip the OAuth configuration process and authenticate with a personal access token. This requires using HCP Terraform's API. For details, see [the OAuth Clients API page](/terraform/enterprise/api-docs/oauth-clients). + +## Step 1: On HCP Terraform, begin adding a new VCS provider + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add a VCS provider**. The **Add VCS Provider** page appears. + +4. Select **GitHub** and then select **GitHub.com (Custom)** from the menu. The page moves to the next step. + +Leave the page open in a browser tab. In the next step you will copy values from this page, and in later steps you will continue configuring HCP Terraform. + +## Step 2: On GitHub, create a new OAuth application + +On the HCP Terraform **Add VCS Provider** page, click **register a new OAuth Application**. This opens GitHub.com in a new browser tab with the OAuth application settings pre-filled. + +Alternately, create the OAuth application manually on GitHub.com. + +### Manual steps + +1. In a new browser tab, open [github.com](https://github.com) and log in as whichever account you want HCP Terraform to act as. For most organizations this should be a dedicated service user, but a personal account will also work. + + ~> **Important:** The account you use for connecting HCP Terraform **must have admin access** to any shared repositories of Terraform configurations, since creating webhooks requires admin permissions. + +2. Navigate to GitHub's [Register a New OAuth Application](https://github.com/settings/applications/new) page. + + This page is located at . You can also reach it through GitHub's menus: + + - Click your profile picture and choose "Settings." + - Click "Developer settings," then make sure you're on the "OAuth Apps" page (not "GitHub Apps"). + - Click the "New OAuth App" button. + +3. This page has a form with four text fields. + + Fill out the fields with the corresponding values currently displayed in your HCP Terraform browser tab. HCP Terraform lists the values in the order they appear, and includes controls for copying values to your clipboard. + + Fill out the text fields as follows: + + | Field name | Value | + | -------------------------- | ----------------------------------------------------------------------------- | + | Application Name | HCP Terraform (``) | + | Homepage URL | `https://app.terraform.io` (or the URL of your Terraform Enterprise instance) | + | Application Description | Any description of your choice. | + | Authorization callback URL | `https://app.terraform.io/` | + +### Register the OAuth application + +1. Click the "Register application" button, which creates the application and takes you to its page. + +2. Download this image of the HCP Terraform logo and upload it with the "Upload new logo" button or the drag-and-drop target. This optional step helps you identify HCP Terraform's pull request checks at a glance. + +3. Click the **Generate a new client secret** button. You will need this secret in the next step. + +4. Leave this page open in a browser tab. In the next step, you will copy and paste the unique **Client ID** and **Client Secret.** + +## Step 3: On HCP Terraform, set up your provider + +1. Enter the **Client ID** and **Client Secret** from the previous step, as well as an optional **Name** for this VCS connection. + +2. Click "Connect and continue." This takes you to a page on GitHub.com, asking whether you want to authorize the app. + +3. The authorization page lists any GitHub organizations this account belongs to. If there is a **Request** button next to the organization that owns your Terraform code repositories, click it now. Note that you need to do this even if you are only connecting workspaces to private forks of repositories in those organizations since those forks are subject to the organization's access restrictions. See [About OAuth App access restrictions](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions). + +4. Click the green "Authorize ``" button at the bottom of the authorization page. GitHub might request your password or multi-factor token to confirm the operation. + +## Step 4: On HCP Terraform, configure advanced settings (optional) + +The settings in this section are optional. The Advanced Settings you can configure are: + +- **Scope of VCS Provider** - You can configure which workspaces can use repositories from this VCS provider. By default the **All Projects** option is selected, meaning this VCS provider is available to be used by all workspaces in the organization. +- **Set up SSH Keypair** - Most organizations will not need to add an SSH key. However, if the organization repositories include Git submodules that can only be accessed via SSH, an SSH key can be added along with the OAuth credentials. You can add or update the SSH key at a later time. + +### If you don't need to configure advanced settings: + +1. Click the **Skip and finish** button. This returns you to HCP Terraform's **VCS Providers** page, which now includes your new GitHub client. + +### If you need to limit the scope of this VCS provider: + +1. Select the **Selected Projects** option and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click the **Update VCS Provider** button to save your selections. + +### If you need an SSH keypair: + +#### Important notes + +- SSH will only be used to clone Git submodules. All other Git operations will still use HTTPS. +- Do not use your personal SSH key to connect HCP Terraform and GitHub; generate a new one or use an existing key reserved for service access. +- In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, it retains it and will use it when authenticating to GitHub. +- **Protect this private key carefully.** It can push code to the repositories you use to manage your infrastructure. Take note of your organization's policies for protecting important credentials and be sure to follow them. + +1. On a secure workstation, create an SSH keypair that HCP Terraform can use to connect to GitHub.com. The exact command depends on your OS, but is usually something like: + `ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise"` + This creates a `service_terraform` file with the private key, and a `service_terraform.pub` file with the public key. This SSH key **must have an empty passphrase**. HCP Terraform cannot use SSH keys that require a passphrase. + +2. While logged into the GitHub.com account you want HCP Terraform to act as, navigate to the SSH Keys settings page, add a new SSH key and paste the value of the SSH public key you just created. + +3. In HCP Terraform's **Add VCS Provider** page, paste the text of the **SSH private key** you just created, and click the **Add SSH Key** button. + +## Step 5: Contact your GitHub organization admins + +If your organization uses OAuth app access restrictions, you had to click a **Request** button when authorizing HCP Terraform, which sent an automated email to the administrators of your GitHub organization. An administrator must approve the request before HCP Terraform can access your organization's shared repositories. + +If you're a GitHub administrator, check your email now and respond to the request; otherwise, contact whoever is responsible for GitHub accounts in your organization, and wait for confirmation that they've approved your request. + +## Finished + +At this point, GitHub access for HCP Terraform is fully configured, and you can create Terraform workspaces based on your organization's shared GitHub repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-com.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-com.mdx new file mode 100644 index 0000000000..43bee92f73 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-com.mdx @@ -0,0 +1,119 @@ +--- +page_title: Set up the GitLab.com VCS provider +description: >- + Learn how to use GitLab.com repositories with workspaces and private registry + modules in Terraform Enterprise. +source: terraform-docs-common +--- + +# Set up the GitLab.com VCS provider + +These instructions are for using GitLab.com for HCP Terraform's VCS features. [GitLab CE and GitLab EE have separate instructions,](/terraform/enterprise/vcs/gitlab-eece) as do the [other supported VCS providers.](/terraform/enterprise/vcs) + +Configuring a new VCS provider requires permission to manage VCS settings for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Connecting HCP Terraform to your VCS involves four steps: + +| On your VCS | On HCP Terraform | +| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +|   | Create a new connection in HCP Terraform. Get redirect URI. | +| Register your HCP Terraform organization as a new app. Provide redirect URI. |   | +|   | Provide HCP Terraform with application ID and secret. Request VCS access. | +| Approve access request. |   | + +The rest of this page explains the GitLab.com versions of these steps. + +-> **Note:** Alternately, you can skip the OAuth configuration process and authenticate with a personal access token. This requires using HCP Terraform's API. For details, see [the OAuth Clients API page](/terraform/enterprise/api-docs/oauth-clients). + +## Step 1: On HCP Terraform, Begin Adding a New VCS Provider + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Click **Add VCS Provider**. The **VCS Providers** page appears. + +4. Select **GitLab** and then select **GitLab.com** from the menu. The page moves to the next step. + +5. Locate the "Redirect URI" and copy it to your clipboard; you'll paste it in the next step. + +Leave the page open in a browser tab. In the next step you will copy values from this page, and in later steps you will continue configuring HCP Terraform. + +## Step 2: On GitLab, Create a New Application + +1. In a new browser tab, open [gitlab.com](https://gitlab.com) and log in as whichever account you want HCP Terraform to act as. For most organizations this should be a dedicated service user, but a personal account will also work. + + ~> **Important:** The account you use for connecting HCP Terraform **must have Maintainer access** to any shared repositories of Terraform configurations, since creating webhooks requires Maintainer permissions. Refer to [the GitLab documentation](https://docs.gitlab.com/ee/user/permissions.html#project-members-permissions) for details. + +2. Navigate to GitLab's [User Settings > Applications](https://gitlab.com/-/profile/applications) page. + + This page is located at . You can also reach it through GitLab's menus: + + - Click your profile picture and choose "Settings." + - Click "Applications." + +3. This page has a list of applications and a form for adding new ones. The form has two text fields and some checkboxes. + + Fill out the fields and checkboxes with the corresponding values currently displayed in your HCP Terraform browser tab. HCP Terraform lists the values in the order they appear, and includes controls for copying values to your clipboard. + + Fill out the form as follows: + + | Field | Value | + | ----------------------- | ---------------------------------------------------------------------------------------------- | + | Name | HCP Terraform (``) | + | Redirect URI | `https://app.terraform.io/`, the redirect URI you copied from HCP Terraform | + | Confidential (checkbox) | ✔️ (enabled) | + | Scopes (all checkboxes) | api | + + +1. Click the "Save application" button, which creates the application and takes you to its page. + +2. Leave this page open in a browser tab. In the next step, you will copy and paste the unique **Application ID** and **Secret.** + +## Step 3: On HCP Terraform, Set up Your Provider + +1. Enter the **Application ID** and **Secret** from the previous step, as well as an option **Name** for this VCS connection. + +2. Click **Connect and continue.** This takes you to a page on GitLab.com, which asks if you want to authorize the app. + +3. Click the green **Authorize** button at the bottom of the authorization page. + +## Step 4: On HCP Terraform, Configure Advanced Settings (Optional) + +The settings in this section are optional. The Advanced Settings you can configure are: + +- **Scope of VCS Provider** - You can configure which workspaces can use repositories from this VCS provider. By default the **All Projects** option is selected, meaning this VCS provider is available to be used by all workspaces in the organization. +- **Set up SSH Keypair** - Most organizations will not need to add an SSH key. However, if the organization repositories include Git submodules that can only be accessed via SSH, an SSH key can be added along with the OAuth credentials. You can add or update the SSH key at a later time. + +### If You Don't Need to Configure Advanced Settings: + +1. Click the **Skip and Finish** button. This returns you to HCP Terraform's VCS Provider page, which now includes your new GitLab client. + +### If You Need to Limit the Scope of this VCS Provider: + +1. Select the **Selected Projects** option and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click the **Update VCS Provider** button to save your selections. + +### If You Do Need an SSH Keypair: + +#### Important Notes + +- SSH will only be used to clone Git submodules. All other Git operations will still use HTTPS. +- Do not use your personal SSH key to connect HCP Terraform and GitLab; generate a new one or use an existing key reserved for service access. +- In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, it retains it and will use it when authenticating to GitLab. +- **Protect this private key carefully.** It can push code to the repositories you use to manage your infrastructure. Take note of your organization's policies for protecting important credentials and be sure to follow them. + +1. On a secure workstation, create an SSH keypair that HCP Terraform can use to connect to GitLab.com. The exact command depends on your OS, but is usually something like: + `ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise"` + This creates a `service_terraform` file with the private key, and a `service_terraform.pub` file with the public key. This SSH key **must have an empty passphrase**. HCP Terraform cannot use SSH keys that require a passphrase. + +2. While logged into the GitLab.com account you want HCP Terraform to act as, navigate to the SSH Keys settings page, add a new SSH key and paste the value of the SSH public key you just created. + +3. In HCP Terraform's **Add VCS Provider** page, paste the text of the **SSH private key** you just created, and click the **Add SSH Key** button. + +## Finished + +At this point, GitLab.com access for HCP Terraform is fully configured, and you can create Terraform workspaces based on your organization's shared repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-eece.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-eece.mdx new file mode 100644 index 0000000000..a4b484859d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/gitlab-eece.mdx @@ -0,0 +1,133 @@ +--- +page_title: Set up the GitLab EE and CE VCS provider +description: >- + Learn how to use on-premise installation of GitLab Enterprise Edition (EE) or + GitLab Community Edition (CE) with workspaces and private registry module in + Terraform Enterprise. +source: terraform-docs-common +--- + +# Set up the GitLab EE and CE VCS provider + +These instructions are for using an on-premise installation of GitLab Enterprise Edition (EE) or GitLab Community Edition (CE) for HCP Terraform's VCS features. [GitLab.com has separate instructions,](/terraform/enterprise/vcs/gitlab-com) as do the [other supported VCS providers.](/terraform/enterprise/vcs) + +Configuring a new VCS provider requires permission to manage VCS settings for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Connecting HCP Terraform to your VCS involves four steps: + +| On your VCS | On HCP Terraform | +| -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +|   | Create a new connection in HCP Terraform. Get redirect URI. | +| Register your HCP Terraform organization as a new app. Provide redirect URI. Get ID and key. |   | +|   | Provide HCP Terraform with application ID and secret. Request VCS access. | +| Approve access request. |   | + +The rest of this page explains the on-premise GitLab versions of these steps. + +~> **Important:** HCP Terraform needs to contact your GitLab instance during setup and during normal operation. For the SaaS version of HCP Terraform, this means GitLab must be internet-accessible; for Terraform Enterprise, you must have network connectivity between your Terraform Enterprise and GitLab instances. + +-> **Note:** Alternately, you can skip the OAuth configuration process and authenticate with a personal access token. This requires using HCP Terraform's API. For details, see [the OAuth Clients API page](/terraform/enterprise/api-docs/oauth-clients). + +-> **Version Note:** HCP Terraform supports GitLab versions 9.0 and newer. HashiCorp does not test older versions of GitLab with HCP Terraform, and they might not work as expected. Also note that, although we do not deliberately remove support for versions that have reached end of life (per the [GitLab Support End of Life Policy](https://docs.gitlab.com/ee/policy/maintenance.html#patch-releases)), our ability to resolve customer issues with end of life versions might be limited. + +## Step 1: On HCP Terraform, Begin Adding a New VCS Provider + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the organization where you want to add the VCS provider. + +2. Choose **Settings** from the sidebar, then click **Providers**. + +3. Select **GitLab** and then select **GitLab Enterprise Edition** or **GitLab Community Edition** from the menu. The page moves to the next step. + +4. In the "Set up provider" step, fill in the **HTTP URL** and **API URL** of your GitLab Enterprise Edition or GitLab Community Edition instance, as well as an optional **Name** for this VCS connection. Click "Continue." + + | Field | Value | + | -------- | ------------------------------------------- | + | HTTP URL | `https://` | + | API URL | `https:///api/v4` | + + Note that HCP Terraform uses GitLab's v4 API. + +Leave the page open in a browser tab. In the next step you will copy values from this page, and in later steps you will continue configuring HCP Terraform. + +## Step 2: On GitLab, Create a New Application + +1. In a new browser tab, open your GitLab instance and log in as whichever account you want HCP Terraform to act as. For most organizations this should be a dedicated service user, but a personal account will also work. + + ~> **Important:** The account you use for connecting HCP Terraform **must have admin (master) access** to any shared repositories of Terraform configurations, since creating webhooks requires admin permissions. Do not create the application as an administrative application not owned by a user; HCP Terraform needs user access to repositories to create webhooks and ingress configurations. + + ~> **Important**: In GitLab CE or EE 10.6 and up, you may also need to enable **Allow requests to the local network from hooks and services** on the "Outbound requests" section inside the Admin area under Settings (`/admin/application_settings/network`). Refer to [the GitLab documentation](https://docs.gitlab.com/ee/security/webhooks.html) for details. + +2. Navigate to GitLab's "User Settings > Applications" page. + + This page is located at `https:///profile/applications`. You can also reach it through GitLab's menus: + + - Click your profile picture and choose "Settings." + - Click "Applications." + +3. This page has a list of applications and a form for adding new ones. The form has two text fields and some checkboxes. + + Fill out the fields and checkboxes with the corresponding values currently displayed in your HCP Terraform browser tab. HCP Terraform lists the values in the order they appear, and includes controls for copying values to your clipboard. + + Fill out the form as follows: + + | Field | Value | + | ------------------------------- | ---------------------------------------------- | + | Name | HCP Terraform (``) | + | Redirect URI | `https://app.terraform.io/` | + | Confidential (checkbox) | ✔️ (enabled) | + | Expire access tokens (checkbox) | (no longer required) | + | Scopes (all checkboxes) | api | + + -> **Note:** For previous versions of HCP Terraform and GitLab, we recommended disabling a setting called `Expire access tokens`. This action was required because Gitlab marked OAuth tokens as expired after 2 hours, but HCP Terraform only refreshed tokens after 6 hours. This setting does not exist on Gitlab v15+ and HCP Terraform now refreshes tokens more often. + +4. Click the "Save application" button, which creates the application and takes you to its page. + +5. Leave this page open in a browser tab. In the next step, you will copy and paste the unique **Application ID** and **Secret.** + +## Step 3: On HCP Terraform, Set up Your Provider + +1. On the "Configure settings" step on HCP Terraform, enter the **Application ID** and **Secret** from the previous step. + +2. Click **Connect and continue.** This takes you to a page on GitLab asking whether you want to authorize the app. Alternatively, if you are redirected to a 500 error, it usually means HCP Terraform was unable to reach your GitLab instance. + +3. Click the green **Authorize** button at the bottom of the authorization page. + +## Step 4: On HCP Terraform, Configure Advanced Settings (Optional) + +The settings in this section are optional. The Advanced Settings you can configure are: + +- **Scope of VCS Provider** - You can configure which workspaces can use repositories from this VCS provider. By default the **All Projects** option is selected, meaning this VCS provider is available to be used by all workspaces in the organization. +- **Set up a PEM formatted SSH Keypair** - Most organizations will not need to add an SSH key. However, if the organization repositories include Git submodules that can only be accessed via SSH, an SSH key can be added along with the OAuth credentials. You can add or update the SSH key at a later time. + +### If You Don't Need to Configure Advanced Settings: + +1. Click the **Skip and Finish** button. This returns you to HCP Terraform's VCS Provider page, which now includes your new GitLab client. + +### If You Need to Limit the Scope of this VCS Provider: + +1. Select the **Selected Projects** option and use the text field that appears to search for and select projects to enable. All current and future workspaces for any selected projects can use repositories from this VCS Provider. + +2. Click the **Update VCS Provider** button to save your selections. + +### If You Do Need a PEM formatted SSH Keypair: + +#### Important Notes + +- SSH will only be used to clone Git submodules. All other Git operations will still use HTTPS. +- Do not use your personal SSH key to connect HCP Terraform and GitLab; generate a new one or use an existing key reserved for service access. +- In the following steps, you must provide HCP Terraform with the private key. Although HCP Terraform does not display the text of the key to users after it is entered, it retains it and will use it when authenticating to GitLab. +- **Protect this private key carefully.** It can push code to the repositories you use to manage your infrastructure. Take note of your organization's policies for protecting important credentials and be sure to follow them. + +1. On a secure workstation, create a PEM formatted SSH keypair that HCP Terraform can use to connect to GitLab. The exact command depends on your OS, but is usually something like: + `ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise"` + This creates a `service_terraform` file with the private key, and a `service_terraform.pub` file with the public key. This SSH key **must have an empty passphrase**. HCP Terraform cannot use SSH keys that require a passphrase. + +2. While logged into the GitLab account you want HCP Terraform to act as, navigate to the SSH Keys settings page, add a new SSH key and paste the value of the SSH public key you just created. + +3. In HCP Terraform's **Add VCS Provider** page, paste the text of the **SSH private key** you just created, and click the **Add SSH Key** button. + +## Finished + +At this point, GitLab access for HCP Terraform is fully configured, and you can create Terraform workspaces based on your organization's shared repositories. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/index.mdx new file mode 100644 index 0000000000..4b1c37c0c5 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/index.mdx @@ -0,0 +1,137 @@ +--- +page_title: Connect to VCS Providers +description: >- + Version control system (VCS) connections integrate Terraform Enterprise into + your workflow. Learn how to automate Terraform runs when you commit changes to + your code. +source: terraform-docs-common +--- + +# Connect to VCS Providers + +HCP Terraform is more powerful when you integrate it with your version control system (VCS) provider. Although you can use many of HCP Terraform's features without one, a VCS connection provides additional features and improved workflows. In particular: + +- When workspaces are linked to a VCS repository, HCP Terraform can [automatically initiate Terraform runs](/terraform/enterprise/run/ui) when changes are committed to the specified branch. +- HCP Terraform makes code review easier by [automatically predicting](/terraform/enterprise/run/ui#speculative-plans-on-pull-requests) how pull requests will affect infrastructure. +- Publishing new versions of a [private Terraform module](/terraform/enterprise/registry/publish-modules) is as easy as pushing a tag to the module's repository. + +We recommend configuring VCS access when first setting up an organization, and you might need to add additional VCS providers later depending on how your organization grows. + +Configuring a new VCS provider requires permission to manage VCS settings for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Supported VCS Providers + +HCP Terraform supports the following VCS providers: + + + +- [GitHub.com](/terraform/enterprise/vcs/github-app) + + + +- [GitHub App for TFE](/terraform/enterprise/admin/application/github-app-integration) +- [GitHub.com (OAuth)](/terraform/enterprise/vcs/github) +- [GitHub Enterprise](/terraform/enterprise/vcs/github-enterprise) +- [GitLab.com](/terraform/enterprise/vcs/gitlab-com) +- [GitLab EE and CE](/terraform/enterprise/vcs/gitlab-eece) +- [Bitbucket Cloud](/terraform/enterprise/vcs/bitbucket-cloud) +- [Bitbucket Data Center](/terraform/enterprise/vcs/bitbucket-data-center) +- [Azure DevOps Server](/terraform/enterprise/vcs/azure-devops-server) +- [Azure DevOps Services (OAuth)](/terraform/enterprise/vcs/azure-devops-services) +- [Azure DevOps Services (PAT)](/terraform/enterprise/vcs/azure-devops-services-pat) + +Use the links above to see details on configuring VCS access for each supported provider. If you use another VCS that is not supported, you can build an integration via [the API-driven run workflow](/terraform/enterprise/run/api). + +## How HCP Terraform Uses VCS Access + +Most workspaces in HCP Terraform are associated with a VCS repository, which provides Terraform configurations for that workspace. To find out which repos are available, access their contents, and create webhooks, HCP Terraform needs access to your VCS provider. + +Although HCP Terraform's API lets you create workspaces and push configurations to them without a VCS connection, the primary workflow expects every workspace to be backed by a repository. + +To use configurations from VCS, HCP Terraform needs to do several things: + +- Access a list of repositories, to let you search for repos when creating new workspaces. +- Register webhooks with your VCS provider, to get notified of new commits to a chosen branch. +- Download the contents of a repository at a specific commit in order to run Terraform with that code. + +~> **Important:** HCP Terraform usually performs VCS actions using a designated VCS user account, but it has no other knowledge about your VCS's authorization controls and does not associate HCP Terraform user accounts with VCS user accounts. This means HCP Terraform's VCS user might have a different level of access to repositories than any given HCP Terraform user. Keep this in mind when selecting a VCS user, as it may affect your security posture in one or both systems. + +### Webhooks + +HCP Terraform uses webhooks to monitor new commits and pull requests. + +- When someone adds new commits to a branch, any HCP Terraform workspaces based on that branch will begin a Terraform run. Usually a user must inspect the plan output and approve an apply, but you can also enable automatic applies on a per-workspace basis. You can prevent automatic runs by locking a workspace. A run will only occur if the workspace has not previously processed a run for the commit SHA. +- When someone submits a pull request/merge request to a branch, any HCP Terraform workspaces based on that branch will perform a [speculative plan](/terraform/enterprise/run/remote-operations#speculative-plans) with the contents of the request and links to the results on the PR's page. This helps you avoid merging PRs that cause plan failures. + +~> **Important:** In Terraform Enterprise, integration with a SaaS VCS provider (GitHub.com, GitLab.com, Bitbucket Cloud, or Azure DevOps Services) requires ingress from the public internet. This lets the inbound web hooks reach Terraform Enterprise. You should also configure appropriate security controls, such as a Web Application Firewall (WAF). + +### SSH Keys + +For most supported VCS providers, HCP Terraform does not need an SSH key. This is because Terraform can do everything it needs with the provider's API and an OAuth token. The exceptions are Azure DevOps Server and Bitbucket Data Center, which require an SSH key for downloading repository contents. Refer to the setup instructions for [Azure DevOps Server](/terraform/enterprise/vcs/azure-devops-server) and [Bitbucket Data Center](/terraform/enterprise/vcs/bitbucket-data-center) for details. + +For other VCS providers, most organizations will not need to add an SSH private key. However, if the organization repositories include Git submodules that can only be accessed via SSH, an SSH key can be added along with the OAuth credentials. + +For VCS providers where adding an SSH private key is optional, SSH will only be used to clone Git submodules. All other Git operations will still use HTTPS. + +If submodules will be cloned via SSH from a private VCS instance, SSH must be running on the standard port 22 on the VCS server. + +To add an SSH key to a VCS connection, finish configuring OAuth in the organization settings, and then use the "add a private SSH key" link on the VCS Provider settings page to add a private key that has access to the submodule repositories. When setting up a workspace, if submodules are required, select "Include submodules on clone". More at [Workspace settings](/terraform/enterprise/workspaces/settings). + +### Multiple VCS Connections + +If your infrastructure code is spread across multiple VCS providers, you can configure multiple VCS connections. You can choose which VCS connection to use whenever you create a new workspace. + +#### Scoping VCS Connections using Projects + +You can configure which projects can use repositories from a VCS connection. By default each VCS connection is enabled for all workspaces in the organization. If you need to limit which projects can use repositories from a given VCS connection, you can change this setting to enable the connection for only workspaces in the selected projects. + +## Configuring VCS Access + +HCP Terraform uses the OAuth protocol to authenticate with VCS providers. + +~> **Important:** Even if you've used OAuth before, read the instructions carefully. Since HCP Terraform's security model treats each _organization_ as a separate OAuth application, we authenticate with OAuth's developer workflow, which is more complex than the standard user workflow. + +The exact steps to authenticate are different for each VCS provider, but they follow this general order: + +| On your VCS | On HCP Terraform | +| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------ | +| Register your HCP Terraform organization as a new app. Get ID and key. |   | +|   | Tell HCP Terraform how to reach VCS, and provide ID and key. Get callback URL. | +| Provide callback URL. |   | +|   | Request VCS access. | +| Approve access request. |   | + +For complete details, click the link for your VCS provider: + +- [GitHub](/terraform/enterprise/vcs/github) +- [GitHub Enterprise](/terraform/enterprise/vcs/github-enterprise) +- [GitLab.com](/terraform/enterprise/vcs/gitlab-com) +- [GitLab EE and CE](/terraform/enterprise/vcs/gitlab-eece) +- [Bitbucket Cloud](/terraform/enterprise/vcs/bitbucket-cloud) +- [Bitbucket Data Center](/terraform/enterprise/vcs/bitbucket-data-center) +- [Azure DevOps Server](/terraform/enterprise/vcs/azure-devops-server) +- [Azure DevOps Services](/terraform/enterprise/vcs/azure-devops-services) + +-> **Note:** Alternatively, you can skip the OAuth configuration process and authenticate with a personal access token. This requires using HCP Terraform's API. For details, see [the OAuth Clients API page](/terraform/enterprise/api-docs/oauth-clients). + + + +### Private VCS + +You can use self-hosted HCP Terraform Agents to connect HCP Terraform to your private VCS provider, such as GitHub Enterprise, GitLab Enterprise, and BitBucket Data Center. For more information, refer to [Connect to Private VCS Providers](/terraform/enterprise/vcs/private). + + + +## Viewing events + +-> **Note**: The VCS Events page is still in beta as support is being added for additional VCS providers. Currently only GitLab.com connections established after December 2020 are supported. + +VCS events describe changes within your organization for VCS-related actions. The VCS events page only displays events from previously processed commits in the past 30 days. The VCS page indicates previously processed commits with the message, `"Processing skipped for duplicate commit SHA"`. + +Viewing VCS events requires permission to manage VCS settings for the organization. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +To view VCS events for your organization, go to your organization's settings and click **Events**. The **VCS Events** page appears. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/vcs/troubleshooting.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/troubleshooting.mdx new file mode 100644 index 0000000000..182c9ba0bb --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/vcs/troubleshooting.mdx @@ -0,0 +1,227 @@ +--- +page_title: Troubleshoot VCS providers in Terraform Enterprise +description: >- + Learn how to address common problems in VCS integrations for Terraform + Enterprise. +source: terraform-docs-common +--- + +# Troubleshoot VCS providers + +This page collects solutions to the most common problems our users encounter with VCS integration in HCP Terraform. + +## Azure DevOps + +### Required status checks not sending + +When configuring [status checks with Azure DevOps](https://learn.microsoft.com/en-us/azure/devops/repos/git/pr-status-policy) the web interface may auto populate Genre and Name fields (beneath "Status to check") with incorrect values that do not reflect what HCP Terraform is sending. +To function correctly as required checks the Genre must be populated with "Terraform Cloud" (or the first segment for a Terraform Enterprise install), and the remainder of the status check goes in the Name field. This requires using the "Enter genre/name separately" checkbox to not use the default configuration. + +In the example below the status check is named `Terraform Cloud/paul-hcp/gianni-test-1` and needs to be configured with Genre `Terraform Cloud` and Name `paul-hcp/gianni-test-1`. + +![Azure DevOps screenshot: configuring required status checks correctly](/img/docs/ado-required-status-check.png) + +With an older version of Azure DevOps Server it may be that the web interface does not allow entering the Genre and Name separately. In which case the status check will need to be created via the [API](https://learn.microsoft.com/en-us/rest/api/azure/devops/policy/configurations/create). + +## Bitbucket Data Center + +The following errors are specific to Bitbucket Data Center integrations. + +### Clicking "Connect organization ``" with Bitbucket Data Center raises an error message in HCP Terraform + +HCP Terraform uses OAuth 1 to authenticate the user to Bitbucket Data Center. The first step in the authentication process is for HCP Terraform to call Bitbucket Data Center to obtain a request token. After the call completes, HCP Terraform redirects you to Bitbucket Data Center with the request token. + +An error occurs when HCP Terraform calls to Bitbucket Data Center to obtain the request token but the request is rejected. Some common reasons for the request to be rejected are: + +- The API endpoint is unreachable; this can happen if the address or port is incorrect or the domain name doesn't resolve. +- The certificate used on Bitbucket Data Center is rejected by the HCP Terraform HTTP client because the SSL verification fails. This is often the case with self-signed certificates or when the Terraform Enterprise instance is not configured to trust the signing chain of the Bitbucket Data Center SSL certificate. + +To fix this issue, do the following: + +- Verify that the instance running Terraform Enterprise can resolve the domain name and can reach Bitbucket Data Center. +- Verify that the HCP Terraform client accepts the HTTPS connection to Bitbucket Data Center. This can be done by performing a `curl` from the Terraform Enterprise instance to Bitbucket Data Center; it should not return any SSL errors. +- Verify that the Consumer Key, Consumer Name, and the Public Key are configured properly in Bitbucket Data Center. +- Verify that the HTTP URL and API URL in HCP Terraform are correct for your Bitbucket Data Center instance. This includes the proper scheme (HTTP vs HTTPS), as well as the port. + +### Creating a workspace from a repository hangs indefinitely, displaying a spinner on the confirm button + +If you were able to connect HCP Terraform to Bitbucket Data Center but cannot create workspaces, it often means HCP Terraform isn't able to automatically add webhook URLs for that repository. + +To fix this issue: + +- Make sure you haven't manually entered any webhook URLs for the affected repository or project. Although the Bitbucket Web Post Hooks Plugin documentation describes how to manually enter a hook URL, HCP Terraform handles this automatically. Manually entered URLs can interfere with HCP Terraform's operation. + + To check the hook URLs for a repository, go to the repository's settings, then go to the "Hooks" page (in the "Workflow" section) and click on the "Post-Receive WebHooks" link. + + Also note that some Bitbucket Data Center versions might allow you to set per-project or server-wide hook URLs in addition to per-repository hooks. These should all be empty; if you set a hook URL that might affect more than one repo when installing the plugin, go back and delete it. +- Make sure you aren't trying to connect too many workspaces to a single repository. Bitbucket Data Center's webhooks plugin can only attach five hooks to a given repo. You might need to create additional repositories if you need to make more than five workspaces from a single configuration repo. + +## Bitbucket Cloud + +### HCP Terraform fails to obtain repositories + +This typically happens when the HCP Terraform application in Bitbucket Cloud wasn't configured to have the full set of permissions. Go to the OAuth section of the Bitbucket settings, find your HCP Terraform OAuth consumer, click the edit link in the "..." menu, and ensure it has the required permissions enabled: + +| Permission type | Permission level | +| --------------- | ---------------- | +| Account | Write | +| Repositories | Admin | +| Pull requests | Write | +| Webhooks | Read and write | + +## GitHub + +### "Host key verification failed" error in `terraform init` when attempting to ingress Terraform modules via Git over SSH + +This is most common when running Terraform 0.10.3 or 0.10.4, which had a bug in handling SSH submodule ingress. Try upgrading affected HCP Terraform workspaces to the latest Terraform version or 0.10.8 (the latest in the 0.10 series). + +### HCP Terraform can't ingress Git submodules, with auth errors during init + +This usually happens when an SSH key isn't associated with the VCS provider's OAuth client. + +- Go to your organization's "VCS Provider" settings page and check your GitHub client. If it still says "You can add a private SSH key to this connection to be used for git clone operations" (instead of "A private SSH key has been added..."), you need to click the "add a private SSH key" link and add a key. +- Check the settings page for affected workspaces and ensure that "Include submodules on clone" is enabled. + +Note that the "SSH Key" section in a workspace's settings is only used for mid-run operations like cloning Terraform modules. It isn't used when cloning the linked repository before a run. + +## General + +The following errors may occur for all VCS providers except Bitbucket Data Center. + +### HCP Terraform returns 500 after authenticating with the VCS provider + +The Callback URL in the OAuth application configuration in the VCS provider probably wasn't updated in the last step of the instructions and still points to the default "/" path (or an example.com link) instead of the full callback url. + +The fix is to update the callback URL in your VCS provider's application settings. You can look up the real callback URL in HCP Terraform's settings. + +### Can't delete a workspace or module, resulting in 500 errors + +This often happens when the VCS connection has been somehow broken: it might have had permissions revoked, been reconfigured, or had the repository removed. Check for these possibilities and contact HashiCorp support for further assistance, including any information you collected in your support ticket. + +### `redirect_uri_mismatch` error on "Connect" + +The domain name for HCP Terraform's SaaS release changed on 02/22 at 9AM from `atlas.hashicorp.com` to `app.terraform.io`. If the OAuth client was originally configured on the old domain, using it for a new VCS connection can result in this error. + +The fix is to update the OAuth Callback URL in your VCS provider to use app.terraform.io instead of atlas.hashicorp.com. + +### Can't trigger workspace runs from VCS webhook + +A workspace with no runs will not accept new runs from a VCS webhook. You must queue at least one run manually. + +A workspace will not process a webhook if the workspace previously processed a webhook with the same commit SHA and created a run. To trigger a run, create a new commit. If a workspace receives a webhook with a previously processed commit, HCP Terraform adds a new event to the [VCS Events](/terraform/enterprise/vcs#viewing-events) page documenting the received webhook. + +### Changing the URL for a VCS provider + +On rare occasions, you might need HCP Terraform to change the URL it uses to reach your VCS provider. This usually only happens if you move your VCS server or the VCS vendor changes their supported API versions. + +HCP Terraform does not allow you to change the API URL for an existing VCS connection, but you can create a new VCS connection and update existing resources to use it. This is most efficient if you script the necessary updates using HCP Terraform's API. In brief: + +1. [Configure a new VCS connection](/terraform/enterprise/vcs) with the updated URL. +2. Obtain the [oauth-token IDs](/terraform/enterprise/api-docs/oauth-tokens) for the old and new OAuth clients. +3. [List all workspaces](/terraform/enterprise/api-docs/workspaces#list-workspaces) (dealing with pagination if necessary), and use a JSON filtering tool like `jq` to make a list of all workspace IDs whose `attributes.vcs-repo.oauth-token-id` matches the old VCS connection. +4. Iterate over the list of workspaces and [PATCH each one](/terraform/enterprise/api-docs/workspaces#update-a-workspace) to use the new `oauth-token-id`. +5. [List all registry modules](/terraform/registry/api-docs#list-modules) and use their `source` property to determine which ones came from the old VCS connection. +6. [Delete each affected module](/terraform/enterprise/api-docs/private-registry/modules#delete-a-module), then [create a new module](/terraform/enterprise/api-docs/private-registry/modules#publish-a-private-module-from-a-vcs) from the new connection's version of the relevant repo. +7. Delete the old VCS connection. + +### Reauthorizing VCS OAuth Providers + +If a VCS OAuth connection breaks, you can reauthorize an existing VCS provider while retaining any VCS connected resources, like workspaces. We recommend only using this feature to fix broken VCS connections. We also recommend reauthorizing using the same VCS account to avoid permission changes to your repositories. + +~> **Important:** Reauthorizing is not available when the [TFE Provider](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/oauth_client) is managing the OAuth Client. Instead, you can update the [oauth_token](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/oauth_client#oauth_token) argument with a new token from your VCS Provider. + +To reauthorize a VCS connection, complete the following steps: + +1. Go to your organization's settings and click **Providers** under **Version Control**. +2. Click **Reauthorize** in the **OAuth Token ID** column. +3. Confirm the reauthorization. HCP Terraform redirects you to your VCS Provider where you can reauthorize the connection. + +## Certificate Errors on Terraform Enterprise + +When debugging failures of VCS connections due to certificate errors, running additional diagnostics using the OpenSSL command may provide more information about the failure. + +First, attach a bash session to the application container: + + docker exec -it ptfe_atlas sh -c "stty rows 50 && stty cols 150 && bash" + +Then run the `openssl s_client` command, using the certificate at `/tmp/cust-ca-certificates.crt` in the container: + + openssl s_client -showcerts -CAfile /tmp/cust-ca-certificates.crt -connect git-server-hostname:443 + +For example, a Gitlab server that uses a self-signed certificate might result in an error like `verify error:num=18:self signed certificate`, as shown in the output below: + + bash-4.3# openssl s_client -showcerts -CAfile /tmp/cust-ca-certificates.crt -connect gitlab.local:443 + CONNECTED(00000003) + depth=0 CN = gitlab.local + verify error:num=18:self signed certificate + verify return:1 + depth=0 CN = gitlab.local + verify return:1 + --- + Certificate chain + 0 s:/CN=gitlab.local + i:/CN=gitlab.local + -----BEGIN CERTIFICATE----- + MIIC/DCCAeSgAwIBAgIJAIhG2GWtcj7lMA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV + BAMMFWdpdGxhYi1sb2NhbC5oYXNoaS5jbzAeFw0xODA2MDQyMjAwMDhaFw0xOTA2 + MDQyMjAwMDhaMCAxHjAcBgNVBAMMFWdpdGxhYi1sb2NhbC5oYXNoaS5jbzCCASIw + DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMMgrpo3zsoy2BP/AoGIgrYwEMnj + PwSOFGNHbclmiVBCW9jvrZrtva8Qh+twU7CSQdkeSP34ZgLrRp1msmLvUuVMgPts + i7isrI5hug/IHLLOGO5xMvxOcrHknvySYJRmvYFriEBPNRPYJGJ9O1ZUVUYeNwW/ + l9eegBDpJrdsjGmFKCOzZEdUA3zu7PfNgf788uIi4UkVXZNa/OFHsZi63OYyfOc2 + Zm0/vRKOn17dewOOesHhw77yYbBH8OFsEiC10JCe5y3MD9yrhV1h9Z4niK8rHPXz + XEh3JfV+BBArodmDbvi4UtT+IGdDueUllXv7kbwqvQ67OFmmek0GZOY7ZvMCAwEA + AaM5MDcwIAYDVR0RBBkwF4IVZ2l0bGFiLWxvY2FsLmhhc2hpLmNvMBMGA1UdJQQM + MAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IBAQCfkukNV/9vCA/8qoEbPt1M + mvf2FHyUD69p/Gq/04IhGty3sno4eVcwWEc5EvfNt8vv1FykFQ6zMJuWA0jL9x2s + LbC8yuRDnsAlukSBvyazCZ9pt3qseGOLskaVCeOqG3b+hJqikZihFUD95IvWNFQs + RpvGvnA/AH2Lqqeyk2ITtLYj1AcSB1hBSnG/0fdtao9zs0JQsrS59CD1lbbTPPRN + orbKtVTWF2JlJxl2watfCNTw6nTCPI+51CYd687T3MuRN7LsTgglzP4xazuNjbWB + QGAiQRd6aKj+xAJnqjzXt9wl6a493m8aNkyWrxZGHfIA1W70RtMqIC/554flZ4ia + -----END CERTIFICATE----- + --- + Server certificate + subject=/CN=gitlab.local + issuer=/CN=gitlab.local + --- + No client certificate CA names sent + Peer signing digest: SHA512 + Server Temp Key: ECDH, P-256, 256 bits + --- + SSL handshake has read 1443 bytes and written 433 bytes + --- + New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384 + Server public key is 2048 bit + Secure Renegotiation IS supported + Compression: NONE + Expansion: NONE + No ALPN negotiated + SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES256-GCM-SHA384 + Session-ID: AF5286FB7C7725D377B4A5F556DEB6DDC38B302153DDAE90C552ACB5DC4D86B8 + Session-ID-ctx: + Master-Key: DB75AEC12C6E7B62246C653C8CB8FC3B90DE86886D68CB09898A6A6F5D539007F7760BC25EC4563A893D34ABCFAAC28A + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 03 c1 35 c4 ff 6d 24 a8-6c 70 61 fb 2c dc 2e b8 ..5..m$.lpa.,... + 0010 - de 4c 6d b0 2c 13 8e b6-63 95 18 ee 4d 33 a6 dc .Lm.,...c...M3.. + 0020 - 0d 64 24 f0 8d 3f 9c aa-b8 a4 e2 4f d3 c3 4d 88 .d$..?.....O..M. + 0030 - 58 99 10 73 83 93 70 4a-2c 61 e7 2d 41 74 d3 e9 X..s..pJ,a.-At.. + 0040 - 83 8c 4a 7f ae 7b e8 56-5c 51 fc 6f fe e3 a0 ec ..J..{.V\Q.o.... + 0050 - 3c 2b 6b 13 fc a0 e5 15-a8 31 16 19 11 98 56 43 <+k......1....VC + 0060 - 16 86 c4 cd 53 e6 c3 61-e2 6c 1b 99 86 f5 a8 bd ....S..a.l...... + 0070 - 3c 49 c0 0a ce 81 a9 33-9b 95 2c e1 f4 6d 05 1e - + Best practices to structure your configuration and Terraform Enterprise + workspaces +source: terraform-docs-common +--- + +# Workspace Best Practices + +An HCP Terraform workspace manages a single state file and the lifecycle of its resources. It is the smallest collection of HCP Terraform-managed infrastructure. Any operation on a resource can potentially affect other resources managed in the same state file, so it is best to keep the potential blast radius of your operations small. To do so, manage resources in separate workspaces when possible, grouping together only necessary and logically-related resources. For example, even though your application may require both compute resources and a database, these resources can operate independently and should be in their own workspaces. +Scoping your configuration and planning your workspace strategy early in your adoption of HCP Terraform and Terraform Enterprise will simplify your operations and make them safer. + +## Name your Workspace + +We recommend using the following naming convention so you can identify and associate workspaces with specific components of your infrastructure: + +`---` + +- ``: The business unit or team that owns the workspace. +- ``: The name of the application or service that the workspace manages. +- ``: The layer of the infrastructure that the workspace manages (or example, network, compute, filestore). +- ``: The environment that the workspace manages (for example, prod, staging, QA, prod). + +If your application team does not have a `layer`, use `main` or `app` in its place to maintain consistency across the organization. + +## Group by volatility + +Volatility refers to the rate of change of the resources in a workspace. Infrastructure such as databases, VPCs, and subnets change much less frequently than infrastructure such as your web servers. By exposing your long-living infrastructure to unnecessary volatility, you introduce more opportunities for accidental changes. When planning your workspace organization, group resources by volatility. + +![An example of how workspaces can be split among Production, Staging, QA, and Dev. In this example, networking and security are grouped in one workspace, with compute, filestore, and SQL all having their own workspace. This is duplicated in each environment](/img/docs/workspace-net-infra-split.png) + +The above example groups together tightly-coupled resources like networking, security, and identity in a shared workspace. Compute, storage, and databases have separate workspaces, since they change at different frequencies. You may scale compute instances multiple times a day, but your database instances probably change far less frequently. By grouping these parts of your infrastructure into separate workspaces, you decouple unrelated resources and reduce the risk of unexpected changes. + +## Determine stateful vs stateless infrastructure + +Stateful resources are ones that you cannot delete and recreate because they persist data, such as databases and object storage. By managing stateful resources independently of stateless ones, such as separating databases from compute instances, you limit the blast radius of operations that cause the resource recreation and help protect against accidental data loss. + +Consider the workspace structure in the [Volatility section](#group-by-volatility). You could potentially manage filestore and database resources together, as they are both stateful resources. Your compute resources are stateless and should still have a separate workspace. + +## Separate privileges and responsibilities + +A best practice is to split up workspaces based on team responsibilities and required privileges. For example, consider an application that requires separate developer and production environments, each with special networking and application infrastructure. One approach is to create four different workspaces, two for the developer environment and two for production. Only the networking team has access to the networking workspaces. + +In this setup, only the networking team needs permissions to manage the resources in the networking workspaces, and others cannot manage those workspace resources. If a workspace's scope is too large, a user might need more permissions than appropriate in order to perform operations the workspace. + +![An example of how workspaces can be split among Production, Staging, QA, and Dev. In this example, networking and security are grouped in one workspace, with compute, filestore, and SQL all having their own workspace. This is duplicated in each environment](/img/docs/workspace-net-infra-combined.png) + +Splitting your workspaces by team also helps limit the responsibility per workspace and allows teams to maintain distinct areas of ownership. If you need to reference attributes of resources managed in other workspaces, you can share the outputs using the [tfe_outputs](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/data-sources/outputs) data source. By limiting the scope of each workspace and sharing just the required outputs with others, you reduce the risk of leaking potentially sensitive information in a workspace's state. To share outputs from a workspace, you must explicitly enable remote state sharing in the workspace settings. + +## Avoid large Terraform plans and applies + +HCP Terraform and Terraform Enterprise execute workloads using agents. Every time an agent refreshes a workspace's state, it builds a [dependency graph](/terraform/internals/graph) of the resources to determine how to sequence operations in the workspace. As the number of resources your workspace manages grows, these graphs become larger and more complex. As these graphs grow, they require more worker RAM to build them. If your agent's performance degrades or workloads take longer to complete, we suggest exploring ways to split up the workspace to reduce the size of the dependency graph. + +## Determine workspace concurrency vs Terraform parallelism + +Concurrency refers to the number of plan and apply operations that HCP Terraform or Terraform Enterprise can run simultaneously. + +In HCP Terraform, your edition limits the maximum concurrency for your organization. Refer to [HCP Terraform pricing](https://www.hashicorp.com/products/terraform/pricing?product_intent=terraform) for details. + +Terraform Enterprise lets you configure the concurrency, but defaults to 10 concurrent runs. As you increase concurrency, the amount of memory your Terraform Enterprise installation requires increases as well. Refer to the [Capacity and performance](/terraform/enterprise/replicated/architecture/system-overview/capacity) documentation for more information. + +Parallelism refers to the number of tasks the Terraform CLI performs simultaneously in a single workload. By default, Terraform performs a maximum of 10 operations in parallel. When running a `terraform apply` command, Terraform refreshes each resource in the state file and compares to the remote object. Every resource refresh, creation, update, or destruction is an individual operation. If your workload creates 11 resources, Terraform starts by creating the first 10 resources in its dependency graph, and will begin creating the 11th once it finishes creating one of the first 10 resources. + +You can [increase the parallelism](/terraform/enterprise/workspaces/variables#parallelism) of Terraform, but this increases a run's CPU usage. We recommend that you instead break down large Terraform configurations into smaller ones with fewer resources when possible. Long-running Terraform workloads are an early sign of a bloated workspace scope. + +## Next steps + +This article introduces some considerations to keep in mind as your organization matures their workspace usage. Being deliberate about how you use these to organize your infrastructure will ensure smoother and safer operations. [HCP Terraform](/terraform/tutorials/cloud-get-started) provides a place to try these concepts hands-on, and you can [get started for free](https://app.terraform.io/public/signup/account). + +To learn more about HCP Terraform and Terraform Enterprise best practices, refer to [Project Best Practices](/terraform/enterprise/projects/best-practices). To learn best practices for writing Terraform configuration, refer to the [Terraform Style Guide](/terraform/language/style). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/browse.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/browse.mdx new file mode 100644 index 0000000000..3b7ef87d01 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/browse.mdx @@ -0,0 +1,72 @@ +--- +page_title: Browse workspaces +description: >- + Learn how to use the sorting and filtering interfaces in Terraform Enterprise + to create different views of the resource data that the app manages so that + you can track consumption across your organizations. +source: terraform-docs-common +--- + +# Browse workspaces + +This topic describes how to use browse, sort, and filter workspaces in the UI so that you can track consumption across your organizations. + +## Overview + +HCP Terraform and Terraform Enterprise include several interfaces for browsing, sorting, and filtering resource data so that you can effectively manage workspaces and projects. You can also use interfaces together, such as applying a tag filter and sorting by workspace name, to refine results. + + + +### Explorer view + +The explorer for workspace visibility surfaces a wider range of valuable information from across your workspaces. Refer to [Explorer for workspace visibility](/terraform/enterprise/workspaces/explorer) for additional information. + + + +## Requirements + +You must be a member of a team with the **Read** permissions enabled for Terraform runs to view workspaces associated with the run. Refer to the [permissions reference](/terraform/enterprise/users-teams-organizations/permissions) for additional information. + +If your organization contains many workspaces, you can use the filter tools at the top of the list to find the workspaces you are interested in. + +## Find a workspace + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and select your organization. +2. Click **Workspaces** to view workspaces you have access to. +3. To view projects you have access to, click on either **Projects** in the sidebar menu or the drawer icon in the **Workspaces** bar. +4. If your organization contains several workspaces or projects, you can paginate through the workspace screen or project drawer to find the workspace you are looking for. +5. You can also use the search bar in the **Workspace** drawer to find a project by name + +## Filter workspaces + +You can use the following interfaces to sort and filter workspaces: + +- Click on a run status button to filter workspaces by one of the most common run statuses. You can filter by one of the following statuses: + + - Needs attention + - Errored + - Running + - On hold + - Applied + +- Choose one or more tag keys, values, or key-value pairs from the **Tags** drop-down to filter workspaces by tag. + +- Choose one or more run statuses from the **Status** drop-down to filter workspaces by run status. The **Status** drop-down lists all available run statuses, including the common statuses available in the run status button bar. + +- The tag filter shows a list of tags added to all workspaces, limited to the first 1,000 tags alphabetically. Choosing one or more will show only workspaces tagged with all of the chosen tags. + +- Choose a health assessment label form the **Health** drop-down to filter workspaces according to the latest health assessment results. You can filter according to the following labels: + + - Drifted + - Health error + - Check failed + +## Sort workspaces + +Click on a column header to sort workspaces by trait. Traits appear in either ascending or descending alphabetical order. You can sort according to the following traits: + +- Workspace name +- Run status +- Repository +- Latest change +- Tag diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/configurations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/configurations.mdx new file mode 100644 index 0000000000..f56346f09b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/configurations.mdx @@ -0,0 +1,73 @@ +--- +page_title: Manage Terraform configurations +description: >- + Workspaces organize infrastructure and state. Learn how to provide + configuration versions for a workspace and organize multiple environments. +source: terraform-docs-common +--- + +# Manage Terraform configurations + +[remote operations]: /terraform/enterprise/run/remote-operations + +[execution mode]: /terraform/enterprise/workspaces/settings#execution-mode + +[Terraform configuration]: /terraform/language + +Each HCP Terraform workspace is associated with a particular [Terraform configuration][], which is expected to change and evolve over time. + +Since every organization has its own preferred source code control practices, HCP Terraform does not provide integrated version management. Instead, it expects Terraform configurations to be managed in your existing version control system (VCS). + +In order to perform [remote Terraform runs][remote operations] for a given workspace, HCP Terraform needs to periodically receive new versions of its configuration. Usually, this can be handled automatically by connecting a workspace to a VCS repository. + +-> **Note:** If a workspace's [execution mode is set to local][execution mode], it doesn't require configuration versions, since HCP Terraform won't perform runs for that workspace. + +## Providing Configuration Versions + +There are two ways to provide configuration versions for a workspace: + +- **With a connected VCS repository.** HCP Terraform can automatically fetch content from supported VCS providers, and uses webhooks to get notified of code changes. This is the most convenient way to use HCP Terraform. See [The UI- and VCS-driven Run Workflow](/terraform/enterprise/run/ui) for more information. + + A VCS connection can be configured [when a workspace is created](/terraform/enterprise/workspaces/create), or later in its [version control settings](/terraform/enterprise/workspaces/settings/vcs). + + -> **Note:** When a workspace is connected to a VCS repository, directly uploaded configuration versions can only be used for [speculative plans](/terraform/enterprise/run/remote-operations#speculative-plans). This helps ensure your VCS remains the source of truth for all real infrastructure changes. + +- **With direct uploads.** You can use a variety of tools to directly upload configuration content to HCP Terraform: + + - **Terraform CLI:** With the [CLI integration](/terraform/cli/cloud) configured, the `terraform plan` and `terraform apply` commands will perform remote runs by uploading a configuration from a local working directory. See [The CLI-driven Run Workflow](/terraform/enterprise/run/cli) for more information. + - **API:** HCP Terraform's API can accept configurations as `.tar.gz` files, which can be uploaded by a CI system or other workflow tools. See [The API-driven Run Workflow](/terraform/enterprise/run/api) for more information. + + When configuration versions are provided via the CLI or API, HCP Terraform can't automatically react to code changes in the underlying VCS repository. + +## Code Organization and Repository Structure + +### Organizing Separate Configurations + +Most organizations either keep each Terraform configuration in a separate repository, or keep many Terraform configurations as separate directories in a single repository (often called a "monorepo"). + +HCP Terraform works well with either approach, but monorepos require some extra configuration: + +- Each workspace must [specify a Terraform working directory](/terraform/enterprise/workspaces/settings#terraform-working-directory), so HCP Terraform knows which configuration to use. +- If the repository includes any shared Terraform modules, you must add those directories to the [automatic run triggering setting](/terraform/enterprise/workspaces/settings/vcs#automatic-run-triggering) for any workspace that uses those modules. + +-> **Note:** If your organization does not have a strong preference, we recommend using separate repositories for each configuration and using the private module registry to share modules. This allows for faster module development, since you don't have to update every configuration that consumes a module at the same time as the module itself. + +### Organizing Multiple Environments for a Configuration + +There are also a variety of ways to handle multiple environments. The most common approaches are: + +- All environments use the same main branch, and environment differences are handled with Terraform variables. To protect production environments, wait to apply runs until their changes are verified in staging. +- Different environments use different long-lived VCS branches. To protect production environments, merge changes to the production branch after they have been verified in staging. +- Different environments use completely separate configurations, and shared behaviors are handled with shared Terraform modules. To protect production environments, verify new module versions in staging before updating the version used in production. + +HCP Terraform works well with all of these approaches. If you used long-lived branches, be sure to specify which branch to use in each workspace's VCS connection settings. + +## Archiving Configuration Versions + +Once all runs using a particular configuration version are complete, HCP Terraform no longer needs the associated `.tar.gz` file and may discard it to save storage space. This process is handled differently depending on how the configuration version was created. + +- **Created with a connected VCS repository.** HCP Terraform will automatically archive VCS configuration versions once all runs are completed and they are no longer current for any workspace. HCP Terraform will re-fetch the configuration files from VCS as needed for new runs. + +- **Created with direct uploads via the API or CLI.** HCP Terraform does not archive CLI and API configuration versions automatically, because it cannot re-fetch the files for new runs. However, you can use the [Archive a Configuration Version](/terraform/enterprise/api-docs/configuration-versions#archive-a-configuration-version) endpoint to archive them manually. + +For Terraform Enterprise customers upgrading from a previous version, the functionality has a backfill capability that will clean up space for historical runs in batches. In each organization, Terraform Enterprise archives a batch of 100 configurations each time a run completes or a new configuration version is uploaded. This will gradually free up existing object storage space over time. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/create.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/create.mdx new file mode 100644 index 0000000000..e52c6468b2 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/create.mdx @@ -0,0 +1,110 @@ +--- +page_title: Create workspaces in Terraform Enterprise +description: >- + Workspaces organize infrastructure and state into groups. Learn how to create + and configure Terraform Enterprise workspaces through the UI. +source: terraform-docs-common +--- + +# Create workspaces + +This topic describes how to create and manage workspaces in HCP Terraform and Terraform Enterprise UI. A workspace is a group of infrastructure resources managed by Terraform. Refer to [Workspaces overview](/terraform/enterprise/workspaces) for additional information. + +> **Hands-on:** Try the [Get Started - HCP Terraform](/terraform/tutorials/cloud-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorials. + +## Introduction + +Create new workspaces when you need to manage a new collection of infrastructure resources. You can use the following methods to create workspaces: + +- HCP Terraform UI: Refer to [Create a workspace](#create-a-workspace) for instructions. +- Workspaces API: Send a `POST`call to the `/organizations/:organization_name/workspaces` endpoint to create a workspace. Refer to the [API documentation](/terraform/enterprise/api-docs/workspaces#create-a-workspace) for instructions. +- Terraform Enterprise provider: Install the `tfe` provider and add the `tfe_workspace` resource to your configuration. Refer to the [`tfe` provider documentation](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) in the Terraform registry for instructions. +- No-code provisioning: Use a no-code module from the registry to create a new workspace and deploy the module's resources. Refer to [Provisioning No-Code Infrastructure](/terraform/enterprise/no-code-provisioning/provisioning) for instructions. + +Each workspace belongs to a project. Refer to [Manage projects](/terraform/enterprise/projects/manage) for additional information. + +## Requirements + +You must be a member of a team with one of the following permissions enabled to create and manage workspaces: + +- **Manage all projects** +- **Manage all workspaces** +- **Admin** permission group for a project. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Workspace naming + +We recommend using consistent and informative names for new workspaces. One common approach is combining the workspace's important attributes in a consistent order. Attributes can be any defining characteristic of a workspace, such as the component, the component’s run environment, and the region where the workspace is provisioning infrastructure. + +This strategy could produce the following example workspace names: + +- networking-prod-us-east +- networking-staging-us-east +- networking-prod-eu-central +- networking-staging-eu-central +- monitoring-prod-us-east +- monitoring-staging-us-east +- monitoring-prod-eu-central +- monitoring-staging-eu-central + +You can add additional attributes to your workspace names as needed. For example, you may add the infrastructure provider, datacenter, or line of business. + +We recommend using 90 characters or less for the name of your workspace. + +## Create a workspace + +[workdir]: /terraform/enterprise/workspaces/settings#terraform-working-directory + +[trigger]: /terraform/enterprise/workspaces/settings/vcs#automatic-run-triggering + +[branch]: /terraform/enterprise/workspaces/settings/vcs#vcs-branch + +[submodules]: /terraform/enterprise/workspaces/settings/vcs#include-submodules-on-clone + +Complete the following steps to use the HCP Terraform or Terraform Enterprise UI to create a workspace: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and choose your organization. +2. Click **New** and choose **Workspace** from the drop-down menu. +3. If you have multiple projects, HCP Terraform may prompt you to choose the project to create the workspace in. Only users on teams with permissions for the entire project or the specific workspace can access the workspace. Refer to [Manage projects](/terraform/enterprise/projects/manage) for additional information. +4. Choose a workflow type. +5. Complete the following steps if you are creating a workspace that follows the VCS workflow: + 1. Choose an existing version control provider from the list or configure a new system. You must enable the workspace project to connect to your provider. Refer to [Connecting VCS + Providers](/terraform/enterprise/vcs) for more details. + 2. If you choose the **GitHub App** provider, choose an organization and repository when prompted. The list only displays the first 100 repositories from your VCS provider. If your repository is missing from the list, enter the repository ID in the text field . + 3. Refer to the following topics for information about configuring workspaces settings in the **Advanced options** screen: + - [Terraform Working Directory][workdir] + - [Automatic Run Triggering][trigger] + - [VCS branch][branch] + - [Include submodules on clone][submodules] +6. Specify a name for the workspace. VCS workflow workspaces default to the name of the repository. The name must be unique within the organization and can include letters, numbers, hyphens, and underscores. Refer to [Workspace naming](#workspace-naming) for additional information. +7. Add an optional description for the workspace. The description appears at the top of the workspace in the HCP Terraform UI. +8. Click **Create workspace** to finish. + +For CLI or API-driven workflow, the system opens the new workspace overview. For version control workspaces, the **Configure Terraform variables** page appears. + +### Configure Terraform variables for VCS workflows + +After you create a new workspace from a version control repository, HCP Terraform scans its configuration files for [Terraform variables](/terraform/enterprise/workspaces/variables#terraform-variables) and displays variables without default values or variables that are undefined in an existing [global or project-scoped variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). Terraform cannot perform successful runs in the workspace until you set values for these variables. + +Choose one of the following actions: + +- To skip this step, click **Go to workspace overview**. You can [load these variables from files](/terraform/enterprise/workspaces/variables/managing-variables#loading-variables-from-files) or create and set values for them later from within the workspace. HCP Terraform does not automatically scan your configuration again; you can only add variables from within the workspace individually. +- To configure variables, enter a value for each variable on the page. You may want to leave a variable empty if you plan to provide it through another source, like an `auto.tfvars` file. Click **Save variables** to add these variables to the workspace. + +## Next steps + +If you have already configured all Terraform variables, we recommend [manually starting a run](/terraform/enterprise/run/ui#manually-starting-runs) to prepare VCS-driven workspaces. You may also want to do one or more of the following actions: + +- [Upload configuration versions](/terraform/enterprise/workspaces/configurations#providing-configuration-versions): If you chose the API or CLI-Driven workflow, you must upload configuration versions for the workspace. +- [Edit environment variables](/terraform/enterprise/workspaces/variables): Shell environment variables store credentials and customize Terraform's behavior. +- [Edit additional workspace settings](/terraform/enterprise/workspaces/settings): This includes notifications, permissions, and run triggers to start runs automatically. +- [Learn more about running Terraform in your workspace](/terraform/enterprise/run/remote-operations): This includes how Terraform processes runs within the workspace, run modes, run states, and other operations. +- [Create workspace tags](/terraform/enterprise/workspaces/tags): Add tags to your workspaces so that you can organize and track them. +- [Browse workspaces](/terraform/enterprise/workspaces/browse): Use the interfaces available in the UI to browse, sort, and filter workspaces so that you can track resource consumption. + +### VCS Connection + +If you connected a VCS repository to the workspace, HCP Terraform automatically registers a webhook with your VCS provider. A workspace with no runs will not accept new runs from a VCS webhook, so you must [manually start at least one run](/terraform/enterprise/run/ui#manually-starting-runs). + +After you manually start a run, HCP Terraform automatically queues a plan when new commits appear in the selected branch of the linked repository or someone opens a pull request on that branch. Refer to [Webhooks](/terraform/enterprise/vcs#webhooks) for more details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/aws-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/aws-configuration.mdx new file mode 100644 index 0000000000..3d84e52e56 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/aws-configuration.mdx @@ -0,0 +1,165 @@ +--- +page_title: Use dynamic credentials with the AWS provider in Terraform Enterprise +description: >- + Use OpenID Connect to get short-term credentials for the AWS Terraform + provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use dynamic credentials with the AWS provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.7.0](/terraform/cloud-docs/agents/changelog#1-7-0-03-02-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with AWS to get [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) for the AWS provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure AWS](#configure-aws):** Set up a trust configuration between AWS and HCP Terraform. Then, you must create AWS roles and policies for your HCP Terraform workspaces. +2. **[Configure HCP Terraform](#configure-hcp-terraform):** Add environment variables to the HCP Terraform workspaces where you want to use Dynamic Credentials. + +Once you complete the setup, HCP Terraform automatically authenticates to AWS during each run. The AWS provider authentication is valid for the length of the plan or apply. + +## Configure AWS + +You must enable and configure an OIDC identity provider and accompanying role and trust policy on AWS. These instructions use the AWS console, but you can also use Terraform to configure AWS. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/aws). + +### Create an OIDC Identity Provider + +AWS documentation for setting this up through the AWS console or API can be found here: [Creating OpenID Connect (OIDC) identity providers - AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html). + +The `provider URL` should be set to the address of HCP Terraform (e.g., **without** a trailing slash), and the `audience` should be set to `aws.workload.identity` or the value of `TFC_AWS_WORKLOAD_IDENTITY_AUDIENCE`, if configured. + +### Configure a Role and Trust Policy + +You must configure a role and corresponding trust policy. Amazon documentation on setting this up can be found here: [Creating a role for web identity or OpenID Connect Federation (console) - AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html). +The trust policy will be of the form: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Federated": "OIDC_PROVIDER_ARN" + }, + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringEquals": { + "SITE_ADDRESS:aud": "AUDIENCE_VALUE", + "SITE_ADDRESS:sub": "organization:ORG_NAME:project:PROJECT_NAME:workspace:WORKSPACE_NAME:run_phase:RUN_PHASE" + } + } + } + ] +} +``` + +with the capitalized values replaced with the following: + +- **OIDC_PROVIDER_ARN**: The ARN from the OIDC provider resource created in the previous step +- **SITE_ADDRESS**: The address of HCP Terraform with `https://` stripped, (e.g., `app.terraform.io`) +- **AUDIENCE_VALUE**: This should be set to `aws.workload.identity` unless a non-default audience has been specified in TFC +- **ORG_NAME**: The organization name this policy will apply to, such as `my-org-name` +- **PROJECT_NAME**: The project name that this policy will apply to, such as `my-project-name` +- **WORKSPACE_NAME**: The workspace name this policy will apply to, such as `my-workspace-name` +- **RUN_PHASE**: The run phase this policy will apply to, currently one of `plan` or `apply`. + +-> **Note:** if different permissions are desired for plan and apply, then two separate roles and trust policies must be created for each of these run phases to properly match them to the correct access level. +If the same permissions will be used regardless of run phase, then the condition can be modified like the below to use `StringLike` instead of `StringEquals` for the sub and include a `*` after `run_phase:` to perform a wildcard match: + +```json +{ + "Condition": { + "StringEquals": { + "SITE_ADDRESS:aud": "AUDIENCE_VALUE" + }, + "StringLike": { + "SITE_ADDRESS:sub": "organization:ORG_NAME:project:PROJECT_NAME:workspace:WORKSPACE_NAME:run_phase:*" + } + } +} +``` + +!> **Warning**: you should always check, at minimum, the audience and the name of the organization in order to prevent unauthorized access from other HCP Terraform organizations! + +A permissions policy needs to be added to the role which defines what operations within AWS the role is allowed to perform. As an example, the below policy allows for fetching a list of S3 buckets: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "s3:ListBucket" + ], + "Resource": "*" + } + ] +} +``` + +## Configure HCP Terraform + +You’ll need to set some environment variables in your HCP Terraform workspace in order to configure HCP Terraform to authenticate with AWS using dynamic credentials. You can set these as workspace variables, or if you’d like to share one AWS role across multiple workspaces, you can use a variable set. When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Required Environment Variables + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_AWS_PROVIDER_AUTH`
`TFC_AWS_PROVIDER_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.7.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate to AWS. | +| `TFC_AWS_RUN_ROLE_ARN`
`TFC_AWS_RUN_ROLE_ARN[_TAG]`
`TFC_DEFAULT_AWS_RUN_ROLE_ARN` | The ARN of the role to assume in AWS. | Requires **v1.7.0** or later if self-managing agents. Optional if `TFC_AWS_PLAN_ROLE_ARN` and `TFC_AWS_APPLY_ROLE_ARN` are both provided. These variables are described [below](/terraform/enterprise/workspaces/dynamic-provider-credentials/aws-configuration#optional-environment-variables) | + +### Optional Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `TFC_AWS_WORKLOAD_IDENTITY_AUDIENCE`
`TFC_AWS_WORKLOAD_IDENTITY_AUDIENCE[_TAG]`
`TFC_DEFAULT_AWS_WORKLOAD_IDENTITY_AUDIENCE` | Will be used as the `aud` claim for the identity token. Defaults to `aws.workload.identity`. | Requires **v1.7.0** or later if self-managing agents. | +| `TFC_AWS_PLAN_ROLE_ARN`
`TFC_AWS_PLAN_ROLE_ARN[_TAG]`
`TFC_DEFAULT_AWS_PLAN_ROLE_ARN` | The ARN of the role to use for the plan phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_AWS_RUN_ROLE_ARN` if not provided. | +| `TFC_AWS_APPLY_ROLE_ARN`
`TFC_AWS_APPLY_ROLE_ARN[_TAG]`
`TFC_DEFAULT_AWS_APPLY_ROLE_ARN` | The ARN of the role to use for the apply phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_AWS_RUN_ROLE_ARN` if not provided. | + +## Configure the AWS Provider + +Make sure that you’re passing a value for the `region` argument into the provider configuration block or setting the `AWS_REGION` variable in your workspace. + +Make sure that you’re not using any of the other arguments or methods mentioned in the [authentication and configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration) section of the provider documentation as these settings may interfere with dynamic provider credentials. + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct AWS setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_aws_dynamic_credentials" { + description = "Object containing AWS dynamic credentials configuration" + type = object({ + default = object({ + shared_config_file = string + }) + aliases = map(object({ + shared_config_file = string + })) + }) +} +``` + +#### Example Usage + +```hcl +provider "aws" { + shared_config_files = [var.tfc_aws_dynamic_credentials.default.shared_config_file] +} + +provider "aws" { + alias = "ALIAS1" + shared_config_files = [var.tfc_aws_dynamic_credentials.aliases["ALIAS1"].shared_config_file] +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/azure-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/azure-configuration.mdx new file mode 100644 index 0000000000..502cd60c8d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/azure-configuration.mdx @@ -0,0 +1,177 @@ +--- +page_title: Use dynamic credentials with the Azure provider in Terraform Enterprise +description: >- + Use OpenID Connect to get short-term credentials for the Azure Terraform + providers in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use dynamic credentials with the Azure provider + +~> **Important:** Ensure you are using version **3.25.0** or later of the **AzureRM provider** and version **2.29.0** or later of the **Microsoft Entra ID provider** (previously Azure Active Directory) as required OIDC functionality was introduced in these provider versions. + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.7.0](/terraform/cloud-docs/agents/changelog#1-7-0-03-02-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with Azure to get [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) for the AzureRM or Microsoft Entra ID providers in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure Azure](#configure-azure):** Set up a trust configuration between Azure and HCP Terraform. Then, you must create Azure roles and policies for your HCP Terraform workspaces. +2. **[Configure HCP Terraform](#configure-hcp-terraform):** Add environment variables to the HCP Terraform workspaces where you want to use Dynamic Credentials. + +Once you complete the setup, HCP Terraform automatically authenticates to Azure during each run. The Azure provider authentication is valid for the length of the plan or apply. + +!> **Warning:** Dynamic credentials with the Azure providers do not work when your Terraform Enterprise instance uses a custom or self-signed certificate. This limitation is due to restrictions in Azure. + +## Configure Azure + +You must enable and configure an application and service principal with accompanying federated credentials and permissions on Azure. These instructions use the Azure portal, but you can also use Terraform to configure Azure. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/azure). + +### Create an Application and Service Principal + +Follow the steps mentioned in the AzureRM provider docs here: [Creating the Application and Service Principal](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_oidc#creating-the-application-and-service-principal). + +As mentioned in the documentation it will be important to make note of the `client_id` for the application as you will use this later for authentication. + +-> **Note:** you will want to skip the `“Configure Microsoft Entra ID Application to Trust a GitHub Repository”` section as this does not apply here. + +### Grant the Application Access to Manage Resources in Your Azure Subscription + +You must now give the created Application permission to modify resources within your Subscription. + +Follow the steps mentioned in the AzureRM provider docs here: [Granting the Application access to manage resources in your Azure Subscription](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_oidc#granting-the-application-access-to-manage-resources-in-your-azure-subscription). + +### Configure Microsoft Entra ID Application to Trust a Generic Issuer + +Finally, you must create federated identity credentials which validate the contents of the token sent to Azure from HCP Terraform. + +Follow the steps mentioned in the AzureRM provider docs here: [Configure Azure Microsoft Entra ID Application to Trust a Generic Issuer](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_oidc#configure-azure-active-directory-application-to-trust-a-generic-issuer). + +The following information should be specified: + +- **Federated credential scenario**: Must be set to `Other issuer`. +- **Issuer**: The address of HCP Terraform (e.g., ). + - **Important**: make sure this value starts with **https://** and does _not_ have a trailing slash. +- **Subject identifier**: The subject identifier from HCP Terraform that this credential will match. This will be in the form `organization:my-org-name:project:my-project-name:workspace:my-workspace-name:run_phase:plan` where the `run_phase` can be one of `plan` or `apply`. +- **Name**: A name for the federated credential, such as `tfc-plan-credential`. Note that this cannot be changed later. + +The following is optional, but may be desired: + +- **Audience**: Enter the audience value that will be set when requesting the identity token. This will be `api://AzureADTokenExchange` by default. This should be set to the value of `TFC_AZURE_WORKLOAD_IDENTITY_AUDIENCE` if this has been configured. + +-> **Note:** because the `Subject identifier` for federated credentials is a direct string match, two federated identity credentials need to be created for each workspace using dynamic credentials: one that matches `run_phase:plan` and one that matches `run_phase:apply`. + +## Configure HCP Terraform + +You’ll need to set some environment variables in your HCP Terraform workspace in order to configure HCP Terraform to authenticate with Azure using dynamic credentials. You can set these as workspace variables. When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Required Environment Variables + +| Variable | Value | Notes | +| ------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_AZURE_PROVIDER_AUTH`
`TFC_AZURE_PROVIDER_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.7.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate to Azure. | +| `TFC_AZURE_RUN_CLIENT_ID`
`TFC_AZURE_RUN_CLIENT_ID[_TAG]`
`TFC_DEFAULT_AZURE_RUN_CLIENT_ID` | The client ID for the Service Principal / Application used when authenticating to Azure. | Requires **v1.7.0** or later if self-managing agents. Optional if `TFC_AZURE_PLAN_CLIENT_ID` and `TFC_AZURE_APPLY_CLIENT_ID` are both provided. These variables are described [below](/terraform/enterprise/workspaces/dynamic-provider-credentials/azure-configuration#optional-environment-variables) | + +### Optional Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_AZURE_WORKLOAD_IDENTITY_AUDIENCE`
`TFC_AZURE_WORKLOAD_IDENTITY_AUDIENCE[_TAG]`
`TFC_DEFAULT_AZURE_WORKLOAD_IDENTITY_AUDIENCE` | Will be used as the `aud` claim for the identity token. Defaults to `api://AzureADTokenExchange`. | Requires **v1.7.0** or later if self-managing agents. | +| `TFC_AZURE_PLAN_CLIENT_ID`
`TFC_AZURE_PLAN_CLIENT_ID[_TAG]`
`TFC_DEFAULT_AZURE_PLAN_CLIENT_ID` | The client ID for the Service Principal / Application to use for the plan phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_AZURE_RUN_CLIENT_ID` if not provided. | +| `TFC_AZURE_APPLY_CLIENT_ID`
`TFC_AZURE_APPLY_CLIENT_ID[_TAG]`
`TFC_DEFAULT_AZURE_APPLY_CLIENT_ID` | The client ID for the Service Principal / Application to use for the apply phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_AZURE_RUN_CLIENT_ID` if not provided. | + +## Configure the AzureRM or Microsoft Entra ID Provider + +Make sure that you’re passing values for the `subscription_id` and `tenant_id` arguments into the provider configuration block or setting the `ARM_SUBSCRIPTION_ID` and `ARM_TENANT_ID` variables in your workspace. + +Make sure that you’re _not_ setting values for `client_id`, `use_oidc`, or `oidc_token` in the provider or setting any of `ARM_CLIENT_ID`, `ARM_USE_OIDC`, `ARM_OIDC_TOKEN`. + +### Specifying Multiple Configurations + +~> **Important:** Ensure you are using version **3.60.0** or later of the **AzureRM provider** and version **2.43.0** or later of the **Microsoft Entra ID provider** as required functionality was introduced in these provider versions. + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct Azure setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_azure_dynamic_credentials" { + description = "Object containing Azure dynamic credentials configuration" + type = object({ + default = object({ + client_id_file_path = string + oidc_token_file_path = string + }) + aliases = map(object({ + client_id_file_path = string + oidc_token_file_path = string + })) + }) +} +``` + +#### Example Usage + +##### AzureRM Provider + +```hcl +provider "azurerm" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + // use_oidc must be explicitly set to true when using multiple configurations. + use_oidc = true + client_id_file_path = var.tfc_azure_dynamic_credentials.default.client_id_file_path + oidc_token_file_path = var.tfc_azure_dynamic_credentials.default.oidc_token_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "10000000-0000-0000-0000-000000000000" +} + +provider "azurerm" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + // use_oidc must be explicitly set to true when using multiple configurations. + use_oidc = true + alias = "ALIAS1" + client_id_file_path = var.tfc_azure_dynamic_credentials.aliases["ALIAS1"].client_id_file_path + oidc_token_file_path = var.tfc_azure_dynamic_credentials.aliases["ALIAS1"].oidc_token_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "20000000-0000-0000-0000-000000000000" +} +``` + +##### Microsoft Entra ID Provider (formerly Azure AD) + +```hcl +provider "azuread" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + // use_oidc must be explicitly set to true when using multiple configurations. + use_oidc = true + client_id_file_path = var.tfc_azure_dynamic_credentials.default.client_id_file_path + oidc_token_file_path = var.tfc_azure_dynamic_credentials.default.oidc_token_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "10000000-0000-0000-0000-000000000000" +} + +provider "azuread" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + // use_oidc must be explicitly set to true when using multiple configurations. + use_oidc = true + alias = "ALIAS1" + client_id_file_path = var.tfc_azure_dynamic_credentials.aliases["ALIAS1"].client_id_file_path + oidc_token_file_path = var.tfc_azure_dynamic_credentials.aliases["ALIAS1"].oidc_token_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "20000000-0000-0000-0000-000000000000" +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/gcp-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/gcp-configuration.mdx new file mode 100644 index 0000000000..400f5e996f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/gcp-configuration.mdx @@ -0,0 +1,174 @@ +--- +page_title: Use dynamic credentials with the GCP provider in Terraform Enterprise +description: >- + Use OpenID Connect to get short-term credentials for the GCP Terraform + provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use dynamic credentials with the GCP provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.7.0](/terraform/cloud-docs/agents/changelog#1-7-0-03-02-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with GCP to get [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) for the GCP provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure GCP](#configure-gcp):** Set up a trust configuration between GCP and HCP Terraform. Then, you must create GCP roles and policies for your HCP Terraform workspaces. +2. **[Configure HCP Terraform](#configure-hcp-terraform):** Add environment variables to the HCP Terraform workspaces where you want to use Dynamic Credentials. + +Once you complete the setup, HCP Terraform automatically authenticates to GCP during each run. The GCP provider authentication is valid for the length of the plan or apply. + +!> **Warning:** Dynamic credentials with the GCP provider do not work if your Terraform Enterprise instance uses a custom or self-signed certificate. This limitation is due to restrictions in GCP. + +## Configure GCP + +You must enable and configure a workload identity pool and provider on GCP. These instructions use the GCP console, but you can also use Terraform to configure GCP. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/gcp). + +### Add a Workload Identity Pool and Provider + +Google documentation for setting this up can be found here: [Configuring workload identity federation with other identity providers](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers). + +Before starting to create the resources, you must enable the APIs mentioned at the start of the [Configure workload Identity federation](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#configure). + +#### Add a Workload Identity Pool + +The following information should be specified: + +- **Name**: Name for the pool, such as `my-tfc-pool`. The name is also used as the pool ID. You can't change the pool ID later. + +The following is optional, but may be desired: + +- **Pool ID**: The ID for the pool. This defaults to the name as mentioned above, but can be set to another value. +- **Description**: Text that describes the purpose of the pool. + +You will also want to ensure that the `Enabled Pool` option is set to be enabled before clicking next. + +#### Add a Workload Identity Provider + +You must add a workload identity provider to the pool. The following information should be specified: + +- **Provider type**: Must be `OpenID Connect (OIDC)`. +- **Provider name**: Name for the identity provider, such as `my-tfc-provider`. The name is also used as the provider ID. You can’t change the provider ID later. +- **Issuer (URL)**: The address of the TFC/E instance, such as + - **Important**: make sure this value starts with **https://** and does _not_ have a trailing slash. +- **Audiences**: This can be left as `Default audience` if you are planning on using the default audience HCP Terraform provides. + - **Important**: you must select the `Allowed audiences` toggle and set this to the value of `TFC_GCP_WORKLOAD_IDENTITY_AUDIENCE`, if configured. +- **Provider attributes mapping**: At the minimum this must include `assertion.sub` for the `google.subject` entry. Other mappings can be added for other claims in the identity token to attributes by adding `attribute.[claim name]` on the Google side and `assertion.[claim name]` on the OIDC side of a new mapping. +- **Attribute Conditions**: Conditions to restrict which identity tokens can authenticate using the workload identity pool, such as `assertion.sub.startsWith("organization:my-org:project:my-project:workspace:my-workspace")` to restrict access to identity tokens from a specific workspace. See this page in Google documentation for more information on the expression language: [Attribute conditions](https://cloud.google.com/iam/docs/workload-identity-federation#conditions). + +!> **Warning**: you should always check, at minimum, the audience and the name of the organization in order to prevent unauthorized access from other HCP Terraform organizations! + +The following is optional, but may be desired: + +- **Provider ID**: The ID for the provider. This defaults to the name as mentioned above, but can be set to another value. + +### Add a Service Account and Permissions + +You must next add a service account and properly configure the permissions. + +#### Create a Service Account + +Google documentation for setting this up can be found here: [Creating a service account for the external workload](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#create_a_service_account_for_the_external_workload). + +The following information should be specified: + +- **Service account name**: Name for the service account, such as `tfc-service-account`. The name is also used as the pool ID. You can't change the pool ID later. + +The following is optional, but may be desired: + +- **Service account ID**: The ID for the service account. This defaults to the name as mentioned above, but can be set to another value. +- **Description**: Text that describes the purpose of the service account. + +#### Grant IAM Permissions + +The next step in the setup wizard will allow for granting IAM permissions for the service account. The role that is given to the service account will vary depending on your specific needs and project setup. This should in general be the most minimal set of permissions needed for the service account to properly function. + +#### Grant External Permissions + +Once the service account has been created and granted IAM permissions, you will need to grant access to the service account for the identity pool created above. Google documentation for setting this up can be found here: [Allow the external workload to impersonate the service account](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#allow_the_external_workload_to_impersonate_the_service_account). + +## Configure HCP Terraform + +You’ll need to set some environment variables in your HCP Terraform workspace in order to configure HCP Terraform to authenticate with GCP using dynamic credentials. You can set these as workspace variables, or if you’d like to share one GCP service account across multiple workspaces, you can use a variable set. When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Required Environment Variables + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_GCP_PROVIDER_AUTH`
`TFC_GCP_PROVIDER_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.7.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to use dynamic credentials to authenticate to GCP. | +| `TFC_GCP_RUN_SERVICE_ACCOUNT_EMAIL`
`TFC_GCP_RUN_SERVICE_ACCOUNT_EMAIL[_TAG]`
`TFC_DEFAULT_GCP_RUN_SERVICE_ACCOUNT_EMAIL` | The service account email HCP Terraform will use when authenticating to GCP. | Requires **v1.7.0** or later if self-managing agents. Optional if `TFC_GCP_PLAN_SERVICE_ACCOUNT_EMAIL` and `TFC_GCP_APPLY_SERVICE_ACCOUNT_EMAIL` are both provided. These variables are described [below](/terraform/enterprise/workspaces/dynamic-provider-credentials/gcp-configuration#optional-environment-variables) | + +You must also include information about the GCP Workload Identity Provider that HCP Terraform will use when authenticating to GCP. You can supply this information in two different ways: + +1. By providing one unified variable containing the canonical name of the workload identity provider. +2. By providing the project number, pool ID, and provider ID as separate variables. + +You should avoid setting both types of variables, but if you do, the unified version will take precedence. + +#### Unified Variable + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_GCP_WORKLOAD_PROVIDER_NAME`
`TFC_GCP_WORKLOAD_PROVIDER_NAME[_TAG]`
`TFC_DEFAULT_GCP_WORKLOAD_PROVIDER_NAME` | The canonical name of the workload identity provider. This must be in the form mentioned for the `name` attribute [here](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/iam_workload_identity_pool_provider#attributes-reference) | Requires **v1.7.0** or later if self-managing agents. This will take precedence over `TFC_GCP_PROJECT_NUMBER`, `TFC_GCP_WORKLOAD_POOL_ID`, and `TFC_GCP_WORKLOAD_PROVIDER_ID` if set. | + +#### Separate Variables + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| `TFC_GCP_PROJECT_NUMBER`
`TFC_GCP_PROJECT_NUMBER[_TAG]`
`TFC_DEFAULT_GCP_PROJECT_NUMBER` | The project number where the pool and other resources live. | Requires **v1.7.0** or later if self-managing agents. This is _not_ the project ID and is a separate number. | +| `TFC_GCP_WORKLOAD_POOL_ID`
`TFC_GCP_WORKLOAD_POOL_ID[_TAG]`
`TFC_DEFAULT_GCP_WORKLOAD_POOL_ID` | The workload pool ID. | Requires **v1.7.0** or later if self-managing agents. | +| `TFC_GCP_WORKLOAD_PROVIDER_ID`
`TFC_GCP_WORKLOAD_PROVIDER_ID[_TAG]`
`TFC_DEFAULT_GCP_WORKLOAD_PROVIDER_ID` | The workload identity provider ID. | Requires **v1.7.0** or later if self-managing agents. | + +### Optional Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_GCP_WORKLOAD_IDENTITY_AUDIENCE`
`TFC_GCP_WORKLOAD_IDENTITY_AUDIENCE[_TAG]`
`TFC_DEFAULT_GCP_WORKLOAD_IDENTITY_AUDIENCE` | Will be used as the `aud` claim for the identity token. Defaults to a string of the form mentioned [here](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#oidc_1) in the GCP docs with the leading **https:** stripped. | Requires **v1.7.0** or later if self-managing agents. This is one of the default `aud` formats that GCP accepts. | +| `TFC_GCP_PLAN_SERVICE_ACCOUNT_EMAIL`
`TFC_GCP_PLAN_SERVICE_ACCOUNT_EMAIL[_TAG]`
`TFC_DEFAULT_GCP_PLAN_SERVICE_ACCOUNT_EMAIL` | The service account email to use for the plan phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_GCP_RUN_SERVICE_ACCOUNT_EMAIL` if not provided. | +| `TFC_GCP_APPLY_SERVICE_ACCOUNT_EMAIL`
`TFC_GCP_APPLY_SERVICE_ACCOUNT_EMAIL[_TAG]`
`TFC_DEFAULT_GCP_APPLY_SERVICE_ACCOUNT_EMAIL` | The service account email to use for the apply phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_GCP_RUN_SERVICE_ACCOUNT_EMAIL` if not provided. | + +## Configure the GCP Provider + +Make sure that you’re passing values for the `project` and `region` arguments into the provider configuration block. + +Make sure that you’re not setting values for the `GOOGLE_CREDENTIALS` or `GOOGLE_APPLICATION_CREDENTIALS` environment variables as these will conflict with the dynamic credentials authentication process. + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct GCP setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_gcp_dynamic_credentials" { + description = "Object containing GCP dynamic credentials configuration" + type = object({ + default = object({ + credentials = string + }) + aliases = map(object({ + credentials = string + })) + }) +} +``` + +#### Example Usage + +```hcl +provider "google" { + credentials = var.tfc_gcp_dynamic_credentials.default.credentials +} + +provider "google" { + alias = "ALIAS1" + credentials = var.tfc_gcp_dynamic_credentials.aliases["ALIAS1"].credentials +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-configuration.mdx new file mode 100644 index 0000000000..2414f1b7af --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-configuration.mdx @@ -0,0 +1,116 @@ +--- +page_title: Dynamic Credentials with the HCP Provider - Workspaces - Terraform Enterprise +description: >- + Use OpenID Connect to get short-term credentials for the HCP provider in your + Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Dynamic Credentials with the HCP Provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.15.1](/terraform/cloud-docs/agents/changelog#1-15-1-05-01-2024) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with HCP to authenticate with the HCP provider using [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) in your HCP Terraform runs. Configuring dynamic credentials for the HCP provider requires the following steps: + +1. **[Configure HCP](#configure-hcp):** Set up a trust configuration between HCP and HCP Terraform. Then, you must create a [service principal in HPC](https://developer.hashicorp.com/hcp/docs/hcp/admin/iam/service-principals) for your HCP Terraform workspaces. +2. **[Configure HCP Terraform](#configure-hcp-terraform):** Add environment variables to the HCP Terraform workspaces where you want to use Dynamic Credentials. + +Once you complete the setup, HCP Terraform automatically authenticates to HCP during each run. + +## Configure HCP + +You must enable and configure a workload identity pool and provider on HCP. These instructions use the HCP CLI, but you can also use Terraform to configure HCP. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/hcp). + +#### Create a Service Principal + +Create a service principal for HCP Terraform to assume during runs by running the following HCP command. Note the ID of the service principal you create because you will need it in the following steps. For all remaining steps, replace `HCP_PROJECT_ID` with the ID of the project that contains all the resources and workspaces that you want to manage with this service principal. If you wish to manage more than one project with dynamic credentials, it is recommended that you create multiple service principals, one for each project. + +```shell +hcp iam service-principals create hcp-terraform --project=HCP_PROJECT_ID +``` + +Grant your service principal the necessary permissions to manage your infrastructure during runs. + +```shell +hcp projects iam add-binding \ + --project=HCP_PROJECT_ID \ + --member=HCP_PRINCIPAL_ID \ + --role=roles/contributor +``` + +#### Add a Workload Identity Provider + +Next, create a workload identity provider that HCP uses to authenticate the HCP Terraform run. Make sure to replace `HCP_PROJECT_ID`, `ORG_NAME`, `PROJECT_NAME`, and `WORKSPACE_NAME` with their respective values before running the command. + +```shell +hcp iam workload-identity-providers create-oidc hcp-terraform-dynamic-credentials \ + --service-principal=iam/project/HCP_PROJECT_ID/service-principal/hcp-terraform \ + --issuer=https://app.terraform.io \ + --allowed-audience=hcp.workload.identity \ + --conditional-access='jwt_claims.sub matches `^organization:ORG_NAME:project:PROJECT_NAME:workspace:WORKSPACE_NAME:run_phase:.*`' \ + --description="Allow HCP Terraform agents to act as the hcp-terraform service principal" +``` + +## Configure HCP Terraform + +Next, you need to set environment variables in your HCP Terraform workspace to configure HCP Terraform to authenticate with HCP using dynamic credentials. You can set these as workspace variables or use a variable set to share one HCP service principal across multiple workspaces. When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Required Environment Variables + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_HCP_PROVIDER_AUTH`
`TFC_HCP_PROVIDER_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.15.1** or later if you use self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to use dynamic credentials to authenticate to HCP. | +| `TFC_HCP_RUN_PROVIDER_RESOURCE_NAME`
`TFC_HCP_RUN_PROVIDER_RESOURCE_NAME[_TAG]`
`TFC_DEFAULT_HCP_RUN_PROVIDER_RESOURCE_NAME` | The resource name of the workload identity provider that will be used to assume the service principal | Requires **v1.15.1** or later if you use self-managing agents. Optional if you provide `PLAN_PROVIDER_RESOURCE_NAME` and `APPLY_PROVIDER_RESOURCE_NAME`. [Learn more](#optional-environment-variables). | + +### Optional Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_HCP_WORKLOAD_IDENTITY_AUDIENCE`
`TFC_HCP_WORKLOAD_IDENTITY_AUDIENCE[_TAG]`
`TFC_DEFAULT_HCP_WORKLOAD_IDENTITY_AUDIENCE` | HCP Terraform uses this as the `aud` claim for the identity token. Defaults to the provider resource name for the current run phase, which HCP Terraform derives from the values you provide for `RUN_PROVIDER_RESOURCE_NAME`, `PLAN_PROVIDER_RESOURCE_NAME`, and `APPLY_PROVIDER_RESOURCE_NAME`. | Requires **v1.15.1** or later if you use self-managing agents. This is one of the default `aud` formats that HCP accepts. | +| `TFC_HCP_PLAN_PROVIDER_RESOURCE_NAME`
`TFC_HCP_PLAN_PROVIDER_RESOURCE_NAME[_TAG]`
`TFC_DEFAULT_HCP_PLAN_PROVIDER_RESOURCE_NAME` | The resource name of the workload identity provider that will HCP Terraform will use to authenticate the agent during the plan phase of a run. | Requires **v1.15.1** or later if self-managing agents. Will fall back to the value of `RUN_PROVIDER_RESOURCE_NAME` if not provided. | +| `TFC_HCP_APPLY_PROVIDER_RESOURCE_NAME`
`TFC_HCP_APPLY_PROVIDER_RESOURCE_NAME[_TAG]`
`TFC_DEFAULT_HCP_APPLY_PROVIDER_RESOURCE_NAME` | The resource name of the workload identity provider that will HCP Terraform will use to authenticate the agent during the apply phase of a run. | Requires **v1.15.1** or later if self-managing agents. Will fall back to the value of `RUN_PROVIDER_RESOURCE_NAME` if not provided. | + +## Configure the HCP Provider + +Do not set the `HCP_CRED_FILE` environment variable when configuring the HCP provider, or `HCP_CRED_FILE` will conflict with the dynamic credentials authentication process. + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.15.1](/terraform/cloud-docs/agents/changelog#1-15-1-05-01-2024) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct HCP setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, refer to [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +Add the following variable to your Terraform configuration to set up additional dynamic credential configurations with the HCP provider. This variable lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_hcp_dynamic_credentials" { + description = "Object containing HCP dynamic credentials configuration" + type = object({ + default = object({ + credential_file = string + }) + aliases = map(object({ + credential_file = string + })) + }) +} +``` + +#### Example Usage + +```hcl +provider "hcp" { + credential_file = var.tfc_hcp_dynamic_credentials.default.credential_file +} + +provider "hcp" { + alias = "ALIAS1" + credential_file = var.tfc_hcp_dynamic_credentials.aliases["ALIAS1"].credential_file +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/aws-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/aws-configuration.mdx new file mode 100644 index 0000000000..984c8ce7a7 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/aws-configuration.mdx @@ -0,0 +1,102 @@ +--- +page_title: >- + HCP Vault Secrets-Backed Dynamic Credentials with the AWS Provider - + Workspaces - Terraform Enterprise +description: >- + Use OpenID Connect and HCP Vault Secrets to get short-term credentials for the + AWS Terraform provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# HCP Vault Secrets-Backed Dynamic Credentials with the AWS Provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.16.0](/terraform/cloud-docs/agents/changelog#1-16-0-10-02-2024) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with HCP to use [HCP Vault Secrets-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed) with the AWS provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure HCP Provider Credentials](#configure-hcp-provider-credentials)**: Set up a trust configuration between HCP Vault Secrets and HCP Terraform, create HCP roles and policies for your HCP Terraform workspaces, and add environment variables to those workspaces. +2. **[Configure HCP Vault Secrets](#configure-hcp-vault-secrets-aws-secrets-engine)**: Set up your HCP project's AWS integration and dynamic secret. +3. **[Configure HCP Terraform](#configure-hcp-terraform)**: Add additional environment variables to the HCP Terraform workspaces where you want to use HCP Vault Secrets-backed dynamic credentials. +4. **[Configure Terraform Providers](#configure-terraform-providers)**: Configure your Terraform providers to work with HCP Vault Secrets-backed dynamic credentials. + +Once you complete this setup, HCP Terraform automatically authenticates with AWS via HCP Vault Secrets-generated credentials during the plan and apply phase of each run. The AWS provider's authentication is only valid for the length of the plan or apply phase. + +## Configure HCP Provider Credentials + +You must first set up HCP dynamic provider credentials before you can use HCP Vault Secrets-backed dynamic credentials. This includes creating a service principal, configuring trust between HCP and HCP Terraform, and populating the required environment variables in your HCP Terraform workspace. + +[See the setup instructions for HCP dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/hcp-configuration). + +## Configure HCP Vault Secrets AWS Secrets Engine + +Follow the instructions in the HCP Vault Secrets documentation for [setting up the AWS integration in your HCP project](/hcp/docs/vault-secrets/dynamic-secrets/aws). + +## Configure HCP Terraform + +Next, you need to set certain environment variables in your HCP Terraform workspace to authenticate HCP Terraform with AWS using HCP Vault Secrets-backed dynamic credentials. These variables are in addition to those you previously set while configuring [HCP provider credentials](#configure-hcp-provider-credentials). You can add these as workspace variables or as a [variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). + +### Required Environment Variables + +| Variable | Value | Notes | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_HVS_BACKED_AWS_AUTH`
`TFC_HVS_BACKED_AWS_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.16.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate with AWS. | +| `TFC_HVS_BACKED_AWS_RUN_SECRET_RESOURCE_NAME` | The name of the HCP Vault Secrets dynamic secret resource to read. | Requires **v1.16.0** or later if self-managing agents. Must be present. | + +### Optional Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_HVS_BACKED_AWS_HCP_CONFIG`
`TFC_HVS_BACKED_AWS_HCP_CONFIG[_TAG]`
`TFC_DEFAULT_HVS_BACKED_AWS_HCP_CONFIG` | The name of the non-default HCP configuration for workspaces using [multiple HCP configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). | Requires **v1.16.0** or later if self-managing agents. Will fall back to using the default HCP Vault Secrets configuration if not provided. | +| `TFC_HVS_BACKED_AWS_PLAN_SECRET_RESOURCE_NAME` | The name of the HCP Vault Secrets dynamic secret resource to read for the plan phase. | Requires **v1.16.0** or later if self-managing agents. Must be present. | +| `TFC_HVS_BACKED_AWS_APPLY_SECRET_RESOURCE_NAME` | The name of the HCP Vault Secrets dynamic secret resource to read for the apply phase. | Requires **v1.16.0** or later if self-managing agents. Must be present. | + +## Configure Terraform Providers + +The final step is to directly configure your AWS and HCP Vault Secrets providers. + +### Configure the AWS Provider + +Ensure you pass a value for the `region` argument in your AWS provider configuration block or set the `AWS_REGION` variable in your workspace. + +Ensure you are not using any of the arguments or methods mentioned in the [authentication and configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration) section of the provider documentation. Otherwise, these settings may interfere with dynamic provider credentials. + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.16.0](/terraform/cloud-docs/agents/changelog#1-16-0-10-02-2024) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct HCP Vault Secrets-backed AWS setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_hvs_backed_aws_dynamic_credentials" { + description = "Object containing HCP Vault Secrets-backed AWS dynamic credentials configuration" + type = object({ + default = object({ + shared_credentials_file = string + }) + aliases = map(object({ + shared_credentials_file = string + })) + }) +} +``` + +#### Example Usage + +```hcl +provider "aws" { + shared_credentials_files = [var.tfc_hvs_backed_aws_dynamic_credentials.default.shared_credentials_file] +} + +provider "aws" { + alias = "ALIAS1" + shared_credentials_files = [var.tfc_hvs_backed_aws_dynamic_credentials.aliases["ALIAS1"].shared_credentials_file] +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/gcp-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/gcp-configuration.mdx new file mode 100644 index 0000000000..725342406e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/gcp-configuration.mdx @@ -0,0 +1,119 @@ +--- +page_title: >- + HCP Vault Secrets-Backed Dynamic Credentials with the GCP Provider - + Workspaces - Terraform Enterprise +description: >- + Use OpenID Connect and HCP Vault Secrets to get short-term credentials for the + GCP Terraform provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# HCP Vault Secrets-Backed Dynamic Credentials with the GCP Provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.16.0](/terraform/cloud-docs/agents/changelog#1-16-0-10-02-2024) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with HCP to use [HCP Vault Secrets-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed) with the GCP provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure HCP Provider Credentials](#configure-hcp-provider-credentials)**: Set up a trust configuration between HCP Vault Secrets and HCP Terraform, create HCP Vault Secrets roles and policies for your HCP Terraform workspaces, and add environment variables to those workspaces. +2. **[Configure HCP Vault Secrets](#configure-hcp-vault-secrets-gcp-secrets-engine)**: Set up your HCP project's GCP integration and dynamic secret. +3. **[Configure HCP Terraform](#configure-hcp-terraform)**: Add additional environment variables to the HCP Terraform workspaces where you want to use HCP Vault Secrets-backed dynamic credentials. +4. **[Configure Terraform Providers](#configure-terraform-providers)**: Configure your Terraform providers to work with HCP Vault Secrets-backed dynamic credentials. + +Once you complete this setup, HCP Terraform automatically authenticates with GCP via HCP Vault Secrets-generated credentials during the plan and apply phase of each run. The GCP provider's authentication is only valid for the length of the plan or apply phase. + +## Configure HCP Provider Credentials + +You must first set up HCP dynamic provider credentials before you can use HCP Vault Secrets-backed dynamic credentials. This includes creating a service principal, configuring trust between HCP and HCP Terraform, and populating the required environment variables in your HCP Terraform workspace. + +[See the setup instructions for HCP dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/hcp-configuration). + +## Configure HCP Vault Secrets GCP Secrets Engine + +Follow the instructions in the HCP Vault Secrets documentation for [setting up the GCP integration in your HCP project](/hcp/docs/vault-secrets/dynamic-secrets/gcp). + +## Configure HCP Terraform + +Next, you need to set certain environment variables in your HCP Terraform workspace to authenticate HCP Terraform with GCP using HCP Vault Secrets-backed dynamic credentials. These variables are in addition to those you previously set while configuring [HCP provider credentials](#configure-hcp-provider-credentials). You can add these as workspace variables or as a [variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). + +### Required Common Environment Variables + +| Variable | Value | Notes | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_HVS_BACKED_GCP_AUTH`
`TFC_HVS_BACKED_GCP_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.16.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate with GCP. | +| `TFC_HVS_BACKED_GCP_RUN_SECRET_RESOURCE_NAME` | The name of the HCP Vault Secrets dynamic secret resource to read. | Requires **v1.16.0** or later if self-managing agents. Must be present. | + +### Optional Common Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_HVS_BACKED_GCP_HCP_CONFIG`
`TFC_HVS_BACKED_GCP_HCP_CONFIG[_TAG]`
`TFC_DEFAULT_HVS_BACKED_GCP_HCP_CONFIG` | The name of the non-default HCP configuration for workspaces using [multiple HCP configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). | Requires **v1.16.0** or later if self-managing agents. Will fall back to using the default HCP Vault Secrets configuration if not provided. | +| `TFC_HVS_BACKED_GCP_PLAN_SECRET_RESOURCE_NAME` | The name of the HCP Vault Secrets dynamic secret resource to read for the plan phase. | Requires **v1.16.0** or later if self-managing agents. Must be present. | +| `TFC_HVS_BACKED_GCP_APPLY_SECRET_RESOURCE_NAME` | The name of the HCP Vault Secrets dynamic secret resource to read for the apply phase. | Requires **v1.16.0** or later if self-managing agents. Must be present. | + +## Configure Terraform Providers + +The final step is to directly configure your GCP and HCP Vault Secrets providers. + +### Configure the GCP Provider + +Ensure you pass values for the `project` and `region` arguments into the provider configuration block. + +Ensure you are not setting values or environment variables for `GOOGLE_CREDENTIALS` or `GOOGLE_APPLICATION_CREDENTIALS`. Otherwise, these values may interfere with dynamic provider credentials. + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.16.0](/terraform/cloud-docs/agents/changelog#1-16-0-10-02-2024) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct HCP Vault Secrets-backed GCP setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_hvs_backed_gcp_dynamic_credentials" { + description = "Object containing HCP Vault Secrets-backed GCP dynamic credentials configuration" + type = object({ + default = object({ + credentials = string + access_token = string + }) + aliases = map(object({ + credentials = string + access_token = string + })) + }) +} +``` + +#### Example Usage + +##### Access Token + +```hcl +provider "google" { + access_token = var.tfc_hvs_backed_gcp_dynamic_credentials.default.access_token +} + +provider "google" { + alias = "ALIAS1" + access_token = var.tfc_hvs_backed_gcp_dynamic_credentials.aliases["ALIAS1"].access_token +} +``` + +##### Credentials + +```hcl +provider "google" { + credentials = var.tfc_hvs_backed_gcp_dynamic_credentials.default.credentials +} + +provider "google" { + alias = "ALIAS1" + credentials = var.tfc_hvs_backed_gcp_dynamic_credentials.aliases["ALIAS1"].credentials +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/index.mdx new file mode 100644 index 0000000000..a60b0e4b12 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/index.mdx @@ -0,0 +1,38 @@ +--- +page_title: HCP Vault Secrets-backed dynamic credentials overview +description: >- + HCP Vault Secrets-backed dynamic credentials improve security by leveraging + HCP Vault Secrets to generate temporary credentials for Terraform runs. + Configure HCP Vault Secrets-backed dynamic credentials for supported + providers. +source: terraform-docs-common +--- + +# HCP Vault Secrets-Backed Dynamic Credentials + +This topic provides an overview of how to use HCP Vault Secrets to generate temporary credentials for providers so that you can securely use them in HCP Terraform runs. + +## Introduction + +Configuring [dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) with different cloud providers is suitable for most use cases, but you can use HCP Vault Secrets-backed dynamic credentials to centralize and consolidate cloud credential management. + +HCP Vault Secrets-backed dynamic credentials leverage HCP Vault Secrets' [dynamic secrets capability](/hcp/docs/vault-secrets/dynamic-secrets), which allows you to generate short-lived credentials for various providers. This means you can authenticate a HCP instance using workload identity tokens and use dynamic secret capabilities on that instance to generate dynamic credentials for the various providers. + +Refer to the [HCP Vault Secrets announcement](https://www.hashicorp.com/blog/hcp-vault-secrets-is-now-generally-available) to learn about the benefits of using HCP Vault Secrets to manage provider credentials. + +## Workflow + +Using HCP Vault Secrets-backed dynamic credentials in a workspace requires the following steps for each cloud platform: + +1. If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.16.0](/terraform/cloud-docs/agents/changelog#1-16-0-10-02-2024) or newer. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). +2. Set up dynamic provider credentials with the HCP provider: You must first [configure dynamic credentials with the HCP provider](/terraform/enterprise/workspaces/dynamic-provider-credentials/hcp-configuration). +3. Configure the dynamic secrets integration: You must configure the desired Vault secrets integration in your HCP project, such as AWS or GCP. +4. Configure your HCP Terraform workspace: You must add specific environment variables to your workspace to tell HCP Terraform how to authenticate to other cloud providers during runs. Each cloud platform has its own set of environment variables that are necessary to configure dynamic credentials. +5. Complete the instructions for setting up HCP Vault Secrets-backed dynamic for [Amazon Web Services](/terraform/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/aws-configuration) or [Google Cloud Platform](/terraform/enterprise/workspaces/dynamic-provider-credentials/hcp-vault-secrets-backed/gcp-configuration). + +### Access to metadata endpoints + +In order to verify signed JWTs, HCP must have network access to the following static OIDC metadata endpoints within HCP Terraform: + +- `/.well-known/openid-configuration`: Standard OIDC metadata. +- `/.well-known/jwks`: HCP Terraform public keys that cloud platforms use to verify the authenticity of tokens that claim to come from HCP Terraform. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/index.mdx new file mode 100644 index 0000000000..11a3902ea2 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/index.mdx @@ -0,0 +1,59 @@ +--- +page_title: Dynamic provider credentials in Terraform Enterprise +description: >- + Dynamic provider credentials generate temporary credentials for Terraform + Enterprise runs. Learn how dynamic credentials for Vault, AWS, Azure, + Kubernetes, and GCP can improve your security. +source: terraform-docs-common +--- + +# Dynamic provider credentials + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.7.0](/terraform/cloud-docs/agents/changelog#1-7-0-03-02-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +Using static credentials in your workspaces to authenticate providers presents a security risk, even if you rotate your credentials regularly. Dynamic provider credentials improve your security posture by letting you provision new, temporary credentials for each run. + +You can configure dynamic credentials for each HCP Terraform workspace. This workflow eliminates the need to manually manage and rotate credentials across your organization. It also lets you use the cloud platform’s authentication and authorization tools to scope permissions based on metadata, such as a run’s phase, its workspace, or its organization. + +## How Dynamic Credentials Work + +You configure a trust relationship between your cloud platform and HCP Terraform. As part of that process, you can define rules that let HCP Terraform workspaces and runs access specific resources. Then, the following process occurs for each Terraform plan and apply: + +1. HCP Terraform generates a [workload identity token](/terraform/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens). The token is compliant with OpenID Connect protocol (OIDC) standards and includes information about the organization, workspace, and run stage. +2. When a plan or apply begins, HCP Terraform sends the workload identity token to the cloud platform, along with any other information needed to authenticate. +3. The cloud platform uses HCP Terraform’s public signing key to verify the workload identity token. +4. If verification succeeds, the cloud platform returns a set of fresh temporary credentials for HCP Terraform to use. +5. HCP Terraform sets up these credentials within the run environment for the Terraform provider to use. +6. The Terraform plan or apply proceeds. +7. When the plan or apply completes, the run environment is torn down and the temporary credentials are discarded. + +## Configure Dynamic Credentials + +Using dynamic credentials in a workspace requires the following steps for each cloud platform: + +1. **Set up a Trust Relationship:** You must configure a relationship between HCP Terraform and the other cloud platform. The exact details of this process will be different depending on the cloud platform. +2. **Configure Cloud Platform Access:** You must configure roles and policies for the cloud platform to define the workspace’s access to infrastructure resources. +3. **Configure HCP Terraform Workspace**: You must add specific environment variables to your workspace to tell HCP Terraform how to authenticate to the other cloud platform during plans and applies. Each cloud platform has its own set of environment variables to configure dynamic credentials. + +The process for each step is different for each cloud platform. Refer to the cloud platform configuration instructions for full details. You can configure dynamic credentials for the following platforms: + +- [Vault](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration) +- [Amazon Web Services](/terraform/enterprise/workspaces/dynamic-provider-credentials/aws-configuration) +- [Google Cloud Platform](/terraform/enterprise/workspaces/dynamic-provider-credentials/gcp-configuration) +- [Azure](/terraform/enterprise/workspaces/dynamic-provider-credentials/azure-configuration) +- [Kubernetes](/terraform/enterprise/workspaces/dynamic-provider-credentials/kubernetes-configuration) + +You can also use Vault to generate credentials for AWS, GCP, or Azure by setting up [Vault-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed), which take advantage of Vault's [secrets engines](/vault/docs/secrets) to generate temporary credentials. + +## Terraform Enterprise Specific Requirements + +### External Access to Metadata Endpoints + +In order to verify signed JWTs, cloud platforms must have network access to the following static OIDC metadata endpoints within TFE: + +1. `/.well-known/openid-configuration` - standard OIDC metadata. +2. `/.well-known/jwks` - TFE’s public key(s) that cloud platforms use to verify the authenticity of tokens that claim to come from TFE. + +### External Vault Policy + +If you are using an external Vault instance, you must ensure that your Vault instance has the correct policies setup as detailed in the [External Vault Requirements for Terraform Enterprise](/terraform/enterprise/requirements/data-storage/vault) documentation. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/kubernetes-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/kubernetes-configuration.mdx new file mode 100644 index 0000000000..6cd1fbda1f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/kubernetes-configuration.mdx @@ -0,0 +1,171 @@ +--- +page_title: >- + Use dynamic credentials with the Kubernetes and Helm providers in Terraform + Enterprise +description: >- + Use OpenID Connect to get short-term credentials for the Kubernetes and Helm + Terraform providers in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use dynamic credentials with the Kubernetes and Helm providers + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.13.1](/terraform/cloud-docs/agents/changelog#1-13-1-10-25-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with Kubernetes to use [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) for the Kubernetes and Helm providers in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure Kubernetes](#configure-kubernetes):** Set up a trust configuration between Kubernetes and HCP Terraform. Next, create Kubernetes role bindings for your HCP Terraform identities. +2. **[Configure HCP Terraform](#configure-hcp-terraform):** Add environment variables to the HCP Terraform workspaces where you want to use dynamic credentials. +3. **[Configure the Kubernetes or Helm provider](#configure-the-provider)**: Set the required attributes on the provider block. + +Once you complete the setup, HCP Terraform automatically authenticates to Kubernetes during each run. The Kubernetes and Helm providers' authentication is valid for the length of a plan or apply operation. + +## Configure Kubernetes + +You must enable and configure an OIDC identity provider in the Kubernetes API. This workflow changes based on the platform hosting your Kubernetes cluster. HCP Terraform only supports dynamic credentials with Kubernetes in AWS and GCP. + +### Configure an OIDC identity provider + +Refer to the AWS documentation for guidance on [setting up an EKS cluster for OIDC authentication](https://docs.aws.amazon.com/eks/latest/userguide/authenticate-oidc-identity-provider.html). You can also refer to our [example configuration](https://github.com/hashicorp-education/learn-terraform-dynamic-credentials/tree/main/eks/trust). + +Refer to the GCP documentation for guidance on [setting up a GKE cluster for OIDC authentication](https://cloud.google.com/kubernetes-engine/docs/how-to/oidc). You can also refer to our [example configuration](https://github.com/hashicorp-education/learn-terraform-dynamic-credentials/tree/main/gke/trust). + +When inputting an "issuer URL", use the address of HCP Terraform (`https://app.terraform.io` _without_ a trailing slash) or the URL of your Terraform Enterprise instance. The value of "client ID" is your audience in OIDC terminology, and it should match the value of the `TFC_KUBERNETES_WORKLOAD_IDENTITY_AUDIENCE` environment variable in your workspace. + +The OIDC identity resolves authentication to the Kubernetes API, but it first requires authorization to interact with that API. So, you must bind RBAC roles to the OIDC identity in Kubernetes. + +You can use both "User" and "Group" subjects in your role bindings. For OIDC identities coming from TFC, the "User" value is formatted like so: `organization::project::workspace::run_phase:`. + +You can extract the "Group" value from the token claim you configured in your cluster OIDC configuration. For details on the structure of the HCP Terraform token, refer to [Workload Identity](/terraform/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens). + +Below, we show an example of a `RoleBinding` for the HCP Terraform OIDC identity. + +```hcl +resource "kubernetes_cluster_role_binding_v1" "oidc_role" { + metadata { + name = "odic-identity" + } + + role_ref { + api_group = "rbac.authorization.k8s.io" + kind = "ClusterRole" + name = var.rbac_group_cluster_role + } + + // Option A - Bind RBAC roles to groups + // + // Groups are extracted from the token claim designated by 'rbac_group_oidc_claim' + // + subject { + api_group = "rbac.authorization.k8s.io" + kind = "Group" + name = var.tfc_organization_name + } + + // Option B - Bind RBAC roles to user identities + // + // Users are extracted from the 'sub' token claim. + // Plan and apply phases get assigned different users identities. + // For HCP Terraform tokens, the format of the user id is always the one described bellow. + // + subject { + api_group = "rbac.authorization.k8s.io" + kind = "User" + name = "${var.tfc_hostname}#organization:${var.tfc_organization_name}:project:${var.tfc_project_name}:workspace:${var.tfc_workspace_name}:run_phase:plan" + } + + subject { + api_group = "rbac.authorization.k8s.io" + kind = "User" + name = "${var.tfc_hostname}#organization:${var.tfc_organization_name}:project:${var.tfc_project_name}:workspace:${var.tfc_workspace_name}:run_phase:apply" + } +} +``` + +If binding with "User" subjects, be aware that plan and apply phases are assigned different identities, each requiring specific bindings. Meaning you can tailor permissions for each Terraform operation. Planning operations usually require "read-only" permissions, while apply operations also require "write" access. + +!> **Warning**: Always check, at minimum, the audience and the organization's name to prevent unauthorized access from other HCP Terraform organizations. + +## Configure HCP Terraform + +You must set certain environment variables in your HCP Terraform workspace to configure HCP Terraform to authenticate with Kubernetes or Helm using dynamic credentials. You can set these as workspace variables, or if you’d like to share one Kubernetes role across multiple workspaces, you can use a variable set. When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Required Environment Variables + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_KUBERNETES_PROVIDER_AUTH`
`TFC_KUBERNETES_PROVIDER_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.14.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate to Kubernetes. | +| `TFC_KUBERNETES_WORKLOAD_IDENTITY_AUDIENCE`
`TFC_KUBERNETES_WORKLOAD_IDENTITY_AUDIENCE[_TAG]`
`TFC_DEFAULT_KUBERNETES_WORKLOAD_IDENTITY_AUDIENCE` | The audience name in your cluster's OIDC configuration, such as `kubernetes`. | Requires **v1.14.0** or later if self-managing agents. | + +## Configure the provider + +The Kubernetes and Helm providers share the same schema of configuration attributes for the provider block. The example below illustrates using the Kubernetes provider but the same configuration applies to the Helm provider. + +Make sure that you are not using any of the other arguments or methods listed in the [authentication](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs#authentication) section of the provider documentation as these settings may interfere with dynamic provider credentials. The only allowed provider attributes are `host` and `cluster_ca_certificate`. + +### Single provider instance + +HCP Terraform automatically sets the `KUBE_TOKEN` environment variable and includes the workload identity token. + +The provider needs to be configured with the URL of the API endpoint using the `host` attribute (or `KUBE_HOST` environment variable). In most cases, the `cluster_ca_certificate` (or `KUBE_CLUSTER_CA_CERT_DATA` environment variable) is also required. + +#### Example Usage + +```hcl +provider "kubernetes" { + host = var.cluster-endpoint-url + cluster_ca_certificate = base64decode(var.cluster-endpoint-ca) +} +``` + +### Multiple aliases + +You can add additional variables to handle multiple distinct Kubernetes clusters, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_kubernetes_dynamic_credentials" { + description = "Object containing Kubernetes dynamic credentials configuration" + type = object({ + default = object({ + token_path = string + }) + aliases = map(object({ + token_path = string + })) + }) +} +``` + +#### Example Usage + +```hcl +provider "kubernetes" { + alias = "ALIAS1" + host = var.alias1-endpoint-url + cluster_ca_certificate = base64decode(var.alias1-cluster-ca) + token = file(var.tfc_kubernetes_dynamic_credentials.aliases["ALIAS1"].token_path) +} + +provider "kubernetes" { + alias = "ALIAS2" + host = var.alias1-endpoint-url + cluster_ca_certificate = base64decode(var.alias1-cluster-ca) + token = file(var.tfc_kubernetes_dynamic_credentials.aliases["ALIAS2"].token_path) +} +``` + +The `tfc_kubernetes_dynamic_credentials` variable is also available to use for single provider configurations, instead of the `KUBE_TOKEN` environment variable. + +```hcl +provider "kubernetes" { + host = var.cluster-endpoint-url + cluster_ca_certificate = base64decode(var.cluster-endpoint-ca) + token = file(var.tfc_kubernetes_dynamic_credentials.default.token_path) +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/manual-generation.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/manual-generation.mdx new file mode 100644 index 0000000000..ab6be885fb --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/manual-generation.mdx @@ -0,0 +1,42 @@ +--- +page_title: Manually generate workload identity tokens in Terraform Enterprise +description: >- + Learn how to generate workload identity tokens to allow Terraform runs to + safely authenticate with custom workflows and providers that do not natively + support dynamic credentials. +source: terraform-docs-common +--- + +# Manually generate workload identity tokens + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.7.0](/terraform/cloud-docs/agents/changelog#1-7-0-03-02-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +If required for custom auth workflows or to perform auth with providers that are not natively supported by dynamic credentials, you can request that HCP Terraform inject a [workload identity token](/terraform/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens) into the run environment for usage in agent hooks. + +## Configure HCP Terraform + +### Required Environment Variables + +You’ll need to set the following environment variable in your HCP Terraform workspace in order to have HCP Terraform inject a workload identity token into the run environment. You can set this as a workspace variable, or if you’d like to inject tokens with the same audience value across multiple workspaces, you can use a variable set. + +| Variable | Value | Notes | +| -------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `TFC_WORKLOAD_IDENTITY_AUDIENCE` | The desired value for the token’s audience. | Requires **v1.7.0** or later if self-managing agents. Must be present and set or HCP Terraform will not inject a workload identity token into the run environment. | + +### Generating Multiple Tokens + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can generate multiple tokens if you want distinct audience values for different consumers of your workload identity tokens. For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +You can generate multiple tokens by specifying additional variables in the following format: `TFC_WORKLOAD_IDENTITY_AUDIENCE_[YOUR_TAG_HERE]`. + +Your tag can only contain letters, numbers, and underscores and can not use reserved keywords. The following keywords are reserved: `TYPE`. + +Each additional audience variable you specify generates an additional workload identity token that HCP Terraform stores in variables with the format: `TFC_WORKLOAD_IDENTITY_TOKEN_[YOUR_TAG_HERE]`. + +## Configure Agent Hooks + +After you've set the `TFC_WORKLOAD_IDENTITY_AUDIENCE` variable, each plan and apply will have a `TFC_WORKLOAD_IDENTITY_TOKEN` variable available in the run environment, which contains a [workload identity token](/terraform/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens). + +You can use this environment variable in custom agent hooks to enable custom auth workflows or to perform auth with providers which are not natively supported by dynamic credentials. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations.mdx new file mode 100644 index 0000000000..24a076a110 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations.mdx @@ -0,0 +1,94 @@ +--- +page_title: Specify multiple dynamic credential configurations in Terraform Enterprise +description: >- + Specify multiple dynamic provider credential configurations for the same + workspace to create aliases for different provider configurations. +source: terraform-docs-common +--- + +# Specify multiple dynamic credential configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can create multiple dynamic credential configurations of the same provider in a workspace. + +Each configuration generates a distinct [workload identity token](/terraform/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens), allowing you to create [aliases for different provider configurations](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can specify unique audience values per configuration, and [manually generate multiple tokens](/terraform/enterprise/workspaces/dynamic-provider-credentials/manual-generation). + +Specifying multiple dynamic credential configurations in HCP Terraform builds on the existing method of providing each provider's environment variables to a workspace. The process requires mapping well-known authentication [input variables](/terraform/language/values/variables) to the correct providers. + +## Configure HCP Terraform + +You can specify additional dynamic credentials configurations by defining and appending a “tag” to the end of your existing required environment variables: `[DYNAMIC_CREDENTIALS_VAR_NAME]_[YOUR_TAG]`. + +Your tag can only contain letters, numbers, and underscores and can not use reserved keywords. The following keywords are reserved: `TYPE`. + +### Example + +Using [Vault's dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration) setup as an example, we can create additional configurations by setting new tagged variables that match Vault's [required environment variables](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration#required-environment-variables). So, if you want to add a configuration with the tag `ALIAS1`, you must set environment variables for `TFC_VAULT_PROVIDER_AUTH_ALIAS1`, `TFC_VAULT_ADDR_ALIAS1`, and `TFC_VAULT_RUN_ROLE_ALIAS1`. + +### Default Values for Multiple Configurations + +Each environment variable has a corresponding default variable which you can use to share values across multiple configurations. In this way, you can set values common to multiple configurations a single time, rather than repeating them for each configuration. If you explicitly set the corresponding environment variable in addition to the default variable, the explicit value is given precedence. + +#### Example + +In the [example above](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations#example), if each of your Vault configurations used the same underlying Vault instance, you could define the Vault address a single time using the `TFC_DEFAULT_VAULT_ADDR` variable, and omit `TFC_VAULT_ADDR` and `TFC_VAULT_ADDR_ALIAS1`. If you add a third Vault configuration for a different Vault instance with the tag `ALIAS2`, you could set the variable `TFC_VAULT_ADDR_ALIAS2` to override the Vault address specifically for the `ALIAS2` configuration. + +## Configure Terraform Code + +Each supported provider has input variables you must declare in your Terraform code to use dynamic credentials with that provider. Each dynamic provider's documentation page lists the required variables for that provider. HCP Terraform provides values for these variables during runs, which you can use to authenticate HCP Terraform with providers using dynamic credentials. + +Use the input variable values that HCP Terraform provides to map configuration values to the correct provider blocks. Authentication information for the default provider exists in a variable's top-level `default` object, while each additional configuration exists under a variable's `aliases` map. HCP Terraform generates the keys of the `aliases` map based on the tag you define in your HCP Terraform configuration. + +~> **Important:** If you add additional configurations to a workspace, you need to manually map authentication information for all providers _including_ the default provider. + +### Example + +Continuing from the [example above](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations#example), after setting the required environment variables for your provider, [add the following code to your Terraform configuration](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration#required-terraform-variable). This lets HCP Terraform supply variable values that you can use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_vault_dynamic_credentials" { + description = "Object containing Vault dynamic credentials configuration" + type = object({ + default = object({ + token_filename = string + address = string + namespace = string + ca_cert_file = string + }) + aliases = map(object({ + token_filename = string + address = string + namespace = string + ca_cert_file = string + })) + }) +} +``` + +Use the above object to map authentication information to the correct provider block. For this example, index into the `aliases` map with your alias's tag (`ALIAS1`) and the `default` provider object. + +```hcl +provider "vault" { + // Set this to true as HCP Terraform manages the token lifecycle + skip_child_token = true + address = var.tfc_vault_dynamic_credentials.default.address + namespace = var.tfc_vault_dynamic_credentials.default.namespace + + auth_login_token_file { + filename = var.tfc_vault_dynamic_credentials.default.token_filename + } +} + +provider "vault" { + // Set this to true as HCP Terraform manages the token lifecycle + skip_child_token = true + alias = "ALIAS1" + address = var.tfc_vault_dynamic_credentials.aliases["ALIAS1"].address + namespace = var.tfc_vault_dynamic_credentials.aliases["ALIAS1"].namespace + + auth_login_token_file { + filename = var.tfc_vault_dynamic_credentials.aliases["ALIAS1"].token_filename + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/aws-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/aws-configuration.mdx new file mode 100644 index 0000000000..31bcda6cda --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/aws-configuration.mdx @@ -0,0 +1,135 @@ +--- +page_title: >- + Use Vault-backed dynamic credentials with the AWS provider in Terraform + Enterprise +description: >- + Use OpenID Connect and Vault to get short-term credentials for the AWS + Terraform provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use Vault-backed dynamic credentials with the AWS provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.8.0](/terraform/cloud-docs/agents/changelog#1-8-0-04-18-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with Vault to use [Vault-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed) with the AWS provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure Vault Dynamic Provider Credentials](#configure-vault-dynamic-provider-credentials)**: Set up a trust configuration between Vault and HCP Terraform, create Vault roles and policies for your HCP Terraform workspaces, and add environment variables to those workspaces. +2. **[Configure the Vault AWS Secrets Engine](#configure-vault-aws-secrets-engine)**: Set up the AWS secrets engine in your Vault instance. +3. **[Configure HCP Terraform](#configure-hcp-terraform)**: Add additional environment variables to the HCP Terraform workspaces where you want to use Vault-Backed Dynamic Credentials. +4. **[Configure Terraform Providers](#configure-terraform-providers)**: Configure your Terraform providers to work with Vault-backed dynamic credentials. + +Once you complete this setup, HCP Terraform automatically authenticates with AWS via Vault-generated credentials during the plan and apply phase of each run. The AWS provider's authentication is only valid for the length of the plan or apply phase. + +## Configure Vault Dynamic Provider Credentials + +You must first set up Vault dynamic provider credentials before you can use Vault-backed dynamic credentials. This includes setting up the JWT auth backend in Vault, configuring trust between HCP Terraform and Vault, and populating the required environment variables in your HCP Terraform workspace. + +[See the setup instructions for Vault dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration). + +# Configure Vault AWS Secrets Engine + +Follow the instructions in the Vault documentation for [setting up the AWS secrets engine in your Vault instance](/vault/docs/secrets/aws). You can also do this configuration through Terraform. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/vault-backed/aws). + +~> **Important**: carefully consider the limitations and differences between each supported credential type in the AWS secrets engine. These limitations carry over to HCP Terraform’s usage of these credentials for authenticating the AWS provider. + +## Configure HCP Terraform + +Next, you need to set certain environment variables in your HCP Terraform workspace to authenticate HCP Terraform with AWS using Vault-backed dynamic credentials. These variables are in addition to those you previously set while configuring [Vault dynamic provider credentials](#configure-vault-dynamic-provider-credentials). You can add these as workspace variables or as a [variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Common Environment Variables + +The below variables apply to all AWS auth types. + +#### Required Common Environment Variables + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `TFC_VAULT_BACKED_AWS_AUTH`
`TFC_VAULT_BACKED_AWS_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.8.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate with AWS. | +| `TFC_VAULT_BACKED_AWS_AUTH_TYPE`
`TFC_VAULT_BACKED_AWS_AUTH_TYPE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_AUTH_TYPE` | Specifies the type of authentication to perform with AWS. Must be one of the following: `iam_user`, `assumed_role`, or `federation_token`. | Requires **v1.8.0** or later if self-managing agents. | +| `TFC_VAULT_BACKED_AWS_RUN_VAULT_ROLE`
`TFC_VAULT_BACKED_AWS_RUN_VAULT_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_RUN_VAULT_ROLE` | The role to use in Vault. | Requires **v1.8.0** or later if self-managing agents. Optional if `TFC_VAULT_BACKED_AWS_PLAN_VAULT_ROLE` and `TFC_VAULT_BACKED_AWS_APPLY_VAULT_ROLE` are both provided. These variables are described [below](#optional-common-environment-variables). | + +#### Optional Common Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `TFC_VAULT_BACKED_AWS_MOUNT_PATH`
`TFC_VAULT_BACKED_AWS_MOUNT_PATH[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_MOUNT_PATH` | The mount path of the AWS secrets engine in Vault. | Requires **v1.8.0** or later if self-managing agents. Defaults to `aws`. | +| `TFC_VAULT_BACKED_AWS_PLAN_VAULT_ROLE`
`TFC_VAULT_BACKED_AWS_PLAN_VAULT_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_PLAN_VAULT_ROLE` | The Vault role to use the plan phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_AWS_RUN_VAULT_ROLE` if not provided. | +| `TFC_VAULT_BACKED_AWS_APPLY_VAULT_ROLE`
`TFC_VAULT_BACKED_AWS_APPLY_VAULT_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_APPLY_VAULT_ROLE` | The Vault role to use for the apply phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_AWS_RUN_VAULT_ROLE` if not provided. | +| `TFC_VAULT_BACKED_AWS_SLEEP_SECONDS`
`TFC_VAULT_BACKED_AWS_SLEEP_SECONDS[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_SLEEP_SECONDS` | The amount of time to wait, in seconds, after obtaining temporary credentials from Vault. e.g., `30` for 30 seconds. Must be 1500 seconds (25 minutes) or less. | Requires **v1.12.0** or later if self-managing agents. Can be used to mitigate eventual consistency issues in AWS when using the `iam_user` auth type. | +| `TFC_VAULT_BACKED_AWS_VAULT_CONFIG`
`TFC_VAULT_BACKED_AWS_VAULT_CONFIG[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_VAULT_CONFIG` | The name of the non-default Vault configuration for workspaces using [multiple Vault configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). | Requires **v1.12.0** or later if self-managing agents. Will fall back to using the default Vault configuration if not provided. | + +### Assumed Role Specific Environment Variables + +These environment variables are only valid if the `TFC_VAULT_BACKED_AWS_AUTH_TYPE` is `assumed_role`. + +#### Required Assumed Role Specific Environment Variables + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_AWS_RUN_ROLE_ARN`
`TFC_VAULT_BACKED_AWS_RUN_ROLE_ARN[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_RUN_ROLE_ARN` | The ARN of the role to assume in AWS. | Requires **v1.8.0** or later if self-managing agents. Optional if `TFC_VAULT_BACKED_AWS_PLAN_ROLE_ARN` and `TFC_VAULT_BACKED_AWS_APPLY_ROLE_ARN` are both provided. These variables are described [below](#optional-assume-role-specific-environment-variables). | + +#### Optional Assumed Role Specific Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_AWS_PLAN_ROLE_ARN`
`TFC_VAULT_BACKED_AWS_PLAN_ROLE_ARN[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_PLAN_ROLE_ARN` | The ARN of the role to use for the plan phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_AWS_RUN_ROLE_ARN` if not provided. | +| `TFC_VAULT_BACKED_AWS_APPLY_ROLE_ARN`
`TFC_VAULT_BACKED_AWS_APPLY_ROLE_ARN[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AWS_APPLY_ROLE_ARN` | The ARN of the role to use for the apply phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_AWS_RUN_ROLE_ARN` if not provided. | + +## Configure Terraform Providers + +The final step is to directly configure your AWS and Vault providers. + +### Configure the AWS Provider + +Ensure you pass a value for the `region` argument in your AWS provider configuration block or set the `AWS_REGION` variable in your workspace. + +Ensure you are not using any of the arguments or methods mentioned in the [authentication and configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration) section of the provider documentation. Otherwise, these settings may interfere with dynamic provider credentials. + +### Configure the Vault Provider + +If you were previously using the Vault provider to authenticate the AWS provider, remove any existing usage of the AWS secrets engine from your Terraform Code. +This includes the [`vault_aws_access_credentials`](https://registry.terraform.io/providers/hashicorp/vault/latest/docs/data-sources/aws_access_credentials) data source and any instances of [`vault_generic_secret`](https://registry.terraform.io/providers/hashicorp/vault/latest/docs/data-sources/generic_secret) you previously used to generate AWS credentials. + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct Vault-backed AWS setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_vault_backed_aws_dynamic_credentials" { + description = "Object containing Vault-backed AWS dynamic credentials configuration" + type = object({ + default = object({ + shared_credentials_file = string + }) + aliases = map(object({ + shared_credentials_file = string + })) + }) +} +``` + +#### Example Usage + +```hcl +provider "aws" { + shared_credentials_files = [var.tfc_vault_backed_aws_dynamic_credentials.default.shared_credentials_file] +} + +provider "aws" { + alias = "ALIAS1" + shared_credentials_files = [var.tfc_vault_backed_aws_dynamic_credentials.aliases["ALIAS1"].shared_credentials_file] +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/azure-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/azure-configuration.mdx new file mode 100644 index 0000000000..138e30f69b --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/azure-configuration.mdx @@ -0,0 +1,152 @@ +--- +page_title: >- + Use Vault-backed dynamic credentials with the Azure provider in Terraform + Enterprise +description: >- + Use OpenID Connect and Vault to get short-term credentials for the Azure + Terraform provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use Vault-backed dynamic credentials with the Azure provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.8.0](/terraform/cloud-docs/agents/changelog#1-8-0-04-18-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with Vault to use [Vault-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed) with the Azure provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure Vault Dynamic Provider Credentials](#configure-vault-dynamic-provider-credentials)**: Set up a trust configuration between Vault and HCP Terraform, create Vault roles and policies for your HCP Terraform workspaces, and add environment variables to those workspaces. +2. **[Configure the Vault Azure Secrets Engine](#configure-vault-azure-secrets-engine)**: Set up the Azure secrets engine in your Vault instance. +3. **[Configure HCP Terraform](#configure-hcp-terraform)**: Add additional environment variables to the HCP Terraform workspaces where you want to use Vault-Backed Dynamic Credentials. +4. **[Configure Terraform Providers](#configure-terraform-providers)**: Configure your Terraform providers to work with Vault-backed Dynamic Credentials. + +Once you complete this setup, HCP Terraform automatically authenticates with Azure via Vault-generated credentials during the plan and apply phase of each run. The Azure provider's authentication is only valid for the length of the plan or apply phase. + +## Configure Vault Dynamic Provider Credentials + +You must first set up Vault dynamic provider credentials before you can use Vault-backed dynamic credentials. This includes setting up the JWT auth backend in Vault, configuring trust between HCP Terraform and Vault, and populating the required environment variables in your HCP Terraform workspace. + +[See the setup instructions for Vault dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration). + +# Configure Vault Azure Secrets Engine + +Follow the instructions in the Vault documentation for [setting up the Azure secrets engine in your Vault instance](/vault/docs/secrets/azure). You can also do this configuration through Terraform. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/vault-backed/azure). + +## Configure HCP Terraform + +Next, you need to set certain environment variables in your HCP Terraform workspace to authenticate HCP Terraform with Azure using Vault-backed dynamic credentials. These variables are in addition to those you previously set while configuring [Vault dynamic provider credentials](#configure-vault-dynamic-provider-credentials). You can add these as workspace variables or as a [variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Required Environment Variables + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_AZURE_AUTH`
`TFC_VAULT_BACKED_AZURE_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.8.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate with Azure. | +| `TFC_VAULT_BACKED_AZURE_RUN_VAULT_ROLE`
`TFC_VAULT_BACKED_AZURE_RUN_VAULT_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AZURE_RUN_VAULT_ROLE` | The role to use in Vault. | Requires **v1.8.0** or later if self-managing agents. Optional if `TFC_VAULT_BACKED_AZURE_PLAN_VAULT_ROLE` and `TFC_VAULT_BACKED_AZURE_APPLY_VAULT_ROLE` are both provided. These variables are described [below](#optional-environment-variables). | + +### Optional Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_AZURE_MOUNT_PATH`
`TFC_VAULT_BACKED_AZURE_MOUNT_PATH[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AZURE_MOUNT_PATH` | The mount path of the Azure secrets engine in Vault. | Requires **v1.8.0** or later if self-managing agents. Defaults to `azure`. | +| `TFC_VAULT_BACKED_AZURE_PLAN_VAULT_ROLE`
`TFC_VAULT_BACKED_AZURE_PLAN_VAULT_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AZURE_PLAN_VAULT_ROLE` | The Vault role to use the plan phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_AZURE_RUN_VAULT_ROLE` if not provided. | +| `TFC_VAULT_BACKED_AZURE_APPLY_VAULT_ROLE`
`TFC_VAULT_BACKED_AZURE_APPLY_VAULT_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AZURE_APPLY_VAULT_ROLE` | The Vault role to use for the apply phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_AZURE_RUN_VAULT_ROLE` if not provided. | +| `TFC_VAULT_BACKED_AZURE_SLEEP_SECONDS`
`TFC_VAULT_BACKED_AZURE_SLEEP_SECONDS[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AZURE_SLEEP_SECONDS` | The amount of time to wait, in seconds, after obtaining temporary credentials from Vault. e.g., `30` for 30 seconds. Must be 1500 seconds (25 minutes) or less. | Requires **v1.12.0** or later if self-managing agents. Can be used to mitigate eventual consistency issues in Azure. | +| `TFC_VAULT_BACKED_AZURE_VAULT_CONFIG`
`TFC_VAULT_BACKED_AZURE_VAULT_CONFIG[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_AZURE_VAULT_CONFIG` | The name of the non-default Vault configuration for workspaces using [multiple Vault configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). | Requires **v1.12.0** or later if self-managing agents. Will fall back to using the default Vault configuration if not provided. | + +## Configure Terraform Providers + +The final step is to directly configure your Azure and Vault providers. + +### Configure the AzureRM or Microsoft Entra ID + +Ensure you pass a value for the `subscription_id` and `tenant_id` arguments in your provider configuration block or set the `ARM_SUBSCRIPTION_ID` and `ARM_TENANT_ID` variables in your workspace. + +Do not set values for `client_id`, `use_oidc`, or `oidc_token` in your provider configuration block. Additionally, do not set variable values for `ARM_CLIENT_ID`, `ARM_USE_OIDC`, or `ARM_OIDC_TOKEN`. + +### Configure the Vault Provider + +If you were previously using the Vault provider to authenticate the Azure provider, remove any existing usage of the Azure secrets engine from your Terraform Code. +This includes the [`vault_azure_access_credentials`](https://registry.terraform.io/providers/hashicorp/vault/latest/docs/data-sources/azure_access_credentials) data source and any instances of [`vault_generic_secret`](https://registry.terraform.io/providers/hashicorp/vault/latest/docs/data-sources/generic_secret) you previously used to generate Azure credentials. + +### Specifying Multiple Configurations + +~> **Important:** Ensure you are using version **3.60.0** or later of the **AzureRM provider** and version **2.43.0** or later of the **Microsoft Entra ID provider** (previously Azure Active Directory) as required functionality was introduced in these provider versions. + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct Vault-backed Azure setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_vault_backed_azure_dynamic_credentials" { + description = "Object containing Vault-backed Azure dynamic credentials configuration" + type = object({ + default = object({ + client_id_file_path = string + client_secret_file_path = string + }) + aliases = map(object({ + client_id_file_path = string + client_secret_file_path = string + })) + }) +} +``` + +#### Example Usage + +##### AzureRM Provider + +```hcl +provider "azurerm" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + client_id_file_path = var.tfc_vault_backed_azure_dynamic_credentials.default.client_id_file_path + client_secret_file_path = var.tfc_vault_backed_azure_dynamic_credentials.default.client_secret_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "10000000-0000-0000-0000-000000000000" +} + +provider "azurerm" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + alias = "ALIAS1" + client_id_file_path = var.tfc_vault_backed_azure_dynamic_credentials.aliases["ALIAS1"].client_id_file_path + client_secret_file_path = var.tfc_vault_backed_azure_dynamic_credentials.aliases["ALIAS1"].client_secret_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "20000000-0000-0000-0000-000000000000" +} +``` + +##### Microsoft Entra ID Provider (previously AzureAD) + +```hcl +provider "azuread" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + client_id_file_path = var.tfc_vault_backed_azure_dynamic_credentials.default.client_id_file_path + client_secret_file_path = var.tfc_vault_backed_azure_dynamic_credentials.default.client_secret_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "10000000-0000-0000-0000-000000000000" +} + +provider "azuread" { + features {} + // use_cli should be set to false to yield more accurate error messages on auth failure. + use_cli = false + alias = "ALIAS1" + client_id_file_path = var.tfc_vault_backed_azure_dynamic_credentials.aliases["ALIAS1"].client_id_file_path + client_secret_file_path = var.tfc_vault_backed_azure_dynamic_credentials.aliases["ALIAS1"].client_secret_file_path + subscription_id = "00000000-0000-0000-0000-000000000000" + tenant_id = "20000000-0000-0000-0000-000000000000" +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/gcp-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/gcp-configuration.mdx new file mode 100644 index 0000000000..752c2887d9 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/gcp-configuration.mdx @@ -0,0 +1,167 @@ +--- +page_title: >- + Use Vault-backed dynamic credentials with the GCP provider in Terraform + Enterprise +description: >- + Use OpenID Connect and Vault to get short-term credentials for the GCP + Terraform provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use Vault-backed dynamic credentials with the GCP provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.8.0](/terraform/cloud-docs/agents/changelog#1-8-0-04-18-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with Vault to use [Vault-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed) with the GCP provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure Vault Dynamic Provider Credentials](#configure-vault-dynamic-provider-credentials)**: Set up a trust configuration between Vault and HCP Terraform, create Vault roles and policies for your HCP Terraform workspaces, and add environment variables to those workspaces. +2. **[Configure the Vault GCP Secrets Engine](#configure-vault-gcp-secrets-engine)**: Set up the GCP secrets engine in your Vault instance. +3. **[Configure HCP Terraform](#configure-hcp-terraform)**: Add additional environment variables to the HCP Terraform workspaces where you want to use Vault-Backed Dynamic Credentials. +4. **[Configure Terraform Providers](#configure-terraform-providers)**: Configure your Terraform providers to work with Vault-backed dynamic credentials. + +Once you complete this setup, HCP Terraform automatically authenticates with GCP via Vault-generated credentials during the plan and apply phase of each run. The GCP provider's authentication is only valid for the length of the plan or apply phase. + +## Configure Vault Dynamic Provider Credentials + +You must first set up Vault dynamic provider credentials before you can use Vault-backed dynamic credentials. This includes setting up the JWT auth backend in Vault, configuring trust between HCP Terraform and Vault, and populating the required environment variables in your HCP Terraform workspace. + +[See the setup instructions for Vault dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration). + +# Configure Vault GCP Secrets Engine + +Follow the instructions in the Vault documentation for [setting up the GCP secrets engine in your Vault instance](/vault/docs/secrets/gcp). You can also do this configuration through Terraform. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/vault-backed/gcp). + +~> **Important**: carefully consider the limitations and differences between each supported credential type in the GCP secrets engine. These limitations carry over to HCP Terraform’s usage of these credentials for authenticating the GCP provider. + +## Configure HCP Terraform + +Next, you need to set certain environment variables in your HCP Terraform workspace to authenticate HCP Terraform with GCP using Vault-backed dynamic credentials. These variables are in addition to those you previously set while configuring [Vault dynamic provider credentials](#configure-vault-dynamic-provider-credentials). You can add these as workspace variables or as a [variable set](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Common Environment Variables + +The below variables apply to all GCP auth types. + +#### Required Common Environment Variables + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_GCP_AUTH`
`TFC_VAULT_BACKED_GCP_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.8.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate with GCP. | +| `TFC_VAULT_BACKED_GCP_AUTH_TYPE`
`TFC_VAULT_BACKED_GCP_AUTH_TYPE[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_AUTH_TYPE` | Specifies the type of authentication to perform with GCP. Must be one of the following: `roleset/access_token`, `roleset/service_account_key`, `static_account/access_token`, or `static_account/service_account_key`. | Requires **v1.8.0** or later if self-managing agents. | + +#### Optional Common Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_GCP_MOUNT_PATH`
`TFC_VAULT_BACKED_GCP_MOUNT_PATH[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_MOUNT_PATH` | The mount path of the GCP secrets engine in Vault. | Requires **v1.8.0** or later if self-managing agents. Defaults to `gcp`. | +| `TFC_VAULT_BACKED_GCP_VAULT_CONFIG`
`TFC_VAULT_BACKED_GCP_VAULT_CONFIG[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_VAULT_CONFIG` | The name of the non-default Vault configuration for workspaces using [multiple Vault configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). | Requires **v1.12.0** or later if self-managing agents. Will fall back to using the default Vault configuration if not provided. | + +### Roleset Specific Environment Variables + +These environment variables are only valid if the `TFC_VAULT_BACKED_GCP_AUTH_TYPE` is `roleset/access_token` or `roleset/service_account_key`. + +#### Required Roleset Specific Environment Variables + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_GCP_RUN_VAULT_ROLESET`
`TFC_VAULT_BACKED_GCP_RUN_VAULT_ROLESET[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_RUN_VAULT_ROLESET` | The roleset to use in Vault. | Requires **v1.8.0** or later if self-managing agents. Optional if `TFC_VAULT_BACKED_GCP_PLAN_VAULT_ROLESET` and `TFC_VAULT_BACKED_GCP_APPLY_VAULT_ROLESET` are both provided. These variables are described [below](#optional-roleset-specific-environment-variables). | + +#### Optional Roleset Specific Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_GCP_PLAN_VAULT_ROLESET`
`TFC_VAULT_BACKED_GCP_PLAN_VAULT_ROLESET[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_PLAN_VAULT_ROLESET` | The roleset to use for the plan phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_GCP_RUN_VAULT_ROLESET` if not provided. | +| `TFC_VAULT_BACKED_GCP_APPLY_VAULT_ROLESET`
`TFC_VAULT_BACKED_GCP_APPLY_VAULT_ROLESET[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_APPLY_VAULT_ROLESET` | The roleset to use for the apply phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_GCP_RUN_VAULT_ROLESET` if not provided. | + +### Static Account Specific Environment Variables + +These environment variables are only valid if the `TFC_VAULT_BACKED_GCP_AUTH_TYPE` is `static_account/access_token` or `static_account/service_account_key`. + +#### Required Static Account Specific Environment Variables + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_GCP_RUN_VAULT_STATIC_ACCOUNT`
`TFC_VAULT_BACKED_GCP_RUN_VAULT_STATIC_ACCOUNT[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_RUN_VAULT_STATIC_ACCOUNT` | The static account to use in Vault. | Requires **v1.8.0** or later if self-managing agents. Optional if `TFC_VAULT_BACKED_GCP_PLAN_VAULT_STATIC_ACCOUNT` and `TFC_VAULT_BACKED_GCP_APPLY_VAULT_STATIC_ACCOUNT` are both provided. These variables are described [below](#optional-static-account-specific-environment-variables). | + +#### Optional Static Account Specific Environment Variables + +You may need to set these variables, depending on your use case. + +| Variable | Value | Notes | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_BACKED_GCP_PLAN_VAULT_STATIC_ACCOUNT`
`TFC_VAULT_BACKED_GCP_PLAN_VAULT_STATIC_ACCOUNT[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_PLAN_VAULT_STATIC_ACCOUNT` | The static account to use for the plan phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_GCP_RUN_VAULT_STATIC_ACCOUNT` if not provided. | +| `TFC_VAULT_BACKED_GCP_APPLY_VAULT_STATIC_ACCOUNT`
`TFC_VAULT_BACKED_GCP_APPLY_VAULT_STATIC_ACCOUNT[_TAG]`
`TFC_DEFAULT_VAULT_BACKED_GCP_APPLY_VAULT_STATIC_ACCOUNT` | The static account to use for the apply phase of a run. | Requires **v1.8.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_BACKED_GCP_RUN_VAULT_STATIC_ACCOUNT` if not provided. | + +## Configure Terraform Providers + +The final step is to directly configure your GCP and Vault providers. + +### Configure the GCP Provider + +Ensure you pass values for the `project` and `region` arguments into the provider configuration block. + +Ensure you are not setting values or environment variables for `GOOGLE_CREDENTIALS` or `GOOGLE_APPLICATION_CREDENTIALS`. Otherwise, these values may interfere with dynamic provider credentials. + +### Configure the Vault Provider + +If you were previously using the Vault provider to authenticate the GCP provider, remove any existing usage of the GCP secrets engine from your Terraform Code. +This includes instances of [`vault_generic_secret`](https://registry.terraform.io/providers/hashicorp/vault/latest/docs/data-sources/generic_secret) that you previously used to generate GCP credentials. + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can add additional variables to handle multiple distinct Vault-backed GCP setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_vault_backed_gcp_dynamic_credentials" { + description = "Object containing Vault-backed GCP dynamic credentials configuration" + type = object({ + default = object({ + credentials = string + access_token = string + }) + aliases = map(object({ + credentials = string + access_token = string + })) + }) +} +``` + +#### Example Usage + +##### Access Token + +```hcl +provider "google" { + access_token = var.tfc_vault_backed_gcp_dynamic_credentials.default.access_token +} + +provider "google" { + alias = "ALIAS1" + access_token = var.tfc_vault_backed_gcp_dynamic_credentials.aliases["ALIAS1"].access_token +} +``` + +##### Credentials + +```hcl +provider "google" { + credentials = var.tfc_vault_backed_gcp_dynamic_credentials.default.credentials +} + +provider "google" { + alias = "ALIAS1" + credentials = var.tfc_vault_backed_gcp_dynamic_credentials.aliases["ALIAS1"].credentials +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/index.mdx new file mode 100644 index 0000000000..29d2cd3396 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-backed/index.mdx @@ -0,0 +1,52 @@ +--- +page_title: Use Vault-backed dynamic credentials in Terraform Enterprise +description: >- + Vault-backed dynamic credentials leverage Vault to generate temporary + credentials for Terraform Enterprise runs. Learn how Vault-backed dynamic + credentials for AWS, Azure, and GCP can improve your security. +source: terraform-docs-common +--- + +# Use Vault-backed dynamic credentials + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.8.0](/terraform/cloud-docs/agents/changelog#1-8-0-04-18-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +For most use cases, separately configuring [dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) with different cloud providers works well. However, Vault-backed dynamic credentials are for those looking for a way to: + +1. Use Vault's secrets engines as a centralized way to manage and consolidate cloud credentials management. +2. Generate short-lived credentials without exposing their Terraform Enterprise instance's OIDC metadata endpoints to the broader public internet. + +The "Vault-backed" in "Vault-backed dynamic credentials" refers to Vault's [secrets engines](/vault/docs/secrets), which allow you to generate short-lived [dynamic secrets](https://www.vaultproject.io/use-cases/dynamic-secrets) for the AWS, GCP, or Azure providers. If you are using Terraform Enterprise and your Vault instance is configured within the same secure network, you can generate secrets while keeping your environment air-gapped. + +Vault-backed dynamic credentials combine the features of dynamic provider credentials and Vault's secrets engines. This means you can authenticate a Vault instance using workload identity tokens and use secrets engines on that instance to generate dynamic credentials for the AWS, GCP, and Azure providers. + +For a comparison of Vault-backed dynamic credentials and dynamic provider credentials, refer to the article [Why use Vault-backed dynamic credentials to secure HCP Terraform infrastructure?](https://www.hashicorp.com/blog/why-use-vault-backed-dynamic-credentials-to-secure-hcp-terraform-infrastructure) on the HashiCorp blog. + +## Configure Vault-Backed Dynamic Credentials + +Using Vault-backed dynamic credentials in a workspace requires the following steps for each cloud platform: + +1. **Set up Dynamic Provider Credentials with the Vault Provider:** You must first [configure dynamic credentials with the Vault provider](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration). +2. **Configure the desired Secrets Engine**: You must configure the desired secrets engine in your Vault instance (i.e., AWS, GCP, or Azure). +3. **Configure HCP Terraform Workspace**: You must add specific environment variables to your workspace to tell HCP Terraform how to authenticate to other cloud providers during runs. Each cloud platform has its own set of environment variables that are necessary to configure dynamic credentials. + +Setting up Vault-backed dynamic credentials differs slightly for each cloud provider. You can configure Vault-backed dynamic credentials on the following platforms: + +- [Amazon Web Services](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed/aws-configuration) +- [Google Cloud Platform](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed/gcp-configuration) +- [Azure](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed/azure-configuration) + +## Terraform Enterprise Specific Requirements + +### Access to Metadata Endpoints + +In order to verify signed JWTs, Vault must have network access to the following static OIDC metadata endpoints within TFE: + +1. `/.well-known/openid-configuration` - standard OIDC metadata. +2. `/.well-known/jwks` - TFE’s public key(s) that cloud platforms use to verify the authenticity of tokens that claim to come from TFE. + +These endpoints **do not** need to be publicly exposed as long as your Vault instance can access them. + +### External Vault Policy + +If you are using an external Vault instance, you must ensure that your Vault instance has the correct policies setup as detailed in the [External Vault Requirements for Terraform Enterprise](/terraform/enterprise/requirements/data-storage/vault) documentation. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-configuration.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-configuration.mdx new file mode 100644 index 0000000000..8ed0483c1d --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/vault-configuration.mdx @@ -0,0 +1,225 @@ +--- +page_title: Use dynamic credentials with the Vault provider in Terraform Enterprise +description: >- + Use OpenID Connect to get short-term credentials for the Vault Terraform + provider in your Terraform Enterprise runs. +source: terraform-docs-common +--- + +# Use dynamic credentials with the Vault provider + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.7.0](/terraform/cloud-docs/agents/changelog#1-7-0-03-02-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +You can use HCP Terraform’s native OpenID Connect integration with Vault to get [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) for the Vault provider in your HCP Terraform runs. Configuring the integration requires the following steps: + +1. **[Configure Vault](#configure-vault):** Set up a trust configuration between Vault and HCP Terraform. Then, you must create Vault roles and policies for your HCP Terraform workspaces. +2. **[Configure HCP Terraform](#configure-hcp-terraform):** Add environment variables to the HCP Terraform workspaces where you want to use Dynamic Credentials. + +Once you complete the setup, HCP Terraform automatically authenticates to Vault during each run. The Vault provider authentication is valid for the length of the plan or apply. Vault does not revoke authentication until the run is complete. + +If you are using Vault's [secrets engines](/vault/docs/secrets), you must complete the following set up before continuing to configure [Vault-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed). + +## Configure Vault + +You must enable and configure the JWT backend in Vault. These instructions use the Vault CLI commands, but you can also use Terraform to configure Vault. Refer to our [example Terraform configuration](https://github.com/hashicorp/terraform-dynamic-credentials-setup-examples/tree/main/vault). + +### Enable the JWT Auth Backend + +Run the following command to enable the JWT auth backend in Vault: + +```shell +vault auth enable jwt +``` + +### Configure Trust with HCP Terraform + +You must configure Vault to trust HCP Terraform’s identity tokens and verify them using HCP Terraform’s public key. The following command configures the `jwt` auth backend in Vault to trust HCP Terraform as an OIDC identity provider: + +```shell +vault write auth/jwt/config \ + oidc_discovery_url="https://app.terraform.io" \ + bound_issuer="https://app.terraform.io" +``` + +The `oidc_discovery_url` and `bound_issuer` should both be the root address of HCP Terraform, including the scheme and without a trailing slash. + +#### Terraform Enterprise Specific Requirements + +If you are using a custom or self-signed CA certificate you may need to specify the CA certificate or chain of certificates, in PEM format, via the [`oidc_discovery_ca_pem`](/vault/api-docs/auth/jwt#oidc_discovery_ca_pem) argument as shown in the following example command: + +```shell +vault write auth/jwt/config \ + oidc_discovery_url="https://app.terraform.io" \ + bound_issuer="https://app.terraform.io" \ + oidc_discovery_ca_pem=@my-cert.pem +``` + +In the example above, `my-cert.pem` is a PEM formatted file containing the certificate. + +### Create a Vault Policy + +You must create a Vault policy that controls what paths and secrets your HCP Terraform workspace can access in Vault. +Create a file called tfc-policy.hcl with the following content: + +```hcl +# Allow tokens to query themselves +path "auth/token/lookup-self" { + capabilities = ["read"] +} + +# Allow tokens to renew themselves +path "auth/token/renew-self" { + capabilities = ["update"] +} + +# Allow tokens to revoke themselves +path "auth/token/revoke-self" { + capabilities = ["update"] +} + +# Configure the actual secrets the token should have access to +path "secret/*" { + capabilities = ["read"] +} +``` + +Then create the policy in Vault: + +```shell +vault policy write tfc-policy tfc-policy.hcl +``` + +### Create a JWT Auth Role + +Create a Vault role that HCP Terraform can use when authenticating to Vault. + +Vault offers a lot of flexibility in determining how to map roles and permissions in Vault to workspaces in HCP Terraform. You can have one role for each workspace, one role for a group of workspaces, or one role for all workspaces in an organization. You can also configure different roles for the plan and apply phases of a run. + +-> **Note:** If you set your `user_claim` to be per workspace, then Vault ties the entity it creates to that workspace's name. If you rename the workspace tied to your `user_claim`, Vault will create an additional identity object. To avoid this, update the alias name in Vault to your new workspace name before you update it in HCP Terraform. + +The following example creates a role called `tfc-role`. The role is mapped to a single workspace and HCP Terraform can use it for both plan and apply runs. + +Create a file called `vault-jwt-auth-role.json` with the following content: + +```json +{ + "policies": ["tfc-policy"], + "bound_audiences": ["vault.workload.identity"], + "bound_claims_type": "glob", + "bound_claims": { + "sub": +"organization:my-org-name:project:my-project-name:workspace:my-workspace-name:run_phase:*" + }, + "user_claim": "terraform_full_workspace", + "role_type": "jwt", + "token_ttl": "20m" +} +``` + +Then run the following command to create a role named `tfc-role` with this configuration in Vault: + +```shell +vault write auth/jwt/role/tfc-role @vault-jwt-auth-role.json +``` + +To understand all the available options for matching bound claims, refer to the [Terraform workload identity claim specification](/terraform/enterprise/workspaces/dynamic-provider-credentials) and the [Vault documentation on configuring bound claims](/vault/docs/auth/jwt#bound-claims). To understand all the options available when configuring Vault JWT auth roles, refer to the [Vault API documentation](/vault/api-docs/auth/jwt#create-role). + +!> **Warning:** you should always check, at minimum, the audience and the name of the organization in order to prevent unauthorized access from other HCP Terraform organizations! + +#### Token TTLs + +We recommend setting token_ttl to a relatively short value. HCP Terraform can renew the token periodically until the plan or apply is complete, then revoke it to prevent it from being used further. + +## Configure HCP Terraform + +You’ll need to set some environment variables in your HCP Terraform workspace in order to configure HCP Terraform to authenticate with Vault using dynamic credentials. You can set these as workspace variables, or if you’d like to share one Vault role across multiple workspaces, you can use a variable set. When you configure dynamic provider credentials with multiple provider configurations of the same type, use either a default variable or a tagged alias variable name for each provider configuration. Refer to [Specifying Multiple Configurations](#specifying-multiple-configurations) for more details. + +### Required Environment Variables + +| Variable | Value | Notes | +| ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_PROVIDER_AUTH`
`TFC_VAULT_PROVIDER_AUTH[_TAG]`
_(Default variable not supported)_ | `true` | Requires **v1.7.0** or later if self-managing agents. Must be present and set to `true`, or HCP Terraform will not attempt to authenticate to Vault. | +| `TFC_VAULT_ADDR`
`TFC_VAULT_ADDR[_TAG]`
`TFC_DEFAULT_VAULT_ADDR` | The address of the Vault instance to authenticate against. | Requires **v1.7.0** or later if self-managing agents. Will also be used to set `VAULT_ADDR` in the run environment. | +| `TFC_VAULT_RUN_ROLE`
`TFC_VAULT_RUN_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_RUN_ROLE` | The name of the Vault role to authenticate against (`tfc-role`, in our example). | Requires **v1.7.0** or later if self-managing agents. Optional if `TFC_VAULT_PLAN_ROLE` and `TFC_VAULT_APPLY_ROLE` are both provided. These variables are described [below](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-configuration#optional-environment-variables) | + +### Optional Environment Variables + +You may need to set these variables, depending on your Vault configuration and use case. + +| Variable | Value | Notes | +| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TFC_VAULT_NAMESPACE`
`TFC_VAULT_NAMESPACE[_TAG]`
`TFC_DEFAULT_VAULT_NAMESPACE` | The namespace to use when authenticating to Vault. | Requires **v1.7.0** or later if self-managing agents. Will also be used to set `VAULT_NAMESPACE` in the run environment. | +| `TFC_VAULT_AUTH_PATH`
`TFC_VAULT_AUTH_PATH[_TAG]`
`TFC_DEFAULT_VAULT_AUTH_PATH` | The path where the JWT auth backend is mounted in Vault. Defaults to jwt. | Requires **v1.7.0** or later if self-managing agents. | +| `TFC_VAULT_WORKLOAD_IDENTITY_AUDIENCE`
`TFC_VAULT_WORKLOAD_IDENTITY_AUDIENCE[_TAG]`
`TFC_DEFAULT_VAULT_WORKLOAD_IDENTITY_AUDIENCE` | Will be used as the `aud` claim for the identity token. Defaults to `vault.workload.identity`. | Requires **v1.7.0** or later if self-managing agents. Must match the `bound_audiences` configured for the role in Vault. | +| `TFC_VAULT_PLAN_ROLE`
`TFC_VAULT_PLAN_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_PLAN_ROLE` | The Vault role to use for the plan phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_RUN_ROLE` if not provided. | +| `TFC_VAULT_APPLY_ROLE`
`TFC_VAULT_APPLY_ROLE[_TAG]`
`TFC_DEFAULT_VAULT_APPLY_ROLE` | The Vault role to use for the apply phase of a run. | Requires **v1.7.0** or later if self-managing agents. Will fall back to the value of `TFC_VAULT_RUN_ROLE` if not provided. | +| `TFC_VAULT_ENCODED_CACERT`
`TFC_VAULT_ENCODED_CACERT[_TAG]`
`TFC_DEFAULT_VAULT_ENCODED_CACERT` | A PEM-encoded CA certificate that has been Base64 encoded. | Requires **v1.9.0** or later if self-managing agents. This certificate will be used when connecting to Vault. May be required when connecting to Vault instances that use a custom or self-signed certificate. | + +## Vault Provider Configuration + +Once you set up dynamic credentials for a workspace, HCP Terraform automatically authenticates to Vault for each run. Do not pass the `address`, `token`, or `namespace` arguments into the provider configuration block. HCP Terraform sets these values as environment variables in the run environment. + +You can use the Vault provider to read static secrets from Vault and use them with other Terraform resources. You can also access the other resources and data sources available in the [Vault provider documentation](https://registry.terraform.io/providers/hashicorp/vault/latest). You must adjust your [Vault policy](#create-a-vault-policy) to give your HCP Terraform workspace access to all required Vault paths. + +~> **Important:** data sources that use secrets engines to generate dynamic secrets must not be used with Vault dynamic credentials. You can use Vault's dynamic secrets engines for AWS, GCP, and Azure by adding additional configurations. For more details, see [Vault-backed dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials/vault-backed). + +### Specifying Multiple Configurations + +~> **Important:** If you are self-hosting [HCP Terraform agents](/terraform/cloud-docs/agents), ensure your agents use [v1.12.0](/terraform/cloud-docs/agents/changelog#1-12-0-07-26-2023) or above. To use the latest dynamic credentials features, [upgrade your agents to the latest version](/terraform/cloud-docs/agents/changelog). + +~> **Important:** Ensure you are using version **3.18.0** or later of the **Vault provider** as the required [`auth_login_token_file`](https://registry.terraform.io/providers/hashicorp/vault/latest/docs#token-file) block was introduced in this provider version. + +You can add additional variables to handle multiple distinct Vault setups, enabling you to use multiple [provider aliases](/terraform/language/providers/configuration#alias-multiple-provider-configurations) within the same workspace. You can configure each set of credentials independently, or use default values by configuring the variables prefixed with `TFC_DEFAULT_`. + +For more details, see [Specifying Multiple Configurations](/terraform/enterprise/workspaces/dynamic-provider-credentials/specifying-multiple-configurations). + +#### Required Terraform Variable + +To use additional configurations, add the following code to your Terraform configuration. This lets HCP Terraform supply variable values that you can then use to map authentication and configuration details to the correct provider blocks. + +```hcl +variable "tfc_vault_dynamic_credentials" { + description = "Object containing Vault dynamic credentials configuration" + type = object({ + default = object({ + token_filename = string + address = string + namespace = string + ca_cert_file = string + }) + aliases = map(object({ + token_filename = string + address = string + namespace = string + ca_cert_file = string + })) + }) +} +``` + +#### Example Usage + +```hcl +provider "vault" { + // skip_child_token must be explicitly set to true as HCP Terraform manages the token lifecycle + skip_child_token = true + address = var.tfc_vault_dynamic_credentials.default.address + namespace = var.tfc_vault_dynamic_credentials.default.namespace + + auth_login_token_file { + filename = var.tfc_vault_dynamic_credentials.default.token_filename + } +} + +provider "vault" { + // skip_child_token must be explicitly set to true as HCP Terraform manages the token lifecycle + skip_child_token = true + alias = "ALIAS1" + address = var.tfc_vault_dynamic_credentials.aliases["ALIAS1"].address + namespace = var.tfc_vault_dynamic_credentials.aliases["ALIAS1"].namespace + + auth_login_token_file { + filename = var.tfc_vault_dynamic_credentials.aliases["ALIAS1"].token_filename + } +} +``` diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens.mdx new file mode 100644 index 0000000000..26851ac640 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/dynamic-provider-credentials/workload-identity-tokens.mdx @@ -0,0 +1,99 @@ +--- +page_title: Workload identity in Terraform Enterprise +description: >- + Learn how workload identity uses OpenID Connect (OIDC) to allow Terraform + plans and applies to safely authenticate to external systems. +source: terraform-docs-common +--- + +# Workload identity + +Dynamic Provider Credentials are powered by Terraform Workload Identity, which allows HCP Terraform to present information about a Terraform workload to an external system – like its workspace, organization, or whether it’s a plan or apply – and allows other external systems to verify that the information is accurate. + +You can think of it like an identity card for your Terraform runs: one that comes with a way for another system to easily verify whether the card is genuine. If the other system can confirm that the ID card is legitimate, it can trust the information the card contains and use it to decide whether to let that Terraform workload in the door. + +The “identity card” in this analogy is a workload identity token: a JSON Web Token (JWT) that contains information about a plan or apply, is signed by HCP Terraform’s private key, and expires at the end of the plan or apply timeout. Other systems can use HCP Terraform’s [public key](https://app.terraform.io/.well-known/jwks) to verify that a token that claims to be from HCP Terraform is genuine and has not been tampered with. + +This workflow is built on the [OpenID Connect protocol](https://openid.net/connect/), a trusted standard for verifying identity across different systems. + +## Token Specification + +Workload identity tokens contain useful metadata in their payloads, known as _claims_. This is the equivalent of the name and date of birth on an identity card. Once a cloud platform verifies a token using HCP Terraform’s public key, it can look at the claims in the identity token to either match it to the correct permissions or reject it. + +You don’t need to understand the full token specification and what every claim means in order to use dynamic credentials, but it’s useful for debugging. + +### Token Structure + +The following example shows a decoded HCP Terraform workload identity token: + +#### Header + +```json +{ + "typ": "JWT", + "alg": "RS256", + "kid": "j-fFp9evPJAzV5I2_58HY5UvdCK6Q4LLB1rnPOUfQAk" +} +``` + +#### Payload + +```json +{ + "jti": "1192426d-b525-4fde-9d42-f238be437bbd", + "iss": "https://app.terraform.io", + "aud": "my-example-audience", + "iat": 1650486122, + "nbf": 1650486117, + "exp": 1650486422, + "sub": "organization:my-org:project:Default Project:workspace:my-workspace:run_phase:apply", + "terraform_organization_id": "org-GRNbCjYNpBB6NEH9", + "terraform_organization_name": "my-org", + "terraform_project_id": "prj-vegSA59s1XPwMr2t", + "terraform_project_name": "Default Project", + "terraform_workspace_id": "ws-mbsd5E3Ktt5Rg2Xm", + "terraform_workspace_name": "my-workspace", + "terraform_full_workspace": "organization:my-org:project:Default Project:workspace:my-workspace", + "terraform_run_id": "run-X3n1AUXNGWbfECsJ", + "terraform_run_phase": "apply" +} +``` + +This payload includes a number of standard claims defined in the OIDC spec as well as a number of custom claims for further customization. + +### Standard Claims + +| Claim | Value | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `jti` (JWT ID) | A unique identifier for each JWT. | +| `iss` (issuer) | Full URL of HCP Terraform or the Terraform Enterprise instance which signed the JWT. | +| `iat` (issued at) | Unix Timestamp when the JWT was issued. May be required by certain relying parties. | +| `nbf` (not before) | Unix Timestamp when the JWT can start being used. This will be the same as `iat` for tokens issued by HCP Terraform, but may be required by certain relying parties. | +| `aud` (audience) | Intended audience for the JWT. For example, `aws.workload.identity` for AWS. This can be customized. | +| `exp` (expiration) | Unix Timestamp based on the timeout of the run phase that it was issued for. This will follow the `plan` and `apply` timeouts set at the organization and site admin level. | +| `sub` (subject) | Fully qualified path to a workspace, followed by the run phase. For example: `organization:my-organization-name:project:Default Project:workspace:my-workspace-name:run_phase:apply` | + +### Custom Claims + +| Claim | Value | +| ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `terraform_organization_id` (organization ID) | ID of the HCP Terraform organization performing the run. | +| `terraform_organization_name` (organization name) | Human-readable name of the HCP Terraform organization performing the run. Note that organization names can be changed. | +| `terraform_project_id` (project ID) | ID of the HCP Terraform project performing the run. | +| `terraform_project_name` (project name) | Human-readable name of the HCP Terraform project performing the run. Note that project names can be changed. The default project name is `Default Project`. | +| `terraform_workspace_id` (workspace ID) | ID of the HCP Terraform workspace performing the run. | +| `terraform_workspace_name` (workspace name) | Human-readable name of the HCP Terraform workspace performing the run. Note that workspace names can be changed. | +| `terraform_full_workspace` (fully qualified workspace) | Fully qualified path to a workspace. For example: `organization:my-organization-name:project:my-project-name:workspace:my-workspace-name` | +| `terraform_run_id` (run ID) | ID of the run that the token was generated for. This is intended to aid in traceability and logging. | +| `terraform_run_phase` (run phase) | The phase of the run this token was issued for. For example, `plan` or `apply` | + +### Configuring Trust with your Cloud Platform + +When configuring the trust relationship between HCP Terraform and your cloud platform, you’ll set up conditions to validate the contents of the identity token provided by HCP Terraform against your roles and policies. + +At the minimum, you should match against the following claims: + +- `aud` - the audience value of the token. This ensures that, for example, a workload identity token intended for AWS can’t be used to authenticate to Vault. +- `sub` - the subject value, which includes the organization and workspace performing the run. If you don’t match against at least the organization name, any organization or workspace on HCP Terraform will be able to access your cloud resources! + +You can match on as many claims as you want, depending on your cloud platform. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/health.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/health.mdx new file mode 100644 index 0000000000..21c209b819 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/health.mdx @@ -0,0 +1,245 @@ +--- +page_title: Health assessments in Terraform Enterprise +description: >- + Learn how Terraform Enterprise can continuously monitor workspaces to assess + whether their real infrastructure matches the requirements defined in your + Terraform configuration. +source: terraform-docs-common +--- + +# Health + +HCP Terraform can perform automatic health assessments in a workspace to assess whether its real infrastructure matches the requirements defined in its Terraform configuration. Health assessments include the following types of evaluations: + +- [Drift detection](#drift-detection) determines whether your real-world infrastructure matches your Terraform configuration. +- [Continuous validation](#continuous-validation) determines whether custom conditions in the workspace’s configuration continue to pass after Terraform provisions the infrastructure. + +When you enable health assessments, HCP Terraform periodically runs health assessments for your workspace. Refer to [Health Assessment Scheduling](#health-assessment-scheduling) for details. + + + +@include 'tfc-package-callouts/health-assessments.mdx' + + + +## Permissions + +Working with health assessments requires the following permissions: + +- To view health status for a workspace, you need read access to that workspace. +- To change organization health settings, you must be an [organization owner](/terraform/enterprise/users-teams-organizations/permissions#organization-owners). +- To change a workspace’s health settings, you must be an [administrator for that workspace](/terraform/enterprise/users-teams-organizations/permissions#workspace-admins). + +- To trigger [on-demand health assessments](/terraform/enterprise/workspaces/health#on-demand-assessments) for a workspace, you must be an [administrator for that workspace](/terraform/enterprise/users-teams-organizations/permissions#workspace-admins). + + +## Workspace requirements + +Workspaces require the following settings to receive health assessments: + +- Terraform version 0.15.4+ for drift detection only +- Terraform version 1.3.0+ for drift detection and continuous validation +- [Remote execution mode](/terraform/enterprise/workspaces/settings#execution-mode) or [Agent execution mode](/terraform/cloud-docs/agents/agent-pools#configure-workspaces-to-use-the-agent) for Terraform runs + +The latest Terraform run in the workspace must have been successful. If the most recent run ended in an errored, canceled, or discarded state, HCP Terraform pauses health assessments until there is a successfully applied run. + +The workspace must also have at least one run in which Terraform successfully applies a configuration. HCP Terraform does not perform health assessments in workspaces with no real-world infrastructure. + +## Enable health assessments + +You can enforce health assessments across all eligible workspaces in an organization within the [organization settings](/terraform/enterprise/users-teams-organizations/organizations#health). Enforcing health assessments at an organization-level overrides workspace-level settings. You can only enable health assessments within a specific workspace when HCP Terraform is not enforcing health assessments at the organization level. + +To enable health assessments within a workspace: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace you want to enable health assessments on. +2. Verify that your workspace satisfies the [requirements](#workspace-requirements). +3. Go to the workspace and click **Settings**, then click **Health**. +4. Select **Enable** under **Health Assessments**. +5. Click **Save settings**. + +## Health assessment scheduling + +When you enable health assessments for a workspace, HCP Terraform runs the first health assessment based on whether there are active Terraform runs for the workspace: + +- **No active runs:** A few minutes after you enable the feature. +- **Active speculative plan:** A few minutes after that plan is complete. +- **Other active runs:** During the next assessment period. + +After the first health assessment, HCP Terraform starts a new health assessment during the next assessment period if there are no active runs in the workspace. Health assessments may take longer to complete when you enable health assessments in many workspaces at once or your workspace contains a complex configuration with many resources. + +A health assessment never interrupts or interferes with runs. If you start a new run during a health assessment, HCP Terraform cancels the current assessment and runs the next assessment during the next assessment period. This behavior may prevent HCP Terraform from performing health assessments in workspaces with frequent runs. + +HCP Terraform pauses health assessments if the latest run ended in an errored state. This behavior occurs for all run types, including plan-only runs and speculative plans. Once the workspace completes a successful run, HCP Terraform restarts health assessments during the next assessment period. + +Terraform Enterprise administrators can modify their installation's [assessment frequency and number of maximum concurrent assessments](/terraform/enterprise/admin/application/general#health-assessments) from the admin settings console. + + + +### On-demand assessments + +-> **Note:** On-demand assessments are only available in the HCP Terraform user interface. + +If you are an administrator for a workspace and it satisfies all [assessment requirements](/terraform/enterprise/workspaces/health#workspace-requirements), you can trigger a new assessment by clicking **Start health assessment** on the workspace's **Health** page. + +After clicking **Start health assessment**, the workspace displays a message in the bottom lefthand corner of the page to indicate if it successfully triggered a new assessment. The time it takes to complete an assessment can vary based on network latency and the number of resources managed by the workspace. + +You cannot trigger another assessment while one is in progress. An on-demand assessment resets the scheduling for automated assessments, so HCP Terraform waits to run the next assessment until the next scheduled period. + + + +### Concurrency + +If you enable health assessments on multiple workspaces, assessments may run concurrently. Health assessments do not affect your concurrency limit. HCP Terraform also monitors and controls health assessment concurrency to avoid issues for large-scale deployments with thousands of workspaces. However, HCP Terraform performs health assessments in batches, so health assessments may take longer to complete when you enable them in a large number of workspaces. + +### Notifications + +HCP Terraform sends [notifications](/terraform/enterprise/workspaces/settings/notifications) about health assessment results according to your workspace’s settings. + +## Workspace health status + +On the organization's **Workspaces** page, HCP Terraform displays a **Health warning** status for workspaces with infrastructure drift or failed continuous validation checks. + +On the right of a workspace’s overview page, HCP Terraform displays a **Health** bar that summarizes the results of the last health assessment. + +- The **Drift** summary shows the total number of resources in the configuration and the number of resources that have drifted. +- The **Checks** summary shows the number of passed, failed, and unknown statuses for objects with continuous validation checks. + + + +### View workspace health in explorer + +The [Explorer page](/terraform/enterprise/workspaces/explorer) presents a condensed overview of the health status of the workspaces within your organization. You can see the following information: + +- Workspaces that are monitoring workspace health +- Status of any configured continuous validation checks +- Count of drifted resources for each workspace + +For additional details on the data available for reporting, refer to the [Explorer](/terraform/enterprise/workspaces/explorer) documentation. + +![Viewing Workspace Health in Explorer](/img/docs/tfc-explorer-health.png) + + + +## Drift detection + +Drift detection helps you identify situations where your actual infrastructure no longer matches the configuration defined in Terraform. This deviation is known as _configuration drift_. Configuration drift occurs when changes are made outside Terraform's regular process, leading to inconsistencies between the remote objects and your configured infrastructure. + +For example, a teammate could create configuration drift by directly updating a storage bucket's settings with conflicting configuration settings using the cloud provider's console. Drift detection could detect these differences and recommend steps to address and rectify the discrepancies. + +Configuration drift differs from state drift. Drift detection does not detect state drift. + +Configuration drift happens when external changes affecting remote objects invalidate your infrastructure configuration. State drift occurs when external changes affecting remote objects _do not_ invalidate your infrastructure configuration. Refer to [Refresh-Only Mode](/terraform/enterprise/run/modes-and-options#refresh-only-mode) to learn more about remediating state drift. + +### View workspace drift + +To view the drift detection results from the latest health assessment, go to the workspace and click **Health > Drift**. If there is configuration drift, HCP Terraform proposes the necessary changes to bring the infrastructure back in sync with its configuration. + +### Resolve drift + +You can use one of the following approaches to correct configuration drift: + +- **Overwrite drift**: If you do not want the drift's changes, queue a new plan and apply the changes to revert your real-world infrastructure to match your Terraform configuration. +- **Update Terraform configuration:** If you want the drift's changes, modify your Terraform configuration to include the changes and push a new configuration version. This prevents Terraform from reverting the drift during the next apply. Refer to the [Manage Resource Drift](/terraform/tutorials/state/resource-drift) tutorial for a detailed example. + +## Continuous validation + +Continuous validation regularly verifies whether your configuration’s custom assertions continue to pass, validating your infrastructure. For example, you can monitor whether your website returns an expected status code, or whether an API gateway certificate is valid. Identifying failed assertions helps you resolve the failure and prevent errors during your next time Terraform operation. + +Continuous validation evaluates preconditions, postconditions, and check blocks as part of an assessment, but we recommend using [check blocks](/terraform/language/checks) for post-apply monitoring. Use check blocks to create custom rules to validate your infrastructure's resources, data sources, and outputs. + +### Preventing false positives + +Health assessments create a speculative plan to access the current state of your infrastructure. Terraform evaluates any check blocks in your configuration as the last step of creating the speculative plan. If your configuration relies on data sources and the values queried by a data source change between the time of your last run and the assessment, the speculative plan will include those changes. HCP Terraform will not modify your infrastructure as part of an assessment, but it can use those updated values to evaluate checks. This may lead to false positive results for alerts since your infrastructure did not yet change. + +To ensure your checks evaluate the current state of your configuration instead of against a possible future change, use nested data sources that query your actual resource configuration, rather than a computed latest value. Refer to the [AMI image scenario](#asserting-up-to-date-amis-for-compute-instances) below for an example. + +### Example use cases + +Review the provider documentation for `check` block examples with [AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/continuous-validation-examples), [Azure](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/tfc-check-blocks), and [GCP](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/google-continuous-validation). + +#### Monitoring the health of a provisioned website + +The following example uses the [HTTP](https://registry.terraform.io/providers/hashicorp/http/latest/docs) Terraform provider and a [scoped data source](/terraform/language/checks#scoped-data-sources) within a [`check` block](/terraform/language/checks) to assert the Terraform website returns a `200` status code, indicating it is healthy. + +```hcl +check "health_check" { + data "http" "terraform_io" { + url = "https://www.terraform.io" + } + + assert { + condition = data.http.terraform_io.status_code == 200 + error_message = "${data.http.terraform_io.url} returned an unhealthy status code" + } +} +``` + +Continuous Validation alerts you if the website returns any status code besides `200` while Terraform evaluates this assertion. You can also find failures in your workspace's [Continuous Validation Results](#view-continuous-validation-results) page. You can configure continuous validation alerts in your workspace's [notification settings](/terraform/enterprise/workspaces/settings/notifications). + +#### Monitoring certificate expiration + +[Vault](https://www.vaultproject.io/) lets you secure, store, and tightly control access to tokens, passwords, certificates, encryption keys, and other sensitive data. The following example uses a `check` block to monitor for the expiration of a Vault certificate. + +```hcl +resource "vault_pki_secret_backend_cert" "app" { + backend = vault_mount.intermediate.path + name = vault_pki_secret_backend_role.test.name + common_name = "app.my.domain" +} + +check "certificate_valid" { + assert { + condition = !vault_pki_secret_backend_cert.app.renew_pending + error_message = "Vault cert is ready to renew." + } +} +``` + +#### Asserting up-to-date AMIs for compute instances + +[HCP Packer](/hcp/docs/packer) stores metadata about your [Packer](https://www.packer.io/) images. The following example check fails when there is a newer AMI version available. + +```hcl +data "hcp_packer_artifact" "hashiapp_image" { + bucket_name = "hashiapp" + channel_name = "latest" + platform = "aws" + region = "us-west-2" +} + +resource "aws_instance" "hashiapp" { + ami = data.hcp_packer_artifact.hashiapp_image.external_identifier + instance_type = var.instance_type + associate_public_ip_address = true + subnet_id = aws_subnet.hashiapp.id + vpc_security_group_ids = [aws_security_group.hashiapp.id] + key_name = aws_key_pair.generated_key.key_name + + tags = { + Name = "hashiapp" + } +} + +check "ami_version_check" { + data "aws_instance" "hashiapp_current" { + instance_tags = { + Name = "hashiapp" + } + } + + assert { + condition = aws_instance.hashiapp.ami == data.hcp_packer_artifact.hashiapp_image.external_identifier + error_message = "Must use the latest available AMI, ${data.hcp_packer_artifact.hashiapp_image.external_identifier}." + } +} +``` + +### View continuous validation results + +To view the continuous validation results from the latest health assessment, go to the workspace and click **Health > Continuous validation**. + +The page shows all of the resources, outputs, and data sources with custom assertions that HCP Terraform evaluated. Next to each object, HCP Terraform reports whether the assertion passed or failed. If one or more assertions fail, HCP Terraform displays the error messages for each assertion. + +The health assessment page displays each assertion by its [named value](/terraform/language/expressions/references). A `check` block's named value combines the prefix `check` with its configuration name. + +If your configuration contains multiple [preconditions and postconditions](/terraform/language/expressions/custom-conditions#preconditions-and-postconditions) within a single resource, output, or data source, HCP Terraform will not show the results of individual conditions unless they fail. If all custom conditions on the object pass, HCP Terraform reports that the entire check passed. The assessment results will display the results of any precondition and postconditions alongside the results of any assertions from `check` blocks, identified by the named values of their parent block. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/index.mdx new file mode 100644 index 0000000000..2c2f763bec --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/index.mdx @@ -0,0 +1,100 @@ +--- +page_title: Terraform Enterprise workspaces +description: >- + A workspace is a group of infrastructure resources managed by Terraform + Enterprise. Learn what workspaces contain, how they perform Terraform runs, + and how to create and organize them. +source: terraform-docs-common +--- + +# Workspaces + +This topic provides an overview of the workspaces resource in HCP Terraform and Terraform Enterprise. A workspace is a group of infrastructure resources managed by Terraform. + +## Introduction + +Working with Terraform involves managing collections of infrastructure resources, and most organizations manage many different collections. + +When run locally, Terraform manages each collection of infrastructure with a persistent working directory, which contains a configuration, state data, and variables. Since Terraform CLI uses content from the directory it runs in, you can organize infrastructure resources into meaningful groups by keeping their configurations in separate directories. + +HCP Terraform manages infrastructure collections with workspaces instead of directories. A workspace contains everything Terraform needs to manage a given collection of infrastructure, and separate workspaces function like completely separate working directories. + +> **Hands-on:** Try the [Create a Workspace](/terraform/tutorials/cloud-get-started/cloud-workspace-create) tutorial. + +## Workspace Contents + +HCP Terraform workspaces and local working directories serve the same purpose, but they store their data differently: + +| Component | Local Terraform | HCP Terraform | +| ----------------------- | ------------------------------------------------------------- | -------------------------------------------------------------------------- | +| Terraform configuration | On disk | In linked version control repository, or periodically uploaded via API/CLI | +| Variable values | As `.tfvars` files, as CLI arguments, or in shell environment | In workspace | +| State | On disk or in remote backend | In workspace | +| Credentials and secrets | In shell environment or entered at prompts | In workspace, stored as sensitive variables | + +In addition to the basic Terraform content, HCP Terraform keeps some additional data for each workspace: + +- **State versions:** Each workspace retains backups of its previous state files. Although only the current state is necessary for managing resources, the state history can be useful for tracking changes over time or recovering from problems. Refer to [Terraform State in HCP Terraform](/terraform/enterprise/workspaces/state) for more details. + +- **Run history:** When HCP Terraform manages a workspace's Terraform runs, it retains a record of all run activity, including summaries, logs, a reference to the changes that caused the run, and user comments. Refer to [Viewing and Managing Runs](/terraform/enterprise/run/manage) for more details. + + + +The top of each workspace shows a resource count, which reflects the number of resources recorded in the workspace’s state file. This includes both managed [resources](/terraform/language/resources/syntax) and [data sources](/terraform/language/data-sources). + + + +## Terraform Runs + +For workspaces with remote operations enabled (the default), HCP Terraform performs Terraform runs on its own disposable virtual machines, using that workspace's configuration, variables, and state. + +Refer to [Terraform Runs and Remote Operations](/terraform/enterprise/run/remote-operations) for more details. + +## HCP Terraform vs. Terraform CLI Workspaces + +Both HCP Terraform and Terraform CLI have features called workspaces, but they function differently. + +- HCP Terraform workspaces are required. They represent all of the collections of infrastructure in an organization. They are also a major component of role-based access in HCP Terraform. You can grant individual users and user groups permissions for one or more workspaces that dictate whether they can manage variables, perform runs, etc. You cannot manage resources in HCP Terraform without creating at least one workspace. + +- Terraform CLI workspaces are associated with a specific working directory and isolate multiple state files in the same working directory, letting you manage multiple groups of resources with a single configuration. The Terraform CLI does not require you to create CLI workspaces. Refer to [Workspaces](/terraform/language/state/workspaces) in the Terraform Language documentation for more details. + +## Planning and Organizing Workspaces + +We recommend that organizations break down large monolithic Terraform configurations into smaller ones, then assign each one to its own workspace and delegate permissions and responsibilities for them. HCP Terraform can manage monolithic configurations just fine, but managing infrastructure as smaller components is the best way to take full advantage of HCP Terraform's governance and delegation features. + +For example, the code that manages your production environment's infrastructure could be split into a networking configuration, the main application's configuration, and a monitoring configuration. After splitting the code, you would create "networking-prod", "app1-prod", "monitoring-prod" workspaces, and assign separate teams to manage them. + +Much like splitting monolithic applications into smaller microservices, this enables teams to make changes in parallel. In addition, it makes it easier to re-use configurations to manage other environments of infrastructure ("app1-dev," etc.). + +In Terraform Enterprise, administrators can use [Admin Settings](/terraform/enterprise/api-docs/admin/settings) to set the maximum number of workspaces for any single organization. You can also set a workspaces limit with the [tfe-terraform-provider](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/organization#workspace_limit). + +## Organize Workspaces with Projects + +Projects let you organize your workspaces into groups. + + + +@include 'tfc-package-callouts/project-workspaces.mdx' + + + +Refer to [Organize Workspaces with Projects](/terraform/enterprise/projects/manage) for more details. + +## Creating Workspaces + +You can create workspaces through the [HCP Terraform UI](/terraform/enterprise/workspaces/create), the [Workspaces API](/terraform/enterprise/api-docs/workspaces), or the [HCP Terraform CLI integration](/terraform/cli/cloud). + +## Workspace Health + + + +@include 'tfc-package-callouts/health-assessments.mdx' + + + +HCP Terraform can perform automatic health assessments in a workspace to assess whether its real infrastructure matches the requirements defined in its Terraform configuration. Health assessments include the following types of evaluations: + +- Drift detection determines whether your real-world infrastructure matches your Terraform configuration. +- Continuous validation determines whether custom conditions in the workspace’s configuration continue to pass after Terraform provisions the infrastructure. + +You can enforce health assessments for all eligible workspaces or let each workspace opt in to health assessments through workspace settings. Refer to [Health](/terraform/enterprise/workspaces/health) in the workspaces documentation for more details. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/json-filtering.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/json-filtering.mdx new file mode 100644 index 0000000000..c70eb74e3f --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/json-filtering.mdx @@ -0,0 +1,117 @@ +--- +page_title: JSON data filtering in Terraform Enterprise +description: >- + Learn how to filter and create custom datasets on pages that display JSON data + in Terraform Enterprise. +source: terraform-docs-common +--- + +# JSON data filtering + +Certain pages where JSON data is displayed, such as the [state +viewer](/terraform/enterprise/workspaces/state) and [policy check JSON data +viewer](/terraform/enterprise/policy-enforcement/sentinel/json), allow you to filter the results. This +enables you to see just the data you need, and even create entirely new datasets +to see data in the way you want to see it! + +![entering a json filter](/img/docs/json-viewer-intro.png) + +-> **NOTE:** _Filtering_ the data in the JSON viewer is separate from +_searching_ it. To search, press Control-F (or Command-F on MacOS). You can +search and apply a filter at the same time. + +## Entering a Filter + +Filters are entered by putting the filter in the aptly named **filter** box in +the JSON viewer. After entering the filter, pressing **Apply** or the enter key +on your keyboard will apply the filter. The filtered results, if any, are +displayed in result box. Clearing the filter will restore the original JSON +data. + +![entering a json filter](/img/docs/sentinel-json-enter-filter.png) + +## Filter Language + +The JSON filter language is a small subset of the +[jq](https://stedolan.github.io/jq/) JSON filtering language. Selectors, +literals, indexes, slices, iterators, and pipes are supported, as are also array +and object construction. At this time, parentheses, and more complex operations +such as mathematical operators, conditionals, and functions are not supported. + +Below is a quick reference of some of the more basic functions to get you +started. + +### Selectors + +Selectors allow you to pick an index out of a JSON object, and are written as +`.KEY.SUBKEY`. So, as an example, given an object of +`{"foo": {"bar": "baz"}}`, and the filter `.foo.bar`, the result would be +displayed as `"baz"`. + +A single dot (`.`) without anything else always denotes the current value, +unaltered. + +### Indexes + +Indexes can be used to fetch array elements, or select non-alphanumeric object +fields. They are written as `[0]` or `["foo-bar"]`, depending on the purpose. + +Given an object of `{"foo-bar": ["baz", "qux"]}` and the filter of +`.["foo-bar"][0]`, the result would be displayed as `"baz"`. + +### Slices + +Arrays can be sliced to get a subset an array. The syntax is `[LOW:HIGH]`. + +Given an array of `[0, 1, 2, 3, 4]` and the filter of +`.[1:3]`, the result would be displayed as `[1, 2]`. This also illustrates that +the result of the slice operation is always of length HIGH-LOW. + +Slices can also be applied to strings, in which a substring is returned with the +same rules applied, with the first character of the string being index 0. + +### Iterators + +Iterators can iterate over arrays and objects. The syntax is `[]`. + +Iterators iterate over the _values_ of an object only. So given a object of +`{"foo": 1, "bar": 2}`, the filter `.[]` would yield an iteration of `1, 2`. + +Note that iteration results are not necessarily always arrays. Iterators are +handled in a special fashion when dealing with pipes and object creators (see +below). + +### Array Construction + +Wrapping an expression in brackets (`[ ... ]`) creates an array with the +sub-expressions inside the array. The results are always concatenated. + +For example, for an object of `{"foo": [1, 2], "bar": [3, 4]}`, the construction +expressions `[.foo[], .bar[]]` and `[.[][]]`, are the same, producing the +resulting array `[1, 2, 3, 4]`. + +### Object Construction + +Wrapping an expression in curly braces `{KEY: EXPRESSION, ...}` creates an +object. + +Iterators work uniquely with object construction in that an object is +constructed for each _iteration_ that the iterator produces. + +As a basic example, Consider an array `[1, 2, 3]`. While the expression +`{foo: .}` will produce `{"foo": [1, 2, 3]}`, adding an iterator to the +expression so that it reads `{foo: .[]}` will produce 3 individual objects: +`{"foo": 1}`, `{"foo": 2}`, and `{"foo": 3}`. + +### Pipes + +Pipes allow the results of one expression to be fed into another. This can be +used to re-write expressions to help reduce complexity. + +Iterators work with pipes in a fashion similar to object construction, where the +expression on the right-hand side of the pipe is evaluated once for every +iteration. + +As an example, for the object `{"foo": {"a": 1}, "bar": {"a": 2}}`, both the +expression `{z: .[].a}` and `.[] | {z: .a}` produce the same result: `{"z": 1}` +and `{"z": 2}`. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/access.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/access.mdx new file mode 100644 index 0000000000..abad3a8b0e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/access.mdx @@ -0,0 +1,54 @@ +--- +page_title: Manage access to workspaces in Terraform Enterprise +description: >- + Learn how to manage access to workspaces by adding teams and configuring their + permissions. +source: terraform-docs-common +--- + +# Manage access to workspaces + + + +@include 'tfc-package-callouts/team-management.mdx' + + + +HCP Terraform workspaces can only be accessed by users with the correct permissions. You can manage permissions for a workspace on a per-team basis. + +Teams with [admin access](/terraform/enterprise/users-teams-organizations/permissions) on a workspace can manage permissions for other teams on that workspace. Since newly created workspaces don't have any team permissions configured, the initial setup of a workspace's permissions requires the owners team or a team with permission to manage workspaces. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +-> **API:** See the [Team Access APIs](/terraform/enterprise/api-docs/team-access).
+**Terraform:** See the `tfe` provider's [`tfe_team_access`](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/team_access) resource. + +## Background + +HCP Terraform manages users' permissions to workspaces with teams. + +- [Workspace-level permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions) can be granted to an individual team on a particular workspace. These permissions can be managed on the workspace by anyone with admin access to the workspace. +- In addition, some [organization-level permissions](/terraform/enterprise/users-teams-organizations/permissions#organization-permissions) can be granted to a team which apply to every workspace in the organization. For example, the + [manage all workspaces](/terraform/enterprise/users-teams-organizations/permissions#manage-all-workspaces) and [manage all projects](/terraform/enterprise/users-teams-organizations/permissions#manage-all-projects) permissions grant the workspace-level admin permission to every workspace in the organization. Organization-level permissions can only be managed by organization owners. + +## Managing Workspace Access Permissions + +When a user creates a workspace, the following teams can access that workspace with full admin permissions: + +- [the owners team](/terraform/enterprise/users-teams-organizations/teams#the-owners-team) +- teams with "Manage all workspaces" and/or “Manage all projects” [organization permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) +- teams with “Project Admin” project permissions + +You cannot override these teams' permissions through the workspace's specific permissions. + +To manage a team's access to a workspace, select "Team Access" from the workspace's "Settings" menu. + +This screen displays all teams granted workspace-level permissions to the workspace. To add a team, select "Add team and permissions". + +HCP Terraform displays the teams you can grant workspace access to. Select a team to continue and configure that team's permissions. + +There are four [fixed permissions sets](/terraform/enterprise/users-teams-organizations/permissions#fixed-permission-sets) available for basic usage: Read, Plan, Write, and Admin. + +To enable finer-grained selection of non-admin permissions, select "Customize permissions for this team". On this screen, you can select specific permissions to grant the team for the workspace. + +For more information on permissions, see [the documentation on Workspace Permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-permissions). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/deletion.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/deletion.mdx new file mode 100644 index 0000000000..4daa48e161 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/deletion.mdx @@ -0,0 +1,125 @@ +--- +page_title: Destroy infrastructure resources and delete workspaces in Terraform Enterprise +description: >- + Learn how to clean up resources by destroying a workspace's infrastructure and + deleting a workspace in Terraform Enterprise. +source: terraform-docs-common +--- + +# Destroy infrastructure resources and delete workspaces + +HCP Terraform workspaces have two primary delete actions: + +- [Destroying infrastructure](#destroy-infrastructure) deletes resources managed by the HCP Terraform workspace by triggering a destroy run. +- [Deleting a workspace](#delete-workspaces) deletes the workspace itself without triggering a destroy run. + +In general, you should perform both actions in the above order when destroying a workspace to ensure resource cleanup for all of a workspace's managed infrastructure. + +## Destroy Infrastructure + +Destroy plans delete the infrastructure managed by a workspace. We recommend destroying the infrastructure managed by a workspace _before_ deleting the workspace itself. Otherwise, the unmanaged infrastructure resources will continue to exist but will become unmanaged, and you must go into your infrastructure providers to delete the resources manually. + +Before queuing a destroy plan, enable the **Allow destroy plans** toggle setting on this page. + +### Automatically Destroy + + + +@include 'tfc-package-callouts/ephemeral-workspaces.mdx' + + + +Configuring automatic infrastructure destruction for a workspace requires [admin permissions](/terraform/enterprise/users-teams-organizations/permissions#workspace-admins) for that workspace. + +There are two main ways to automatically destroy a workspace's resources: + +- Schedule a run to destroy all resources in a workspace at a specific date and time. +- Configure HCP Terraform to destroy a workspace's infrastructure after a period of workspace inactivity. + +Workspaces can inherit auto-destroy settings from their project. Refer to [managing projects](/terraform/enterprise/projects/manage#automatically-destroy-inactive-workspaces) for more information. You can configure an individual workspace's auto-destroy settings to override the project's configuration. + +You can reduce your spending on infrastructure by automatically destroying temporary resources like development environments. + +After HCP Terraform performs an auto-destroy run, it unsets the `auto-destroy-at` field on the workspace. If you continue using the workspace, you can schedule another future auto-destroy run to remove any new resources. + +!> **Note:** Automatic destroy plans _do not_ prompt you for apply approval in the HCP Terraform user interface. We recommend only using this setting for development environments. + +You can schedule an auto-destroy run using the HCP Terraform web user interface, or the [workspace API](/terraform/enterprise/api-docs/workspaces). + +You can also schedule [notifications](/terraform/enterprise/workspaces/settings/notifications) to alert you 12 and 24 hours before an auto-destroy run, and to report auto-destroy run results. + +#### Destroy at a specific day and time + +To schedule an auto-destroy run at a specific time in HCP Terraform: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace you want to destroy. +2. Choose **Settings** from the sidebar, then **Destruction and Deletion**. +3. Under **Automatically destroy**, click **Set up auto-destroy**. +4. Enter the desired date and time. HCP Terraform defaults to your local time zone for scheduling and displays how long until the scheduled operation. +5. Click **Confirm auto-destroy**. + +To cancel a scheduled auto-destroy run in HCP Terraform: + +1. Navigate to the workspace's **Settings** > **Destruction and Deletion** page. +2. Under **Automatically destroy**, click **Edit** next to your scheduled run's details. +3. Click **Remove**. + +#### Destroy if a workspace is inactive + +You can configure HCP Terraform to automatically destroy a workspace's infrastructure after a period of inactivity. +A workspace is _inactive_ if the workspace's state has not changed within your designated time period. + +!> **Caution:** As opposed to configuring an auto-destroy run for a specific date and time, this setting _persists_ after queueing auto-destroy runs. + +If you configure a workspace to auto-destroy its infrastructure when inactive, any run that updates Terraform state further delays the scheduled auto-destroy time by the length of your designated timeframe. + +To schedule an auto-destroy run after a period of workspace inactivity: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace you want to destroy. +2. Choose **Settings** from the sidebar, then **Destruction and Deletion**. +3. Under **Automatically destroy**, click **Set up auto-destroy**. +4. Click the **Destroy if inactive** toggle. +5. Select or customize a desired timeframe of inactivity. +6. Click **Confirm auto-destroy**. + +When configured for the first time, the auto-destroy duration setting displays the scheduled date and time that HCP Terraform will perform the auto-destroy run. +Subsequent auto-destroy runs and Terraform runs that update state both update the next scheduled auto-destroy date. + +After HCP Terraform completes a manual or automatic destroy run, it waits until further state updates to schedule a new auto-destroy run. + +To remove your workspace's auto-destroy run: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace you want to disable the auto-destroy run for. +2. Choose **Settings** from the sidebar, then **Destruction and Deletion**. +3. Under **Auto-destroy settings**, click **Edit** to change the auto-destroy settings. +4. Click **Remove**. + +When you move a workspace to a different project, it inherits the auto-destroy settings from the new project. If you configured the workspace to override the previous project's auto-destroy settings, it retains the override configuration in the new project. + +## Delete Workspace + +Terraform does not automatically destroy managed infrastructure when you delete a workspace. + +After you delete the workspace and its state file, Terraform can _no longer track or manage_ that infrastructure. You must manually delete or [import](/terraform/cli/commands/import) any remaining resources into another Terraform workspace. + +By default, [workspace administrators](/terraform/enterprise/users-teams-organizations/permissions#workspace-admins) can only delete unlocked workspaces that are not managing any infrastructure. Organization owners can force delete a workspace to override these protections. Organization owners can also configure the [organization's settings](/terraform/enterprise/users-teams-organizations/organizations#general) to let workspace administrators force delete their own workspaces. + +## Data Retention Policies + + +Data retention policies are exclusive to Terraform Enterprise, and not available in HCP Terraform. Learn more about Terraform Enterprise. + + +Define configurable data retention policies for workspaces to help reduce object storage consumption. You can define a policy that allows Terraform to _soft delete_ the backing data associated with configuration versions and state versions. Soft deleting refers to marking a data object for garbage collection so that Terraform can automatically delete the object after a set number of days. + +Once an object is soft deleted, any attempts to read the object will fail. Until the garbage collection grace period elapses, you can still restore an object using the APIs described in the [configuration version documentation](/terraform/enterprise/api-docs/configuration-versions) and [state version documentation](/terraform/enterprise/api-docs/state-versions). After the garbage collection grace period elapses, Terraform permanently deletes the archivist storage. + +The [organization policy](/terraform/enterprise/users-teams-organizations/organizations#destruction-and-deletion) is the default policy applied to workspaces, but members of individual workspaces can override the policy for their workspaces. + +The workspace policy always overrides the organization policy. A workspace admin can set or override the following data retention policies: + +- **Organization default policy** +- **Do not auto-delete** +- **Auto-delete data** + +Setting the data retention policy to **Organization default policy** disables the other data retention policy settings. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/index.mdx new file mode 100644 index 0000000000..0dc4c0ab9c --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/index.mdx @@ -0,0 +1,213 @@ +--- +page_title: Workspaces settings in Terraform Enterprise +description: >- + Learn how to configure workspace settings for notifications, permissions, + health, locking, policies, run triggers, SSH keys, team access, version + control, and deletion. +source: terraform-docs-common +--- + +# Workspace settings + +You can change a workspace’s settings after creation. Workspace settings are separated into several pages. + +- [General](#general): Settings that determine how the workspace functions, including its name, description, associated project, Terraform version, and execution mode. +- [Health](/terraform/enterprise/workspaces/health): Settings that let you configure health assessments, including drift detection and continuous validation. +- [Locking](#locking): Locking a workspace temporarily prevents new plans and applies. +- [Notifications](#notifications): Settings that let you configure run notifications. +- [Policies](#policies): Settings that let you toggle between Sentinel policy evaluation experiences. +- [Run Triggers](#run-triggers): Settings that let you configure run triggers. Run triggers allow runs to queue automatically in your workspace when runs in other workspaces are successful. +- [SSH Key](#ssh-key): Set a private SSH key for downloading Terraform modules from Git-based module sources. +- [Team Access](#team-access): Settings that let you manage which teams can view the workspace and use it to provision infrastructure. +- [Version Control](#version-control): Manage the workspace’s VCS integration. +- [Destruction and Deletion](#destruction-and-deletion): Remove a workspace and the infrastructure it manages. + +Changing settings requires admin access to the relevant workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +-> **API:** See the [Update a Workspace endpoint](/terraform/enterprise/api-docs/workspaces#update-a-workspace) (`PATCH /organizations/:organization_name/workspaces/:name`). + +## General + +General settings let you change a workspace's name, description, the project it belongs to, and details about how Terraform runs operate. After changing these settings, click **Save settings** at the bottom of the page. + +### ID + +Every workspace has a unique ID that you cannot change. You may need to reference the workspace's ID when using the [HCP Terraform API](/terraform/enterprise/api-docs). + +Click the icon beside the ID to copy it to your clipboard. + +### Name + +The display name of the workspace. + +!> **Warning:** Some API calls refer to a workspace by its name, so changing the name may break existing integrations. + +### Project + +The [project](/terraform/enterprise/projects) that this workspace belongs to. Changing the workspace's project can change the read and write permissions for the workspace and which users can access it. + +To move a workspace, you must have the "Manage all Projects" organization permission or explicit team admin privileges on both the source and destination projects. Remember that moving a workspace to another project may affect user visibility for that project's workspaces. Refer to [Project Permissions](/terraform/enterprise/users-teams-organizations/permissions#project-permissions) for details on workspace access. + +### Description (Optional) + +Enter a brief description of the workspace's purpose or types of infrastructure. + +### Execution Mode + +Whether to use HCP Terraform as the Terraform execution platform for this workspace. + +By default, HCP Terraform uses an organization's [default execution mode](/terraform/enterprise/users-teams-organizations/organizations#organization-settings) to choose the execution platform for a workspace. Alternatively, you can instead choose a custom execution mode for a workspace. + +Specifying the "Remote" execution mode instructs HCP Terraform to perform Terraform runs on its own disposable virtual machines. This provides a consistent and reliable run environment and enables advanced features like Sentinel policy enforcement, cost estimation, notifications, version control integration, and more. + +To disable remote execution for a workspace, change its execution mode to "Local". This mode lets you perform Terraform runs locally with the [CLI-driven run workflow](/terraform/enterprise/run/cli). The workspace will store state, which Terraform can access with the [CLI integration](/terraform/cli/cloud). HCP Terraform does not evaluate workspace variables or variable sets in local execution mode. + +If you instead need to allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure, consider using [HCP Terraform agents](/terraform/cloud-docs/agents). By deploying a lightweight agent, you can establish a simple connection between your environment and HCP Terraform. + +Changing your workspace's execution mode after a run has already been planned will cause the run to error when it is applied. + +To minimize the number of runs that error when changing your workspace's execution mode, you should: + +1. Disable [auto-apply](/terraform/enterprise/workspaces/settings#auto-apply) if you have it enabled. +2. Complete any runs that are no longer in the [pending stage](/terraform/enterprise/run/states#the-pending-stage). +3. [Lock](/terraform/enterprise/workspaces/settings#locking) your workspace to prevent any new runs. +4. Change the execution mode. +5. Enable [auto-apply](/terraform/enterprise/workspaces/settings#auto-apply), if you had it enabled before changing your execution mode. +6. [Unlock](/terraform/enterprise/workspaces/settings#locking) your workspace. + + + + +### Auto-apply + +Whether or not HCP Terraform should automatically apply a successful Terraform plan. If you choose manual apply, an operator must confirm a successful plan and choose to apply it. + +The main auto-apply setting affects runs created by the HCP Terraform user interface, API, and version control webhooks. HCP Terraform also has a separate setting for runs created by [run triggers](/terraform/enterprise/workspaces/settings/run-triggers) from another workspace. + +Auto-apply has the following exceptions: + +- Runs created by the terraform CLI must use the `-auto-approve` argument flag to control auto-apply of a particular run. +- Plans queued by users without permission to apply runs for the workspace must be approved by a user who does have permission. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Terraform Version + +The Terraform version to use for all operations in the workspace. The default value is whichever release was current when HCP Terraform created the workspace. You can also update a workspace's Terraform version to an exact version or a valid [version constraint](/terraform/language/expressions/version-constraints). + +> **Hands-on:** Try the [Upgrade Terraform Version in HCP Terraform](/terraform/tutorials/cloud/cloud-versions) tutorial. + +-> **API:** You can specify a Terraform version when you [create a workspace](/terraform/enterprise/api-docs/workspaces#create-a-workspace) with the API. + +### Terraform Working Directory + +The directory where Terraform will execute, specified as a relative path from the root of the configuration directory. Defaults to the root of the configuration directory. + +HCP Terraform will change to this directory before starting a Terraform run, and will report an error if the directory does not exist. + +Setting a working directory creates a default filter for automatic run triggering, and sometimes causes CLI-driven runs to upload additional configuration content. + +#### Default Run Trigger Filtering + +In VCS-backed workspaces that specify a working directory, HCP Terraform assumes that only changes within that working directory should trigger a run. You can override this behavior with the [Automatic Run Triggering](/terraform/enterprise/workspaces/settings/vcs#automatic-run-triggering) settings. + +#### Parent Directory Uploads + +If a working directory is configured, HCP Terraform always expects the complete shared configuration directory to be available, since the configuration might use local modules from outside its working directory. + +In [runs triggered by VCS commits](/terraform/enterprise/run/ui), this is automatic. In [CLI-driven runs](/terraform/enterprise/run/cli), Terraform's CLI sometimes uploads additional content: + +- When the local working directory _does not match_ the name of the configured working directory, Terraform assumes it is the root of the configuration directory, and uploads only the local working directory. +- When the local working directory _matches_ the name of the configured working directory, Terraform uploads one or more parents of the local working directory, according to the depth of the configured working directory. (For example, a working directory of `production` is only one level deep, so Terraform would upload the immediate parent directory. `consul/production` is two levels deep, so Terraform would upload the parent and grandparent directories.) + +If you use the working directory setting, always run Terraform from a complete copy of the configuration directory. Moving one subdirectory to a new location can result in unexpected content uploads. + +### Remote State Sharing + +Which other workspaces within the organization can access the state of the workspace during [runs managed by HCP Terraform](/terraform/enterprise/run/remote-operations#remote-operations). The [`terraform_remote_state` data source](/terraform/language/state/remote-state-data) relies on state sharing to access workspace outputs. + +- If "Share state globally" is enabled, all other workspaces within the organization can access this workspace's state during runs. +- If global sharing is turned off, you can specify a list of workspaces within the organization that can access this workspace's state; no other workspaces will be allowed. + + The workspace selector is searchable; if you don't initially see a workspace you're looking for, type part of its name. + +By default, new workspaces in HCP Terraform do not allow other workspaces to access their state. We recommend that you follow the principle of least privilege and only enable state access between workspaces that specifically need information from each other. To configure remote state sharing, a user must have read access for the destination workspace. If a user does not have access to the destination workspace due to scoped project or workspace permissions, they will not have complete visibility into the list of other workspace that can access its state. + +-> **Note:** The default access permissions for new workspaces in HCP Terraform changed in April 2021. Workspaces created before this change default to allowing global access within their organization. These workspaces can be changed to more restrictive access at any time. Terraform Enterprise administrators can choose whether new workspaces on their instances default to global access or selective access. + +### User Interface + +Select the user experience for displaying plan and apply details. + +The default experience is _Structured Run Output_, which displays your plan and apply results in a human-readable format. This includes nodes that you can expand to view details about each resource and any configured output. + +The Console UI experience is the traditional Terraform experience, where live text logging is streamed in real time to the UI. This experience most closely emulates the CLI output. + +~> **Note:** Your workspace must be configured to use a Terraform version of 1.0.5 or higher for the Structured Run Output experience to be fully supported. Workspaces running versions from 0.15.2 may see partial functionality. Workspaces running versions below 0.15.2 will default to the "Console UI" experience regardless of the User Interface setting. + +## Locking + +~> **Important:** Unlike other settings, locks can also be managed by users with permission to lock and unlock the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +If you need to prevent Terraform runs for any reason, you can lock a workspace. This prevents all applies (and many kinds of plans) from proceeding, and affects runs created via UI, CLI, API, and automated systems. To enable runs again, a user must unlock the workspace. + +Two kinds of run operations can ignore workspace locking because they cannot affect resources or state and do not attempt to lock the workspace themselves: + +- Plan-only runs. +- The planning stages of [saved plan runs](/terraform/enterprise/run/modes-and-options.mdx#saved-plans). You can only _apply_ a saved plan if the workspace is unlocked, and applying that plan locks the workspace as usual. Terraform Enterprise does not yet support this workflow. + +Locking a workspace also restricts state uploads. In order to upload state, the workspace must be locked by the user who is uploading state. + +Users with permission to lock and unlock a workspace can't unlock a workspace which was locked by another user. Users with admin access to a workspace can force unlock a workspace even if another user has locked it. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Locks are managed with a single "Lock/Unlock/Force unlock ``" button. HCP Terraform asks for confirmation when unlocking. + +You can also manage the workspace's lock from the **Actions** menu. + +## Notifications + +The "Notifications" page allows HCP Terraform to send webhooks to external services whenever specific run events occur in a workspace. + +See [Run Notifications](/terraform/enterprise/workspaces/settings/notifications) for detailed information about configuring notifications. + +## Policies + +HCP Terraform offers two experiences for Sentinel policy evaluations. On the "Policies" page, you can adjust your **Sentinel Experience** settings to your preferred experience. By default, HCP Terraform enables the newest policy evaluation experience. + +To toggle between the two Sentinel policy evaluation experiences, click the **Enable the new Sentinel policy experience** toggle under the **Sentinel Experience** heading. HCP Terraform persists your changes automatically. If HCP Terraform is performing a run on a different page, you must refresh that page to see changes to your policy evaluation experience. + +## Run Triggers + +The "Run Triggers" page configures connections between a workspace and one or more source workspaces. These connections, called "run triggers", allow runs to queue automatically in a workspace on successful apply of runs in any of the source workspaces. + +See [Run Triggers](/terraform/enterprise/workspaces/settings/run-triggers) for detailed information about configuring run triggers. + +## SSH Key + +If a workspace's configuration uses [Git-based module sources](/terraform/language/modules/sources) to reference Terraform modules in private Git repositories, Terraform needs an SSH key to clone those repositories. The "SSH Key" page lets you choose which key it should use. + +See [Using SSH Keys for Cloning Modules](/terraform/enterprise/workspaces/settings/ssh-keys) for detailed information about this page. + +## Team Access + +The "Team Access" page configures which teams can perform which actions on a workspace. + +See [Managing Access to Workspaces](/terraform/enterprise/workspaces/settings/access) for detailed information. + +## Version Control + +The "Version Control" page configures an optional VCS repository that contains the workspace's Terraform configuration. Version control integration is only relevant for workspaces with [remote execution](#execution-mode) enabled. + +See [VCS Connections](/terraform/enterprise/workspaces/settings/vcs) for detailed information about this page. + +## Destruction and Deletion + +The **Destruction and Deletion** page allows [admin users](/terraform/enterprise/users-teams-organizations/permissions) to delete a workspace's managed infrastructure or delete the workspace itself. + +For details, refer to [Destruction and Deletion](/terraform/enterprise/workspaces/settings/deletion) for detailed information about this page. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/notifications.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/notifications.mdx new file mode 100644 index 0000000000..2c9b97b15e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/notifications.mdx @@ -0,0 +1,130 @@ +--- +page_title: Workspace notifications in Terraform Enterprise +description: >- + Use webhooks to notify external systems about run progress and other events in + Terraform Enterprise. Learn to create and enable workspace notifications. +source: terraform-docs-common +--- + +# Workspace notifications + +HCP Terraform can use webhooks to notify external systems about run progress and other events. Each workspace has its own notification settings and can notify up to 20 destinations. + +-> **Note:** [Speculative plans](/terraform/enterprise/run/modes-and-options#plan-only-speculative-plan) and workspaces configured with `Local` [execution mode](/terraform/enterprise/workspaces/settings#execution-mode) do not support notifications. + +Configuring notifications requires admin access to the workspace. Refer to [Permissions](/terraform/enterprise/users-teams-organizations/permissions) for details. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +-> **API:** Refer to [Notification Configuration APIs](/terraform/enterprise/api-docs/notification-configurations). + +## Viewing and Managing Notification Settings + +To add, edit, or delete notifications for a workspace, go to the workspace and click **Settings > Notifications**. The **Notifications** page appears, showing existing notification configurations. + +## Creating a Notification Configuration + +A notification configuration specifies a destination URL, a payload type, and the events that should generate a notification. To create a notification configuration: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and select the workspace you want to configure notifications for. + +2. Click **Settings**, then **Notifications**. + +3. Click **Create a Notification**. The **Create a Notification** form appears. + +4. Configure the notifications: + +- **Destination:** HCP Terraform can deliver either a generic payload or a payload formatted specifically for Slack, Microsoft Teams, or Email. Refer to [Notification Payloads](#notification-payloads) for details. + +- **Name:** A display name for this notification configuration. + +- **Webhook URL** This URL is only available for generic, Slack, and Microsoft Teams webhooks. The webhook URL is the destination for the webhook payload. This URL must accept HTTP or HTTPS `POST` requests and should be able to use the chosen payload type. For details, refer to Slack's documentation on [creating an incoming webhook](https://api.slack.com/messaging/webhooks#create_a_webhook) and Microsoft's documentation on [creating a workflow from a channel in teams](https://support.microsoft.com/en-us/office/creating-a-workflow-from-a-channel-in-teams-242eb8f2-f328-45be-b81f-9817b51a5f0e). + +- **Token** (Optional) This notification is only available for generic webhooks. A token is an arbitrary secret string that HCP Terraform will use to sign its notification webhooks. Refer to [Notification Authenticity][inpage-hmac] for details. You cannot view the token after you save the notification configuration. + +- **Email Recipients** This notification is only available for emails. Select users that should receive notifications. + +- **Workspace Events**: HCP Terraform can send notifications for all events or only for specific events. The following events are available: + + - **Drift**: HCP Terraform detected configuration drift. This notification is only available if you enable [health assessments](/terraform/enterprise/workspaces/health) for the workspace. + - **Check Failure:** HCP Terraform detected one or more failed continuous validation checks. This notification is only available if you enable health assessments for the workspace. + - **Health Assessment Fail**: A health assessment failed. This notification is only available if you enable health assessments for the workspace. Health assessments fail when HCP Terraform cannot perform drift detection, continuous validation, or both. The notification does not specify the cause of the failure, but you can use the [Assessment Result](/terraform/enterprise/api-docs/assessment-results) logs to help diagnose the issue. + - **Auto destroy reminder**: Sends reminders 12 and 24 hours before a scheduled auto destroy run. + - **Auto destroy results**: HCP Terraform performed an auto destroy run in the workspace. Reports both successful and errored runs. + + + +@include 'tfc-package-callouts/health-assessments.mdx' + + + +- **Run Events:** HCP Terraform can send notifications for all events or only for specific events. The following events are available: + - **Created**: A run begins and enters the [Pending stage](/terraform/enterprise/run/states#the-pending-stage). + - **Planning**: A run acquires the lock and starts to execute. + - **Needs Attention**: A plan has changes and Terraform requires user input to continue. This event may include approving the plan or a [policy override](/terraform/enterprise/run/states#the-policy-check-stage). + - **Applying**: A run enters the [Apply stage](/terraform/enterprise/run/states#the-apply-stage), where Terraform makes the infrastructure changes described in the plan. + - **Completed**: A run completed successfully. + - **Errored**: A run terminated early due to error or cancellation. + +4. Click **Create a notification**. + +## Enabling and Verifying a Configuration + +To enable or disable a configuration, toggle the **Enabled/Disabled** switch on its detail page. HCP Terraform will attempt to verify the configuration for generic and slack webhooks by sending a test message, and will enable the notification configuration if the test succeeds. + +For a verification to be successful, the destination must respond with a `2xx` HTTP code. If verification fails, HCP Terraform displays the error message and the configuration will remain disabled. + +For both successful and unsuccessful verifications, click the **Last Response** box to view more information about the verification results. You can also send additional test messages with the **Send a Test** link. + +## Notification Payloads + +### Slack + +Notifications to Slack will contain the following information: + +- The run's workspace (as a link) +- The HCP Terraform username and avatar of the person that created the run +- The run ID (as a link) +- The reason the run was queued (usually a commit message or a custom message) +- The time the run was created +- The event that triggered the notification and the time that event occurred + +### Microsoft Teams + +Notifications to Microsoft Teams contain the following information: + +- The run's workspace (as a link) +- The HCP Terraform username and avatar of the person that created the run +- The run ID +- A link to view the run +- The reason the run was queued (usually a commit message or a custom message) +- The time the run was created +- The event that triggered the notification and the time that event occurred + +### Email + +Email notifications will contain the following information: + +- The run's workspace (as a link) +- The run ID (as a link) +- The event that triggered the notification, and if the run needs to be acted upon or not + +### Generic + +A generic notification will contain information about a run and its state at the time the triggering event occurred. The complete generic notification payload is described in the [API documentation][generic-payload]. + +[generic-payload]: /terraform/enterprise/api-docs/notification-configurations#notification-payload + +Some of the values in the payload can be used to retrieve additional information through the API, such as: + +- The [run ID](/terraform/enterprise/api-docs/run#get-run-details) +- The [workspace ID](/terraform/enterprise/api-docs/workspaces#list-workspaces) +- The [organization name](/terraform/enterprise/api-docs/organizations#show-an-organization) + +## Notification Authenticity + +[inpage-hmac]: #notification-authenticity + +Slack notifications use Slack's own protocols for verifying HCP Terraform's webhook requests. + +Generic notifications can include a signature for verifying the request. For notification configurations that include a secret token, HCP Terraform's webhook requests will include an `X-TFE-Notification-Signature` header, which contains an HMAC signature computed from the token using the SHA-512 digest algorithm. The receiving service is responsible for validating the signature. More information, as well as an example of how to validate the signature, can be found in the [API documentation](/terraform/enterprise/api-docs/notification-configurations#notification-authenticity). diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-tasks.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-tasks.mdx new file mode 100644 index 0000000000..baab7caf6e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-tasks.mdx @@ -0,0 +1,134 @@ +--- +page_title: Terraform Enterprise run tasks +description: >- + Run tasks integrate third-party tools into the run lifecycle. Learn how to + create, delete, and associate run tasks with workspaces. +source: terraform-docs-common +--- + +[entitlement]: /terraform/enterprise/api-docs#feature-entitlements + +# Run tasks + +HCP Terraform run tasks let you directly integrate third-party tools and services at certain stages in the HCP Terraform run lifecycle. Use run tasks to validate Terraform configuration files, analyze execution plans before applying them, scan for security vulnerabilities, or perform other custom actions. + +Run tasks send data about a run to an external service at [specific run stages](#understanding-run-tasks-within-a-run). The external service processes the data, evaluates whether the run passes or fails, and sends a response to HCP Terraform. HCP Terraform then uses this response and the run task enforcement level to determine if a run can proceed. [Explore run tasks in the Terraform registry](https://registry.terraform.io/browse/run-tasks). + + + +@include 'tfc-package-callouts/run-tasks.mdx' + + + +You can manage run tasks through the HCP Terraform UI or the [Run Tasks API](/terraform/enterprise/api-docs/run-tasks/run-tasks). + +> **Hands-on:** Try the [HCP Packer validation run task](/packer/tutorials/hcp/setup-hcp-terraform-run-task) tutorial. + +## Requirements + +**Terraform Version** - You can assign run tasks to workspaces that use a Terraform version of 1.1.9 and later. You can downgrade a workspace with existing runs to use a prior Terraform version without causing an error. However, HCP Terraform no longer triggers the run tasks during plan and apply operations. + +**Permissions** - To create a run task, you must have a user account with the [Manage Run Tasks permission](/terraform/enterprise/users-teams-organizations/permissions#manage-run-tasks). To associate run tasks with a workspace, you need the [Manage Workspace Run Tasks permission](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) on that particular workspace. + +## Creating a Run Task + +Explore the full list of [run tasks in the Terraform Registry](https://registry.terraform.io/browse/run-tasks). + +Run tasks send an API payload to an external service. The API payload contains run-related information, including a callback URL, which the service uses to return a pass or fail status to HCP Terraform. + +For example, the [HCP Packer integration](/terraform/enterprise/integrations/run-tasks#hcp-packer-run-task) checks image artifacts within a Terraform configuration for validity. If the configuration references images marked as unusable (revoked), then the run task fails and provides an error message. + +To create a new run task: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace where you want to create a run task. + +2. Choose **Settings** from the sidebar, then **Run Tasks**. + +3. Click **Create a new run task**. The **Run Tasks** page appears. + +4. Enter the information about the run task to be configured: + + - **Enabled** (optional): Whether the run task will run across all associated workspaces. New tasks are enabled by default. + - **Name** (required): A human-readable name for the run task. This will be displayed in workspace configuration pages and can contain letters, numbers, dashes and underscores. + - **Endpoint URL** (required): The URL for the external service. Run tasks will POST the [run tasks payload](/terraform/enterprise/integrations/run-tasks#integration-details) to this URL. + - **Description** (optional): A human-readable description for the run task. This information can contain letters, numbers, spaces, and special characters. + - **HMAC key** (optional): A secret key that may be required by the external service to verify request authenticity. + +5. Select a **Source**: + + - **Managed** HCP Terraform's infrastructure initiates run task requests. This is the default option. + - **Agent** HCP Terraform can initiate run task requests within your self-managed HCP Terraform agents to let run tasks communicate with isolated, private, or on-premises infrastructure. To use this option, an HCP Terraform agent in the agent pool must have [request forwarding](/terraform/cloud-docs/agents/request-forwarding) enabled, and you must be on the [HCP Terraform **Premium** edition](https://www.hashicorp.com/products/terraform/pricing). + +6. Click **Create run task**. The run task is now available within the organization, and you can associate it with one or more workspaces. + +### Global Run Tasks + +When you create a new run task, you can choose to apply it globally to every workspace in an organization. Your organization must have the `global-run-task` [entitlement][] to use global run tasks. + +1. Select the **Global** checkbox + +2. Choose when HCP Terraform should start the run task: + + - **Pre-plan**: Before Terraform creates the plan. + - **Post-plan**: After Terraform creates the plan. + - **Pre-apply**: Before Terraform applies a plan. + - **Post-apply**: After Terraform applies a plan. + +3. Choose an enforcement level: + + - **Advisory**: Run tasks can not block a run from completing. If the task fails, the run proceeds with a warning in the user interface. + - **Mandatory**: Failed run tasks can block a run from completing. If the task fails (including timeouts or unexpected remote errors), the run stops and errors with a warning in the user interface. + +## Associating Run Tasks with a Workspace + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise, and choose **Workspaces** from the sidebar. + +2. Select the workspace that you want to associate with a run task. + +3. Open the **Settings** menu and select **Run Tasks**. + +4. Click the **+** next to the task you want to add to the workspace. + +5. Choose when HCP Terraform should start the run task: + + - **Pre-plan**: Before Terraform creates the plan. + - **Post-plan**: After Terraform creates the plan. + - **Pre-apply**: Before Terraform applies a plan. + - **Post-apply**: After Terraform applies a plan. + +6. Choose an enforcement level: + + - **Advisory**: Run tasks can not block a run from completing. If the task fails, the run will proceed with a warning in the UI. + - **Mandatory**: Run tasks can block a run from completing. If the task fails (including a timeout or unexpected remote error condition), the run will transition to an Errored state with a warning in the UI. + +7. Click **Create**. Your run task is now configured. + +## Understanding Run Tasks Within a Run + +Run tasks perform actions before and after, the [plan](/terraform/enterprise/run/states#the-plan-stage) and [apply](/terraform/enterprise/run/states#the-apply-stage) stages of a [Terraform run](/terraform/enterprise/run/remote-operations). Once all run tasks complete, the run ends based on the most restrictive enforcement level in each associated run task. + +For example, if a mandatory task fails and an advisory task succeeds, the run fails. If an advisory task fails, but a mandatory task succeeds, the run succeeds and proceeds to the apply stage. Regardless of the exit status of a task, HCP Terraform displays the status and any related message data in the UI. + +## Removing a Run Task from a Workspace + +Removing a run task from a workspace does not delete it from the organization. To remove a run task from a specific workspace: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace where you want to remove a run task. + +2. Choose **Settings** from the sidebar, then **Run Tasks**. + +3. Click the ellipses (...) on the associated run task, and then click **Remove**. The run task will no longer be applied to runs within the workspace. + +## Deleting a Run Task + +You must remove a run task from all associated workspaces before you can delete it. To delete a run task: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace associated with a run task you want to delete. + +2. Choose **Settings** from the sidebar, then **Run Tasks**. + +3. Click the ellipses (...) next to the run task you want to delete, and then click **Edit**. + +4. Click **Delete run task**. + +You cannot delete run tasks that are still associated with a workspace. If you attempt this, you will see a warning in the UI containing a list of all workspaces that are associated with the run task. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-triggers.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-triggers.mdx new file mode 100644 index 0000000000..13bda16de0 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/run-triggers.mdx @@ -0,0 +1,51 @@ +--- +page_title: Terraform Enterprise run triggers +description: >- + Use run triggers to connect workspaces within your organization. Learn how to + view, create, and manage run triggers. +source: terraform-docs-common +--- + +# Run triggers + +> **Hands-on:** Try the [Connect Workspaces with Run Triggers](/terraform/tutorials/cloud/cloud-run-triggers?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial. + +HCP Terraform provides a way to connect your workspace to one or more workspaces within your organization, known as "source workspaces". These connections, called run triggers, allow runs to queue automatically in your workspace on successful apply of runs in any of the source workspaces. You can connect each workspace to up to 20 source workspaces. + +Run triggers are designed for workspaces that rely on information or infrastructure produced by other workspaces. If a Terraform configuration uses [data sources](/terraform/language/data-sources) to read values that might be changed by another workspace, run triggers let you explicitly specify that external dependency. + +-> **API:** See the [Run Triggers APIs](/terraform/enterprise/api-docs/run-triggers). + +## Viewing and Managing Run Triggers + +To add or delete a run trigger, navigate to the desired workspace and choose "Run Triggers" from the "Settings" menu: + +This takes you to the run triggers settings page, which shows any existing run triggers. Configuring run triggers requires admin access to the workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) Admins are able to delete any of their workspace’s run triggers from this page. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Creating a Run Trigger + +Creating run triggers requires admin access to the workspace. You must also have permission to read runs for the source workspace you wish to connect to. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +Under the "Source Workspaces" section, select the workspace you would like to connect as your source and click "Add workspace". You now have a run trigger established with your source workspace. Any run from that source workspace which applies successfully will now cause a new run to be queued in your workspace. + +## Run Triggers Auto-Apply Setting + +Runs initiated by a run trigger do not auto-apply unless you enable the **Auto-apply run triggers** setting. This setting operates independently of the primary workspace [auto-apply](/terraform/enterprise/workspaces/settings#auto-apply) setting. + +## Interacting with Run Triggers + +Runs which are queued in your workspace through a run trigger will include extra information in their run details section. This includes links to the source workspace and the successfully applied run that activated the run trigger. + +The source workspace includes a message in the [plan](/terraform/docs/glossary#plan-noun-1-) and [apply](/terraform/docs/glossary#apply-noun-) run details that specifies the workspaces where HCP Terraform automatically starts a run. + +## Using a Remote State Data Source + +A common way to share information between workspaces is the [`terraform_remote_state` data source](/terraform/language/state/remote-state-data), which allows a Terraform configuration to access a source workspace's root-level [outputs](/terraform/language/values/outputs). + +Before other workspaces can read the outputs of a workspace, it must be configured to allow access. For more information about cross-workspace state access in HCP Terraform, see [Terraform State in HCP Terraform](/terraform/enterprise/workspaces/state). + +~> **Important:** We recommend using the [`tfe_outputs` data source](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/data-sources/outputs) in the [HCP Terraform/Enterprise Provider](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs) to access remote state outputs in HCP Terraform or Terraform Enterprise. The `tfe_outputs` data source is more secure because it does not require full access to workspace state to fetch outputs. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/ssh-keys.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/ssh-keys.mdx new file mode 100644 index 0000000000..d2a9fde19e --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/ssh-keys.mdx @@ -0,0 +1,63 @@ +--- +page_title: Use SSH Keys to clone modules in Terraform Enterprise +description: >- + Learn how to configure the SSH keys that Terraform uses to pull modules from + private Git repositories. Learn to add, delete, and assign keys to workspaces. +source: terraform-docs-common +--- + +# Use SSH Keys for cloning modules + +Terraform configurations can pull in Terraform modules from [a variety of different sources](/terraform/language/modules/sources), and private Git repositories are a common source for private modules. + +-> **Note:** The [private module registry](/terraform/enterprise/registry) is an easier way to manage private Terraform modules in HCP Terraform, and doesn't require setting SSH keys for workspaces. The rest of this page only applies to configurations that fetch modules directly from a private Git repository. + +To access a private Git repository, Terraform either needs login credentials (for HTTPS access) or an SSH key. HCP Terraform can store private SSH keys centrally, and you can easily use them in any workspace that clones modules from a Git server. + +-> **Note:** SSH keys for cloning Terraform modules from Git repos are only used during Terraform runs. They are managed separately from any [keys used for bringing VCS content into HCP Terraform](/terraform/enterprise/vcs#ssh-keys). + +HCP Terraform manages SSH keys used to clone Terraform modules at the organization level, and allows multiple keys to be added for the organization. You can add or delete keys via the organization's settings. Once a key is uploaded, the text of the key is not displayed to users. + +To assign a key to a workspace, go to its settings and choose a previously added key from the drop-down menu on Integrations under "SSH Key". Each workspace can only use one SSH key. + +-> **API:** See the [SSH Keys API](/terraform/enterprise/api-docs/ssh-keys) and [Assign an SSH Key to a Workspace endpoint](/terraform/enterprise/api-docs/workspaces#assign-an-ssh-key-to-a-workspace).
+**Terraform:** See the `tfe` provider's [`tfe_ssh_key`](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/ssh_key) resource. + +## Adding Keys + +To add a key: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and choose the organization you want to add a key to. +2. Choose **Settings** from the sidebar, then **SSH Keys**. This page has a form for adding new keys and a list of existing keys. +3. Obtain a PEM formatted SSH keypair that HCP Terraform can use to download modules during a Terraform run. You might already have an appropriate key. If not, create one on a secure workstation and distribute the public key to your VCS provider(s). Do not use or generate a key that has a passphrase. Git is running non-interactively and cannot prompt for it. + + The exact command to create a PEM formatted SSH keypair depends on your operating system. The following example command creates a `service_terraform` file with the private key and a `service_terraform.pub` file with the public key. + + ```bash + ssh-keygen -t rsa -m PEM -f "/Users//.ssh/service_terraform" -C "service_terraform_enterprise" + ``` +4. Enter a name for the key in the **Name** field. Choose something identifiable. Keys are only listed by name. HCP Terraform retains the text of each private key, but never displays it for any purpose. +5. Paste the text of the private key in the **Private SSH Key** field. +6. Click **Add Private SSH Key**. + +The new key appears in the list of keys on the page. + +If you upload an invalid SSH key, upload the correct key and push a new commit for the new key to take effect. + +## Deleting Keys + +Before deleting a key, you should assign a new key to any workspaces that are using it. Otherwise workspaces using the deleted key can no longer clone modules from private repositories. This inability might cause Terraform runs to fail. + +To delete a key: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and choose the organization you want to delete a key from. +2. Choose **Settings** from the sidebar, then **SSH Keys**. +3. Find the key you want to delete and click **Delete**. + +## Assigning Keys to Workspaces + +To assign a key to a workspace, navigate to that workspace's page and choose "SSH Key" from the "Settings" menu. + +Select a named key from the "SSH Key" dropdown menu, then click the "Update SSH key" button. + +In subsequent runs, HCP Terraform will use the selected SSH key in this workspace when cloning modules from Git. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/vcs.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/vcs.mdx new file mode 100644 index 0000000000..a1e34e5a58 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/settings/vcs.mdx @@ -0,0 +1,127 @@ +--- +page_title: Configure workspace VCS connections in Terraform Enterprise +description: >- + Learn how to use the Terraform Enterprise UI to connect a workspace to a + version control system (VCS) repository that contains a Terraform + configuration. +source: terraform-docs-common +--- + +# Configure workspace VCS connections + +You can connect any HCP Terraform [workspace](/terraform/enterprise/workspaces) to a version control system (VCS) repository that contains a Terraform configuration. This page explains the workspace VCS connection settings in the HCP Terraform UI. + +Refer to [Terraform Configurations in HCP Terraform Workspaces](/terraform/enterprise/workspaces/configurations) for details on handling configuration versions and connected repositories. Refer to [Connecting VCS Providers](/terraform/enterprise/vcs) for a list of supported VCS providers and details about configuring VCS access, viewing VCS events, etc. + +## API + +You can use the [Update a Workspace endpoint](/terraform/enterprise/api-docs/workspaces#update-a-workspace) in the Workspaces API to change one or more VCS settings. We also recommend using this endpoint to automate changing VCS connections for many workspaces at once. For example, when you move a VCS server or remove a deprecated API version. + +## Version Control Settings + +To change a workspace's VCS settings: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and find the workspace you want to update. +2. Choose **Settings** from the sidebar, then **Version Control**. +3. Choose the settings you want, then click **Update VCS settings**. + +You can update the following types of VCS settings for the workspace. + +### VCS Connection + +You can take one of the following actions: + +- To add a new VCS connection, click **Connect to version control**. Select **Version control workflow** and follow the steps to [select a VCS provider and repository](/terraform/enterprise/workspaces/create#create-a-workspace). +- To edit an existing VCS connection, click **Change source**. Choose the **Version control workflow** and follow the steps to [select VCS provider and repository](/terraform/enterprise/workspaces/create#create-a-workspace). +- To remove the VCS connection, click **Change source**. Select either the **CLI-driven workflow** or the **API-driven workflow**, and click **Update VCS settings**. The workspace is no longer connected to VCS. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Terraform Working Directory + +Specify the directory where Terraform will execute runs. This defaults to the root directory in your repository, but you may want to specify another directory if you have directories for multiple different Terraform configurations within the same repository. For example, if you had one `staging` directory and one `production` directory. + +A working directory is required when you use [trigger prefixes](#automatic-run-triggering). + +### Apply Method + +Choose a workflow for Terraform runs. + +- **Auto apply:** Terraform will apply changes from successful plans without prompting for approval. A push to the default branch of your repository will trigger a plan and apply cycle. You may want to do this in non-interactive environments, like continuous deployment workflows. + + !> **Warning:** If you choose auto apply, make sure that no one can change your infrastructure outside of your automated build pipeline. This reduces the risk of configuration drift and unexpected changes. + +- **Manual apply:** Terraform will ask for approval before applying changes from a successful plan. A push to the default branch of your repository will trigger a plan, and then Terraform will wait for confirmation. + +### Automatic Run Triggering + +HCP Terraform uses your VCS provider's API to retrieve the changed files in your repository. You can choose one of the following options to specify which changes trigger Terraform runs. + +#### Always trigger runs + +This option instructs Terraform to begin a run when changes are pushed to any file within the repository. This can be useful for repositories that do not have multiple configurations but require a working directory for some other reason. However, we do not recommend this approach for true monorepos, as it queues unnecessary runs and slows down your ability to provision infrastructure. + +#### Only trigger runs when files in specified paths change + +This option instructs Terraform to begin new runs only for changes that affect specified files and directories. This behavior also applies to [speculative plans](/terraform/enterprise/run/remote-operations#speculative-plans) on pull requests. + +You can use trigger patterns and trigger prefixes in the **Add path** field to specify groups of files and directories. + +- **Trigger Patterns:** (Recommended) Use glob patterns to specify the files that should trigger a new run. For example, `/submodule/**/*.tf`, specifies all files with the `.tf` extension that are nested below the `submodule` directory. You can also use more complex patterns like `/**/networking/**/*`, which specifies all files that have a `networking` folder in their file path. (e.g., `/submodule/service-1/networking/private/main.tf`). Refer to [Glob Patterns for Automatic Run Triggering](#glob-patterns-for-automatic-run-triggering) for details. +- **Trigger Prefixes:** HCP Terraform will queue runs for changes in any of the specified trigger directories matching the provided prefixes (including the working directory). For example, if you use a top-level `modules` directory to share Terraform code across multiple configurations, changes to the shared modules are relevant to every workspace that uses that repository. You can add `modules` as a trigger directory for each workspace to track changes to shared code. + +-> **Note:** HCP Terraform triggers runs on all attached workspaces if it does not receive a list of changed files or if that list is too large to process. When this happens, HCP Terraform may show several runs with completed plans that do not result in infrastructure changes. + +#### Trigger runs when a git tag is published + +This option instructs Terraform to begin new runs only for changes that have a specific tag format. + +The tag format can be chosen between the following options: + +- **Semantic Versioning:** It matches tags in the popular [SemVer format](https://semver.org/). For example, `0.4.2`. +- **Version contains a prefix:** It matches tags which have an additional prefix before the [SemVer format](https://semver.org/). For example, `version-0.4.2`. +- **Version contains a suffix:** It matches tags which have an additional suffix after the [SemVer format](https://semver.org/). For example `0.4.2-alpha`. +- **Custom Regular Expression:** You can define your own regex for HCP Terraform to match against tags. + +You must include an additional `\` to escape the regex pattern when you manage your workspace with the [hashicorp/tfe provider](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace#tags_regex) and trigger runs through matching git tags. Refer to [Terraform escape sequences](/terraform/language/expressions/strings#escape-sequences) for more details. + +| Tag Format | Regex Pattern | Regex Pattern (Escaped) | +| ----------------------------- | --------------- | ----------------------- | +| **Semantic Versioning** | `^\d+.\d+.\d+$` | `^\\d+.\\d+.\\d+$` | +| **Version contains a prefix** | `\d+.\d+.\d+$` | `\\d+.\\d+.\\d+$` | +| **Version contains a suffix** | `^\d+.\d+.\d+` | `^\\d+.\\d+.\\d+` | + +HCP Terraform triggers runs for all tags matching this pattern, regardless of the value in the [VCS Branch](#vcs-branch) setting. + +### VCS Branch + +This setting designates which branch of the repository HCP Terraform should use when the workspace is set to [Always Trigger Runs](#always-trigger-runs) or [Only trigger runs when files in specified paths change](#only-trigger-runs-when-files-in-specified-paths-change). If you leave this setting blank, HCP Terraform uses the repository's default branch. If the workspace is set to trigger runs when a [git tag is published](#trigger-runs-when-a-git-tag-is-published), all tags will trigger runs, regardless of the branch specified in this setting. + +### Automatic Speculative Plans + +Whether to perform [speculative plans on pull requests](/terraform/enterprise/run/ui#speculative-plans-on-pull-requests) to the connected repository, to assist in reviewing proposed changes. Automatic speculative plans are enabled by default, but you can disable them for any workspace. + +### Include Submodules on Clone + +Select **Include submodules on clone** to recursively clone all of the repository's Git submodules when HCP Terraform fetches a configuration. + +-> **Note:** The [SSH key for cloning Git submodules](/terraform/enterprise/vcs#ssh-keys) is set in the VCS provider settings for the organization and is not related to the workspace's SSH key for Terraform modules. + +## Glob Patterns for Automatic Run Triggering + +We support `glob` patterns to describe a set of triggers for automatic runs. Refer to [trigger patterns](#only-trigger-runs-when-files-in-specified-paths-change) for details. + +Supported wildcards: + +- `*` Matches zero or more characters. +- `?` Matches one or more characters. +- `**` Matches directories recursively. + +The following examples demonstrate how to use the supported wildcards: + +- `/**/*` matches every file in every directory +- `/module/**/*` matches all files in any directory below the `module` directory +- `/**/networking/*` matches every file that is inside any `networking` directory +- `/**/networking/**/*` matches every file that has `networking` directory on its path +- `/**/*.tf` matches every file in any directory that has the `.tf` extension +- `/submodule/*.???` matches every file inside `submodule` directory which has three characters long extension. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/state.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/state.mdx new file mode 100644 index 0000000000..4b070799df --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/state.mdx @@ -0,0 +1,257 @@ +--- +page_title: Manage workspace state in Terraform Enterprise +description: >- + Workspaces have their own separate state data. Learn how Terraform Enterprise + uses state and how to access state from across workspaces. +source: terraform-docs-common +--- + +# Manage workspace state + +Each HCP Terraform workspace has its own separate state data, used for runs within that workspace. + +-> **API:** See the [State Versions API](/terraform/enterprise/api-docs/state-versions). + +## State Usage in Terraform Runs + +In [remote runs](/terraform/enterprise/run/remote-operations), HCP Terraform automatically configures Terraform to use the workspace's state; the Terraform configuration does not need an explicit backend configuration. (If a backend configuration is present, it will be overridden.) + +In local runs (available for workspaces whose execution mode setting is set to "local"), you can use a workspace's state by configuring the [CLI integration](/terraform/cli/cloud) and authenticating with a user token that has permission to read and write state versions for the relevant workspace. When using a Terraform configuration that references outputs from another workspace, the authentication token must also have permission to read state outputs for that workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + + + +During an HCP Terraform run, Terraform incrementally creates intermediate state versions and marks them as finalized once it uploads the state content. + +When a workspace is unlocked, HCP Terraform selects the latest state and sets it as the current state version, deletes all other intermediate state versions that were saved as recovery snapshots for the duration of the lock, and discards all pending intermediate state versions that were superseded by newer state versions. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + + + +## State Versions + +In addition to the current state, HCP Terraform retains historical state versions, which can be used to analyze infrastructure changes over time. + +You can view a workspace's state versions from its **States** tab. Each state in the list indicates which run and which VCS commit (if applicable) it was associated with. Click a state in the list for more details, including a diff against the previous state and a link to the raw state file. + + + +## Managed Resources Count + +-> **Note:** A managed resources count for each organization is available in your organization's settings. + +Your organization’s managed resource count helps you understand the number of infrastructure resources that HCP Terraform manages across all your workspaces. + +HCP Terraform reads all the workspaces’ state files to determine the total number of managed resources. Each [resource](/terraform/language/resources/syntax) in the state equals one managed resource. HCP Terraform includes resources in modules and each resource instance created with the `count` or `for_each` meta-arguments. For example, `"aws_instance" "servers" { count = 10 }` creates ten separate managed resources in state. HCP Terraform does not include [data sources](/terraform/language/data-sources) in the count. + +### Examples - Managed Resources + +The following Terraform state excerpt describes a `random` resource. HCP Terraform counts `random` as one managed resource because `“mode”: “managed”`. + +```json +"resources": [ +{ + "mode": "managed", + "type": "random_pet", + "name": "random", + "provider": "provider[\"registry.terraform.io/hashicorp/random\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "puma", + "keepers": null, + "length": 1, + "prefix": null, + "separator": "-" + }, + "sensitive_attributes": [] + } + ] + } +] +``` + +A single resource configuration block can describe multiple resource instances with the [`count`](/terraform/language/meta-arguments/count) or [`for_each`](/terraform/language/meta-arguments/for_each) meta-arguments. Each of these instances counts as a managed resource. + +The following example shows a Terraform state excerpt with 2 instances of a `aws_subnet` resource. HCP Terraform counts each instance of `aws_subnet` as a separate managed resource. + +```json +{ + "module": "module.vpc", + "mode": "managed", + "type": "aws_subnet", + "name": "public", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:us-east-2:561656980159:subnet/subnet-024b05c4fba9c9733", + "assign_ipv6_address_on_creation": false, + "availability_zone": "us-east-2a", + ##... + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "-public-us-east-2a" + }, + "tags_all": { + "Name": "-public-us-east-2a" + }, + "timeouts": null, + "vpc_id": "vpc-0f693f9721b61333b" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "data.aws_availability_zones.available", + "module.vpc.aws_vpc.this", + "module.vpc.aws_vpc_ipv4_cidr_block_association.this" + ] + }, + { + "index_key": 1, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:us-east-2:561656980159:subnet/subnet-08924f16617e087b2", + "assign_ipv6_address_on_creation": false, + "availability_zone": "us-east-2b", + ##... + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "-public-us-east-2b" + }, + "tags_all": { + "Name": "-public-us-east-2b" + }, + "timeouts": null, + "vpc_id": "vpc-0f693f9721b61333b" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "data.aws_availability_zones.available", + "module.vpc.aws_vpc.this", + "module.vpc.aws_vpc_ipv4_cidr_block_association.this" + ] + } + ] +} +``` + +### Example - Excluded Data Source + +The following Terraform state excerpt describes a `aws_availability_zones` data source. HCP Terraform does not include `aws_availability_zones` in the managed resource count because `”mode”: “data”`. + +```json + "resources": [ + { + "mode": "data", + "type": "aws_availability_zones", + "name": "available", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "all_availability_zones": null, + "exclude_names": null, + "exclude_zone_ids": null, + "filter": null, + "group_names": [ + "us-east-2" + ], + "id": "us-east-2", + "names": [ + "us-east-2a", + "us-east-2b", + "us-east-2c" + ], + "state": null, + "zone_ids": [ + "use2-az1", + "use2-az2", + "use2-az3" + ] + }, + "sensitive_attributes": [] + } + ] + } + ] +``` + + + +## State Manipulation + +Certain tasks (including importing resources, tainting resources, moving or renaming existing resources to match a changed configuration, and more) may require modifying Terraform state outside the context of a run, depending on which version of Terraform your HCP Terraform workspace is configured to use. + +Newer Terraform features like [`moved` blocks](/terraform/language/modules/develop/refactoring), [`import` blocks](/terraform/language/import), and the [`replace` option](/terraform/enterprise/run/modes-and-options#replacing-selected-resources) allow you to accomplish these tasks using the usual plan and apply workflow. However, if the Terraform version you're using doesn't support these features, you may need to fall back to manual state manipulation. + +Manual state manipulation in HCP Terraform workspaces, with the exception of [rolling back to a previous state version](#rolling-back-to-a-previous-state), requires the use of Terraform CLI, using the same commands as would be used in a local workflow (`terraform import`, `terraform taint`, etc.). To manipulate state, you must configure the [CLI integration](/terraform/cli/cloud) and authenticate with a user token that has permission to read and write state versions for the relevant workspace. ([More about permissions.](/terraform/enterprise/users-teams-organizations/permissions)) + +### Rolling Back to a Previous State + +You can rollback to a previous, known good state version using the HCP Terraform UI. Navigate to the state you want to rollback to and click the **Advanced** toggle button. This option requires that you have access to create new state and that you lock the workspace. It works by duplicating the state that you specify and making it the workspace's current state version. The workspace remains locked. To undo the rollback operation, rollback to the state version that was previously the latest state. + +-> **Note:** You can rollback to any prior state, but you should use caution because replacing state improperly can result in orphaned or duplicated infrastructure resources. This feature is provided as a convenient alternative to manually downloading older state and using state manipulation commands in the CLI to push it to HCP Terraform. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Accessing State from Other Workspaces + +-> **Note:** Provider-specific [data sources](/terraform/language/data-sources) are usually the most resilient way to share information between separate Terraform configurations. `terraform_remote_state` is more flexible, but we recommend using specialized data sources whenever it is convenient to do so. + +Terraform's built-in [`terraform_remote_state` data source](/terraform/language/state/remote-state-data) lets you share arbitrary information between configurations via root module [outputs](/terraform/language/values/outputs). + +HCP Terraform automatically manages API credentials for `terraform_remote_state` access during [runs managed by HCP Terraform](/terraform/enterprise/run/remote-operations#remote-operations). This means you do not usually need to include an API token in a `terraform_remote_state` data source's configuration. + +## Upgrading State + +You can upgrade a workspace's state version to a new Terraform version without making any configuration changes. To upgrade, we recommend the following steps: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the workspace you want to upgrade. +2. Run a [speculative plan](/terraform/enterprise/run/ui#testing-terraform-upgrades-with-speculative-plans) to test whether your configuration is compatible with the new Terraform version. You can run speculative plans with a Terraform version that is different than the one currently selected for the workspace. +3. Select **Settings > General** and select the desired new **Terraform Version**. +4. Click **+ New run** and then select **Allow empty apply** as the run type. An [empty apply](/terraform/enterprise/run/modes-and-options#allow-empty-apply) allows Terraform to apply a plan that produces no infrastructure changes. Terraform upgrades the state file version during the apply process. + +-> **Note:** If the desired Terraform version is incompatible with a workspace's existing state version, the run fails and HCP Terraform prompts you to run an apply with a compatible version first. Refer to the [Terraform upgrade guides](/terraform/language/upgrade-guides) for details about upgrading between versions. + +### Remote State Access Controls + +Remote state access between workspaces is subject to access controls: + +- Only workspaces within the same organization can access each other's state. +- The workspace whose state is being read must be configured to allow that access. State access permissions are configured on a workspace's [general settings page](/terraform/enterprise/workspaces/settings). There are two ways a workspace can allow access: + - Globally, to all workspaces within the same organization. + - Selectively, to a list of specific approved workspaces. + +By default, new workspaces in HCP Terraform do not allow other workspaces to access their state. We recommend that you follow the principle of least privilege and only enable state access between workspaces that specifically need information from each other. + +-> **Note:** The default access permissions for new workspaces in HCP Terraform changed in April 2021. Workspaces created before this change defaulted to allowing global access within their organization. These workspaces can be changed to more restrictive access at any time on their [general settings page](/terraform/enterprise/workspaces/settings). Terraform Enterprise administrators can choose whether new workspaces on their instances default to global access or selective access. + +### Data Source Configuration + +To configure a `tfe_outputs` data source that references an HCP Terraform workspace, specify the organization and workspace in the `config` argument. + +You must still properly configure the `tfe` provider with a valid authentication token and correct permissions to HCP Terraform. + +```hcl +data "tfe_outputs" "vpc" { + config = { + organization = "example_corp" + workspaces = { + name = "vpc-prod" + } + } +} + +resource "aws_instance" "redis_server" { + # Terraform 0.12 and later: use the "outputs." attribute + subnet_id = data.tfe_outputs.vpc.outputs.subnet_id +} +``` + +-> **Note:** Remote state access controls do not apply when using the `tfe_outputs` data source. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/tags.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/tags.mdx new file mode 100644 index 0000000000..6617ddc9be --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/tags.mdx @@ -0,0 +1,94 @@ +--- +page_title: Create workspace tags +description: >- + Learn how to create tags for your workspaces so that you can organize + workspaces. Tagging workspaces also lets you sort and filter workspaces in the + UI. +source: terraform-docs-common +--- + +# Create workspace tags + +This topic describes how to create and attach tags to your workspaces. + +## Overview + +Tagging workspaces helps organization administrators organize, sort, and filter workspaces so that they can track resource consumption. For example, you could add a `cost-center` tag so that administrators can sort workspaces according to cost center. + +HCP Terraform stores tags as key-value pairs or as key-only tags. Key-only tags enable you to associate a single Terraform configuration file with several workspaces according to tag. Refer to the following topics in the Terraform CLI and configuration language documentation for additional information: + +- [`terraform{}.cloud{}.workspaces` reference](/terraform/language/terraform#terraform-cloud-workspaces) +- [Define connection settings](/terraform/cli/cloud/settings#define-connection-settings) + +### Reserved tags + +You can reserve a set of tag keys for each organization. Reserved tag keys appear as suggestions when people create tags for projects and workspaces so that you can use consistent terms for tags. Refer to [Create and manage reserved tags](/terraform/enterprise/users-teams-organizations/organizations/manage-reserved-tags) for additional information. + +### Single-value tags + +Your system may contain single-value tags created using Terraform v1.10 and older. You can migrate existing single-value tags to the key-value scheme. Refer to [Migrate single-value tags](#migrate-single-value-tags) for instructions. + +## Requirements + +- You must be member of a team with the **Write** permission group enabled for the workspace to create tags for a workspace. +- You must be member of a team with the **Admin** permission group enabled for the workspace to delete tags on a workspace. + +You cannot create tags for a workspace using the CLI. + +## Define tags + +1. Open your workspace. + +2. Click either the count link for the **Tags** label or **Manage Tags** in the **Tags** card on the right-sidebar to open the **Manage workspace tags** drawer. + +3. Click **+Add tag** and perform one of the following actions: + + - Specify a key-value pair: Lets you sort, filter, and search on either key or value. + - Specify a tag key and leave the **Value** field empty: Lets you sort, filter, and search on only the key name. + - Choose a reserved key from the suggested tag key list and specify a value: Ensures that you are using the key name consistently and lets you sort, filter, and search on either key or value. + - Choose a reserved key from the suggested tag key list and leave the **Value** field empty: Ensures that you are using the key name consistently and lets you sort, filter, and search on only the key name. + + Refer to [Tag syntax](#Tag-syntax) for information about supported characters. + +4. Tags inherited from the project appear in the **Inherited Tags** section. You can attach new key-value pairs to their projects to override inherited tags. Refer to [Manage projects](/terraform/enterprise/projects/manage) for additional information about using tags in projects. + + You cannot override reserved tag keys when the **Disable overrides** option is enabled. Refer to [Create and manage reserved tags](/terraform/enterprise/users-teams-organizations/organizations/manage-reserved-tags) for additional information. + + You can also click on tag links in the **Inherited Tags** section to view workspaces that use the same tag. + +5. Click **Save**. + +Tags that you create appear in the tags management screen in the organization settings. Refer to [Organizations](/terraform/enterprise/users-teams-organizations/organizations) for additional information. + +## Update tags + +1. Open your workspace. +2. Click either the count link for the **Tags** label or **Manage Tags** in the **Tags** card on the right-sidebar to open the **Manage workspace tags** drawer. +3. In the **Tags applied to this resource** section, modify a key, value, or both and click **Save**. + +## Migrate single-value tags + +You can use the API to convert existing single-value tags to key-value tags. You must have permissions in the workspace to perform the following task. Refer to [Requirements](#requirements) for additional information. + +Terraform v1.10 and older adds single-value workspace tags defined in the associated Terraform configuration to workspaces selected by the configuration. As result, your workspace may include duplicate tags. Refer to the [Terraform reference documentation](/terraform/language/terraform#terraform-cloud-workspaces) for additional information. + +### Re-create existing workspace tags as resource tags + +1. Send a `GET` request to the [`/organizations/:organization_name/tags`](/terraform/enterprise/api-docs/organization-tags#list-tags) endpoint to request all workspaces for your organization. The response may span several pages. +2. For each workspace, check the `tag-names` attribute for existing tags. +3. Send a `PATCH` request to the [`/workspaces/:workspace_id`](/terraform/enterprise/api-docs/workspaces#update-a-workspace) endpoint and include the `tag-binding` relationship in the request body for each workspace tag. + +### Delete single-value workspace tags + +1. Send a `GET` request to the [`/organizations/:organization_name/tags`](/terraform/enterprise/api-docs/organization-tags#list-tags) endpoint to request all workspaces for your organization. +2. Enumerate the external IDs for all tags. +3. Send a `DELETE` request to the [`/organizations/:organization_name/tags`](/terraform/enterprise/api-docs/organization-tags#delete-tags) endpoint to delete tags. + +## Tag syntax + +The following rules apply to tags: + +- Tags must be one or more characters. +- Tags have a 255 character limit. +- Tags can include letters, numbers, colons, hyphens, and underscores. +- For tags stored as key-value pairs, tag values are optional. diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/index.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/index.mdx new file mode 100644 index 0000000000..22c1581891 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/index.mdx @@ -0,0 +1,237 @@ +--- +page_title: Workspace variables in Terraform Enterprise +description: >- + Terraform Enterprise workspaces allow you to customize Terraform runs. Learn + how to use Terraform variables and environment variables. +source: terraform-docs-common +--- + +# Workspace variables + +HCP Terraform workspace variables let you customize configurations, modify Terraform's behavior, setup [dynamic provider credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials), and store information like static provider credentials. + +You can set variables specifically for each workspace or you can create variable sets to reuse the same variables across multiple workspaces. For example, you could define a variable set of provider credentials and automatically apply it to all of the workspaces using that provider. You can use the command line to specify variable values for each plan or apply. Otherwise, HCP Terraform applies workspace variables to all runs within that workspace. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +## Types + +You can create both environment variables and Terraform variables in HCP Terraform. + +> **Hands-on:** Try the [Create and Use a Variable Sets](/terraform/tutorials/cloud-get-started/cloud-create-variable-set) and [Create Infrastructure](/terraform/tutorials/cloud-get-started/cloud-workspace-configure) tutorials to set environment and Terraform variables in HCP Terraform. + +### Environment variables + +HCP Terraform performs Terraform runs on disposable Linux worker VMs using a POSIX-compatible shell. Before running Terraform operations, HCP Terraform uses the `export` command to populate the shell with environment variables. + +Environment variables can store provider credentials and other data. Refer to your provider's Terraform Registry documentation for a full list of supported shell environment variables (e.g., authentication variables for [AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables), [Google Cloud Platform](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/getting_started#adding-credentials), and [Azure](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs#argument-reference)). Environment variables can also [modify Terraform's behavior](/terraform/cli/config/environment-variables). For example, `TF_LOG` enables detailed logs for debugging. + +#### Parallelism + +You can use the `TFE_PARALLELISM` environment variable when your infrastructure providers produce errors on concurrent operations or use non-standard rate limiting. The `TFE_PARALLELISM` variable sets the `-parallelism=` flag for `terraform plan` and `terraform apply` ([more about `parallelism`](/terraform/internals/graph#walking-the-graph)). Valid values are between 1 and 256, inclusive, and the default is `10`. HCP Terraform agents do not support `TFE_PARALLELISM`, but you can specify flags as environment variables directly via [`TF_CLI_ARGS_name`](/terraform/cli/config/environment-variables#tf-cli-args). In these cases, use `TF_CLI_ARGS_plan="-parallelism="` or `TF_CLI_ARGS_apply="-parallelism="` instead. + +!> **Warning:** We recommend reading and understanding [Terraform parallelism](https://support.hashicorp.com/hc/en-us/articles/10348130482451) prior to setting `TFE_PARALLELISM`. You can also contact HashiCorp support for direct advice. + +#### Dynamic credentials + +You can configure [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials) for certain providers using environment variables [at the workspace level](/terraform/enterprise/workspaces/variables/managing-variables#workspace-specific-variables) or using [variable sets](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets). + +Dynamic credentials allows for using temporary per-run credentials and eliminates the need to manually rotate secrets. + +### Terraform variables + +Terraform variables refer to [input variables](/terraform/language/values/variables) that define parameters without hardcoding them into the configuration. For example, you could create variables that let users specify the number and type of Amazon Web Services EC2 instances they want to provision with a Terraform module. + +```hcl +variable "instance_count" { + description = "Number of instances to provision." + type = number + default = 2 +} +``` + +You can then reference this variable in your configuration. + +```hcl +module "ec2_instances" { + source = "./modules/aws-instance" + + instance_count = var.instance_count + ## ... +} +``` + +If a required input variable is missing, Terraform plans in the workspace will fail and print an explanation in the log. + +## Scope + +Each environment and Terraform variable can have one of the following scopes: + +| Scope | Description | Resources | +| ----------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Run-Specific | Apply to a specific run within a single workspace. | [Specify Run-Specific Variables](/terraform/enterprise/workspaces/variables/managing-variables#run-specific-variables) | +| Workspace-Specific | Apply to a single workspace. | [Create Workspace-Specific Variables](/terraform/enterprise/workspaces/variables/managing-variables#workspace-specific-variables), [Loading Variables from Files](/terraform/enterprise/workspaces/variables/managing-variables#loading-variables-from-files), [Workspace-Specific Variables API](/terraform/enterprise/api-docs/workspace-variables). | +| Workspace-Scoped Variable Set | Apply to multiple workspaces within the same organization. | [Create Variable Sets](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets) and [Variable Sets API](/terraform/enterprise/api-docs/variable-sets) | +| Project-Scoped Variable Set | Automatically applied to all current and future workspaces within a project. | [Create Variable Sets](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets) and [Variable Sets API](/terraform/enterprise/api-docs/variable-sets) | +| Global Variable Set | Automatically applied to all current and future workspaces within an organization. | [Create Variable Sets](/terraform/enterprise/workspaces/variables/managing-variables#variable-sets) and [Variable Sets API](/terraform/enterprise/api-docs/variable-sets) | + +## Variable set ownership + +Projects and organizations can both own variable sets. The owner of a variable set can determine the precedence of that set. + +Use organization-owned variable sets to share variables across multiple projects. Managing organization-owned variable sets [requires a higher permission level](/terraform/enterprise/workspaces/variables/managing-variables#permissions) because you can apply these sets to any project in your organization. + +Use project-owned variable sets to share variables across multiple workspaces within a single project. Project-owned variable sets only require permissions on the project itself, rather than organization-level permissions. + +Refer to [**Manage variable sets**](/terraform/enterprise/workspaces/variables/managing-variables#permissions) for more details on variable set permissions. + +## Precedence + +> **Hands On:** The [Manage Multiple Variable Sets in HCP Terraform](/terraform/tutorials/cloud/cloud-multiple-variable-sets) tutorial shows how to manage multiple variable sets and demonstrates variable precedence. + +There may be cases when a workspace contains conflicting variables of the same type with the same key. HCP Terraform marks overwritten variables in the UI. + +HCP Terraform prioritizes and overwrites conflicting variables according to the following precedence: + +### 1. Priority global variable sets + +If [prioritized](/terraform/enterprise/workspaces/variables#precedence-with-priority-variable-sets), variables in a global variable set have precedence over all other variables with the same key. + +### 2. Priority project-scoped variable set owned by an organization + +If [prioritized](/terraform/enterprise/workspaces/variables#precedence-with-priority-variable-sets), variables in a priority project-scoped variable set have precedence over variables with the same key set at a more specific scope. Prioritized variables sets owned by organizations take precedence over priority variable sets owned by projects. + +### 3. Priority workspace-scoped variable set owned by an organization + +If [prioritized](/terraform/enterprise/workspaces/variables#precedence-with-priority-variable-sets), variables in an organization-owned variable set scoped to a workspace have precedence over variables with the same key set at a more specific scope. Prioritized variables sets owned by organizations take precedence over sets owned by projects. + +### 4. Priority project-scoped variable set owned by a project + +If [prioritized](/terraform/enterprise/workspaces/variables#precedence-with-priority-variable-sets), variables in a priority project-scoped variable set have precedence over variables with the same key set at a more specific scope. + +### 5. Priority workspace-scoped variable set owned by a project + +If [prioritized](/terraform/enterprise/workspaces/variables#precedence-with-priority-variable-sets), variables in a priority workspace-scoped variable set have precedence over variables with the same key set at a more specific scope. + +### 6. Command line argument variables + +When using a CLI workflow, variables applied to a run with either `-var` or `-var-file` overwrite workspace-specific and variable set variables that have the same key. + +### 7. Local environment variables prefixed with `TF_VAR_` + +When using a CLI workflow, local environment variables prefixed with `TF_VAR_` (e.g., `TF_VAR_replicas`) overwrite workspace-specific, variable set, and `.auto.tfvars` file variables that have the same key. + +### 8. Workspace-specific variables + +Workspace-specific variables always overwrite variables from variable sets that have the same key. Refer to [overwrite variables from variable sets](/terraform/enterprise/workspaces/variables/managing-variables#overwrite-variable-sets) for details. + +### 9. Workspace-scoped variable owned by a project + +Variables in workspace-scoped variable sets are only applied to a subset of workspaces in a project. + +When workspace-scoped variable sets have conflicting variables, HCP Terraform compares the variable set names and uses values from the variable set with lexical precedence. Terraform and HCP Terraform operate on UTF-8 strings, and HCP Terraform sorts variable set names based on the lexical order of Unicode code points. + +For example, if you apply `A_Variable_Set` and `B_Variable_Set` to the same workspace, HCP Terraform will use any conflicting variables from `A_Variable_Set`. This is the case regardless of which variable set has been edited most recently. HCP Terraform only considers the lexical ordering of variable set names when determining precedence. + +Variables sets scoped to workspaces that are owned by projects take precedence over sets with the same scope that are owned by organizations. + +### 10. Project-scoped variable set owned by a project + +Variables in project-scoped variable sets are only applied to the workspaces within the specified projects. + +When project-scoped variable sets have conflicting variables, HCP Terraform compares the variable set names and uses values from the variable set with lexical precedence. Terraform and HCP Terraform operate on UTF-8 strings, and HCP Terraform sorts variable set names based the on lexical order of Unicode code points. + +For example, if you apply `A_Variable_Set` and `B_Variable_Set` to the same project, HCP Terraform uses any conflicting variables from `A_Variable_Set`. This is the case regardless of which variable set has been edited most recently. HCP Terraform only considers the lexical ordering of variable set names when determining precedence. + +Variables sets owned by projects take precedence over those owned by organizations. + +### 11. Workspace-scoped variable set owned by an organization + +Variables in workspace-scoped variable sets are only applied to the specified workspaces in an organization. + +When workspace-scoped variable sets have conflicting variables, HCP Terraform compares the variable set names and uses values from the variable set with lexical precedence. Terraform and HCP Terraform operate on UTF-8 strings, and HCP Terraform sorts variable set names based on the lexical order of Unicode code points. + +For example, if you apply `A_Variable_Set` and `B_Variable_Set` to the same workspace, HCP Terraform will use any conflicting variables from `A_Variable_Set`. This is the case regardless of which variable set has been edited most recently. HCP Terraform only considers the lexical ordering of variable set names when determining precedence. + +### 12. Project-scoped variable set owned by an organization + +Variables in project-scoped variable sets are only applied to the workspaces within the specified projects. + +When project-scoped variable sets have conflicting variables, HCP Terraform compares the variable set names and uses values from the variable set with lexical precedence. Terraform and HCP Terraform operate on UTF-8 strings, and HCP Terraform sorts variable set names based the on lexical order of Unicode code points. + +For example, if you apply `A_Variable_Set` and `B_Variable_Set` to the same project, HCP Terraform uses any conflicting variables from `A_Variable_Set`. This is the case regardless of which variable set has been edited most recently. HCP Terraform only considers the lexical ordering of variable set names when determining precedence. + +### 13. Global variable sets + +Workspace and project-scoped variable sets always take precedence over global variable sets that are applied to all workspaces within an organization. Terraform does not allow global variable sets to contain variables with the same key, so they cannot conflict. + +### 14. `*.auto.tfvars` variable files + +Variables in the HCP Terraform workspace and variables provided through the command line always overwrite variables with the same key from files ending in `.auto.tfvars`. + +### 15. `terraform.tfvars` variable file + +Variables in the `.auto.tfvars` files take precedence over variables in the `terraform.tfvars` file. + + + +Although HCP Terraform uses variables from `terraform.tfvars`, Terraform Enterprise currently ignores this file. + + + +## Precedence with priority variable sets + +You can select to prioritize all values of the variables in a variable set. +When a variable set is priority, the values take precedence over any variables with the same key set at a more specific scope. + +For example, variables in a priority global variable set would take precedence over all variables with the same key. + +If two priority variable sets with the same scope and ownership include the same variable key, HCP Terraform will determine precedence by the alphabetical order of the variable sets' names. + +While a priority variable set can enforce that Terraform variables use designated values, it does not guarantee that the configuration uses the variable. A user can still directly modify the Terraform configuration to remove usage of a variable and replace it with a hard-coded value. For stricter enforcement, we recommend using policy checks or run tasks. + +## Precedence example + +Consider an example workspace that has the following different kinds of variables and variable sets: + +| Source | Priority | Ownership | Scope | +| ------------------------------------------------------------- | -------- | ------------ | --------- | +| Priority **global** variable set | true | organization | global | +| Priority organization-owned **project-scoped** variable set | true | organization | project | +| Priority organization-owned **workspace-scoped** variable set | true | organization | workspace | +| Priority project-owned **project-scoped** variable set | true | project | project | +| Priority project-owned **workspace-scoped** variable set | true | project | workspace | +| Command line argument | N/A | N/A | run | +| Local environment variable | N/A | N/A | workspace | +| **Workspace-specific** variable | N/A | N/A | workspace | +| Project-owned **workspace-scoped** variable set | false | project | workspace | +| Project-owned **project-scoped** variable set | false | project | project | +| Organization-owned **workspace-scoped** variable set | false | organization | workspace | +| Organization-owned **project-scoped** variable set | false | organization | project | +| **Global** variable set | false | organization | global | + +If these variables and variable sets had the following variables applied: + +| Source (priority/ownership/scope) | Region | Var1 | Replicas | +| ------------------------------------------------------------- | ----------- | ---- | -------- | +| Priority **global** variable set | `us-east-1` | | | +| Priority organization-owned **project-scoped** variable set | `us-east-2` | | | +| Priority organization-owned **workspace-scoped** variable set | `us-west-1` | | | +| Priority project-owned **project-scoped** variable set | `eu-east-2` | | | +| Priority project-owned **workspace-scoped** variable set | `eu-west-1` | | | +| Command line argument | `us-west-2` | | `9` | +| Local environment variable | | | `8` | +| **Workspace-specific** variable | | `h` | `1` | +| Project-owned **workspace-scoped** variable set | | `y` | `2` | +| Project-owned **project-scoped** variable set | | | `4` | +| Organization-owned **workspace-scoped** variable set | | `z` | `3` | +| Organization-owned **project-scoped** variable set | | | `5` | +| **Global** variable set | | | `6` | + +When you trigger a run through the command line, these are the final values HCP Terraform assigns to each variable: + +| Variable | Value | +| -------- | ----------- | +| Region | `us-east-1` | +| Var1 | `h` | +| Replicas | `9` | diff --git a/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/managing-variables.mdx b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/managing-variables.mdx new file mode 100644 index 0000000000..78dd91d594 --- /dev/null +++ b/content/ptfe-releases/v000011-1/docs/enterprise/workspaces/variables/managing-variables.mdx @@ -0,0 +1,248 @@ +--- +page_title: Manage variables and variable sets in Terraform Enterprise +description: >- + Use workspace variables and variable sets to customize Terraform Enterprise + runs. +source: terraform-docs-common +--- + +# Manage variables and variable sets + +You can set variables specifically for each workspace or you can create variable sets to reuse the same variables across multiple workspaces. Refer to the [variables overview](/terraform/enterprise/workspaces/variables) documentation for more information about variable types, scope, and precedence. You can also set variable values specifically for each run on the command line. + +You can create and edit workspace-specific variables through: + +- The HCP Terraform UI, as detailed below. +- The Variables API for [workspace-specific variables](/terraform/enterprise/api-docs/workspace-variables) and [variable sets](/terraform/enterprise/api-docs/variable-sets). +- The `tfe` provider's [`tfe_variable`](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/variable) resource, which can be more convenient for bulk management. + +## Permissions + +You must have [**Read variables** permission](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) to view the variables for a particular workspace and to view the variable sets in your organization. To create or edit workspace-specific variables within a workspace, you must have [**Read and write variables**](/terraform/enterprise/users-teams-organizations/permissions#general-workspace-permissions) for that workspace. + +To create, update, or delete organization-owned variable sets, you must be one of the following: + +- A member of the [owners team](/terraform/enterprise/users-teams-organizations/permissions#organization-owners) +- A member of a team with [**Manage all projects**](/terraform/enterprise/users-teams-organizations/permissions#manage-all-projects) +- A member of a team with [**Manage all workspaces**](/terraform/enterprise/users-teams-organizations/permissions#manage-all-workspaces) + +To create, edit, or apply project-owned variable sets, you must be part of a team with one of the following: + +- **Write** project permissions +- **Maintain** project permissions +- **Admin** project permissions +- [**Manage variable sets**](/terraform/enterprise/users-teams-organizations/permissions#general-project-permissions) project permissions +- [**Manage all projects**](/terraform/enterprise/users-teams-organizations/permissions#manage-all-projects) organization permissions + +## Run-Specific Variables + +Terraform 1.1 and later lets you set [Terraform variable](/terraform/enterprise/workspaces/variables#terraform-variables) values for a particular plan or apply on the command line. These variable values will overwrite workspace-specific and variable set variables with the same key. Refer to the [variable precedence](/terraform/enterprise/workspaces/variables#precedence) documentation for more details. + +You can set run-specific Terraform variable values by: + +- Specifying `-var` and `-var-file` arguments. For example: + + terraform apply -var="key=value" -var-file="testing.tfvars" +- Creating local environment variables prefixed with `TF_VAR_`. For example, if you declare a variable called `replicas` in your configuration, you could create a local environment variable called `TF_VAR_replicas` and set it to a particular value. When you use the [CLI Workflow](/terraform/enterprise/run/cli), Terraform automatically identifies these environment variables and applies their values to the run. + +Refer to the [variables on the command line](/terraform/language/values/variables#variables-on-the-command-line) documentation for more details and examples. + +## Workspace-Specific Variables + +To view and manage a workspace's variables, go to the workspace and click the **Variables** tab. + +The **Variables** page appears, showing all workspace-specific variables and variable sets applied to the workspace. This is where you can add, edit, and delete workspace-specific variables. You can also apply and remove variable sets from the workspace. + +The **Variables** page is not available for workspaces configured with `Local` [execution mode](/terraform/enterprise/workspaces/settings#execution-mode). HCP Terraform does not evaluate workspace variables or variable sets in local execution mode. + +### Add a Variable + +To add a variable: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and select the workspace you want to define a variable for. + +2. Go to the workspace **Variables** page and click **+ Add variable** in the **Workspace Variables** section. + +3. Choose a variable category (Terraform or environment), optionally mark the variable as [sensitive](#sensitive-values), and enter a variable key, value, and optional description. For Terraform variables only, you can check the **HCL** checkbox to enter a value in HashiCorp Configuration Language. + + Refer to [variable values and format](#variable-values-and-format) for variable limits, allowable values, and formatting. + +4. Click **Save variable**. The variable now appears in the list of the workspace's variables and HCP Terraform will apply it to runs. + +### Edit a Variable + +To edit a variable: + +1. Click the ellipses next to the variable you want to edit and select **Edit**. +2. Make any desired changes and click **Save variable**. + +### Delete a Variable + +To delete a variable: + +1. Click the ellipses next to the variable you want to delete and select **Delete**. +2. Click **Yes, delete variable** to confirm your action. + +## Loading Variables from Files + +You can set [Terraform variable](/terraform/enterprise/workspaces/variables#terraform-variables) values by providing any number of [files ending in `.auto.tfvars`](/terraform/language/values/variables#variable-files) to workspaces that use Terraform 0.10.0 or later. When you trigger a run, Terraform automatically loads and uses the variables defined in these files. If any variable from the workspace has the same key as a variable in the file, the workspace variable overwrites variable from the file. + +You can only do this with files ending in `auto.tfvars` or `terraform.tfvars`. You can apply other types of `.tfvars` files [using the command line](#run-specific-variables) for each run. + +~> **Note:** HCP Terraform loads variables from files ending in `auto.tfvars` for each Terraform run, but does not automatically persist those variables to the HCP Terraform workspace or display them in the **Variables** section of the workspace UI. + +## Variable Sets + +> **Hands On:** Try the [Manage Variable Sets in HCP Terraform tutorial](/terraform/tutorials/cloud/cloud-multiple-variable-sets) tutorial. + +Variable sets are reusable collections of variables that you can apply to multiple workspaces. You can create variable sets under an organization or a project. Whether the variable set is owned by an organization or a project determines the permissions required to manage that set. Learn more about [variable set permissions](#permissions). + +HCP Terraform does not evaluate variable sets during Terraform runs for workspaces configured with `Local` [execution mode](/terraform/enterprise/workspaces/settings#execution-mode). + +Organizations or projects can own variable sets. To view variable sets, click **Settings** in your organization or project, then click **Variable sets**. + +The **Variable sets** page lists all of the organization's or project's variable sets. Click on a variable set to open it and review details about its variables and scoping. + +### Create Variable Sets + +To create a variable set: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the **Settings** page for your organization or project. + +2. Click **Variable Sets**. + +3. Click **Create variable set**. + +4. Choose a descriptive **Name** for the variable set. You can use any combination of numbers, letters, and characters. + +5. Write an optional **Description** that tells other users about the purpose of the variable set and what it contains. + +6. Choose a variable set scope: + - Organization-owned + - **Apply globally:** HCP Terraform automatically applies this global variable set to all existing and future workspaces. + - **Apply to specific projects and workspaces:** Use the text fields to search for and select workspaces and projects to apply this variable set to. This affects all current and future workspaces for any selected projects. After creation, users can also [add this variable set to their workspaces](#apply-or-remove-variable-sets-from-inside-a-workspace). + - Project-owned + - **Apply to the entire project:** HCP Terraform automatically applies this variable set to all existing and future workspaces in the project. + - **Apply to specific workspaces in the project:** Use the text fields to search for and select workspaces to apply this variable set to. After creation, users can also [add this variable set to their workspaces](#apply-or-remove-variable-sets-from-inside-a-workspace). + +7. Add one or more variables: Click **+ Add variable**, choose a variable type (Terraform or environment), optionally mark the variable as [sensitive](#sensitive-values), and enter a variable name, value, and optional description. Then, click **Save variable**. + + Refer to [variable values and format](#variable-values-and-format) for variable limits, allowable values, and formatting. + + ~> **Note:** HCP Terraform will error if you try to declare variables with the same key in multiple global variable sets. + +8. Click **Create variable set.** HCP Terraform adds the new variable set to any specified workspaces and displays it on the **Variable Sets** page. + +### Edit Variable Sets + +To edit or remove a variable set: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the **Settings** page for your organization or project. + +2. Click **Variable Sets**. + +3. Select the variable set you want to edit. That specific variable set page appears, where you can change the variable set settings. Refer to [create variable sets](#create-variable-sets) for details. + +### Delete Variable Sets + +Deleting a variable set can be a disruptive action, especially if the variables are required to execute runs. We recommend informing organization, project, and workspace owners before removing a variable set. + +To delete a variable set: + +1. Sign in to [HCP Terraform](https://app.terraform.io/) or Terraform Enterprise and navigate to the **Settings** page for your organization or project. + +2. Click **Variable Sets**. + +3. Select **Delete variable set**. Enter the variable set name and click **Delete variable set** to confirm this action. HCP Terraform deletes the variable set and removes it from all workspaces. Runs within those workspaces will no longer use the variables from the variable set. + +### Apply or Remove Variable Sets From Inside a Workspace + +To apply a variable set to a specific workspace: + +1. Navigate to the workspace and click the **Variables** tab. The **Variables** page appears, showing all workspace-specific variables and variable sets applied to the workspace. + +2. In the **Variable sets** section, click **Apply Variable Set**. Select the variable set you want to apply to your workspace, and click **Apply variable set**. The variable set appears in the workspace's variable sets list and HCP Terraform will now apply the variables to runs. + +To remove a variable set from within a workspace: + +1. Navigate to the workspace and click the **Variables** tab. The **Variables** page appears, showing all workspace-specific variables and variable sets applied to the workspace. +2. Click the ellipses button next to the variable set and select **Remove variable set**. +3. Click **Remove variable set** in the dialog box. HCP Terraform removes the variable set from this workspace, but it remains available to other workspaces in the organization. + +## Overwrite Variable Sets + +You can overwrite variables defined in variable sets within a workspace. For example, you may want to use a different set of provider credentials in a specific workspace. + +To overwrite a variable from a variable set, [create a new workspace-specific variable](#workspace-specific-variables) of the same type with the same key. HCP Terraform marks any variables that you overwrite with a yellow **OVERWRITTEN** flag. When you click the overwritten variable, HCP Terraform highlights the variable it will use during runs. + +Variables within a variable set can also automatically overwrite variables with the same key in other variable sets applied to the same workspace. Though variable sets are created for the organization or project, these overwrites occur within each workspace. Refer to [variable precedence](/terraform/enterprise/workspaces/variables#precedence) for more details. + +## Priority Variable Sets + +The values in priority variable sets overwrite any variables with the same key set at more specific scopes. This includes variables set using command line flags, or through`.*auto.tfvars` and `terraform.tfvars` files. + +It is still possible for a user to directly modify the Terraform configuration and remove usage of a variable and replace it with a hard coded value. For stricter enforcement, we recommend using policy checks or run tasks. +Refer to [variable precedence](/terraform/enterprise/workspaces/variables#precedence-with-priority-variable-sets) for more details. + +## Variable Values and Format + +The limits, allowable values, and required format are the same for both workspace-specific variables and variable sets. + +### Security + +HCP Terraform encrypts all variable values securely using [Vault's transit backend](/vault/docs/secrets/transit) prior to saving them. This ensures that no out-of-band party can read these values without proper authorization. However, HCP Terraform stores variable [descriptions](#variable-description) in plain text, so be careful with the information you save in a variable description. + +We also recommend passing credentials to Terraform as environment variables instead of Terraform variables when possible, since Terraform runs receive the full text of all Terraform variable values, including [sensitive](#sensitive-values) ones. It may print the values in logs and state files if the configuration sends the value to an output or a resource parameter. Sentinel mocks downloaded from runs will also contain the sensitive values of Terraform variables. + +Although HCP Terraform does not store environment variables in state, it can include them in log files if `TF_LOG` is set to `TRACE`. + +#### Dynamic Credentials + +An alternative to passing static credentials for some providers is to use [dynamic credentials](/terraform/enterprise/workspaces/dynamic-provider-credentials). + +Dynamic credentials allows for using temporary per-run credentials and eliminates the need to manually rotate secrets. + +### Character Limits + +The following limits apply to variables: + +| Component | Limit | +| ----------- | -------------- | +| description | 512 characters | +| key | 128 characters | +| value | 256 kilobytes | + +### Multi-Line Text + +You can type or paste multi-line text into variable value text fields. + +### HashiCorp Configuration Language (HCL) + +You can use HCL for Terraform variables, but not for environment variables. The same Terraform version that performs runs in the workspace will interpret the HCL. + +Variable values are strings by default. To enter list or map values, click the variable’s **HCL** checkbox (visible when editing) and enter the value with the same HCL syntax you would use when writing Terraform code. For example: + +```hcl +{ + us-east-1 = "image-1234" + us-west-2 = "image-4567" +} +``` + +### Sensitive Values + +!> **Warning:** There are some cases when even sensitive variables are included in logs and state files. Refer to [security](#security) for more information. + +Terraform often needs cloud provider credentials and other sensitive information that should not be widely available within your organization. To protect these secrets, you can mark any Terraform or environment variable as sensitive data by clicking its **Sensitive** checkbox that is visible during editing. + +Marking a variable as sensitive makes it write-only and prevents all users (including you) from viewing its value in the HCP Terraform UI or reading it through the Variables API endpoint. + +Users with permission to read and write variables can set new values for sensitive variables, but other attributes of a sensitive variable cannot be modified. To update other attributes, delete the variable and create a new variable to replace it. + +[permissions-citation]: #intentionally-unused---keep-for-maintainers + +### Variable Description + +!> **Warning:** Variable descriptions are not encrypted, so do not include any sensitive information. + +Variable descriptions are optional, and help distinguish between similarly named variables. They are only shown on the **Variables** page and are completely independent from any variable descriptions declared in Terraform CLI. diff --git a/content/ptfe-releases/v000011-1/img/docs/ado-required-status-check.png b/content/ptfe-releases/v000011-1/img/docs/ado-required-status-check.png new file mode 100644 index 0000000000000000000000000000000000000000..0a584d490c582308038d283ca5f97441ef642244 GIT binary patch literal 232272 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�j^2O8P#*q!fO`bwhF(9qqlVXT$bx_x#H23 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%0De)u$$zVfSzgq2V4Z*vh0 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

-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%0D^V^qCy0NA&GkZ$Me4gkd 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 h(dJzH~DeP*tRt%1t-J15w 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%0A1f3FhvDu0jnm&B1NlotMsS?a-3eaP-<;@Qr#DRV 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 literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/azure-devops-services-oauth-policies.png b/content/ptfe-releases/v000011-1/img/docs/azure-devops-services-oauth-policies.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3221636a8fd721143bb092c7c969123133ec8d GIT binary patch literal 130401 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

lL+4URn(RJ`Whd; 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 YQsqa|HOX}>f&c&j literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/download-mocks.png b/content/ptfe-releases/v000011-1/img/docs/download-mocks.png new file mode 100644 index 0000000000000000000000000000000000000000..4963b475b70015d92f9453f795a9c30e3d3eebce GIT binary patch literal 56945 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

$rcK9W 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 R9kUO7>A(y$KB`#;{|CweO6C9n literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/json-viewer-intro.png b/content/ptfe-releases/v000011-1/img/docs/json-viewer-intro.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb364c55a3f186783fa80bdad23902f04fef037 GIT binary patch literal 61869 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 literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/organization-vcs-general-aggregated-status-checks.png b/content/ptfe-releases/v000011-1/img/docs/organization-vcs-general-aggregated-status-checks.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a82d0b26d7410f63408f7f0976101c66d0029e GIT binary patch literal 122466 zcmeFZWn5J6+BS@cq)LehNOw0#3lb_VNT*0iO81Dg(n!Z3NOw0#NH@|jLk=l-CGjPlW^JHQVOOTAZCs;U?qz%ecc<{c7@yMLMhe;8r57+8Nh z#=u|!zA-TFX5aZgSFGIx6{EfWgKW+zpNio>CxjBpT@_KrD@^}jJIJsE!@{5Uy@$w1q z3J7omEx2919o@{mxE);?|1RX8a^x*tEnIA!-E5s4>Hf$yf9K@xCdI(;r=$P+{C%8m zwpRbACr8(RObeJG@1HBY{5*WT|0Nr^Rr1eSadj74OQ7dJ@}>DD|JL&VI`@x$BzgaI z{@(`k_nH3fEHG7Rd`aH_S~h8X3X@eF42+(qU z4zcEEv!0Baaxr+ZogT=2wiTA4Fnou93)kuwR-v=3K)mZ?4ZeL-Q#(`NW;-h%*yxf3 za@04=I%}sK`1rIm7ZkutTyM{1?689{u;?)E;6BH|B>MDk4iyy5G8yc6M?(HhyZdG-|L8@Y^z^Td{y*~n{YL+1{r|P9{%3vuvp)ah zDf*B7`PZiUKkM_K_4zLc{U7`JAN%?Lul)@CKnKK?Iao90#&$EM`gQ@gm*j|{ijEX$ z0BZUA7Iiog`9mJJv}RP?YT133AO6;GthD3S$13PSar*9biPA~jUkZ-1bMUVBK{Fi9 zBu{BEL!Ph9nu3Hmb<0FbbkQ~nBpqaOiNz|^Gsd3ATDiT7R_kfPDs>-h>WYUW^639t zwEX`#EZo2%Qq?{oeR(#d_8c>Uj8n&;v!}S4ToKO}&)%pezsT6v0v`2lxz>B&FAbIs z49MF^;ISl^417CN(^I|4iQA?*YW68DlOaH6d27Y1qWRsKA@4AG~ zTIsfP@(sc)GMC+a7OqiJn?2f*CzoC&+Z&G& zVCQdq+!=S6{z}3{)K3nGy<|{sx~F88N2bhGmlKigP$}!q`v~WA1YP2ZzDcEXoPLd! zLs#dn{zOl&j%1+hUr6ML*a$J<-}+>qVPkQm{jBJ?wMybOB`#82SM*8=f6iVIyijMS z5dFjThik}R6&KDj7$neFsDX(_f%!QDE;|1_TX<(0FCUh!;r6#ET|C`>x?{AHVgA>4 zT@~2%c08?s5YmgYS<_(-sx(F$_tNCMaxPdA+QZeOfujoJZsl&HeE+Lr{?8q|Wcg&n z01amEki)wkYv#fwV9}=6wF$>BvmvHka_4aybvyWrf|vk7U^n&_I^5FRE{vJ$6sb zRo5KXeAlps2p1W$r$ql=pA{5<_0r5dShL#$wvL37`rIbAGA`nlzeL+7pjT zKk%=l?Xh<;!&zJ~;u!E_J{^8v*)k1aZynTRWDTrrz(X%xZcR3kM*O8M9DEK8iDIS7 z&YX1I48_}Vou)CcOYejY41}ExQ`{4m1%LOO2F1VMKW#B!M8!+&d9t#Y9q3y_=fus| z@}FFFBh((h{r5=3b7p41M#X16E6&XLk>l78z#Xux2+UZIzSrGEp z?!(>xsW<=2M76De(QqKZ&1;|EFFemTp7nW~;ovQ-zIEiZ>CPAZSLXSM;*O;1qj@~u zELalQjG_OO@VG}ecn?>O9pUmTV@NtQ) z*8C(c?()zngMY8%fV_K(*#?2rVY|<>*>JCkt1bSo?NgX=q{RCR+W9;?7I(!qCw3Iu zon0Ig6wcbt@Lp*m)0^`CU%2@ZCg5yBoF5mym>|{Yj|S%7vMq-3&#nBI0-k%5JQvc; zsug>T^^PRPpjyak^vjSA#jf5*w`T%>#UN4u-nj6-b%gk1>cH>ns_fgb)Gu&U`NLVh zlp9W({rd$3jKp-Y(N`NHtYX|dA$#LnkyJiu9>#Do`4Xlijm-BgH~v$f3rQ3ITW}Gs zZgzD_VYN_8VU@rVrCJc3{tFtH0R$ASUJ(>B0XapQHKFtG5YhQQXS)>p>Q?__5SGk* zPPcM`A5J}C4bT9=%!aw)TF2>}QiW<6V8VeM%78K@O4SLK785;jKGw}QPQJ2g$X(D) z@nT?0D&#P-#rgZXWE0`}T}%{M0YMSoTX_3)QoijJ3!ZK1b2_a*=1#_SeWW2(6#Dc{ zvt10$@`$jmsnv&>Ld~>Zxp}hUZ=EcL242 zPR3g4a~1;&qt!_}E2(h$V6duxb~anF#+~m?#KwaO_Pffv+?+KfrCe^+C#}&B^Z3&> z2Bsw|-@6Sq#9YEyswuh^2JwO$yY>hArr);MgR76?`PYYYenqTy+x?#FKV7Kz9lR;- z>K$u;Vh)7Z>Eqv6(uD-lJ$GYcd-1X8G=u?X$MzG^d=wW5>(ey#6<#b{oXMYvD0usl zn;?&dZ1MtAV*5A0^6;mx$=_PMx(K@Yt%@d&`Tx1#C(35~3w5v#T~nukOXg$dwe=VX z7Zx^`@{$K?S&@MZ3L8$f(KHGt}phufwsPG9pv?V?xUN?oVh6 zZGKm_H|?IF1>vPy(!`8eTR4GMY`+Ood37Gm5f10C` zj2jA1aw6*NKqBhWXP^7n=PvG^FW#MyC&C>fD(w1W!sZ4NHOwb0?kd~W`TTzA)YKY6 z8uBLQ4H1_Ymfvx(oW-7p8>;n9XN$ba@tbFV*I_z2v+Lkj#GUd$c&nN&;=thj>eKUl ztc_nimVkm$*Vl)aQ~nd5W=v#-Z0w6tZpUDX?hM{XjLDCsXAx z%W&~Xev``4WoEAlwv3c{r6bJS<^*<74O9Kv$2daBshhf$1saLGwsM<G}?+;{x!T$3<5TEh9P*CCI(XH3mNaUM}k(!-fw#Dy&tz zBzpF3Pwsmo8Eekf$Ls@?OY{SetCVPWD`1<39WuPFr-~+nj!T7s^S)!Z-s}=navkUZ zANlY?0XJwC-^UMcCV~&v3CMY(pQ^1*6+2#yGOz1iRyE8w0Tj{@&6R4a?{0 z6NN{c%o#vvd)?f)3v*g;@x!}MEjjN4(o0K@r4DBvL>jpW{r!>pq;7V)&42rD$1`~} z-B<9bGO6CD=Sf(8$)&5yiRI)khOh1?3^+?Jlu)1XL)rBVabJ#uQGNBL;a}yVPD;ko}~J?K?M}ctF0$$ zf{ao+uC9o9GhQ!|By*dtKKS;bvUc5Sf22x@`or$*7~1_wL%_xmZ=mf|ZVsMzob7y$ zZ2+Ol&b=4U$GTrYQT?rFqc|R2&rjPq%?;WeipfZ~z3FIYoLaIj*+fbNv~D_-H;=4) zBj*)3pE@t+_V9zp81yrZJU#;fgyNq7VjNb#azdiUM5?k;FZ?Zu0JD8I!ozrXOI|Wi zkAd7eMBpEh%seR@1;Y5f^@DM9qW*h<(rvzJ5u~h2Uv{Tm7bCHK8SZI+52k+s6%{PC zLuZ#YKzv}q>oE^m@{A6aeGQ$Qr80^%b3^kT3|o7Ho4z5h*f`Z%PKx2f@8AJ4RGjP- zc52UdXkoQlYJ5u6?p`7amFm&BHrXgzMSfT8Al)Q6Bxx zIF0oK6pb2ZN~~xIY~-u;xJG%!IxY*Al<8d?%GM6V0ZyC7)An2foe=h#u4_np@o=FJv80*bHP`fp$k{tB zwvSlKiLAJ&19ZGeo0T2pzGPX@F0!YxZ$>g?iyH~%o0q&<;*6^#>|7q~P7myo-5eTR zr+M0Nu)k0*a#Brpj-g$)(40SIH6Z2Kbn)n`^Uvw?-gD4WD3v1-xx^*leP90x9)Grg{QwD6yr1YsNV|w zN#)dLZ31$&NmbTii)lIZ@5um-7Ue5^wX)>lHTq;V1wsELRlMuCQyN01VndYsL`BfA zLq(w5^XrJH;0flN3P)-L+^HiK0Fcr~MYw0{-wz15E@s{xSz}fnGOF$RTG|jG?7B1& zmUp9GbaA4b#KVc;*CHDiAIph|k-qGbM0VN1M12EX%$pyAeXf|t$Xa_y^`@D#Jq36s zuw)7ktbi-D|Tf(6Kx3H=Qr`kbIFc1Z}ZpbNBkIW}jcn zkmje7mOW)(Fslw(q;cnFNy?Lf#QSY`jwZ4$Y0vRGOs6 z2;9RxnqiS}^j;hy>|7;a>cTmhy761xpD!;URS}ZB6-t0xSQ+Y`yOPFwt$l8ThybCV zR?XtX{&K2ZkykSA9rNi|W`Li<+qrVpYx6k^uC>?QcqqKrYjC&Kl44_eh{`|UVigB5 zA_|>*GQB;iyAZY7{cW3Xo1m)V1o!_O zc)jF#CxWH^upyH|xVh(dsb=@-ZXLHEv1^Q2E(tl8p3SX$Cnz4D<-_#Coc%(3=DgdK z$Bcp(fkeL)R3%GbS|v+zn#*{XM!OAufNJBTUT)x^)xDq)Zp62~J*}yDgU^yCyximZ zy)+pmW7q(#u^JPu*=L=9UT0-0eSIMa`=UImF0qn{rz4dvCA}>s_;K>LUJKb2!6mV2 zjE8{OZg|jMTTQa7ArI;1!`tW<+Ls(Dg^u8K2@iXx-(eqS%Qr{Db!5^6JxzA9wHl>O z{VwasJl%w(>ec*ZQurAu)98$J^k>dwsx4`-o(E(;ir)xHh8*c?1$?#G7q8nxCkR_5 zl6~DyduhqhA{%sN)wl0kFxXrFTE(ohOTh$$EBaj(Fh}uWF{uO1@Med}A65Rmy`Vj} zr)M;~-7zwP6>a>#OZ96+j6Ixu+d+ixyl+zS{8Av6B6VZ*A@2^@D8rF`5#Aov~jhDWlBd}o&!GE zB5)dWqwbW?@4=VokW>Uxav{t9hdm@A{tpR?JSaa&o%A!376U^NbUkcCviz`Y5pdhq zK>WN*$g~%*7Qvc!bH2z+&prC(Hgf0QT%~#Ua4h|c;q8gs1bm9eJVts38;edI``n(} zdh5-Rh^nP9}D_j98C%c8jn9uYOJs1-ANa9I`H>|&y2iurlVKj zu?M1bScdE9fP!Y#kVZ=u==O5%av+8JPDHTPaEiHO%f1NQ2lVboED(Xwr-f^5BkX%BWu zaa;C7IGm;y*lnq8GNfoEn1bNOHO`ts@-f&g8;+paTZxn?yP5Fu2|*+QZ=0?3g^k|( zbP`DArsHy(-5@&7WfQbvj`IvT#-vHZ>DF4w4)bZ3hdZ?)+P%-t=vQAPmBT@H$)nV& zQ0Ya=rr_E8*3eT^|K_9RW(iINx0<&~ZFC>etBg6cqz5cI82-+QD1wev z(u?L`vQ)7XraQHbwxS@caWBe%DiDmefZ9piU4>@d82x}y#!Y5w=3$oP`9=*Sa@kCl zGF%I_&|pWcqNX>KZPZNBjwivS@7?30gqMEnOYM95eRU(F6lB?5^n*kteDQDL=XA-s zWEK|LTK?Gi;+YU~30+7Y&6uH&)_2b!Kr3ul@}(D7N{{gS`UB-BU%6B{2XK$iu;kd@ zUa84VuJ`41LsWq7nc9Tqi5qf=w?k2+u6i|O@all`jSU<9{7=A^ajxvLmO!CM%2nQj0l)JgLf%QY!ch5Pn!|M~(^C

M!%{8#{jg~cJLr(R#qFH@@^1iPAQxV%;D&JlvI=cCQlYe;Ft11)(_7-~+ik%o!b9bTq*=kxGw9x#fU-~US{k)k9N0l6pnBVQ@%dMN0 zQ>_?f_7vP1S(;ZHs-2c3mK%$Y@Z}joE2({sq(x43)}38aXNAqKhg~bghbBM{c&|pq z;2S?aM;t}}Dfy6_I_tb~BGKvqA4I5kp{h(S@fr_6Wd<-%Y%AA>kqL{o3IBaM>!JN} zUs@3o!e%T|AJOl8D&%PB{OHcAB7bzN_Z^(P zmK^h!Jb-fE3#j*3Cuz5iaCX0OlQH%3t#-#E9q4}#=BXgPy5DHyCF`Bp->$HS7udy0 z*V)5a(fSViVI+S4sRr*ydH77($c&+r!+Ner<#7+(OD_B#!Q;8PT7u#0OT@@rl|_`K zLLnCv@Dmn}t;dQ^=>7Udo)RJo66+r7(i!k8f2K)X0$~UU?Ozd)Y~oX-wXr%Yw%o9r zBX0R_jYKGs{`i#5iqTJP*K5!z&ar92c9bEWwv#_1kZ)2Dv7ZX)bYUZ=W{}a8A-;hBO+$sjK)s}u?z zQczo#I2sQtf&GZ*t1fl+7Z+4jQPNHjW!3iSq?_Z^s zx@M=M-X+1|{F{OMif!a^n`@W4hlWPxl!KIM-5@nn3$XI;@A6E9HDgF3Ub^Je#+&R7 zutmtSrVSn5HAl&SZ;wi!zsY{wbJ(HM)9oAVmV;k|S~MMDQ}&JJl{+`)LyuLv2R5r| zB+<>fzn28;o=XXuATo)-lYXlYoIdn*r-2xsXl&^PU9HsbZd?|W&A5v z#N8|8q0>XDQ;n%w+g%xH1Z+f5UFN2COJD9TpN~dTksltbWBaAmRFPIeB$eOsFY@%z z2UC6Te)9`oRM|{0Ab<*EI=@A)m&x60pY5OBp$`OU{f+`>^X*N)34Qq8|I&+iR)`36 zb2iKRzQVMlU2H4Em1Ocw*?YrTZOdxzxSttf5xiNyuB(T51eaTqW4^BUEL0|O2gXlK z%t0Is8U&~oQwmd4ddPu@KZ!!nBZDlI`}Ba*=VRTdIH;xuz3Y9jxj085WfXw&q| z@6xgbUAtoiX}z5BM=;c^hEk=7=wQvx^!Cp@-zvZHeC_p7GN4NyF|+tW8NR}s;e0)j zZ?fEc`(eRp*;i>%gS|T}Mu^ct!fLT|JW(XS1f-tioKsG=;=VW6dAeNQu(RA!AX@mX zenm#G$MP98Ye?6`f9gJJkKoW~w?VE(EM3^{gF%C%ttneQFps(xTS%+^(hJ|s`;^!A zOz2zGfy2UL>H<%?koOnwo2Ulk^ucdQyD8dSa!|22Y>y*Htm|)@%g;1HvC}#&`;p7}I!p~iJQ8!M zzKfR3v6R=R2&*izc07X_=0{OfC0x;Dv@E8>>G;tW9-HadwXZ1i4;P*g@G#`Nv4Qtb+*D^{60e; zs6!yr_Z#$8falTjuxNk8W2Qzfzm%DXLRfqvVW#Jm*3BAe`{tmOy*qq{U&0YALH`N+ zlP_|QSUPeC!tFX{QZD`DvuMA@51JyCFIZA9UVf`N-vX1m>^vR#`bv5a!K;{ZOu7Vd zi+<*YF2y1Zkeco|hk6paA{>yHukxTZ)?=K;(JirK?N3X))15l3L4u@GU)-wbKYw0} ztAeWX9fF<>Q%Raw;&h$)YK@(5!A8L$^*Lx=&Q*YnL%!!BH-!X*OTU^c zFsjEl-F~wFwEFXptfZ#FGA@?mY)IZc)vfpFoAb)9a+AC<6CNk*g#y(tc8q#f^+O~| zyJ8~tBr5MGb-Pg3&E?QO0817=Q4{ure8v@wU;#2Ci)QSpoL&JT+h~03FfWa?NzL7Yf8O+!W25E|8efjn?7>{%~h)_CZ+(+s{nTftrt}mLJw4T{;!u}dDCIj6A zDozlynjV67+sAowwA;Bdy{USO^$t_`B3+x*UMqp;zizQyHxqRi?tIV73vwG2HT#KC zvzcVLAp2c$b@^SHQ|*LezHWs{)d@#}RY91;3zW5Jfcb_=Y8Br+n#bvUI!{izzE-3VjH0cJ?EFWJ+^1E8+CM6gng)n^DGL4Z1{}?jB=UL) z_FGHsXf!wY?v6@Lp>bsWew8}_-J5VUpTF`fbz9V;7Hm8O3P8iz1zCbX(wjCL_IdHz z^317D75pk8Kcx@+#9jp2n%lJ9h1kO|rIIn+Ff3iKRSnWE_amufB2{fYzgo=e!bbm` zo+(R;vyod1SEBKqY(?KH#mVY*sNj*Grb>DjUtT1bLxwv1&mrAUJ@=r3X=GOuN?@ zv2C-tKVOI2P;qjSc{>j+4llK<80lzDumvkdQRXiu?u*fl*A2lG!A5g$ID7EZB{i6+ zUcV0L9^N@U~n5F!X{+M%yp z`f^`T!nr)gN{80-)SMm1@5cX3>fMHog!8p6-#}C8oo>(2fG6|$cNUDkum~9jfZMK= zq7zg<_xSQm{q$yV;V8Hj8MnniulPA0yKdov&Pk=f3*vUg-&sHv`#qE5 zSZH9+TXW5@LH3IAr#>cLtDB<31>J9A$X-5Wod}ZVZ9hrczblcl?77I#*csoW&RB}U zX``C%7=NO#gc)7Qr;f5_cv@H}&7;me)^U_ZaeQX8B{p-T4<>;(sUSawB<)VYdFk_p z?nW%oAZhYi0Un`-Fm9=qaGK`RvRJyD)#CzYhf*NhRA3VPldf#=8m~ndLKdd>&XKAJ zPomeM&xuLK?+*d!medK|QnS0AYxe`up2sR!6Log8qt{z9=qks2QGAwkAec)Ng?KU2 zbAvfad%M^%13OCu4tz;S3~zTWr^Nt zd!%Yj0?P2)O@)~GG`H^5!+)hpJ~VP(WoExeTJ921&s&QveH30cq@QKelgR3rwr~S2 zaXQ7mS@i zD0QXXg}RRyS>Cp)R$#`^Sdqjm)VvveM~A3QsCA%;M^k=IB2=Il(p+BA4AVix?VEng z>STWHbx~CiH6#&-b2Q&FKa&8Wy9RCmqqZ4U(_fPJaXVCs*5HQ?O)K za;D;g>*Wgo5&04f(8XSRi7|QGPUBOh z{e9%@gt~8wOUkPq?~A^AIrcu!b!!whEI1a)R$=OYHmwJ$78KJdZY2Rdb^omy$F(Y= zBoM1{iq(|^&cS(uhhdX+aldc4gu5l*gRD&U4DQrAz4UR*-?CYz4c*xXixeC?YhCgG7 zgzc3j1kY;;y>G?0_<}Ac?ADgt?@orYr2RvihC(+Y7}t)G6Af~^OMXMtdA#&NiyVj( zz}S)%wP(qo9Lb>xx<4>T1~Wfd;S9C;&H>?}!!!1os~QiTT%+T#{gm8?!qg(FkKQ$! z^o!bS$nctAcAZT$V;eelAnqVGkDQFsE%IzJ4(GQ_YiMw#U#FS|RSc{x6fE&qR=pj9 z1=e-xe^VkJIVD`QqF%5RLddj&s@+3Wy!^&p<3=dWmO$WT#+|0uUg*0G$+2z7JzBeL z2}h~=!`Z3OojIu!&G66fb+Y`$^l)Z{xd>S(^;(d(eF7xogTiQ5@a;rQdzIq`7<3$k zMXYetSZ;at)zFdFETGbaa55FUu={QV$tBzM^1i3kiucc#x{6*c2YIymV~;+L2!EAW z#wZ_5LPn)KQEB9(2KvAO=2;C{29v3rT(ZsnpBEFnAH)}wOK@!wo3f5x5gw#FdY^o= zHKBEl5S`jL%v#(Oh5-~4;bbE}waHku6R(^jPjgPfJKy1yI#LVu4rJwOYO`dcn*io8 zyla5q%o%6pc+t_lqaw$Sm(!IrY7wlw^hoKMMx4LVY(q~8es^3E`*2Jb{eY2!lX3PK zeQJHeH9$|Y!YZ~*%3KP0{u3zXg>B%@4yYp$^eMQc#VKcI{m}q!&9BwRRh06@SsPc| z1v5<_bp?+&SUn3vZzQOT;MZyDz@Z%--as-ua{b)?&>I0ut+MFzS>+!z2w1u?URB6f zO@Hi({5)DfE^^yfQ8@ZtI*qtkJwKnkrZbg4z`N5$=u`gs)#WLJ+NIx+0!4uSs#8bX zE&nNXX>JnPtf(H?nc}wD6aWFw7c^EqdC) zRfgKMofkzn2DDdaQ6=WCU)-?21;2qDT^_@?8|EvlrQ3y9_8S&?P0JxvqPKQd#bBE2 zBr3m<`IlDv`zn1iWrp6HrImtbu(_0e02j~1BxpMCIBz!0;Mq$^q*Xy5v>c1DRG^r% zpX^?<2!=E_9_KG=!E7CkaYP*!dU_qpZLKAFYCq~&dpmx7n?Klo{l%`8h-@G_j^k$E z6Cz9-a1kN+b*Y$hub(A~%D4O-nTTzc|K;hKXfDHda_ygmn#?ntT?DX{+!*JiWR8!m zQ6pT3nC(SlyH6dfUs+T{3GS(UZ$iL){inxBuXR9kppLdEImM01jW+>bxy3EtZlr-{ z=H}xkpxkXq%%|%7r>AGr zlTG~=LQ4v>D)nc*8yz~^H?4KH6Vx(u=sOJTt@`5 z+PfU-Cje<@ihP*zGS+=(Q#YNJ7R1M?+xOL>|G_f(=b#~O10m678qvxiE=oO(#wXr} zA5+(&2>p?F;jg{OXJN0CMc()O!hR*2MEo{f^%i)r`j|a9*o8hDx{zG@6^?|&KoAYv zzdPAfp69b5N7FK?>w%*7^dGj{vw5+*ZK~-f$J#lvRu3whu{E#1d^qwXrQ-M=dUG?C zt@CUt9IOs?iR&neYRIzpD7Ol=8)q?`l4@>>k}$CmnRRLM{mB?tU(}8|XfqrwDS=jn z(NI4Hl!uPlZ=QMBOCN9KrrA9s z$h+O?G6x#pwRwP7l?8$?xZzQ`JxrMQ)k&Eg9_>#?CLf^#0W9=93+FfFef_ZXI_F+! zFjo=R{N6`zsfz*WihHVZUjPWg$A5`1fns3ENSY& z%4@!l@O>necY||kmX?G;ReYEDoMG!$;0u~JLSH5AX#-AEZK3sbJ5^^%tE!OZ9@e$g zvK^Wg5}zGuFE}+)sg?M$PaiE+M%rB}4K4f1=Q7haK7u^ZIOE%xfZ02`0ubbg; zX1={p>Tp=lp+~4#jw;G}aQ3tir8;NOzyr3fJ^H90hJnSA1o+!8o8YsFf1r_%R0w&( z5bR4~raE3!@JsrYudJaD)82(X%*p@ec_^97DcqlRxO)E-gSeV88HtD7|uv#rA} zK3{TGM_jDOuznLY?+SJyQ!P~W`ABiyE#nGPIm}ZozOxeintbkym4XeQ{p62VFd+1; z<5hdSkc>Ihnk*YdnL)`r_Rs$XAY9GgNtIe|+~TwP7ND_NS+w?oR8l28%Wr}%XO*L` z&ftrkYrQmg+6v#iOy+IB=z3VJT91FS10m>D=4t8~#V^);%}#Fl?eY26XKc6WgOBUI z-upV~X8_hz73E~S*#6Yk4Ci*&7rJO)6Xn0EHD>2o?ONJdv^kWVOryAupB7zbqnSfx zOwFk8y`bx-T|PS0AICUyalGD!$hq?_f^T=G%+3@hENJLZm$(CIYthxsq`J9`v}jrp zx9Gi(s=lZo4_({vO+2Om0SpVp*`nxzfV|rulDk^zPVG&21pL~bXG$UMm%Aku_IjZa zkT!)r&GcUm@UjMxljpg2sW(5Cha_J!5SsW9aOh# z;j?qq@5Opv=Ago@0cr*O5?{?Xq(kHH5b_oeVkK27++Jyg_^uJ4UUzB~n`D#=O zDNQs`;Of82-sdZKf7YzY0R5J z>$lC1=t)plD)!ssS4!(9>9ByQj~y zXaO5z>w1<*u6Uq4Sc;l)5H(J%gpTOc(jS|Ti#yIhGJGZ{I+>gwo`f9&wF`78ww!Yf0;}+JU^XZw?o1VBZYBP$hv4ouqyon>m;vNx?pZYnI zUusVdhC1u9K~y(xcyXr_pj_(uLx*Pf59(GHtqqiHd#SXz)!GcoNpU=zy?z zsmF_cV%I82EdcxeV)q$uI~!?$in3CJen7FdkZyf#>J&kJ_=knoi($-9@Nb}Rr6WS4 zFH!XQC>>)4B<+J0X$v^&GI;`(v@qc?GyecJaZy@BUZxLWNkJ@!OgHs#TZ4L=$0|H2n{J=+ z-u|AZJwumRW?7%XWdd&#LIF4P>+5bGfSW=qcdn5;ZBfY96%u-7%QKX{&p)E%F}D<7eXel!v5r5{EC--wK%|=1tQvCm0XL0q(+q71SSD$Ga)=r4{$1@D=ce;rSr4f!hCc z0@k=5jlc#AJqegK_MA`ckEn_LCCHZ6uRw8oJZ+U(V%{A}5#pID@atx6Vywa`6Cv$? zm169^6YGae z=c<*pk5-(fkPk$cVWqBzCW~oy6-|;m7|o zFN)RtBeBiMK9@*|Ftm z-gbdM_RrunT&U%@=wl8qyQb!Oh6c0$VkD8w1VQxA^A<@E1FYc77H=p)>1>cw2em`R zY8lDodU>HSxv5t>LR9thH}o|Mb1`P|*)QB~C3(|_eNv9)hylCaPbk_ik9Ap-$`g@2-a8Rso4=`r?%*r(0GXDumP<296cv3RcwCUn zv#O-LxAsvJu;`1dxw~BRIlXQ3#Y5?zUrKU2Ls5dA~ZDxn`{GLTr!2Zf}oGuzp#ca;$GKmfk0B2gv*2KC=W@eZS)j0 z=GnMCbXLmZt>AKu#1-FIdQWyIui`>pXTcxZgYn)^`8hXGEZr~B2kp(H2`TpwmzP5* z-_;yuV*Z}PjvGfEz18poOMGy)Z0V7hu9PRFs^S56mC|SlmpY*n;U(Rh@?fzxA4lp} zW0qYT15k;t@a2*)!M0Ws&KzEpLxKjMem@1?V2sQ;A1B8S%o^FASRQzj#GRg6Qr%A%k+BpfC2AOl_5s1(abFJht+uGK>%j0PefJpWoz5ze z3=Q=#&!GGKs~F?%la33maVs0rGM!@zkMJFv^hef= zg@t`R!gh|SL(XKK8+fG7?b+OW*0F%zEw5w%2b{l^^-XuKV^4wY#;B$XjkaivGBatk zEzCo|`^^`|SE+UWZudP*d$Y$x-zT$=7*K71z`Xkxlmr>u(>kf?a2HXU95m4jk^iTEwaH9%=^JTZU+z90*+OB){%XY|2uvec>&c ztHALJ6F^T_fp;>rFWA`(?@i*d#wSLbF;JwQsLKEh=8-@AWqJwV%~d+#I}eUHR20XB z##`5;C9o3)Te+$}W6yI=3f(mjgazr8=#;%?O&KS6>g~}8)Q0zd4%C{t#`BD&3ie3? zOhgz^68amd#~s|Rpc6DLUN27oSiDTcnD!(-mdJaTsF&>6sGG_2k>F zYk=%^CXGYw7EA7;SaavZ^5o4&z>rcT6TRwlo7M!WF$-KAbrX(+kek@}oNlk;u?v)0 z)Efo$X&Ptw?6Rx#5vzD|$2{ThLdbobQWc%A#Mp1Og9E75muc2biVZ0GwxMa|Gl8V+ z*T#)OrkNBQDZk*dk{d?wu+>P~e#ktoQ}SYfH-&SALzlO(bD6#crOJaet5QzwU!6Gn zv?|ecORe65t|$jlCh9qNG7{-_ur;_13Gh&l5Zf*FZLAQVA$M4zg<7?s0*MsSJp{Ai zjBvKaJyl-WO?JlUOqa=H;)&q%bYWjLoty}Oo$r&An$~YJ0MCukdW#zxiIyN2*>dhtwi=!ps_g$yBJ>}Cl4h81JS(tt|j+j{R zbjlym;U`amk~3SKpLV)&kJUrW@b!hh`yTCBXHb=UOuC1-i8-VFOB-uIlalsqrkKn+ zb0_1BL4wjY0I@PHH%7AGC)tHSIf1Nk@?rC`#L7fCMoz#@^BxC*&|l!55*P{n%30Wj(18IV!onPys2Zr ziREbK9WwkB>|s8I3P;>}e|W9VDDHGZcMRaoA)d$?3Hyba4ENrMnHFPhp~FKuCqC1F zGxr|E=W@=GY~4cqX>{4>m!nPpU<9?oL^^q3gs&I ziYbr>q?XH`sEXKr)3*68Yo7f4N7VybH^_X!k2WVevx{$}F#-Ugp=4{MyCSTe`Ps|I zIgBa1MdRH0x|mXnQs{T55KcmI^s^f;P7eoK$qd(~4(ikCHbe@qwjNzOgKg*)&xJl(Vt9dNRbTj?4Z%xi-x`H<`j`;D;Z{{q2yL z_Bx(~xi$3dA$pih*T@{l*C$W=S4$(CQBV)%DtYY=HdBzLrB*2RyFWa30Dp)s>a_0| z*{zY8^FoOC6@%NSJ)kB&JIsg7@vW9v)^}~hp78vHLZRx5-EsuFzHj@eoLVQ?mQ=^x zOx)D8qphZfsKQL_3mrQx*nfnKmdJDa0%?;RbjP7nU3#G z`=j^8;!r=t2rSL69LQa~^JY70D^5^1nnMAgZ*1M7c>{~TVChbdZ9+oGgrRGxfNS}o zvx@b?pMZWYkWZE+B;DNN&`LC9T3Jitph5+;=#Edd)K9Um-J^r@Pilx&jr^zcs<1t7 zEQ*%F{^xle23KY0;Ez|Y^58pKY~R*u8I&blpxU8we?FH3=U3-m3cE zqF~XZgtkENOn1bk1C@nh)ZZG;GW?!{SJk*tjrLiKGTWqF)SJ~cK0d5P;u{B%U&Fzj z#)2k}v*ix*LRG_|!jn>5exTvTBguUYf&Y)Ivkr>tegD2l2?z*?d}wKuQW};H0ZBpW z?(R;NZWQTmrE}@-?p$D{V}Yf6cYnw4%=6FlH^U6Woco;Xe#h(D1vxRhHQkEdtd8Th zZ=$Z@b(1vLn26DAuW)0X^TYfHWEiF8t~w%ufuM%2@DMZlV@r9PG!*f=HULaY^u;sL z+X5PJ&5f;H(^s4UE;}0k<9d~2WA$Nx4`FHV*#8A&4;>{S9_R!=o&ySvfEx-uUT)P7 z#)QyWFlgQU!NRlnS=rLY3e0Ez zN0C+)0_C*CuKPYWg(Pufqwj;UbpfgcBBz!+b(^En{%p`q)m&PL>9e~Lp!p})6;XV3 zf>t)T>AidZB^#&~u@o6g?Z~T5xA~Cp3~yjE&R>jQlGg>#vl?g`i7n#3*bMVYkhhLs z^Q_I2T7S#YYowj9d+%a^0@C}ZUh)2l?}$1US!XxGk5V+>ZIBi3S>TYoe9B}!TRxa7 zc-`I$3cI$0v{+=WiP9Qa|(&E8SvG|8>&l%|q?s%9Z$ivf#OrTWsctfA_31 zkTozkJI+@S5|tf2BR;_rH;Hp)KZQp6BMF-Bx=XrRqvjO&F0c@ck`IKsPC~&&ROB>MTJUtf1@0cai7cwu7_SOG#GXt2yp_TZQ2hG(ELcRP zj}M2KSK@@wA13=#{P#LgMbPH*s^i%DhE4O181uGx>oAoi)A>8K{qmfB?J)CtS5{@g zmoiNshajNaB1%Zo{f>wj^YUnUmh$(_s4b8nzgz4??o_1%XSP3v@3Sz9DFG_=Muf4{-8IBX9LVdj%ytC$!A1U1Wr>HLdIKs@d3Z3f)89`ArKt9sbvvsN zfvcWKR*pD}Q9f-T+7#qy~*?%LHY^-^2Am_&sJmbi(-eZv* z%$X(7h(0=uO(W(U!OZ(?t`nuQk*{9K_E~N+Ta>+ElH@%0&g~SO7b{D%$PcgA89hwNg+D}j$#cmBq*_g)qT0~WOMp-UT1PWsNQEyS_#y5NuqKlqeYk$8;W>9i132Ja zWkc=yfBMBb2!ocsPOX*^R>hTLuT?X+0ts={6yIAeR$|kn@aFr<6D^7-QEX3G<9)H> zH(Dwi41zC#+rr#6#EZ*q&j6j+bJl6Jda~nP>ort}PIT>KiON|{&Cjc0A+V~Zr^eC` zRWZbvy#MUHp^+%~#4(5kqIqrkCGCDNi~8-4zJn4fv;N5CNeZgRqtOM8*-H#h3U85v zTZZF{1V7{6$)oh{W#-)&i_RFOP9}3Ve0J-woo^3=7p2>@8kMIR%lx+BfT_#!iU+$| zos&Sr#V&_-Ul01cXOE9NcN~PDTu{(#K&~-t3iV%r1BKn1yg}k1MGui?H!Z~+_M%;DrJ`tpSC#EhawWRrVx|iN{u9~PXYcw3U0zL zD*Ix_CsnOIcwu>6V_Q}sf2q3YVvJ~FQWzNVJ^sNDg!g_Xf2ModO1-u&|0_3vT4Rv0 zG@q>{?O%PZ;NGNPQG%xt=yfHKJfRR7@7tZsp&hR5o+&l=JrfLk^mbAMEpg&c0IDl! z*W#T~9(x%zKqc_|ZY+g9N3pb!>yafKS(yM#qc)z)7GzG$M?t6uBd3J*8{%9t7O!=m z60(m{7JW5?pxcJeL>1)?`jwJ4DQcX_+ab`znhcn!I)~fm+j_@ zPddS{*=9E@H{hVNcxS2^C3vAjDR`}oJy#B@x?Ljez5}lu?(Yx;;yctR2+`nkHLn${ zknI&5&DF6)V#8=(%~rYv9CRl@wgyh-F8M_tiR!PYPjiMix-V5^?>4ph^?P^jzvK95 z3O=6pjuXjI{dgDbUpLNQS2^o-gF%hELF7+#GFZ7Nae{_TWgI7Vzb~Jo=6ADXM##k& z-bdUq%rmHCm6cSdlb3El1Fkek4ByoT!b6m*e!kvhkf4_SbF~-iE)WNBTm*BUEszu& zR{;(9p_Ow(8YdscGTHT|pvS~(DPgc9-IO8ohroa_wyF;Xe_PJ?xRn=OIPHO+k4BV5 z&tQV0SqcXbT}{&Gw5e)GCQq~2?`8QFf4U7juhq{=JTI+^W2jMIdKqZR!xl0+2d-Ic z7#&z5-%N{OzBCn2OuKENwR=q`;+&uG{?8G_NiKu$`lf{){H2lOcno%E@rM4mBfaJZ zkV|}MuWAAu{>uphgxs5lG|#^<;5zL!{ifuV<_pNkZy}IZ_lVv#i{K#v-II7vvwIVp{D5vRX60mEX2GiEZ_cKOBr}x zVdLDXhc*q#>b;zhq6>6&aKThvrdedVoN5QF~7m@6Jdw_2!sV1>@`vl)#jr)g}3`w1aB$b}n1MK8;x!3DM(#SZ~VIlfzfN)_6 zkP~K;clXXjH44|hJtzIpMY#OF!Q4hNg5`zcXKgLkCiGFiuJ?mf8gy5#k?gz?`Vqy; zkI3AhmivRyDlv*o1Yi}lC!lwPV+0xDmyW_DEZ*bC#M6kj)VKKlD0oLetW@axr(k&j z_aXNMF2jcyR_dc{eus4G-?x27ZEkHTp&f%*J`D+0VL+`RX@TiPir-=^TNDC{N51Ec zaGwy`>%*mE5c?N$XON4#1db6AHm$$&fv*nP91AvqlE2}Li&4(jF%rkZw?=!%Lk#hk zA@9zca>dy69Ie(z@Iw3WT-YfqD_yU!Z|Y}Ncpgq#tL*AhicgvUW#*>?*sN`%uR&LH z8o|RjqvtDh?*|Iv#dOmv!6SO1;G}t8H=m=WeTjqQH!>uO$?P69{PSWH)JUbd7@HIh zou6sOb>FB(hUS2uG%``5g~hFz%s%1>?|}UpuA*vYe8Y4ctVV{V$KF10e}-OE*sbbo z4?dU0R7gYl80_Y&r2V3U6E{L#oXk`HMIbNyUo5K)U?2u6Yxn3k+Lqi3>-UVjn`4Sn zP$$vUi`TERKo*RJXLf5VEk7&1*lk7FU76ny26di#0g+eYKI@I+N{_42YHNCfls4o5 zl9juGSz&(5BRF(NV7@2$hwF9(k4cys41n!F!LFe^&BQ7P*w?yJb>;jHHA|lNkl_c>mTO-EfXtIVeeppx2bdOc-WLR~wSf z+VW2?qut%~uF$n0qnAZUZ&HU!>pF;5A=|FWxOfjIuW#h`^h^~w;wcaYh3N-@AcL6M zNZ!OyP6g(FvBpZf*&PLG8s?uq7LiY$Gx6H~2iUdZ1Na6n-^P6b+zH$l0Okl&#ZP$}L}tlv(g zqX+goBT4*mcl2CyU1Uc7CR>Cb4D>3Ul5YNBdCgK6v^ClpBm2pWlmyHB@NiZ0QrHia z_AX}>x%enfuiKwm)8dZ}k}9)ywyFQiL7w#}TZ>YT*2lcjC}w=zNb!2nAX@o`_k$WQ zU5z~FIAIVmyT&G3r0eEN%^(d7NBcXCm3s%%NdydsQKPc5rNMD+<*0ctyHXj)25@_o z`|84^-VXK32)l)b=%kxhiyP={9BY&WI$`^hSe*|)$g)r#(x)+z@XX=+I4XdH1lt|k zTQ(S-L^Yf+eK#`xFo8b2)hhTC_i1vX=WUsdgx%PZi)PzpD3C`B6RDc>ns z5uaUNf|Vx>_N@L-pBU!Q|yS>7t+7>C#=`2DON0W%ACn zSxJ_9>qxRd3?R16ggL%d5G)U2O)(0L^*N8kZc`J*q2$q@eiGConfW}reCjCn=ykp2 zz%Haz%Se33{y-rSNS8tbq4Jk6cq3V8XfHEalmIXX>~HZ1l4nzGR(Zyy)SS ze4y5MyC>4<8?isfRy>n_D6jOXwSEbU%Q)_m!f&k_5V&tr z3I>eR+qApC1tvfCz`zSbpm9~KOCOnY;kN0rISh#RA!4PofQD^~xfE%5ukSJbB|RjM zv+PrE0Mfw6ElYDcK&OXg(M_)9+tBN9avm#8t#*sh_8(tg$8i{)1qW!oxSC7*=wF1k zoD=x*QZ3iaq0Yn8RD8a>pY99P8Git5z0Uq8MI~L_Jc({rOs*{&9?7 z2aBo)DxB7&7k7K){Mdv|>*{$j!+YJ^yU&o(t;Vh^P`R0aYO<6*)x@oD1XDj7lxM{Z^1E#fLLn`Pm43G=jZS@)n=0$~ggB5@YK~kv z2NC#DDKxvq#1dy?C-y-9|Eh(3 zmi(ZSd#0$_^8H8uA16$fwXSxS&OtaSd9b5UGNbpw*}nYTiei~5S29nDhYdXM=GS9R z{=T}Zu&e42u?QmA_2OWAIWBthoR^^!InY7%&|4SFW@Mq7XxwvkUZs+}*x)^vjCVEl zH)b?L*1}55@Cs^M#xX8>?S{Z_1RijTpUz99{Bx^-8|diRvT+!4sidXP)x^V5kZ^7V zy5L@P*srz$!6JWW`5?x<#sU5a)xKG%@E^CI%3O4GTt-Eg&CbYv(EE9&HK%Gt-aK%l?J~WJ##`Qa z{abjQR!~9Ooxr+(JXsW@b{)mX>ih+!Oi1pm2&${SV9@`91QvLLFY#6ZrJj>T?Q=mqw1?&Wr%tj zmY+fLQBX&=lRn+ApZNE-U5g%2SL!-;n_&#&z_fE)BK|djtuWJ6QPA|LNmIFgc{r4E zJAceSW#gV>?tS7_xcO+7F>#!`BKa+3fYP*RyN`ZhwYL%`sjXmWw5SCQNiEPvC^cfOaPTae+xcI9(ZLjU3#M6swp zsLa>(U*oFOSc&+K$C1+XzYhMy*VR8S%2Ml9Bvo-n3c-LO!C-?lr(_g-7R5Yg#H^BO zZRF^bWSAN$7!(HE>Q_|VZ6O&+k8X>(kuPq+IqKpK7P#4kF0zn z<+h(XEJ9PBvcvu?^5x|xD4uTZ7RJRdk7m!T-^S8c+7|sT2Ute>gN7%kGg~8MDjM2f zQLU%yTj>b0iBaEQT|mypSX3fLVW}EuOY&$L-qC{G%05Z?GPA{t@eheyd(X-GFk5_1 zZgcH~)z*qYo352TsTOM#0RGF~uVIbibcICX_E-MMJ1xuGh^lcgr0`n%FXvVK=W)}@ zkFUIp|Fo^N0VO?((9i#HRXE{un;!XKm`Tl(KtntgUpwh;OD(`3Szh5q?6eFzMBUrCATJbvM!0f7qt4cyWJT zPtL=jY_s}1Z+U8hH{OgwFv|&(-(+-K>@UUKufK|m>fCOjj0rDTArBJV(=rIgn_i&> z>C_(9P>$s%m4eM7g&T;`+Dbp~;;_&cMHkdDX{cgl} zwe|>p*!z}CCx~^l=KI4(Z@y7FbDQZl8wn!uoX@Im_SXe`n>73Ec1(6HV5$1x7wb6 z8Z5#66qnC=oNtj4lKJT#xU3js5z1xWOCf+;kZG@l6`?(Y?a&SR1;e%A!^JAAZ6V2EDZXRl#GY5y$u;+RSU1u0Vb24g zB0xjy$8L`6IgTa3LSZ;?A<3q?jPbes!J=-t==2fY&(NLI-LMTFd)z3>0wDLAuRM7{ zJIK)b8b<>!>ooJ=M3+Nku$ggPAc53UpO9yBfv;p z8QK_#&(UU{?#u62Z113Y)AW;h+wTb@B|GR6MoOgoJJY<5sgqKC*x%9$74A?a>UnM1 zKR_C&m|Ek17v=nZJ-4XsC5AHHf13m&m^W@5t*gpx&;g4V%40d5?_62ojnnJl8q3dN zhhp|gF0V=~*ZwuL0OFTWo)Crev`{4jmpFO){d91=2r0RCrKW>{+c}QhZn?O*dIb={ zI(BZJpDbLpzj!5Ov7^COwSn3Tp0+_gN4;`Qk;;sQ^ z1pv27ZoK9NAgO0PKEH~JJ6;#CTU0x_yqJ1o4!HfUGfPU?yZZT&z=w3Zkh7UnhUa9f zC5=o2|FqG1y61t{VP$SW&~Y0F%hjODKc$2$2zT~H{k^BNI}kzbE?gQF-s^UL<}%sX z#$t^Xpud~|Ppjoj>y9?zGJE{F7m7D0)>k7WwYmg_c@vd=5G!s~6Omr9qT zurKo!&;y7$?p}$g2ByP6Wcqa#jYc_P_;o=#`zfE2|K;={7df}s23#sF?(6gxH56@L zI^f_kHmYF3x1E8+E@7~x%TumnpT+KeLwJ83+U8%m*>n9 zPVJj}Fxy(9mGYUZcs+2>fF~%>1WAAiNr&wW0~36PV+Vt}eP>`mo8-<=SSrr!@mL3t z7@bSgtGgu>x_vUc-mC zWVTvbS@QF+sP}XL_=FA8h8VR($^dx{W?2~w1C%I>9LW*pCzHuewVq8ALEyn5^UkP~ z(cuu)wCAPGSll~BrilY*$V7Q_@qiDXU!;G`EtcFAS}4$6qFA!}ZGVhfZY6YPDXssu z#U*<{Es0^1@>X5;MN&R%6sBKyZCPcdg@pkqdER63i`wGkdh7lQDIV^tmuiLbaO#8C zJ2Mz>0{607-4rZUMz)!on}<;%lT2yDV`)5{X(8qlAb1*x>(Q%Yp&+ZqgW)LLq0{3| zzWXNxyb>OE;8GvRqB{9tg1C=09W5o^_J%wSAP_3F_`yBH=sU)3A=*x3N?Xe0I_O`! z;)v%v)1r~2Yz&C+=W{$&+UU%esIjfMW4iFv*A&M`@tT4Efx2&8>u=gP?J2_;HJ#;U za#+7f^?SrYzB9Ya_sVzT1$@mW$76>=`K*f!ah`uXKcYx{_F4_&+kVc3?C;bs8VoOZ zje8tIDPL@0$v0iB$$53OW`c4C$4H)0*Y@IPPmR5xka)iti^=@k)CgNsq=H48o`xxT z_$69<;+&pl)wNOE1!v+=eFo-h_cd)V#t=@B^IwVSzv239>BADoQqcrB?~S{@PU+x? z#|u<9U?^s9pr579U$EOQj3R1m-7NQc+Ooxe42IhH?=u43q z-yh$3=;srM9_6Xy%{pl9!kUEW)RHI?c(3J9vPITO< znz(X0bHTvlf7~U1Z764(R~}Le0xo9xq(Qm%7Ay5SDpNmz0k^?l)U_Vx^|ev!j4{!1 zH7-Yg04GG4t|6dCm`nPmd*RKWZ~AARmo~{{a1=;4sQ%Z3Fx58!d8Nf^f;E|um^3&4 zUQ!!Tj�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 S^a$PuKIYg<7`lmT%s&BdKIXmv literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/organization-vcs-general-non-aggregated-status-checks.png b/content/ptfe-releases/v000011-1/img/docs/organization-vcs-general-non-aggregated-status-checks.png new file mode 100644 index 0000000000000000000000000000000000000000..c328f6ce5c720236d0f5fe474d17e5ebf893a08f GIT binary patch literal 179599 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

9XD)Fu5K86ja}INboTQ`zH9e<$+nG9@WZ_& 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 Sv8`LcPeDdmx>WMb`~L;X!+u5p literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/sentinel-json-enter-filter.png b/content/ptfe-releases/v000011-1/img/docs/sentinel-json-enter-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..aa466692bc14fc11dc0b15982225a08fda930e9b GIT binary patch literal 17427 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 B=b``r literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/sentinel-view-json.png b/content/ptfe-releases/v000011-1/img/docs/sentinel-view-json.png new file mode 100644 index 0000000000000000000000000000000000000000..b107dd2647631b83084061ab7931b489ff4f599d GIT binary patch literal 49721 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

  • R1k4!OS?ZR$ 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 literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-apikey.png b/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-apikey.png new file mode 100644 index 0000000000000000000000000000000000000000..ae921a662966e382a4fd8018b7fc9647319b3de7 GIT binary patch literal 210155 zcmbSz1yo(T*6zkB?(S|aZX1_k#hpTNmyH*9cPL)8#oeK}yB2qcjl1jPoNMRa_rEdj z|JELBtgIwol9^=AWX_qj!xZHukr40|R~ifl)?!1P2%8(9lR_eV?(8zK+3;VX{H8 ztP~xcbv(3nDAg`Nj#6iX6;dSGL-mINrcV9#sOE77zVw*2@8lYu6Yo?65Y}a+-^;^J z`uJ)xHf9$F`uQnA4WQ65(*vp)eXZjtvU7ZoNYMC*yL17Dv?BA`9hRd0>3&C;!u7%q z5{3w|UQh$G(xMm&l7`^j1RAjwfP;X7rLH+k>@Jicey~0)C9ESXF02adCs-)`d3_Bl zNcF>!*m1=U#X-fM*umJb*iOZ+?2dJKEPDL`11Xql0sITRZ}?YuPQKQZ*%lH=ec3D$ zsC8_Cu}V6AK6)s=;@@GWCBCzwz!ivIgBXb zwST_D>uGy^Z7(#@Ux#_vUYmP;^|5<>ef1E8g5sNqUabRsdeJ>sGxx!N>+mEKO=(j( zIRL|37#;uvfdPQ}V>I4=00;sA%%5QZKn8;FpJ8PPy1(av1OP%T0MLKW^ZD)h$0hZ4 zzoGyBg!&c?fO~txc)J6$A^(vZ9*_<7k1z!IEe#-|A|@^U_Ea%)Ffjo+n%g=#5(OQ; zMZB|<(sBd<5HbI_Apqag@c;nGSqoK7Crvq7ppmW32LoeULz54#HgZvqtNPEK|}W@Z-`mk%!NA8Z}Wm|1ywd6`+*nAzCgzvX!E=mv5!aD5MQ zr2JbU|0qY?#L>vX!p_OU7DV<(xdw)|&Q1ap6n|9o&+BjPG;y`~S4|+tzmxSwAoCw7 z%&Z?+nExl3lZEO31NKMC-(Y{z^|$Ky|0oQoXyIyNttD<@^VZdGO%vqc;pYFdn*S^1 zUk&{WQuAL(HWm(^ze4|#^q){QM-vAzTbs8!odo|i%zp>}HSsUNKWG3dn>gB9JO9y# zY9I?IK{kHo|0()EQCk0k33C4f^Vi7#1Ze(GfWJomCqTi$;*A!AKN=>;`u9ftHSX{E z`I-M1`M=DBzfH40W8dbPAOb)0Kj*9haRP z2HvHy6@`SChIb#MwOze!J#7VNJ_>;O!3+KL{QN((WLe?ypphV9Ap(3wI>_|VSpM7B z^>nf9sw(NHCr>IeGU4>`#@RGj!vC+5I>;ta{C0Ouw*V6;=$F0!n@0Sr#b6>x^-Z66 zi1qYCo+rtc8g90_KVg0~fxb2D zlO}w8Mr+pA={DhiwuJ|bZilf2up4vv=?3^O`glSGUNhKd_{BCI;ErITQt?)ZT|Jte ze?a`+@ciqzI%&!y!P}HsiSo4v?19APy#8|<`hkRf(bcc7k(G6InURq>3#)PoEjiWx zZN}ae!{4n#+MeG!;<})6+uPf}6l14cj*CDKM6g}7XJ<>~%Mmh5OG{&5VTJB#UI{@N zN0D~$&X?p5!uqXB`odoKNiYV4MwCR%_zH>&&2tgFq&;0DxqOv!((D% zT;1KnOG*fpF_rgh(VskyQt4^Z_eh9+8rqjmzi^h8tnrb!JdKSrWz-dHx$zg&ToR8@ z4H3O$>~V)oU2TPp3H-KgnLl@Vta)BN7rb$K8Jk?F(QbEoZZBy%1~wPZodf&F`P)lQ zZ|ome&UN~Y_*b=f6CHugt)AU!9&nGmF=+t;qtwJeCpTuR{LMZ*0g{gUk{VZUtQE1zL;rT19ic7sbH7u6+uutU*@4} zWIrEcfrGr+oU?P}b=CaVhU)p@e020$+2`h$wHdGDt((N?;{#XJ{?i+?$Cb9s(+pzA zr)OCq?n7b%LW11-diCPs;@r|wo$ycL)B*yZ5D*=Dh8f{o!kX=2c~lA?&#pP4_7E$zqU3O=RhTf9xjH~#227Te?BJ~^Rra|^1~xNQ_A^zia(<=~$A zq$KTEs#Enj1Jd1y4^Y16X1U!@`vlYcYp6H&9d#iyn$_10aAe`iO(wlH5}gWlPoVA$b_ zADx@0q-0}gFJ3KP*-qDLFigaNLRaTtj1H`SLkR={+~R|A;CzRMWbmFkBkt~{UtgZ{ znu;;vzI{|yRfX*D1#<4%tr@Gd3Bt1=Vq^E8pPyq8roq$3e&&VEFt)IO@mDhN?kYiD zJZlpq*3axAJL441ZfcV6lamVeJY-y|KfyG^D|`&c1Vo*3Tr}$=Bf?+B-v!d0qr%6I zNAICGr8x#j~PkK6cy9h|~9qf1=AaJf)HE>Pl{yjN+_LL$X>I_KJ4Cw)*XqD$WjV z-Kxdaa@&VB^7XZ>C?Up*u{Wnp9l;*C!p5FZ|9$=+6s^%gr^~|nwoR|8sX0rXAJE<| zJ7&p#ck&~6U1;kJh)09rlKT1cVR$mns`4(u5~04P4pmOCYozwymi3OtC}DOs0b&v3 z85Vp2_gW+ZerSYQLtZ=mcI%aTEry|CbbB@AUiT;v@&o|YCtoq}q~|}TYPc}eBzZh; z5frJi|J7@%*1p5u8N~VRr6drnpK8CK$ASW;uro=sUTyj8A7JFcq+BgYI<30;4zl;V z7XuTMDhi2|iud%Qe{sCZDEXgUaKjgKvh0^|f`f|n~2K@@cJG-5kBOmn%NT8VULDrQEJuutg)g918iyQ$c zm6x+YFF<~?_d-jDFwJRW4UsYYWvN7fG@Lh6cw6scl=ed|~x=*0_fyoOQ1 z=`Bu9x$k3%zjYzb%IhOSLPETeP*Bu&o2#plA{5wfv}(p#PXA+}1Yzh1k!=tqV_AqbJZphueF8uPV5we=3MxIF_2_!dvifS4F@L|IRcZyt)kUy$=<4! zg$1wvuYEfG8}-A`n0wG)#lX6bu&*r74upaNbE=>h71pl(=I(B|)9Ze<_p>PvjIp%7 zerR9_Tn1u{(W3dkfE{yq5Cq~nI(H6zUq6Cem6?k|>?vnT_0kgWAM(BvWF z9A56X);nC$=;Ldgta92?Ht(&L)dbGWRmm=4`mU`Ht3B5DWfT7#_;pukCPPU=4;P%- zAq`gZ14vYbRPa76E~WAsT=0W3-a|w8-7Cc8?Q32+f<(6a;p|=1=w3+QuM5XdX_~0x zJb{NOZ^Ba2na6)kqS<|5w9ru^CkDxX!-u~fJJi`3lavRNNpyv@qlgT8E;U8jS3g`N zTLt=iUST1QCkUs$BRo-y-RzU7A^(*l#Kc15zB)}*ilg(ugp#&4E$7>2O)Kb_3*nRT zX}KzItUFd6m$as)VwQa%Cq4jpyjSBm(cP_PxuI2UJV?-ZSbpEn`LnuO^y1>iAkCKt zyCs^hljuLRkiAQImZ0{SmLH}$<&)4UB`C~$)fgB{a%*cx#3QpV#d^53I;*D*U4dZILH@t# zKRo1+I8}!y09~4=+pa?j@x8S}Ou8+8&s>POXGy}t?a^Wfx56f(uiX-yH_e^;K0mu~ znzl^xu5EM1`3zE?>`lS~)ij2-1Yg*Q@nO5F z0Z`6+zX*tl;UBFa>y2WPhMC({`(pSMC@31KLve`!>z*olQIVP^%IZqwd5N6Ls-Njo z@p&hOsKkF#h*7h%BQ8`Ha|ARW*E-gd?L0?8bu5Us$3IS{HKFfoR#(>#FWI)!lAOU3 zvYX~+Hadby+-_G;uWJ?@OEAwy{wD7Jq3VGFkXQ@|2*p&?COkj4Y2MZ%$?XomXT@}I z$K7cWNiVp=D23*aUHU)!R}orNw58I_q48)fE8M*B^BE7lozqn!uAV29eAEjp^*=?5 z=N3900CG@j<~2c&W%9*C`n^9S*RzGCoWrV#8>3k4RZ4IpmAx za6?{yYk`_pC@OqyNFDGob6cU0x|W|QMddP4+xdzifCb*%6dCxmy+f?T(RSMkXVU4f zy$+4Wq&5#(QkgAWZ@tRI$*HESp+YG)FiRda002m)6)zH;BO@jF+1s-nciMLDoiYq- zc#_|G9?}+;0HQ0=4_JoDvTM}F0`r|b()JBH1@eZ54yedFwg^iB$YMCYCLKR@zn-oZ zWzuRloWz<8tBbLYJR2y;|8$d=lOyI={@yb;w^jQX-eB2N51p4+w@B-xydJn${-(7c zO2Xl`EITQLpAP^=<8^OsJ=35Bn=^Q&}@3(MY5P# z_O1v2_WV8li%=y0wWurs=$Q$(<%4kI(H7FcAH~J5sl}AYk|n;G8FjaU70|(r4Y3HU zsg^mvyLVW!aT&}@mQPm7k?8Q_BxgixO{&XmV$6+m97h!G)Y$|1PQl~P)V_UPP5{^mL=%+%ETDE(zIy1GzgXRemt zL$ss;vEFO8w$fMi{q*aZ}Ioh-1aMyQBFZ=8CG?MbK4yEM@ zHYnjLn4vQLgmC?Z!f2tTRi>)ZU~45T%n_(^Vl~%>W&|w6!cyG~dHN~@3)@GA9J*xh zCC^`6d~g=oAA`x=Ams{hE6H9iXZx$M#jk=GlB*qyR7mG`VCTg^_Hlf`Cw%V-G}IX4 z+Y75*v^l1JXyHW9RQh98%HMyvd8X>dDKpF{gP+|be9ZL#b7s&i8`IIv4a(Ijxq=Bd zz3_znzO3jSI`8^nyJZzvU?gWPSaGelj{T(^ zKri|-dSbrS7V7FvR5U0F7E|TPCFM=ZV|=z))|q~lwn+oODML(_lA@~Zk1gqk#)E#> z>UwTW5TFy0W&RM^Jlvv>;>7-znfiW-%l6yx{E%bch?Vi?w1va(+;a>JtU!H`p4QV# z$i#CQv|hTMIvLL!m%N!winC>;!-5PvAOkhc=-i(4v5?{J@X>x+s=28uE5rJ|nJ>b4 ztB7E}AatFafY>};krEK1etqS^(t}{>;o5iOsApM}Os` zZ&BWpm5&w`2spp!a)iyvK;H|n#%o9Pqx9+*pPZ~#w5>yEy18}|4UItD#~LrwzFkj! zGTt88H!o@5#Ky#oc%g^Q47qOO<%Mw_lX)Jk$~t;jYE`L(<^KRNw)qV@r=7Hxg=ZIk zm;6KKhZNr^<#=sIxfweYI*V@-El!+yva4*-hDKtngZ-B6KM_^wR@z^shBb3)B$kMI z+xF@N4aMmy1@!ufi+|fUxST?u1&4ptJd^nVNlyOaun{!3Cs6wMS)L3Ig~$(1(GQ4H zyRvim7&b27LiAWyW2C1C{m>U*g-X=#yk?$g5hRlBf}Twta@i4=wYP$k((HwaUOCtC zwtV}6ouPb^^5b4d{Ka+a8xWVoyi+gzf(~nX;rLjDP@*Vahpd2%=?b%TV`WxIbFLSO z^&1HuFfMAYAI2T65s}|T2i?*zn>P5}@+)OT&waf$D=A9~4|WP<7G%r{;Bm6{a9LZc z65QO_*&!DTCflG~R8mtb^E_JMtOkmJE-*9(u&{U3fHd+!s~1|KdgkVDt`zP>C`N`~ zF1jwo-9*3n&dpYn<&muUcBX@2OJeRnS{jHhuwtGi$lUiUKy0MN8htEbGsv*R3_t(l-jW zqb||Z3d{-vld+C|)L=I+FR$UdBQ4LP^8uIofU78;={aq81aDfDR<#rYZXi(88IGeV zIgu5xd4zMI@bv68?G^?sQ27ECNS)tT_w>@v3G|IL-d75+u;Tq^r1>7Q|agVez zx9b!+2=>1N+t^}HhHt$eY;|&B5W`C)!A)kWG1H@bGZ8cg1_c$94F|{ZIypOkm$0c?xS4~4TR`60?d)(l%00N=DeWFbs9dc`pO%n7m8|2y$1nUr zA|y{A4XN+B)%bi9b%$@w4Z833-9^99OT`JC2t<0tO7ra?V?_(Y>l1jb`Rag zSB!COP@_7i^%`fLR}schqSnOJlw!sPa?z#i>8jv%I9D2MMS9LX>vpz|?v<~ht3_AQ z{=#KhEaIeNJ=~)|+Mk@y&(Ei96Bzj}p)&0;?39kwLR1`@R0fRx!YO8<;h3u~qn;qW z(JoWP4uHP!{-BIt7U2!y&1Tfcao@{K;-3>xAtO01Xj z-Mg&EjSwGlpO;Hg`==w<*ZJ`o!qfDr#>U)8n3Q()U>FAI)W(1XA=i=N;aupW{kCkj zqUvfA85-0)J^`=x3Xf;wj==$?!G7HSMtUz&2!_&#@aP{u$g{U_j!&c2YaUBV-ox<% zBT@~~?8JSa2rL2{8e)(LIM5(J`jviZ7MW|S5#e)HFzqO=7$ zzRszPz1-~y(yH|LZ%N?V1v{=Z)F>PD1@-ui*GK+{u8Z|HHTms3B^aS$Y^-d>H=u%z zMYN`Sk-e=DW^0?M(n-NGvFYsIq~!^cfTpGH9h|QM@8j{k*|i8ytpO|IM!7nyhO=MR z*kz`_wgV>Jp{&F5Y2h;sMC>LI1>1pQOrwMz7wqf2lnPEqTqWG<*`b8&M+S>TGmgPx z1=!9!c*FuyJ6$Lt^^879;cqRnnTlgYk?O@XC z`VORfYbGP?w7-5Swvt!i3tW&VOV3HaWqL}_kfWtlXnZ)pTBtE2ovpFSc9Evdb7{#G zAwoxg?!=|q5Fm1oTK(Fo&ThHr<1FG>mai}@vzyZpX=d5Y z_dnfDuzn|^+0H9L=-$Q64UvwLSUl#N6yn?MT5vV|k>_P#CwrAi#if&}dwTNNN4f$h zUCnmO0=o)YyER2z?#8ZRz4EiOxD}QcW^o+AF!bX6^{zP>J{Gr@9W*2c9xSLpUve&Dbf z8K~75lmBu%J$c5!ARq?~JfP!ZQco2qBxXGyXl=T1XZn0agQaXE^Ko@*ZH+WM z1)%$r`ojkliOb_(F%2)fr>7y~>P;vF5sr?-_ODFNihFB9MDg>=H!*}RnQw+#t;1}; z8Y8OU_eUd{0+<1Z1f2X0%NVd8Lid{y%;%gchK4`uj<3iXSTK3*)`f?Qu)H&7vK4mT zt0TE>$MsLA$mP75^Jp{k1kMX6qK@A@e!zwohmj->7~XYe(p5MHq@KR^<_uRfj{_9K^uE`M|yE zN(`OwnT`qf$Coe^QA>Ox3W<(8AHF`T+{|&Gqeov~vgfe@GHvqMjEpc@lz8$p-CP8O zN5~ucjL(x(d<-kc>|;?b2-e1;KmzDroX|C@^D=TbUqB$_bd3*UYpAiT z>^aXrbIx^LQ?_7^PiOw2Y7`y*^W4kSGN37^w|AGgDWPv0NTvWpfC$UrwBb zc#(gzjjfQ5+{-CelLQ!8AnsZn+gmx~syVr*90D_%&FR7;iSmO-CMUbIACD~z3f?TK za2Bp~OtMxsWeZ*T*x@QK9oKABRPe!zenWiULYV03yPi-5c7RQX;?=6@pWb(Yxs6KO8;bw5PKOa9Dz<(0UXgfZrJvBu9G5_BF-qUWHZGagGRJT{qNII|Bs?RGF z-oBtUvBsCW;zBxP*fILp+cvn*#K>?4#_$30S3_!6EU*aV@pZ|V&Bb8ZXzlT&Foxo7 zm-a_W*L!;g#`!~}xl<@Ol%ciP7a|Is82{u#WkGVjW{kOQVfkMgU{xe&uc4So@4DG6 zSaBN-k(bYYZq-sZ$4jLSutC^k(#&fK=E6t53+5sIP56X5Edd=k)@MtLSj zIGeVT685fIEdTwskiL^3sRK#I7pBIl+FI4G$BO|~XGnV!G!y+j>i1yAwKHg3#q#y# zU&r-XBIW7O_(Pvg9}h|@hWSpJj^YHtmyXNIYj0bhM0k{6L|PKCmZrj=^o;PYc=Ff0 zTv!vn`*dLj2H<$y;=RwOgpC^N4n|gUOCNJej~GrW^Hq_iw==JJ<$=i6+ov_`bW>O~ z#ci%=qp0pN1VDb3wFL5;WRLv166IKZccF}D{xQ^4_}TE723qrdVjk&n;(2^d zV&BakreUkiL^hGc*yq|7$s_@<>>VQ%;dY{d7OO$Gi;If1dWMI7ogk8LzBiFhm*3n#br)QVn5%}k`=tVA z?vV~68cUQlATu!hz(+wZ`Q+6FN0qPiOttkGKHG7U=yX65_jPw3-V@~ogSnHHiHc^w z{%+m#fg2XjI~LCdV@)80-EIH;Jo)$QqMC=tF4poG+OL3<5PO{L8|EQIuw~VfpvjPN zs()ke`VoThj=6a*6hJik{N!koX%Gt21OxH|q)u8dDgLN{Cz@0+?{=V>i=~7_eG`MU zFNlHaF4S5mo!-KY`dht_8jA2MuK&?Fh}FKbS9~}xSs^i5Pm3y#IonbXbX4`FxoGk#KW%q-x=7_mM+;!6cV3>= z2pkj?(AmQX1WKgxBiNm`zt%HgyP>zMG>XEs5r6Etee-WPeJK8RIXCyVUK>R1Oe z+LLuK$!>5tY{TQl*}_41zl(eyb%-MZcE&+R`N-u*UW`?3tEi<_B>p(1ur?>k%GL}-WkEo9}N6Uj*ixwC3grBEBS8iH0EuQGlF9xiwDAkCROozXoXe;Hf@y_=okS zw8J>A`lR2l#8&;St#Jnw6Jq>bRkW6&%^Wk_(&yD|^lM%4c{+4hH8b>nh!{)5((TT} zIL-jF6aKODPEkp0$t|Inb2nPK?{xbX_!n#Af_92s)4pWEfMjoXfvm8+pFbf}d?513 zkz>H}R}oyR8>ES2_V&-Q&+8h%m&Vqfz9?wtrHsTFj+ZshOB?fB&6Rq8866M7CFIS!!m_de zLrO%MU$@4Gv)y=5-Z$f3n*!{YWLPRL=Cw%R*Kq8Tb?aIZnfYhDN0DqTF_sUE*B?J# zasMzjNelq>4RFpa2Ln75 z=czno)2oR8^{E}$+E$idukhw#R?L;4r%XxwNDE0DSysO`TCjyaFvK7#zE5V1+@!G2 z(h##yX%H`=#D0+(9*c=R+}Mo|t2u0Mce?7e=tAmQiS=yCYoD?AQ0|>$FgHGqxS(4e z7-z&~{*f#)op0y3VJ-go@v;&ny;(*+jXtl_d3R+0AbkMoQ$0$#Q6XypY z2{V0Bk{{F->uE@_82IHGE}{L{RoB+j>}z3PpY>TRYS*3}{p=ZD>wC)b!JL+thfigr z>v-mt#VP?)ZyHsRqxoSB3h6Ht8Y-&2<)`%kR93hfgACGa3H|6SyR(fE(;$BQ^__jd zx*e;agAK*2tfV^5(jcHgW9xM%S&zD5O^`HrCL)2GW;_$NZJ0rTncu#w;D=dXq}F<~ zZI5F{K{PT)k24b#98Ko}kNB$VmfQejMfye4L{+BBBZ{pf51pjAxVeWbvfE7N2PcMH zqOUuNHE$}wL}1>)?2S$dlkisi`%e=h##?=I11mV?qstjt(O0gsj%8ti<+<9q;P z(|kW}0lk{xFJ9M)mexl+x^E`HLiyzwp%efFt^ z6o;+Jyx~q%pYm$@soRD`HqPq&+}w_Hn#SWZX+aYclg#bN)yLEe6%Z)w=`2L3ugSFx zI6UuC;1{nn?$xU4P|C<=h2)p>`-^4vu{Ef-uTO+oiGkEpSn>rq<#c1^#k?NHcPrR2 zpqkwR)b3p{-ke?-moypU(Ys6GxPB{gYii!n=L><(kmJ&l6n7V?>$97h{A2keP!{h= zQ_>}QXh@=z5tPmDl>bSUH_dUX3Ae^klOw13G%Za#=>E7uo=j&Lg@m6<==I(xr637P zkHU%N2p4CP*_7M3%8l;X!QbciZz#KG{TbxnVZMhOsY$hwGN~?Zr6Z|d!=TBB_To9= zb_QRq{T&4Gj)7B)3eOMT&-`)Z)vEWKZ(E7|#df#L&-_-)MH+@<`~~QRWi|=Cj`>49 z(p%Y>PVpDj2s1X{xU;>Ps5n$X8A60(5V!-6r)3?s>ZZQYz+`p^Kc}Ct)f7<*Ov^)c z)x{F~*mHUyk424)-}AZ$6RoWR2I2&{N?}1Ty(~wi28{T%q*bt@b)APO3^*P?0NyfM1J&%4WmZ>l)li1f^yQ~(;WS)uLIUWX(|5)gb> z!)ZAv9{!P|6SdytT&ZT_ODdpCYvX9jcxXjMus^)zwah^&@)_#QKa4ezDgeU`+!B3| z33)v`6W>b!K`CGd)zcQ*tgm-=S4QP_MpxoD)f@}#%6jyn{#J&V%P%d>Szr2wzI?`r zcd?aNF*GpXE3ocmY(Er;RI4zKf=Gx&;*Q}B{<=e6%xIu^u~=u-sq!L6+&Rd2(<=(M zj!sFl?u_kv0=e`j&|VRc({9+Z`J^L&nL6Tnrr-EUKWO5Jlp4vw-_URxfbN4bRD5 zf0hlMo&)vwX0kc$xjPO6QYu$gxCn~)tVj+|>ZcRF@k?FHfKHb*B?)I@1ITX{` z(T6+v)637fu6Ot2q?1T6^-zG4pVh&^azKC`N~~|q+i4e35k>0um+Kf+dQ0NE7xwo9 zDhdKIW`x<}ric$WysERnq^BoCywwoj6xq2@=l-?3R6Ip{5x*2zwfdzh*$f~|d!sK8 zaqkB8!&HmgT$e9vYlaad%$=pIFBkucFRhAGWAUWH(_Iw-_GL}h^9dvC=#kOM7pVZg zrQJfR>w~NQj?Et<9MLB@ zyXX57X9O0%h<*?|cxf^n^o0_(kmjWjo-;@bDMEvO*udAZt6-5P5hNlxu!Ej&B3uht zch-RE%A6$Fx8>}67`F-qR~hwBLv$$3gHv*#BDQ3P&eylaP3nx^gICQ6P`kQd$shYh zS5 zap&uzE=QWMM1Z!AJCe|WVJkJQI)iT07PDHQ?UifI*a5Obr%rTyOa?d2YICsD0duYhWnqk0vfd z@8Ot^Xo;#@bl~78W*VFe47r7hBJ{ti(C`mK)PP$4Lzs_SOD4W6P_fDS)t8Cr?G4fN zjNI_%G_qA!#~}jDLUH>4u!ksObteAM-|;%jIA?8H3#3VR02`I-1$ zd9!0gB?J2+H334(Xy00-+Mbp6G-TKF;1Tb~h7t|0% z9Nb*sR~MJQVKs{nw_kJ42WAoTpq*IBo_t zAFB(<5)BQdd~bU%n#Rv|uQ}=O^>`zKgLd}986ICzk+wOI@XX}xJ)oO6Haa5TRnJ{l zpLLu|$%H)>eZ1|wU1AvvOhzEJt7Z_If#7aN6YCf4Wu5byRX~sU$}31YM>IQ1KeAR_ zY)35k=&F58HENuE?qX<~Wqa-nX)>+3ZXd8(Tw1D13lFb$Ia9xLp0*-x>Fb9Zg2f`Cl<+i5 zyVI7JFMpAMf;*=c1cgF=b|v61w5E-*Pp}nx39`w<;Y|rNASx04_}f&vgwp zm1UK-t{ujzFQ34@?1nK}r)Ra~mquPTh-XZv(g)z3rS9>!TQ4~9i26W2Bxi4BDy@_b zlccG8lr`N6TcbW^XlqtIr%N8u*2k^!#@uCWCEl7gFO(lxp8Oa)H~0-P`w^(W7BN51 z;ot7e1Ot<2cZHuH{7MK)DL^45ig8NWNg;bxFtW9?iyeC5b2;&c>Trm>|J>`JqJ06% zsgE~G+)D4~!!aD;wQPt2W57jQN#L6kd(smB+i(yD~Eb{B8IAmmJ(YuBT~Q-;&KnO`NGFSlxn<=j8s0>4xw2#CYT0 zhGX1)H~I>zV4bL3K`N@ku?Ob1@(gUtpLH2vW8gJ9x}f<8>$|#A_z<%adh`>eurgL2 zV;QmvZ!2c$D~DAu=>gA?=u?U=$oNVB{FN3p(ob$?Zgk>L(-?S(xZm4j2!n8xn0550AB%I=3itV^X1y% zIj9LZ3|W!jB!3t!(cZh|ty2a|PiFI+xoU(bgWV=Z)kNFo1B7XTSDIJte4mHi=7lKm z9*BI-{V+10K-A{E$oOj6F1)-!DIPd$3&gjFC&2mo!a|lt!(HkjKI_HWFSF$fkeL7p zc$K%)UVefRfJW-3c3NRrydZM}mu&=Q-yhGtpU-4sUEY*Qdj^{r;kHoz#YzKvc=2ZS zhF}t)6Wv`NEOMWe+)50S2(vHgJLni7v6VHoE0)im6Ic|L6X2PNcz4{M)3xPn)S^M> z+Mvb)qM+Jw7zcby0~;uY=_`Bpnyfw*9LXBR)S|=`c6Yt)px*;JKH=Q4x%CE>$Uu*B7&ii zT2|B$48l&d$>6u0`3rp^yk2-YZc!p)Z1~4p(n+w-^R-Vmz5!XNP3Yzz5=8XQ-fyFe z&4>!X_)N;OpXJfdsx+jQFL>C`9ZZC|7ei?W*PNy!blCaC<9WZI zlC;YuGqN^Vuz1pyr1;kbC%*W9Kt!t$k*YZ{e**WWJ7Jl>Lq*)J-n89cDNRHQS%Lc% zwg#^kmcgpZmb5)^DflX)x=-f}m^eI(L0`Mv{Q|RLjNHcBL_r$9Mz5$Iv{X>rhUu}{ z$q`8L%vy9PLdEoPwHH^fP`u{a*fU#ke7bO{fmGOsR4;3*(d(KWTg|RlF(hmR2f=wW|y{g`k-kr=E{}%CK~DlC9&-8pV!@VHn4Dv!t)XRp{^Wc;l?!gYmFQ z`F2=QiqA?7eWy_P=!r|UsakOZ#HjN=0B6c2N#tH*@;-<-S~+a6QN;AQ>9D-FLhd4M z?FsudGn+Zdu)Ujlml3U!6%`(SnlmZeuJt>Qy+1>jbWTS4ldwWlaKu$myLR}EJImMW zZ0X~<)AEXw2V5Z`jmQX~Gw3JeuhLS;krxO&(!%ZS2m2FT0@0M`;LP^it*|g@MPRSd z@|^y&pdjSKvd`v;7vx2(?9`Y|?BwJmi$vjk?d;G=>(roCPOL~Tpg(_WR^uj7P|$ll zzQ9*#Y?^m6Rrp(Sa?DlVcmT6r#S%U%#Y@v+%7Kvj{l(oK4;>kWV%})%LS5FFM<)My z&l`f@DIIe9%(y{8!TPyhY7TxtAjxk^P)D)jT*cT2=2eL-DkV7s z`$o^efZn@$OQE!8J;tvo$ImZq^LuuZgha1Dq*ZH8!?;EnI!wA86W-X9~-8B-xEF-9hy}w&fX^$ zcqd3e;(+KS`}J{dE*-~P;UzndWe)d4F|e^=;9^u0>s-e&Tvj1<51PYi+g0MO$M_;< z22z`05|;)(k0OGIoFg9vuJ1pl-KR>-)K{r#h3$oSua;egnau}Xlu#F33MLsO^cmm~NRfJ7x!@rV zXV3EmSLvUpCPCEMFkR}De1S+IB!4(c&`VuiSq1&frwKIM$cyS_58h-yHRC0;_pW*V zy5Z>RjxurGUSDr>6o+%>CMLF(K=Tc!mbq6^9YuX%?rZK^omI@T$LVu6FLG=aWe_m< zhggU&i2!P9B1#9xh*|ym*!An3TmR#N10R_79u4@NeW0^SlPA!h+nPCzFVn~;Uo3Vj zNxda$X};>@Cq;C~O^duq9{WL54YSZmYbg`d*j>YLjQ5q;9uusE$Nt3I>Hb5O6G7O~ zrEbC<%K<}XTb zhX}Xh>sh_FrBY2PdD`0djJE>MrvMqB2n8ArH#AX@A{BSo-0UU4$0R}))NPE{tE&V3 zXnOtoX_@;6yn)}f9R0@Z)T{bV-j22eG0`sl_=LZ_iS|NW9yO)%tHQj$%Z&QDj$PpE z+lO-P8l69Ah?bO8)wqYFkL~7VN8`VROEkXLS6%cBd$7Ew{63LAbvT%-(VN$s&ajt_ zCJ}(P@}GIlIL9l{t>LX5$w#+FUQwj_ELrpX(1Bj;=j?It&b=J1 zGQz)DuBj0F$_KglWlrAAo#ys<%&J6~9V&qCHWQ9OgK~!D&g*J};O(p746?K)BuD{Y zVTeeK?pR3gpJ@fZ3^&RGH@r|G4QqacP{FM(D9h3gZEr&m9NkZd38~`WZiKwzMguU_ zPUahID_YLF*egY-Hq(pN8xNhV-d~u%p1wYlG?lx1`l!!oUrZ3sX_*Pq?ioTvW;7F8 z8bc-+znPAIO|PhYHDENBfdTOsq=om|ZW|JokWvD|*(TISbDy{475v87#WwXD&x75* z@5jh@yR5qL-F^L3&KJ#jn$ML1;_Ugx_Gps)1%_~v=YHI06=2))_LbK7dM#Q|-3O@p zJ{SV{^{uVEhw$CqAovzWz?$~T0nb>+KoFwdjJ~cec*|%ZM!w<8iW_m%^ihr5WqI6^ zZ8MCOGgaSId)50@(gc?r!KBm^(60?(9jEuhKF0bP(KbD3cyS^0WNg-1@5}V~{r!E% zSaPYnU&6I(WYZ=M62AuUq-?4+G-{@b@q@@=P=+lxmj7fXP4&(VR-Nac>qQaS;NeQM#Ye>tOd%BB1tfy5XDq8}!q%WV1*jj9B8wNzl^Sa( zEuT>vy!AbpD5$F)`#}qp_LR!sh~ipWAWh&c#2FbGl}sR*fx%AHkq<5$naw`}w503? zopyKGR-E`LdU3NIp{}_fN#BvF)KxlBjot7@pK^SzqM}9Z)+f#v{?B_p>Ia(j#>91sV|j)OSIF@B+$_>cbr zFjoGhsX(dQ<3}%7bT&Fj4^a9-6W1M2Wvoj^gGiG``K8m?QN&5oh&nKmc_@zy6&*eF z!U45g9irQ-M*zd?{{ZYj6TiU;$*3@1hd19*J`(8>E(L)_^4VMOL#cNMunIxnP-!F@ zag&@pL_gdAuD$k3x#EgT?XSnZ^ZF~Un1p@*mSPgS;PV`$cu8z`UUqhl?ysAfNhJfL zohT5uJLR1CLPw9QuDTXVpBq6m{dDhN8t51$KVrm4^zSi@zZ~@M*TtY|_0xt88xhs` z5uURx>Xk}73aI({1(KFdp*9Qi{rGO={_>1S$;mm?`Xi&CIMzAlITjdwQdoGj_4fe- z213Esq-lp+4|e!Kry(uk-oY}vJFh@)LC(I3df?_b9;hzcF&$YW)Yx|KKcasWT--Y z&z`-wWvF6NP(Y=YW#Bo!9o{%p1%-WoRhV)Qa7$5Ls^iAqQ^>r^AL#cZmf{UfvPM(~kR0g?)bh(c_N8?l07TG)enF8JZ=Rox4(T1Mx!zE%U}Kk{gMJY9HQ%SVPOH@=S-tuTWUF}|_~kR9vf@z!y}ebirj?Jarl zy-!=~>-d4Rx~VA}Ddm5HwZMwTX4|L;XC%xckNh6aHTiIAVa5kXA)#YUC;nbsTnk(W zL8jxLhLGM-*uJNqUW`xHI>FrIDC>fG=9~0p`eIwDFkM zbNFzUD)BaN-l+7H&fm;3*0GSUtf;8Q^N{yyGh{Qu$1a>7T+0p|*oBvMG%0Dc{NfkC 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�hnb}(6U!+V=)VIDkoUWM$lhgTi>->vMu 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

    B9W{{fb0B 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

    xt1gvD=$#hF|7s1pgeF9z!S4 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%0A!#;{@Om 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

    ^nS-qliOGCf)N^ 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 E%8X?FFuBNa9ACMV`^Zg{Q!t(gv0jk4Y*l1> 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%0APY!Dor8 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

    a<8d2*=t~4yx$2M{9A=i8x}`M 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

    6`W3E5vA%{fxZU-5 z?GuZ{eTwX=>zc0guXJzn+*s|JoVxKugJRuIWW>8!WkTUjA}Z`9ud(Rsye}b@RWH3C zzW)fdzXH5FNz86>^*(nPJEA*Jz?OXZVkOCE-5qbh>_Ks`VVTGF_vzJQ8I76huKk5`LeGJ*2+vA$PMnkLAW zD9E@C4IItxIJrMx0aS!<4gaEhsYO z=1*U?Hw7>zO5W~US)qOGmc3CCczyWCr$Nb5F&osPa)NH8iVcNwa@`*T}uH>$53o)MJR)9%IO)0ZNPht|KAf=TD|`Cyp% zY<%aNahOJXfbOt!1MJsSl`Ix>w%^^aY%~m-NS~l*qD_=!(j*(YxVkilrRO?jo@?y9 zb?H1Ov9Y4O*+iym{b=(0%jcN^OKNN}ktI)u!@~zvdSnwrRjmbTlD_r9px;7^>ETpI z8-WM5&Q=(%rTBN$tjCo3RJOsV*Ze=LGklT0ts`+aF?oC_0+k2Mi04`$7)*G;WZS2q z-rKGgr80Ua)i2J&G~dT>6+H-Z8~h0VO47)wJ8)c_B>KJ}9Gq%P3PTL&$rG3dG zxWa83dpssBpZ$Xi!o&a&es?zbcUf)J{X{@B#lmHFq?VETMfcS13TRNcaTAj?u6;m7o1mH;xjp)f*2Ifo^klS*zMjifq{c=(JyG)oA#pc@OK|wF9}m&Uifb{e@H3 z-eS5$nfaD5*F=kVZ2sHA>!q=`OXghkyqga)5p8#P=bu0Nxj>iIGhp&QGIC?F`HM0( z_T_wRK$e3cMP0bMeP6huHDOZH&k|v;du)ny)92w@N#@-TdAfaAfWW-6dyzkWyrI5G zmt708xM;jzay^Hx^doPA&V#8prVbAbf5jJb9BjGW+~OJR>8T^dV#kM3Ubo>(}J*U5B?NK&w>McCeC4@|Tu&t8;qBNJd^M0}!h}CkywZJ6UcgeYnAw zwu~<&9~2-Ree@2lvCH0i-{E`zZny>JwCCO!iwY2bJdM?x(e5dE>ic!O)kQtis;G=^ zDqyf#$O^Nhvho*`jeP0ZyJUk#QRk%=F}ou}ff57zwwHAun$@h;CNj=Ye|7nUVcTJY z{Xwh)xyg=R%-|-s{YrM!@`R0&zx$_8;r*$8pS)vYWZ>Nm=v>~!QFDET4U_2kilEc!=9hyVB~k zqG=>~yKp(d1fZSupL4ugN8nIDN#3^M50ElG)olliZ4Y#ZxKDLg|5T9h`Qhc^mMJxs zVsfE(E>-sRYj^M?09njw4dHqKTvxssBK!hf0Yj_!ldc2~cm3#3@juV?+fcnFF8;PE z{8V%&`Ayng0kg|O`FDgjDrc!Al+)^MV|_}L_7~4nocy?N_2r&>tNgC(#@f6N_T$Ls zE4U$iXa_7GyfFKdH#TyFP5b2~JZg9tjPdNN-$v@Luly>6b)H7%f)=e%t6XRM2(pZG z+|Nh-HO^03=ub15Sg*6Hkx?}_J`wG{zgp;h3P-8+Vn_t9|QSViW45KNHfcc9uTd@N7S1vsScfUuB^-)ZLO#e_@5sN@*s6 zLGQYs-0;M>Gdw0)Tl*#>W$X&PnOpquLrbKgojS_Tg%XBZ0!5(8auu*`h)|O%`jEMD zt>MGN*1#uF#HFKF*F_w~@v%h6b2Dy(8rWG)kK%Eq~6s^(Hck z@EWx|0*KqX75YK#8mIVr59$$hrG~}TGljMpDH^UDhv-sm_uh*;u3RRAc1sJsp{vb` zu8Jk%i>fKK7J;w>;#6Yc*Z?zCz82|Y^g)4qxT35R7VACDIaCC(GXl%Mi!n@({H{Zv zPVjAu>1sGOo#1Srw0Gf)3hMDsRt`o0pq~7Io#C3$N7`+D{q@Nrhe^6oPKKmCv?&Fz zUU~l!iOkGOhr6};+RK{nQiri~6PLiCn}jL66w##eAP0nF-9?UJ{aujGuDy(g&=8#@ zho47KzLrWG&dn{!{={U*;<5l}>0|?Zpqc0>6GyRU`Jn=6{(Gj=P3OG|Mr+}@biSVm zuR5(OQEJaQ7H0jM`10;GfrBOzL z+U4x*zE^l?N*LUnM`kICX@ZmHSft_{n=L+nbx|e0P!;A<(tddP6eLA?Qx|eghr3Ym zzAWWPbaeE@s3PG}3NM%j&dE$ZpPJY6P6FH`*M8g%Fx1HTC_th@8OL}l*i4}}bBZsA zS=1-FKjc1bpUA`=1BHIIiKq_~Q@>3x!$#rHIS-s7lKQ4M}r^bY{c)56p8mPXRyPE z6y4!aNww^UL6oW7;mtt-6!5O^=v8^@5(qhEo1);9oBh>E+g4BqmUt)4$(x#xT11#0 zQ(s$I7OkP+Qu(7Q4f`{%5Z{SzOzM19B}E3L6cSQ<8+z0fM?G-Ug-u{mINHtGW&-Ty z^o*QM+IxRvND9qWO~a42|iR8!_>#OPx#B0Abj;8Q~ zYe>rpgd)a~dv#+Fg&9K7?!KYBil+D&a;Ubg>_E(VfZ2$M9Gk6#D}C(n0M4L9SWK5j}M0@UNY`du}vw#4AsDPdU|5ETm=dHLvtX ziK{RWi|qonpAl!wmGyW?|NV0AC}Zwqjnckpo~tEgc~AK*t>^iTsV&p1i)w!GJW!$X zG2B{5QoKN3fvj+Kf~J3aZLKRO>MG7Q8K?iiA(dv(dw<2oP$O@DjTR-6j3g(iS$!HO zZ*&6I;FLdYMVoB9*a$W_P6H@6m=ZwhCi(k6r;w}4LDU3CS(&EN)F*UFyU78D%$l0h zs>0uD#p{?kbku1=xSn+RY(D`e1=o&)L{j{dBjG^-gt-KQJ4;xv zT=&G-eu4Y^4HC3WsulT`ZbjTvN*R$oAxjbj2Z|MOj{~uMLYn$vnY?XJp^AFJ&&<7d zoo6U&clAQsp7>5o;9DI^Z?UBFd~y@;=7!# zo^M{Cha+>SeOK3-P&U47j8p|0escE%w;96%b2sY$|lUo;8GCRE_KBqUeTYnF2JAMsO4i`Kc z#{O~$?$FXm>k%NCyywY<>s1x@JRTV@R@a4~)$PXQS0`V;+sp7j_fb=&y{W($Ya*14 zqG{SDI^prMXlE<@C7Pcwglpd(_aT&$x#GaKDVR5WfGeten2$>gHV_Nk9n3Tk=8%3x z5Nntf{3FAU29oWuwZ5)6zzsaO|LAy)Wp5BQ9xm)1>N5jz`5ZC5X+7Nft!1QslMUaA zlNs}AZjA4`JoDfw_VE3_ipv&;2I}LUR8>CM7mgNyEC1G;2)L{kS6d`fQ-wZOFA}mk zW37ZM_Hs8ICHjN#$i1WUS&nb%FdHh@xNB$&6iOE_I<8&g71qt}mb^*mNH(+1vM2`= zx1b8A_OX7oJ6j<&r#2(RT`6FpbTuesK~*JIR#D-zd}ghLWT6M2s!-t$FQnR53E=SA z2OskGbB6Ll`w znj1W{AAPt@B#1{kwV3ErbP|RadXJBx{I)VT@s{n22y(auUuK*02gWKy2pc2U8E{`=i9gX> zn#@dx%kV*=OFz}KS+()@t%InDi9tKh(bfoFtE8h6N$VA%{L3c%NRT^%NvNX-+IPV= zR>pTwUOCd18oAA%`o3Jh+|ZZt%t2t%M@RIP-neEN94o$=&D}bfcxyTE^SyAae9z~h z!89XJqD#;7F_Ox?c!z>r#|HM<#v7Qn!=aAe^$TBEy9840A!AtZ774_s6z;QD$Z}TnF|)!lma8`?C@5?vuFGZ6;c3_8P z74F2&6T)Fd)t)STvfqP!dl%e0j37exIJraMQZXA*G6x6q?*>RTa`%M-lYisE-_XrX z!N;vPa$f`)z*5a&La0e0U^bmh&HTz0=XskqXQkhkO>eP_%Z?j~dFK_5)84a5ZCTn> z=deBBV-(c+d46$aqP{znt}xKEU=e<(Dw33&&$T(7q|V8BLra; zdH|9gSX#?dhMoy84O{eR$Gk@@rPk-1e#IE@J|(N?X9b7}&XZg`75nb-A-u=wgu~gv zRvrdF8o3d9dTaIhr5_MYk`L|n>y73knTy-J+-PutD(Q7_V(g9~%^rTpUOz}hXd{H` zw7@E>3IY8!d>hr~i}b@x+(s2HH=~>P&-1GcJK8`V@X^-nv%sH%)`Oj7m%u*n@D2sE zZ^P>DI{3!7ys9zy?dj#&qgjwYw!=ZNW8wBJXy5azOo5M(Kcd*s^9uD-u#rXukLmY+ za8Cd4>#lur1AVo|va_!uz&-S`Q3Nh1Rw>r6@f1-9>;D$0Cgv#@Z{)Dgy&2-!xZE#X zYQ|3#+0TO(*;_Y^QSazdCi)yce<$=ZQON!7y{p-onU=$Y$}q0=s8GwDf-!+b#L^5+ zWBU?TXI^fwV-|;~U)rC+JipbMeRo+uFU?^boD~dWbbAE;d&oK-LVd70!9-@!qcUnh z7S47VNh$o|C%|rVB=aEuWuXhCb~D(yg+V#HC2>?G!$k8BU@rfqN)~LygqCs%BjQAn zCEs1Rhs8vWZ!j_{R$YyZJb10edr+Hm^IYw1V%eiVeIRXAWTaAmZUnO^p}HNu&ae{e ziRTWBr?sV6-6 z6V>6B)VF)8_VLlzw|^PK;yt_X5$r2%Y2xT+IikqtKk|6bk2eMI5Vg;5NR*bBiH40% zbH7XOz?rnZbn0qpsWk%v-AhWOTr`e~%8hpMe&%mK7W{;hS0aep4SkKewU6ZRG=e3g zSfNGtk$1t^dWyw4gm2XJRjFX9m?d4~l9Fh7v(t1cXXkSUd>fr_MU@SGNw4_==XXnM zFXrZoO)k|!8=%W-%TDk2V)hr_YcWPT$l3cE)Bgb>v;;;)fE}*WI=yY(*x1^he2Lj7 z#9Aw>f?Y6Doc3X(g9*K2UakWW6-3-syxa8`?C^Nr=-Qpx z;5)bKh9&pwie~|?y*a3t-dQ#oD=C+8V3*~uXlom)v}LbB-iX^fA#0bFk$0vBdy(ir z=Fv%r(X9jQCiM<|m}~ITpZlCbVbxJSN1yoRes#c|H@Ju@uQv;L@Xi0^wDEVlqBVIY zQ$Cj$%R7sjy<5W{ergSR-nI5Up~A8t$ea0F=3jb#BdYSC&ZbRyC7jQ!TsSJqcr0<^ zQ2=6)pecj+aPU4)bJhF@AAVDShVoVq!(oTAiECKc{RGlC1=rnbw5|aFIlDIx@%%+; zwwHJGjf{L`jDya) zN*>n#di^(MvX>b^XYq>o=O>1lYe!epzYUcFKC(}2$H9^)%f5;E4o=+QA-rlAWaClb z1HANx&;jJ-mDbP#v6H>5EzibxOs$rTFS;n!>)!E5MilhTQ~a4bSfMy42V~MBWxZ}S zE-%-$AHR^}bvEkyE%VBC>dE8}dgj+m7lJK#zopDiTr;od=EbcogH=_!Jb0)zji{AS zHQx;vJ!Ncw6ox^iZy&H4$$gsmp&hIS?Inscju3{OFPQ2I&iCsCgh$1Tw%KcwD ziLr@Rmll4hsW?wr@gj+kwt$C+-}o}|=#xZWX;Df0qk}yv_k^UsH%YudUooUG?)#J@ zCokh^LyN&To2>JLlU0=5^&rAJit~1bah!&gP8qA<4b_N>;F7CvosL6^yD=_~9{Rm~ zQPxAOv89Dq)JUt~5CTia;86kiVq+)B?M!$9i;!p2X8$pV|2Jqc7e8Tgu8kR6{m`8R zU%Fmam`~uP`jAn+oR*CQ_HmB z?D#5;;Y9_EFK`Qt{RKykD1QbyqCqfmYdMrE5VNQ(M~geh^+0f{jVauN*+{m^jH;@| z<3-ukjvj2S&4Ki8+#q>&?O56-vN!Df&dlh;=CF%^juZr>5xEK4La0YE-59hZHhy+` zDv&^GnhZ~PU2XLG!{SUwc5Cy6DkH&)=a;XQe`oIh@&}6~QC+pO`hI~wjGx?BC+1Qo zjOqsP#fmvQM39gq0jhHher5mBgU0Y!a0>auHu9olw;Q(Qq;ov+I--h4T&9+}?-c8{o4zRZ^WOSg(}GbwPG*-1UC8K zsKNL)CXek%{-V=sSH|%l4CqY^0sw5C07cpN{>UW$%XG6OqrSefJH7+3=*j!?^=}gT z{}wrv7l|o(a5oOsn$iinda>fJr+<_y{cD!`xq$u%7J?N%qDX=E^xU>T(yRZ9S;WL2 z32*)Z2=%|Y$y=>OVeoK%nsMb{yaRNt>vx|6Z`Xev-m!te3U~Ft`7aJQp;3mVC0w9JE+37~ESVu-ugWvZAYfQK= zf&7n8*D@QRSbRZkP1!tE4+Q24&z5YQ6xHRm1H2}8^oL2=w;ERmnkU)s?XY>Hg z12}HnV_n}5iLI4Dxoy^Rr=iMkggX}+b%>!_jGHBp>zl0?intwkt`dz}Wz~(23t3f( z#tI0^9G2~MqY^RN;~$KGb9K-(B2N(;Y+SuCOmhqd_@!zQy)ko&-P(!=`|X~)sAZ#P z;GtdhKg%ZlSli26h=Xu_)(A^$dq-=;lAbUEE3gr z5rQk61&IV+9@bWYy~;tS7HZbBjVL72qsI^F53)VDYdsMP)4|s~Vh69M{YHkVz_Mo1 zBbUm)yXTjOnf|_*>)G+6AXTX3rYc#p-_?a;+nrbpmG7%g^bT6Kg9~~Qq6z`}?cPxX zhQXF+QT{!rVc^x~EjRe?Q7#nhwF^ZnqK|vA8#AM~^Qsop@YVIjY_N{JMBp_ss#z+0 zv{gec3jx)vw~(NM!_3p3%?=y+w9{TRPIWP@(?tnb2qoLCcJBaXNpFhMJlMirOJg{Y zlT%xC@oWbqSdj$}xOGDrFzLa=u=uJD8ekzN-^;V3y=u2A ze9@ad3w^PA?7e)?5fjqEZQFZ_ZSTDBwe`zDh{BXDX5q*}tQ1(|vEy%9Q&f^Y0Lv^Hi=N-0J z!K<2`njz(I}Zb%Hmqq8hL=rY=S4UgulKBIe8L7@I@sBbuWY(4ELN?{Pe=q{A)rnx zw*2_E!+p0c>;9$|>t20RVM?o|eYrKTf7-qXZ1_ zUl&^)pPK#$Ea_qp78dqyR3z+T_<^rX{Ba=85+-0H*d~t@XbH}3_y^g^n@Bt(RsInp z6CzUqL6NeL^#6X<`)_Uq1yKwER#ulnE3E%`PAdewJVcRXuG004|53949^mQ2<|6ncv;T=E_K-NV6pK$yO z?SEyGfA~|(hLD7W#Pb-x1bT@wmcH@d8T6m8qgV-(0Fu%7{wmP@>8JXH+~DEEW<62D zuAfk)af?5euR5{kP5hdnk;f$NALy$X=f5Ub^Vj6g45XR<^MwBU-Kb!^4%*qu-1;Z1 zFVXzVh6~z%8vFwrUSTH014D}&kpdcv{^{hF0sk6MW$GUeh?lr{6(9?sAr@)%O<40E zNI}c)E3GkcWJ%4V+|qv{2z7N*09BVs`ak&&6JGr-ZYh-n|7i{UuhJeNF@6~Y;9&Z* zW%s|x=`y{E_Z|PgO^Md#7Q-*)f1rqX6BCfUdw25=6Tym^?8u+{Ykct1!HZYlb5zFu zkDV_8UCv)?!44AX(F?Z@io+?W>hW~Es|BvgSCJN&l z>+niGfTVBN#>Tsc1_mFALgonhZ&P^tGn2G6KlJr5j>jIZ-&ceI`AuD811BLKacGMq z1-SRI8x=gv8kMhK{oQVt>oB=nXKFo*i?cCE*`Y+>2WvyDErD{ zr0rQWGAE}Cx5m~+M{;1Z+Hu_b8{Lk=L|7R{j&{6KAe&v3-OI+JJN!nGDz%*}3@2#4 zgPZUhV-fUjD}l+awEPoNKnG6X)(ayw=_=Yhj`G_PP!RTZy>cZOY#`{!$H#Y&VVL&R z$LISKb91Zb&xeU1T?kf%!}itqM2NvEiVv1|=+iD5uIg#}AsFpq^Cy~fkk)0x4)AU| zJJV1K{?;23qEk^U@4%E z%CpQ&5YYrSs&NPajnr5sc|0uMTu%7-U+q6u@we{<na_WY6nsqvT1_E+_(8GuFn%@ylmhJ$XX61IC*Ne%i*HY+AyEeB@ir+Kx{q0+&E8DnGTS^puGhP6$hom*&G?(FujFeO? zwyoZ6W?{KK)MJ0)u9-=CU&rzkWXV)rQhKnXBizmXMPKWbJrNN$i*s}h!_{3DwrUVn#1(h%=sk`ZIlwOTtakkzm)0EEQe4d9hdvLN zxZ$U=qyP7TLG>Z=_Mx82Rw3i})I80zCAHQUFwARPtB(4)LX3Nf%7t#b3UXb)3Y`?DdMjTI_iF@81Ho-~0PJly*GV^!;YXWDn zF4^;rX$Esyu1v%iIsO49`$L$efIY3!cKoSEjfcESAx7|RIKf@ zkYzqXCE`5|Om|xD9{4I;^xKWO*$$iMV1=eJRn)V-ED6!56*c>8ahf@HuX^aPw9459 zy3V7*>E)~E(WE<>uB@@TKt_qWk))hov&{2_Hkl2MR+%19MSC|hq4F=T2cr3Lbb6sW z_?}axy|~S*c~=i?Mnl*W#@)E>-?kTaXYcMkSMT~l-rA4_<-@qSBMP5F>pl?1QT9{a zKH`(uMQ~Twau?Qu+s|^b!`xRtR8ks45qxKjS2I=fkBs`O8#if+2_jK1y*xbX!MGD9 zOu^ME&A6bVa}f5T>IyE&_%*&;my?Cx`IvhnFKRlnK+%7|HhA+126c4+VYYsu;UB&K zv~{GxWBys1at-WkZ`p|fDrhHDv%@EqRb)TXr9KiCrxUjnI$!-_Q^(o6dS&g2@ZV>B zG(7lq#@G`hghRS`pK{C+OGpzajCgt4rXkFYkk{{S-zR9GRu#Ik@@B#>m4M9vv+&qw5Z29lGVs=YSy5-A0 z46Gc+*fh!5{kq%U;1l-qKC#^}C=nBK&4k#{9tibvHoiS)&PHmm(ksf~7mV+tKa!hr zGnbH%U~b%mP1L~rh1LKgSCVvtW8gq=BkDATr$>Xba7hnZ|B1BlVDpQz+;<=`t9q%V zZkPXynn}UWlM=Kq(+n1dn0#4lFFd65vzQ$AmF2>dne4@k_s=A`h#HM}e()*MC-%H~ zMb*@J(p?`QlkaOgv#h(Z9CC5ez{bgWKPFL7Dc}-Mb&!wtC9u{$j}!C~%&C0N!fReW zpp^I0_7J?BDYiCtxHeTYs?%!m1^#uJ850T4Kv>@Tl?GckybNEgzHQYocVMGbaMX8i zAJO3M?K)(bFaMmoP$?}zBDx_0##L7FHH)BY>DA+~zmMh?kzJg+r;QDtEr97-Q%pY4 z>RX=sHkL{uFS-iDc{kf8Sqlre;Ar~T`R`-=ZR0xS^-RklE~3W1O4wSo@Zlv7tuZ6C$o z;_Nk{IO(aXOkRk(CRHY!wnm=Vq@?}I_KI;=`qR1vBqt9kyquR;@F`$(p_(cC40<-c zc@Pw}kV_v}N672Yot3LLicxKS20XG* zRvMQ)$owvAprW{LXr@As$FxU>ff5^lAnQG?vi`n!eGf*Xnb1kH9wSv=MUKM5`N|}7 zFYGP$m&s1g+PlqqHB?y1THS72d@kQLL`sAef!6s%S6DU9ycIve4!XVZZ9Tnh7A%;d zv3>RWY=PZte!do7-sJFJ#pf`R6SQXnZT3@ARdPSwA%#Cbus!H!JAbrD1B(h$-b#&} zYYEG?QI43A^;mMUlJly`6g9V?zIpXKQB7Id9gD@v?>N%JqTXTg9mu@F-Ick@}gb99zNA>oL?t5BUoFb;S143G46UYdhPmi&7cf`474!V1_BudQS0 z;fwiIHXFac@l`zLZKeO}yx;E8`=6?iFKWTxpcKs|{mN-!&&hGkyR59AXU~h726^6T zdZ*s33-{E$Sd@K@RwgBinYLqwFVQS)j)tAB_G=_S*To;>F8ntGwtu{c8Lf(x3*{(8 zDWme>y+$kBvG!WzEH#`qtfHc?o7S1%$`cl`yRCdDoie;I)Z&ge$D#G3zRqF7ZdoE8K)FnNw zlqS>^;5c-jIcQfGT+o)^p!NKNP1|%@bLN6}%t6(c1ek-eZ?k_-gV(J(7d3O5v~?#> zHpgwbSD$D@LZ;4UlswMbvlT0t5#EX_iGe|rSrQVxQY8IZbw&e#qK_YY8a$vcMD2(V zn@bCGD6-#hLVEODq01oT!%+NYzQw0zVpWY^VaVMEuPap+O=2MYDA7k$L_CTtkds$# znuq%bH&<6*?T*MZU~53{M82Z4M8`Q3zBb$8Kt?-JSa?-$p+th<+3W}oB<$<_6=;f@ zdJ^9`c)6U@Pb=b>5{4d?Sh%UBRpg`RoUD_@DBt_G;Vb}u{yqsW!#RD}RpDtpuop?9 zgz1jY5;IaHqU=a}o!$ieou2-_GU;`a{oL^|SEH0P>(bvBGVpt!R&dmS&;Cny$iKgv zodB|FH=X7k(x>%CH#6!G1O*~2pPt9p>YlC~q|}NA6hKSOqu;>C7p3rcb9r zQgxIyb8~l}y>?T+wUAnnwninBEw)-V3dd9IXmPg5$L4KNX`heOPz&eOfG}<=#22Z; zLzG$*>=X89D{1E9;h4RVU+?PuQ|A8yTCSCT9%>(R^gepjeei6@>cXGS6lGmjibvwp$u#LhIxy1jUjKP(|3(a5RP0Ch}LRm^~U33{gzejv-gijY7HtU<5?sWXTd??Wt*1ZdBiKqyOEY>s*sU~zdbf{GTm#XBgThk#eM2&l zy?uc>{_i11JX*CeVZ@vHRG6dT+4Z^0B39Gt#J$&vjy0TM1#R=dMk=d_&5*87A8UG~ z$|}00IGmg+BU1O_y`g90cS&JaD}hmAwMMWi;HS`=#sdNN;@yGoI<2}FEDi=&IX?Z! z38hhCP*WW|G6-^_tV(nw_RD*DYH=`ouoY8}4E5C+_Dg$g^~8y38GAcmr3+`3dvEXet(}QXlH{^eBhii^QI4qv_%X09I2L8Z?lOasIZl6~;hxx9`Ukd+8HA8*9 zU4nda^UJu2bJM{!^?&B6e>av60?TF&? z^1fsoxnCR(Dsbv3kCOn(>joGF2r1D7aYRo-qnnnU(me*0q!+x zOoJm)K_j+d6%-C2Ze^==GjsEu7?-$07q(HukLBE4qeQZ=s?U`D3JEQFlzAD${VCcy zMl0-{6xteJ+u+8!f<5En?#LUpLJbQJ?&nJ6yXE`DRcw_WMbJpy3?T>X-lC+lwEL+l4@JcMR%!j#eaqs}WaMr< zN_i&iBq+NcHa54lb8n9>)`X32W9cdE39Et?{TB)v3u7mr#`6&dAQm=>r~Kd(tF14IbbOxKO@3cEJ6PKNNaCH{ z656u=vt(2<*|pK9ZapwX%z<1KX!y1OMyM017Z&P?F0Ji8OcNSHjlR zkkcn+X3f<&DG)3;_3{TQZQ=X6P~v~j;YBNjQCpvIq>kkqnIE$;w_x+8mV{EI3yYX`FJIn2YBw>HnwvR&W4M!xjy zE!V^K_7on|5jJR}S6Ze3eU3R*vQngDx@~v z`F8`z8>`BT?Z=$8Oj+(}C3A@y3GR*0rp|X_k=ct!bZHwbcz7C`F5@Dm&Zvr+)Ik0W zR{uDo%WI-hZ@^uOvgJT8CGX37tc9!}K2%gJv3;-15HeE4gW}9g3$m zpYB5&XYZ5PMaX$A*Wr=CEOm6q!bNp_IEI9m?^p7%yvEe|tZN@unDP_QJTd>fWE#Ke zuM5ixP?s!WdEYm`f4`s3ZFgwyE(?K7BlSIDc5PQQv9ga#e9^4(==t;Kn&g4`R~-(P zbbXSPj~_`b`tE9}4rT5vB$dMtD+xw2E4C<#+{9d}i*MJoh_GN`KA$qV!C_9d_`7 z++eE*B1EtH@_aEc<|b{HhPsrOfQz{0E&E zv=kr43RH}u6WCLTXvLKFH)p+G5hU|G<$0muF77u-#<;Lf_LjEBZ7&^5Zo>UF##PDu z8CZ!S25RK8&(U@jabnh4VP)p(W}ZDaaH1f--YvE1QQ>F~`m8wGg8_J`rt!%CXPD!fzh+ zIkUEZ2xH^o`i=*6gL+|SA`;7eFc*!uxG;Ej$3F4q)p>hojT-uZyZKw^aRJc3N0IOP zB>SauPv_Ofrulx_RWE9s)G93Spv4&}jtT8N0>3gJlXbU9LvUU*pv=!cdy=qzHIBGs za5+cn!_JeC9Nd~;(61#0gEmXm@_)PZw|JbLR<*5A6W_Y^)=+Y5;eza9ezhgRrt_xE%>A_2 zxweSO(Byrxv<@yEOn^zP}tg*>Oe% zY}gbvTR{oF7_`qnq`B&bHI}MfwRtSHup)jpF`$4KWwX@{wv8Q#%N>}u4cpb@Uc2?= zb|RuUxn)&{6!VGk@(65}%2{3~&dpG))P(37uPcW)CdTVpIQY5sstU>vdW3qjyV&AS z)nTq_I2nPgH@BHZ^meU5VHaCtl8i`py0Eo&RO%YC1N-~x)aKn$o^&2p#4%F-Eg^<@ ztIVu2CjHkNY388cWNI~Pm)WrT1tuo5$F^=hEH>?DTlS$>=d3O~@1nX#)UZpihNafP z<_TdOSOxO|yDcOEb@OU-bWv^d%=(?fIdp4}8`~HGD-6EyoA9>lPs%)KRC%n?`1h~W z4vpz^o=_v4(3-SaJe4!Qn3O)W;$fARTcc_FO%Eg66KPMjlvl!L_vPYw&R;IX3rmQK z)D=K8kTeWi!XSNVJu^FDL4_R znash2XT)i}nGkiv7A>(ndDBbglJh68kV|<_?Ww(6Mh8}YgttE*BaNqH>kxjSl$GaC z^Q?m66-aD>tP1TwetutGQ<*|Dl4r3A+}Y`yW%#B*HnK?Pg`{6xr?{4yNlcA%)A2p> zL@i|!1Um1mb{5K0bgkDfV9wA65B&Iqym^h;VyB0p2I#1`-E^J#n`W(igy9PiSlF< zz{n_rWEX3FHZZ&&cN}^JZb#1SR|)0oP;6&YA-Y z3=&)Ggq=Abny;MVZuV{1V^*H#J#1QM6D~$IsV;a~S0mxG>U*{bWoY33f_(|?i3G62 zK?1uHf1X;{O-F5GR{J93iTOJ#retCk`<3YDorIU_pbs z1rJVehd=@e8YDO&xDF13P0-*32=2k%WpIMK1b6otU~v29e!g?w=lz%5=l7}FQ#Ca; zy?gKOt9wabYb|K??)+&8^)ednY52_Ygk^51IlLyOWm-%}6@C1yDc)ds*i9QR=G$C? z!{|&QM7k$z8=ID+9fHU61$IfdU@@M1H&~a_(|C5D?L)KcXysQVksc=|-nZR%?cjph z6;ZE2FMEOJd&02>cLb>+~?=J2R0pPi<;`4Kml=l;4+@>zg77zuTk zQ@>u#+plZ?mQn77l(;+#X^3hYks7IGWmQs9etvJg!=ia)DAqc`RRaEV^`dw_n6;H% z6@$V`o#exmqyj96p)KW&^~{`{N*qw){&EbD?sHr?QtSdRI^eqBFqnUtE^)(g zs?w4gVgzN3Vx;gUh~k44+@0F5mC=(t%_s(zK#D$BL|=C{ihbenYqopM#8tM)Zuw)F z>b_Mdlt2hIYy8`V4f!A*eG67Ea*vK*5dk)s=ZS#1`KaNk!CWuk?M3R0+;NEt9dE~M zI9(g+1g5=PR0ke?q%e+*i>zFrn&mefDNJUKe2|zkD?ky#3N+(LT z?x+apC1dC)C0g_@!k5N)3W6?~D&T$`L2`|`04EC=ek8Gu#cZJgSi-*$RTj^;M#l)B z9zRA__}9ie_SRn2!-kV%{c88ik6#P%BZ@o3p?$u6_?;%`=ZA-5QZQ^oD~~#GStM!Gh)~;#|Ta^x`tgE%b@`sENxPe|5-p#(xu$lsa>_R!~5o+40Wr z)b9y+7f#b+=C@Lbxw0Udj_6MUX2+Mv*e?_GGY4K$S7!QM(%ybL473RbJgo)PxNSl8 zE*B0J%9@MGQC|WgCf0JELEnCTI?cS#uxU4$(gNP@7Z|X32FKITjM208+J`>A8LbSV z=ZU7zg6gSqn=wbX+L#t`>b04*+O4)Ne;b?F(*|rI%A7JNB6iQTNAevT-L6L;8$>t+ zVcfw3Fy;8aT@-?`?lOBFH29(<8b3RQF~&=cfUrKRmFB z0*=J5taNHR-Ru{Q8SmV4GDY+n?8SHLp0x{_d5kexV4*VIEuKDvc6pd&wnCS7zs6i~ zTd$oWNIneU9&epqEjQonHgSnLNM3CuQl=ixR*+!}Mp5~YoJ)T7A?<+ZPL2Spun}Hx zcdb>Sxw_WzIkWz9u)yr2fn8p1CMAUOp{`9}@Oyjg%;G9Z-C?Z@>kkpeT}I>&1JD%*D=&M=hd+_jac z2<}NKz9@3bnshzEg((%^-Zw=oU25o`TAq)v07>xC8x!xjtr4!$)d(&9^ZtS@hsy`L z<3sSb0E+OL9nSuc$tnRAJp62hZL*4}f{>3jF6 zG%DThXCEYhtTc)i1Nn`h?_<3@m&vA*(8bA-3YmY@vAR}ACxIpJyLk#n}OYu7SgJs8TTE*#82!D)D8A?MP<5GUZj$)GMI z|5X8bT1&xhsF$~ahF$wdH&~?az%+K}p~{_a#D9}mb4C|6`^?DuQTT2!(a2?kBf4zu z=8#ZXVXgIXBb;llGXTw`MScA&X-xGpc_KozJ$?6AL)}ux1i}d3h=RdOe_B{U)LGk1&crBam_QO(HVVG+n<^E{d+qKjZ`M-t|XCb4eWu6&(UlE^Hx_#<3%to#4`EZ z$q%mo`XhEM7Jje3O*k}etnF@t^>EGAj7cCfd{w_^(s$}ZAFp|UE;?+8k~%*q^VAL~ z#3Qk^q$knuju4D!nmv%(U>!TjlK!2e%Nw*6D%6pzrF_Kg%(peWvnyeomwG`FNvY&`t#^DF@!tDJ_PbMLK_a>=MZCIV|WPpW>}tLqjbreZnTO`bJ)>c6@mG+58x<#~6=W zKww>B6I~4wWP7QL!gc!cpv)*yuJ)^$G{sgTW7t|9jx;IVkyV!CzC5ao-e88e_w)s1 zcfBIQTvfxswmV6%dr(jSCufCLOgrEnn}Tia9d)Q`+G^8tA#JKI=erTLlCoE|17Bs( z6X4z<|5kH^hst?KAzgco=(!q+t0H zWRoTq&mrqkA`Cs3A1K)1K02};LHmlf3A>86<=rTOxo_w={Pm5FMYFzVx{0oz$1=T3 zmo6bCK_R|Kv51o%xRaj3E8Q+mDN@_GdGDl5;t?Bmv%OoGPRbM+6pMT=jOwgIu7XJkx( zkQMP!8&UFaT^%{-t2LkHK1ji$s$S7c)~<^ZcwE<*pnm0$JqHI~#p)w#M9|s{{TQ*Q z#Du7O*Ye-YZu z69ze9vp^Vkd3b?^)|`fq@MHG{nP>O+);pRyWT>Iv{pr|3v#ZS#WkE@kyQ8r&!s^&3 zWQ4FeQTHRqUW`(0BO?b3d_?2L@(*t7M;Lljl}jTb>ksZHb0<+kEUc^mLwJg3|NX%p zzERPYClB!OoBPcf;#=MI#lR~>h3{+Np1tS%ZF5b|1!e!_^!)izM0(ZpXfw(GRRk63 zb~a`#RgyBbC>BFOrn4GBV>G-nSf2!z4r3Gw)as_%OlZ_Nl`jWbn7_^7o-F=vD zg1I=w(m`PaHAwO#+59c!`*W4db9(0E5CSch`qdw;S6oKW9X~?SkE3)1ORbDoRpQ_S z+J%m(Rr&E?Br*1to91=)9&=xos2hF^=?shIJ2`;2 zC3^5Pyk4|*yU|?qOHQufBn&R|(9!je(T;bAvrKDm!ucxEka3ML??H}KrJc|32yX_e z;)C&&D>pqi@yx1DOai+KLPVno+abRm>0^=fqWe+#vn;JnYLx6Y=Snad&~~|CvPl%! zGEcY`#|QfW;A3*A-J<$By}(bCmJac+WnDQ;_Sn(!=<3ju_yl?UCOV;JMCB#rKr>H; zRg_CUoB$kh{f|wiL_*9b*jL;9QQks86FekyOnJ&U4|kK6YMW^{+AvvH%~Keu(o=P_ zNuJOC^UMYX8sRmuGG}eV@E&~~-?powY1%p1nof`j1v%wcH97M2gRy2uXxp-o*rftK znZI@e^2s&~;yWEwS)fp_B8JvROz&aFm}4DbrY|s7Q?U2mWHuZOuVc3(d-rJc^jhZ3 zsMkSm@(q4gO#7cH2v=HMD9Fm1IGfZVdKJ%;}@KR3o~i`VJxAl3mK zts;G}mxB2#jo4j_8_PvnhaTnewTo{HwfTF(hObz4D*SYp*s(<#nI+!f@dPR0d|V>{ zsi6}vu*3c6*Wwh_`T6D+{GAN+_Vj~Y2_>`871-?#bY>RJ^0>W+PC9PN(xRO z1k$ug-aFE88nkUh(8(LiIqd}CLd8FT&7WOAP1oBTz30Z>T1|7_05B7*;5 zD@mt~wc`4N0UDji^9c?+nlzefYV=CVh_5z!eT4*_SCAr?3+rO!gp{ru?{8*eyBQ{D zKri{SGM~Aise-EqmOy*2BzO8Rz8|W`Q&4FIa@nKa(5+wq#*aKWzV7<6%5AWeum9r9 zjoSuzuOZ@80jq&8y3CE=;*}=?C4)dhf|BwbpzNDgZfs5#m4d$YY!UNr1_FDWI`q`c z_h+xpo6fUhW$ivxh1(lbA>!6s$RS%=;EA_h-5$LU!@~xx9J06~`S|(GoEDX^2PK6U zqL1F2)ITn-#4=!WlOD8J)8ka}S*e_`*6h@)*;pwpp2jWXeb~f%L@g7NFhk2^l|~7D zNl&TzmP7h2EOZg=$#?1a`sQGYC7UFc-0O~aZHRo1PoLl$i`+83tt{;%Qo7ReEE7jt zMMu4Dd2Ju{r+q90UNTaTwTHb<@Mg49qpxZIiui&Bjs9EHr-C&M!%HbLgqL(o6>vI4 z&;VDEg{OUvP6h~JDLMuM^LDVZ>I6@(qd0o?3JMA`h&)?5Dj+zV5>2D$nkwZVEpT%G zA==vQlanZY<>%_W5Lap@)cz zOBI<{xcQP{mB(rxkj-|Gd>`WJDp?PXJBYh4bsv{gVkCBI>C;7d6_?@l0fh?gJ_oxu zL)6g4L@Le16WtDxkZb^SsfF_`a$xf1`2E*<>3C4n4w5v4ve`dCQ^}0K?;ngXl$f|kkZHDeMvd;o;CAB8g#s&lEl^8PZ@|4ss-O zMgo)EIf-YBrvjUB7$!UF4q4@r*5*$;&GUnq);?g%;>aOnfe;9=`SrUJAo8weOFuZ+ z0Ts_8*%~vfDaF-LyFr+wel5;Fmkm8@X3Je7<_My(WmQ`=ldweeQ~ay~*Mm;IQOO8( zS0%lM(>GTZr;br(Dew$5WUWf%EnU5I+(TNxryI{8#eSa7l_;wXl@p4zqiCjRt6Xg) zrb3b#-{@BTh-9w55ioPyPH7)c2G#J1XNb8jd~0V7^r9gn18hL$JysQH700}d%&o^( zpx99Q^Os{ajzzs>p!bqXPT70MaiZqk-)7qER9{34Tr6#iZeU~NqtP;)IhI1Z`GbVd zTGM@<1HA7YZz1@p96Rn-UgRf}v#Smy_<(G(U>XVR?x8j;d5Z1Oqz=gQTp3D9->wzk z-O5E=uLpOjdkDznt<}4tR6iB>hBrfpcHWiFUJfT44K7~BUiU^V9vJ6MUuG+e8io?N z7$%k2v5@5972Gzpp*Y+}l2b2z^@Rmb1{8YCy>y%Zf-&-)*6|4yK_{P}EMK$apqQR= z#K0cx{*o>ypO)5q{h3Nt+qgh!*kVRH5nkaCK+74AIxR(qc5CzuGi0aD(|Il`bFW(R z(VatpJE?B__p^FW(<(dN%#K*(Hv%acjtbZ?7#$X@R#{ius7|L4k(!Fg{M$D--G)*ozzPWt$qL zaEll9&N2Hq&NAuiUKEapob)sq>ei()?s`(0frdSoSe$(3CmVaJphSB~nPp~Mc;eKO z5)N1A{$yg5>2I`yh^YAvr8MA=`gswj&|SnDyLIbx1D!$o=GuB z@ECeGPvRVvR2?rCSFMoV?vn3bx-qMK(ekf4V;lwNnc>lOfa!2}ZJ*-pfIs`)>{$bt zU3okRM@i!X`=YYit9b+S3WCtTU%ltz3`SIR!!+4f(7z$QJ#3A4g~*0W#SqwTh$9Ad`=;wVBdE=98w=?|d8)1C`Du!cIYY4^%jfZpFh9{1{%*q9IIXe$@M z@CFv+uAyK8z5B?0ess7x_1j%!#Nxz3v4cC!eF%5)Ye0@hPH!K^*1gmAJ6LhM?{PDg zs2h@kcv>F`N*`^+RntRZd9mB7kJqNrSG=dVM5C&wZNJCe^29zIar;z3yV^dSqXtrX z5^l^6H1x4m?@gx+HTw~#@8Z}=PA?cRDgQZpD}l6sfjix**&k*aeDT}4O7!Id?MdnN zh5ROTxs~aBDa5|uXHz-0uz;X&vp%41_!Jf3*CfR6G5As*4`wxbKVha3G$^bzjj zD6@L9F(La3`9TYpQMKvdx!uvEXyT1mS7rd<&Nu5cv$hu*J3aCbvA1 z3L^CZbPj1R>8&r}Dp)w%=WxdQup1wlS^0AAcRtpEawlIq?)pr)E#yR3ug=Ln)T#dD zcw{a}>4AGV$&nhm*r3&=ll9AUaO_e7*yqa25rXC;pl7l>=Du(<%DRY<&JAikXcRK* z8B?&`L=8+1Sx00btNbw6Z&KfI@2;QD=i%Qe2bd_UFf+Hsq`#<42ag|OA&h3I2t!W9 z7l-IR&U9q`qG9Hl)l2;>cym@5;$2kXH*L?4z5W(dnm`O7hOvzq2^!roCJNpyG!+$0 zp+j&h95CA>BO^H>6S69E4SuH-mpxo!7VsqHo$gGZ3&zr_PEM#rT{j9#;-*G&jE&*! z^-z>bY6YTk?#@W}+uGLC9X;q}G`*aU;0nmxeZ`wN7TNM=oYB+{m?Ut{0v#B9a3xQZ zX6eO$9L3e2&X0|Jduu*c$;GA8SdUMNi-m*J<Fu+`dP)Y}+N`>3aRfL5d@bItp2Av?~mpdy(MY*PWvmHwiKuzK$y0OV<>79|=jnKC2s+ zpA3agPOM{Lv|K*{+pnUJdq|8bf0t-)0x5gIx7j{V6@LDqgby=IE5W`H-WLHh@Bhf1 zK*aa(M^_D5-_^=<#V7uxq461bH9c>MYB4FRKlbIh?FZSa<9W?zYRxzngIsV{76Sro zJ?$!g2Or&+@Q7)xh&n*fDHa~$p=W1DYuiUhIwk5uic}T!>pIy?%0K6dy~oEZ&wX?0 zYGy`SPs?cM*4A2aew+OPuL9N1(xc1GmJM#dvM=30ZhCsMESOJZ)3~JfJgH67sna`} zrpeM$B~T_RN$K`;(NiT%2F`@U&W6?p#Ecc9aOZk5Fn}#~q`MYZ-KnopC&1&V>i_tF zYtQi-M8UlEHHa$*hgHfR(8R3F8+BnhU$3QtDbtxrOu)T0Dw6q(#I+;B$|)?Ohiq|E za}*u4a^_M>gWUI=~TAxQxq-*NUzegdU^$^-B!W~k@2kSf;LJc?(*4=$U^6zs!MTA{uLrO2@_y?|5ppor>@2PM#5 zo>D8+_QV~P7DLY3V<+e{dJ0DT*qBc}B+p%t0ZTTgVID1}DI zYKoU26TcPd-TUVw&m)feu76g5+{G{1MKN=8Oi12k=hgiVIv9f+xh{dW0^zH(#CL1M zpMbm2SgHHIUy?w}2Jv&)?h*W)vm{uRq_gpJbD%gEfU}R;P6m3K7`oD($Z1kJ>KEVmDeZF-uPx(SGltrf9Ysl z1M8>{_A?1dAjzXC8MEK>y8Jnc6%-xRp^)Rm+wv5w^TI+Nx0}Ix95eS#eSJ1M^#)Nr z+>d{5ja$K~z?-6$&5Ehvoj)f__3f({S_ERbzS26@9w5{eOKJIe1vI{_gdZG>eMP>c zfu8Fq99Hk+lMAJWyvY=L@>xL7F0&g~PT!aQ36ehar&X5re99nCBgu5!Tv;%U(NKTk zn&T-v8bbrR&LqzW3{9z?U47-RaDo1-_{FZK3XkVqJ)6h2`+N_6ScY-)wN(olPa8j5&kdR7E_i?&s%7F{SvWGs`VK4J$LHIC7K}i3QgZ4VQ|9LN$V>nP zJ(74YA$=f1mU48X6oCGN!|L!uq}~e~E*0X%nGqsxwxW#rF^phO;}qYbnWKm~?x-3Y zeWU+37eJQBVS1`@T5rZ#<1=!36a`7{!C%;0MlC6*S1ed$-|J0e^Z3@#MZBO-lYBrY z>(5MzNMivGU*Gzk+e4h^oEX$Egz=JEymFVvP-`0-%}x9KRAxGf;Qy@`1@^fD z6mvXvSkb;Nw*#+2A<~Tyd+54iXYBUOz$6(!&r+2FA z`nKQBoQ|$+T_SPE(raiQwhBN1R9eTeS-M-~$Pd@RZGuQ#PW_gx2qH_%4)@b13y65f zxmY>hF{0XB2hJsGWmr0)=G)>cP9>)VyB@$mz9&_|JfOu!bpC_DK>Ld88FN$GuTh%B z{vYs=nBQfJVXarnct@?;gx{Z>$3o~NWe}ua(4v1IgCezGww;eI@j34dr}6P=+zFwhUTYu>$kDW#S91_&@T#})DKwP>g4Vz0 z*JsDOLS2kSwXhxXf-HG{vdz4szx@ucw=ND)=eFR~mP?7@b!E*V8yBG^Qhf)VATY_T z2N_j5CSn0^oKS=avAdjb(R*5TgL%oEdB~Y_HN0^4=^{xN5-UU~1sqDk_WQ@iViE5= zbZQ-( zt9`XBqT}@LMxJFtg#z7%Zpn16)`2PF`-j^)T=%5~1NNKqTI5bOvO!qGwuc8`CtLMX ze#F(tb6N2Ax6^Nx1+{F1*!|eDciSN#pYw}|dbZTBmU4NN+*ziylKGp2#jrv5c~r&v zD+p^rF!6$VyV(%&`uO@Fw>}sTrcJ)Ew-(?s7WHFxLdi}`W2SRmx`A01`FxN2XkSCJjKJ=T#stPt+ac^GOZ}}HKzswzZL_fNq&mQiD znTTj*AHNadiwRaDF2*hvQu^tCO0JN+&}9`+=UX~He_2WQ#b{*a+Q5tw!k){;UWTEh z)DU?1gEJgVTRG^pKe_E>J^w;`x9>U3Nb~pnVtE|u==ZU}hXqc_JJw_ez6;RZ;3i2z zSSml2_QFhJLQwldYJ1eGBy`-AEu_i`YDqFvYDh6tZfbM0axS=n;Y_s1@KWh&w#>^#kuY&@?}snKlm7v3XmXrljVP^lgBeAg_BxA8m!ZQ9%| z`1cUWFCkPTLEiU``@P)is8A3x@0f|6*G5S^-a?aIZuwAT$;Lb!m@$Ee`&7s-`1dta zat52Ty!_Vc8-u;Ehs=-DsXLt$f{%nr7*9)pi5y|+=Aw6K=(%rVa!O3?a!w(sTDz&R3gO^TOpgbX^Dw6 z+&g0#HQXXZfk?k|!wkMNXcin&;sbulJUu=r7i<<(wB>FJ*8egfU#PXB%DC?^wVvu( zc*t(0>4rCGb=r+cZSWq$hZ=(k%|l70A}rdCIFZ$ZmZrPBtWMz1~Oh_ z67~=LrOOqAA7n#{yU2y#xa?;oTq~61Xdu4JUSi*h0YDu!=PK*yOAQKdrwxaz4y%5* zlz;Q{aDZ9jqYk`X%}pH*rJ10^qM6}wI;dF26>+mop!U2aQV7T$?EC&{x+pHYG#smr z?I}xy)E%|M9;o_6RF7^}pc@z~s~b$w>x#44ngX)0ybXOZ4(TKs7K@s=IAQ*W)YzNLwHfHWiZ7v|@8L3c zr3#l_(~6eaG7q_917wAyzSM|Jdpz#Pmm?-P8Ngg?i~wVC*aB_vKCoQUd+Ysz`^gGJ zw})q`JE@OCM62*CJt6j%$Aj=&AQy~%pIo5ah#;3tY~z+&CfJG+IT(kGQrpKgM$##M zne+Pj!j5mq0ecjV6H@5vm&e1oY}v-+8NChb3nVI@O7AyTEP4gMH!&e?7hXF#2T$`v zYonqN^f;yus=x!9c8*zV&kR>py(x<>jAQjGN%HxU_QH#8o%eb>1sr+}A;qsYeM+C4 z{O78i8#smVcgE6*PTKBHrh08pafBIM5}08XYPh*+hp$;bxHJ zcA2=UxDnAU!+wm!ZMl{OU61w^yN5MdxSn)Haa)*Q#6EA{?7V{{ zm}(u4H!1C^>g&Ha6TNtza3>H<;``{GB;jn|&t*wQ70R?E#JThnW-SWhc3${$%r7fG z2|%b5O8*sjElI$Q_=l@87(H!q&;Tt|nODdUdTMBL)bFNSHZb^j2>_p@BsP2pWVAa6 z>Dyt5XZ@7D?tR*$iR?i}t9?%OMU~kY&HO@aap-9z@e6l(;p8gDv4kTpd8w$YJ>#Zd zN#j`>q%WE^KD*d%Z>}wGlHo2UqK|Y)Cw({>Vz+47bC>la+v4hLBRv&E6?HcM&Ouug zZ{Q&GC4*Ns*48e;+=&122K+Q$yV12vjm&%~7ery|1$HZ|Bam85QrLX@$@;bwIIKqL+O4qd z5FrCISDf&Y=NPf5=6ET6b2e%x(s`Ablb?O9nt zXEW+0H=;r9x2XhxS;V#gjrw)Mv?fK_D6JnPu4%fn3NC%u7aDnWTG zt2kCA@o>A%r`@Ofk`4f(L0z2GlkdZ*qK5R)*T(e6NWlnPqlW{(@Zgijg_Blz-FN`w zjXxrC*RJ1gjmd0z-}bK>mC@(Pnpe+maQkeU30)InKlNJW#n~NUJbQLy^7HJvuHxy< zFvHlFAmRP5nwa`ypDv+=F}X63mDUYDoG=>CFM3`PQ(LjlJADHK#^W8Jswj($++_)` ziwI?uWiTLKDk@{j=py(Ef;;g}K8h$;AsWZ;zRxemfER~7ogoKVrdh~I}3!|m5VFM zQt*Q(mcf;7Du22>hOwDW8$eRX=_rSElYeiFCK~~r2Q8C?)rKRDBKAemXb8J~KN2bT za*`2akFQWR8PDqco*MKSUP$L@oL~cNB#IFc>dM}uS=cNpv%0;#8$?kX*BwQ5v_#u9 zE%OlQk(W*t_L14X{di_v!xb=lVj!~d#mFVYvdHOW*)&C?qg?^vMM`EpXUrT=7!Y~;mmZ5p3 z;PMFURpr|Bqzf*J03;ueMpKtf53Vbc)odZqnhNB%dXrgwddM`2p@`gkWoxeI6wx4r zS9#`bx8KR_uo49wjps1=Fn`Kj*vKvB;s>W6l!?2_NlU{kG3oc39b?hTN}!rY%(M{q ze_HcKwi3yKC4|2-Gc%_EVx4)0l_YFfmo>)G(a7FcnI`CFr_Ph7rV~2q)2{K4tLwcm zj%UIygEc*)#v{SgxiKtXCUA@o-CYW&Vu!JBad%owPAH0!7$Y#*Uv~L;>DHLNAE^b87|oPD;!>Y0X|GWy?sMhhl@k5dkD$_$Z16_6Z)`yAE5D|trub}iI1=4yAkYq!aHsHVv(OE3t^)l|`*N$UFpaTUMA-I!e*T zsJLkuTVNW#V;E&BvR$m__~>Iv0bv~53b=RXxavJiBtX0fYJT^4o%?F77qb896!bXu z2du*vLpdGNTo5|R5kiO0>m%!es`SH#DH5|*;n|Dd`@q$jFYHmG$kPeIgb$qoL?$E6 z0V0WBKo5&Eb76#!mKT0t=(p%g+-NbK7m+KwUcO-k<+H&{dfI7;XLtGU9W*2k)p^0{ zo8?xp)+BG^jt{8N@FvM+=PIl9n|nr6zc8*=L)(`9$6oK&m|8~;xDp3&Z#K zyUr@T*M?V|w5(CR{d_nGb;3+PEw2A&`MM$vFr7a#PG7_bC$2x}xBn(SZYtkxNNG0; zH6i1pSX?>R&aT_uE!N zfH>7WE}Q)oU8I@5vP=%$eEW5+r3Gr)SvkADcZ)^e+_dM*<;d8}-q20k7bKS$_VHsk zP#en(PgFqKSPkbZlD37vm;(u<3$9gLdC%TT@5}rZS7uIay`_c;vWs*VYB7tET^shh zN1sLOaI5;<(O;94Sie6c1m}AxFEef!l@lT*E;eEn4D(>^E-r9o*gE$g_7psxEzhgw zJ_h}4Va;@<+dr%Oqg#V%dnzL(p%KqN4R^Io)^~3r_XDZwB#+CXE|J%THAS)nSUK1&=vg+L z$|0iNa#GgAMO+Bs`;$iYUzH6sB<*jIusJb!t5Ps-8#&q zYU0R2_HX#reml4%%=?!&2H7M_js8ABaO5BUfL~HN2iROcw3??~i}- zC27+kiX!L-1s%Lf{*yuaKNhP#5akHL@i?K$+4k=rj_5@ta)+i);pq22*uDSLO;Sgl z0xe`=sQO=YV~nJY3xYfSdWJpF{7VYnrxW}^yZ&EuX_Mqng;2iUgBxnrA*fQw${5RdaUkhW7iHjpRUxPp4b&d<_f06yiH9(63L0HrM6Au12 zVzjycGlbJXG=KI+ymXhp9zsNdwZE7QXAi zL3sV`y5_GT<&U8cLh(lFAkwi^uKpLTULqAJr-wNlBgBOMjRg3g=_!}`2Omh!N8Sni zH9ojODJV`(P8-@Qh*?Zze*dN+d#IEXf+gTt-u%1Qf8QS>L16$K`UeP`6@QQX_iKvu z#_%aCs!h}SH&gci_w*lO3?IE1cSgn;tA905La7}^8U-69D~M~hoR44rdiRBIi!Tu& z2##-vQwe++@j3>Wn0FQ57EM|H-5nem3Hpl!-tSNeIo>OdhD_NbjRZ?AeU#OD`ucTg zyjauMa-wVI$y`H7IrOjAls+=bS;oWZ*@5lnwqXGs^HFr6JFwi#yM?2xd&AjXLZh(U zotkRN0-J*{_6NgRn`W-o8CL^?Rg2Zcl>+UP0be6+%Kf_|o2fgP?&9lxa7x8%$h-E; zLtuGPq)l@}`D_Zn@Mt&X>i0!U%4+7Jgzpf}#Wt5{`O(!p;7hy8?9bh4lBZ-~30(T0 zg%Ox6&6S&MjQGf;3Ouv$g^B(xnj7U%l&i#>WL6*#uKSE$fw`|iHW3}Y1cQ!d*Q-y0 z%n>xRN;n9!I*;iFe|JmJkc>YAf+JEtxXr>fGKAK`5OAuI%8 z8uviKsUqqssutn2TlhiVP5xGepR6XoQK2Ve_4T_plu(oX_SuN@&yuq(Ts=mshfOD&4M(a*kJX!lzL``C zmv=57yp(-TGn)igvY*b*RD!;K#dC7j)KKTQ;5`3p2wHwbIz>l_LKMmyFXR#B{X3Zb zU%>!kVjj;K$lOCq`8&}3U$u;11gNF7<<9XRwc~>dTugr$TT{lM@b_pb(`m)`MUx`;Hv9l`QdPE_CD;s*|SPKJLrRkHQFiT|xW z{o(t#Dw43UFb^gKVO;fl+v>mQE(P(Q!4HseeDOc}#h<@qWyAFyDOrqL-+wVEjS(oy z=^{j#_Gtb?I_SQ&f4f}&S+VhO6$FZpfX%pn_b;YyjrT?Wz`!?^u~=p)b1wg(BvQ%0 zuv-87`dKFbXrA5IH}?PHH7$wZhRpb@u+DG)H3R+#QBW{`<^PwS&Qjj6rNNWL{;`Aq z`2#5YKgjgRbVq1p@opRVH&7w@2Pze3j@JJjqCZ*+YdPq1h-*2OH%$NHDJ>;Xgizt@ zd!#@t?Zv-n*JzAH`h?+0;$7hIFNOq>z*68J<@mEMeBx}weqsE**~JZd&a7I2jG%|| zGn`ZGmi;LTo`orxfLS?^xT%S*;mx@i>-zQS=K6SccXrU^Z2pHsctUZ!RU^A?V!;ws zpZBic?@!wlx1C{o6OQ+Dr{m48CFAg%h%qH+PC|m9Vt8#uE=kF!B@%%+Bi1Jk>u92c zgmvh8H_!3$Lf!K+-TIa_LamQlfyBZbGKMSL7e0g2tHr8nhWJs`qWS#Wfo{hOCD=w} zW=@@J6;KK`%_|%#k)IOlU+PNjibUdpAFg7H-p0L>VEW|!-si<}b!DY$b&@aNrd3jT z>r%zfi@+}ffVw6IMJ^w6;J|mK35P6MyuAuuoW#VCo~nbEoW9zR^D(UlbD9M4{B3nJde$KA4Xap5Z9&`ey8{} z5Logex$Z{|o8hI{NG^ZzA3c{=h@!-Rf3WuihRJrex3#0EM)|&$4za|Ag@s**P)a`; z%2C&XjEpGezF0zFvE=?o^QrZfmR9?oscJ zR2D!OR5@Wm+bOdZg)GslJS2lHsR0=Lf=ErPs)ZbC+J|!LcAjO&qNqJ+IMi4P>eI%Z zM%G((27bbA@bqDREF14Q}BwXLGT=B zZ$ve+QE9MHD)R3I-CAW#gdEqTz9fb?hd-u>az#8%BTu%PboW+TjI9Wbf7!T$S78=0 zBXmxCa|w~e+iN6qG#K?RxCL8`WmH;i?(FqXWy^}PV@4XRQ?N=z$R5rn2BnL-_Xq@F z$;|LKNMy%W1EnXpzkzI5+I)bvnY9fp;bw2aX?CUc@8vezC!3vT%T=}N>2M|&8z5N{ zc>t=fdo?-EDH#dLltcXs3zIHI?TcV{qv6AKS%r<Q+eRy(BXyf z^#9Do>puJ{m6#|WRpt5Z-y(UDG`pOycPQPC=86DEx0YFNqdH)DBm|^aRAL@1M=PzO zy+fpA0R@p%7gJy8o|}P22k!LA>=t=5^E}N%*y9kI(KnZ5*~UJk3WOYs?rG@t_27L_ zD<2kwH&sw()YQeBZGLz7qT2sd{CucCZs;}F3}ITT?6KSrhlFF(shtsBIj!<)dpZi$ zb5|V)oMCcN?70`D?rSb-JNz+-uLyIg?3e4sj}k|6>{9C|=F6)xA=mHWGI+G;=6LGm z)Iyz2H?`)@`&}(EabnFr(>#X>dO^%P0p1q3@s29(iVV0b(jNQ6lv!)0_eN`ty@8cZ zt%sWa>3oesH20VOnDKVMcBbQxW6zKR;N|TjlKJ@GCDZgq)6j&4-)XBH2|luUh+Mb6 zaN9oPK7w-&uqx{+2#t+{L6=)_0)o=+C^j|LQOt`v%Zbmd8jG@^Ghw%*B<|0@LUnL? zGB}Oe=wIp8zgo(=KNk~Ap;%1P&=!u-MwOaQu0@u0<}1{&#~LnVhaZw)q&C<_5uB2a zDTOJ0vEI$2hBH+J2=Q1{Ig`Ou=B+$ifAWU5ZD=EmFmgl)1@I`35TJlnJnCtIUW zc>>rfkr(|ADWZWwz!opWAln_XVlv&YmR(rL!uH`}*^l*XR0_oVsnx6O;EMkDvhw## z@vqEloX?Jf`#kr?J1ZU6yDDvF?FSYBCgW?;#iGlm;&vWK+HP3yJ4}}Jnw&IChfMn- zFw#X`qoQh#jBc^obl3`>~bf z^_bgW28HOrljY_Rcw|$cgwL%$F&231h}&)fw)axVWe;zkH(*oFV33_a6^1YLj21{? ziV$r9n<>-Vq`k;Om4@#Vp`sUCmX&g=Q->L{2t?B7+yk%8VSC(8Tm3`y1my_&vmamVTU-uw!ZZK7np_^u18m{gjNM^a zc!Ps|Ea<2&!ouKb0+xvs6fxAaolqeq;rLYjaxiYD3=(ddTf!EnZDKwbgq4mGfZLnV z)#aw<*NR!=rS)SR+x=vTtp07q5(ibrV~X$~bxJ0MpuO#M#RN%NW_r*u42@XLcALR2B9yIJ0FovqMQa?3)vb!1uj_kGTudxl*QP zy{Pl1X0Wqva)|9p3*&IQsNiS-pBo3;!3)f-pTMF6u5fI}GcFDe_yOq-9vUt=;hoch zscAIE+&9GKuBcmKYJ`S(S9zb0yct2_4I#thfK&B{kARIkAN5EYZ() zfJ0ZX&=u@U-xx--8&Iul@pkv4^BT!Gb80WVMJaoIO!!+3vM>3dv1 zUZ()W5Pv83X&tjRtiC3qGgm$`M$OHm@i1yJ7b=TjSVV`JaJFd@DU#TJ2X+W%3?~U3 zdz^s;uU>EUnpbX2H=^;t_q=tQryHZL z*|uAY37#yw#V#gi1Y>`7rd(b#_?vUF3R9V)IkJk}hjVoETN+jxn|K^w%yzrCpI7h{ zqtSTrFS*X90}?0(wa<**hl*x!LEmF0iPNy@f4}}smKWc@3mU*&)Bo; zwnnkxyh!FSSGf?vidzr9iPsJ%_s}7uR#L`EJA$J zc9qXfKoGxwx*YvQU1@CY-%}452*2^ho8kLE{Bd~V@khda_uU)yjppV6fNuNz^FNCd zDjnpUP}HR;>LQn;?$uSUaWX^t(w@D0!mF>oCjBS3TKDe~IyccILtSaRRNpgM_`_#^ z6rOwbhw%|Ve(t$A21xqhrFyR8ZTNRUMPW)*YfBl#+LH#*n3fgT$+HM?| z$mwK_7C{UcP!b)M8WLY~qlr#iTDm^G{_8iRbL;goqB=Bh0?2>nV(3>fz+l`MP*QwN zH~^quuUxr0y!G}w(ZKfW*I$W+_36)iHguI<)f!R(l=BX$0fsxBvA!;gN?Q zjK;anT{?x%p;PTQ)blN}7sLOQsnfz6?@S4g+<&*mQa9FfSN%Vqkn=Ccv$0DXizG0N zv!mSARIcpcG<(imv6~TkY5@+87^6qosjjo7^ zy9|y!?1o>yQ|HdIV=3^gvj=-;p3StWoTh@mQDx}o9D+i#1XsiTb@c;@=D_2Iw&-QS0gKmK5JFzKxYxb%V7 zN}xYu?h0Kv(y?kLz*=={+9d5m4Qk)#dgK>+ztk$e63kw%7)7IMiLrYEevt>T3<$G#{ z&y_e>M#;oOh}V4wk1F3i0)Ct&syt4V?`uu$L`eCWCib z=qvBxUOjuB^(3z051})E{`}Y>4jwc(vODX-3;clc!VVKL6!cb|$|wk=3s3lRIcx0R zu~{8-MO47z^6(3M#>HOFmPZQ~EQp@U6DQmp9WgMRG^WCJv1v>9F-bC^U^jsJ0&SU9eI3;C6W9hEqf)+BlU*(uMbb~G{W5{GZuPP-e%z?)`deRa z{QKn~Kz+k|bm`*taRM$=|1L*Ln%^^%EM_aRJ(9)99KNHDH@A?|%J#Q=cWzQz%TK2@ zd4^wTnu#-cw&Pgv+LW2$srzpapZm-+0YhR*F}tkvxX@@D?Ro~M+hkN{fQr01seUs% zuq(`D^$)|e8v;k8AbT&?0U*j~>4Gce05N;coH)sa?0x1pJ{{PhNVOtPLYA)I5dP_3 zo(l|G$BZ5sx>m1#VFG3OiWPB111lNWt>99uV#v;aUGJ&KrE)sM@r?eWfB*i`oBMJ) z%hi?E=K4MLC^NB>Cp~RbbQ-2y>3f@7pq*^qvQ7GCVbnF)#i}`mj0`&w$6Prr^5XGG z^heE7;5Gt4oE&iMCA92P99n3*O9vCk5Xg)JnRi&fajW{U!5SMhT=AeiF}`Dxb;^_} zlK%y9lKN_*P9Ev6ad0bLyDE;^ucrK6jd?-#GuOsZc<4!$Rh7|kGwDxPYn~aWQ%_f| zS{0^hH!F11-}&9&4^QK(J|pjyaOikoTt=C@Z7ELB{$u z%a(_uw@r*kEjBdYjI-J0VfE@YalUcf*s*c()z#zxfb7M|dDGUNvEH6gSvb^BfYs+5 z^|QWoeH=^lld%>@;-(stv8&x==>r(q87nhKnLSpfJ<%rERgW#eDOY6nr3}bIjC?Ry zxqO3G!w-!+iSoIz<~OOY?BZAU~hT?=aZ_Uj)F*f_w1aBc?x<}a`@l&buv&zckC zs5r1Q&i`jKu2Mb0P&@gZclC8;cV46MLVt>Jc-QV- zadFvonhQC5$EQrWvU?=qy5R$L-B{T|`l$T#<4(Yo_p%jh!rTRm5Ia}E<-qaaBR!&?VGeiO)J?KGIJV~0P_g!l)b2QOXw;m6WUHw1)PD{>3Nm< zPIkaxp(GA1){B~|1g?zdq(14K4ggddJTC_f9j)z6a>Bj$-W~40@4o2u7SFg)XUGI8 zTUbwdZ<Eo;F4{9(iC{{RAcL!4}b6jv2({WzPWi;;Y-NGSZ8_o-o2Q`hyE<9igHF!9#AwF2+4ST30k@N%T+{m-O>M4|te@BByj<1c8%mxC~TV!$EiAJ)R0WsfE$D3P7 zX=RYmDW)~Ey1XH2rH^C>ljX}-ge7v48_>N&+|A>zyY7sRa&;Y-(^PDbGd;9Is-?CA zL*BGdS*1YQw`vv7zkc^W!smYTH$ri7ar9(PzhCGp1N60P)@gOXEIFM`(d5U;xB_6* zs8L#3-7`*xusz>mZ9B|hg~1sUCMmFm;(~>Xq*rbTg9i?jV?a@p4xmyxc*Ox=tp<#f zr%a8<6i{b|3?7($iQm^lfVxk)4<9xx{N`tVD~!_-PW}4z)wrVZS4Gs5lzM+=@(PC( zbPsfm=4xop$gtelP8kER>XH7aSqj{Gsn>r24kHt^vXI?C*h)2x0qVcgS6uxBGP(!j zzmk5v;>sR&1#4(v+{E#290mAy-}*PL&dfOI()O;FfXqP7aa_WHfkWfu{MC}Tt2H0! zYn(gF_Oqh`+xbJXX1`90|yQW9c3G6EPaJl z)a(*Cd-k00_S58NMalpO&cjO#P{-N86-vv%Fuus}NneE)m@9{)c7g)fHR`s`;; zI{;)DqG#qQPmEhTg$M4xCmy?uai4a4FgiVKl{4D9XeW6~&JkLo85alA*4Z7nu^j+7 z`XHxcueb|FUL3DBOqOT!yAs~BcxR1P;=ea-Mx1BE0g$6FY6f-=+N7Otm{*!Ub9Qu= zsgjZYVgtK=Fi$X2J5e*IF?P)8IHy5Bh!Z~bg}I{91A51Whm?O)1$H_plS9PZdGo_! zEk4wMW$&zJx_bqPI; z5MFpR;lX!6TdlC|eQljI1|YmM5kQ=QQdHDA8iE?ihV8%Zx%+-kv0Zfvl(&kWzBSf$K2z3QcRrJS zZ1*#8z<_ub*Mtc-M&m;#O(tJx+EaQO?G-^(U56VQXKh>?8t0|D|6=RTrAp8F#!HQ- z?(v86UDMO_eB)`1>*_1-`hIVWG`v3!?G~d(ih;SIviSXRH_kVlCyB8DeTD%UeMbzu z)TbEKkp$`kgG!v_cFIE>`8sIefH^#)>o^wXGYLaBd%9Yx6U{ARJp4+42)lhj|6F0gFeEMku;O3id(BxOgvz#ko zxqtrwo$E(A7d^%I&d~!L&Al&rSpH50oB#RAkIPX98~V(K-rroxjXI9Qp5y6}bH|1UDC-=LNMUE)rMu;6*Du_xyF79V%!S|+44`rpRGs&cW zzHja(Q)drrtN)_T9pbTW19glO7t)vDP*g4h@{sbuS`j`Z4A;CkM>YJPZ~l9jK7FPf z%dU@(3gm-yXEWlYvyxie&%S{CRxC7tk@B<+hYQeqy8z`r4DL=2@7J_z2jm-8#&Lh zK=>{#@Zs19cKPJ^J)VtjmgFUMjC!1>x#IH)jU^}1lh_%YU4GJB!TCJj*Iau9&aY;Q z3mt76btr7NLj&M11v+FrZ)VS&7FO#>fO36KjUZja=k%Ap%YH?`roZg((>=T+%)nqJ9o#*mufnOJZwTdS8)3jhE>07*naRLdMV zcpw@#=r~a{cugS*Inu(!{T>M(CQsPLoq9n?&q=%r8S~33QaWt5-6Sx{ zO?==au9I>|p{!XwnkN4EJ%#j~lpY*qINur%RYLkcU7txSpEBuA->26UAD?U9o32T( zDc{-YNx$*R{iz*PS76oN+Cz3+>3xbLr78QB-{N(dH?@{!x?U-XJX5^9))vzByq+tZ zjz3&}8 z3Mqey4{@Wz9Myypas&B+%sw4QR$S@c^xT@ysQG;2I;7QtH~<_za!iAfj#0j*`;cGs z6Wo{L=C_nK-e<>|{hr^rr?$MO+-LBeEpt;G+@AzY<~!PFCO(+p*vFQ9g`IlvB(XvE zX8JI$=h?iTZ$LKh-@i|15^k0wNS+M+{lY-4Ou&&Zh0dKjYnPY4>El_iM|4IYD}XY) z0-RDARh;fqVUV4##4`Jp%qFL>bZvU&L5X>Gp0fGEB-KOOH~l&Fg-|733pQ;3#yy1W zc;Xk;|DBzt%ysFWbX`hU`aZp;-+4{f)O=2M{OLYkv#(F@i6{H|6j#iF?n(F8d|tXP z-Je|t(|0LeJ|}M3&&6<-m)AD#8kW+>wJD_gGdR!Gwd^#dYg4@GmG95oe|A3jEj#_` zbN0P__r9RIP9K9zr!CO7nP{j@#;1Ez8u*;z&wh4#pXy#+*QNM)O>x%bKpadik~VbS z+}vv2UrjVUC*u@wHp>)WN?$6g^nH3xb{VH@(`$D6vh$M4j^9%n;s^SSPcam4&)bhUIZ-)Hkr-={eFy=J`GdFQw6a*o$?PnO z4(ZyOX-Ln>zBawjPE-1>uGj4Rq&R7pN95eh_=bLhJ|p}2>3#OS={?WMPIG#np3fv2 zTg@KQYs-$^)&4WvXLuPa`zOTVRi)93UoUTX_A zudnSIzDxHbi}j(_%W8`&`}yhj?C*$(?`eOv1?FC;lQ;k{_d|VTERq6jQoOt;Za$~L z=fp47VO|ND>v?xZm*f-or)z7*mC~NBdKuBpjcf6VFxHes%(v*1dnfzwQ!~0Agkc*i+((ioYH$D^ipG(p+ z;&t(d+PS3bxFm%XcZxH8pI*~Fyk>{m?u&8gI&@ih@j2%Lj?u}EGu54p>}4#)9OQ{u zcg{{pCRN$@ruY1ko&NMb<%2~v965??Z>{kovKL*Pg&aI9)kUsPai-VwUE-3iO`p>< zYI`M)bboqZ^SYGQ6kmF7UDtDe&3kIb89!&0V|JW1@2%^(DWBQ*rf2h7Gkq!EbbU-i zjsK`4Y22FPNadfMjvBYck1782TJ!$;?y2o}zN2n1K8#~Bl^6Aadfi^T*rYtxOj}BG zZE>dbrF&|-hIsj%aq@AE1v?e>iVd8$M7?DG7yhIrUaLspmUIT%2*ry`Pif>ibv>I} zn5~O(?O8#QWp>)g$VlSlkDb;ydYO=&AD$Wi_@O#4nYU-gOkAJp5Wl4m^P}GmXnteO znl<4ES|v|->WRm+BlJC506IEdde$pP1Y;9QGBwT9GUq~{iBT3ug%mb#-W+$TWzLtm zf!dt@F}`o#z9YQ#);rqT|IN_9WN_H9ehrybzEVtCuloAnu?oeNA9vZnj!;`D)^_lH z`t*rL{e!Y~eCNl%2yg4?0Mge%_Kq_S0F=uq?Re5Ew3hv=opuAj9>R)nj=2jVGsi)m z*^YkZjH&S`1nQ@aT~}69AAiodkDvL9X71Pve&dy z{bE;2+AW5A(w^eZ&P%#Cr6t9e@`LWdAKw#dUe9+p=o3G3A_Zhbc1X`ouQk(vf969xvw71dok_bn^y=L!-k&-N&e2%8a#hSP-ad4$cpUEDy<1ysY*3@h z2%U89*e(rDI6sE1W$;GIc;oenX+Z#RP6>HGq*e4ZQj8>Ya-45Z=fjFYCdRV^3P;)c zvdHa_Jn6^_=l8OTv7HQ0Y_*FgWIQ{kTG(aZU-Lae4gyf|oq9RSMgVKdo5Vxh4GshqqA^IqtX#$7ABwG=0*E9KUw9>{_W7&bu zW%-KbVTY8CLe+7~ht-P=xOvvRdGlfik5Os%?AcOIw&}XUxE%~>?B1<=bd+IY3MQPN zv`v5e5A4qvIMlch%~eZ7l`r(F(N_7;+9F?Q@^%%|69JS+-I=iYsEJ48os48Yv&HqYPLr zx@h6zSe~4rO((_C4?TMHi0y*933Jkpvc*|Vq*dLn+T*TFJ(fcVX@CW1-VD<77!(lb z09iS}IY8Xovq#V9shN~a6tvUjvrX+n$}V|_HG|HcJ$tE+_lizIDb5&ijsNIu**28z z>o%y}kpFnbxa1Yyf#id-=3Hy?BK2E2ND~p+l2+SK%kXeO4mI19W*8%PnB+v!CEc*5 zJczH0>LqCt9ZsX)n7bWDIe0ut|!P%>I$pwU{PD3 zzR^Cn@7NLJfidU7qiErrL|x6K6^4?*YP$p`b(U#6FX}aAjqxzn9esaD3R|95cG2dB z4jmHfI()a2)+E35%#5Kh#I%u4WDzR{IlAUtfjWU4T31>c86A`35M@DoY@@T%X;%XV z3=msw@g~`dl7)xqzWoQ|8E42k?j?^f=XZ9k=&N>ITwEL-PN*(=Vlrah+# z>p0L5>ms#Bj;f$MSph+RN#Ar-WyH=M$S~wy3Jj!ZJL@DL*#e9J)N|^1M!~!AUE1n|4A!3BL<>8ve~2Ds3V zQ$C!PN}aB(#E5%5K6n4_EvI=>egx79vn|>dAK8m6qzzN|SZUZ%Y-u~l7tV;IT`pU` zLfgJA3QLwOiEZiB$;x<6DRmjSh0GYOosw`WL_W~ZQHOUZ|H#4APGHkrtf_lk%XZfU zyxtcqSQyKuHeH6gOkcgJ4qb+NO~4pSNb->SNc+R1K2I`trM6c^Mxo~vY1KAz6wai- zHqYu9SuOuD&^UDHNLagKiR$sAQKr;#*;!v9e^;t5bHq?->H4r^$F7(jc9UT1LFx+w zHu_ci6Y_xGcUl(IrprifBMUNva~beeuh}|x!?7j&f9-llu$P4-@IFdeOEpm?uDx5+nOXB7`bPoDE@KDQ%P~`x5yLn z4JRYGAxDrW^gAcTkA8>r(1#HxeGFU3XY}|^;+r`}h6DK^~Eo;o1_DHeXwyPOLB65XUDN zJsA5$-Cr`aomQN%4Jvhi_^{zoezU59GDXipSLZ!WH{?50zxTy*pk5W}d-~MgYTL-( zGO>dpIvec@=I|qJlr?%AZ6fKIv~PHqNMZvHQv<}d-2M-<;(@lQiKpe;=&fX+%=<&#SbY%F`_wgO$ zI(|pyp}(Rp4H-N*mRmM&`dQ>Wc{!|hz}bz|1N2t55G7sYA?j~BwgUZy9W83MdCH5n z6?J^+kZ`4Luq78b^&JdpqqJl4 zN*hkHmhlVa#tv+7p^bOy)H$Xv)qS4FZ?K@;kZDmDR=c8}!j!s+K0`Y?A7d2dL>ZN7 zOoKiIZ_eOE_hftUGNpgvqS7#F;!QEXq=7%=%0BH#7yDeL2fYA!MW77f)Liog^hayfu8BG;6ZzcBvuV==xRPh|B*rP^4JPOgECgVz zwRy|tST@vo(n#9q3y=-;p#ujFjP03vhde-+qTN%c+Dp!MR$r7E@1M~LDI4?@(m_2< zx)1XzlpO*2)1!La!cLV;)DmEbPKFVIeh2+4j?eTP?X8pK9Ws%2LfrHbwFTlK|HvHX z0hmLeK9Wc3WE=Itg@x_JtY1t&GM7O5c>WgUf%*s+IFRqPYuCndBkv=0Rx$D!S(wTs z>La>`amT_%ivr_h*q_uh-+uSq*cZ_MBeS`m1v*P5BhW#Z*C1YG0(}7vnyQ}a8{2DK zRU8IuJW8ELmmqDl5qQ#%B5#?a>nnLcSui#sF1Ry(gCk=y`dR80ZH@6Sd1YP(*$Yc# zFGv5R{4h_(q&%{3gBVgT(DRW6lplRmXUP?G&!oG|nl(GN30Cj%ey8Lc%+bLHD}MT2 z>J|dkC_Lg?UVMwLxx0NFsD878#)aPknJ!-cEgqaH9N#SC_S_> z`hLdcq=CAG4pO4@m6V*(h0?v8zm1%v{UM7e2kI;HQp|;ML|M7mGlzIS0ojVYr<`KB zN)KYr5Ir;MD3W(k~hBg;uJ<AFKC{EnQauAx7n<5N!bbE$t}zKJm-I&WPeW6;g~ ziadz=o!VBh%9->tCy}jx(e8LIWka19HF9KZe}@hoj&*H|>J4>>eimaZ*E1$T*Glb$ z`>2yUsGE8wJB6}EJ9BUB^4m``zn}ChWB>sjkue1NAAJvPn7)R&AM|7LO`ms0*XgSE zd*&!l^bzVN&t$%V?fj`T%nMNd)~5%mZ;O7l+oaR+eB@3}P6(?d zhbOn69OnaIfi8n=MAlGO(bZUOOn=33cl)IeB6sPRc|JN}FV*`YgLOW<@}3>wLc3?% za`J}Ehn6vuF=osT$VGPar7a>K3BU7upAUE3ew)UTXU~^s-^cr!Wyp7=l|Rxz-^VVx`wr;H zfDN0XT>)8&e6AU&*PEnIFdl#R?Kxq@sOy!6TePiv&oFz@im0R3yob-HmkFN3;feZ9 zokhkD88S4K^z0UX{m#@_Hn-j~DMm|~5=cAOqc6~R&==MWYz3eCd{$wjk4K?b^THaR z88aYb(TC`BqTVN2#`CcEFn&NkL0;0PGxD}ZB-J00ON@u<&(RH$jnpCT$yb`0*DWq7 zi86z-U|c|;@28$q|Bwf z<7(qnoz&BH7rBdEpufXD2H#fFIhlW_ouDrf&=u$>=Bi&n58A0ZTw1zLvZo-XpRpnH z58R&_8RSDP&Z2IwWll8Y=Tq)owza-mJ~ z9rYyE6;&6G)}nt}t78h7AE8gC52Oz9d~BGoLB6N?0%R#;GxS8tnz$K*C4R`TebTRy z@6;9gm61B0jJ~$CRQii}(0`);PzRXXV}7x1+ss^PMwjmw(@5K<-zr_FdCq;AF&gnu z-zY!kiI8i^Wb#D1k@|VB(v}VL! zMtmX25F!LBLy81Jh3D4rF*iz(NV!u3$_^++D3CMNdH&*8FNGz`R!Hcpq3_)p#*7;u zh728|f%}ATZ|+^u07_+|ax#%h1H<6_+)sa|Nj6O)Zd|LV+lRaEnIL1v^`s^d+)tzYB(BvDUCEv4A@K5@P7Hq8)4t} z4dLUT{8a4R5JVVh5X7_R%ndKS{A!#4EG^Rj>3Bux--q)?JLr6xdnF+5iwqfT(Etf3 zOf$sn*KfQT&pMeuXGUmW)H{qFIV=h+2HMM)F49)II@>1Raqj=P9%C&EHThn;d}XK* zhkd)YgaLy`hQ}U#Al!1xq%cX!N$Xy%qOe>mK{7{afBg*^^Gi2|E*;v0*M9wGm_2tv z6vQZq>1_4cv*&~tU;cIMa1gw|eDRg2Xl>lIHGJ~v563Nb^72o_LDsza3!_4YAndMz zBg*AlZ@;TuB&LQ=JqCt<{=a_}jkI)%ufP6l@tdzfOxy6xC!UT%F)A0zbZ#zNKeo`| zb#pu$Xp>%N%$y}-_quREhWYZ4A3plXJ>jDtekv**2u$iO6K>O|&j>$%;a3_Y6oo(k zvoF8T0RV5ZsZ*zgpS|#6+{Wj|@z;mz^+!kd)?4p{=YReyDZl$wb~%wJiY$hrhab2v z+j34u)2&T&-=IH-$d^d#K}R7jD00VtDMaN8-c_okJQNkT>cj9VzYY-@o^RI8i~( zm@nq*BewEA=-zPC z%{S^8f$Pc&O6~R{?E6=-+uLrvC~bRDs_y3@r)TW zHJLIw%$znkbnn$)CphUS5Ge+aJp4dpMP04S0U$BQ&@pw|^zee}%oa_^9aSCLt5v}x z2gzvAt9Q6das)*oDKqL@u6dDG8bLQ$9GQ7R~>aRoT>J_1Pzy9HP#mR8X z&Eun&?@c#qKqKy4Ut6HAlGphQ7RV81Zg@lO_^|5JwoN;A`Qh-$<4;Bzam%EM@$A9; z>Omoco0ndBH4bDMP%t<{-e8n`VSW>(4LHi)R3=EMI&;IBqQ6`sd+o?fOZWujukS4Rchx_im zD=ITlsjJR3^>gc{(%5e>(Xv71!vrA8(Dp55x~hBlv#)$k=Y!oBC)ODlQfCQFmaWvF zF{S-IWI*nzuxH2NP%^l8tm~xvf&1=_6No5|Og_E%(#zou$(q0X+Mh>dorzXt9)ZdF z`STWpzy0Pvgf3EeAARJ3IH`vcMqok%<$v+wCE;KH?cbw9%D|DbXDheqv*v_}6K;wV zV@we6yi&=WMGI!f`#<*aXW~F_!p%2Dg`fI=u7KR4O)+rA=?H~)hR%Xtxq5Bbr9oa* zPJVdmzT4CvKNB=#5e;0^r_T(pt3PR{NwqKi=^w>`SnB_H7L$;$=B%$D{P0;BYc_;0 zeE#=h*-$4_f1c8XeuCo`#{ZXJeJ#B3%a_#u?g)FfZw!4)hJ<2G{4puS1T2ApTz0@v z!Ne+kB>naDS#xD@(CYpjTf(5BBjlJiJZ=xyQj=*6@{xZS=lPqrU{Tn(ezOKa6|r8= zR=Z;0dh?CrLve9&G*B^6nyWHHA9&;KcQQ^soAxLP`@@3|KNfDg?N+txi81a14TcG{ zlV>Gk7c7!4^C{^vYDZ`3GMY3e9q&$=DqZGV@6%)XAnQIq<@${XQtZrCe^F5Sm&68L{~yq zl8)3ih?hx52^iki|JwTjB$6>+RaMgso0j#$2iMy z*s!7DhVj}dibZcbg@B=x0CwMNBhgithNvn{S1=v!;i_qT=x9fBd`Q)?03g zgG45^D34i^pX=AI&@4^2@X$RIV_iW1Op`>&FFe^dh%5coi>jm4*Im1Ihn-u?!r<#h z#iJ)4xc}Z*cF6&N$;@dwEARC;-wt=)c1x7y=&($p(Pzz@Jzse|9v*q@iP*2)e(SAq zlDe=kPX{`ddyKgAUhAO7G6qki%3%T$9Y>hYyYYd|M4>84Ppe1oDad8LzxA zs7^8wvS+WHHxzHFxFF*h=+ZCk-MJ-<89yO>{9_-E;}y1)L{_0UedX(a9Ugz^zL-Yz z@idM|&w&3zmGRGB_@&DGP`K;%TjliGJ5JK2Yj{<%qb`q}K!3~V{%ce|GeTjP-eKIx z>tdc_`(3;+obYzFIwE!$isLY#oxmYLn_0cIJ@qvIGLvQ}=Klw)Z!lyqL?vHIC`b2bl%AN`9n*DgpXmwt3%D^}|S@Pz`ng=M; z_<7r=b)jp|{;D&5q;qN1 z`iykUiPBFe#kmJ`hmD&y#`Z9I@_S**%mtxsL5na=<;o=W?mhcL4~o-g8&%&+Bslz=;MKn91vV;kDP^2s?Jk(6K>n zQo1KjxSce1_}~W~iv|S7ZH$8%>#bhBM!My^SeM>a`Jfl?mTuX1K#y?K__1Nkn9K3MLNUP=7Lgru0aS z6)>dG_ah&cs4si*#g}DF+ZY~t@cwuY?c%kUUySen>lgk|`s%|mzNH#_ab78Me4gew z2)EyPZ**3D?9qqiJl7@a4Sdgp<@corGKoD}Z5=%T`Hb$$7;^K5HR3)ZeDKM~!mYR7 z5-@7ehY@IR^fwrBkgY#_;pI@i`>@8;okMx$sd!w`U3cCQWjc)NasXgq#vVEQFwT1O zt+zEF@|Gsb%fq(ado^YZVc3A;I7$4NbO{VmOb)}2IT5%{(Hy|Dk~jBjjKMqs#=h@; z|35YN@m@^l_rCXivBW4`T~7Lzejf*q>FV>*HD^dq*uL*boQpWBazdv>C%sASYT&>D z@ws!QfBx(jzY6zAE;9b6FJm5JirR1&ZHqi%!i1>fF;7MOOO`B)Xwg=fk?PO`%OoIk0KP=Iz&yjxul9(4o=T%6JX^ z=$9|O78jm$YF`*$)mWAKzkS#4@W_Mr#eS4LQZ_i*aYi`fCX55~7O$3SvoCb-jdNn3 z@Z{r<#PR5mAsOQvbsC)%BiGly{y(IXO^EUjgW5|kzZPEn<@2#zzV`LMP@TFp>fRXE znag?Zr!Q!JhpSAHF3(_QyG7Ew79+KR)mr|B)6Z`&TKR$y26;@BQab!unMkwOd%L zP~5kdICP3>Kxf&lF-+9wtK}}yVyxJtIhuLut7d6|%$x7Nr};+BVQ36Z_|Qk5&gh!A z-4Yjm9X@h6j#cRokqL8VD((HdsXv_-7XfvULoCMY!nQb?_KV|q=5VR|ue|ztSf+Y= zNV0I_`qiOZuM(ZnJT#W`2OfVk%Fb-(gqVP=|EOb((O0crBYk2@95>=Xf${gaWbz2j z3!uZGS2OlP&LKW=jGH%qL7el!IcN6VC7NHW2**#H3Vpj3scvfCO#LHUiqrR>)*B+H zGq5n|QHGQ~x;*{yH^24m@Rwiza?~Gi-bj5LV`BPdmIaB5YFf`4Uy!+WtUsa9|gx~noXTyg+_+*p`E5vNk;w8~YJ?*`BB9RG`ZjURw zAAR&8$%#&}f940$^}NP2=*P?-QohW);ylQl-@4VyLTJ@9{Ql=Y5@qiVH;j+^ANhhW z3nqT0`3%}J^O+kA;c_JrfySAR||g z_)1!{15QcIJ25tXLApEh(CGY2m#+vr)z9OgGC*-X^~B?0#aNX#5tcs za%@5FGT*d(X=!NFxozmIqwk*i_=mz%Pklh;(>Aup*naeI#)%80o6!#7I&Z;JIg?hz z{-{HTPT{F1AC3LSuwldE+&Sq*&!_+V#$Wz*xcBZm!Y4FOjuDT%VZi6vjAv-m%xU2) zv1;|I@RH={ma;YB;YXhcU)KCfZ4Lm8h0rC@F>btRVjTORPt-LRn$54a_sIWz$z0kH z;}G(XjQhubcs7n*>9bF_lj;a|Ne`McdroX?0|xcb9LUXaks$JZ;j&dxe%JP_{8*mn zUZu``=*8Fu=y!+fNPw4r^>fMKvRLoIK z4)=g|SlAhQ_3ffL_>xdkTpXU%&JQ@+p&O+!&rhHKx#rEMM2E9&+xBamgaNoubO?Py zvNt&(o=Ios9Zc!7(wsFi9K$}go9)t{i+c16`O<+t_QA))hn{>Q&RNjsV;7t+nfo6< zcs6X8PE@*iXGRuFK24V%K6cEgsP{3pVEz-E2lILFy*nrL>{Fz+Fh^s8jnM&s<13ig z#sL6%akeevU}T7VoFSd*p+_H7-Jckpq{zXPDer~<{+E9nzV?+r3J+axlMue4MFv&e(kZoaK_O-Qw7O)#|m;7S%^%YsTaB zodno0ABK*@+!OlF);$M8anB;@Y8}HZnj3!Xv4>;&Xsay7qO9oW-g#$o_`$P3RsSf5 zMpe5bl_$gP8Uu`y47^RUoUuxpr-={qf6bCWW;AzRNy`YpBnS~$co;G{vse`zC6CH^ zo0MnHbxn{@*-8hC=O2p8Z+_yV@fr-4 zte_(>m_mU?0AUEeQ--cje@Y%i>iC#!U{ZpKA3XW^JU*__Y!z3fpjghBE`zKZT(KJM zy?1{lvLOu&5O!<8Nytuj{GyKk5Jr)u(mi(6sPK@KStjb3+?hFhZu|pmUkyf35->)i z^zN2m9i|CgJpJ3Y(I8Wb9p3w_wnDi?coO=_a5#L}5GiDHCG@+>>Eh;S(7`A?R9@zE z8q^U6!f^$@2ICCi5f&)bD2y0DP@Y)nh%jZs4KM!at@M1F~rX0}^nrx{w4& zNFaJM#bASNY+U1(Hja}_%9PK{yvZb)ne@y!iA$W=#&+CoTrrs5i$qsP9VDv2R2Pcl z_xD}ro_n8rb+3?Z+P@P_j%6QXYaLFUu&=JEFrsj-H*u%A~2v-GN5Gqr{DQt zBM@hI=)+;=GMKN6b5=mht|Pb)KAg68@Xwe&trSeZX@ZVF&b_j21$Bm?kxx;0I2&ZZ zaT;Fm<~KGsL{Qyw+uildDO1`^RckhRa=RDuzUVk z&Aci3SH@sp6i1x(x!^5tsOMV~w7n*Zjdysst-d@1T@d7)I5M)||L(V!k;1t~_)8)Z zXhIW`a3~Sx_+V&iTXRw6!(8w_!A?mg*9SK#e{YE~GG)qd7k%J;=p7y*wrxzkXk_Ke zl@;t|xLt7mdCkNG0yq*Ehp()S;c?Bi*M`?5<1uTBS5^x+B|2Pn{jG&p;PlipKPYF; z2Y=(=6>d-@(H!Fwo?e@N7@hE!F>dZ)ijFqLneTTyb@4S0SG3UEz#g6m+Hh!RX3eks z^7~4`6)=Y*l*64Po9yQ4RkFKa@l7}1TF#r9GiM|*dC_r7v&`3-HsGrVM69FKSo`C*sJgb4>U>+W4vbC(d(-yd3v!68ya z_DY;ueh+6`6FxDy-R)9;aVBNgRr+1NVpX&F?v>5!5`2dzcCs;0F23T{T>rz$*yKD| zxNt$7lBb6EoSXH!Apz&*#iNXu6BA$FRs$ z1@xdYss#uSkK=Ity0y)PpZa=p?z!ib;UF8kbJ|)j^Ckfi5a}Hg znJ<{ac)l@f!O%SaymP{j`szM>g3hpd!=}2e(^LFGe<0VdN-$Bfl=COw_U7}dVgcDD zyI%r|$}jt6eIzB}fk!6DZ0?UIIPlcd!Qar#(cw$@m}~G4iZ@*YkKn{*NWSUZ*A<^Z zi?^lEd)KV5#0)qfiLgNP&-;lV07ve<{R&I`7D7oYCIkU&qWe&(avfVp}0vLev zKSduTBc6`_2_`3Th?5fwdh*cAtFjyNi-Y_FU$XU02aj zj+#HeIqUS-G*7yIlCL;nVM^xXyn)|Rf(pD}~)i6@*89pt3a znO25pu2^|*lKb{+rUgcDSKoqucPE=)0@3}OA8g)t{y8zwB{lAn1d01Aup)6tWfs9( z^h74$fgRpufP)Q;tmmyaTvzj-p7maE$iWaXvuC)`WM+F_=LBj`M1CI z&EZqyYJKqPn-<+!0X}^3tTWGu+lP$#KUnY~J;*w^ec(okcR{O^fbm zcFfL-laF6ma*_i`GA$W?dwyr{;qia)hyPFMN1WF5x#d}7xJ@R^J>rPErnLcb#7g?M z#{2ENPw6fu+u3lEEEnH$dvJV*(!1cTB(t|(aDMHkx#gC{8SicNENjnEE5IkXkdzmn~5VKXJ0#fiWX|Um{;$ z5(or{$uEvh_rV3S0?pg?O9#3Bh8t3WWv7z8Z-49g6;xTjeq$xqEWYiIf}OJ*RaijF z`an}Zc_O>%G_|%jRkZ14twG)Z+c^3 zCn0jjvTJMtAfxFzY+icaXicA-Q*7uPlfXpAo_6vHIacO935Fd|e42Cq*4Ug{_TLQ9 zc1sZwW$fO+I|<1Gmmi2zjRTXjj~=&b^_t>MlF-RRYoy9qe_wxe>4$RNW0iz9CvtJ_ z+#|xT{;8a=T>>xL0j)?7Vppkn-5N2cU=pcvlBdL zi`cnLHqsT*1YXWA20wVreq6qMRXN>0_$%)z*;$F_fxjd-{uMi?;mx5*Vv)E8r-ru{ zW_S$wWlh(uSyudfq|E}y$Vj|<`Pz+f{7oP9B=2U(vtocFqteb-!{B$eo|5(p3Qd*ElTXzt!s@y7)3RP*|eANa+{g~_Gk2&g^( z{0pV08BOt zPmV1g+LA!!UhBnoa$^FLyX>@M=`>G0o%3(=`MlS^w)B_-laLPY@hH1N?Ht2@7tBAh zbQC(T1gY`N=inv zDesT}>gubnF1b#>dEa~AS@s@!wN6=r;)C>jI<{cf3CBNDl@_h#yy%MHgbq{}K#$-m z>Bz3P>#x5lp!;d_#`9j^yyxAos>&|p>dm*_9^AM-yK1vr{JGOA(SZE6=B~H9?qeVQ zLd_3L_1nAN{l3u4-pN@`5Iy*$NxC7omfW?d=0lbrnlTFMOQcwqpp>B7+O?@d7WzX^ zr=EIp5({2iGM%iu`<`X#Pj#IB;N7cAz6xknf=B#SrvNu-ep(R8txML^BceM z-eyw9Yok*6SEHxgaC4Gpo5#a^VZcx$Q}8omg_G}ze-zKg$8HX6Z1i~U`D+TcbbPit z-zoa$dwAfGM=SaF@c1g{1g_Qs@7yms7MdY**=cMlw&`2mcy94{&FpZ0WM{?QM>3A|dItB<#_l zO4qsbo*IM12K37|5@3YS`WUTsyw_2t-+y#t$#(qIF3#R&9l?LY{SQPJ-lHlo`5oQU z2f+Bw+iq&;Acw|J!LE?(zbLxd=EybjTmlK+3$Nbx*0(h0zv&H;lS|7_MK75&>5!5m zDulp8i>un{moK>{zP@KmKVt{e$t64S&s=%U^^yIz2G3$&MGxb{Gk)}bPxQXKqH9X# zeRG~gkB7tLB>c68-~v`78`w>rJgIafiDc{7JW#q2zce2;|F|kiolOS*{9xh-D^{*< z<{mz${2O>AdfX8GYSrp>NesBU=vZJ69g#7;4Ne;8#K@Q2|r@nRZ9gRwj^hn7l z@CyEt@76>!k7u8FD0cl_!SNT$Upz1O3z`bFU3v9&#mmSxzNTqYrxgD4>*K@bNG8F1 z3E=n+e$xdLB?j{wu)ok2KB&6Jie($J&hrbNa7pvdM@Cnnmw+$%PoIBF{4;bqGE`uB zWWyKPF6`JfYc~YW?Jjh7r#1QKHu@_6_lyMF>3`(Rx4v<81teD-u`2w2M#-6uPS`4J zVH-deB%wz9!CG6J9d{Tye&wG#9`{*$IvhLyyG^PChUU=`zbd*i7WUzqRS#6c0v_W# zd`T>XzC<4qaDOED_v`O?V{FG$Yc4xQ?vB;)EBI&=)^)*G8wt-k^R(udLOXoqk3701 z$w^Pvv+?m4f=_gfUT%wGx&%&mLBCzOVr3=T;Hfq|uz6GrxhlAK+wC@e>{NaML2%+v zk_VZk8t)NFTsSp}Bz!gGfH=TIsWy!sth*%QCE*pf#uqJV>a5dG4SgLIKCw$3D@hN+ zQ^9m3O?7a9TVhLWbauiMPdt_Q;jtC7;ESa{NGvcW8~eZ-J(vgI+L@=H7G3U!X8qbn z3V*E|UeMp)SAX*Z@YA3#iI)fUZ?5+%<96G6QI%t5 z4<*tt)S-r%?vVg!yHjY00QKu-hvtpfFK%WWnoOQB9m1WH5kn!AFjWG9<-RDa z6nV<_nh^iXciyqGs~mBF5m6opVq>xM0Zz!e#8l@Wd1Ns)=L~xeMa5^q52a-`ZcItX zhaPKAiozoJa9H5dDR2}z44)tX4+7L$`8>R}f3I1&p`5kTV`v@`=b>l8QCaj1)Q|k_ zhiV?vBP0j~W1!K#YTT|vxHG)t`U^wfcaL^wjbM`C3`NgQ&}W}*vu!1^IDTS!gp%M7 zW0aAr{EyuUw?&!$)TcjF#?5)>om;#831y1KefMulhU%5gAN}F)m(YUS=15>ITedt7 z^;;^?c}x^kN*AGx<{k>1IkMm*CCq zTf&HPYaEmqj<2p6BjF520`v?Pnffx;C+Ba1k`rye(1?;du9vKV-n}#eSTe;i;Wyxo zjwoI-MX$Q{#*8rm;5-*?mI4yN*};k7qfd?VL-y&nzWwds#eT`=KcRLqOqnvd@aMk! z?#nZOTCh;IZnQ?3r4TVT|KPv>UNd?6VG*Wp%r5d%tCS<5&Y(3;bi#P-}yzL$Ds)UgR3yv(K7fjGH*f9`y+IehIK{?hxklG0%0Y9 zO|scP`41m&CPazD69nF@KPM8W~cN69Aympox_`yUi(4D@pm8nYIE}qch&gq zK1SmkGj_P~sS7_7J~1O%m9Nj59Z^9UJN5edBv0H@yLl=2kH^@tYk||0VYtUW2bNJz zNyZ-qDB%Gm&Um}FdGn^iS+dUh;+>l|C76^%l8O6|Z~1)Il8k~^%?~y=S6;Tcx!|pD z5AQm*4DT0} zlQCfNfBx#z&08*bFo_rMuhNAZ0=t)u`&MN>qd|^(8pBGJKz2!O(0SQ!AP+n^hBPVMT^gU^&tL=5IgNthskn z^J~BU-td=WiY^!(3_?!N%Pzkk5~WzKmbWZK~#TUWWeK<0DzX}g?9^dft7iX+s41W4Q}b@hd-Pf{_$Y5 zB*x^2|MqWcx8~&jzQ~5dOHRr>HxB_d^K-O)&WT7hPul{3DA8m&_0B%w?y%U!EPh6Azi3K=W}~-@_V4 z9%r8;s5lt~2n5^Kt_zOrl)zhf5g9Kyi4U9SxX4H4?nZC$DzJVea^@lf-+*Pj=fKB^31fiF5G-Q&6&ZfHLK z(GNEV1P92R-Q(b@M5fGh@4eb2zRRw>w)xdxd~Z3QIpGD(@In0kV;}i&bHlY)RuCK? zr+*~vq^{X}-wCC|S@#OD1V9pg@eOn4L_MP9$FwAM%qiTP8D2ec;@!lar5hSPe`@4Oa#s@|dz= zomon57u^M3o-Y|w``kZ%ra3D*`-vx>*!1^H7)tV4){Eob+$1AOLjKa1zfyGd#y7s9 z){S1GANB#dMZfs7dp5+b`^;xP*IaV(x0=_SadyeaqZ6pYXN=YS)~?^seDQ1FDrdX| zEzcaSaU!Y~@gIKo_w(~^%`d$B>^LS*semeaemXdsM`kV8*X^E<7R=T7UU=cf(vjHY z0-JOy_6+z73SD-^6{SZD-msV06vkY2@J7&RjCo= zoE!TJKR^r0B}){tOL}VHMV>0XJyrq$-Qc?GZ)pC@fBy4kuLJgI-v7??3n!+;F{ttx zCpeve%)#UEZ2Ar#gX&0Zoj1JUywWYvs{Z=>`{O`WDdv*+S)M9b(8I`ga(7s3)wjT| z{g#e3W!lW(dxv8kmuY_wc*}9Q_a3{IeE{BVYp-Lk?~#gyf=7Lk58!V-_Skc;n&-zq z@#(5Qc=D-dhQ}r0EA+?iL7#&3AN$DPW=&?5v!C3jE08Czh~Mbp`&KnKhL^rCiO~WG z{376bNH!s;4)8Z0`b+{Io612sBXSpRvJv?(KAUrlKk#e6QMLxZ4V{`UZOzDa_R&_b z$;99mdVb)6&8cqiozTu_oAa}aS+Wl~;rVPP0btkt<7dC!eC3jBo4@Wu!Jm2?*h&JNGiP>dqr?`F*ag?jAMPUfR(Dp> z&v7X`HP1f$O!2Upvkr@0yRh_a3AkiEnlM*mq7zG~g6Ag&&*2iBTfcroB~^Xu^A{zV za(Z!5`4)IW)ed*;_ zHFqspUh7BB@D<#2hok&<3BPCW@{di7 zT)~$l178_C?TeB3)5DYL{`7Br676h^-lyUUA1?i0ptBO+^9*uPlK@5TvW*rdKqI+C zl^nM5>eV^&F6`*DU%sgHe>9Hw!uQ^WrUg~VFL3|MKmXHI-Z>@7MCX(~$(G^&*|O!a z=tlblf7(ijY(+`7muDTW49>mgl-4If=LTovQo0&H|ICG-tPKu!UGq!wy^Y3Sj0*(8 zpHFf8{;l5W@BF`2Lu2E1-=z%(nyfZ(-Hto@dyj%Wc_#ReR>tqMZzaHdExXw_u3ObC zSa?EJN5y-~b_}oa@9}s`0&2*0Afma=Gsrd~2W7ER) z_?6(4Kz8%8MP-vox?z*iZC!&`NK8W~Uylv=)vtW1d21>eo_WS=%CBdR_{5SWZDQMJ zF8o4s`BgVIfBHY$UBK3^x4C|gJzg0;5&I@KKD$e@Aw1(VIv~k{6Z8X9a!Ug9 zSS9_9nJ%<`?TTjRbjdWqtIYLZ(%4aax`LmM27YyT>^bKg7hQNoCFJU#JrDkPzw-YQ z?k0qPNY;=Lj*?0A4tVK3H5p4UWJ9UuRvR1R z+fkiJlI+TR*QcM|s`Amy$S6F2EPD4~xPNT|{}Qe43XOc=SKe2=TlE+)@H_oP5?RH$ zG7fF4IS=pv_J}p(BR?dz3*CgB)h2Ln2|n!5eEDnNjDGbu;Rkz{ts+5K+~)Etu8w`V zqWPsH`5t@hv84-3&JmALQGgDD#w7XLT=~5#t}4BB)&+;g&vrujPdpp{Hf9@LTbR|5 zhy4TJ@lo+Vy5ig;BsDf(yz~i7+V(?jtPMu3c9M z2^1$}$Fz*S3IxZI^^*tz%mpKzJb6->>gLKgAUT9Gs`|P}JU+9cXrEF<83sf+r<_@$nab{%6S^PRZmrHGGe;2x@Z- zVoWF8HeV%8a(KlJ4db+W8sD1(FZ^H-sa3R&nSh)xnjnu5BT<)Q%??Ka=uQowIWb3 zxWbjdq`0`ZZM0&-0WfDZW^asjep!^if=L9-zWa=ipwC&I5h~`v$z}HqMk`rk)5dj` zRo@qQF!Tulb0O3?)gC(mv1rv)0dz)7{hxG6$UG1j}vfYGfrzk zU=uJqXY7=83KwUawV^-}zJ#bmni(l`Hh;nV%7nG!7Y#G6W!7>$E?=G!fywSYB+BqX zQ7k4-oKViyPDD+aIj71LopSQY6|mvlXiJyvJgUOz`2rN2Y39XADF9>F<^c!pUpNZZ zoN;i6p+<>ac+7FhSUx|F=LK}-yIYrU=VOZXTbv~u~r1X;CK@Sfda?SZPH)cz!VHuPw^nF|5bp50!>xAx zhOnFB#8BceLwl5N^vIBfbDY|@Exx@Bd&)Ulh7ag!#WE#%_i0W$_0-~1?U`-uTs+U5 z!Gv-P&osMD8T>zZ_J>hgvXdjq2xoUY&N!CBGsbG;#_e8?0S-R+B6uKh53Uq3c%TxB z3M5;$JQfGm(**b*)b3r z)0aM4dQWA6-S&&T*-(l~$B%l)?P(O`Eex79OT&8)E?$Qh3yvK0s)@xn7$_VrUGt2h z$9(bce@khmhB-@NSR!e`~athYH#n>wkSA?q_Q4ol5iQOKXl8Xh)xL3X0t79R0r1!x$! zXj7lxPf~<{%%L;d01zCp{?>J;y$@-QI&@MgrW`N=OlT6#ac0@IdCirV)wA%Q@!@ft zRAU)4vi>Rmzx>O;nvz(rt$-)m=17ERc1E5W-thF(KWH}Ix3TyZ9wj(C_22_*cTVl* ziqp4ig6515RSZr%=EzcL@z0UXoESXdBJix8eB!a;XGd02N@p;-Mr9NgR+iqKsxgsA zcnex!v`~82#JPI*Ij^nES@d7$`lUa3gP)bI5*TyvACohO;i)s);0q@cCkYwJDFJVc zjZ9=X$e5Kd(BURs3XRiez+Q$e&pE(&5I7nuIMO4)!y3HrJ=@Y{o-SQxOJpZq24Cvni0^2elIOnu zb>)1--z2h01hrOp{R=VRjEjzd$Kekg5Da>bqju(CP%Z2~&fx{ENOfF+SM}b7{+ks;J;135X zXOr{rzH!mjp@WBO?h-Z49j=etFK7N9yno3~2};(fo$HHL&1sjMqqi(hD7*!~L7Qa1 z`|-bn`ldGTe%IR*1YA(M_}-Zhys{proq9^`{QT4>|DghGoT_%VX=C9~;bf5ex#wRj zJs5A4bb}|tCF_potY5!2JM%st9WUqTg~rRlk$Kqxtu0tEui$IEU;zj1LIqETKY8SA z=4~0K;PXQIJb2QK=523za|QUPPRXv!tOwkiF)abzGgJOCw$O#2`b0T=?9PCvN{Bxm zdthp2@L$B^u02^mt1*6;TFfCBR^C| z>U95|cAi_fxoGjCN(dMr>*~Shj?NFBGBf(jDWwO13wg=G0l%#W{1n)il!701xCsXI zEI21Y^|8#$+WQ_33eG(B%#X@3FOij=qoIXK!2<~nx81V5^f7b?f0Wm?i$s5_DmadT z^AhgSi#YG;Q4#=N9vVk$)=U$e>6qVW9L`Rn7qc_lj=eL_JhOIZNx(Kw^h?$pwP02P zCtC_HIc4!X&Zkvt?`vjG?XNXK*VbAC8@9`|S#!(r4HpIB_1W9N+O=R~XYi^OOG+mb z81|jO<*ZqUriANH3WvrG%t_*&Y616UC&-DBQxY%)z~DVxgZFgzP;GO~)s8^BBYN_I z#WN2$APGu=^|qTCwr%Ls&^Po@?W9vqPh$P4NrXDS^e*rv&%jMZku~81^sY6Vw=}=~ zt7j*v^|avj5bnZZuyzcf`^?Lk;C96KO`TQpTFHNnE=2y~?Nfp`x8Hep*%Uv>S)(Hx zS_B8db-}Ax+|BFGJEM{hIE>+$XOmI*DtUf)bS%#Q5Wpb5(6#NL#jlMMd^y|TyQC8r ze)o#&%gGAg3tzKF@SsZN1`aPg_mk4Q*-h?63-~h{vcvLq<6c|5%KY7fzw?3YlfZzg zA7A?7rNxWs>2PmkGf#L#PHo<_IT^Y;H}8Jy8{(u)Y4N~`gObcbD|nk-jC*7r;Jjw- znp&TSAAcq`(J__4ESNw~F&B8WLu_`tpTG8<>x&lg1Z^yy+>LJtZ-zc~zYTjIxn;`vw0_E<918!FsB&_mixn9pZFZ_OD&E0`PN01NM!BJjg#3p zC0?EL`txEhpI-W?0F(8_n8^5%jU0h<_#*pC!nZ__-Nz+xlVA>eLcg6qqi`yC1(%wT z*MbG}tBT;EagrMceTQQlUjtLR|J&aB=J2=n{99w-WaeA2v(K)zPk(A%@l1S;{n)}g z2{z$%g2U&&{`I9#u$w&t4e@`?nKLU6>4)kwnXJ)ypLk?LUMf1A6lZvLT858Hv_eDZ z$6BCQ*MciqPKW-d@UHQ}1^NzJqq7N)7^9%WguXqqE^jEG89xc!(1&a7l+(wudu|VJ zTUY)Wa0l12YB^uQcQh|lv=rXEBvK7spUt-_!>(;DJ0OgvJvvei%CMPA|$MKWI|HBFn>}NYn z@m4s<=IlFYLi4q+e6e}rT^AIewAsWFG~c`A>gMoyvvS1Bf(radC<7mM34D1nM^;{W z)ir~3V6G#Zx#6eqT-8eLtx3{2<&;yhzLSINDnmJTa_6ctb=)!Ynr~i}Dm0P7g@OYe zTDvpPIK4SJiInBT2o2KZzzrXTUv`AEcO+!N8~2Rgw+*zo#@P8h&?a6+C-=Q3fGn^J zfx#5~@L;&ZZm=2T(_c=KS$4eR?UIW}Hftr3ft*{tdQHk*PilVQU2iKpoo|UvM|OCo zXOREqBG|WK!-gbbERFs&qXN9MX7PPbEP8_bWY4(J=aQw_(VdE42OrW`whTPL!(XzE z!dFM$Gu9;nRPz_iD7;*Fv?SIf-(?;)XsFD%cJ1ooL8qT~a`B&btkIFlwLE0;qD9d| zAE zSFoFW@r>fpSw~4h`0%CQ{Z{d4z5~3#8soQJ!xLW>+~YIFOEi7~bTDz^gc<|9<};#~ zfit->W!j;&5$O06=vHlVIXJ;-e#)sc4{A0iVT^BuT!4%C*VWhERCqHnxMZ%zBGIp- zeVe8KvcCSu@0LQJ=c*Dx80WW-k022CFmvXOG+feJ9)l6 z&wQzCK#qM#$Kp>kZ@Pq}jt(a~ok`ql*WET(AQ=4MJ-_2+mwdY(b4ZRMqU))cVcqcX zv6|#9i65I|ub*|sX-VjtSBdWQw@wD{ndE!?)w9aBO`rdizk6F3TQPq4=7=SD(ec&t zsl+Zm^852DHgV4#x73DEIyrrt&G$fd`EO2gCEq!Hl-&pi*>Dnc=-k#H-0_7qIr8$c z#4;pZ!BMn@PWek5q2~GyX1!ze+4tnQBOmYpFt*V{A8jn)RmEdZJ8eN=^GJAj?9k{4 z8agaqkogEu@`ISCdGk5KFa3Fu3*#cg@$eU4e4#eb;TQBt{YeDW`1x~VeV#J&uq0-l z)|_&37t4swl>7Ck5BwGU2QDvrvi+xS&p$5z{r^7*bT~HLn=!`ogO3%sTC_N4Z6}MCKwrQ1-dx=x>2Ln~-$^Fm;c;Rdk&L6( z8Kf%?ALma9F73PjL2-UfC}vL)voixj!Z-;HRRV|s+1oHjjMVjn76xLxm{7M{#r2&7uVrvK8esagFvo?J(bwBw_nEOD zmRRdhyHC3x2Hr7abCGE`FM^XI3$HYRc#NKKnU&1NN4Gpu_+||VM*Zz%?ejiX^KA3c zTnAU-1R+c?dKUN*c$|HhaHk-_bGvr0Puc5zCrm0BGeYg$plo*I^gb`yZxkZQ7p@Tq zr=U$wP@R&uYSq1iIL0^!+tF~dn@2m=?DWYv;mgZ2cKtG9>kOeN!kTq>@WBU~yQ2*J z+Hd?;@XSv0iM5V?XAm&Tl$K%OeD1TKsS=LPxn&F(L)&&wcIfm{T+qb!G{RIyzPWPF zTLwxfxbD5z&>1qE5Z20ADJkfMawt2tTN}@#pxYhHAhCN5eYvNGSZlZSsFdEZcIUkA z++?4wO6KsUDyd1~;SdJD-3DMa8lLE%bH_U4b@S#QHL$Z}ZUu>3<^Te-c) zSRc9{^KMMj15b_OM?t2LD(j91qE*2Jib!WIhPNgJHN`L%L-MI!#FgG z7RPI6oJk09zaWFL-<&hJrl+Ky%2iJ)USLdMI_1Fe zB|rQ7`3?M$hf|+9W>X>11j*CUV|Ovo7W} zq|59*q|3xWX`LsMH(Fe@BdJLMK~R+(nL2e!^)vFHss@0*BbQXG61=lxqvN3?uOIez zV9YpkqzS$t2nZIMxk$#`upvRRNpS?_GrHik?C8sGspWCXzijt?ONV4=b^HuodTH>} z%iN8NjH$KDuHTl|K2yJ26S!{Yp?OaZeZxiTubHNMe;68t^&To2~PBMvsEiOkgMPfnTI~R zM$g}2ha@jWCrPLvrG_7`>RV)sF$oeMwJ>MS#qi}kJ9WPZ{efhdg6&#>?t1Ta-f^6M&C7mT)gUHKnpFC0U6g-X z=l0&Un||{2*{N7^af1$3oPmdfaL@C5;nCe+Ov^8R&ue6pXwo!$R^Wo|POg$cy^V8h zb#xA8v-^Vw^b^S*YqEpa>K!0`ceItclale)6g5wHA9vf4=O}?=&C$ zz%LgZI!*ycMr*#cb}jylaZP?Ny<`{`w%4+8rp7Knmt?Gd%)h_Cuja{tOQzc4i$0AN zPe3ydJv6!W>qocH=bkK_=^f*oX?>AXWLO(i>wZJ;aE$zXb&?6eToRsuIk;G>{U`JV zCQns@o4`G}Va<&NUA6P=dK`L}0D6BCm;{z?&somD{qNpYdamjNU4t)z>5jG()Ku!c zd|F$!loOhxU2}Fc`<3s5{FjijJ{e#+7hxf7@yG9PPC#~&$4?J8j zXOn39Jn7`qn-yy|RzQ#q<~ur)0Bi4ByzFJ!nHOFSKiCm3RxrLz(lKuHwAn%e8JP3+ zsEWW25fq^J;ZyW;`WqeRlv7V@R_B?Ha4$Z(N<6fG_TotVdS9Q2f8T*yIZ2HSnR5QvzSUPq<*s!APa9^6duh5{SuY-;q;z7rc5h zbFnVB-?g;lHrz61UGv8tG3(%#_xAOd-yR>*@X{AwoL2s`{SQ2(<__+D2MhQ+ z>H_ad=FWX+oep8XWAWbZdlkF{6#)n?@Gp_e@LMC-@87gJK9^NVWL}daH_l2T@4UkM zx*-3U=j6$gDj^ZSxbEg#%g?}G;U9(9-SgaIT%JikEn7L?2@vDEp55u2?rGPo_3b;J z6AzKF*o{wr{6=&*^!;c8$^0?o0=jrKbiR50%IMFh6hE|Pj$u-bO8;n&E_!q}K?Mkv zFeJeeEIRo0V1vh1%dNrxpEUbV+_#b;#4JV&_;=U$zT4197w(#I{!1IV!l%g|BPZ}_ zJ|oplKKtoU){%VpIo;3h_?vFIwK?>#mM-Zz=t=^FqvifJ8(kD{G)M4+yWN_44m!}t z5<9FNTP@Z>=V0HCd&^skcY?Jz&-(QnN^Wf{5KdQ6#R-nkZzoTlQhuL$Q2xOyJ3FoW z&N$#k*Nh78Yjh|!n3rZQU7#4hBc~kQG4YTo33}(~h>V?Vum*=8CRsT#sw7L}|KzP* z_heV^ZhkUMeCU`3het-lr?csSs=(`con9v>+~K6}M>hD3r*?eRoJvN-&j6qOF6r91 z)~?@FamQZV!&A^9UVx_Q#^gk=jPOkJ^*h=DBY(RNynE@AFRxu)v5aZu1DHE^>sSVU zs2OkP(=gT{CfxS&?6axRJtdVR!~fYVy$$TZ6|AmWytFwrxYFUAzIMwR79IC?s{>59 zT6j%(zX2PEd(4l_?UkM6pt-iX;>$~yuz`ZEVe{CW*)vOq8!_FZOEQ#jNSB+M1O~RU zb@80N5|=q*-ohjjK3g05)+TWdAHmOBUYO*K^79N1bYQ$cfBUxv0XQ?n)khs&%;+pS zn`M{my8DH9ye(OvCq?L_WPeH*e)StEEBENe66Azt3Fe-DFqWs1NhI@MKNKyQmKYS~ z#c+i55E8mjP8o2ND+;kJq=VvksPe2)ObCkM4ccy_<>!_GMX?y7oNe5&{XZeL-7+4# zaxlr>X08kXhNlDv?dfMiFquDQ&zK27N+A{OXW;hr^(7l>zrZ6(au{Ie?B#HwWOqu| z&~vO!``7l88X_h*l~z$<0E{Ug&K*VgN(JumDw*Y3pD;@E7;L?t2fy6LhizRyur538 zeNYLWg2y(x+Mb`lpqTK8izOdWZui*pRdG(W8G8~~WJ3`g<)F@c4`&_G!{~pGKD{1z zPlru~zo?Gr**1YR2lS?>DgrL~i38E6lxUA#dOP1GtOXFxJpv{Hy z%;4i}K^F|yw`8a8?K!LL>Xg{pv}sdz6x~(EdF_Bpu;`$Pq0$O>2>j`h`@i4JKK$U&OO6>? zvb4q{I~S}ud>=~oDqbmA#EHacAKB2HWU7BU^Yl{UFTUjRD!t{bLqT8b?AU_-{?@_R z8T7+24TAc=Mbvr(nxPa+WT`gro3U4R>@z=X4h@a8yUyB6djItt@P5t0!%~+2+ERAy zAo9H`CL5A?w<&mFzVMo|w(8z{vrA-Ns%0Edup?ib{b=XLzBwn6%-a&h^031Wu0F_7 zW3(=VW3O?Vombn)OiDDR*_!|4#Wpdm%P{V)8}&WigbYWOwv_GS#Zmf87G)f=(yf`S zZq9G#-br|JT!kb$jsk|rlq65gnssP7wcz>4roU$*W63nQGBKq?%@-f#{ODTEGXD%N zT?Py17=51iOz6w?oB`_+#3A2R?2$QJa8Lh&Cz6ny2k&=nu)pp>W4xmW$~PwkT478) z6PfJ$%_(zt%dLy!Oq@~cGm?LGvdX&tYqp`4|JUrb)x8)6ot)w@eKh#FF$oU0A9Ymo z;Sc|HRZbCP;!L6Y4eB}8D8m_RY}=*FymCO7DZ{Sq3Eo@Zqo?-`Gib+}`B={%>-y2Z zAKr^OqC<`YxCgh$*Iq}1YdA;t8kZe!8S_Y7fG==p!}<-i^GzvijvBjf?4X!DAt4eO>++U>={#% zsCww&j)T$0VO=|$!C8fZ6RL2G*0zRJOE2)HZ)yT);Zfxv8SUnQ?<5f7w*t2+^hhvc z6WE2gapT79D7-io&Q2+Q4KDOeJ9reFT8x{jT-Wy@o=QwEN~ zAF`AVgKl0P**P^jDP053noHO4E%$eRfQbp__Gi85v3O^1LkA<4y=<6{j$3?wq-U}_lH5#pTmym0l;sC{q%dwUnU7pSMb5{HTdnJi! z$9DJRXt->y^bY5Rd5R50!SfMc~bL+jK1v_0=&YJGHp?(k7-h=&(%58d@9a_bYnxAXF+ zKW+8hp>-J=gFd}_TLl!-ci~jvN>`(|qHXkhX!!4Y-u;fO`LdKtzdU;NhS)%p%gHQ| zKP5p^iK?zOzTO5u$TS;Unjbw{@E+;&ay`A7PA-vc|LEa@U}OdTt(%7pB?c5rB&UCyVlmHsen z{%zuoWbh|a0gc^Hj|5i%;9k5ke=x^`$>o)6Z8&;kUjPby%8TuP-ZHG;+=a24w zU-6&ugV5>f@51Hb3FTyZtJAdA-@qDf(P7Fr^`j??7i`+Jx%`9h7u+SG(+}89C!TUf zbdgjj2`=&BNWhw$;|3(BcU4zv0K@(n8(+H1%tewGpT@(FK9=g1ZI!n1pwRqgn?@7tlEFT4+Lr;|vSvaXWa(HuFv(FU7de`a{D&1VP2_rXr=5?jWe zT+cJ}vFES4rS$`}$Aw6S5kSO$MmF?mUC6}=`|i{FXky#b3A%*F-h0fqh2^ksd;h4< zz2oWbX<;?|Qq@=35j*DGa|t|T`Hnwrt8%$g#VB;MBKiqlB_>kq72d)pxX(UGo{26_ zC&Nelw)Oaio@orOla!!>qWN!6)2}L?75v@jpzx;HC&A%=t%l!PGcaGUV18{fx%!&x zqc<%|V$ne*hZfzssM$3*be zAN+g|x=Ex}W+y)jnV~lt@|2E&@=KI9rQavZ%qrnB4kE9&>;Nsiws)W6} z?zp3>{W{i0e8T1dG(!(R>4f9U#|l?(x@B?MkV@U#@L(gJ|Nx@BQ5Sys^ITy~gK`UI$|t{2-&Wm+Wug0=n&J zu@qgxHNHb}pBEo{HuA9Dtk^wnr|{3h@m%*ax1Is^e5`Kx7wAav%{uebu+hXFRogNy zK5N&hzOn1><7%Tb9nbaRk-wTFDsGD2cJr-wludfiJvmk+dRl*YIX>Q15FKf!{mk?D z`3?V{Ltu2zQqN-{5W?7b=NM0Mz@L2b$u06E1DN7)@gQ#V&ExHx@_6KpXnh&fPsVziz(u_i#tOpR}F#Y0HQCOxQC@ z87VJh{g}_n;5h59D=9_5T6adwNhh6{&&!(?%a_+Vdf)ucrOm@nywLo@o6l_C`Hr`i z5-Ia-h~_+Hs2O9eNxrI~1`fUJ0v>+fcaJs$xWmz*9@S$uRP@O)FtQns9mvL`w3{()cgv-9^@w{o z0vXK=fF-qKdUY8Ac8+l#KM-SDIW>F;otih^AxXn|tJX>|Vr87$mtUE=+;dk-BhF|( z7~w66%Z^hSl$`R%AAfvhKHs`%aRRURCHY}lj^|jG9rCYf-ud#*mm?5u5%&44>28+^!uHM{JS zY9x^j=F91-7qEYRfQ~qR`uh(lMV0f2;WVl)64f(g$VF@6Kc1 zbNrs==z-(bh|=XOYe{z;atsu~0;!6?^id&L-3>dH|Hf^$monokE)*R*)q^H5)= zN#H>zt5)6HEDb+jvSe8~98^}|#IrMF{knVWC?#+l*&It^%*HfYbIT~VjdH2Ewy)|h zFwuIy8|9|${z^X@T*s5_^zqWBB)k1!=k$h7mdD{M5mD6z$uH8&pr-)VwZjODu%Fy%nEbCly#)fEBU zRSB^6A2P8gs5gB6o?$Gb?Y!lDuJzk#eBN7Ju7~<3Yt!lN@V$3F-5l{nt)7t%s;~NH z+y7Yh8dGq5WUD?3FIw3PUP?f6RPL9`1FEFlc+;YCxG0;=$+JI@Yn2r3P0)+}S9k8xb#qt$Rr!3op~-aj;0*#}`c+xXy7|6q-QUVrHoLdw$?=G` z4a^y?X1?9GgTMJXuc6)sZp&L9Q!rp#I}aZI;%y_F=c9#}XZh` z2unZJtWEK_^y&LucO75H;n*dl+E)##XYTHy=W;enE|qwr^tozQ9S?O4|H2@>nnU^k zLu(lpQBK5-;RVZWZ%}NcGD=W?&_(Npar+hMP|hOGi_)kY%80N&uU9zP`addJejdDQ#cUI*5p)h(_64m$|w zw>B5~*Wr5icx&0)taH2Dy7$}mv$Zh()(0{~H~Q>kE4X&P3b2$oI%VpV=H%d%o#3}5 zu&{RBx_V!~c2)C+H@&4f|4nbmF5nz37l%E+Om8zh@P(Jz5;K5@-ROs|GzK)qR`Cws ztSud&Yd;SB9XW)qM&r%hbtB)+oBn5Rnt$QJXw5Zvo?X(`f2`}=OMhZFIPQZDp}ewW z9l8ctaL?Vh*CW^|`t6=?_B$uJrGtxivN<4VTZTs0L-Se(g9#HRhW?K&7+_M8o3FX{ z`m(vF%$U=h_xf{ktlWuZ6LmWoho0N6YlknMDKOsB5C6~3^@0c8INQOr|I*#T{QE!5 zu{P0}z_e>{-L7JlLtHbG=IgovaJTf)9y?(S?UKMnc-tnocz%oL19nvRAS(w*ySFx> zd-c)w6P;qOlnKr};6FTn@h2@$Gbdx4Hg0O<H3W0Wl#ycxd%A<` z2G?hBJi|YDraqtj!H<$in1sCI|J|at*S5SjbU2{1_!UgLh7Yn+m&b>(bZLB8@ef!d z{sR0_RfA`~|8U``+rU86@8DVweC}PN_A1A)J~LPe@0RGnlE>jIzUw&~lSGdG=oJH9 zcef6E*EiVwC^U)ZbbM*pMI-)jk1_6 zKAux^Pd~$2T`+Xru;22BIk*o#;q`F2#l>z{Gk~|(xwoUGt{=LId#q@0v%Yw0+jrZ) zxwoz3y=_7P{^1$q4!@d>W~%Hgk1XcTyz;7Rf?t<34?X!p^Pac7wt2^ZKa;F)pWXZ9 z_OoZ3hko;aeJ=P6TxuTHk~}r`TF-&sdf&i@?j<;D$87QF;5*-N+jH;L?Q=Z0gHwGT zfJ1j>jjKl0!qwkkZ#?GHtCQlRXtY}wcws)BJ};>h?YHX}9);%zb?8{CXgOAHYUrOH zj<>6V)yg`(3~${x^mug4CfHt|J2@MJbJj)$#!7Ao%(ttJxC~BpO~N7H@$E@G-;m8is!B>Ck>G$wZc4CMvo3Jo z*d|Y&RQSkG1uq|bU{mw0Z(p1vH8y7B)sa<6<4rlP8BEYLA9AR%{91R#f4VtGEPv?Y zD|24>6U~BSPH0YuzxR!AIJY)qb#`DkKJP7kv>Sl=GH$&2=HQlOg)MDdDt4h`eb{5k zxGY~Jn(kT$JAdoTtHX=#n)+>kXVf(V*N%2wU7J4ISVnsUVXrMY*k`V(HZ+vMpM2Ra1Ptq(H1z4~&;@Xmgid-xwl>TIs6SNFjKds^{{S`}Xo!KCBSWOb|i|5K7T zqL+zbX02V@YokekWmBAZyrbxHY*BO~ef0PD)q88R=79Dji(Y)mCC%zpE1CrhkIxYn zr{_q!6Uv9VJ-i_g{(1Yq2!WSO0BFYsL4zOz!i)mS!NU+*nZU#)mt9p%8PW(`c7Yd) zHX{m?fv?WXJ?*s9ipf=Gc97q11QTY@SV3@hrEJ)+A;0Yq=EULFI!}9r2&9!==}aG= z5%{>s_AXc$d1r`(^vzw|-)KuW>T|FiIKe%`5iF?!}pb*}}?( z;>0LNX~vAGWCOd0(C75~Q33+s{XjCbI6oM<9RYhn!7TR~zwd{X%J%sq|K;eDg>EPC zbt$K#^oOi0YdCRYb}ePMuu?jgU3Pi%iBEmDn6Cx1W*X3fueGUweb#Ga>#m`Mm>VJ8 zGL{injsV(-KSx~r(tp--11tE$V1i3sGX~B@J1bX3ApbPV9R&z}5=evqXQ%hk6ry5| z<-qE=t(Juy5J`Ey-E{kfcNwn$06+jqL_t(#y?>hZl`(k68Lz2Q zHH;u*ueF5Bc}_#(6?^w&Sau)*t@x zN8+S@x@fbj*nu}6Ix};L0}Fi*&E>Al?|Esk(Tg&-t{=FKU& zC9CuL>u)T@%k?7@02n8dRP6A-DazZOcivUIViq2~pn}d4TO?ITWcb7rgXen$#yf@QJCpL1Q%)|!o2;Lh_vRRfC2>?ZubDG!dV&)IFl`B?mv#)a!}ssdL) zlr~9oTONBNyXN~#Veg#rwFW~&>>b9?XUwT!Z)UP)Q{48XhVQd2r^aq$`;^R)Zs+sW0$l5R*fkrEsHbEpEV(1Sc}i z79S;Va1iI1o80?Q&O4s}!MQ0Pcy?7R5S(xMN_(Aod7f)IC-s3A#%k8wuDjadAKr~` z%c`G0e_r8VYsBvs*lcbtyzn!X^N4oSxZ9V27{`2@ z^f7YX#+uid->0*lp%1$Z{AGzdUIJaMShc1MP=-m@%-#6Ru^UtO8%M7!_9daw>$gXj ziC$xFqqSZXAMJPF6@L6AdRk=S$gzxd&-Q)aLtk~n$iI7f85lnY5@TJE^|H$^PbU8( z(E)d9lm+ka&kpy{JbmYqOD}D{o607&wmrP4<&)9Ng6s9_(Um;S^_&Ag$}X+F$G6V0 z;#C6x^t(VAy}P3U_i1*9;GqHu@RW{4_vbu88`}fxwx^%%Uws?PZ{oyqif>QP=)C5bdD7?5dDqaegepl`40yZ?&tRu$D(swa!f};^a_3$5 zG}qs7Lj{;_49z=cM+x0SXUvHHH+CWd8wl<{_V9fb{4CwSXAFL;M6;|re58|))>?Q6 zr^Y}lb6CHALn{B=S$d9Rp-w*G_&UPPE=jteB$ID`>)U0IbkBhb#sKbn?ssq<&o*`H z)I5em;pJ83$4(KBI=Tg$rnkZ0S(6XQZl8ITFd_IW@oiRi=1KrkHd&Iuzq<1P97e#R z=p)~;AvrH31N8Ov1(#o_GqTTr<9VeM!XW{}UI$z6oP37ws!yOnJ8A5owR;_(y6lRp z!t?Jcnsc1mkqOX{Q<4vzC2H3vc!FzhD>%pYqdzr2*jzB_@X^?{7oKx0)bM-ZExK*( zmjqoSFGjY(C#9dQe{HWeUsXz8NdFwZ?0qtJtX4t#(4IAa{HbS}GXjr=Nk)}Cx_5Xz zE!SA_vCif-PCDzzxqF7+IO#o;91e{ca|iqG8o0c2#fs*tYp$&l zsO&eDjNp-7kAhs6U4BLLjc;C4t*jmeSM98%X zLR*hhf|KM|Z-aN_8Cx$Ag2Km+4tuWyFLo3gQoy8q4xxKAFEBZD&)Brr+uz8~;MY2O zCF-_G5+kqa{k!1Z{?q$)eYVL)uzy(sa<|^Pr~-78V{4pz;_+1h58NKi?mWAx|N29J zRpWQ#5GHKZ<)~kDYhD59Tmer7d;}6^&z_YaLaNS$$Iy*$j@@~~4L61McPSf;tv1+t zd1N}Z&g^Duf{*O-ij=v1HbIWq(EMJ$>uvl~&beiaOx!#2J2nL#qIK(1wBHT5_vY>X zoKf|_dn7In>*mFlzR(c*$5Y_XjQ)uwTj%6xp|(QIuJs!nZ1s{>H<7?);{_W>z~HH8 zRkv($jDFDD;GYC_eRP4$-rsvayI1whU9x*#V4xT5-F5oH^V)!7`>c*fwm#gAsYZ2U z1$>oOKQTC^DjPjb-|X#=eDq_Xm8S|`gE$3zStskkSE0|5bMf1{b?dSz=9=hO>vO}) zvWa6sY~A)K9Xc8P>kD7{YUp%y9jTiK*Es$kx0 zlXdq9=sq65*~T?Xn|TY4D_DX5_EJ8+yEX4^eH_JuBf~QJpPg3@BIV$RZpiii&qe>1 zhT1;6K03NW?|AA7#~+un_NgurTS3yPL`hZtZoe)5%*Zo|qoeuR+5xtB5e`_q4_@@* z20DW0DprCEouPYv?*y%}WCU^({z(p_zp$sQ&(^JzgYDcrliks4E4$BsKT9(<$;A4D z=V(~7S!4c@ZO~QHEgw)_8#<>u;Q^{i(iiY($uNTnecK#B#@{W>Hm_@cG$zTdj)t8) zsjvCuC;q;@GA03|E!>wocIU6jJJiK83g4m%ysHCBLS1zd^Cr_GO zn?wZOwN9SD6tthqI(vSXd{H-#@eew_KSAspZ@Q(f*e9_VI;b}IoQ$>B*;?n-@w>Wc z;2#N`j>3NJ!nw`2zq!7G?qtzut>bOaMPGgNv6Nts&f3jwwCjg`*8{fAL~s3@kN$nxs-@%RJ~+t!I^&GjlnuiVV1ver<*AaD zaMOl92(@x9A;Nal8^&8p^rc0J4negticWp`&ZyH&-({ssy z#kbv7<8|DFq=K{0J}bJ%{>At1PGb12si^m|9R~aeBRE~rc4S2tgX!f3L$C_%2FY6b zY30di>o%N=4*zSYukHMl_2{05PmgSLj%S}umBJi5oWs(~r_#}h`(F5dHu%L31*6`v zwlSjEJCQ%V{>#DsgA;Td^3#1Ces#a&7vdfG?3Rb0Zl<3f&>@c~I2|wvhOyYsmSZw||=ufMZ@;W9EqQc8o9AmI8{A zVT#?Zy)#~OTJxFDeX04#NB*XHb)0W@(@qL=;MCzDgIEWqd|$X_Im-mNWsY^o-aQV} zgJ2ZkS3K+d(kBvddQ~w*WsMoI7;7hR7%s}5DigwB-a3HWBJNYUPbn1HsD!AXgZ9Ie zW?}sK{`*h-Foe?0v>VY&ykoutKpc6cxlwdv;@Tm2$boG}t^gVaYyQ0rk@pfhf~#F0 zxyZbY-+VayA6-|1ha~ z?;fY+Q^lHaz;`>m7&+j3~1M859?N{mOE3JA0R4?{--B_Ph1x0YLY_8?I4wn%xhqfSXc5 z1QREoakT3d5fw!lqt_10xiN5=k!9=}0ZZ_7@To7iJ36A_YXNn&_YM+FnvN!z+&Wt-^}885?JX_4eFMuZ3|wbV{nA=bANZn=gO$Yr)?~a~}M!HAj_k+nyCE zuqoieF=EFn_0(FyUrt|iI@(-h;C~}?`B8Yr;fEhqju-G(GMOXBu6g|k(&8(3-nFFp z;uk(!2G#rpM{YHD*D{{gC&N_G=^Gb)t@)$>@yDe+PMwN=tu#Uo&^kw8(>}YOE3*I$6+NsPA4n>ejgX-FtTpoKl{;b1o@Yw_lE6 ziKZC^c3F13+?~Xm#wOG zlY|z*EJr@zJ-uyoNOxDXD>2$ybytk`4&DrK2`uEQtbe@F968(={Hhe(cI)!ynB!*0 zfN0N$)|XwQ0tIKCbaWkgvTWJP=FZ!1Zss0&bo1KRo*7)7vy}nSI|ls2^XzsaU(t}~ zfq{xbo$gj4g(1YRf6#4aUkR#@>?*AeCcg)tZgmLwzNF9lgT>6 z+l|S>zU+!CnlF9f^Ud%7_djeF#K51C>~J~}N0BiKAfdk&kGiLBhc1);!Tj+jezeU% zRoA1n#lOMLOG$GyV4cV?Jj(YSy^u%Uyz$D;Fz)*6-pNAQ=WyEEce`WYK+C6EzE`{V z0>^!_Ue=6mS1sde#}ghGnM&6%F5@v4Mka^!op)_pmysa##1C3s#&ZYTz*-i+v8!SX zp3_}lePPk->=f4^C9 z^zqG`&wpcc6?)?Guh^hv=GLGGDT`zlao zedt6jucBwgxgLGn{ni+NV=ziyTD^KrDt4^Pb9SgI8T*EQ=vn2QvVG;B*$O%ZtRXmA zMq@Gu`Yqa_Yjfb?buWMUUXf=Ln*P4N(pA9G>!sETtSf*Z5h8t?BU}eJ0Sf$UZTR#a zd4?ke95K=b-SFYLM;y^Sl*FZrzV_wjAHVpO=miHhS6q5=^X~V&uafNW>uoj8XnaxY z)&0?u@t3X{+5Ci^5gFgEaa@mVu-&!g2p9vut=FQ(w>1}k_tNHy8*Xp@`1gJ%m4g;k zq8a^kb9fLZ>8o=bPJ6a+3wv;A>EQWhuN)Uf50uE`yH~z4`fYe9=OqUL{kpf|AI412 z!SBgH0X6I9Z?=(OJN{z)|C+6%bFk@fz?j(x@YfvR5E_z8C#Z+2G=C%`g7q`zlB@dGe&v&GB@) z*dEav=)1j*%ootHQJ~p*hoU?9g5PyK!QZN0{oa53uh}8Bpn3aS&#$w`o#V=P0oPZ> z_Uv}tRR5!(wd69kf@%ok$L~{m_r{I)7tAWDqNmDGXG@#E^|L<59xS>i zBiFAw8ug#{8H3O4t{DlJk$-pBZO41{J#arcp}|khIKdiT_4V}?Uk4j-TXg%~32=O= z^ghAFkqs{FJAU7)1~O&(tP1ceUF-Nuj@eFMCr3BLCR)3GL-Wx0pQ<&ru6O}@v^Iui zoZV~Wv$plO#GKk#lKUkq!N;z_4}2&SZAm_G=&cygUDv&novT*eTf1>T_R%jkZ+m-m z?OBJGtt(jqeeE6`mL%}XeGVLiV|V}dyl=JE12_4ezU!r-MZqnJji365ziYOJQY~L&~-;7|GAh1>=@%lf07slPT9b{4GwwLTIUD! z3a8g?dZ-dH!IB)%58US)AP>CUhv$sd&zd#F?cZ#UUNFCQ&8p;L&iJDF*>T$2pza_aAHZ*VkGXb! zF@LXLzoGdLzxzAQUa#(NKJZJwPzjd&8u~OxfiUxQ&sfbo$SlXXO`FnJ@(oS%g>=bh z`s!dv7X}04+dI$MdG8!a7=5q&X3>kuZ`Xs7Wq173rr@IHyk&kCgt-+>z=bsUuMf|D zKDt(I;0UhLv#h0lCAZM?y(C)rZZ!I+4oCTC;8BCWj6~0ozYkvck{{Zh{Oi>vOp=q< zfF4aZJkSEC!NpgHMkPvplat;@jgt{rWj zz0dL4HRx$lbYY1Z&2IZOANl*Q)&_=Gr?SzwadQT5>H5<*e#19OHu;;*28WGzYv>LQ z8ZVwV?}+G5KWZL}-m>O_1DbPRb9^&n=8W>AxnJwuFfcfPkss3S?pbfVhOXDOPF{8} zz$fv`)oa$2?YwE@>gJvAdT*+=%_*95UpGQHP3Gc1)}9Vz%<$X%y~L$7d|c~r!{_dq zK6lOLrs-3sG!H(4S8NV$K3>mYSGwL>d%>?fpm;;~tga95tX zO++p!`QNn(N&J>fg{CEo9DmF)qKfhQv9(tro!2A&S zl12tg5`kk+M>p^0*!6D?e6XHvj$Xzbzavw z=bT;HEC2C#?`ppMm9IyLy}Zs$oHKiNm9?MtBbj59nnxeHKf98?muq(^Cs}tMF`}ig zJAaZgPf#2j;jQnza~}HI)hioW*C@`GP{ie#8?(E`uGP!0yegRukJq@nd;g{H2!$|b7&_DazV(lmfhA*y zf;?mTj3Q{6wH$E*hMawrL(I<{2^DS8ZFdBIIZt!)q`@)T39h8pjmfT6?)B8{01Nx7 z>qq-XmX5P`A51V@n|t`-<)~2B5C!lGR#iX) zBLv|Ax~Z~JN=IR|_ubzb0M^lUvR657>>fTeipwK`@5R^L*xYo}%@xp}b?Bj$K!f4S zd}my5+O)aKaZ-T6kb*v%>^$_q#^#aG z0Y^LKg3^PAsua!uvW$)8U5_vQZvDH4m%xAL$e9yfrBQmlC>~KGhw+xWVBjBpS#Rg= z_4oHRU;5(b>r8pOi=34!F~HC{C?%p0+=tGZS@=gFTRV!05$TIlk8;2W-FV;T=D6^+ zBaa*k@K69`OWzj0fNvgl*z7X2;GKZkGNPOn?z&4U?1yAN9OyEk@v)6L_fG|ymKQ&fu^&=O zY41>+p?%T`$7L7L?Fo{9u6`O9oc({vyW{u_+T#ne=cJ!$YqNByCdLlxiLqdqqE*f`pM)e(>4B1itWJZ zo5+FHtJg#nEfLfhj)nb1S#KQs>tnn7qPmR6mQ0t~aU$p_fB$=aH|7srgg!t!XV-~$ zYqWw}vX|)MT=pUlYHD^wnHi^ehCrwa1(g)$5rvX}*U0dD?z!jXR9+eFuA)NcxvHJQ zm$9D-BpmK9X;t*kfA+W>&YuzA%IJ6G6IKYEmCLuLcdu8#jAS9f8Zdx4fgOy^Oj2_- zr^~S2b8oE%qg|ZMh2tk3eK#C@1a<9E{u$TF3wi?M19g8kSCi)Qo}{P)_!7Xnzf%_I z$W4!x)DaUCe=&nq3z4qGc>5)f& zBbEE@kZqT0JcSWX;ubk<8gttGFGywWEN8-axOQ!|+Q;#j3}xbv@e_H@*o2r&; zKSft8Y`2B)B29F!r=NNv4dbjs$<6Y?ls^m5TB&iDvF!Wb{kb07r8YY-CajSIT<9t| z9`mDCRxVql?UCDSb@}y@MO7g$;>HsHVJxFgxL$enwNzD!?q796&eQfe_Tt4C=f|#A z$jfF2XcB4WVhi-m>d)2EF|L^~B8^r%8YR6n9M5XoTQ+Zr0D*Z6UQHF{I481TAa*3% zuN@wa$O*Q7tyYF;w;6P8^iZ5UJG6@BT`^}elgUZ+)x3WoQ`m;`jYT@&Q$gYAD(D$Z zwlhxC*U=@A7wBTNoi@7)IvMqkoM!TiK8-H0cI~=wYT$5Uat(P!ekcP$8w2!{t+YH< z7hs%6eq-yPf6&G_)&M6Aa=dJSj&KX-%_W(>tQXUl8JBQsZrt)t$o(O*@v?vt^qKbI zK*KpUUpq0??|M7kbob}tC?HmRlKFPJhwHf)UyJu$t+dcz2w-7%m8DCT%I177j%j%C z!B54zPq55I!if)x|3Oe3ZEu|V`_oS^i2hwEd5&Y01pqK)i%x8DbWwIdVD&rtV^6h( z=VbFBE0ICyDbzFhrhj59G1eeIu#w8k72sHK!2mrjxGSx30JnHD0p1{I z--eAFv|{+B^s8SznO3e?n(n&&mf(kzmO5d)erv_r^u^!*bZlXYE=GUFK7CU*<7=?D^_mMikM0gE!tJFbqJK8FW_uls^dbQiNM9K(dKa8A(wF4u35WAW6$B}U%Ug} zQzng9kkS08AI4kS0zm+LPn%q zFlU(BDvaPtdqsA$dR(P%_8r*6_)KbQhR3<6-}=EXRNp$nM3WU)j~pp|wu@xR?wC+# zEPP(=_0X<&BG7n%CZ-vCXhX=svne-ygEm7sSSZ6J1hS04HGE33Xh3bPxpA(rfXFU% zw)F})Aye2?v=PQkF2+#mnd1^_cfK7vtQ9`r^1rhZ;{)T`yk$!S8xj~)-Wc@7_<;_O zoZvdZq;ix)O-tiqT#aos`v;;hb57GAk$+5r|M*A$tRoc%hyQ}l;g$Ot(Q#Nc{>sY> z(!c&Ue-wQMUnBQWF99J>yv=^A>`n50B58fjEBYISk>rO#4rx5X zKBr⩔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

    X2~zgZ@%2ooBb4!KQ*xaVoW|<%P9V*hms8d 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

    MO_?@J{!TY&py8I|&YOtM}T1xsUi#_~*I{ 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

    iRGanU$% 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%0DS+ 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

    MdcSts5u2Q-!dm~lWpjKV=$xa09 zjia}pdpLmz_3Bw`-ZsUXYtQU3K({_3^w?x&!Q6=BFtB9D`x_^5|SbPzJ8%``9@ic?=aVMJ zM47B?#E3(fg|EhdXQ`~-TKeyB^$jTv)zI3P**#BB(enDgDNT#h<2H0lE_ z$)K(HzKSlN9!lH7tV{Qw&W3=TWHv&N!aj4nxb^4H7xRn7?9xSXD~=D8G>1D~5eGe; zWi9GYM!2!yqhrEG3|k$d&+O$m#aJGoOsV6j9v$NMRBo#N#eQK_LQG>lK57ZvVw_+H z!*9`3JElipztv?P;UE9Mh>8&t!g+dXvQ+zf?L!eY;Ozhj zj5wxa>tcE~ozps0#nIB7q2|$dsZS@L<)cY< z;$bO0h_{Zx$28W+d@qf$-T$YRjFzS4Ex%_aU2XSLYOWPX zdkL?xM4$e;QC9O0<&fCki~Gf5D%ia5+I*012q7}?V|Uzc$j*ok!M_xxei?y#vPawg zkh`&6_sxev_c!2wag6@EaS`Fp4M0McX=;N4AO$1@RT5VGETIt}M!IN*R7JZRh?P-_FKkH>)7I&j|&2xi)@cL(RuJ z4F4EJh_mTS*=2;c;g@NYl{Ft|p+HgO;Xt&P?&qn8O3Lm7Z{6v)=@yO*shgn3vZM+r zAB{MZo#b)t_%IqF$OWJGoiKIf_rk0|Oel%@rGU_fJojjBMBI;&>06cs<^5GY$TE^OVdpWBmZTn@&3eFWY09iBAlkI3MMIW}zr6Fw(* zfA{(O@m*dS;UliUNYnv*RsEwh8ck&iz(<}WN;?oiW~D0Sq5gsmkilel-s66^g}`ni z4>#tyw9i^w>C~U;nGoYmp;8Q4`7isERe~!SkGse!;Ae-+`x}V+)^)V|*=lK)TT(ip zewp(@0R|iyQ!m$4Py7(l!x6Ok>-3@g|+1_A31W{T~-)yn)~6`}{%@NrDz z%q9P2Yqq5R{1)*Af7)$&owST45bhu!+%lIrms$2c8989Lj_=+5-L_Zc=hbj2^YGn; zRj@`*bAf{LVYfx~UFh?%sDLSou{cix!oCp5u@DHEpY$d_sDjg9&y5n}JfP2~%q`jD zzbo<|;c~~iF>@I7#WHG_mEN}aoq%r|`=GzckMF5}htQjuabIxpW*WG9n3=VGN{Z9% zrJf%WEqberx{YL+eDgASJQ(PgRJIBvSg*5W$_T8(Y+qcAh-nTd^c<55TU^#HZA*UQ z30h#9wA5$Vo$V}ZWOg>QEi1}WMxSW^ZT#NXSwGa0 zVLn2qjw1p&tIF}ztfzTe&2G?=vCdaHdvIW2TSo;WbJI^{gxcKBx@2iHk$C$P?8Es; zSc_2_gVR?n7aWuemR2SPK++G7Tab6Q3B;q;NyZ;VeGn+lgYB&>VKrVR*$w*mYbkU% z{er#w9kyZTwx;-yB7?T1V+I@+ov*ycc&{cZ2&Jzy#K9l21Kz)34n6Ma4 zxIY=K`iI1QW(u$W0!?z*-}xGhQS>sp+fTB-@|e)dm!{IpmF7<9(<-5oGT5Y{gy-!# zuI_J_^;q1M0V|DN=RQ#I#iFZD^qQ2GB0HANU?^fGl<~FeKL&H+IowuPmqZq)_X?P@ zt#8!v17XmzgJd)+jqF*0k0K@v%HpCxNUH$k9Qzr2oF!* z&%R5tVUGBR0PJ!eXC8MG%lZBEEj#g$40^Z-Kc5*ca6DV88$`@-(a6eLaA3aswmO=k zViaV773W8+*S2FZryjE2GoPOF`bWXV!zif2_Wp&O^g7&qLgHx|TGqx8oBS+{;L*V(EUJZA4tTcNLW#e4F`?XZ!mUCs4R`eu_GJ=$`f_`bL+d zW1ynx>g)Zo(@{xX4D~M>>RZJ@ld^ni!5-1;KzSspf>J=hvYl+wyp2N(SU%8`A{dk8 zbo`>(l5C;Im^~Wk&pC4yZv_JOrk!gun;4irH>j!3{Mwhte$Mh|e|;V0(dK<)aGTca zCwQ{qoEq_psp* z&8`w~_NNrp)Tx#ei!A9!%wPtkmy;|L$+Y|}bhcl}xEWr?sK?prpFEk}2@Gi*P~DEX z{`2ZQ$BlBVxRu^q(EfKris$=@H@*FwNyr0*-2cG;fA}AWzxo_Gp>!zVr9;Lwk3}a? zPnNo=iqfU2%zsja4k9VGVM>RoYkI{XDUu#7Lic zMX)AlLHpT9ZYh~P#7V6*>f9IGljy({9X0Z~s>gM<&3;1^r6xmBWCFn8HB68BL+2zv z{!>*$zby1k{ZU=rC<&VHj){zQRkkV+B%JpoKD)HDpDS@$1jiPv;)8D8Up`DaeY5u0 ztK{H#XHv~KYqQ~}uifTt|B@ca1N=s_``Xn=NWJRSbDp_E9U&3KF3U#8R-&4Jv8!>z zYO>e?t^2=<{-a2xs+6Qz&g?LPiNvtIa&lb#C_@X^WN3z-LqG}Z?4HIrI2-+QzO*}2 z)^iPcPZ2ka&`iKo-!rufZm<6Iy{pWbsE)^icOlTQ&LVAkTlRKz3Zfgd)U>(Z>nEi- z=3%c!WQp$HFe&_~34TNm>HFIFZC?hwF{sBOpJjQl;LAWA(%!wlxUNPkNGmA0+v^QE zBNm*O)Vm%tkB~qF7|*lY(#TslKeJkz05gpISuJA4pbmfsl%WJJ zp{$z$!1F^nZY;_wCb#$uv9}kU!AZ)S5ilsp`omr;cvqm^)1l>uq>O5O>@idAF6{nB z)c^NdYpdR3bj&4W06yG0A78Z*FGa7S<7~r>SWo|JmTC-Drk8Kp z6wCsvPs;*q)E3_*ZiP{Al)OXQmbuOm)vOGoFpcmbxr@!9cj zFY-9KkHVx=yvOO}-Fmkw6Hw}U6MA4V?2~$}h{Esr1K>>>n%4DuLcyYeCEJE6!H#=AtSKvqU^kuvs;L3HuQ(-e|?P4?Uf zh=hXY+&Xs(h(55Ti8oi=Q)o*nuvn`4L68m{^NXLB37u5pCVf-n%qK=RnI``)OB#{* z6U6=Zp<4yH-?qS3#|1sf8p@WAe$iGfG#Gcwc%tnXQS9meW^)as#P~w@lzLnY;Csz- zU5S5j_eVqpH0bwB8)~ilNz2ZV0U^mSAfeE>pe64OYviwaVy6VUT~Bx8Q}P#ni;gCn zFVP@c@f^OK{yE&L02Tb`>my{-@^46zE^%N;V#1@6jP-0b=9cQg*z5&zJz4E3aM0~Z z5&B=$W6bfg+uJLH(BqR@q-;afea zqx2l^?b#y-i3y2PKsj%#=&J6rv&p%ikMR5Y7g3VD1^W|R4>udlRl1G!OUe4YYZx1^ zHV`kjfA@_q@okAg+t5u>of@I{>0P#X`dbzYuPY=KMm=_Ix;;ps5A@i~89-w6uNsG^ z9S-8h2}3gZ#Fmuf4wRusj+AxFCnWA>M`iFrzBhlqVIoZL?jG3eD?+Cv3cO>t%VWT` zr%z10f2K$DMXi2%8r`&iKM+0;y!mba=MP!!qTqLpSaaRiw{00iNe5M;;SwBuzn`*z ztlwmC>nr;tr6-7Dnzfd_O#u25qW0T(62t>7y#I|Sk4mBojNA7h!*SM>X9M`=M$fER z3RJ{hb5J)0!JJ*)s5gm+T~3RWiW9?`Xb)VyK7M`Qh*WKDtw0Dh!iUZ5w+X6q9U*s{ z5_;WTZ|`7wJG9utV|Y(jO4`XD6RDEWz^Rq@MO%xda|f2$gT>279z5vTelhIHB!`xy zw@iylN))az+K)3k*KeFmUKxHESw*QCefDAY*z-_(I9qW$>@>T=v%#_?IbN*O>AD!| zl;;0|^8p*dg-hy|`{u-Zxl+mF81xklm{3Q8;6FV*^&hrlUbY-t7{V`pDBUTou`X&x z%q=Y`>qp&&KJNAc^2$@9LAL{;l*>}f1E09n(6{OBcKTS`o;pay2>tR2n7%YMYP=Ou zzo_OK{{9%WR>tF`i~Wa5Ut|HUiP^BWQ(I%n$cVokR*pwKr5C}=LOYo+Lnk9_mTLMK za2Du~As-%bWiUc9usd$}V!pHZ_3;;0SxZS7$dhK7IM|C&KC&iS2T0UXD01lL{Hitd z`QtwnVz@}v>$h9b&DGXlvQJP5H{r}T9c_=Zpqgr3!OGwi#nMPW7qdlr4(tbf0Uf_L zM&NS8MLFeIy31=>^?;})_o#Pv;-h3K1kU@t!)pJ24Z@RzKfACS;IADY{ZKbvsFv_D zBubNQBO0>D_aUblvON?dPASa8hN^#&HE5T_#Yr(!n@HD^&brsC3>j-uo)Rw-ZE-eX zf}{-!Fw(moNGME`&|qst6*7BRn(3HN`njOWx#&k#g{jh%3Ll@rjO8AO;ZIlB^k&l~T zkzt43tp`gC{-L8A5#0i>y80=@CQSX(^kmp>DrM)ku}e@NKkO~Ha<%IRBFp=e829sy zh6D1)H8{yp_bP=>A=mUzyrkh|ts){TBPprCTD5rk@?Vpm)Q{u#!N0;2SE~xvSrxM1 z)||c?i4J{7L?MgH8q)|GPRD~Xf$`Ii+urHo8qLknhwK_!;4_5;y+IBt-|qCO+^7t6 zXaPir>i~Z*X-Rp%2w%XPv2_cgifN(Ve5m19j3vZ=C?y=e?sByseM)04Iky&nBb9sm z0;K`SzlP@wSGpk&n!$)>s;tH@w%lnzZ+&}R#=EOLQ&{@k*@MKL&4$r^jee#dhQB)F zXeY+*OnCU?v;6q`w{DUq&85yqeK&Jry8&z+da0rR-)6w_pUq&vUnO0aH8T}wHrFM! zG+2+q02;hGT^W9!pk=f%Q`p@E>PV)ipN;tIXVK>VE|Qyg(lCkIv9C6~*bGu0hfojS zr0#tiftqO$=GRnSF->^Fqj({iJrS7#;WaEp&2ODaz~VW9Pr2(Dq1^P2 z-OHf;wa0Vt^49rk?J`<}ETMijUYeBO{&YAn%)q5tT<9k$CdKB)MgO_ALyA0WV$}a( z?<>5bYTLbsQbHu8Bn70qI|LDF1QetO7y%J!kS-;pLAtxUn?aE7mXHp~fuUn&zCoY& zIp=vj@3+n$aMs#u4|^7~_kCa2eZ~E|V#f~Hu=;&<`Ps(9$OWiJT^a3X3pN$;^S?_% z#>cR>hIBJGzW^WsbS$Vx@a?z7!O?w1Mcc9ggQgNB4vXxJkqP>I7ClwaFRRDAQPx%# zVR7*{)^FdAHn*xm`k~z2ET5Qt6ebX7C*o#n-oM?}G%VDrlW29k+%o*KpPmTCb|?)B z2T!ZQ$z4Am5%;su)q0vKmnL(2JKi{0fd#Sh%OSPA_c9oOfu@2Mi3fvkwy`F^la8sZq!u=afW!(LKrm zI6k!w+3w+2|J)551(9ICQD(Jx1C)|KfgPd*5;WT4vEqJjKt0r+ua!h95a5rvwR1lI319of}o^( zK!XnpT+cN?1F z3X$4*mOaHibsWi#Qt2TEs#N2Ac z9TXrLs;=?dlYH8ABX0(#@SeXeY~yXJ@ZKT4W+&>smP@Z1H*wW_{jd$1yLGy!9bn__ z>@7USV#?j>Y`HP}*7mJdKZVl^1$x%qpZx6STn2GtgMA?;UaTI7Fts&e@Rf|a%TXgP zbh%O4Re_eq@?k5Q>+pmaduAi-`>`wpTZXX20!ZMsaqM2@cC$gTGUTlK4!2B=)=ziC zH%}W9zww?&Z)ezGuJYv_dYQP4GU z0Cp}xH?9kyeKox;Niq!1wMRLym^#ge(pw1CS8B zF^ELPEDj8Q%i40 z(T{2a3jN_P2}XRE-AR_<1(s@N9}M}x1xoE0?Qe2-{9wuz&dxP{O%ejejp!H*_NUu# zZp$i0M12!ET_ksB67{@EKC-R5)!QST*1m|t`^6rFsGWS+=k`03+qN>+5Ij$4TbS5wSiXy2-C{~XI+834kGu~4T2 z^1Acpu>tJrASbVzZ&;qH&$`h4h;$0pzNBK9tyAU_P9Auz@EKRL#|1Hr2uN6DX@^$h z5px&0Jr1cmrKtB)p_rD#vCuJgdL}_&M5ERFNjC6)ppt!{;b4wGoOkm$r#A8HCF^Gq z6~!7X>k9=N@c9$1O}%C_E281?k?eJOgQcZ11=0uxXcJUN3sfe;jaL zh3OW%nS51s!QOGv>E{Z>qZ;F@klKul$h(Nv;>lO7$AGvUh>D8x=l^)<1&vM*z{^Rf zeCDnFQd|C&6CpI)&tBikcPpF%nnFO#tL04uz`t5rHGjqh~A- z5Ce$j(C;(`@zAVEm)z)0b-SR7cwW7^$hLuPk)>s7oyu+-)pmG3a>@E}pYnnqiIOoj zrI-0}d09ArZ#H*+8}kLPgBhyWktuI6(rg*4CyOvFKrbrlXFy`lBj1kJQmdenT-l-3 zM}}F$mZJRHk@zloLFT9fh+=y=@1M5j7b_8xW8^ahezODFyNJAv0siwt=#HmrmIq^Q zjS0`Y=q^bI5kFYEhnskcumc~fPwUYHY=snj^VHH^Kx43Y%FVcP8YeJE+)=aS?uolP zB(k{j^9Z-fErjHq1^N%{HS~zp>XM7=mx=4Qjg$$qQyBX z%v^?0^=`uMQ+)DMO)7Thlamw(SqfHy;2l=<#5T?9RoBv@T;d7kVM$Lpbh8|uvp*{M=UFN@VDP#g?2q0u{ijec* zdz*n`rACE>GiM6|eoa_L`V>XT^P60wnG^>DfFwpwv@XCQUvjD?OR6bls8!c5xOiT- zv-{MtQ~uiPp|dC4p}bG!*zGm>^a8{CZ&31c*skFIy&gPoBGHkQNWig84=CAmC4zx8 z$bTQD(Vzzx28Yo+bw1VJ2m=^1$(SzGLgFK9%55ICK*t?c8e83E+}*GDk3o!lH-TPJ zU8W=%OWqKlO(j3<0sT#;0p6>osp9#^$hW$@dp-OBa(2_G8mmnxyPguaidM32&XFd? z&rf;${NQa+Z0PmH0Q9Y`;;Z$BYL#mZfwk3ok~3qH5fpu$^%B@1<4O%1I~Ey0l0SjFW} z@o?F5W;lwYWxDdnn8-%%NO>J^tsqMxBV1P%GM=3y(Y8A?Fm2PX>GAoO3Fu%@(=!vC zY8^byj%SX~Kf`j7X+1rZG+r0R1z$)rk&PVQN(xeP0-NYYoKm9(sId~xz}Im^{Wjl@ zK^rt{>EGj;ye@z*epu^^P+>4Me)N5O^Ncq42{wcK+1^yGqksJwO)zR8))ZJ}k()Q< z+VY6{X+@Q3&!X+&nrBrzIMYsx|D zA0-N*=L*YjE*62{hq{i`=P0Ps{ojkt(YeqPF$!9^KA*y!)%-WYPLI6I77giaT-Z)1 zts|kGr@KFn;5)AxKBvR?R31|3M{?J57@{ePAd3}VU8hdyyMr$Fko9ht5X3hf&olqfvY-JvM!o z^2($Ty@?q^U5d7&CYc}at#B-7_;)?0aw>gevTeuus$JbnZB9N=_jLkBT=mr_h0dR; zILWn0&Ak!|pwgR1#tuZ+M5N%el0UfQj;Lyt7S$T0pf%n3;gc5RsO*~EUQdsmTAD|f zpa)NvM|Av;Fh5>Q_NYY5c_8@m*j`8l@{+HjL`6qxEO6co)rN-mKk$JMTm`>x>9m1zjb79g zR6M5+56(LEE+m>JtA5-SptJ2>yv6amVwCZ4^0p?aFw;;JBQ}oc?W3{=-LY|lPYfz) zRb4cVL-E979s3@*8MECPtW9SoUj$gRz+Rp@X!1220v*#I!U_)_Q;jT_sBa0jQ>*%px6mPsssM0XWBw5)A8G!_01KtBUSB`e3UtxhLR%HZ3 zhA{D7$8=*zksuqgq=RX6wI_QpKqMa9)si>Mt%sMu%Xi<~tSpHn>x%9x_&$miny@(y z-NB0zJy9SFwlpwV>2LNWi`l(ON{VAs{@Qf-gQkT5{u6OsZ7XLzEmR|*^k|$p95;#n z+RiNsQB=yoS9eu-nCO?V|wTRq$?X3B1Xc4djaT`19h z&k}AXX0bJ`lC(w?kluFrO4xN(i^woS(dCEdhW-L#zT8``G7^IOKcpctX$5J6%jwL_H>VjO0^}E)hd|3(46YVGHB*AtfU_-@6%yu_7 zq&9)x=Qi+{7w6tLq${}+daE!$dzlI729$H=v401ZG2+N!_0#fsUyc-hw#193N2dGa z-ixPr`s&YSiz)|ku?ppLJ&w-wq=M2p=0CiH>pg6xD$%dyW#z>WK*c~7(oFLhp1(CV&`l!g}O4rw8VcS&7Kq0YQ`oQdCaOsPq28mV4|l_@s; z$(@r$L2G~y^#FbyR9|8#hq5Im#g&*Enjzh6tB(PPe*2X>{0M=f3-`dy2OJ-6bTww5op>>^HN2m&zqAOb!uwEc%}^3 zE$>|?GMg1g%Jo=B*yU%|;=Z{Pf+LXbTF<6AodW9ySBR!q)MM!t8SdGG*9)0V1f-!C@kQuD>jnSRWv$y8Mg2_b{# zcpVRSZLuDVrjKoHDcI_9s1Xe0Vpdsn79G|Ce~`BwXRCE)f__|i2&FAlRq@o6zPg|- zaqP(XIFVL^PGJ1%H!Uh;bJL%GYjK)Bci|=zBBndHh`6{8S)96wNjJprx zdDGtBzTVEGhx55H$5$r^${7_43*OjBTGqCd4h+a8>C7n{*fK5z(~$aBab6ti3fnfQ zZS~{oyXOIMCKyN}D#jrPRCrr>;r<;2rrGN-&$V4JfuZN6DVBHLKvjt<`8RCOSHux_C+CU9j=fw z2cAWVkTOguf^ZX_!Sm5kBbROet;e7BbK#krWg%U$S4n4QKizH+S6~E-Wxa9oRh%H! z=UI6#7FtRm*vsIe+r~o$wbRNj$_0`pF?K~6@}4l{D<;=xy%w{fq{FLnZvpXob8WI1 z9Q%bTdTBXkL~S`t_ig;t@qH|60{BdCF!?~Gyn=0ew)9KWm)~pbKo?txRp2*_z3}ie z9cPkBkvutM*A?w*bqt|51Yu76ArPHL5R6*(0W-~&qW(|11;#j0Pfo0W5h*5|_gKx> z*N6`_6+Q377|85exvx96B-zx&I0#c}dwFlHxy05DSR!z2FCmC#1Y?yh(>bh$_VjT& zOO6WqfFzTidR)iz{mOW>owSJ%_r3J;%x@*bKX z`%WcrMJu_MSv3*?)Uz@U#Q5u^F9B-!H!xu=rQW=}?h5DgvQcJ?_{F75m9W=!T|C2% zmmGR^%GjHUQ_wqhdwVxu(tMv#_4BD`?iRkhR_v4A4}9c4KRtBRR$x;QF>4(3{rh)( z|0Tp;I^tMZRhNYeO94Mxk5OFEY60I1;_NNf0=EQ)zd{VHCZyr*ga`WnC=x>rABgAj zw{C=*Q!=*LwYxtwARsQDn(MQZyB)ANZAN()v+Y0XLfs!K)Phr}2R z-R!$~b36t(BV4p1bGeTW!^*+bhHgif6`CU~*f=E&?LrL5W{&8SUp%hA25UlbXVcsW>oL@RQpN$*u^?SSy>7VJQag{qX*^ z?-}A6_`~+kmpp^fs2$Y=cB&Oe2H&y7l#V)>tst@&aK%Gh--YmcDk_=saE##O5Ml+_ zzqg*L7B6$AQhWm%%f=cpjuPjKDH!P-Ftbzw{fw0M+UOU>g49|wnW8Q-Jz&0Hh2L^np_z z^&Y*{j-41Vb;PDD%+1b#GI>YEVEjr}9C{Wc+Sm6l7%<95yJw34Zo;k$%Is17QFSBr zVb$#7Lb|@>*gY2}mV=^YhLXEq0D#bXW95rfW?C zC-%~37=QH<9>XNKk@VcOM$`U&JC#)#_K&*gWyNnc)NZWx>&!kiC&BKTR6 z5YnD32a>tFo`;PksNJX7WQeL=Qn*cqKRQuAYLg=e9Dah?^kFDTXY;T(#I7>k%c6*z zQo9cG6#*ID;J2M5$q>n)rf+hlBuOvtxDwtyd*P4F`q1%t)*D7F9yiV|tjXk8QFwsK zETws=_`Ovr7_*^~6o=5$ypZh6-H@pgSxvl6y7%-nP-&xZX-7!fpc~~uBc(`yXnSdG zu0YFG|3DO#-J-*Tn-`AKqahzrf_RtPSA{PhMZ&s;+Bjc*^W_Y8@}=1C3Eaorc>Oe= zOP(cLM<%m{Wo~Q|ul{70flTd&CBptQSdX0+&-zm(WyCJzD$pZa{mJR_)e+(7BV!Rm za@*ITr@{_{8ns+bd0y-CDl2uZL z#B8yIdz^mwAHh{;)L;d>SEp6eGsk`=7zdGS5?p2#v_L<}h2-2Kiv4GFcxAcS*%EGA zE=OIYHtw3slztpKXPx;KhjD2W9GM^$`I5UMgo+G%ND`JF4+N%|!4vmW`Nnat-bp6x0TH7_#V@egw$?Nw!;N#(*=|7k5`L$1(D?M|FBtgU$1L#$6J`p_DU$&&z`gKk)YQY`1&N%uZ+b zlNNUou2QVSvfNx3`U%oEm(P9GAO|_^pT|iQ!#obxd98w9_ATx*qiC^k#oS|wxY}qt z&jtWtD)&&@1;iiO!S{Fj``8Sx(T0yXe@vb(NpKa%=?#*KDPlCLu%PYwUzLPx4eRy zObuIjpD?|e<5R%2$(|v{VgZ@7(~#yuQmAHGk=|gJltp zIAW1>)a^vi7*EFJi3MvU0m(t3tnkcDw(!g>})qXqOhn|^=t;jw~EC|zaDmt^zsiO*9|11 zO0{@pe0@wCvHKkz6bvk``WA6QL|E{(kVJ=+DLX ze-@)T#M_GGf)Ri<+qQ3N(rq-ZhKIg*t*ed$MJP-p-}lab*wR7#omS0oxcu ziwE_zs%5FQnzjVUwhy#e%Q_lpx3s@UV!{2vT&t@+QcX^-lKl)ay_b$v$Lfmry|VR1 z9A*_ObN82wr>_80{m1Z5x1F&`owDy4DjKK-)2kyoCnW0H&OIud%Kc|Ne<3JFe>LB7 zevn}ORe;J@+97ZI$))np+Kcd1w*zH_q&HmVqHEqJ5E;)@Y!`Q>O481evxoNO314YH zxL-0?nT0@tk8jd&%yjS_h}o&k>Ax~?L`pG(^S?r#Y>Z4xZpPv@$63xaneuoTPIoYM z_B~+g5b&pAj_LsnrzU-gr|TeaEP4F^85vnOYjA^0+*a zlFwkVx^>_9)a55!zGPJPc+J?s%?wNHWnBN-0Ccpak^5T*X-EjwLfFZ zomo08`~q6E?by^>E}-_VWR2%h-e#`{&AX~=C7j#|=LYtYRC%tymErq~x!M~)Kt;rS z&v+2MENG>=B;LH9oL?8}`h|tU#5l!+>4#S+i&R1AMQQr>k(q-yWH?XE{CY+LozARQ zMKCL<*_=1LcWCSEXw}QvQiZzf?0SD-=xx#x54i7m;$VKmq7&wo5286q-GF7#w~YMD zXZanvY*k8=@oBL1NP8w@XS6>j%277;94*Dgr+;Zyp zFCBh0y}1t!j~#bBY{FW){<_)kofK^<=AR@3Qy$$xMhe%`W2L zV0Y!>=)p>$)YXfNT^cW`5}jGW(!2iAsRp$7fH;UQ2&`>Ei}daNM)oE|x+;p1WZ9Hy zQo9DDkH1T{|GatmA=q4Ekxl&{YNAEpI3c`v)lR&_zO5*sSh4fsooyGm$x}8mn#PvTZw>I2xPvUoy-fJ&&h@CdEYyW zx?EodV`v+`VjcnMwnS@4+eN)>r|BNL{;OlrUx~ylgm2%y!v>#CmHSD!e~`0066?R` z?4>Zs6U3+%R{%0j)Q8vC)k#jWda^)MA}pU_WfwK^*3_21!fg6dVb|&A?|1!4of&6k zo9J!@-R7s{%V%BYZ*>{g4*16EFM<49J|FrL zv&A8+GHvHu_Z(3{CBx%qC+>{a+d~)I_!%7Uii$T-TUcvY#L=u`=7PxA;luE7M7LnB z!9-xG>hGK2G5Wk{V?f}Ut+)PtS4Qp!s3InViIfK*Wuqhf=ek`HZgM0SQmi~QHvbrb zQiwDmHvJ7l_{myc%*a|A0wy%U7i;f1m_0U*|XLyx?hSge#!0mke<&Dl34-`;1hWJPp zYnz_^evaBxX=4?anf!CugN=>oe=I~~wo%IMLZCeAU|XKnSNKe_nEU%@6*ZWHUxOD6 zR%tiVIba+dC2hL5^wVKS&pKqxFK^hTLZFi-LXFc1s`J6UEL&JrXNA8Xcl;dCRo3F+ zc{0>2*$UaJROFodhe}X3x`SQ<;6{5MvLE^J<4t6GI*m?7as_X@iKQVB2@$swGIC2w z5|D1V^c*LK`Q0!^ulxj-Ui^SoExk8#qP~3yH`nbb+6GvtW6Nfv#-njys>a5~4Ggqn z-@ZL1o9PMeIUXP6oVg?Gor_@}jnC zb&D11SnHNg$_gr&RTq$NLFha@v`ra&9pau@m#}MkyA1J|e0)qj^dTovQOr49oUGUw z7#N~BDLbAHLstye@O-Kk1*z_jHVoe%>U1keQS7G~I;7V`!Li%>o!P(2VCR{1rsAFREAM zd(L9nXERJ@PUg~KX7%_?x~h;!suAzodg^cTGgkaW1|W>a1hzkMF{{nZbtP3)N(%`J zlH9oyu)3O}y+u7ZoeX?dWw9Jjc3@=(Xoq>_e1#N1dQK{8A0V`fo5HgOv178z#fPrkou zCDK$-PaY2PxLx0=@#3du9T<>({rYw9$g#$1^=wwzX$L(w&Zi20=NDyv^PwG;cKO9M zs>SF0mtium{a(F_3A9(4s~~Fi%4WKE@4h5M>O{U%Ea$H@n>Z4b5`@j!nSWYx>rqEB zgU?s&2fl;RjN(`^@$vqvtE&avg3JtP{SLo<7?(QCQKrysm_)|;#b9-bVC!^OXq9eRv(yiV@0VUlc!}Du{uE{T*~pM^Zg~ue|{5hymC*I9oa5=AuCK zQGoO#j&cc&tBSzU#&>sP*ccynQtZ{oa%~n3vRoFmT)vP<(7;1nen+>i2R1p6pM$o3 z{?(6lT|$u^ zID-s9J3Eu+Z&lUnOI|@7xEMHFrrle}H&{|+pBOj3f#)VE-B%cMmrnEL?-@`sq_z&B zpeYBWGoa3<+)S5Na`Tj#TbgjMZ&)hF01I7D^do|xt4Y!*mMukCnKwiWBc;%L4~%ru z{oiO6JgeP(UveqlDXj1G+t&!hKP-UJ`jE_9qYIl>VYdnt0(^+oZGgbZ&9W~T_;F&f zu^X9B%hLWrqDdHim4iZDQam%Yk)$LXj0g*p!{eHAi_rclVW_W_(=TPBwa;@e2uP6?7e z4le#NvvG!a_p|AP0R#$fzcG>1Y;9?o?6Tz|5gx)tT=oh8jeW4O2OcMIPJ5IKg@zg8 zxylXHl*&x?MVkOJmrBqNFRVUQdE_bcNJ_G|Nf>+V<#o%bJZJR~u!{Ff3WVf9^b=AIVr?98rO zrwrvpxUZkl;2vUQ?O0kCWyiF8??>-#3?1j|LD2yAmr3z^j(&h(j0)9t@ms*e%U_m3* z8d}Kb^pc^fBfMZDOhjNH=R2x8E+V4(fRA6!etNF-LA?)WOX!J|E`Y3{ipn6ps{+ZA z!~P?{M-UQD2B^{PO1>5=BA)VK&}h%~lt}aXFgGUf%QwkaX-8_IQzMPGq$-`M}gKADa?Y`Q}R%$x_3Od?8LIj-kHd#)hfjgEUZY zwc#{8S+FEX@lGeF^P(n}8 z9#snsQ|TqX;dtmr6gb6!%wmjbQs1jO^p2C}s(6nbTqL8g!KlJ5-(kBXZ~W#^))kE` zw3eNiDsZXSPu1a(g28q&N3MzYYGeL1vA8 zF%inU{65f`pd788@e?xb=u=B}VP^k94~eBYV-NF$D7@b$MaLfLZB?u%i8mXO{J_5f z9m%qrm&m&Pzmgg-%F__lHtxg`fYB}npnmh0+dy(3c^#h^CUE+7RMln{y!T`-)1kl)-aMNPwgh8dPraen zID9yIVW|biVNf1US2rNOZ`2J>*sPxYo4jo+TaIiU-V1Q~U2hm8@ph^K=SDbTZTS$- zCJ~tLmx41-LR$8;?M-)RKOfmQD3f2XdV#NOBFQd3a~Nyf$;J1E?$6QL8T@1>?8(<+ zFMX{nfCnx@`{_+wRwFP~*LCaUt83$)g>vil=$+VP^L{SRd{0e;>b&_?>JGA2dLeN= zFWTn=WMCiVJ~bdXmxw#Q@VV)x zTDLQ&QB@)D3v$^DDMmcr7yBOeyrS`^wu`@=8a{?dC(aX6hG<2QlT$4rT)W5lLLU?1 zVEL>d!R-`hkf*4al}M~fFo1^a#rMh}EH=P;71ZX|U?$k0x2eryUP3NAhw?oP%r zrf1`aJL|TfR~(G6>E>|*tTIbB<**O~M0zcH!2oT6p5{z-z(&$03#D{QMV`X$>IRRy zcK5p?#&dg^l%3_Hg(R}5E>BP9QZEUjcpGAfKxRdOp+~f{|16t`5R>jbQ@9CM5F0(@J+F5e*E#JslAi2;(NXA#V71ON|OgOzv%25Wo`<(@-@sVV9p$4(;C< zPlTg7XFRB{c`NPhyDVjHLhdc45Us3g%fxkh=6Bv^YU^=_QA}`(!HPb6J3I(OyrZqB zkEwn^%g|bKVn2Pm4!H)rrS?3|qVv|ioo%1xi|1dfx*kcyv&4FWc@OH-_j4AmeZi3W zR8P%`PvI&Xd62@bJg~$07F_lE(oBqHN`NZ9t-5sOHCf`gC#FDZsmDyi#Y?Y zhMW~Ochkd-y$>J@;E7A5{J7@9wvnRa4EEecj-@kPsV5&&=%hA(nPv?j%un)=+~;cQ)+b*Q2eu_Fl1xFSFdP(+}bBKv?~M-~EpE~PY$D9EL3(-Zch-zXqk zhNHE0+^ExG0RF3oZRc%fp0QucZ$Ifb6!*uOguz#j@E(0h8BQ+twYvTsZMg&}np%eM z=rF5gud$68{oqLR5uP%GMhP?VR-@B3B11_ACF3dTo02}ZU|wIa-uaVnB;9SyJKFQc z0lv#XI1TBuE`6Ne?mUJX(h0(83(|k`>-yKm<<{T%=aGPeO32JgB;6+YMCP3cs;#ac zIz9!xba!$3?-1_gPnSA3w{FVC{CDlQ|G@hGfAgw9zjfiU_^Y_aetEus z@bZ6{m(kIK3e@&h8xSz_e>)u{BJ~J~_%e+4wmtpdPKVpK>z393$DsdX(Emx$EvEZ_ z67&G6;;=~(3|H7Ribjs?eryu7Da|AuxfHaH+vn}Jn6mV=6_9CJheMSAr1L_eqg#);}JDJj7h-)TH&u z85zSNyaD1FtD|~L(r43#s`zn#y}K<%^SkKfPkrs1EB}ZKJqB<=MC_-o%Wewr#D~`l z`BykOVKz_uRkVqSnQfy$iT`Ti_uEFaf22b`8)J&nK|j$L>ns9zZ^cIPzA+*QpHuOt zcQ%(_8!Z;hbQ|)o;-o((jC|V?SC^04u-{>|nruP&edAOjfZ;r42iw)8_R!j*i`QE6xIcAu~y}v-QzwMSw(X9idWhb@KVY}jepo_WWCgvyf=F~e= z%+Ih9UN4WxU%=-a{+|sJ2@gt#3gIj0d+oe?wkIB#QnBVfOCCIaT<`HRzbi$CG@N=` z{C8sDg!;%Y;gmcvD;0eU1UoVNNnKfB%JXkGacU!!yZ_oW|AXznZJ<#ZW+?06y4=G| z{axIZ6I0jh7;T>=gg)lJio?sS<6A)Hza71|0ZmG>kj`{s+)Ez;k|C&qshxTIdx=usM^wDG z#L}zVu<*}$IPyIyt+cq$8$k*{yV*RCJ}Mbau=rPmAP=j(9E+aT2`r?=i_x z1AJ(W{`_bUf97+;hz)b#=1%-X*nXJPJ4GAifJWzds+Q|xpZU3Ng4vtKkae5D=Na3Q zH^;I_tR?93k6Rt8V|1_6zy1AlvHS&g%CS3U%um(y!0FW2U( zy#74mIgTGZtXHX9u7Jo$1_8Zz9rQm9?DuHZ=ux%MpPQq}`4nnp+&kPBhywbMI-y{r z5M9J$TezSJd+V(OVMJ-@yma96()NoSErS8RzlruQ+6BrWX-AFSMm3(0^nJ!IZw_&S zZ1E%&5vElrohfN>4L&XDwMiinsnN@6Rmiz72uVJa&vQ!Y| zn-!CtyYf2lW@xU%yXj;rVDEep-*v?YQ^V~VF& zVsfhcq?dhLblzuCz3BSzKv`-<09rO3;y~N?N&nL2ofh>Zihge84_5!S62$MJGNO2q zoqUj)kFto8as{sMb3N^U4WHOaCqX!t*U==+Iv(46{cj8MpL4mr`hE|+C_X${{0Gci9}E{qN6iBq;xAjdPiX0`Yj4TH z$*=*{IJtqvE^hx;m zmg(j5Y*#Os;>7#nn*LhjRD076=xl)R#=SXt+n4b2@d;u5YOS{Pt^8R*4};*e%~Sp}Y#xbHejhHcf2BMBjslTn0WOWR z*o(JFsth>1sJ%Y`tMM+~@3e}|i`zZbJ?)RR(95kglqfB?bJylAY7vaxE_2wP`By`7{H$v{Bm7~Ot z){6eYjtWNPVya*i7pvh$!`&{o4!-HirxO?AK)$#Nb$^GZ&AJ1@E%=8Bkf9<0w$xbS z;1C%GKptsSd+vjj!W0XoyGGys5?pFbUsmkvqrz?)(oP%ZiK)-7FlpL5(`(i4a&QM` zl+cmjl-AlW_n1EW@)8qN>*TIblW))0uf`g=z1h(e5*on7;-n_z{3{ za{=*#O+9}~cOiW^k}%l0gBgP=C^K5FWH@zvEr--aQHTQs0oHMK6}O`ZQhVkDgKrM% zZ{p$v|4^HEZ}k&3pvKBdW)~6S{B-e?dkqr*6RS)Ui~^tMJqPyG-JcK@`r~)`Xehdu zq?JM}?IMY+0B*w^UI4Vw>NOmnP(L1bVd8CL-b}DUZ+ZF5T)@n|mNT?@zvG$~t;9`> z5+|ju6;ZeSo;lT?LeQ9~?g5Z*2;cg_`W^4uwr*V#>j95_&0X&M^~VF#tTP|TulH}- zU^lhnlBxFFwR6>j5TO)KXUO~d7ap)93$UW>_T{DWHSNM87f5$N;A}uZ4FqmWpN87* zP3W?f?#D2$X^_2hE#ytVvukm9EKtg`dtrePO@YMo47H2iTRDn(M=_}n6Vlf%7cdL4 zO>&JrDct8b6O(%DRhV#EgU4|`Z~b`a46_K(e(qGss=mNFdPOs*cPT?mghG;g2OH(& zj=Bo2Z&<(^nRNjaN@lhFJ1=wjSI0JxrqA?7e{80MEZuA4N8U9d)=>3LQ4v@|@Fo zY1R96$tS3rHsPfQ_7nz|57bV1gw=X6@WYyt&bDKeEPvSBHGc4FTbdp@pUB<0 z*zih1#$Z8KG;M}lQu>BPt(z8ug1O^Kq~Wy@rzTdUdBCDn;0#y!W8m&v{URxj371ky z#VHoKiF^XpK#QNX-NtTSZED3@ZJQQ*Gw0jyT!p8vlFDZ&!esYI zrY{1r1YXKSz+d*3&oM6r!5sOYw0rBWudx+Jp!OQmHA=EW;TTb181xyWV~64owWV;-ybtV)>LI(CQJ%^VKi@@;bi1LqEJSlx*^c*tgAJhHo`Xe!`1wOW2|~(&lG; zM?g8p0i^-!%-Nbc>aNExyN-p0V*H`jU5wC`QI>r(=K}(&x20vTsAB*fnU$~BH)Ov) zW7RjC`9t9uVZJ9sCAw&*=l6R;XMu^h%rtuL6qA}ObrLPGm}4Cl`g?V?)64jDUtQgI z<|(^8$RCwTeI0}0Q2==L?M;O-gU_AAazk-u`}ZR|%?h7>BE3Mi3!Oh~t?%7u?co3y zqn~w|E9)t}<}*r`G818Q_36Z0AyyOtW(MT{PVn{#UjT-rNP}M<1GAKC&i03v7@@b= z;p~4oq~czfF@$>)6oBJG=!PN0rB9wdgfK`;#NRjg;7c@ygif2C%=*H9tjco_N_n6c z%HqseTCC{@(?3{5OmBn@AeOB~V^z(6Ivgk{Px*={!cHx)x6f0|C{hspPbzB===dF` zqaxUUz&m%+(*TNCmx-jlk%3#!_ze7|22Pm;WSYNx<(fFr##iD#V<5398<6xNq7hw0333wMHM?5#R2^B#6seOy>BpPtbf=&(vG_k2gyz4F0p zR(E4g6$DOQs!s>Mn#bt7Yr_!lHAv}V3v?dw~+Fizcy92Z0z=G z{3Qw#y42yGx|X@MspD_-v1K{9UT#hpN#J_5>D!}1hBEJU<^K);M7s!yUw~^Sd>N#a-h8Q$-r%UbpU~IQv3N=6>PD}MQ4kvZ zKVxy8<1Z{>GT2nsBl+Ik7~?CSDk5ssEBg=1;&4znDLDNOMLy;ocU`Vb7Ex0B4K(9< z!n71Ps)SnJe-nZ`VtJ2#^cz~|M>V>WH~M%k{x}1l-*Lbw-a5|QX@r^|v$A}#u(VYE zYH4X<5(rnF@8;MwDMa)qbM3Pr+R~VRlrd9FSCms%FXG{yZTDH1*ouK475}*@hICsj zsf3w|@n&l#nu}L2VQ43GbezzfO*2Km2`CLjsy!f5(J79!{1>y@(Wqj|2O=IFx3zuX zfzB)uB&PM-mZ|inqOUA!JnG`6HBtEh{aqYCNVoy?Qic&a0Xg&ax^Tg4DBDO-HVk7$ zxB^#D)z|-4t)MS!6N_6Rqe<};a7+LU<+Q^lsv@x5sD@0>4zmAq|a z)~xnfn|G?Q7(JWuJ%C(r&a}nwTDPWguBz-c&Rv-~?7?h=6vJ*7j&u)t4^rd$6{2`j z@|sNaVsaVFRP^3>e#`xp7<-SS5&tihP=3Z#i+6FzJ?@Xcb zr_h3o8KqlG>>T!heTh$&rGB-@2uTC=*Neb=&=|Y4-Uvy$U6DsaC-t30pzc6V2Zuq` zK!(H)l2(tAL($dY3_4^+XcW@WUwqmS!ztCmzI9`vn}35*TpgBl7xdsaeXjdZTRf-E z6d1q?;fnQO5i%TuXg`C1xtXr}Qx4Xuz9wCjMP`xM#vF(!rPwO_jHiNAr*B}u+)vTr zDgBCZncLYwrjH&m3;Znt8&h5U~uckYex z9zBwsr(FcOOfVYYN&yIP9*~AS$US=IWWDeC^x%o9rWsO+9ieCUNR+x5i533n!PbT)zG)k_j1`I?=Gx zw@fxh^0~pg9#--G0Lwnqk5{az^G8>^uz%_e_vms zqq7{pD2Nm(4OMi{DRNG;5}G+GTQ7_|^?T$|>~HQ@WwY?(h^(O!+UU^*;moUF4rBhs z1Fz^*kv=LC(qG(2u5=Elt1j*C?k7|mP)^TlAAL<%=zt?INqk|zaaHISgdAjB9^(8V z&(!)rjME^c{mRvK-BGz3W5dGwGfjFV`soFbj5f{hLzH_cy7e!kf2wVW!5d6vt_@N`hHN%T7iOk|G2F7KUe3-ARp^9B=r|nDJn_bfTrgS3%FegS&j}xp z1^{mg1i@z(_u@#wYj_}z?zm!p;*cMpOK)_w!7(|ieAAb7(bB%i2EKg$$7){J0<%`-uxQkRe|#5lVVP_3NaV%nhuEe@)fie!fO$V!2jFu#?)aWQBmJL-!8FZ_Wvpz*&d-umge z>%9CJ7)e*)&C3m&GU6V1W4aJDfLoc5_L|}l&$2*YF?UsP)*8|5iv*~e?y|ht0>h5X zVejtWmpMMC0q~JK5@GOjnABzFs6(@Q?y~b|??Ef;q_DW|#?}`xtz*K>^@EQE#vE{V zPw45@L%Ho&Uy3?^yok>t+ojjZo>!YdP?^AQ66XD@1u(Y584T?aj&Br&+=ulQxjys* zrrnfHSm4&s<5LQ~GF@M)BBGD`Zs7t5PKA5oo8=3Xxt2xE+7hPZQE%C;HczW6m&iv( zNK)WFPuc!j#7h)Hjbj^-enmD}fLXasu*G*M7aOL76*%&DyZ3xI=v*kCMAu`HHzP!I zsK?-^YYW0ke*!!hjJBi0F+9DCYW8a5q3(9_Pe($f0?h}+gtd@CwUn>njFG@6^PZ;AQ|@SM!# zii|)S`1nqMpx>I|P_Ym*-Xy$OFS(A#mhXF5Z+X6vcViwxMru0wCg1(gJiA^Vmw0Ps z>}go7I5rf!lQJ4olMpHifOy`9lj_YIB3}Fcg!Np#MtZt{-W}OhCQFTBPDd5#ke!6a zYL?qKb~c-J{;9$Cbbn!hSg2E}-QnkLBpM3qO&t_A-3VqLv`13w8!>KSW_9OH#pdxL zU2T_M*M@I}aBRgU5@<-lyB=P4Yd!xq^UvcAXsFrcFmzXMck_+3gW&FJHQx>_OJH|+3@SxH ztp?tguq;J8?O%t1*{L3(_XQUZ?$-;{HPfA|GYadt-Hzh0NB2?Az4-?hYmxph*x?G<^$P9yZxEjj>cOH%Hom> zgS3&Kv$h!8pRY#Uj}3qZ@tfFq?x4r(hm*9=Wey6dsUzyQn+wPRbsnl=tGHEqOqOE> z%9Co}OuCRC@@@j^?LCAKLW-|eN#TC?aBIs4S>)dFycHuaR%WPPK&m|Gq0b40WK5mN z6Q6Zbg+VfiIwq1E?YIkHUzhw~Y^Hy^_`>rDz8QnycC^Ii!6-$z&qvUYl{w#FY-rYA z!j_Zr;wWx#W$r^xWDZPh4U3?`RYyA~rI1IwmtI87rdN@->Lk!P<+*mdwue$&<4(e@@kvG1@9b&Ud#*^| zMkIe+X7T#sp+Uusds-ozQ>xXf;6i&qCVaZ`dFCARWoW+?u>5fzgH9jHlh zf?WZh05R*OJDxUMy%yT_!%gsxakc82m}RYN-&vG+5s_~r1~Xui4nUB@YR?Pre|o%< zke#IOt6Fyk!7)md-0EQ2I+Q1Tb-gR?1@3!~z45UKJ5?SUC9Nt-i)52(ui4|H3EUv2 zPuot*(q=yNIk5*l#EzA0j_-%+=gSZA0^yeAiWx8?0D;$c1}AQt5qw)T z8J3d@kBvs`rHyS>)9PdkGCS5?tA=L{j>Q(6x6_v~sb4Q^t~MbjGpVzB6>*oatE%%x z%9@97>(jhahVW?bT>NWiJq;I4jjxTgA$jd6+c`WrX zN6jYhrZ|yXuLfYv7c;sw`jzK8)eR4qx>Scodnrs;Bln(x%dYEXJVtjwEu%Zr)|GT4 zh!eGPx~+O#-s<}uyXD5)pPpoPda)1wVpW?lnG*#M)*`VwUv0!L7q2~fZ4B=uY*L2J zGLb3c4V`2v1MDh!`XGU#GpTXXJJ!#mbvQ?Ofd{S*4QzX<3h71a<<%-ui#8NgQB78@ zP0WOLeskSM%1BT|P{6y%e3ayLw>QW!eVjmeXR5LvhM_C^!$@2axtfgToaKs@9oNvTF?)lgo36Yf-BS{uL_+mv~70P zdHJ|;wV&NA>zvn8M9FRxglxzizK7D@tv1ZJJehFR*9+e({r#OJkzG1u;6L&E*?xQMJ7SNEpg8jQ zk)`;e68G+ky!w54r9Rc-`_uhr%D!Q)4J-Y|ok=MfxleapzaqbJ7=HMwJKlFJ<4CJ% z3~C`9?`2BnpROWXvVoN%V7P0as;yKnOa+M3IliAG%T@U~{f8G&!T*aHZvi=s-!1_n z5MW-88B7@Fw_|Hd6QnttIb)W&wcT)OPpqsxp9>|q-jDqQ)s4w<3!>6&Q5|fL)=qY>$6KZR(KtMCAnx0iX3YT6oJ6#fIO0S}9 zaR``%HnXO`I&ihH*|?kfcNReEM$J!AeWI?*opfe&h=~aD7(`$Y^U*f1KQN$s#rK(X zw#)2a6Xgl&6j*ZXLQ> zsT4jH>lt%AH-rL}viLZU4b2)Oi6XqNm10Z-*!|`~P6TKG0oQ`lgSRch?SB-2d0NDU z1t?`58?2*#V+INK%i5h>Cj}IPI=q){R^9AqJ zD_Fm%cM>6JqJ(fz^NO+*K!8pPG#ZBrL~ug=b9|!Fgbw6aCK6QM!9S_p1h%X*2B1MG4Th?9 zr!_`jZDJp?MrWWimU(j!A(pGN`)7i=L7{Pq>-lMl9XyvHQIRq1=9%Yz4Sc=eHLS@^ zL*Yyn*y{jMV+D=X)#Sl=gh>{Pt~yb8mas$CGc91?1B( z(iaKh%hDh#8pzPK=XiY&!$pWT)=wB3z_gjCJvX^)xcn0(&l)3P&!->YPG%7})Gc)1 zxJ)CtK8q)c@GCnXmlxV!K#vjBU00;Q8kZBbESQ9fB5bpNIR`_9Xw3yc^mI{+7qR*D z5#gPn4?P^3fSs!QHG}vMUQf*m!s@6(ZJFC3cp0R2F+bh^k z?D`^eqOH23_)&jG)vw9L<78k8f}ZXdG^*hD+V6+y0J}O_T;=qZK!WGG&L?@RGN<2K z>gw^rHT}9Vh6aV8_zF;*&fpt7>$G`YB)~mQ6pUzNdbV;YOg7fjJD@zGcZ}_OEcAtJ z`glTjcfL_u4M2Yd^{5|x&%jSptKqrC-d*q*l#fo#xC>N&>1>*6i+QG`4j?Z|`Yw7Q zy50JZzMF3k3iJsv*sl+y3%@UZD5AQ_@iv!2%jfj=Xo-Q5^>J6Ch<)(*m**ydH+d%Y zX<`QP1C@}12?zns?|BTK&XOyu0(y@Y94G$DWFd^?A*lS}n3(hQ@7L^ME{v096%`)j z-=jLuK(N>wA8odcwK`Hq_+)bpjh<8LuLY=zVwLG3QItiEe?&NK@(>159)e(#0P2t8 z@+?f5_Q*$9WUwKN+_|{;gLYrTYV0mAUXpm0>^!!?%|*dh{&t|B@y+ToZer*1J3&tx zEg6YX4}KwPv^s<(qrf&zK$Ld6@xACp zgi4$O6K42KLP9_e9yp1@ZeXPnbM&R^;6%^Cll1duJ=0h~`tNUa%GcCCZq7B2xrixn zarW;d7Q=aDrY&}CE{lj0@4{FbI?ba@JzkV~S_93g$BC0Ndtj!mx8^k`iv0zOE zs3Mfc^^)(En$Hjy0@Yck<_!~B&4;$WiIXd{4(ez>&P4bVkHLw7azo|SF-o|xHza8DBP-Cz%#|@_q5t3Si|`!9!IamkO|EjF z3PDWbDbkiFMuY_T&m@RKIBWJ6%`%IBiViw%0Y?d6qO;^}`3aL%Rel&Ffbbfm2$|(7 zsm*tM>_Oq%vsW+lf9Z74Agz>E1&%%Cxh2R#0?x8&ky1hu%e<$ zwoY9y6(m+DSx|Ej2I1on3LxofEcCg`Jb|FY%N;6E-&5#LE0;5+sbOzU@3va;Yy_V`4xC@j9W{O5Nnp?wx+ zgfE8dr&@@zd&VQep}7KM;-?z9`JzC`H1SvW zmK=615dEfO6qJzteA`j-cc_m(1c3PDHUD0)Z+74DS*D_>7Hy8_@^9?D`WT5BGL+V< zvj-t^R`lkoFY(T~&iTc|%wy`hYu=rgELN%@!giXg$E$vJt*m0x;^Kp5rn#<>DR!-K z|H#He?$URUPJ(3ig%7s+ai5G1OCD}VttP+Oio}LZLuiiaByeJylV28tlr zxOS^#%wxxmTik{fqcyM+h+Us6rf>e{g0;aMbE;u<+_Zj8?i?Mfk{$V$&1$h}8aE<* zpa)FhWe}00WW6fDvf}f`JGuh-NOy*iqszLZD+WC2mJfNEVME(D9sU^=X{$bsKtCb6 zx^@IZ6sEneNrl>!e^@nEnP8UB2FD9Y6F&!2?KHU%pAT!xOJ6kj31vWfd|0;Y{NA2h zA1!9*aH1M}FGUMBTSjX|(k_C15t^oXF1hf zM6SPCt8Cl?57A#d{u495-MHaln1r;PRl~@MaL7{Qo5Q^xy#Z-VH9RUd5$hKVcbkE_JJ&v0hU{}qdZc?K!x!(W{flmj zx6_My+H}9VlwAgPIxo~ve=UTNrI)wA|D_usqL?WbhoZFC!uwum&2G%9<9+6HyIuqN zs^L@C;rtXxDP~aZR8{1Xk=Mkmc?i2X;4xZH(ip$89l0>& z#|~%u=EX%Nc%WFENbf{Xi>Vbb0BbYZQZ@}+? zLi7Shcb7nI3rm1HgQFZnK$s)DcZZf`8Y$lvwX~vQ-7zHu9zgXqLP?wk{H>e`-rw%{ z;~IYw%ArjOYV8ZkN_krBcop}jiB*P)Xqe6khzy)}m{of)FX`*_L34d)?Fp13yj0&1 z)oPZXjyd{wnK_Vo?wFhIUf4@LnZrl^3SZ>F*qiLSLCeyaHidj=a{7vnK3{CE(GAVYJ84NoyW8Jgl2`A0?z86XHL z_VO+S>mcMS817oD%Qp@XBr>|s>tn0xP5621)z<3OZ0_*q3|9X+U zY;cWp*AEjA1tPIub|@odaLMLl8U#@T5sJTB8dOk%R65q8@_PguA?R&9^lHOnEd{Q@ zk01H&OyDJyD))*|_i;y5ncu|hZz>jy67O|Mqhjm(YSC*Qez{I=2n#vUcmf-iV6VPsb#V z;k~Cdc66~+Eo?y(O+0?a*Pe#YQ~NJ|`CK{C{T)zX9BpDab$~W8ZN-0g9X$)~;Pu#G zU-6va`2G3V$V0PHL$;g&@1xw8Hr?MR8T836 zWmU0nm6YC;mp6IF$o#3B|M^Sj;6QN&bNMB3h(!fasNlB@Zk?+!+tH`OSWK(P(C9SM@Zpcza z-}x`0$oF6TUJu0Q3;d_t{PReuUcEa+_;n%HWc9No!(dqe>eJZ`MVod?mNnV? zCz~>*(YHKgsXLi58&E--+#xwx*<>ExSGlsms2zxtb;G@VFLC-4CSvyY01F&lK=l>R zOvk?SVGVSP8WsLoFdP3T0M&MRN$X1A`JMOR<=PQaw^bl&`kjScF=Z-FRpYK+=D!Md ztp_S1H!GoTeQPC)@qsNBpb5*N=>7u^RA}TCtpTIB`2rt)Oa!)-xMw=?guf$#J;g^rPJeb z=h@IV2?f(vb-(#9{Ud14Il$X`iSeAlnXCd|LpGJ=Y3SW8s8YG;(cbf$AuCu7p+mIK zNVt=4z93|278oH0pl3$|u8x&ksby^ike(Qj*&^^kfnoWz9HJoj=?}BBEoOp)0LuU` zca+6bzi%?ei%kCM-e01~NUT>iFir6W}ESC~4thpk72cPq#3^_K$g)$1t! zT`0zGxX$V%a+Yp_nOT`VSzfcx_GV(!q9#hzZQ^!SFub!(4@7?c zqQS&aRAiPE5@~8@7tO=ZFI+*6m2>3w?<@ZIfYS&SCwhNZrXhoT7&8nr(ob&=@*H|` z>F3EWXJk}C0jhm_dG0Bv?l!G+0by8I1$;n#p3y{-pPKlMG!x7T*X$TOsAUv8Ol%Z4 zG}%dz0)MLPOc4(;o|sl0Qms@*g&S6hmPQS7gRZZIhH4yM0)r>ifiW4q_hhIJt(adX zf1cb>#MkiD#BU;@o}&Na*|-VeAmWu0sp)XnQ@k(RDiJDZf40epu)uH32(bsvucL$p zUhyoSeK8h=E>=I}$kF91*Wg^%vm)K@oxGU$#9b|0a((LYl3!$JBVtGoqlFvMd~M#D z?b(OfW#D*E7-J@q^xpB`Wd;Jl_xKODvgZyBFWq;%27o}NGA1Q790EM(4u>}UIZaJM zHg-zJ_{4pg4qMx%B_KNTsJ|C_F-}IlQE~CAS~T5;&IA< zFT#udDV`zM=cbFU)yFNa@7Xup-CiMod1TjTXrbtcsW>c6@!Sx?BJxJC_K%V-<7B+C zKWK7&DQUy{Ry_H0Nc*Mxn7D+Qy}fQ^B%{lyB%0)%G^**DGRfQGVANf;mqo}EwD1!c zRbv;^D=YL>tQSd@N^*!3(G8z&Lh)B-c7w>!$hE35hYv#DMR^dc0CE~zbT7|t*k0V3 z0pEi6qyh}!Wrca(%IX!-+pa4QDk34FV@HV>B)kJpk*R*q%uX(w!p#h4FeM80JUk%R z(<`pBYv$p3x6^H@lR*u9v2>K3M>~Dy#>M5WB@-2y6Dmis0>3ESZVowIPO7ZI2E7oU zUqd-qrF`NPrdzib7U5+3$$NY~H3@W}q@12!IqafNUSH?p<$Sp_n`1tMekcqDX{a)Q z1Bj1No^q!FAl%tEW_UdrcBY&*;Zu@sZ!2bB?G-rU`MY>yuiYIFSlaw2%9wGSKiSjh zhqaa$Vx3N<5vc>_(F$U>ie!Vc!xo!MHYXnYSXt`IH;ajdHs+^@J`T`6ld9X)Q5V*K zEhKOxj<&XTLSdoF&F)_P=}hx#8agrCaJEy|>zc0HPkIeJyu3oMdLlpQTKs#*|Efj1 zI0aDFe4~`a#MeGgVd$s)Vx6>%`3I@#h9H^=(HRu}$6TD-IU#1ZP^q2_kq33#q)BveV+lTIqw%E_H6MN0lfr6H?uU*h^FnxSzQ*u*Y^VuBz zA5$3Aa5HYij>Gqo?_VXRj}he{iBZ3$fcN#aw6?EIh2;y=Gpd}A6e29E{WN62df;mx8plMYItX&o(Uf$oSO$9Z%EscoGiPZO0;b09iaTTFeEA^&QN-^mB^dpk3G8 z$*3ep$Va>sM>P!lu9zP%*L-Y@Dp27KB1cTc|p7(%z5Adp5eR%P(lglOv3N|4cRw%+FPRFUiM4XpTu0xC$scwtmWHllNvm$Q^qSEtBFB$1wVFRAEZ#QiyZ^zl8P z@*cH#OkC^;aejUxr0XQh?a3+aDRteN_rHO=kP^y}U%!yF_u@xd&k(qry^!CpU%3AE zZpME+T5cbC@$?b*%A{B_BmT_<;C_YdbV+QKVh^+WIwOdh>~{DevP*>WcytnN%M;oY zGWWEk0sFQ}m7kG1RGJ%lL#f5g%c6(@O(mhS*O`PTxr3JV&$#Th*UH1k z!4u*y9uPLKeHw;)`{bSzczj@YAgmgrD*!n_@xwVKfxM~W3*aj-Ivke9R~ZQo9`AzS z5gox$vu86;ZqK{OcE2k*H$8F?8Bgzrm!C|K2JjR9E0aT~XmCaa^}VD^bDmw8TjUQ@ zG)|rN0J!SdW6EV!ZMm5$jdum#F>l1Wp&xFfW!t8YX&&Ay= z{2ax;;`N**%5c9{zq4BLK`8)bPx}{FA-kU&NBKO-jkp~73t*6KGSGlbMw*s9V5jQm zl$kbB{D8Cl+lq5z{GjXOmqWd=>pfv8E*Rq28A6zjXZIv4X_&wMZbxN90i@9;CP>0; z=}&UV7P*ByPxUKq}_<45UZLIaIQ;h*yV&sy-FN)1V0Muz88WY zS_o^mduwSBeiy|_W#efBaIFxB;PiydqKVm1wFRfKneXZKDcugp-vgj-uq)ck zH~A$-k#)-C-UE%yAdJ(&ctpepN}QEdznfZu>+MnSS-3{bv!Jh{+Oj@xhjExpl=(Dw;#3foKnKVY$=a`NwksNU*7g}&EMHLG1 zbG^%v?(g?~pUI_Xm!J|ohsfe@vq^q&OGC-TT8rH@0zi z%p_y&zf7(6Xz>2ToH6lM8>7UvaxJN8Un6a=?wA?0%No?X@CSuIK)por4O1SwbbmEB zPw|!{O;1;psJW_`cLJ9-dHMLj52pG4utley*sa$<07b&#vVmGuyS^$*xP{z4;E^@vIA6*rn5cFr9N=4;R#{-vaGj_-II!uCT*~r4GSemj1gtFL|xc z#m^s2Nu*i1Cy)&R{jR6bMbPgtt>bCR=Vpq!`-nrJp+=(XsoBWA`r0PI2;095n2)f^ zauLP@`aTALake_|yt>?JUWP?=U(gPtdlS7tbvJP_fC;$I>#gT=U5Sg3RVACrUJlCx zF=mSn;p0d%LZUvbUazopQ9lP`e{ILriuBF)jGiOQvcZ8W+x*dWu*w+1!YA@gZg5G$ zz&q^qb=SK&R#GbRWFX?s^mI6iI-PpGTOF#`-55^8)%ke~Y)ee|RQ_7yX3a=TCJ*zv z-gtNz3{4pQ!hN_MytVbJ1R&0Tk5RdYcywRLjt?h&uA)N4!We*AjXi6TjXY};$<=#! z=(w}Ho5bf$`hn3lmp@D&*?%9Yvf0YY!r%SP;ct?@ie{8I;|7VDH$ER3>`b7z$<>Ec zHX)`6oixEdRmvm9{ijHo;;=)_oWIMsnM}d`8~ZjLxY0NBL$p;j{nxhW$k_Q@7L0_D4K30H`}v&v+6Ou z;F>=q#Gl?r%f`^`GyygIn)A8m8=b@SuV2BJq$y*=`}X6n;l8iq+Vd3%qV=o{Zd34O zkszetd=^lt>=gO<yRFLQ#C<2lD2+-m4oO0u3%c}t(*R-$i+3~#G02;N_!DbuW?^wXW5Kl38Xm|rR634 zx@i}bX-j%R?2zG<-WLd?Eo{1JZg;0xGC@$~=*|n^9yo_s;lpTrfpm_&@$E z=r|iEJ-$wI#i1g_I){D1l9B9vX!EPSqCTXpT*W%~8X1|OhI6VNIyu=Q=7JI@QS&q9 z2f7e;bhrox`OIPpV}|9k5O5*+d81>;0rCM6s~Z(xOkM`0l<|QI_p&ZM`@H#Zc z^cFuUc_Yntmq2{bj03jpoF#pxT}W>gao4@xW4{`sM?93O9b83!`9K0fnd9aAEj;z% zNWQl!BwYlqr3a{4?DdrOT9z^hO`0TiZF3S)w_T{+oEn6F4sHxWsP@5t6CraJ$?M4q zfNm*$^uH-y8Zu|V?2=|nPi9W95l>9-*KbsY3%*~bUD&yGwW#^8-8uFme>o>FNW^$W zCbNP}Y3b5yMhA@^%;g-H#|DGWmpf(x?IUZ^W$9YQSyxUzHu#_Jl-^&7k)=B2m!>y& zWu{xAu3nzcX@wIL0=b>3`FK-PD8=^RAV7|q#+kJ;wqUO-5q??I zp@H;PEhM_h<_0?`)@^~NCFthn{Y`&`G|T>HW&(gEOwLVL^xFH)%FSkJ0~o%gwTx)} zt*Kcp4Rrw5OD)Gy!6PIkOx`-`h2e8&4ri)CLpA&a~Yp3Y2`=XWQ)`#w;;! zKbjN*wF!t^R(^Hpw}D>g2MNZxty^yFy>)Yj>jHXwWRf=-t$bSMhbk~(V`?nzRgdeo z^mNsTtK!PNA9{v8On*7aJ%-41>}!7bl`7|ntbACtm9Vq|zsVXFWCv9C;oKYK^YHsz zAMt&VreDzA=1PL8@Ci=PHy(?cz7!A6w$?45#t&{AG8@IL*R6F$m{8(pHAj!=Fne`P zZX=6uv3w(=N_MAB9A;!&RYbXUGr zB+-s{5O6dd+^S&+Kkh$%MC;)2z6ejm z{K}-yCWI7xqLX+fcCTv~YWy_$XtTe$ju#an26LaA0XIt7F?XS;vRLmpqFb-CTpfiLYNW4z#66p(pnIKU92FNKjT;PS~u~mMVAiR zIqPMS&NyU)%OXMQ71#B95y?9#D-Bs{$Q?TvyX6(^nUd)$?j zGukC}@jZI{o4=P|lHUAghB&D>)wr9moXZ)n=4x{2MgBvcg6ZCXzhKAX>@#*UvyGx@ zW4K7fHIfjGbo8T;e-73mrU83^#Pp*YWrmiROh81+cg`PCc zWvHV{l(rX@QCC=cCO`hDO{vRj8aI z@p?o3134M^k+r=PgcfX}r`d+cP%boYMe&=p-Jh=og90&Nxk@7&?uM5a^aZIo;f$5Q zhMzO8H@*tvM&G{@DqsoPiyFpwWx)qu#XN5iwdaFxV~^=u?C}32~us4-0pQG^wN!; zBx)i@fNcVFhcOo{KXF;%P$kNmBIo+N{<21TU_pEdBAZQ&qddb)Z7k z`k@604I(QeyE#|2=zWB3f+@;;W=!DrK>2YNOlSwc;-0kuV5!HVnm^(wx(Z)g^TX=X z8Kpx>2-@F%rxh>o+VXp7M*e_L6}mCi8ERHup5y4#ohrY;=O~ZC53h1VLWH&3jimEk z1S9Bd+c+R!j6L}H_}KcKAA|&WfXS+0sD3{VoY{P9+zOL zIa_YmGk0|*qar6>Qw}8RU`0h>WuX&C@;!Z=u1!$xnYQpY$MYUzO=l-M@X_!3cQAT|0?-H!bvQcgzfGgiV1tn0{VJD4-Ldp^1d%uQ2fY0(Y{J z2%?H!J6;lMi)JTqk7L0e{?zXLo%-q!iDDHeH|P6FbaGOEmMz&{#!i|1@q2Q3IMKXB zJ=_z&T3Q+e2UzRY=SG4!&(5d|?Tc17$7Q{!Mn(KNg?9tCIzPRUiZ9rfvM^S&rH@-P zx4eMYR7iUwmu}bFoF7dvHNhhK9qxoM`Efa0OBu`M2gS8JR0O0-^j1E4%Ks4l;3660 z0JiT%REZZ?*R-__O}#>x7+;ud9KSHUf*iDMn^M>VT8N?t$}LocBltQj(riQwYbdQ> zsH0c->HhTU6?y~*TJM{l@bl(+x_f!d3WbOn_|8;-6Z`b%2MTe!04DyDD{4&4i_KB~9UR7dE zTx?(-!}8?>do~<5D?5yBVuZar!|fBn!$YjGBA?LO`of@g*>hrjp2YHOa}gHa0}BlN za_|mO>b(sz=YbK#l*aVoSOQb_*vT*}AAF$^<|Z}qIO z^W-sCrVdV*k2+qncU{Bh8O$~okvshJIQGpEPmN90CLcDnj7Bn5#8RKn#i8?ZGzfd; z(0rd9bZ^ubU>(gP`JqaJw8B>;&P`KH)J^7b=joPxa}=f9`PT%67@CuMkw9EI(LY@7ync*lI|^ZBe{fBDUx?>L;T<)ufhJbYc9(-!MZhP@m$d1nI@@ADx6p zM072c6ctVLS{R(3&MAFhR^18Dr-?nHGXh|^+!|=__eOq z^t9r&W_wEzPS?ml2X1rO%YzrtIsx0*1edQ=EJ z8M(^sl_-2x41pl3{evXpd@+Wo6Me&8eMJkjX8~ZRTYxjQph~jXUGp}sFIiGJ4?;WlCOUJ8Y226xu810_e=hYcOcs$s)SaYX zAf2P8pEG_rtfW)O#;GX1lL!_e1M>?&mImQhHvi_{UW)7~{d!=QsfkWV|&*W$+4WCMAt*8_tK&MV5c2EKW(148W z7n?7XR21bV4y)lcSOfqf1c|%hmr$J$6?K#lUxbDA0Y*1f#GBKi33FUfgmR^UZlSk) z9%sZedieR-l*n2lx>EWogqxJye%pFruM5FiPtU+th#BF44$U z^MS5~+z^KFDq+O52ytwb8lY|Ahu@4IEod@FVe$0(HW>Q0+4Nw4B_CgK3@3CX-pv<< zXMWHFT`@Bjt=n+O6N@v)N!wESj7}){Np5U}&?6pc&oY=fCKn96n=0pz95m&#b=p5*KD0Gk`YQI|3#~(BT*L#mwk$*|rIml>RH=p9S$}Qgqc>#jCU9QJ0tn z%XVX=hH*2Dd*)iH59y^cQ_qUSPs=19|8$GG^KeNrTp-??&3W7wKL2V;mkRY)r?TU> z_E!y2;!r6&bPhC{(c9nk@$?sdV(x};b+ur*KEG!x`qP92$>}dx{<=tJ^6LGCQJCqE zBPsCD$g52X5PS@Hx0do~a2u~LlKane3{O6IbI{D<5Hou>VvmH(gt|rHd(=j4Y2|Fm z3c}Iv^4Ao-{yFi*>gq_SpH*ZULsD>UG*cxvsn=1v{-Nk;t2=c?M8w!~Ag2y~Z#Ilm zaR^1^OI0^B+HLWkDKgrMJTsEk_n^x|*^JeN9In2u0Kc$L*A;fCmp}a4;GN)%ayw~i zI=mNNb0;95Y=9Jy+V-@@!(_7EO*-`bJ1%#bPq)Zdzvt*AFoSoW9;3ZBMSyzFm7_&> zdV%RA+a}PtD!psvz{rVoS8T-q-^}Y3uhrg#uYCtbYGpqBUs+g0tbz^V(z1#E@vXl> zJi9*#qy`L#*sSQCx9W^8D}^r4`j^ z${`_-ATE(0jiBiu^ma8^_;_JMut&~>s%u~X#3r;i^?#*Yp&RurbH2acgCyG2g+<$ttCtz0~2U^!XTm60*up*)Eie{>W6BIh3r&EQ2F$$GQ7}CvXC`mTG1h=}0+50=sErjskljh6#@&?xbyHoQb;_!=e(yG`SWnEXa^8 z1v!Se!66-m8I!Dr3Hw!d<_BzLbYLL8=sMC7eUbjnz?kMtI|JL~L>W?E)0vg3^>WhD z<`>EcIBa_5*Ipb#3l;)C^=e0 zKuLwsB?2NP-J_*ZDW#=EYIMVB5hRs{jTqfs8$W!#Ki}VV-Pir^cHQ^$em)=PJkB`} zvQPVH`Y_8i-;~|A*jtKw(qhzubiqDL78|YiFh@J%h^FuCbkl#J~nu)ShVGdd8hZ7jKny)b}&*4|q2X zX!S5GkN7L=ThSES_bWdwy|w`d-_AmDt*x4P=vkCa1#nl#9EE$&WbHIig*ayJ+8U{9+$G;2H7@_0$NDfBjJCSQ?Hem4G+k zUi+yBLk(zqg?teC_%CR}zP|ElYiz(Z-u6LyZtV2J0=H;sLDdwB@u6e{iO`L(C00AZ zI_fJrDk>}G{JVNZx(NwWv&R^`*3_|T;r@*+LbI4KG~y|qc~(2ueJBbvVGT`zP%Qe} z8)2Mt$7lkD?YNXGh}8DEd=XB@@Q1+mV|#Cje2Ee^I&PToadK%5>HljT-C~GG|7>(4 zR4l<`#DZnzmA?#~D^Em7xwFRE`&P^9>Uv3VYB68G&5ejwa47lgWT#iGu7c*m>l(xs z8@O26hx_AF+p`v?PK1eEXS1Pz8Ulwf}TU}`-fw@UhLEIlXz?h!%?%|7|a2uTD_hYUa6flbFJSfrDaXeNVcI#_cLPI_Yt{qg&tj226&3Q z+;%&?xj<~nF81%yu6(N8HQ3hnE3f<@^K5^z$+PzJX)X472xtzAy_)ljv+X}J^;%p~ zS!21`X^+_Q3BxJ(VfJw7`Z-ZZ5qH|F0Y`&#CM?OqB21%87b_Vrw;uZbiJM;a@g9mu z<3^uvFzaj9dnIS^<;~{&*}a45RHbktaFY+JtgMWRVjFMVhbm>qfZJl-^PJilT)fen z#Q|Wkv?&Z$$K#O{&uwlddKBWewYH}Beusq~u#0Y}4A7j?%9W!BtQVjM`KW%$`?0u< zIZy#qxJAC>S2s?J=ER8jYF{ ze%Rpz_1d4xAc7}<|E%g|OO>@Ew2(sK4F)hv5U!d=0Fgc`sPJ!?O63PrN1Wl*I`x0< zEm9;|TiKAZDj|0;m4!bQ8sx)kCk$Y2{qvS;?ins%0DH5i8k>6jF(6SxSn}-L!vB{K z5b^S8*|vUU}oQ;1B?4z z23rQTPZPJ1-ZhCnjc^*Ph^-)LPj&TXM>mxaoTY?dZhqrx7^|riViM&VzdZRuA8v>#oQXeg`)A({G}}wQZ^Nfvr@VHJzVw zn1PI7@2M0eVoeYp`Q#k#Kk*5IhZ-$2KuK3PW|X;C+uvVoLjW)CC%M2>1Y%5Zle}*a zvIe@E0$}A`zl#aM;r3CuiF9Yli0|MJwb!n?=UCDwohtO&1jJ_H2ffEe_CxxjXV_q#y>3e479epl?gD0#KIX@+q z(|Y|*IeQw*7`d;rJhB*mJ}>V94a>RJP=yu9f2qIX)-ECfj`6Xx4>VS^CpCMa+{+!B zrM+_Z?t+$n5B+vTXdw-|m?odD-5o2My|GqJ___X*7>b4$lRv#28KE+n@ocail=_r% zlgf22@3nhp>FCgr?K7gNg7Fu)nfp3gs>iD7+ixX2ba<-SXVkfe?}!f`m>es4r;MjT z3-V}xJ?t}|mNe#5@N9i$YDn`Nh?KVI5=FdBP9%J5(z#*na7;sZ=~)Eh$`{+L;1K}} zz9*u4H0it$%z@vaN5ar_!hqLs?>`$vf;`aML#REwKUIepj4FOamy4(N;?a_oLEU>6 zAxgM)uV9ns$7lPRw&rBztOz=#d> z&&f27G2_90L8S+8D>bbz*e2?0sWM307~dacJ-5UvIp7q6-`r-8YB6ld@ptKNyqBjV zw6l?q_Yh@}35gU4Ct%xypXjpFJ(Fn`8w>Mbo)q}Y`m)#LZ0O`FI8~9nEy3ih`(Qqc zfY2UtZzPmP_AUYH){(bAD!xTi5B`6`XyocYpH+Hjo{nKSK+x)AUr)Bt?=8Y8pqNwi zvF}Nh6MbbB^Sgl)TE@$!cq22qa-+)_H_UHx)VVi%JjJtT z!fIXo2u1QF-_0Dz$T)o}Ph@&#(MRh(qs%ivis5&vV0!HX0v6ccM71X+lgoVZ1HWf0 zBo%wfVI+^l#T(A#2^a;7kRN~vcI2hL`XfIOK_&nBZII$zXr>9+U0u7q1&_Xj<##9M zZc57oslo%pr~qT3EY3tz7oPzSK7+437A6DT@QlDk`iA%Nkcyz?$86LtzYL4F9zaZ6 zZ-c0qXImrwUlu@o>aA^)>8E6YOSV#=(ZYDy!-ViJaCEv2T`y%^tn#yLj}s~LL~j4% zeM{m&K6D+fszvS+JhN&NkR__2;R#-$%%hMcG+Eyb`Q$v>cu5&g3b)~2O|=&(cV3#i zI<0#%xD%Nlgp#wJ?{Tg3su|exzag@7n{2#le~$rAfIFt9J z0Ho*k1}VdkTC39DsQ*y`Q{td=jvo~y?RitWYJdlubf1TE%LoH};Q36qkGuJ8Jfkac*Kv@)wpHng3GJjR;v z?|G(8_(Sd4fv3eSHw)j$;w#F>+l%xAcUD||b}+Yj4Psby>u3x)JpktAfql^s&i4r< zYq9_AmCsci7ESOsv=6Y(>;!_kNg z=xG$uaCv=1)p4?#3}`A z=^!rgRL|R?x|DeQH^kN8l257E9IPb2z&LvzTwk47*t`j}Tg;G*y+>GrR`~G2FY*%} znX8MYp`w|8IdzKBJi?`O`Xv)1z3v7xoOF&q5%VTIeVj@B(@RaR+u*TVHIE+^dhZ;G zdvj)H=NQ#LyGJpQ9rQJ2_lZu^?8d2lyjun<=0a~rvZ8_9>1N~5i&Q*y*6k{x#o$!~ zc#fYhvz8~^m~Gn{Yh<)t97?#gb_$8r$pkFlp}XaGOiYwwu|*!vWz&uUwQz zTDf^0&p3C)_Mewr@U;WsWm;OQrwKAocY#TG>xXBD$qrQNs86|mNAZf!7s-_I(*~h5 zx1`qW;m~kk_~Wxu+Bt1WvB!@$pnwecCzYTZIqx0&9wS*`0g&VG<4q8*22nKD0lLiR zi}*a8;d1Qj!-iM-^ZN&c^PZf~a-0OFdbk~~)M3-;eeuKp}qz*}Y0UN$Kx-{2CAm>R=|dSvIpXOu4_8$k{De3yn!RfrBVLF0H*MkExc%-9`Zu_n!E_eXHI(n)M6My_mDZ+3~NJ)&0=n59&lD z5Nh|md4Zx_|HQC|t1^25T#P~{@4<;D{YDT?@y3ofRr?GCfh96v3(P*}Hu&s$I1o40 zD4zfDE#X~p92rVzqqHf9S@jKDAE8NNW-LP zkiGzKxOPii@-K1Ne|h4#_hGi>xt1+j$c^K9H^CgA9dF4Z_|Ynq0?7$HM4tx9?On!n z;VU>elx>x8EXVr%0?p021pM>^Cj|LGQ~txv5dc{i_nJv79u}gb45u)$sT!-#q?p{o zLY5W@7R(n~M+D9}8H?@UJ^Dz#8@2UeuN@t(5kdVx&Yr}FY)w(@HiS)_+N(Sf<#&TG z6|_t9p6AdUXAlHIU7Q-1F3mB^m)lx2vm)egYmfaucNFl1hJzBa=s=cKyY?IDp3pr|#b4$2Uli@CAg``sp>wky+)>M?b#+%tZl zkPEIgI2n2)VLbOlH|d=Y+k?L47l%_~hXBh%Upu z$7+?++q;`H&8NU0@Xoe9M#lX!)+mL0LPGGEPP3D^-O|C>*az}HADOA!@8u{c+8~Ow zvS!+^VmPHp1DbF}B3Jh(E?T|Las&2penRBob85tE%~{Zn_rTVn=+7Ed&&4&ZzJ$xs zwW3@2A6dsu6Yf)(Q1oS{UrC_6*|FDFYY)(?zm2K7<*O0`FQQ~OTAcTS_Q|hsd)JY> zW||pxZoAj52KbXdU*Hag6Vw47=MOTV(@v94^VM2%&6|S9!(BWS4@`+f)B;a7J-qLJ zubwn(f9F`{2%BYbpu>=uuzm>C8|E*1%1b zGD3(yz=_%J0y88QX@opHFy|42U8I8`=(qfNzqq6OHdIq?v;9bejdKuv0nqxByL9lL z5}Fyl8w?Deqwxn`O+IXBj4o4jwwLQcNn6P3d^sWtMb<0o=j5g7bEC_(-5B)=QQkAEBKzOF0J?d?G&TF zdRVf7!^h?Q=xg_TvOy0%#c?WhdXlrv_GfOa1$0xsyM+q9U~ zSkI)w7UpQt4?1pJ)bgu?o+$jgz<0O^;2|RSb+|zgHi7V7H|EmK&ru)9$!toG`sp4a zX!Z5NA2+#V&a`S}X-;9U@+RiRta}i?THWO=P!ka70RV$yCjP*{+*UN1`a;IZm1+>R*o5J4<4lnjl|cOInxnVcKdZG_sHuYI zc@&)4A3U%*buhON>C`4!u>ZV^^}KXX&V1V^?MCimU4*~~g(y~W?vMXHI9Tq>Fvd_c zSQR!qG}&^5#H<sLZ2wq(*7d5Mdk4`M1c+$)D`pz1~1OO`ifa1&TG*Y%FIZE&}AyQvYp8N7?yAYQT|kISFTA`JU(<| z1`>(Rscu_t8r;D2d+lDlDCoJj_j!T(8`Bl!_KAH!cHE%~1}Xpv849%5St=JI^UmMg zorFMlUZyv$UazmyB@Omk?kj~RDkw&~DS=B!Bq;&fv5-(AK%lvFGb6fxEtfsC2P>HJ z+68qN642E|G~@3BDrkvtW_(4U+E-Y*W#4{sLb+@VN+8wd&v}n08|RB@blIV!3cAR2 zI~_`A*VNgMY1Z0a-O==JQA3Uor_DEmO7Xk_5jAdXzTPsH!CXyx8Qjd#6% zLDnDSMLKOeVO^HKDMDr?jD#Y5fT}=mkl3kRF1aZjGK}1`WBjg48T@1aSd8OsCWzEy*rXh`PACI z-xCA|e6}0@xnE-{YR8ozG##~ir*y}ZEG7r+5D^KW038x6==s?HA&eAD^AB4+gfVPr zR`Y~z*5I09T3wsH>;42D$*83HKW`iozWjT;g8{Fe!JR+Oe5K=MS)UF~ z@mY2XM7tBwN2;Gy+6Wu}?YR0H!cuO^))fW_=bDRWvv<|UcMpI{N`f5X_*=I6c2wmr zicgLyBpG{aQeINw-R=`z&*34~ZF>!c&I?#;Tw$k&4}Ffw5pTRO$ldPO+? z^d7NBCc~U>0EhJo5N*dE#4#n2=K92~>HT*p`>^eh&jas$bZ+{3z-j3)?%Fwsa9~8O zUhwzEIQ!zZv9!?r2d)d?h)C|7y}jyT`F6tahUJOzIR^=+x%W1;T?5FdI`N{!M1eV5 zV4zN@#}7+PLcjNdn`CT)^%Bd3Z)T>J1+x@DyjJrdpT^0p#5J3o{ABlXx!h?jz>>kq zlm6d9g65(|&ry}_ZM_{36;2MT6%C8Sx860bWZlVt6ZlSkR)i$P<(x}~P1iDoLM5c9 z(f4V`@x|!`YtdXiqUKR};1i3C z<1S8*Y0AKJsVwURcKdR-jWKQBpC_NH=fFD?Jjk_J1*dB5ob5<7mgSPJ_By>A^hR7P z0rT~8q+-)6Am1V>;g}9>ZM_RhlCSa}O1L5_gJdDcVsG#Xy(mpu>_wk5K6Im}CHoFDUc-V-HWOT!YL-5c^*l}B0eIvHYoAdNn zo)=aRW(5ux6CscFV06N%fUaqutPyFp&97%QYtT?W$LQ1hO=1(c~-+t&qMZDjy~VD~vDo3AS;U96lWJS(j4B1-=TSNBi&&r=xMPDo=Nnsj zB=_-Ruft2SoYatFT%?_OwK3z@vy*SZ0}C0_w*v9+o$Y1w{9?5CPSY?&+qIkE;mQbr(yh;QfW)tBu2@$bD)eD{FNls8aZ z3NHfqP@9U0m9thgGe9JXIqWRGIZfHPiYKmXCOvOP&;Mb!9G1XAP6yDE%w8&1%ZtHhn_ZmoEO$NAKLa_8DR> zl8d8UCxfiAa)`po99H%9&&upD=AnV4)~O5+#ltY5(h{QfOf{$mL~g7LboqyMc$7%Vs?L8sjYDKPI}3QQXIzNh=<>>F}-_?Sbo}r4_q ztMzlO``gi>>@puU)QubcAWn5*V6z%m+TaK2 z3hvTKb-YF7+2_s}+WipWA^^PO(WG;sMF{?(2BUDN$B|B64o`4Dn3#fD2QnoN&3@E#moL0@k!pxGUjAKQnv?41#=nNf z0=y@#DEEQkegjRASJ#j2#XMCQ4pWC6j|_@*KheA|2o)RbpQaPUZEbE^l6c|`fZg-< z67Ds|Kavgy`r_}?R%(iXQgO$;U5U)Qb$yVVI0>_Q+8sx#^_Rk_l=x4cpKDrmrk0;& zTNH=r!m;q^)R;IYq9)!JypV z>1MZ2-eY>>1U|6-(!fAUb7v3t=g{~pzvk8 zmX-3r(bNUFGAUedT-DM|f;~9s0I;Go@3KVJhx<`B?MTxJaVV3Zhm@tg*AOBhQoTkH z^G8xzfRB=^ry`AOTjVpHKFvOZ)xQnxeOOSXZwD3M=x~(c67;9hzo}&wXu3@1#7bu= z2&n(~9Vn&K^OSAHG&FYR+{NC;&SrJc;5b$vx~+4*KyGd2|5j8R=dDamZou`A((dS! z-vbby=J}&D-cn!k>A@y$F_;X#HXBn|ecq=>P?G0THd_1vy;iPgrS|H{!U*|P4}H_` zH0obmz3sn7C|Nzegs&gN?zJd9x3mv=9+6_+F)Uy%<*+m&hwFVWQ2`JkTn_Vtm2d9u z%&zk&;^ok_GZSBFj6@uQAs?*NLfo6WYhOg)by(+D`VX30BoIHtvq(^ASN}UQhCMFk zCw_AWrdQJ0+xNy|k<-0~UqDx%)WO>`Z6Tn9jU7=+yYS}^h~bPB7Ww%Xz|GBY4Hq@n zX$r02fy78lFlri4jOj8cHZ8?6&kEXI4 z{>X!&(tc%`NFrgouZzYfxQHXa=ZQ06VEHNPht(|(U>%?uX-dW%1{VL(HXAxA8K0Oi zqS(VzoAfk~IQ>_^Yr*%p`DsUKOf9cKk}hk=G^H?^v+Txxyeu~wTM96sizm;CeU000 zdbp#>0uVxM)bk#prTE<3T%HaPKO25zE85}JVJPm@{)%7m-}5_71)$=BwRwWuwvTZ6 z&dIb^Zturb*$!pH|K78~coOa%FqiJg+y;^xoax!R$`KA6eykKFUhvzd23;CL6rK#V zywNZ}o`y=F#;dI3G`NsXvL0hXtv=JZYvI6Hf&HNqEXp0|W>n}lHXW&(Ulv{ue+wZc zLp57UR0KJpE>G*X2dAqiK$sX%*f|;LxzLM_U)c_`frtIJ2%(*7dv9RQU-?u5bk(DT z+#JM*s`iV&!m|#kLJCNi+j6XScxck}XBO~!^T%6T*`N|cEM8PAMrJqE!JOX~>N{s+ zTe*Ul%BKAvCc<(lr0(yv{H0JqfEFh6(infC(~h3H4whNS?z8pmD9t|WIAEH{+1ug_ zUV14Jn^9ze)+MBT>>(mq9Ex!E+q+bnb)6bhSy!UXa^)9L-~JQz=Bnamoz?TC7yqh< zFH?Mf+dB5B*Mu`NZW&c!EJ6UCnF`q zL!OsAQ{%$svun1Xi&z4VuELty8&aPaKq05z{_T;~b*vDBxHM`4%r!BiY>WhGrlZYZLB zM))JTz|9<}?`fyc+GYFEqH=Tiy|3baAGTjqzYvV!$mH#P>Z*ku8XtX>#40JQXhT2o z>*7OEW+oL5RW;n!V9m3x_qSu_X8ntp=jxmkg!9j$#0$zA9pk}qRnq`YY1&(u`VXnj z^X&UiSf6cb_g668CXv12(^A-Ks`NG_<|ICvR*ROg3>YNoufEOfvhML{n!5k3Q-Kh8 zrC7SArszuu^z?+7?)?&bQk0H$0?#i^MKAtBS-2=K2D-TwC#Uq7no$hGJjpU8%mg&^ zXg^@^zEcm~DJo(_*99@`qItIs_XI(w)DVg!rpf*Ca-pZm?{+RN89FbyVSDWai`Ypy zySn&z76`k73xNtzQ4(C*ka0fNRVz49GAXGWQTR$K34g2{A1a?+%M6j-&$4b1u9KqJ zu_@P6$?CCd{*UNwDFvOIt;zV|mE+ql+L0=IXTP6j@|WjA4>z2NPaJgTBh9b(`#dq# z0tnvkh?S}n2R;+7TYJsqtz+e2Z(3%r1p@_*yw&+{Q=pK+n`B%-^NKgODNf+~+*eYR z;B^#kJE@ENCXWj(ncN;OH>*Wm^r-3+l^jdCudInwrb8kQ_Yd^1q*Ij7`=_)V$v*cO zK39lTc2#M7TwiM_Q2K|vR=k0u>+Z2@-j;vU8;{Ts3>h_S$^aRMOI-*Y4l$%l6BM}C#{PnFwqDr0 z$_wQ)JENJQ;AbFAyTU)UB(GDG%dmUZj@>e^<-F-f81m4uSzv>3hc*sx?Oi{wH>wC( zZiL(uxhD|;hGFG9bpfX56GBU@(oxRa5Z=m)vyKrx> zl*1nC3$j0m>wQluhW4j71K_SvH^zQ@tfwL9B=8$&7H2 z2hlGU9>huo{GObw#na4=kw3?5ErPMu3rNG42t%73kz3cQuzrM)48k@;|cdZ^g7M3R%BKxdV76WZroV9 z8z`2c9F{E8`vdGiqV4)w{fZXRu(!1ndS`_z=^L|sZ+{E|sTcL{I(f?&x&I(rTE}PzFd%YyqrK#Y{u}2bEKB>e@pv`Mf<;cq5Wrj{z;YAbH~l9s<7F* z_vxQMGrMmVy|bYDnj)DMP6OXs34gs-J{%`)r=rE}Ltc7iTng&z(bU$o^x?LA&yUZT zZ0)(TDnjTqo)QAbz4R;2lroLdd`rSRqLdr~ew~_a9kDTe&u@eiwqK9zyn&QrnI-o= z;P#q=cWm2}b`qLvpBOlNuw_WeVJcHxZUT7R{yTKRU4;R>rmDh$#fr{NL|N@$O$7^G z!qi_G-`yB;M{x44-~P58?ixD^X!G(U+xlaJ$ zdxG;x|BCyTB+%4A?~2e|??mUTEsXoGPp}~j@!WkB`*!sxN9iIs*F%a|mvvuOlA=oAkCMtG=gjKrbBg?1WjzT(PM~Y$9c%Zgn2RE-EGjq(rR&E!VR1WsqBDfp+C<+cuEF-E&m78dh#M#$PS z)+ZLa%rhft?0xXgBE@tI-OaJooCkadnb(dG(TvMW);eO9Mz3F$+bn`ZKV0LYhlLPq z-uEm%boyxmC%ogd6YZY=nVGIGDq~_uSx(@bJ+3X$55IB(oel758TD+8p9<~XJY-^* z_Z+l>jZfP3M2hDlTL~PSV5asua|X0wSB@{p#R>LgK1(>y(wN9hD!b<4PikgLZ=^iU zN#!8;cf?Fl0_}+t8+Bk_yYG0QkuQ*bgWqq}MVPSUnx%rr((N)j5UJ4^p74)zV(~zk zq7P)0ao59*iIH4Q6+v_<>sn}nfj()R7H9z>$x@mOsgZ}X(Im3`jE^RWH0H?2wWb_Wg^h+$W}%1v0+OhQ^lky9xhH#vg@r2a;06`{frtCx~$qs17e6WO()20I!N~^+{ri+S#q8j z8pf@W)Sr`CQUchP$C=)dU`33!IaN@h14MHH$3L@_&N+o2gc^K*SkiTfhjSi3$>Um~ zOp=@SGGT8i!O~r7szJPl@+$sJ1djPG^gdKsKYGsNOhU(Ukxsm}dT{4bb}m6zibg%I z`usOV*Ad;7*gIRoGpRVaMP=Xn@DM5LS4)^4y!2eR@%Pel=5L+IDpqz%~;WrdU2eLVlD z+l`ukQiyD)=|e;m&wqXO`}i0-XHGGzg{ws2R&UvaGRh?;z}>PPN$FHbjQ;fnu$AGt zrqEQJ1I+E+TMj4T&;mk#Bl*46VYjpNgWQw$|DDrsLF+SVp)0gh>q!B7e*2daTN9-D zF>h{xd+M5NY4u=KXgw-$;KizqNbVXR6%7LLpcmcD;=rXB1^)$732aR@ATQiC_*c49 z@ZdfFVf9-?fQ1e5qg+!4yB=ICI5?Ba{W|-4Lc;O#r>OBtbJjpRbgR;;l#w-?sZvlH zCFX2W^C|wbK51?XsWw&hkgERJUmMlRSFs5*jWLKrhj0llNeUKTosdIzYQ0 zm`f+dsNAzdT-w{P4XtMwFEUQ<5|#Rvn)b=<(SXolTY+0UltbghlHZB%6^TPA!jB=E zM5Epbb{aGL#!e!Y9wNQ)W<$f}W@c=KZrX~f&3ITZ6vUqzh3 z$3FSbPej^ZXAS+bZ`{VHEmdaLTZX~`WO)Aob}zrP*$ zpgtY=zmHrM`1dd76ytSU+iFMo6xw=Xjx+^dJ+#<4+d}xOJy;F=u|Fixw(I z!0}!itfOHW{(|w!6*4pGd(&H{3A;hnIn?jBno<}zA$c-fjoF1v?IOc*_nTdIB~t)p zp_57*hV>#n~RIuHs?^lK4iyNc2#ECr8MX!rVZe_H-!tj{6zvk2Z;O&Tr41 zO%Fe?FyLm7QqFS%MXM(U`?dBM@>RJpG@ARDN-T?(&POaVSM}6snSxg^3mUuL5{#NMB>QQWr|!V7fUi1sRdHO>oKMFWF? zz?0lXsV&a5%7q1H_pj0VB+Jz=0Z4uQuZT}$Dt0SFGLu*7bgiooAIJ0YtvR|2T9>6- zoz7h7!eUc8FFB3A^`E>rr`?y+7%;MJ3n z@rLQ9aedEIxT^(;*lM4dS(Cexj6#xtD1JyGSD(cHw>x}5a^F)R01%(>w94u$En@Th zOqK`8^j}5PzPy!qB2@f|bSXK}0SWz+hOj+KMUkDbm1lYc+|q)r`<5bGdt%LjzjeL# zU~h9MCk&~ca5{%`VLw=kvjDwdx#Wrs0at~$Ofg*xU#`i>$jn=EMsu-J9&7y=XB~;K zQ%)@HT$5E5^Dkh=&p39ew-`ntL#Y%($>^xJ=K&F~&1F9-FFW0+Fu7W`^O9H0R(jumf}Z)8t!q z`u9w0`69()LnoddKlIL886GBO@l5ev$fQt~0&1xlcBf{NLw2`vsPF8+XA8ar0JV{Q z{Z1;mg48-RMS%GUk9!b#>wn?}AU{FDWV$feJ9LU4oUl)ZF1eALM3U zJCv9PUOjG}F}3|oRn<%__X7=U2Vvt+orC5%6fKW;tW|TnKbmFX6VD{hLbDk2D4)gn z<5Jd}vKI))w8g(yl&MJ21~q?AKN&YxAP+k$(sBChjGW2l$j-1WMoV;^5tUt7o2=5? zq~x^DP3?*w$Hiw$1{dVLoj;`6JqvI0saU-FJt@}{^&hYQ0qI1W2)w=NUl7oKFMY1` zx&GJJblstznd`Yj8o>IqOLUV5o1}&I(_kHsSCz(uNONI#^G}6m@V8gW-ZbzzVmGfI zgix6R(XfZ`5kr?;kmHNW)+9B%<7BFoBNqHaT}dZInAb&O_kAu4rKurvceV8)&&wgxbZlhy6b%UbNGWzvj?u#A z^tH>BG;4*i)NUSjF`z{0A_jp@P~`pwvfn62AtK5?o9H0%Gy?rXJm0I~EievCDTH{W z>&fNZA&@1XYo>*~%$cX3j?K(~dvMT%e6z8{=sy`cmIMgnrO6T<9l#ms?|tt^esS_u zg)fCz_pOP=RvE5UVje+a?DJeIVpIZr3jf>Sh@t`WS8lCmGc#bnqF4d35CCIibZi|2fsM8zizeDf^gJcyBJx> zEN)ZXdoj3=&}f&DF;te5tUZ|Q+H;Xs%b9F1V51Z}e6t)x6mvjeyAgD4*J@nV5daVU z^Gqu|><$y&t7+r!={sp5McP7V$flAK^+k37%1 zhYYU`6kID=oUnT9&8~Api2`J2YuB=pcu<0MMqwlT(xdjM_tA+JG_Lj#zh3TGXW74& z?N^*wH|VB{M$X(@CW^aU-NWBdDO+z*$#E#6R?4JKQU$RTo@dsL-{ReD7t8KD^=NyR zMpW^kD5>*v4;8^Szq{gs-gr*b{=E;`zi39m5Jd*T#543N9Q@+lBjpdh<-grgAj5R7 z%I~!{J;U<+cg)=q#R>{wz!kvs)heGhxx?kJ=oR&%#Ccx#H3I_Ar55pf!iaXxQi59k z=|a8&8xk46!U-c|0a3dcD{Y0d@eG=QGEtM4pwPG)*6$g1CAZ(OiudjKw|#B`xX3;B z+qTF5dT#&j$P{92^z&S4f+IR)m(s}kuOPONchAos#(!@9C`$Z;Qvvcq;v&r?B89z9Y}15B7}HpKOtb{Qe4!DCw%Jz5=71WPrS zoT_sCq=*M}gCG?B_Ese(5cLBtwN6Usw$Rt)Wpf$r zbOf0czjVE1lT-@nyy9X_>3Z1z70mMThs#-l1BPCa?ZSctkV^S^@t^kQj!O=)MRZZk zBNAZ%?DI7YzYee2qnUML0V@s^xZ%?xtQ_lqBsg5e4an*e5GIW|qSLp%-(jLvOv{!H z)v>j`&G`=e)G?3G`_y zqex;1yC{vLTm`w_26d*UD`4>WDG#SjyJ_&&hS|F416S@i4J95$2$5TlCf?)U=YF}w zY>+gr47wdNiL+!6{wtN&(A(N+1bqE;Q6_cSp^(&{c-jC6IP{^;r_DcFTq6+-9hQi9 zcO@RXU+OHi(Ddn(&wcl`myWcXcE=tK-(pPI1AT&%pG#UaZtqE9fX9(E+IPP%RjIeJ zLng6V+T!Y}jO7b&bEv4U2@mTZo3vd83#vAVe}nomLb%p`Sh?T%zqQ=_;&v@Jzkp#F zpTjeGhaNX(nRYa0@x7L(P@$vyEkzPAd2 zOw;;vB^hXV)&E0*w?Oc}%PbKfGegH={b_>0=yd!?3%L9^W?YkNhZpXX8Da}w_!7~% z@enra_CVirl^I4cPDUxGrR;Tr;8I=-kRp%hNPF!mbZN^qxT+8`se#7HF(rchR;{rw z*(~7AhHIA#MY-W}rmJEowj{7Or~B1#)#3stflLg->N#}w0!grQ=dgECg^Q%aUv)s| zicy>GdpLc7@-VGH_{q)E2$$eVHG^^^^#ajeBxbB#sFh139!y5}^C-(FzTYdgcQQfE zeew;2|B0wn_B**Z7#D1IX?fLqkyvF>aQUCK$ScfubO?_AA2A-P40n4$RwG@6kt68%`}f`mZF=3o!Tko`Y!9V1GP<1a z@1Dl2TD8oMZO|RwMJTBg=t~vX`j#?g3#EJ;*Mu6%(eO>Jd6A`@cZ9LY`FM+)=m+aB z)Bq&-jT+V>_iAVlttsyT`4DHFa~ML=A)kO}i|O4DFD!2-#kQwBoKo8G`DxX-5_+|J z)Z9yay$9S1c?e7<^Pj;8%!Css-p}TFaFAIb&wM9-I3b#LF0wJQs$BXtvs0Itm;ULl zA_yZ%8kEHRqBlg^#gPQdkn-DM?yCLZRrpfafncf)LoVer6)LFVnb**%jt|^^-4a>Q zb>M4rQS}9dh0IYz^R!H2eix0J{ok6P0OJj*Lp~ri6yexGC1tYE;BRy?alxv=&%#U_ zev?|*{(tPfbyQT{_dh-}f^cf-(1T67GEfJ%3_fKr1X zU4uwT%)rnC%TqZDiI81=xMlB}qQgvyKPJ2V{9g?T}0F6sl3hV+w^-ZGW^@DfwS?(Q{ z*DgY#5HH;);+bv^WH_J6bt*l3jjJu6b%mi(|-rH`vA4Cnu zu`{_LCxuLFrFc+XQGutzU}7DlSlnA#uFDj4`&m=HnE6Kn-9z;+)5~|DEL7F`;BHf+ z_?A-LOLI%-Ofm$>kI`Pu^Mz);BAR=~U|iyLW;UhE-)%(;hiuhRXUxz;@lM%u%|u*h z&YPRylAdET0)T{2#Ck*B^h(atNuEu_^z5t^z4-No;^Y`ve9R%Ee5L>r>_cej6+Ls2 z7UlcYp`qDQX+8!&{+y=~i^@auJePfT+T~{;Msy)5eC2_QwOi}`gQ&?pCffe{8G_T{ z2;@hYU8AKp;ar34^df$`2MX2dR-HJ{+BR;v=z`Z&g77$N9*FO+-ks1oUt9ZWhj+c* zIKZg2LwVNSHudg(#Z%NU2{=g}2UO<``(0`#l^k&=A|oWUra(&}4eTpybZ?T}{%LH3^ens zxt1U@baRWr@td{={}fv55tzp(mrB;gt2`IK>#QPk?wL^N`SM80ulY?i?azDkgDZ8i z4ERkoA~vsUa3=6Idzb3si;{O~$psO6!cr@8*wT#%e3K6jn!TUz5}GzO?2Ei)8|S?$ zZBJ1CmZ=M0MT79>(1_j@Ud$YMwU{DaIe4L{MXHQ=!JIxnb}_-2EFD0b~cX$aO#)F7p8QxG!RL>N}g-HRnLMw)z$uX6nt1btvWLkn8hB|=dN{q0!wuuy<2BG5$ zf!U*^_=8zt+W;FIL?Co{E7dQj+cd}2|7_)xbli8Qfye>bXHXSSMNe zSv;n8^xpIZJ*`po7HRP-(OU9s%CDVhuvVhfAWv3Xo{2Z#J#m0G6Bmp5&Lc%u?z#UD zn>>^7OWwl4Qzw)HI-Nzt49XduY}?c^t*to=Aq-!6YrWa-s!&$Wyetx?$+2* zy%BD{a~f6sw75U`g8)=tHTX2&@kdYcKaQJCIf3mLZO1r6{{NfQi9G%19|))jTeAH7 ztc&d+Dh4ysROP(B_+g|cs*ND0c%0G8gLL1GfqQ*oZS}eP;)lkcjvb-H20Z`%EcXh_ zpU(erW+p^97uRPXyc{Q1_4mKPGdBR|1#ii8RZr_pYjj4SL9-k-;`>x>RZZr7N)C@k z#VQI<&oGffcpP?vQtF&y@H=R`StAsqt`+m~+oxtBBH}c@OSuW0VDG*sZ>>RvPrHq5 z@gkW#_33Yac;wAQYELb4@qSl#viW)OE_nhVFLUx=gd;@;1?|jA30))8B%$62F8#geTcnEx zc|(5`A$G^56HV-wX)TzN#W_<+_qi%-v~(=roQ9_I9`x>Mw7{ebNeYchc^%nlM#Hz6 zbA7^rzlqtt6@JV8-g}7&0bP#M@voi-KUl&uY7P?Jr}-STPcLg^UlVA)A*6{jt6|3- zmarI+Uz+)0frec~EV<&X9yjFc)xnyRXoTrENTkMea++~z;JNy?#rXU}CghH2iH;I4 zLub{6nNE}au*2e6wi(!Xyh?K{QpB^kM$eTWNC*bt#ACIOjMtB^-MIE+sIHKb;AzBu`5 zubmPuh7#w?pwy_blxWSAKBZMn_2Gy?dWm7WsxPlQ7*bx`BRmnQ(Ev#KA(FXkylowq zF-^qg&6Dvba~1^k9m^!meq^IP^SezBC9t~#6VsI97cn~UXHp^ZK6v3@k4d$K_D5#1 z^7#JLhlUQ;)jNhos?@8}felCdtH(!g&VHBIK;{!2V^;PqCW@k=)~gkp$5BM1iA1hk zS!OVJ&L0nHZt-`0ly*Ywd=)5*VNOo2-6KLFSA6UG!51H2r=;qOY6a5nP2IdiDPoy~ zn0WS4_pWpr(d*pbPK3qL5nn^F4cYE%(L#e_iEV!vuX>U9?pMxNBi20pLITow7R7|U zX*RF#g1WhG(dzlQ^mN^(DX4w@K`AGGb!RTB{XFmOmWNxqTE2=_<+q|&gm3(?13q#l zR=hT3wF_$&bCe=i zudkQJ&!!orzJkbFl{XE^Ck$ec9Rma9K>v=3ub+9ThzA68lS_Z(oj3z=xj?FFy`#Vj z;I!6XwbIR?8F9xUG>Y-5sB~Byb*|utuQ3~Bp;FY;nl>`699A^8w$7hwy=m>3Fk+hz zx36$9Cl2W-7cg~!zsH_z5WLuC;dop6)&agGY#y=&`dN*%k z$j57l$oN`auw~7M@VuW;%Xor8XB|n~Is8|uP%W_!ccNSUA7F_|qepvI^W$E=F1V^i zYPY_ZS#5sp?kTKY1KtYV!I=wm-`U)}$|JxN3Xy%JOa-DSCM|fE?+8nNyR64WA2loS zJpRk*H{}eW6Y7egaH>B~DzRWJ^{dExur37b1&X+AlPAQ7sqrp27VQHE#n? zWEORqJh82=&cUi>UFzd#g@lXy+D_`xrhUf(>R4J&9k+;G!b{kGyW+~?SUVB*$FNQ# z6dWmcPVFASI}u3rdMZr?fk@XI8wok6`elli&yE)(78Bb=C4ybJzpdd+OkRy=+cJKD zW9AsPa?vrz^7WKuZ_`H{kuct4-I@)!+AQiE!etJvj}Ur);g0N?kp_qDLP=jTExzwa zB6YGKQ3}$q_Gna3<*S!LqJ~iQrhxE!fPfF@ygv;JmBrJO#eBOJ{|__u(a0 z#LS=MRdh~cmcWLK%^sd-`BS;~V4x$%L*G$)V zu&}UH=yAnRn`Y4K-{X3*Icg;BHNZ_E$jPc}GwJi8-IvQ*W@37G8f{_x zResXaGt#0+Z)-Z(#JaC_o6~IRh{Vov+lb$!k`HVe=`y$wN!A$}>w>m-HL_}StVKCh z+jfL2WcrTq#F~c|g~qmR+q%~e`PMAEz+F}*R%_LfgHCV_E*RT(A9iJ;Oz&f84pBnc zkmT&v?3`nggwtyGLb_>#C1UW(oxQ}xykH&z>~E#T$E?Ps_SJ{TRlVZEKt-SHmctrM zC6}v@9PA?WI!narL5};0_>FkvvNb(&UXowSshg-L33qOE#L6{_^U=`2h43nC_peV} z3dHYl`{c<0zxo8Z`I7Iq4n77Iv-*S^AJ4s?+Yf2NOynbVdRPLTaq0Q_``YMiI!cKs z5s~5}uPAKmD}4e3!U+&H-vkjUEkGAc+aA5I z@Rn;bhGK);0ph&ZRS*M7NK6{OH5W)&Pscjay>h-$>pnGYGiI>7=lgUzr7aT)c zkKQ?}UN!Sudh#USZO6h6WCT(wjuBqqp1KPnGu1hun_v%7MGJDLr5L`y=viD2wcwZ1 zTs!gVOvnfj9P7j~DD`vGbGJM#Z{_q=6@&~_>Gx~7vibmYp-3K*7e&4lTc;I;{D*oYFAVJA?7| zeE@G;+}MydY;<-W4C}^UBpO+cZJWpV?(Z}*HSJQ?ZczzIU%?G6aZnSrTc_KGlFa>3zApm#c?_{T@ia#DaOzq z84Uy1^S<>=6|?-t2l8{yME=iw_cy=BufU1!)ahL}vPAU+mGxq`=MRp)F&X$r65gjj zw7;~mnr^DsLBIvpMwt7Smya@(v=c6M7xC*@o(gmkArQzh#dF?~NviO=9=3`b1;;s) z^KBpq8TP`JV;M*>=03lbl9=imbg_`AYdfv1zttjl#zUrcDiKvuB$(Rg;pTfi$23)a z4!ze9yX(UWb7<0I00v`+*iiC1teEtj-E-9AEqeM?p9Q^lRkRB^xYwY*(ml7Yw6?K- zD4i-}+&Jkf-7r(+G1ZAVvRFRa?%kQ)Z0+3NoUdD-bKadjJZ6|{?L3xD73t~8ou9@F zm@+o=-5Z5rwq_gPj4|lW8gs$vkvh%B$-@%~nlC0cPKUQ0d7ER(rH#c5_ZYfSi;@;x z7uBC`dQCg-*LPg?GuRtl?7s5?3Eb1S-pH$w80Ox9L2alm#=1-}6kgaJT|{q(6ot?E zUN_2JscOcRnR2+4&(vj*U3{3k9l#Kel~`*Cb!#{Mq^F~2YN=kOf5$D3#FQJ_lBwyl zSw2GWqWWS>m%=8=$Z77=B!B>w6{rz%tA#6m_my(Ow{N#sn(y7$Cn4iEFFpuvb$Dt! z6(DYJ!a(Ro!*&MYTyd_*usAg`7p*IkjA76Xr}3cDBf(LQt<8#GO|9bh#PI|vLh(@e zCNJ!1C>Jb0q$+)U&XeD5M0+CHCie*tZuOg_3#)7wF;bL~N-Y6IFKd=In~rWydV#q3 z2wt`?pb9NVWSAyBAa`#N9xvZ~9s$C|C1elhJi`H7i{suytix7==))bZ}{G9K;K&xXPvUxfCu(!xr6*Ph*4ygpsP2S5H*Oie<`{I4@#EWGS|wITZ?ztXpb!PN9%{_PtVtorV!axtyboXDsQBz1k(XJT#RuG+;& z-cS!uEyJGV43J~~6MO8ebUlTQ>V+xE__GR7gAJPWwLa19 zr*R+7NlKabnAK!m@mymB-}kKJdQ@TcEx$cd-Bbcn8OrF~fDffRX35*H3K0xzs_2Ik>wEj?qY)wi;(jqTj9~au2;O&g8WMJ`8kI!E7RD3c- z#hD4pSo9Etr9b%Y9%Ix`7Gbf(gf?;v%#|0e?GLIopJ}F@vPhWNG@iLALe5St;Q%tA zfv$w`Unc{JKblH;nbmy?dUfj1R!_o%<dt}oz^X*rq|2`zEeVWFO;(VT2R=z8GIGa4 zRQV(%aufsCw3Q2lsY`a^>0Y)|pcsNv=^hGVzcmlQ5(2OZqomP#~KyS(( z7Bk|E4jU9QY+RYGb~IdJ#&{3&z>Rm^T$+p+{ibHiXSW(j7_-sVi2}Z>@V5DlQ9NUd zb-z8&9Q26u1k7i>d&>s~hqCS=NE0ag+RR|_ovMp)zjTy%tjk;y z950|3hViQ=X69K5&bmrVi^gn7@3{-!sg^X_U7VGg^YfamkFxwgyExb8 z7Si1l?SVVX$_huLoYvip%uwcME#Yv#6ko|sy7Fn`dpOXmvbSnKM7%i1xdqoBaQ;Mf zFlYjsdCZ5aTRKjwj<(F~-@IveY!fkc1@a7^g{d>{Ee+4x1B&=F1*NNpX88H66Njr8 z4!!qgcbm@h6O$j>`$jq3T(1F4P{0(@PjWZP4Ao?T?Iw9Ra-5>Cv|a-*(W?P)LkK3b z<70f!6K*3NGO>#0EttGTPWi;-7A|it`JM9CO{|~FYYARWU#b9`t-|8E!A+(%&JrC2 z*_O5&{Y$aP)!FyuZf(!&i3q_&M3H+K(glCfxpkx-rr`o2z@|_j)^g-&!~|mn_3+u* z0LBok4vHrAM*YuxY`*e|_qa0jZm)py=0nsV1Q&Wcaqw$ltVr1QK%tZfCV2Og*|c{; zbkIdLeCHopO&++7kMfaIxofWt`d(!Ptc6to2_LFh+;}Vz;0J-nl4tP>6vRXO=2Lh| zj9hi-Nd=XhvR)RD=@{`f*Xn=IsW?D9izG5BLmFRVHWRz__aV73gf7MHR@4CnQN60Y z^=-oS4{P2dUbv)EtoaE;AW|J=+?+ZW zp`p*Z*$V?&6W#z_mn2E7E&Gx z;HosB#F*;uf^y%~BVero-ekJlB>0wH9+J4bSP#U<%`wz?Ubdt7%%|0nR6QTVD-vqZ z_$4aslxuUAam7~k1cfWPvlVzO^0XV7mZ+vCgetaBne9C{#S{5avdT{{+n-m^bl#)N zp2w~eVO>&`RW=Cmqhk|t3#e3t-ArID<>gRe)bk=NFK1a{o^(wGq200*Op)F zmkRF|QbXW-(@jpP^Fc51qrAP{ZPO<5Ft-pDHC_Ixp4Xv>u{ zm?~RJnm?)Cw9VmYdYr%y7yHO3TK zKkF(?6i!5+91gC#xr=p37sfP63ug@lh!IDp9JP^@Asgv=Dajji%)UE2-<9QuM{pie zz7>UAHdgrlRj7#`sOv!7ba~;{23(0UTjDbn_34Ugu?o&%U1~c34?BufI|?AhyZ}zX z(Z$}IPePL)%mmYR8~c`20-I|eXvK}$*x3|uTO<&Oef)wh!rX(c@K>p|JHSA!Z(X*L z=>;sPohR>bevCtG6z2`-jiWBUBeQVro=kwRUF6$qepQ{T$ijk#9J;@aRt};@01C>` zX8$6x2pLy7O#96Bnz%T4`yJQ!O9Q3Yix2sCD>NPH!toLpkw>!h%}ob>wRd*?vMgk3 zABu=Hh*;wi8&6w_=G`p%+XDiFfTffS6K%YUrdru!q5_52a%Y?KS%cp+9lT%thyYvX zC!haO6?5t)u%k*TGP*7K@nm@bcTmNOsWY=GD*JYHSZX3VikFZRYaogXBoe-Kf#?LnOX7vRef!&o3fdpE951n)kzu7&Mlh_l1 z&Jo(i4#}1F@NSpoc%jnzI7w;y8m5GpPSv?VJ^+N)(YQ486UjbOyUFT{Uy>ZegJ&>@ zHht$>s^co>KQ4AJWKWvGMvRGIbz;Y5Y91= zD;N_{&i@>Zj+@gM-)(>z1++O#KH~ksXpeTV7lrR3)|P#2Ry?-j>+8mG@-t{zGo``Yi%q9?azZ5mbA zMI(*5IbS+*@EiNXNHP7U)m_&*XE&V%!hl3+l6}Lb-{EaN>4#o0mv7HQyGdCwx9@%N zrEh$yA#v{;5p&4%{Z~PG)#Qx}Wg$R3T;DiwmIXt+vZg>FAD(wNyn8ORcc8$-PbV{z z63EORaTq&@O?S@cY%ESFN2N|-nsxv-|AYt7*rvq9;%jpZ%9%Hdd30FAI=klr=NBa@!iY6lJ_uOd zWt`s~X$AaOWZMX#cwcX)OV}ia;Ng92O3H{aNvDIhkysjhWtY(q$a(o^UH45+n_R5q z+m$pnlo(Sordi?sDn4(c-dK(D3yDQ%^9kFRIg8Y#>%${o@0#0&#uarU{pk01q@!mX zUS681aGX>!4;i#u6f;oX^UO0psP{*rF=)WNR<_P0P)`?eli_|DvO9OE6_VhM03-I( zkvn#wmTlz6*w3pLBQAFM#%wa|y+an*7JZ9bRxi1KC*A3RZ6pwyR)#vjt|ln(9Pn87 z`g?b;zVOLolzWj<7$}=n+c>$}ZF$dlBXDe0!05NY>G6&s%h7p_YCU2t+TsZ)>U0Xgax2)$5j^GyaPK2PliU^ zz9%;Sc#paph?=-1cMhex&$84!-%%CV9-?%q_xRAPEC8LUCq05SkO}KHIObod{_UvA z1Fm@OkB(dYXB@U$_rzY}43Muj`HZi6Op|;rb#Zt|!!Wc(ifTHH8xv^!(D3dwy8na0 z`(3z3rGWKZtf(Uf8*rGWhaDaFe#7ZrKD;Wk|8DGAa>d9G)Aw`2>?nDhuRx3bVrHo7 zR@1Ns0WMS^N$Q&rW`C_BIyp%cGh|q{EKXc5xOC7f+VjQxtBoAD()ZQ1Kb9$+9-AoR zJ08*UtM79LkX2z}^R&lhuNZg@_a_oZzFbX!Pj#-|q||==CuY`n;antWu-7!}zGjgy=FmV*TzXk$I7cVyPhlA zkahoL>p8HRC1F99NsP+k`QXyBdQ{fpZDVlvMDNO;iOS1wDR(HE5tj(AP(=*Uv|;Ad6sU+#=ih06Oq z*xrp!oI;Y+t4>36KXRUF8F)D-M1EMrxvy+gdxRafDL%wjjy*XmM4z>aKBKe!$9o9y z03LBYuX=oNPDDB2y5OC8C$sNU7I46hZH_d%av37YNP5=JBLg2*rY|R5Sf^wTxeR_y zVL@>ZbyCYn`&70k!vmcZVNh}emMGi4IeC%O7NURSoR z?oJa`W>qBHj6Y5&{G*CKZWaOjDU%csnSnb$9%@>zEct4gh?N$0Ot~e)wjqpPp3&qH z|7c=ZaOo@dGBJM!&DCWBsMC+-r$5f_^tgxy%<#-nKZK%Lo~G5`mQiniao~w!@Ac%~ zV-%x>vAE?uGDXn$je@@`IeDNV2f#DK_B!>@+%Fc3vAE+yv@t1169HE-tI}s}m`dy@ z5<`-w^sLAGS(zR>4rap_!zE^fu_h@k9_0P<} z4<%|&KUv*RH<`}8{l+d$?d&wDx^X-~J;jeu9Tea(wF=;FRQ}=a^2aw1{+XYiUigmm zAH#0rAD8gX-xo+s6Ms1T7=5u``+JS(?=dluh2#b#3h3kM_bw{9_}$$yLMs!PRdce< zVsGtPh&ePbwwFaxh%s$Ex8v=L}L76Skx_#kMnTu}NW;CURLD+M7?6@<*G1*j` zcJLo#G^0xZ%6KNFFIeo#d)QEOv?wV;N5*>qdk|LQMwTSiJ}mK2M9f}9%2I@g42&j9 ziF>#5Z=?itfg!&Cd6U?=>RpHC=PwN0pHE-1-iFs)Vn~0P-Ln*Z_b-)kCdManYP^9o zoBupe*vVi!Nt4jCz_tqO=r9K_T(uZev>ii?ON(gfoF-`h2xzCrs~5n8+mXeJSr$&V z+BhhE1FcBR-f!9!e?qaZ92rL5M!ZG37xA3hKbrWo+Z$G$TE5?n%)cK95P|nlcmF5Y z|76ns@?Wu4V7sN`C@f=K;LlOZzdr>aDNt(%IwC$zY5vkDg5#t-F9C7>8_h3W{{xN* zK?fv%C*;4LX;wMeQzOu#@R{#lula-Y{=9|?w8i)rvi#TAzyv7ZYZ(QFztR7%%l=Ay zpwdzFKZ*JmQ5686pfwJeX4U`8uYdr5-ND3~o9jHqnEkD;{}-kTsGblnN{#-HI`@BY z3xPO+8uxVE=;O56fMMRc;4zwdqjKYsYr-c~9C51nWY@3~lwKO5lgU&k>IM<&pH z2+%3{3qAhpD+2%hds9Z7+g-g30*Q*69kQHMU<3hMGW0IAv$njVm3!6rfpBDIlxvdS zWfHP8eeKP|U7C;n8T|f%r-Aolpb6Sd&Z3P+jA15?r5*X(&&MKXXx1PV6^t5xzt~k@gHc$^%T%*LY(aH#gIQI^?ywKKPue+KC|D?{Foy5 z-$Jqfm?cm>3wYQc)RpaieMUe-@{?SZtj1}{$p0~ypHs$50_Z@xIjA}D`+)!NgA7?< zcwFQ!pa03X`$zu#ezIBaBt8s2bp0&y5A65{HT=%R|DR2#e8fwVU1bwhv!etSc6j;t z3JfA{u=8|Y|2MMz^?cy{xDz8b#2IiC>0@fzay2Px!qY%o`?vP?_ITAxWXsHN$9_>@ z*o%cukV}Y3r;Ftru!!yKJYY9CI7k!Op5NGLLW&uV5n~=)+rC2ZyX_!y^Wpgj9u%9X586Y z*0Qm)t1#<~X`tH8N%<>j{tYVv*T}iX)hy;uT00BM$T$QC2fHu!F=IZe`#+3jkt!V< z8*8u+`}V8)8F)q+0AsxMXK&;f&pp1uenPM6>d{A!9`PorGR*x<+W$0^|Ehxsos*d2 z{t>O?hjm!%v6b+n4bMq#u%iGjRAGmF$l%v>E70&fa2Latck&*QAim?bAlXcrs_g9S zsdu;M|FnJKclG`IL38Fw$*aP4_2<$3eXnkdGM=CSJ?x6;U-IEUf#&aA1P6{{;nOL& zopIUweymTEKHxl+eK;c*gi~F1^WMn7kWPb|fY4MHeQ#8U^9R%3VCpO9{EMmYaWT2? zwVx|xCY9JS88gGQoSVaYYbneSEu5~{aNo_&u>Bo-BqRQF&`k)=V`hTiE;-Aw&tkC# z25baDicdi|$@f^VKAUJ*OvluTBBd66u}BP#JPx1`94~IAz+fJ++Lz5k4SrV)rH=aJa!Pnvh`sA@II}z$r=}T6hba9Ki}ZmDq65VgEh9(&cviy z8hhwc=R6;gJ!s9zo`D|-IYScx;o?W(g4Pv|&i$LN{N;S0pPDQL>gNyXZ&r8kVK}xf z-)&gQ%gbX<%FH}p=du_h)FUJhBH6fh?bz@$Z{1+>q(6Dn5iYFnI zcw7*uLZQsxW$mBOWZ;7^M@%RZWP*UP`&mzh`HAuI$>6gdN@p@er7z(0v&~FS+J=)d zJ5L`rZlrhY_w}h^wg%N%AJd=?R*EEw{211_`S%dPWCnhd7Hs5>Z$Wg_P;)1zPju7R ztXOH_y$HvniX5J66(a^Wz!4y>i-@aK6pl$PEiF3WW`CKm@qk}bSMWJDup+463sHZt zva*sUcf9l|YxvWrS>mIu!dRuOK6HA=uE&huh_|=*>MGE^wZGp4klGG&E-I7TASHa0 z5B^GIV!nIDL}>LkDVaHEGc&WD*>KizW9+uEL?9R!!mFy#{1_~}u60qirNyHOW0=5? z=m8pdBAUURpbr*hYGSf;GK1h^qr$v@Nmu<7fx*pG#M=monf;iC?O}cQ^+|EdLkDYXr?3O<%k#v? zQ&UqS;^NElds-TZT!@LE>a}LBGs54>VnkEYKg$P8iT&1hC_88sJqT6uoWa1je9fduRsi);#CzQSkpHWU)G>V@EdBV& zjaEM;xPJgM!-^jqo0D^i^P)+bK~rI2-vfR9G;%2WnPIq_-j|JPp#?1**$Xl&VoqN| zt^h5EmU9_Qgu#W~wWABb%W4TgOme@hQD6d)D=8F2vM0PcNPeOP>DG@IEw?_aUwYww zbl|pF0|;vUBa|`HOZ|%6Miw3a1(JTKy1IYk&IsSM$OW)qk4*Hj>J?dqCIJf6%EP0> zo`4;hk+NTiQ@-Q=ss|(jR6GL*t;$Fpbar;yIXd>+PuE)muea=5QU|#CHJ1+B;gti< z00%T^PAh*v(qDtV0!w2;r;mA6uaFalrh=NWF%VGUA`$6c@>|@*Fq5n`ln+*uNwK*| z9sWm)>;bR=igZ~He{^?%`Mb6@qxNXH5 zo(gOUj+K>q_T4@-Z1!lzZ`Y94zbQAjb5G25=_!C{;_AL(^D+U)^(16uj9C!L=uc@Y zd$C_SK0SuN0jZM7wt!~_+nU6JWH&Y&H=6c@8cvJ+f5j~k;V3LIUYNDHmhrY6Mc>BW=y!s7T$6ix(d%MPbl!XA4zHrlu`PUFKu;C_PavD6fMN8DT z>d9~*eRVJ;5ARvD6bU*>wS#_f*$KV`8Ywg^J3jW;*VT2LJrI2dNQ$&C@;EwvLk69| zM+55L3pfEh`HVp93w3EHC9DDeVhC7xM+mnCfyn6X>nqG59PQaTT>GZ?tLA&>DxkVM zo1cz?{IW`#8XKo;YikXv{TSwEe2`L{5Gz|-SDOX27w6fGjkL@?ZXCqsnC)P-;0hKn1pMqR0FbU7A7R!%eg6FQ z75MdC?y9MU1&hUfY#Zxwe>P6WO9E}k$}ywJqiN*W{icJVp<;}1A6i0*03dJ> zw8(GGW?hKz%$~RwUNIBkHyxwMu>Dxe`77`g3(^b{np_}iNEe_5Vl34FlXNW=s`_~noWxSc*b8@M?hWo`beQv;BHl=)O2gj+yx-3NEu{cLaQHs> zW!M93r#l`1B<`I~8a#h8r2ie@ny8!*fax^n}0!$Vh(^1 zwgj+yzixhkp7nBoBu_apeJ1>WVJ-zgh{_Oko?q2VfbPxfY=9K4i;+GG{eNICP*#Hj z(r?X;`&GpNm|@~Uj=vsb@rD}yLN>G5Rwa}}ziX~#F*}G)K%frqSQ4INJ#k9b6@r&9 zbqQDikfOmyohxQz@rA=ZN~s8Oy9N04_^Xy!R6Kj(o^XxRC~=ez$McR+9qZn1l!>5; zdFIo&xHvsfk&4GbdZ3Sj{}qSG$jHh>xIT*+$+Xbk&mWQCu(&nhKfvF8LcUI)snH)T zdbh;n@cV8s1ml6)%BN=1 z#DfCA4Z+$X^-AQPdG8&P;Za@WI%76@tevG-f7EZ4#0mlI6(+!zUJ(fi2ca@25BLWQ z7d6-Vw26C$r?k?)pz+}DBlFp(amuat^eJ6p4{90mp6DouG2sJF3T~B)FYNEygFBcQunEBCXc_A75*N6r+N`Iu)LXME=@=BqCW&(C zV}wn|HPT8ef}(JWDLK+UeldDh{&8845tdkrnR_83dY>1B8n2?9xR-W1G_rH81hUR(bTJ|9;6Yx*J$Y3c|Ktc!153UIsA$LIIhHHp*UZeSEj2)bB;aPqjm|Lx znsc4;BKZoerx_wiRtN_Uq}P24kTFvkeL6l^LHI?|{gri8uaOA?%oO)t=vm z4c12*?LrfPe~1fzJQF@o*Dhefk)5bsX85xgfZXnC!4fj${*W5h`~^`Wo>9;n8TeyW z&uA={Vy9;=W99)Y0t7#QcKzX2A=?GHcy{)S@VB||?(m%EtXDZtfG{`9u)Ik4c(7mH ztk0L-^yAl{l_n*@(Y$vNt#!hP*4r-BZd?(~%h@MND5(r#f}s!Yw0&eJ#uB$9>rq1V zDs$)Z-j#M)g?<_>Gi-m-Ufkg6+jrKUZ0y4kL4tP%Ls-^9@}o(CAbZd|f|fP*LhlnS zG{N9|?nVXiZ8m~u1xPk2Uknb9O+O4Lb9+!6GlE*XbNs8C!ADBAmh00tWQ`A8BU%jq)O)izw z*!S@9#jH{f0^YWzrkAj?_8vcd)fr_5m=_N(-*yhp(s}! z;YTIkE{711)E#CN!fTlswV6*RH6d?8Kr0z`p!=Mk4&uE0_h z-_vLgEV&F z@(m`dNBM1@S(EI~u5w;?bm^Ta(HuH;1_1j(1ri*hMbaj@(x7j+(AlVtQoT1&J@@gY zF>jQ}!Y-z&T&|#g1)rCeJgt)+8_t(fYd`kYk{mMGZb|SMwD8I3M$(IDPnXVUW+p=B z0#GcLi}+ZF=CVzd{4q7%xC;&BgKY8Hxt-14p(+xUl3Uz_K7z4=bn1En>_XeU*|z*d z;XzF7ekR~b-EdDv69)zAV<&`A>QMp1(bl8aR^l{yCZ-n@Z?Q)Zn&Z2{Rtc17)q%~8o$U)jBcMF-$%PR;jydf%4R)?&` z115>+4m3TP82-_Tg=9Ty@_7gdNR}wM&U&OK63rz&gcdN&)9XQvQd2?1Y{srOF2O=y zKDS_+N+~)5h?RnSF7)o?Pl}6a=$x7dPk)@zSP!t_eGBr2Ey2g2uq&X@rg~9T)xK&Q zPZh1Ucw7*Znc#I2t%#E8k`3;JoScS=Pmj*?ThsG8^1*B&o9 z^1G4VIW4prFiqp~BL3E7&_)yOC#-V8Z{nd>%zJKkCHHgXB+iY!+WZY?PvupK2%fLr z4V~&IZwLu^y8HAldVf~L;o{B&xme!aD=DxAvkD)R^>VB&*tV{>Vgd-20{o4%Xv!H5 zhxHCi>V4*p9iOa8t}_l*eX_LS^E|k(ei!+I7o*7cP>Oe=yJslE#sxeSqmZGP8!P^} zG-mkTL}2pmyf24RG_CBHPql&_MGiO;Eb^sQGKlv~LlaxayHeN{(?bUvJExlI$s0`G zB;Q0=*U+*)oItCLhm?+C0U=tXbDC!q4ksri*+INt#@7kJhxi~WJX;-*tl6ifrRtQ! zy!Oh6D7pe=mi}+=Zgb)z{DSx8bWS}scL6YAo9EHOMRqB%MU&5&#d%cric!byR3`e| zTZgdljhSq^#ANsLS&XyW0edFlLoK@Rm#*g)1x|T_s!B1n>Vk@9|~}orZ!r>-BXTNIUeY0CAnwh zL>?nYa&z~r`nK%*lnWtZ?}a#vB&pSzN`o~I{ryx@sa@t3_!kA5j=he&k1=27_mYgm zu}4Z1J5|d9b^b|Tu17ZceD-edrgf;=bGc7;%sYsJmoo^C^0ODTetBt5v#uxN)Iw7x zWWrEs@&*DQdQ3sSVKcE~N$5kj153vWA2&%|H6O&s%;?dVoLM5f*Rp3EsIj?q)gu&6 zwg&IAG-x)CDLR_p^Y$BCs#EssaEn|qG#;UCFgDJ`ro(yLF>`*K2;+c#JQ=?|LnlA7 zfV!QJ7AyMtW@~Xx_8UTtie%#hOA?%plNRJ9vtN4ZNo0G#YXv&&mt~)lvIpLMea7>_ zW1BnuJf{vogYro*<)PZ-7|R8^nIn1TTtg6DSQ*8%SStQ+_f7M{UI|QAH&T6fmPTnH z#}(rw8-fIjlFp8NmNyp-NKFsfHVFmQnQ$Qbe5#^?1Q*U-AQqMt90moeaX9zk&bHi& z+o!lhWstaBV1IMv$L>>n@U)QCQm$sMce`hsjf7Th|I-&M5AA0Ps0l#}3lx3m0PynJ zr8VO-XU=IwX-0KmC`qvO#!KlX*MKgzCz%KL2oREXS}NGJA=x+d%Xc;7#?0 z@9Fx^pC3)^Vqw$xa3PLK{%CPP)Yi)h{~X)El7RNyo~S%XBm4@-4c2V2QKr3u2U@$$ zF~}wUr_}jnd&XQLEwN{J?&=5a21tA0oudgmUoBf6%JynG&O@)*b`b}pQcR)VLSQSH zUM{h97=BJ1YDV8~Aa_S>DGJ-ef$Zg3!bdJyZ{WlgrOMfp7=%q-F@yOzy+s_XQ#lDf zSKu2EL!pPeie36VgYH;qp3>h>9-zOUbH>rs77mDrpAf`3_wJQu9+yD4SX|9pcmCCv zO@30RWV4k4t8r=H*QvP`hI7M6l|a_?em+B1J72tHh}m21@jC~K2)PGOyy-V#9W3@w zO=162yBS2^BHJY|Zjc3+e*}nTz}j=sVTy4^5d_`q$&PGEd{t5N=^J_S%UuHd@EP=M zmHF<#-R|$M1(pJFEg1rmUL>!m2bpORpL;m2pKNzY8p$4{i5MCms17*4Rw9+Fc|GNZ z)qyK3G4?!Bh;f;tm&7ZOu(*KRx_xGbm4kY~Xo6{CK{18rql7Gq2<}Z4`ff}62Q;%- zl`|FOAi>_&zL$~*M!Tk5>!G_?;@0CqbQ7Up%R)r4PAdl1QL7AB(2(ctROqJt>qZlsuiqUjX`M zAg|jt@EjC%Yl~|9i&A;*_YkT%=3H|@%M_~>bnz&Nj1cTxy#889&k`~AtwT?AuwV5~ z?*lEfG@;``s~dp~O>??!u}list5c$tw++6lLGum;q9G`BjsPiFQluwL`2X?s)T7Bv+G{!}HtON6O;#ZK*_0X_m36NCwd^q(U>SiX zjiZf+w?I)UZUwrbUK6Tm=U`_g8UW3KfOjn+B0~JmTJ%H_xqyxNsu6)hD4w58KH>Y3 zR-@?ez3+@UW)mU#$|@|pMdld4$#1;8!$SLRA3;&uZ|!mXk~s%Z#M?u~8jT>0L2;AQ zYbc`kjBVcCeOHUMxBoPdoiyQI!|`e0NN?=t(pF^{gYvs9+_AwUe zR6`OSNv*C_y$IhH?&hv|i53djCMVTB*NMKl%mDShtA|L}sVCn?=`dH!%IP}d4M<|k z;e()Pi{#LMzCDfCt-lct{+|I^$$iougK7b^1I8LXziTTipBBn4;xv{T{Hd=2QYug^ zk8f{8<$5f(^p@0y>6Y1{u1T_=WEF^{0@~}sG!&IEpppM9zN1I7tUgw|IjIMmI?x}m zyEVgQBwQUiAfUvM@Hw1A))eC{!AZuK4rH(3J*&_YAO?BNY4d;nmbDe}yh11XxIe7} zln0~2;?Gy1FyW(4bz83Ro};KxF9!xyKYR*OHZ%^%@s}(wVI3P&4l%#Glk}@~1)Gd{(6t2_qw?21p%bNk3g^;gjcIWa zOdB$WNoyTqd9Ev`|7tdHKp1F6x(yKm1Q5s1A{b9vz3Fj=jjG{r9dC|5W-THJdaSu? zxLxaA=7?}0lNVaKCZp8nDMr#lRUiZ0dfZT4{!>EJ-o1j1dBjY9i zBge*QQKg`PpsRJGWPRNdJcDD@vOZx9cYoG$1wv~A^;3ncUsB?m@Xrca|_x2*TlW5V% zgejo{h2zVR0^VYldyqvuB|7H5*?x!ki6}?UoX+zZ{=wtzSH)mzFEZ<`w=X9ZWx%&| zTQ!sMt3m|F0`sY8mO%FL-2R&>NT&3eTKq%z})zAOQ7nRe3iU$;Op7?A= z0PcFR&hC~8m0#HYF*gI)S!GE8Wy`!Z{e3^5GDuT*P@3;*iI@yCAwQ{(@e$MPn_>i$MVI3y@9i|MlMgzxL|YLkti`Ai_GVrs}_I z2ltO ziJzDge%*YO$AnT|S^ivY424Fc8n-mQGyi{F0CPafY~JD?V^v!lZfZtG?I@y(B2z`z zN7yXlBQ^^(P)keM=patd*Wjzxd&OdeLqfXf=qd|fV(Ohd5Ik3I=lgfj`|q0%$3ZQA zpf5HtsMVFZ8ExO5OHj?7*)hqw!pFv*ep&WRjj{OTC%umC`tYII`-fe*kw1@HO;h{8 zPE}RZ6Y*VfHorr{)*CKe;|)r{+82R640=51@988Om%AMiO8-@ZBiP1jS8%C8`0t@S{PRbL+*qdqWqD3Kt{&u{fsFd0nvMURl+wx(v2Li7XiuzwW*EwGaY z(Di8erfIf$w9ZT*LR>)1*0$twYT=!YD;P&Hmqf(BT3bhIAE~4I1F%(k5|Qvu((?Y} zR|JvaiD2U71>x)U72kJv)04kl-}l7tQ=W+g*4&j{NB4=!^oI3akvcqi_I}KwZhhV4 zd+F&Cf%|b?qL-DZN8Po7)vwhWZV#Df zSyBH}9MjoWE=@6a))SMIx!-HCVYCimY9BVH0}x)bAKD5mD&02s@(k*P%(9JIiCnu5 zEY%6WEKR180yfSc&^9EMM+ zH0Ux@YHBCZoi|m*uu}%OG90fUrbv;Z_o(Zl$Xp}vhC(zYN#fr^!>-yn73+~ zd(~AI4Fb#K#s&te$q3J;j$YPpwPi9}AL3K_aw-@SCXNUpV_^I6c63$)krwI$7i(F! zcwbKHGuS05$e-EVeroc=ka3cZ`@@J~=CGgR{yJf1J;7rfl{C3oL)qc^ms#XEjliDD zYM~XPnhv6^kgwIWsk0O@7e)K)$;P&n73+@sw`&1!(#Y7@T=-8qaTb1YiSqdb0Oohp zs8DIAi8?p?nLsepMfRvsM4Y;niOJ*5IzVIEyZzRH3c zKKFB^_FSg0wG=h>M^wFx3Rbv^5mCv)jMK4D-Ygj5mIv@lXH>%dpII>)zS4EJ9kHwx zcSD18_xeS&denG2G5B&xKUR8t+|h0PG};Hwp$%?s8>J8)Kn_(vBrCr+0)tAd6{Wuy zb33Qs^1Lh2Lfhw8Bmt7x%LC0~f`T^aw86>POZ~TR$rxhlGTyP^Y)_SGBS3|2e^=rE z*2gO;^qgT^GBQV6swR8wvc;;lMn|d}g(=_fLk&d2y87O^HA2(Ic8@Sm9mOQ``@j#f zfTr=!2XOM!l2CU(G@6(!6nNasUai3~F@qf$lEFAJgXSeAt`0P~#!@syT4-TF<}!}P z<>Gs)SU9c3y!hs!YAX4bpPL1UwY}FX1j^-!xvlO={2KD%HU#u|J`fB6rd1?fd8>1% zVL4)74i5GR^dz;>2#J^JAnWB|BUCZd#nZM}IdNw%Ql2~9?SkJmeTPM6WX1yG21$Ev zK|kUhJFkip{`%$*zgmfufM>!T0ZU%8Lhl ze~kvLR|<{rnarnzkpIebWq~r~5QbJr?;AY|aItQy{6ssX@M}6f`iT39xc&7QF15qG z?28p#npZr*=K^%GvXbN*m>)WAhLsRG|B22RDdT#;d6u;M<#*;+ApMOAk)Q)Z%xhH- zdU^Yk_XYtOdbo-hR4xuHniG=&nw%xle!;4UPCw?R&SYDiMcMtE`EWZj>l0(1R=e`bOXqix3rkt)Znw zRG7{wu`p?kBQB;KDo_{&ET5fiZFY_RWn-ToU4@H!<(R9et9*WGUZL>9)jz0Cv6 z_4S@+mhjm4J}Dv+B+*I9-&f@j`>T%M>ksSGZh5Ebe#s^=fGX?fuPGwa#SY~-T`@Xr zDmjPATt+T$c{03LOwz6Hr@K~-L6^!$OBGDfm#%|6ZYL+qHv5t*Kuj`IQ(x*umWBZnHV&NJ_O@2mVT z!YGPHmC&Bs3T5O1-Vn+7&TyYDr( z4V+Xl0>|AL!jrV3cF~U=cKd7*jHnyKPwxh?GU<0YYu0XG}E<9c($XxytleE-ok~Vz@S@Bn%8BNnE?U@xsM~cHX5e zHZ0lrBVeeA*(9Rb>E-K6Ez{EMn&u8_gawmEo#T4wV(0o5JLTYGQgef3!LBsI36`Zt zL_jXy2^-h1&*Y#Qj77i1CmauUH0>sA*)cT%U4(x6AA&BF|IJ8c2w;4BWLdW2tAPo% zATUhzmc($Yob~sIgzUYc*$k8m&6`UL^P%dem;PV_Lp8Ep?Jxfp>ws8TOzc_rk7{4E zN7pP@89zpFAos7wY0$u6VKIE}vq6hEkPm5w9=OWuefYKGWa_xQTPgNgMw3G|MU0XW|4})f$5(&9 z-Cxb{HUJ$DL45z`hT@8D>R2&U?imxtm8NLH*7Y|CDq-CDML$2boBQEyjIko1wW1;3 z%ZTmq*lSAPv1!=H7(y)GoXvqxeX%aJEHMgI&w{+ULnqRyY8%^cBvF@rw}+~1;cFv! zr`uk+dTVzY@V8_Uf?j;o?b@7ez(h_{l4%0~FC= z`=6~`>p9EG21V=kWDMD-6oD4j+)o}PzE!QZo~+aD2tT2 zgxDW_@buH9Ww5J|p0&cf^DTVi$!@-ToLO}r;F+3Y&?#F@ZrZGz_CkI1yW&$~^^m8C zTYc4DHeI{XR~tp%;)4TkKl#E-NkdQAt_Vjd$Gg@YS?gLX+Rf*8a@aqQ<{g4a>;_2<_j_DsS7**6fo_&FY3- zgweb0O<+VnYneGmIT8}FZulrGvvzYn3umbPNGSuebw5^Pj+`YAeo(`&q0RabpgPUj z1zd2T>7MTD;_jZo%`2d*B9`8(L2aXu&a^GCPX_dxS7Q<8XuDQH^gj8S$fRiebEh_a zY3ZcuoB9WNQMA=?X`1q~=20xo9^4t@@%K)9V1gcpCS8&V=K}`01_12BrR!jlk6s}h zMZw;gsk|4Ok^<~TR=qG23z!xRr*fdTrIFvL_ZmR>_UonYgA-dQw6YkxTuwOEpF@2$ zL$~5si|?DgJA}i+{VxeGh3S1Bju#u}c|n;>KX!VqO;2~s#BL&`c|>|4#Ul7ouxnmW zA%;zW_Px$u%nxl{E?PDnA#&LJxS$-(+6Al_gB1Rc&94QGY{C1jL7C^oU65OsUL&E1 zSHZ~eXCkfC+yt8Hxsyh*IW+BoOo~`4(U5pGeG|K(wJO16nOC~lql8O{yUN)Q?GV&i z(bb;5y&k~Txfw4HcSSf7u}xg9YX7hBUZDn~?GkF)CBD?&k5qG3BtLcCzEh?(h){5a zX%^B&F7Oi=KrBn?+V^|bsT=+Mm)4whUD^Y8G@g%)@`V|5ugROr5LW36OT(#P@SQji zz#ZeDCT9~^0jtj^HNKa^5|0U6C~TW|bg`yPSGL#Ie#im{W~MSgq~ueyS_nrWhgv&C zZFUE8`bD~It70}cKbf*I42V!V#TP_M1(B^t2qripl3$sTi1XO@b45O=^#ksUywf3& zJU_9_z*?4YC)u-RIvNAWc0+xi$XOPNo~183_Y^=cfHluZf;F&`z9JoE8BW6x;)4C_ zN!9zlf^G<2!hGEhox!zp&yCL1_FqW`Et2TFj$a-f28=D(v|mh^T;)Vlmqec3dk~Ql zc~ar{9m>qPa({X~IrY^PK=pj595WajSN{dinh&S@S_r{48|l(1$iTkR%}iUk%vi91;kM#mD63_68gGu+EsX4fQxxqez%8PBU0q&xL3R zb$x9+kFZI`9ED7iO8InDu;ecVBXP=D@4HMEGZbRiO9}U-A-?+tZ}E7~lrX05@zUUu z(=71->_pMFsp{uN`vDQ4C9eJ=~R#7+MmwM$dL25$3%{EDt@za%}|ajG8OTK`T4uO zop<}mgK*4rkIdiubCj_R6wTO9ljH2FkJP1Y5`4h)K*G6U5F$Mvaw+~T=Hp@6d!(-FeV!!L$@;2;0En^M&L3->u<0ze?a}6`3cDVEv{Z#6 zT4q_~EU^DXw-$5rx_i&YWNKpJev)8(^ zBrknk2hhDLCF`vi1IS-YoW}X{NzWC_Ib

    %N#p#(TS+Pod)~Vn*1SzX4;^Q>(t; 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[j9(6|_ok&zAGjW}E6J|i+Jl+Y(h;&ftZ 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%0Dhu*_IJof-B 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ΝuFp7Ht6fF5ZpDFz%C+B6R`ya0lERcgi) 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 IKF?qN2fw@j7ytkO literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-editing-relationship.png b/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-editing-relationship.png new file mode 100644 index 0000000000000000000000000000000000000000..33c18f0722081467b592a1b8e3372ebc02349f8c GIT binary patch literal 393932 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

    E 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


    $k-yjIs9{0Of| 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 literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-setting-relationship.png b/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-etl-setting-relationship.png new file mode 100644 index 0000000000000000000000000000000000000000..16b6e5c765c2faa46b7ff221daeea3d03c1d14a8 GIT binary patch literal 368626 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

    Rf0x)0vw(406HGzA?;hEbU2iKoP3T&ey7kEL1d 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 z z3h-_n!qlD(>8imJzRP8we^{cPi||uy9wET2(9Vmrt#~7Q9A&>+EVi%{z+vMcXNpS> z=xeB}>xk>z4AwZ!YNp*ja-U?BKRq&Zf^L9ToM5DduUsTEe-eEFZI~8EFP6)QALvq@ z84ez~?8$X_+l+y;!V-lF)p;XTF*zJ?_mb!&wQ?4=a+oT-)Iw^F8ebY+TT5P!axY#9 z+VNHIO=0da7mCpXyiM}2kOV5UxosMd!x7JC!qd|!8_3nv_7HltQAFwTwq72)U7tM6 zf|dr6#zP>DDfT%e+}m$0LdJ~z`J-_e^c?sEr!ulW((GYh&uPJ%tfcNSwiu$CD&U9t zifkG$lUsP+{7cgvvCjfogA+vLMF%U+si^Eq5(HeJB~{N13~riO@)h2T^kF^IMxPT zMIn8oB&6DOm5Sx?+8Y0uAuE6Kx%e%$Kq`QA@gp7!F7=nbUi~nQNG+^=obtx(!FhcQ zTxZc=j|5_E;{jU;_cc%yxF~2UC@aqUZDsLy>3bH0AF!rwBtpc=50MzLn`T zh-aaAJAY|~l+0(paucO#yeN|K$k3S*kkIw!?&mDKb|K0^+qKJmz3Vw|Ul(yEGtqf; zg7fa%m!SA{woKZCsb{|G(E@wnI8wg8&6<;D;w=$tA~Gd9g7gRHMY3AiI#g@}*VC$t zzbjgf(t-B!z&SKQ;J)W{&n`tilUl(3B53cwzQ1PH-3iVK}#&{()T1( zU5DIiDoq|O?Vg+oYL9;0VMVqdH|vgWB2i>~&lcXPQ1`#|cj~MGAPI)ez1c?iLp+Rf zpo4;>53Z>gmn21ai#LXvn${2E`GpIE2?JJ`){0w9>e>{CYa6kt%m(M2h7GH{Hvt+z5LSq&-lk@beCy8J#`{#Yigx$ zAQPWX4}9Z@TMiO+V%^cDz&sriLA)v~nG$DvTcNx+Z~+3$L2oPq;d9zG-i__)u`vh# zg-ap=LF_b7R;g7?GWmT;4R!8bHS&}fyR&#bCb;U9R1x}`;v@IFS9l9CI@9dxd?DDitnbFus6PhaiggyO-m`QA-401QL!S_Nf@-Bj zx$Vxt(x!(o?N^ub@Dr%EcKA+d^(!imRExJ7!B{y|_wT92>ti#)415jdB>Z5Dv6;{( z-yczoJ*@KSn-EQqp!^kcPH6!Rb#)ybrpHi=9{oPoFsT&Sv(FT>KnHgxsG!H4MJ{$>N#x}(s(j4H@zY>Iap?y*#!6Nx2-;|`p ziYZ$+yXk~DEty++nGi4kgzK#&n#^9J3_aHqKNJ+HP5$xktgFVrPVUUb{lNfB{fPcI z>08kw&poL2%;?B+_OrD^{h3|v3i*B>{c=7U$cS^tNJS<^lfgxBYI{wUH}GsrpH(VT ztc|i?MExiTwPTKs?!>fY=rbyGI`d?-QEC+%7&HGM`(?`@0a(n6bBBJ{xiDGDk7uLT z>~7&GbFZ*HP3M7E4@@}1W~LBBc37ceudP!dvs#L%ym+Z$6Yn^(LGt>m^9)L!`@^7i z36f~h6$x6o_2BWalO|UdI#9ZN4%*?BM}XzRC9xt=NIO_b&Vg2w%wu=fhLdNFFH1T+ z@rJNhK}hCIQbFyUkl=pzOK$R{^TA{-SJwL%t|&_f-gA#(uU?^^82^GX$P)s*D8hgi z^F@)l9xNn*hw7-f_z9J)qXVN;cje4Vv@L8t4X(AM+Z#XLgkr!di;e7Rd{y%VGqB)( zUnKL16it#0#&vS{HPtf-e@Nl@r@w9UZHZn#O7D-gPnQky4|Wg8-w) z%s7gUo~1of=5h@3a`_1@end(4xYcWwtx%xp^i8q>&=Qd*? zoE{qyU~-BakrhKoV$+!1=e=no%tnMf6@qk^&n9q4$JD^vxKU%#16cI=p*vyOnX5|N zqXTzaS^Lg(*j|V_-ag&nxqls$D0-6X5VT5a;~ho<7zYw;%iQ&`;cHuBHup4`#}rRd zcQ)A7HL{fdKwL|?)vu}U^A*3 z6*XOIh;IYPPL1$XF@{4Fdl%^~Rz(BAdYvdxd)h3_%n+21r?fddi*JfkA<+)k)2A~1 zDc!}AaHngKdmJoQcT|5z7XtMEJ9S*13e9~Hq2p^vuYxvlZ&3wMweop82YD}n;AXT7 zm78U{<$ihq)v13Qvuux8tDCAk>xBu;aeD^YD5?n5$iS{XhorhAQ}JfO`n0Zt36>S$Ya?H0dUTu`hg{auStw@fe%|udPg0luH&0Ui9*|BkIIh3XXhx9Bya!8FGwNbf08vecTDH5d z=(gNHZmmRvpnCc3 zu20-(QviJE3hqdW>UQ@R&VM-0l*ys;*A0H@t%kxjt74gEl|3MCQy;;7A?iYSjI!me zr6$nLxW%^2yU6o&m3aaZ6Q+}<9oPdZ=VP2W-$38u>~UT)YrV=c^A*A3xHAHFw19sX zNH~Yx5HRi_8)Ds1&2a~hTY^GL20q=Xp#Lj4X0A}VJ!YEW`RtBh^h%YEp0^myZmZu% zKS<(z7tzP4_gvbU7+C3{QfNempXQZ|?stI3tS#KF^SyL44*KMQUS7 zU3_?!Sg%^TeTwb0_gkiFT7M-`kg)96>&IghSb{XRzJzg&3-K)9hNLq+zu^lR?X!*H z&NBS*zOS@lbY+qcuAxU0pLTu`;vbMKzDoWa?^ooY2E;2n$mGa0J4b)tm^ut%8E@GL zp#5Yp`k& zUtXiEV=b<}nD03szomMFYuL*CdggZ?`0w{AYP1b8 zsZEfC)?Zrxdu#sw6DLB-bt&`n5b~hy|M?I9AAcUEA$ueo);qtlMhf{4U+A((U7(Lm zt4WTp7J^Fu)lSGRQlrh4eB7X>-L(HbQF?hPdwJ24&N0LP*QA1gw}&@?2$YTEe=#(& zrkdD&sx_a4Ui?av{Fm(iRSXauuaCVY;k?~7`Pz-EuuQ+_CvakOl zCu8K23yRs;k-s}3XP_Aibn9(lm_J6f-1d(gD78gWPUX(sG&^^(9tatL}*Z3Un z1#QO$9la?bg-!@jIjm9_IsKLb^5{m~%E)d3nSpS5pLpIcj`H6#y8TA}+h61F$TC8~ zmyrO&l>F}1)znxX;YN$XL&skKmRtt1e)8;o$d+%EuR|QN@GW9^&0>1B(t>9>H4Ia^ z)w?Hi(DryU76v_XuF0CLY+RKiBRLrc99&$>#x;w(av9GXAKud1kV45vDundennPE2N9!d`PqQ?dOcxdFvAuNd=(%>bRajXnq7?g!K8H`V_=G-|Yx6j>xd84T zUu8I1s08bXcD8zomnoBw@narT5W^B9#>eD?ZMi;|3yE8V<@LPV! zFKP*nGu%8DqXR{A(BbF-kU}PdVm$nIUoGy-=D8|j2pK4T8z6vP>suz(>o@L*x zX6(2mR!vnj7i9Hu?&ENzt7^_$LNqaQrgBN!7s*zx?5_osJ;S(NL?1jOglp3!yn21& z3lnO2?Nw|FdGk6^7uUku^W!p)F}gFo%GM-Wx2XHiJpDDj#m6L22N!{NRh0+W2K^k!4n-X-4j!kkr=J_f^r;GwCNnp=I|U3E z*l6ma#W=+_K?el1;kO|$GJW|paO5l95$tYK!n&YWJQhZ92FW*S4t(7gR$-bs)Zk1v z+^>G+zZgTz6-QVcHmTn;m)oHgXdI&(I5$2>L)Y<1U` zN_VW{c~cTwCJnr0>4L8_f`)}=VFunDFRpR0EX9S-2VDL8DgSYrC_tJpy z$IAtzQr5y2qw0Y4?%+kbF@SC!S^})K+?^DKxQ`M^26?Y>!T<9aY^X^yy3}xiZQ!b^ zJ0cTIzG~&&m5A%nF5i1U(+*FQpy;>FK}PWWH+=8i9sK&=n09?CQ=-}<@0Q~Rfpe}v zDzEZiXeBph4zo0V6(3x3-p9ttH}EUH!CPcilk4E2{frNE`6v+6bws3bkW=N-J zeQ~dFTnaRiLqj9Z7oCESAJ?DY%C#ybOxL&E@L+gTC=ed?w>X(AYLZ=#urb1TvZnSo z(hX?e$aT8xD(Q04wG@#xQlCZdyjnw_p&6Wg<1Z~{UYGfFX1OEuB4#CsXwBoE3)(?4 z3QjUi87zQb!+*$v1F|KsFCF#HmbPmPB!>%2F4$oPG9#txgck2pV}_v$CuXk%#0~H> z=vf7(Nj!Z~5r)=)v3D{q)^kv;TMq6862X)Gi)+(3L(4zkx-O=8tUeT`c#$JH)vyp% ziI>}jf@eUCu%~?rN77b-N>r~nthJT)G-N@4#q|!1z@c;S`_ARL|bqj0BX~?!UPJS|JKerQU;0DllF6spuH0!!K#P{7vyMzd!sD%UNGXr^hA~P!HWgh2X{Gv~fl3$88iJ~b( zYwcF?J>B(KmdBbZtN?$^>ZnF^%CS{kQ~Yx)H5EAIIWXo@t>auW$n}JzXLx)==adt! z``bh#!$vt%dj&d}NK@N_02(j=65VeWa=+50m-RViD=KV{|8Bmm)Uu`8L%?joz!(t{ zJOLj-4Fj|s^$c}AYz@xeYorV-b_sj%KC!8eLCAhp1c^isSB%cgE&h;ZV-y#Av`dB+ zt{~5;NDi21^QdOsHz`y#K{B9biJ+I&g~yK{C%uUJFv?ACM6+d|B^@y`ltC>=h8^*N zLw#igN1fN&&%D3j&b{xGk{ih=O0F${H434Py7s*ATjL>hhcriNkPa_Y>&=HH@X?#Y zs&u}q$;l^d7!SD~-KF$9->T9&c{whn8tdyr+qk{pdX4;Uca0==p+t|c1!lp2qKkwl;Wn5AFUj%diu_7bRPPRHq$#& zNKx;4TE6Y5Zo02pkVt<|i1rhU7j601`RcRpKhNgZx#3qeuP5Pg;OY{up{<>??^~+~ zfBow%|9az$Rv6e*!Z>=ecov=w+j2~T`|NHN?j#xP4YU~hx77YTtUJhVb<~EKTwg@{ zLFOflzc(TuYo1?kgs-&)%mhAZtL_@VI62rr*E(Iz_-f^rl;Lh1vydOxdKA` z!53Y5;!>9=>y|NNkE3-5wSHr)DF!sw7ekFQM4OD8cePuYFHA!0g;@~(68TQk4C1vu zrK}Hw_>3FS4-xK>HxV+(rdX+ZbS7Waz(|1$$BbpWdkxto3$lH0DR6L7nYZ+Dw>N?a z?0GXVbG`p)`G{^y3g6bL?|F4SM^+2g3ZlM*f6TUhW0%tlkmK4Q%upvxm7riICLx$q zw~3C1#{_CgvCaZqwJpDzq@I*C^RFI9Ymux(&-Wm^*X6x8o$9qb(wmpg>d!otx=Q zp<=>*k8kfnZ@ptj*E{m$^vm}i$Ce&R`<;yDg`bo2Y^540@V;W$tn-PdT8&r!lahCb z5Ij2e)YO6;08f~gG&^=SFX$XAlgl%MTbD4;AVVZR{N`cax zTYJ2##NHhPqYX>w81I4Z*n8S7!yl4+_|4`O-QC3UOE-hY>KGmnvjt*T!gO7J4hfPbUDdGx95 z+rn*uF#tsZfhoh$nGP?7-)@gRW|~u?DxF7WDJT9^(3|wy-j0Nuh$M>38nT6d2-fmQ zKW@sBjN?G7h7w3B`5Vup5bLTy^HBpSMJO?IHMmUw!iJI1B(#n69?Y!hzip=!S{-gs ziKs#pw^O&-kI*w2u6fETVfM=WXWvqD010~Ur@3OkQ}5*DhPsyxN{QcbxW{u$iAlpr zC5$$WXpOuo4?B_X0PO-13W=F=9|&MDU8!&1rBm?h@b-|x3i>$ z_6#;p&^z~-b?vcp5$|*FY~`U!`HVeW!joEoOhSAJWgoEq3g`DnZVmbf){CH9JorDo zwmE=u-3di!4>+j8^%EdHN*2yipKP!n0+dC!Wb0Jy)0QyRf#`tG+(C{xbek0Y2h>@2 z>gUfPG%|pn{^TwI)*wH>$I0*B@?2@QIzRpCU##I+e0EPO!SpqS5HPuY-y~eZ(xm?! zQrh(NcTni4hD;&MwndLg{emEWCpdmvkbmB%9Dw(@9cIG3kj~!g^M^3iUXuUe>;C!P|N0OFymOm`*nF8)@IMOYUxkJ& z{w1JF1)P-+Av-VrVWK5R3c0j$q(t-!+5R-k!kn;xR9(Wtb#e9WhW)b_D-rTIJ!?YT zgzaxI|F2{Jzb%0ug2=?f4==>e?LVE36dFz_(jnmF<-U6V+u;7m`-KWp=NI20BBFmf z8>E%`k9z*29@+ow9wy*_b`SA?jN2{ovk(~d&4IbF40q7B z1uZz~{rx}2u1vr%<-kP5yFnSagt5LWvBUK~(Y`qUl{=~sO3|Ny(tnR{=mP2pS^Nc#apzdxt1ATor6%OS2_~m61b~ZMF zw!fm+KS9sl#6Y>o%ZMySgk|cZ)Fr;{Yduj1-iNX{fPg;y)P3|Uz`1@t4^~CF;4CXl zBj~#prx;ACPl~oZ|JU zPfq2BVFG%Q4d(0SX5a0rFkD5{gvy^k?Pez%C;JDMhol#+W{a=?R6sf3uu8fPBt;yl z9KPGIp9Wx@AGLC$qH?h`7{vj+F-sgyUn;cr+XFQGb@=Y#pTSj^6Q7dgVFi)BY-7Kd(C3G|qcC8P*LmK( z4VhqiS1b$c1zB2#%5g{!Va@SoD*?}N>EV8=8qjg}+O`Eo#22u>wRQpW3Q}E7&7|u! zLFd`2sfN;0X0lEfE_W7Al!qXj$Aw~frLCRwqTX{ozVDH}@f&^P zOIg`#74we4PnrvU-FnSr50iQLC|QCejb9^$~66%{5fiJ`;8BMwf^ zuhuT^ivg8XvIl%GWa)O1?en;lpMG-3+T7gKe*WCNSf~8dv8T7!AN=l}eQIW=CEF)9 z0TE;$dqwUg98!;-1>%N6W@cta=Y&5Glf6yRHd=d8Zzf-&c|3r^lu@J%4NKBIybv69 zk^P~XX%B=6ESkGBII5?b2G_HL@u(&KVcvzmUEpc{YgG-MISN~Jj6$Ff5BGJ2*??#H-w+o3OVi0kFlC zuC6ZAql|!v1>sTkEId3seIz9sx%H;Hx(eq>laEPo?pahC)ZEAIAC<5YRDct)+PCI1--w@9;wyU(SbCB*o z<&12znL&K|#MW%6LuhkF)sNAo>ugdUo5O&vsd-mgDj_W`f&}fN&SCn|K%b%)rr$S7 z`s2<{mWi=Bhcs@JI_oP2divU^=@C?H?5Nat?`#_z8@09d?ZU#)C+W{fNt349x@l-> zD+wQwFG3O)nP%kW!!>4dIxl%B=J#BQ+IdE$?^n?#e+0i>Hdjj_j*)@f6~ zz*w0&A&?PD6tqh4TvPMTL#irVO0Jpq&fb#Te1=(@>9WE}{ge0Or;U`^^?1qMk!s)phQ(jVs{Q zd`&=BYh?0`4J@mkP*TENA&#LQJ8x4>RrLu)prLX|NOtTdoR)@Wdw+>W^wnj|bubW+Ng7d2kQIvFfRse7_90au`57m>ppn?MHt?i#x zp`mE(Pf`O*N}l=JopH_9x;GoO&REu_ZIv|EevbnSVM|LVl2iQf#R&Ay`x+S)b$al> znDI8+U4Zvg`8O6J2^e4zC&{T;_$slK749geRNB%q=jQHa81-CB_hl3-%Kk(%9C;1j zk&d>Zmg&|+X)UtYK}~HYBlCe3*%LAXRP(+%ZD-ZSYxcC%z~N{uw$AUu&1?Vc^teNs z(V{mFTtg@+7C8AaW;rA|*)lpdwzjB<^_U#{12od8(XG20{qEiSrW{svRaG7F3s|nu z>FV|EzC;>dc@QzkegDt=rUpmcJs2g6#d8sL{tkv^fO2`C4;>AIq53Pm{ z&nN$lA^L~j=VF4b2yiiR{me&_Gn%!Fc)V4w|LTOMxTK`!@QoXLAIwY2LU9j_i3uMY zt2y!TVz~@RNkgHcp{Xk?bIK)J{5f8X+)QSAjp%j0y%aDeDFw-_3qE>!hVPPMV&?mY zxh+y3Vq@Z@(Z0PD7yr)1lXC>7L9<4SjEt;#vusu8wyHE+<CN$E=gjN{|v9DlC) zyoA(0HHAV?G;U#b(mte53hD;5`_uXC7ZD`@7Bw25$A1$l{~Grgo9!kkNt4J7Y;Nl^ zkI6}}d7+tzZMr$aJJ8?nhIw^9)u0liHnqQB@ygRv4|%UVq7CDL_~`kl9_%a}BVw)+ zc6>uhO3F&k<8W|rkec$&_8Rq?0^0_05+0-;2|aLuC;zaNJ+XOh4ZuNTW+E`n#bOc{ z|N8bV$<9VM`|cHESdQsy>zRc~!arDIzt*5P8I~eopVcs5!6RmLbd*63rg-@@?}U&> z8I4Col7zrpVk71(++@g`XK5!i9Y{G(FWSb3V-~ZtClPAIX z1qF+V7!PhN`x@1V0Rqp|lw~|Xd2+p7`bdaEPD#Gxm1%>QZU(N#m)YkHg;2EgE{NUd z!{^ZiV0Ktwt}Ma-d=*rXB3FSK{_-0v_>vzlsCU3gNft=pXRSe;`u6?LAq2DRnF87>&}mz2y&8#c)yWW< zd-GQxafyS|c*5`9FdFaAptRFoa{g(YO(=+hG-$h9N4oKGac5GPQW4@Tr@6Vg-!B+x zY3N-VkDcA;Thp&qK4-z>Q~)Q`ZvZffvg5{G-DQ{W0_m;V!6P8>w%Ay;DR-EJ#caJ( z?Z=P6=wNkI2ZymTL)(gIO77|X{m8-_?hy4r=D>}Y$>@PhQoksy|0Zz$RdUNF1Cjv5 z*mN#6GuH=esWW89{7pu*^Exy$1$noZ)01d(_lF7Swf8jl;z(llE}I?~RO$um9M=Jlkv&fA8MC+<05~ z7fA$k2n;d(^d)LC7j7`q%po8!WPH)F&cV(%fb9OvL=YLIZq|QBP0LuH6zeGD&De#P zJVT!cN()2C5&c2@buJ3?2 zki20`O;3M`KE=(;`-Pb$mxE*z&d2wtg5C{i>bq-FTLlabHp_!Edfs`0jA&lyl((lp zD*gPq|4lS5r#L4)T%iLdxnl9X#Wmy_{BBbKqcFhA3jH#wRU&Q?8*b9%@#%UVaz$^6 z;*GqKUWtRzA}&52S76xr&(wyT>jpN*#gJE9$g}OpV|kI2sdKaecGk+^Cn8eroT7YR z%{%Gp39qML2A-ur`}!hze}W+o9u$f_mdrYQRu3u^h*i9vpEusxV{~~SmUZm$voP=0 z?gJ3nBT>Ki-9_R()qqnZ?=tinqZJPTS5j52!ixc4FU(wCUX~OV_A1j=K)SlnEEyCJ z+nm2^gMM>*|4F<3j~}2mPfcHXlf9eO2yd;NeqT1B$6i%33WEVQ)B&EMgbLIEiGkw7 zNP6}k>T2okV=eEzS;7R{8pP z1?cMTz6^WSf1c=$?PI$|iqM&u4qb;&LNX_RFsOeN8GWl-IS3lf zKRWn>4;-0DiR0Q7G5l{vH+-wwjWj9Le;@MvvxbAhZY92iHy-k*cmSzR4v|~cUX#28 z{4>jc|DnR=R^pi-UjJ`K_n*!5TU!6wOurY{e>T%^)AOIr^xH80|I;&RL`(c1@L^4Q zai-ROvfjAL^2^D(m+vESaYsHrzP6{bvY`jA(HQ&rd zs;jS3g+HoN0n2bRRdk;tXm2U$Vmt47b6V*rfTeJPB1Ig(EAars8Si3|)VkfExEhDN>cfut>!2S!Y6tgoc2YvrWiI&V);&y~2y%PDgU z3ywQ?+T-2*JAJ($2@BhiCWiM(|uvXTs;a6}-}Wn1R8;gVW%J}LB<`Q-?t`6i z+h`NUL!1b=#IJH-2G{=`7SA#5FY15=n9Yu09xNCOp0)mj|;u{~@o6OnMJqvItuV3+)3-7m5?IuX_yVE{vf&8x=R0n_IF z$%`4o@(AZ6Td@1Cy`z0?TU&tgQ`O3t7!PF?mF}xFZ)rAS za6d(}C;Zt9w&48$#;|pk^!VAC83%9gu5OCV`07V|Yn*_^S{C+4(Gh`x@h>Z0tD6S~ zBECilRn=7-?ChiX%!K3EoFk?$Etf(PGb}7}sk%vAl=c-9N{ETU6H{w+(zU6vMD{$S zmvHM^FZ(iH{57Ff5(hr4aqu+OeTjz|;LDR59*$w(;MOfU8U5xB2RAp&%`LSlA<#nH z_cZg>E3cJ3MRsoPYW|oIJ-}|Q>&;Hc3gU28#NNT7##rd}o9Ji`Qi6!&!4wIA;UYChtB!xhAgU9d_Zwum{yrSbl3Sa*8xz# zdICEjf(`o0sLikO-g2W7i7?mozhb$di0s?M#`V2R2Mk3NXruf34rTfE2+LiYf&_Dt zPj9IoKa~OO04pm$D26#uc^w|6($X_#2srIW%F0WBeph{nMJVLlMC_;(f`c#mjQrDY zCJK)vkY7wtI^FYJF_w1GK>vN|r%zw*vsTeCy0@nk9!4BlZI0yEIeix~sI|*~@uKvw zF-qQ3;B<6m#vF1pUd~B7bot}QT}rIEVid6a0rCnWFEn})kG}Z;xMTe8Lalw8<4n!) z^Ti*98kxYr_ZGc7$M4)-Qe~T6TdO{r8$Z|q0)(z%ouAw`_KAy&oh#Ce{n{tA%irlp z&glM%qD;-uX6{J9FJK@i(9JqxTEJOvN6%tID_#Lsp;_3HNP+0d@uk#mdU!u$Ht~i5TJ#SBCh^yn~< zb&ducg!aw8jzK&v`T5<*=8l|jlrnkuY_+i>VToiW3L(}B(60QC2f4B|WdaQ= z;JAWkvbmpsZ?!pE6q?d^RS2AqJ8D@Xj*J0*P}NM4=)OydX!$OEjdr(z@J>mbAxaVR z_xdvqh!3O_vyzbxC_56|!*|qV9&GhfHqxQY_1o{MP(8qn&G7;C;4ug-r zO-)(S(`WVg#OFJt+djB=@8Z&o70)J>79&cNC*ZJ41LV9Cj=w8b;Iimy`(vO8dHG4=uahOHH!%# zmX3?Fn-S=|OPF@o31>@W+W36VN$8SP92E^>Qd%}2=*#pS6{VvaXePS(>A!`OP?_5t zO~i4B-$dufH{iIpZL%xAJ?1;cBWd|l?IeJBqd>w63pKbM{zWcjLliD51G`kD8$ct zAr2wB9$KLa6+{9o@K zDMlCs3RhEskEXL3-Vwx`HvfDpR=zi&-$#ZySnuj^ke>AJ6y)>e;a>DT@3G&QRYDZ_ zYzGE2t2@c4n=Q+lb=aA)GiY-VUd!e+K{aZh*_dm5;aOQXbPDqRR*)#iN#RazV0QC3S&ilto-mmZ=l6zVvb5Rsv4Yyv%^9Jt z;p?jF8)wjW0Sj@pC7iHyGS(RBjgGfU?EU>5_k__G%5?=c4~V_R6mNbS{A=EcBI7o> zm;H33Xwp6m$vOf2a;7& z`S-GK(us-BvWX7Ngb(1N1O@rlS>Hs)^h<;TIws1>4p~RxzGNrATuA%_6nVi%GrM*c zxrGo!IpRX{B5K$F)W^co41Hvcf`SZ+1vY!ilj%NWUgO7rhT`Mnqph26GyY&lW${@|8 z^H^UN7{J6YAfod`BZTALqH5a3D|ha~e8<05K~Ny*#+)|w_#yO4Q^VNl-o5TV3BDaY z2rJIYLbnZU#=iWzKj1tbVfy9im(;)!0EbKxK_!h?nJ46Z`~#7dCcd+P6WZfW;golS z8&t;OBS2f18#m*%Ob>hIP@cFg2@EZ);ZTtEPt=`a;Et0 z^VYCc)Hh5xX0j5H0Ul<_1_%Qhx5#DMlZL)MnIxiuZ_cn1f))v~eNCz9sWIdoZH+&y z?!x^Ijf{3aQd(D;e!_eMU^O*ugm_1)?UQ4wm?$!IojeEsEB14NV2eo@GA5B+@1x@hp6?}DY$r|pbsDJ*xT9F zX%@nC>6wY9+m2VuXUdG49UM<+*f}{*u*3=&2!s#Q8eHG^99NB)8$|RCBJn`HQXUf% zQUmx4gRD|4r;o1`WW*R_%q_G7eQh%{UP{@NuD;ruXd((C4m@ymrHIC)l^k8ye7>mK zyILs(;*sOd!ULbQco({E{%%8ah_&eMFOcOA%mjOE7v>j8h@IQT(x^EJCWcHAe2jQdRid7>gn;3=1c0> zGhH{fmc*?PI=DGK`&Gkhu7CCD@we$eh7)#glU~M0coq7*v9$cBJgdC;Xvh-m&Eit} zO~N!F9fyYn6n4Tt{si!CeK@||g{oUvTs)*#t8Wv?BHe%zj)5xT^3hZ*m-sFZ(>F!= zb>TBYyZdesb+itTBJMasi)E@tZbpYWK@UR)Uyevc0&zuWqlcx3|-d+#+ zyIgP4NL@gGa}Jdjb^RGrI$JSa=YTE#koX$nptoxzDN3F7<+A(Aul2hb@gr@u<)Z*| z^O10|YL#+@RrDiFZj>{8iG_;{5GEnb*9(1CoVX)t#b-o@P2V_Zt{$K5earM5@Ovz( z<2pzuDTj9@9wyAs&uEV4?p3Jsn`6bmgc4v~t&!dhyV-wCOkZprxv#L|=Rz_KnTpG5 zL@V@8!I$x)*oIAZN+M*A2qvld{I*`>uBDhVEH50{w)^!ohQLBB4!wBN(EX1D;p?*}tNE@x1-Kqqk#c-JCQg2;xsCBrxz0O%E^F)dj@GMg3Tk zhiAi`9|pD;194A*Jg-n@b3pTwORC5FmBNgc$>~e2(3KqYUi>mMm$s$#zQ;WA?u9*$ zKJnqZqZ#$)K6j0qsj%+oeU7wu!SH!dW_56gj7MZ8L2Zmwh#L z&)rc}F%_8c2%h~v%)Mn)oJ+SYjJpO2t|35h_r@E76T{tI8kff1LU6YL5!~H1NFxdE z))3sa;db`k=iKw{_n!aXAA0oYF{r1iR;^mkT650DG{hfy8##qTx>FP>*!0eKI5SJH z?U62yz%6r{;1_RxUr$_!guTQ`i9 z?h-cKHpjbFBWYYkXuIBG{yVXf$G?9!_#`9U7(apGFY@O+6B>OWPR>{1ggnFocY&OV zEr04$K??C*!hqVWOp3#k#3Fd-9i96#txn@@#YTO@j-Hy@+6oAXr&#qO^;1E)i2B4A zNpb#-yu&oES)JY#w1q6fdXaEQz-Qs`0%1gfgp8>SQ=}QNO`MT3v5Ywma_L^))pE_MuS5L2fTnyF1 zj0~Iln3$e#DhpQolX8~t_0SCv-JWvi^En&z?9o{_2ZrW+{sh^x}?H1U{Of=gM`;tBQ z898@QT}AN%oW`NIW9I@^_tuD$kz2vmIx&cX=0&@JsP#g9Biec>S4+8rXPZ#>ZO^vb ztH3Z(qsG}8L!hLV-vKeLN*8C>r9>?T9xgul$nNRAHWKeM?p`!LvF$+owmmi>?RetYjht7XBG4x4>ab$|UjXK&dBco#{#`D#a&8`UODEsi)`(_=EJQ{Ixctn{iz!>Mo9IGWk&GA9wjpP1oMKuZA zhq>{bMF|HG9YTJ0AxS-_kuOY(d;9{9O?_ou_dD=y9$tD$$;(!K&;H-Wem_QsYq{DV zf*n@c<^}1tnZgK0KS{~1Ou~~1yOWzAVt5WJMa*=Dowr6+7;P;P2J(rH?%<*E+G}PhGtnHB2*3h5u?;uxa~;I&(-D)dV(xuI-KK)HyyNcGGGAp` zu!5BkU{!3HP%5J5z2A7_ly)5CwBpfa@tuLA5$ueu!49fsPy20AnHizzbWdE^;~*V& z-T6rKMl5Xs-icViuR-=_xOd>-I*+51P_{h(4&S#=gT=_}?bp}v?pf_nn<5dTsx37N zoK1E%sSqJ(LPfV`9?0oftMYIED(;L_ix(g|d`mv=KCT}p1GQ;$svfboxOG)leSM|) z+Zb;HK#W>-CCay)E$WVCm)h%bcA+EeIY{Urxqd#JyDVnES%S-AQ%icTRIIR!u696K z`+5$;(c6U#q+;MNF=Hff@6(9 zV%B#NJS~eDJs$cnePOdsy0_81o>H~yV68RLxQ!5Hcdhcu+R3W}|CL-H+s4Yt50w?J zR<2!+RCpJH!o`0w63lAZbqN4~@%@UJ`PYmn=Wm0I&j91OX!nPU4WhoHJF-ZD8sVW) zug&p$1RNcDeMr^3SFqh&jY0z-miB-+mznLk)u!ZE!dV>DPCh#(a?_TlqQv-`V zRp6IwkJ_Z-|SJ(c$nEx zGMbiiW=79ypG2?LF-fA{x3t`-aa?dC*ElLzil8UJx0e9BZk-~#&wZ)Usnb7lUy-nT z`|d;SSDwWhha%cqiUuU!jSlm&|DdF)Gr)t;+`jLRm{4(neQp!;*4dyoi+ge-Km69o zA{qfsLg+?)G!fCJgaHF18yO~qB_cQ1knL142x%dG$$DyK1v5gqmhBSz>|DRV=uJ=L zjThDvVKJ|5L_*GmA|?=yt-+=e+$2DM_pYo;UwD$-y=PTLeh&?u>^)hv4D-W0==ns< z{7QT4I{y!MW~{e(9-h~_5)Ako1jC;~cQM1sxhWBHl=z(|(@%PZu8VfozgUj9(bxTPb!l-dK(h&`&=m$^ zKERjeZML#n$v&!I^6fs!yWz5oCiEXjkY#^q} z3*&=1tHy~{HG^+9M)DLadCmEH10?jX=_qym4cf(KGs1J3(3^6N&AjWJrKNWTEMH=% z@@Jc+2gOd#l&a;)!mbn-8!T!MgJcDGUm+#VmtSRh0zzePS!S530jt~+el+oUpE6D5 z`{f%dT7Kkg)j$8u-rUwVD>T~GE0UzMm}(0C?3~3=uPL|6=i|TX>txEprTyz$%Fzq_ zfnEU<>hW!|8LNl{s#6eKKhMm&a=CY2!7*(Rqc8FwaxASz1n91}A4Y~8D&+TaEt8+_ z(YtUqn%`4zcRa?#$4iT}ywR(#>1pUi^t+hD6mu&fm1$Ef<6+hhmC`ie4!~zHL#VB% z2Ke=bA;2jcSG14z5;Mso;w|l{=Z;iz2>O+ilYVA~_$k!Z)<^ZppV@>X2qAbM6BBK| zfB*0Ym|kXKm*s!5E-mJEv2}S~iX6ZiPaEP=qe>q`FdKP)-R{tDEaj-5S99w1;OKH` zOC)!ZL-v$xl%xR+E57R2>M({Jcw-&Ax9&dh%Q0eNx^VWX2YLlf9!bvwj!yuvHQ2zV z2=y-Quk5S(n>%+qo~wdI6a;Z|E))d#(htDin+c?491@}k`+6Y72Qg7l(6311C8F29=dOLjQzM|6{A>w(N$o!Xqq!)5YLA#&w{P>z(q|dU z@F}XSvxVU;8Yw${eytXm(2>Uz17)rlWj?XK5EE-%>NYg|5H6bjz0Kog5e-*2i~C8J zG?{IDw@$$LTfjgMtC8-T4ImQd8DG^}zJAqhb;)sL`FFU()-!6Y%3)Rx9&24Du}m}59|oqa zk%}mu)PfSbME4IBoMIP8)Sc=%BF`!VrGrgFyvXp=$0f1RQsH-l`P0qyYU4#6al*R- zdUhgUzQA`a-`}Afj{ve%Q4<`h(^JQ=b%*UAN|B6(>wVEUQrp4BKK+Q1>mSAw9kAu!0_JbX}t6u#@C~k=2Huz>u9v)59 z6BM28$*C$x>X%y3Qz9s@I3L9WJ4djz@{^?s^N_Dgr)S?@_s;twWX$6kFAu&ugD~tP z)PB))mV$D^IRzQ2K?sa3S>2!TK)GBw^;?6xS2x0Cvu~0Py3mgo2(n?Vo`->R#wiI= zX6s8on#Jv&6t2!2uVgQlqo$+_E}3ilHNOnn^}C`vbzG(@+#Jt!P_H6>t1=?YhRq&e zWe<;@$wst@l_nyx{Iul5j1w&4*Q}LySg^JGK6^vKEh)Lmx1m`#=ypl#?>7N{oDM)s zVrsB`Uu>0&je;=B(g!Z$J%hD|88yyl*UV8xAr0zL@|s0kk+)sOh~2#X@; zbL~cY5-uxk9lSbzngHLOYaN>Dn2Nu}&H zjK&0tLABtploVn;Uef*8*wUa-LK1$?>JC#$9CXQ>;mUI2fqYXkd+RylOe^5@gia5C zoaL8lufjp_6aFK?9&uxLq{aa}Qif%Gn=InvSrH^t(jM`aj0LzqS6>`I)DsV8N)mWs zvbABFH-HI5eDU(7&So{AqL%kk5&0_`QxdCI@00oa98$m&F=xptmKeStsOp5h63<*~sA$=;8(vv+pAk zv7Y88Wfc)S=dr4<3X-z+(V|272$*tnXW&5yjJC~bf2LAFvj51w7@@1^D^E$5?i^L$ z_4L%+^|gvCccT7Zv2M_XSQy_zXDhmevuNwVk|YdSDUG_e((g8=1I_e_*RF~1`r})4i$Z|)}((rz_2-)MA1%^^|YU{4a zcjaS$6{9#2(#k7sN3HME4O=>dg^#A>MD(&+8E zbUv>_g<20JKWG}}I+E~GYut>LVYoOuCt)XynH|W6(*e6W&wj8CS@Z8AAzp3b1^Ahy z|0Z``8GqH}aWnSr;h?CZVE6;^^Bd3PF@n1DJCN$gF(tk9Yks-C%c}%QFz!5=+WkWM zhL<7qemUJDXdeWYv;|%j8a*5g=KgqkbEsrwblyb2j>LaK(8OK*)ZHtP3v+^3wmJJs z^G(rK+ndHMy^#egzGAynmWM~0q5cp(S;f>7M|oDqd~#0`hU9it`PFc9*3_DXL_Dz{ z5h=sy>9@cLmyV4*f%R1QM>HN8h9m41Hlod>4$jh?HU1jRDs{^ZmTu2i|3Pi?n)<^? z_-t_6n$0!#+RgmM0I+CfGjJAo5FVX7?f_JCK83V=;?MPSs~X6pusvMtgmE2!@_cDD z34YPoK#ptzjrq}Vsoj=P@Vq+GLggjk(TbKm?DrcvT^w&YG+d#e$w-FKuJu|wNUigu zQ@vH*{5~s1Gj5z7|ERM{S&=uY1x9*qo=sBYu^$#%!K>%g6CZm{`9y#DhW}4bTR!S!2zLjLS$(>%YgTR=HZuH+I~iCYb6syE5@on>Q1M zo}<{Y@om(i#Ai`cemgkm7v(N+ravL}^1P$}t9$@I;%j{3Un(CFsXobS)562vxuRL} z`O)KhBBHl5lEPbfuBox>cR?9uO*?B8!EyUkGa^?07ds7jdaWjW*|T9c2ao}*7yOba zcF5z%Zjq_)%dYHgN2P%D0wXBSS$a_F=*3{~Xgl_CJ7S~S$?h?Q3BUO7Uz~Y79UM4j zUaF)??jboiG~+J*V}Jklt6rmyJ(~;f4yK`9Adlev z1`o^QN}YS-_1pLF!#ZB&(5{@-8@_(c6CYJ?qDPrMVU;a1YXk2Ig*XUou)oCBGWe+V z?&se5VNDa2XN3ZA=dS4{=Y@8RYqlS8>bBl?^fTd|YG7ZRfnj_Zy7v8PJGn3vj)CmZ0K2sDn zn|b$s;W-?a<8d(ONJ)^>bLa2oSL;#$L61X?-NKQ#FrJL-wCT(5&DP8Ejg2Rh z-NKmWaz)`kYwCT0`wdKn`sJYXOQ3(a5QPg_`TWl%9O>@&l?v&&o5YO5UiKwETfO@V z8%{K7gy?Q{`p>D>E;X>pAydYq`I8*Tc=w~DW&1!rEIe!D^ze^?0<0M%f!jD_x4oIa z4#GAIf}+qEDd>h0!=+2Aabgu4b7gOCcborUB*ed>$N-Ob=OGY9JLym=>a%QFG7+@J zlVD0H893Z({ag$k%>g)7-2Ii%4*&uy$)ly&3$NbNP~skfD1RM0Nb%dAFYRI!1ZCIT z?bGSjPO^FuOa@6=;VR>zj0egIYm==HMXHXAow^i=aHN-$;>b|{ox=0OLi!3Y^78TW zgI1P*Z!A*4GdzZ>Kf&_o8JdT38e{dX>ij2!(3m z57>8#ii)8(egpH{J6m&S+3y0>Qq9%T#Th4A+2?AnMT}N`fVs+P`fXA#vq3uJ@oL9w zzKDZ^Z(sOg5$IzC)i~u^;1xOv@+x(MqS08|)~+LnnAJCL7y)ROlSOIb>6^IQh+fi; z_oP9a9~mc_>A2CM-3J(rf;3t9U`em18*esN$L{N5bVdX^Bg2=uMDvF-sqI>;0PAL! zeGQHD<6`uZk_{K9#=^2yZ^)2VdX`B)fj1ms!h|(96waU$EyqhAxmLd^!p)oaFvsF- z%-Cyj6AxUMTTXcyNhMmP%10!6^l@L(+ zXk?d_6atYHfyhHMpK+cQ1>pX>4kj=|2#<_c(R*(D`t`J#QSmN}L-nz%l6BRc zIxRSrLFnGdKgQU*eIoGOOTf^FUVCKy=?hZ{StyJA#JtY@kss9OB|q(wIOXz#mi1w` z=pnpxI5RWj=y2$e+Z_k`So)+ONRi4b?Awko5#2g0UTPH{L17sSghgo(nF3kw{ zPuNjOK3;pL^qkVwB9Kq4k6bc9uTScAx*~KOS)||%)4~zf3UM#+Tg=i1uW$1rx}sc- zDj-e%)(#Zuyae?4fUUuLiU_$=x-bmCoO63!T~Q^1cXQ_uNjqk>oa!QGHF`FPMRJyy z$w;CBJ@xVVO>701)G)GW{=D|f__%$5x&{7ZU%8!J2Q8*FdLy`=8a@gIz5aT}DnXFgLEH`L>4 zF|J1Gy(e81(be3^8tt86gL=x`U5(PWp@hWzYuv$~2+34T$X1$ItTF=Q$2nV_*Mq6W zJdirMyjA-Fa`_W~a6Xo}ajG3o>j-lDL3IL7|sj7&5XX zxOV&;D6Aw-I57j6A44J%k%(V$V}3cP`x76Nx|boG)+BXP%SsO-C3KuX!$}x`^Mkp-f)u(m)Q{ zI^`x`whSk@V_KW)F1wSb@uW73j{-_H?y31Ts@9ili*E@(8f-i|m@N}AM3&8+E+;O^ zANd7`wnXevr14ffv^g#U+Vx+cwYNyw&yk=EZwt~=Q|Eom0c=uzKD;xm9Ff1R>Q1W} zX?gZ5(%xJ?o4d@(?x8pg+W-X(yPje!L^-n~RNh3L;A5AaA>Z`ehz*dMd>k_jDfH zC@b5caZ3W}*chwy_P}|8e|G3^SlOSyYp)sMgvcb1e#vz|8}5v*4G}y-4wZgw9nC#~ zLcQIs7Jf$xK(z4nd5H>j&b*(pyD%}o(bdKA*~T7e zSkn+)@2(VCZHDR~5Zxb~We3hj4%%}hFCTz9F6Bb!DrpVX|6ZLVY(y{)$e>3gJZ}H< z^ITt2o#~Br;@q0X6<8PJRWsU`0iRHYAWDvR0RR%U-JL7P=bBE-E%PH^G+E%Ws;Qgf zo6iH@L3Sjmgk~=hD~6lErbVEO51RbcD@zebe9=3*u@Ww4$p$U&>@cIE2tbwH6!u@Q zyB&O5d^Ms=Rv!2A0)FqEA_w)xRii=4eiZJgUFr;a+z1NgMtI#U#XJu=J*NsDaCKte z@2#%w)T4wXnPSZN9ox28dy6dkQuPw!_4Uco-|NL&AsgE?k7Wt^ z07DVYw@qH$M$ppM`9w0|QCFOLr;R_6u+hm4W>dTJu8RIvzqy~rS!~U2M?WH{9^Y3@ z9NunWvxLPdveZp8>=@r+7G=#Y5;Jk1ul^CffwRY7X_Z$ev4EUWHlpN~%mx$ks?_vb zOFfS3R4Hc{U6W5XuhUORdxDN-$i4@3B5HxTTI#FoXpTuzZ)3VWd$b?KjH4tf7MsUC zf)J31zMaCHk5?pe4NQ@)>z`V;I#u<3utdC{P_H>rpFo(LP7)1|{}${C8jS0TOS#?j zuoTU^C2|g#c}5wI5E!1${&TG8G+N+p4k_e$-s&(x59<9NA)wC3e$Vm%=egX)`(!w} z8F6!3myMItBSP%?m3|wououcAPBTy3_+7rq^3fsiVl(bK*dch8AH&&?JY$dLtN7*s z$IPmJ)D)_8oKn01*}eYejxQB{9G0gYmFX8+ilio{F}Fq`nh;j}W{x5)>xs92zpmVv zBN2l*BHnJt82Jns!ur(@9&SN1k^IB`H~OWBqU4&s#GvJ`JkOFQLj-5h zJx&bgoSqH_px4AyXa$(B4#sW)IXOaP#iZ!f6w{NI-n#3W>Wd>3-HkIh+e-?Xy1UX= z_=7yF$acPebD-{J5LWl+wME18M#^}`2R>QvS9PpY1aCl(A3Fm~0v-dNjAovko>1ly zKgHGWW~hdb^*gY9{qRQL+FzSivkl$=*xGKU%!8S!5wo1<=3soEeH?#%(M3-*p!teS zu7L_z2Vb&@mDTGYu_z<&TPEQaAsrnZR^Ap1lLIr4`fBoX&9-t~Z;A{=A4ekMC1Ehj zCPKonq63X*h5I{h>DvViNhCxBRHxWotNq~J{J{t2#{bd+pu`ug2q|-Y95}#Fl_KlO ztZHZ&H(I|-+CaUMH|b(#pS1K{zhl=f3fobQPpkB%C4E*6U28e%o^5t47N(bcYD?Jv zHM?46^l(QF(H`XW+5$44EkUWlXnr)JkC)Zp-`-jCq%s-NjuJ>uI|84H9uI~YZ{V^e zx5c@dyDJ02S_yd%6!(@pl7`bWGo(vmDOa_5k8?F3R|)R5cK>@0k_?VlY#-LzQ<|>R z?mQdvtqL*LF)Vh>u8=Huu^|nEAR5`00L!Xfpf@6xBp=_DpM!dq99)sGA2%$RKsc9* zs>ohGV_Vw3>r(KT#Be%aLXoDM=i)!W&omx?s#phF)`SB>Vf}p1$KH)c%vQB6%4EiP zG?E<42(Wj{?4GyhjjJ2gck?6d`(Tg6)ytFWWi^g@+_wS3;hh>{15HC^Pxt$-npv|F1 z$<{?H*r6T--X#=~TQP!xMrR?=#u_^YtLjvsHTL%RQZwjCTuBx8S8R#d=kKl9Hd&Nq zc!W{U3A(+DTb&F+KbIIMzyFOfz7COUN=lrBprYPh{e0W%pL5#Yd28o;et6yXL3Ea- zn2Cv?h^a+8|MTY|xXk1x-uU;pxJQwI`s%sVZO-#A7sfgLa9~P$LTo(Uod_x645ncX zyS5R^A}aJ*vSiVDU2*-d@!U@9yClhFx56u(;{9}!7C-|Or94Cy8oa%LBLSQ3I{YHA;wTUjio9=5jgFZIVf zujXX0DRy46lx`dI&qxgHIbqYPFotKRJ#U({VT$0R$gpbwlsGT=1 z3!OvuyTBC^)h|az17*qQ56DQy(T&t)Q^Q!xtQIN8b*!{fR87S?XUL!r3u9DA-bOTN zX2lbqX=lH*w=Z`>UNAFzKPMJ;rS?5q@-}C0I;iwt-(DW_(Q;(1WnwtG)jnV1HqMAG z!!XyvGU=-+R1%Bubs&%#DDg3On5$l7e9ADOM_%-5D5~15>O&sk)>3kFDzrWb&z|`O03$INJb%dU_hu1HnI_?GqiswKnIGrLOv+mU_GPhgq^2X~~Cm z$%T8`0|j&NkaUNody3eJi09;S*X=Y8w39wAln^w3F7Max1ooN*DW?wsh#9BS`& zCMY1}%W?UpZO|Q$u?m^6OSLrS_LCihB}4v%m$mg=O)9iiDzmWG!a1GSL44K?F5C#{ zY`b0oMAqXk@Ie3pZ$As(TNst)#LI{}hkEMyqKCN`e6bfDo5zRR<_a}#Gyat6Y!2UQ z8&t6uQEWDfV@Ic@7CsQzX#TL-5+ks(=T%zN(2!cZsWuluOMT*~T@$#9+@w}CWbAcw zRfb-R-nL(9Y)^$fTL&wGd64RR15#49IXPn$UWzmbmo4v7!Fj-Sh0*ma86U%*;qVlI zdT*CphmU=h)GteldhaNo#zxmfO~!uk;@a%(9i5bbvab7eBGK?^ze@jxnSFTo2Cw0L zLtzfLMv$|L!Yo(sFbdbYx-HfiD?!iV1a5XIhBRwS{f$Z~PXT9c^o-;Dl zORGbBAKt#)UrnUcL-B-h)s!`w7xNkLSfwZd(2&=D*K(ZO=ts_LL9G4SrrL@^@wZZ) zxOs%}z4{Ymb!~Md^w8U<(P62|q~Sm+8QY4YfKBR-bu$t>T)~Fx zISRQ!uh)Sh@xyB5#Zt&d_&6l7GdMT~ehJ~#!4F94L33X9gnQq)3V<7|k_uP|WbK;q zU*1vJrUNzq`z8W&o^`+BRF|w@EO~5vTE;7)Ircs7h-w)&Xds+4DejL=AFU=H6&PLX z*_8&q<<;%LWT@4~sG6FdGKiFiN;YE3IZ!)WPDE|woq|R=mg4hHIl+{+*OAg4q_(j; z3NPq)h(zUujnvdv57O8C`geN(k?o&0N+%$noqAyz%Yh(#J|e&S#tvJB_}sedl~sHz z+?swIJccm`(VY~-JX)Q>jPL+HfRBNchZ)s@>OapdO_bjyGDJ1t-oyVUZS_uP^lroL z=-d~q=bI%U*tqbBtl%H_F}{Y2IKU$R0-L%hC52=txq$@K7pSm)yx2&)v4)6&+|rgR z8upXgStGA&q2T-X!3Kwz8W~}|W!dPY?P`(AIr9jG^Lq+g51QzxxN3X3u{4Gs9VCUq z72Oqv4$cu`{jRW~SI(#cM`G)vQ1O9*TV_Apfmze_oAHRG%lO@vy9~YHWv@N zTntNfWMdr=C5NH!4^k>@*G_oiRv1wJ=4u|I&*rG4Uac(R|i%z=d+sa=x_FYY}^`d^7Fjma;ZLnJoIlUO{gP#*lkw&|<8>jEI;M_+0^ zc5#O9k|-+0D%q&7+9j3+Cuc478jfU|JKa;ab<#GVM@aiu`In|S>gfKW1Iw}Jg~EX_ zY6*|g6(3JpK|NEW`#T{Q@V_DVhhd9bzP&f|f~!r<-N z_$xaC5}bu!C4!6f{xJ%ORiu_kg-CNRO+K0|?9!7-iMG5lPABgiquZg}K*yElAN~1D zMkP=*pFb5v07nOusfnf{>;DX`1YX{K|2>4j7}^jwm$WG-YActOoRWgJyw~^_b+n5E zCH-3p;gia`(T5L~rI&@jdFJKj>WQxV@a9>K| zfM(wsCV35iQcMv2tY{Bwxpc;0nz!q`iMs63kw$L(JJ;A{r4X3cs!v;`DMk7WG4w|+ zYEk|~EC?6XkZrwb1#QsRZgBtVJntciWc@sMgA-T>!tH`QxjQGvo0fwvcHv?6p+C)S zN6ELIqUF7|Ezz%E>!;x;#EW{Od$lbJthjT+oGbfSbEqG&Yb3-g8WbI?0|;c@FbX(? zaw=+fR#1TSzIga4DZL8C(D|U#(X-;acyLmHENrOw`7mcgfqjNGw#6`H_bh=R2=e_ccr}0f6uo|%zTO)Stl5sI?1osN(2kD7ZMT$0!394-!-|tMBXhh*9u3s~< zRQ{9Gy>F?yr(BNVD0&Nat~x7ECwJ)6?{BXlUR?rAl>IY?FY~YJ460QYgX`CcclH(+ zpN$Tt?{|NUqhi_Fe0-3I7N9f|^E#=bhQDfJouxL<1+5a^+(A~wt&Qed=X0Kj>Dd(= zyamtpXm=GNaGgJJomY=axw-g;q|?ks=&a6#)2CxR<#r$ABOjobW3O^FtrX{n;(8N5 zc*?z)owD(`d$165-4a$}gAulEpYHEXVYU^8Ob={dMzr{B1qVk@0bxi;Sq{f5f zBvUuXZjP>>iK_YN4e{F2;W!Z;+3`OCD|S6qf{*d-XUB6Iu&$AgpQOa3T(D**@_g4( zmBS{^|Gd9GJuV;X92P5gP$wvtsE#?zG56&9dQ_&duXRdWCjEyt>7Qcg2bn*`(B9h` zHQIey@ZL70RWk_NOZ3#{XQp~lb!k)6oZ-U*_J?pce*?wC!3%I~cT#&6HzDznX$Fvk3pBGi-0@62Wk@wZf@>xK?6ap0u)h&MI(M?XWCQ|6L!t{N+PCu{RXcGE1gdz%}fLbrYj@N^4ZChK0v;3w{9?hBG`p`7u`{f8e9 zB8m(_4#o$5;B}XzC5hxTH&~*P%hu!<3}caMK#?Oq<4fD9#oeFPdH?H`ry;izN4nUJ z*mE7^$HUHhGsqiRW}LXW#&H)nKknZNNWqdfy#bpR=E9ZLr=YC7Q+d>|tK$iL#$_*+ zc(^()-XjNhsPCaERZ?)($-Aa(uCwzqhv||ynn|q>Z+30Kd+Y@_f$ks>PXu=o4j%~| z1};S#X2=jY_~D)+5UBv*zNpz5T&EE2bxBoJ*j9iA? zYM0o;BU8?t$qeRZX`me3#YSyMWGP=nl!s>q474&Y(Q|oS4UrV5f!5Hui`=hKUHf)E zMWj<|P#|QWlTnWkG_!CyH7iIZNcE8>e7QFiw&60WINvNb23UCHq_DC1-OtTgM>eM2 z_>qjJ_=Rj(U#UX5b1vkaxjo%H=)S9EmtI0$(u3kaq|gbOWagV*$vfJr)DaocJ6>~W zcU$|5y77YDjBRXS6={)i1zqQOCZP?)?JE1)s|*e@hyk}nM=L#7N_IYsa5tIQZQ=mZ z20So7t%z`MOHjAyr=i9T#`Lu$`g!9%Vr+hu`|M?D84g+(&d`Zxh;z^r^x>BXBR(9u z=q)Ju{CWNueCaLxB;@rv{L?4X=Oi^xUS)5Er0NLoB~4c#Kl<((`VxAtg9kPh z!HY8-oRO7s$>OtV`ewB*c%@Z|^S_0Gz%umN_-k~=Ggg!}Z<6h8ub1dFm9)V~sm8`S z!A^eXdLMLkcdivkvNs<%i7p6Zw+#an%-TehK?i%wV(eULs}`p8K2psX`irdsD@9A; z&~BHs4c}4Qr6l5J?&TdBKYMCQ$%9M#%{o-R zm*}m`RlXq8G`p*b`k+`2WzZz6-@TYbDShC;%b6x~U4@xKoZ_d>9oUP9r-OD+ue5pZ zYi|t&3<5=rP!z?;mHn=Z-_^_wn|&OoCD7$hZN3J+he!4Ikd9-+*5k*^~y0&bVl<`~6sG5hV(yV;`O^@&AS*AweSW)gj*y<#pV`1JMkj z$?FZ0BrmHs&wGN|F~?u-sPYHlL^Gkt|4c}OGI?JTT?Rffw8`9ldgYdnC$6ZmOO%^* zM;wm?7VR=eW1Qu?E{Q4vJ-O9uh6CB=P{M90XVt^+PaY^#hziDKbW)M9 z?}g2mXBxe}m2cgiFR0!4?>eN8vyP`So9a^Jo@aQl2YM?<&q|pUz+UX~Vxa?08ixxP zC%hS^Kfl^t*Eu0&_wqmmRX^T&>4j)NFfBl z7fYtHF;Y!7Yn`&}eqQ!M#mg5|;vZ7j#m_GoiBE6`U{?8r6i_36%=0pkt4rY|oEb&p zA-waHS17E7xbTGY2HWuIfNza4G2(>%&?HZq1^lCJIoD<9y`%3(PC)LTzob1 zJ-tjDv%do$0571oiAzB|8&;4~-p~)z>3g0VuyN>m5_#> zo|z`d3r`m5F0Ll?jtp}5{WAKQ)K(~E^bO;tSUrAQl#;?C55-!R-3xAGr-h{@(^>8< zvjjz2GgE)#%}So~)O9hx9Bb^lB%VTcXYoq2=(YQw0xnZ>F<3#GgP8L6UQcORJrT5E zVvpl_W~aN`^_b2_JKje<`$KaHQ#%w1F+;O1ilDm;%1I2KhT_guIXYtw*--iu1iiv{ z+_W3|yXEZhKgImE6mPbY%GdKc?%Op4TVFifOWsxXyj7R@+VK(%-{p|xyp}6qGft@2 z$RC!)>t=&%_kjZ+-p+-;H|TW_qJ39FGep0OFzB)RYMsJAAqr|OHknGMO#CEN7huIM zK<^Nj_O+fqoHAKDi;V9_)Hze?_G)|};~IuA(*OL3{eY60Ss5`>FRFBPaO+(0`(2aQ zW9;Fii9wXK0=KS$7jfMpjxw<>Z2?9>!o1t6ay~b)fy`GKvGj|dt8eLeh~2N) ziKJ0!LnV7P10Yv7e~%OEfr8PCkho0H7*gnD}-v#kz#zJqA*!@tM&KrSWQ=#c{9=E(X*!Um)5V!Pli z|2p{EjL#Pkp@9w=?N*W)IaY7(WgU$=+*dX}r-MaV+%^97f6T~(veDm}UxdwTOq>1a z)be>J1M{u#J{I|VvtD4}2&nHyof{vena&^dp5PttNmCzRUsJjt7_&Z_<=8IxUq>c7 zt$aUr@9HtQEWZ=d4@JL|__>W=CxL(eusM?#(cgP6 z_Geby1So~B#&q6yJ|188c((D~sr@gYKWh&U zN*}?C@6Pe%&$%(kzPU+m2SC96m!ydp!twbvXLZz|D!=(R!5G=csFYl@{X1Fx0U1W@s*boiR%mAM=*_aDcf2#Zs*cc=|t|D`=1mQ3$~+ z7JasL=l?#||2({Kiz5nJT3XW3ee-OJ1gjGs^rZ7z)b#vTC)12O)R04BKv4OJ{sh+~ z>fIVn>fx0~$X~w3UWFw3$xp}hz)P#LnG6gh#43r>Qqp9Y3YT##AKQ8UzXSaB4Tl#A z?g)kgeO&$@KmOxSmhcgA5TawO6!-F;SET7T79qS;Yirbk!G2I(+`n0}f`?;;g@qpr zoN$OOU)dr$bQ;M_N}Aod@ey|+7(d*cT1u^L{mZlwA7c@rftIGqJKaC|(AUNsTH)wKp)e_X?2jVub@j;7u&n4FoI_=m5g zgn`58o>t19kH@!o!AKx36=on0;;h6!r|o|Z4L3#VKa+Qx^BMl%Cw~!*@WTzjC}NT< z^(6p+ERh}9wmAr$vwCqox%mIsyROY}sfEoM`s0NEhZFhVNBQfyxJe0}kpruRf3H~m z%ZmTKBL89NL4$aI4C)~Kr`Xp2W>Ejz=>NYTc9$8cQKqRl;h(tXzb(UGF*21o; zpB%U}En_KwR)s?es-qlt7#QgkM*jV|;)Kt=eILg^y&sI;w3+Yd7|MC!If+&Ud zY#a{Rr-7rRqaRa>6FQE!FhgeLZgAVav==chHPHh;tCv3RP<+k8#WhSZ{Pg#3cCkpU z392jc(Ils2(B~$T@Lo#16UWqMFlzDUTUYl`eVVHn%6R7N<@(nhSgnAN>GXhL`5E6Y zLSm}PWz_g3GpSEqO{@tWg0+IB#cJ5+J?;0&1u0GXIqxc4+JG@IaIDSwGk>qVW;E| zr7b0#`ZJ}?w?5VmcGx+*8p`~fjM$7$asSMuNE#s*KTykExLyGpAW;gz}EA9h~$UEiRO3TO#Whm`be-gJ$ucD~z zD*4`C?+VcA-(kqd=s-$@&xJhU0Y&;YO*8QNab>77i-9?UMnFA%-EtE>*C=JfWK<7l zntR-O)W-jz>np?BY}T!VYl}2Eg;Kmgao6Hnw0MEwE~P+l3$88h4yAap0>MJj;!w1> zdvJ#@uk3U7yT7yl5w0tFo|${*o?F(e_1*&!xAsy8zV0L*XG1j@0|5L+7ir?|hGXM% z#08ZHGfWoQgV7KaOM0@_Opok3)9ELV;~PR`#qUYjZEG=kvA8v2DqYD~XId%$nkPQw zQW56o*@>ipIyV^>TCdr}I|Uk55gU#ez_LQ(kk}WMG3#(eS1EK`Y2>0gU%f`{#bb3q=f6gw!!kJOcJcZg|;}kgUd@e6an3ubQ5gO!eVIof8@AM%44D zsqU0z6{bhQ*wCAVb!}?`tbZjnGysf%=gyLPE%{x)_a_NBn>%>X3OTQ5O~?ylczs&i z|2gvDFvQ4lsgeu6(TNyf-o|bDTl^CAeGOUNnSc$h=5wg5WHWATq+gbJw?q%DoXh@s z3c%GcC2lheD#Jp1Hl0^A+`b6;GiyyxMX|3#5T_o;+q@K4qR4BI+bNSShja_Llp#~V zZR%?L_ld@F0gS^_BRj-7Kt!sFDXXH3{N9#{v}aBtF24r?m5zK9c813j}m>$Wq)9dq@0p>}F38ZkN=KcCnxxQZIe2+UF0|FD4;^kliRJ zX)rp$uHxzOl=;|gY#=TBpFAb}=aQ`@1ikzP`109DG9D%qZj^VA7VY+zeocPR@V^}N zt@0MliSbVeOPt#ZOyrKYN=QGv^T@qkJM~G>m>*g?7Hg+w5VgK8Jui7UoK5y#*t@nj z_Ft-szFmmh=-FEJfDU^&P2V(&$6IOsY%^|~yjeX;W%TRaL%DC$d6@JrZ7&UOHzOYu zB;DJ&e!jQ6CoHx!eg9y1R2IEhdFfsu?ndWiKRBeUlUe!dvh!JLsiOp_ez#HD@a9M?@(b3l3^*^h4C}%x>`CJZvzT4yT zYSPuEv)@t`Tj`~y|7FRLXwK2KhyQ@Q@21i9TI*F-`q3M|-Vav{=RVX4WpNivGsPIC z_3fUww}vBpXM?>06WH05<{49)e z%U{n{+V0J=;dkl%Gr`N@`$@0YnuopSNc-A(_L8sY^t9W_(w>p+bz_d1H0J{h05Afo z!MhR)Go5T~o=h9e!+wP_tSRiQDv$z1>|YA$<6a{c^5gt{HLthd--}`_2$1<|pfB2~ zu72JR?RxeFY5^G=2Uz%@k&7(HA3;SB#+EuyO!aVPy&)TI0M^MWYnq@aQ2shc+$KN7 zP`%yzJ#vZT6r#d2OC4dIgw-dzeQ zoKG5*zbsdV+`Dh#O3D)Lir3*as?KyPXqqHgBJA#B7#HQ zR1K}g!fdQ$`e=Fo3*GZRCB4^T^*RT%$eSfJ5p>*$gGPZ~y&uWKN4 zEaxk`^`RUsA45GY#aOwfs~SVoo4r`P-TR}}1l%G;9&3w!f0}LwDR{JYjkbU-tQPO4YFy{vJ(wU4nP)T#Lh!{3h;lhYf@AZWy#K^u`$q=(3ZKC!PO?#dnU@9Xw_f77Y`X8BF&srEDsQz>%~8LOip~P$V16Ki)UUD+zO5ZXEk&DzLJNU$*CB}H|PeMQBm(D#$B zZnm0tlI72uR0jbmIx69jH}Iu%V03hJd{&kXVdY+hMuWVIIH~Dt*sW`(IO$LC7EOvuxZz_8L^tjmbpg!kr6G+dttn*TIRPZB-XTb& zd#q@S_ZI(}cgjG5*Z?v>G@Q@t^qx^3P-p4o70T?z zRTRBauA=(4Gd06Q0;4GUiQKOcY+^-xw8Qr`C?EVXuQPksn-hUFCm>VQ&x6AIaPhD8 z?oJTE*cr#6waKqNfF%cGdeK?5w-@+^E126Q?+4%}FzPt^pKki!KjE_c@m}R{JpT=b z_0PrhoB(-gYbHIl8>{{T25#=3!zNS@$zC{r4<-}^3CKno<@OPuj6s1(U-_DlUF58h zGyiohG8v!`pH0fmG&&icKltNnIdAV6`R{MZvLM5=>gqnOVPt`CGa8miKR5rld~wc7 zUi3u6#VGpk5R6o!!?Tx^)ch#_uYdd%J0XrRgw5Zt@&2e#DYS%4D38eVS1IKq{cB^8 zwqVksgEp$fF23c!<18{~mAwY9NFkKaG{;V_h81 z^Y^lV;G#=vdJZu6KV8KMY9HRz5kETH$Rk=6X!yf#9_b%T4Ss&=Q zCwTD+H-}DRP{r`^+Fz}UHlvj6I5~#i1r>k}h@eSlc{~!AeSrKqDl;^sD|Jf-!!_+~ zXoULQLF=GyXUFZ%e@#+4?(wTp+z2Y;X!l#hUR$?Qo5wx+ZUSJu|5_}u64HRS_%DX5 zNqN_NW<2lA&q2WD|H=L3-*jA54pVF3ALsnL(f^tE{f>}mOul?g&?2n)J7O~RX0LLV zquA>x%k4kw2Z5hr0*-WLFRs9Q|2{|mo_?8J;l~HR*Z*D$kBEs;$!mMCwRUi*odVMZ ztWYGblr{a_?JBbA;zu>A{dXh(`EI|TA;m`i%ZdMI_3qC%9u-C=BL#d!gnjk(^?9vp zmQ1g*Ew=7rm0W8SkK#p#5w|-p1mY?$hyJ6)0H(zMP9$Quu*MO)i1F`!@ZU#4N{%{S zY1B%-yITqQ`t_@G@vgnKO;a{0;HoK7D)@WK?tit>e+K#g^X|Av$Yi~-&+*u%tHN5n zFCaGDijs12ayq<+PsC8c-k<)vN&ab||NYbv|02G|?sCz2ttZC$5Ec?|%;6ya>R9r> zFW`SS&Oh^J6KjG#0oOyx)I|P8Tjs2HTzi&%t+W!GGroS@~IaI8`$_dQvTz|s|ixaL9froI1(*uaDO^a0;)>-g`}|Fe?e z%#Td=>=Z}xzMi;6Q%{dbzbKWiru1YT6PFKJT`-;Af+;A(yXYeJ!nt+B>$}&v{&)9- zbmm7TMax((6hPu*eZ5s9B8hA9{Gq6JN8YN zbXAHX^8l)_lgpw2P`lrbU^qcq>EukzUjPnd`vW!1>L_|*aHU&`{#?_DGTNM~M^#Pz z0htH4`sPv<@kyZ{IJ-SevvbiP!;C`D>Z!-A={=jicdZjD%S8rh+}6g1+fl77d1&j( z4aamx;74!!&*Lw}n9f_M6dcd4QnvDs0V4~OnHvbXLWP<0{VjQ013dYA)&FBRhdv36 z?kS#9f&+Dt0!-P-$Ks zC#AT{OT*GC{=muTor$jf*;-|ZUk2^?&H;?N2=-3w5xy=A(9~q9CT{QINw?j)9CHju zG#3+#D6Oc;M-I=Eb;m$mp9fI;G3>kFee4)WKr@HZYOplDDbr*lu0Ts zox^5)Jw74f*-6N`8hy_tLMnJgUn)3XsZNg<4NX%D1X{_BJ5oFE{ON`oN{9qjY_&d2 zV$q2XjipGjJWIJO{%Bc%L-AV=nK}VIhcU7_7^Z&l>=lYQN9&dCvC`c0O>8&2 zhf>!ixmekMViXxRyJh0MX#V%3bHzp?`{zL_+>p2%i4kv;mSlgv2NLUaG&q+~cGa@_6u>sWEFA+eIMN zLlHLu!enqr1|(Rgfn-+0nOL`%)c8)KB(DtxsL9DGkZFq4QE4XGU%kSfC?*QQ9?J~T zAL&#r_`DMvx*PX}ZW;3ntz2wqocM!4W+DugR^$f#`O#$9*79^3;oZcAAv2QNOOv{u z^cwr&Ob&YSC7_t-9%*@dXT3IdmXOSF+RK7QLeLtb3m}^!_|8Dn4xJqhZMBPAj-R^c z$|7eSWZ6SE>{ z=HN1@xfP?JIsGzTac@5BA)W(^@7Z%zGwpc~#YWXtrKJSy3!qSNt>qAxSm+yjsQBao zY3vCZo*U1{uaEn+2%ahy|E7%!$Il)NDWM+5cY0L4(SqJPCmYWC zdw~d^gL#qnweA%gIZR#0b#-(>#3Yzv(>L8b`i)-SFXCG#z4)RhnX8oYwa9*v!tWvK64r9$53KxY zQ1kFXD)qfK{)eJ35;Q~gyHV#f>u;YvUOV|O0$*U#acx;Cs(&sEN8)GIdRXa_>%wb$ z6paD|SoK<~QrbD6ZP&mn+V8!<8^1Dst)ZNm4X68sC3@sDm`%RTPBCfR$Z50zWNZE z9G;5j)^Kj;Y(t#zz`TQE2<^C)nz2G3oovS|*b(kY)VI`65yb@94uuo5Q>9ut)MX_?|Im@NH>iD(vb^=qNGeM`ric`WIZC zhr5x7I5j?xK(egF#Ixt6j+kB_MqZMcU5HET3BRO89GGatc@Z8_-aaCtvX~Mq)cL|< z)KthKBma!G;kqwO&;j-rGpw}{Tfg1LyIAX}am=C5P$U5$A|nhPdL97;Y-6U)Aq@Cg z7>2iat+w*27FLp@$KLsCpF<@mOoS}`_jv7Kqh<*U0&H*zY4mSX2-?-emNI1T?kg6l<9bzX$xF|YFMj`QjMAVC@)#k$X32}a9W@nF8`E}!m;iRzP%Hi#Q_P8E{ zcVcAFl{XP+m+M+mxzu>uyKC00dNkwuBA`l`r+2PT5w7uTTC zF+sxe+e=DTia}dhAHC3eNpnjU2!DhVYO~ZQcw{#%X?a8kW>6`@Y`z54d`QZ)dyS7Ispu?=@>u$N{&`5kxBK(0fEu}?dd%DWNi~wc$-SjK} zm_$JmmFs8>uDepJm&hHZ6D35~#RHCSa#Vk!;2qT|Bz!j0@!EV7A5+swCUYb~rmFwV z+$ELWfAl+@2Go2C{7sY2IMu(YGs&bn!Js#Hi}iF zm!3tKMBw&s4rNSdF>+5NC;Mv8FHyibd#cn^v&HDq;EWj-lmbR~j-LKeq^=`@WCW?p zU5wpf;!x3#R$hyj?f;Pw2i61y6xQwNlP+QZ`jv8^`~kYC%OTz;>0KVMc@L#P zlANS1tV$&5>!o&j`gn?PqZgxhAwOZYBO*k}uLgb7V7X>RPS{u~T(|(sq2!djXk^Tk zhuX$Q1wH5t@QL}`30dkD9b8Z*4d}-j2fI3YK_-HnMT^N|nDs}(nICeiba=Rg-DY&Y zbE}OJ__o40G$Cng5N@gu>U@q4@K`In`)U=03qUllW@d*>yf0ln;vD>|J}&Mj@;49f z{L&lmjibi%KRs{9RxLN?--K|Q*q&;ye8aIC=8iMoJTak1rNuPL*l3N;>z+S?Qas$L zKGLnLW)N8>Cx_r{y^@-Pz&dVMZPsZ!!0!ImuW_%C2v47eAO$(8HWF-aZ`V0D$i-4V zu_}_!dCx_=f5Zil=maCs@WM-ca-VE8o&W@vs0w(8DgABNZs1XuV%1Eqm}aqpGjdE> z@$I@a#W;f!T&5UrB~v+u61On$o^#>Z!!|CH9e-QnkXYyje0cm(S_^7|iMW~rXzn7C zUDdK5nZ)^jqBI{Wz6T#Rm2~Nctk=`J0{wE_C?dx{r_swgsdtq0V=@nyEpGeJDg0i; zM7l}julND%X4!c6p3|eUeij!1%mX-S!485zc~?W(qTXGqes@y7e#8&UOZUYx%(<-j zm*$q6=Tk#S#!~T4A~I$Hfy)R*rD;$I?m(`8wwD~hJ{(&Uk6PQD^ok?zM2^A|QBseL zRJU50@Mo6l6@RRKoDdRm)%NTg9Kb^CcI#{f=8esPR#iyYckG4bg|*vGLMYR$9D|Py z?g`!Ahx~0hPsPG2EKmMH03c*a^jS5I#06S8JtuO8#*CY}ggD}2Gpj$oBUk08DZ`|a zYlJcaY|p99LA@lEzg#AiMJBuF!SgHE}QYve%oI4GH3@cv+Du(2)9R# z30k?g(3xS7P(m&HMqwgP6+%9o5pM;WQD2wMo38e7MCAe43*=lOG8tkQbc?~n{MkHb zTR-b0qz;<*IbU5jwjx4{8H6?6Z_b>H&LWweUT0S&N+Q%4ilR6TobDoO?3)$|hj;FA zr`h#fTHGfg2&($7&oWWwxTCiOe50=Up3WaTid-4b_N{;w7N&hkmqtpiQ6bu5G-y{F zb2rsK*W=ahL*z0Hx-27yKF>}(2KoZSQM$`<-(>RPY1mVX9ovnBHu>D-3Us z@+b>5O+_}rlr;RFl6Z)vu@4{}{&F|Iq*ErqjVQ8SXskf?m~OlGeyY6&ZJ*vV`^)=L z)onni)>t^d7{6tEn00fIVBKd`E+da48B(3al#JCd(HLRfs&9_1#(pQq5pKtore~ov z&qHm`&)H;i$c`Ygj6GjR;ks6~24=pZTT+G-KW?mrBiJ`h%f){!a~@)R$%rGvz>34j zBd8+~n$x-c+(0M7eZkW3$$LHOdhK4|wNDAdNzny&vY7yAwBJwC(@V_kaxJxXX<0l8 zZK@`E((7tr`aFB&$@-D-T%P-h$B1-m!_q;z_}x&L)op^fsXUc){fQRwr-&J+2BR|K zO-j|o!Ip4QT{z7-pOwZu+5BV-H+18$ve5E)Nh%z$)~(wS6|OcQ(Cbn%x45Zi>k8%@ zW_zhu&Atl8^wX^T|GJ6gh+S7!_XGHJYgjupD&@5s&KCkqM0?{V3a}CwM{fASC80+_PUrKK_%Ovu(ZH->o(o-2Eylj!e zehD3?s0YdE@f4W9mDe#)k9=|l-F#S{&9SLA8Q~$v zzG%68j@y0m!OrW$+Vj?!NJzeo3@8#8RsP6v!3y0Wrc66kLfA6=h{5OtlT{FBR--t2 zcFwLVWI~Q@fKYLEk&tHo*!{tI%dbV$)v^X?^(@*E#x4+d2^Cp@egDWjV-@y62II>Y zd0gU`s@>svT6;|fjl>3Ia4c(c|7|)8j=1HCChVHH>W_*K=Eti(EM+AfiQlYPyzmBc zzJ5JjS!nbpf7rRL0HwvU=`!Hmmu5OuWZsv~zuI1-=8ome9=Eoe_{}_V(7N1QvPfX^ z){JL-lu4|7Nv6BD<(k8_*^1nz5cxrNGG=1c<>+C5YsFyct{1)^H4<9oci=&&YQ*eS z8E!N#m#CPHPK^|+EXYs*=N6(0@yJs3C#;L~pfaPw^;9yKfRMO2omPr(h&qnID@FIy zs~hh=`N@e*QaD}|Z~I2vy*ww=E+4(}-c-fj9v(RzUD?YYA>}x^47#T0dl*EyK=~cF zp<%p^QPcW6YFcBy>uBa}n^|PttId?O?*m6%4ZmCyLjp<9$I*XMaCb}IT&v6GeXF1bC8T%-c0%WN0Vz6j8yJIjZDat)5$bD-*c#j zm-k!3A!nNolHbUGbSl7u_2E z|NMaePKXukcVrW&_@%P)rxa6V``?FiP=$unj8ArQC@)6o4ZY;1WkohyrukioaE@8r zbd;T=0c4&086q%}H3TIbm;VR9z7$DX)yO2Kcpgv_^w+Wb*Q)lHMWf&-#egD#phB%q zMhf*rR~5o?&0a9GqQJBuFOUa@nY~82ZRx3+hcAgQYrxPamGXo+d!Co~m-|~+-021C zU<$~`!ei_j!&fq@$z)o6V_NFM?)$$T4%iY`L&R3eB2Vu9n9oH^Vn{#meDz;e5Z9mA zR}m<9YW*AdRznV7Ia8otQZk4DR684g%8D*+Wf2`va)8D>m)I@h=&}F1RFI>a^{Uf1 zf4CEYFapX>(}_SGjeahZjtIs$6pN;mm8qnKhOyAFl64`6XvCo7i*%8$`hJvI>!r+n z3bYOlg!ja+r^9HbcZ|$5&8&3<_RN(Xy?58Y7>kS;ZiHj^Fb`|?ByuDm8W9@Rs%rNk zn;<=Z8P_++OfZi%UoI8(*KimDZLmQbA363~!=>22cpbk-r>IY27O6Yy>l$bH=RoAA z!4bOtKWP07=HuU%j*i^#l63Vv*&8zB*R=8(r-D2mEW#S5S#`$-wEs1D+h=7Y)}OuwL2^~`+wCQsa8eAQ8~Eq<1TzZ}i>scBVTk|bKZ zV~Z)w`U%9E0S~%9Ui4ExDofKms%zyg1n1Rt^3ZISum@ROaBmlFq!rME0<0#!VP*}R zD|&Y~32v{Z>s;bkHg|ZFQOd7$Z!$dU82un{6IQQYxtM}{%xO(}q!oO1_vF~{YUM0{ zN8eb5pK5v8U1JrZTP!lE{@8#?c$jWg(kI-9eq;WZDb)N`G4Nv^+~tW^RD z*bi34Mq;UR?9NcuI0*NiUTvYZCLmJ5+NE-f+>zUhgZeE_a6y}mjLe0KU=NFoLDkMo z0K>7UHHDq^Hp$-eU9&coDShhZ9(`(Z1*5}H;t{En=1^esuVP>9k2$xa4Az8-Qin0q z>V^ut&)X|A7K{_$EX{B`*CBaFJzY_{h5~+-z`As z%-3>_hm`F`I&6ti?^a_t$9%5?8dpKi4xr!_k=FN z2~W5-qlwlg>FhhAmO|Zh{D9vTmO2IVq@o|`5BNC=Y01f}RO>Gy!#++De#5K=9d$#^ zRMD17-Z$`*So(Ni8|Q=Kw^@$lelN`l=ez7g#EI@diV&ivQqyfpTUZoTfM#@h?;HBx zIwlMis=TifSnHu27`;K7Q=gRakC*HIkbwK}7mn$F%hDX~_R8>eO1i$2 zkdrgJQ0Q9%*<4g1ztu$4mx6@VFHV|kr+rt5LO3wZUFjs=fTCZZ<^3F9@TRvP;;b6A z!S0G)M(ctE+Pf3<82%#7Ul#J(*A;MH4!F^<*{DrpfUX9iorbKORD;J}dcuae(ePl& z+#0zEjrSQKZ#0TrWbXI5^0gPQb*57T%Fn$F5TvNd$d08Dt!FSJP(=K7H;FOki1?*_ zqlP%Pkj+T{vwpHmOgBX$FR$~jNuZ(hcMBsySf6O|ANJK#m+{1|Boy1yR$Oy#iJmpn z%z&Z=8`HV#INyFLt*GHV(n>W43Oobawji3=R<>22FwRZ6cO`a6<^v^crz;m$vON4P z9hSbk1Y?zcZ}5La!jc%t=$*%5hvE}sr)aMP!h#E^xVT%kZQ@EZ2NSrHsk?DkS4fP& zi#Pl#RK1vNruQylKibJoOSyt{TfLG(uu2vNPn9%8s3tPa-g4Tl`9xgbdz-%um?o68 zlhR)Hs-jn+`gO6l6SIB5Mr5Q6Eq^Adeg^i`MN8kgP?#7 zm=U9~KAhdEEjK*K-OX4B%1^u}vY?l}3~%eexWh-4qs+_0gy>Z168gPH0pKp=HjS2~ zs&!~Z4Zjf{$t=ZgoD=GrP<5z2jaM(v#D6YDpzqr>mz^Qzn~4P*LzXaB(=8BrLLLs%T5G~lm?Zq8e5(nD%nO?Xca;lDS1n_t*&9K_%hkE9U=T<9%C z{i?MTM=59vI~dkhGpCJ;0m+D%&F=8_CY2TXb#k9Suah`6+aNmGs6%D1&O zxbl9af2qkVV!}o=Aq$_I;m7o^f+wtixbSGR)nG_om{V@9i3;aiML}o=%d1z>ORo(Y zcm}tuX_-yr2V*qTG3ri#L_EuT>xwO-7Y3IOj9o$gB*fY@gUld@?kkeT}E9xTibg-OjoEiz)`zHo=U6nTg^ zx9ch~_T4~itZETwc>IQ3sfM0s&yD?2a3WuMhV?1p&Ji%gRJ$)T5#(SW&xMAP-s*ix zu}Ha7=XdY5)?(0L|0KuyNryM5YTj-8T@ibTRW{=571LjDpK~uaKSam|mCx!{Rp>`hu!$vuU^|SWOrj8T+oi+>GY#|;Is#@hR1Kr1x%83KA_l@4~(IpHg%sdz>-RP&j zla?ONH>%oMj#0`aH07V8+8N@8s<$O44}Yt_6&cfuwGBKxep)kSju%#gP=dMbD%E7H zPlht3yUw0$DS8f3*=ApDk{{#^{QRlXgs!sI8ut2)RT+>isI{ZvV7`KF5W||hZh5C9 zhp+kVd-z6~&NDyfll2H^^-}~#<0;psEwMv_OY)r3$Fz4WI%K|5o*3*A4k7#8by-YHHCoZ|r*} zW%L7(NL3fMg-0b~4IX~>K1V>*`XW_SO*r8v2FIzVBg!}v0or1S%unw&UkL5(b`DrO=9 zdLG1ryHz5H03w6=3Q^V;_l=@xJG9cgbXy>CdNhem@6AAccUu^Kzr8j@=yjB|N-?4^ z1R7eid!n)eubIeeb*kOnavjn{MncWbz-)OuVSiYH|5~~lQ6?C4gOX@I zvl1=@q*_S@T)`e`vUyj-nr ziqB%c)jI{wtCKrw92Va?)F>u*$YZ*a-(z$|cQGo5hb~jl0#M(K$`ZOFt?W)e-mnwd zK2F#gH=m=RguZXN3`6nu2;DOFsoA?qq>^R*ijrxT!-VHV21#b>3jgiAf7Q?7OYD>Ma7@Whq9_qVx!JJKj80b z;$}RU$hjEGY81G;A!&a}!y@@p+U9qTPuwjxX7?Zcr!4Tnw4np>5GxJ>xiWrBi=6L) zD&w!vKM3y(%aFN!8-ft8V@eZDM@Qn1I1WU}=Qh(({%Y}BUMCCLYd4jAh$``jWNA`ASJe-B?>}9$3gk1eXk&TEW6-ebc8p8SqnMe}Oc9rKAFR5AGfr{1*m%@pYB%d(Y!n&L#HCmxnJ^sC_$v5es9j{L~z$)L@{C^6TKH1T$pRPySzuORC@$_0S|%g zoWv7FR|fRK;xC^B5F8=h#fqstJt`{6djlxqv|DHQ-QYL>;`zdU{#(-$(NL>IQnBbx?q6eN#xu|cq;V^i<9hqQ8?mWS zXgrEPG2+27GlkA`pC4*cj2Up?=c-I91P#wLYu1I{E4Nx4#SZIKvV`tqAvB zcghbkA+7fqp{nRrRVYmniF(5g*0Q7iu-?ZRMMx~wY-Ww#Zo(e;;dznBZ8^&BDb3iH z7pVG6zVg7e^1+rsX!-2b>+D51{k)Z4nfD`OEQ+@PTvk2$gnEtsCNm|)P6SoRXXP_^ zsyo=$s^S1;S#Y%E$FiuNf1Xb{uNxw=Hf>yZaw0atb4<3y!yoZH-^=Q^f@fjp`FaKamOS^5_DBkVA|gFO!e%f#d`t8A|UbM*2e zFgw$w-&yVw(N*yOCUbv+wL6$3Uj)bC1)-w$>kj0b)W*cQe?g$r;_@rKG{caQ_*NLS z;w2%YH8>(}1|2ze{?2p+1RgTEqo?CLzJTP#sSeQM zApxmk5#=7QtDdF1dMq(Dd*vL?1?W4b95J_kaB~^As!Jsc&3@_U6PL@w1<*usoHWii zn2={OyMCQSp5adw6RDZ^Kw1PAaEzOJV2y4B_!1!&j0+;nj&i@KhOk49j9)uFKCz|E z0K>XgOLdL3Es>MCJPqS9H^MLRH*!rR1R!v9dWwvPjOUmiBxl;ryWkt_eny^0B9CdF z9{T8jceVz7EWD~up{&dpBVESOOCtmpuQC61W+I_OJye-Lz2pftQ7o>+$~TAGO86o> ze;Okp_-%S3WPCrU7g%QFDYMd=({2`7fXr-&=mn?g7(X?>y0arJW>}1*C;YnV>$b9r zhLbn<^^#WIny!bAY3CUJ`!##1$D-#nYSM^U>zGIxhe)be>lXt8i>$*nYN)09MSkC^ zs1#;&?~^l1G?kN8db4>s0zXg4i+C3Hq?40xj!2hHt|a^5xHY-_T%{uj6oK0!W|id= z_c)XnO8{4dHchuI9(HGI0=aD90F(7axrU~^)NQCxr{;J!-U=^R#?(j6^Ft1h0;1CP zIy-?>)^M^0Q+l)Xs}N(eu#Ea!?Y^Imfn@rb)2*5%Z|8kQ04p(&p2h;V!o(bQ1ib|F z@0GRaUlE!~pa@)nY_AjMHF~BO0$w2^nC=mkC_`JCI^OhyRZJ;wmTb9MCBBT19uPYD ztyOp&WH_J0uZe!9P%MNra#7WpO%&t((D};4XsMeRY#}6+UtQe+q&z=o(x{wq+T9>U z*`!eXez|yC1pW22tkMqDb;C>i3(bNF-C}fy&7d*FL1Wu~@!LDQVmsN|>2f0r>;nNu zFr%p&Y}Y(8A06K%tSJgPWc!U=UGbZ1H_20^-;qH5oQBTJ@WOyV>0sao5mg?@2A9!n zH7Gdb!Rb>_^z~3JeE)Qd9fERF8GO0cno;25qoMAIfY#W#VxiqB#1Qo0lS;Im4v$EN z4e+v?j!{g>IFm=)Y_jVUFM6$!T=2VolW@4XU%FN~K4qU34tPOLsX?UWF{G(N8SM?`SZU1+ zt)1-0T7MKYnRb4w)+P{ydok!wu#VA2zw7l{Wy0G$JEq;*nDx_Bmmi*K34?uV!gYv@ zX!jJ?x0u9<=@h1taaL-@1#6*4oN#nVmPVT<$Wwr&p7~l{e=D;5fdJdYL@;-jnQ zY&R+8V@Rve{t%OManZt7{6l>pjR0VGQNK4ee>=o!rtmyTc2Bq044eR7W}sQ;43!l0 zmQp-=I<`%JB5B;a>!0s zA_I1?KBxI%zms_8)Euu5!O_>rUmgs(S1Z+LM~!ejmi!-6@?;$-NsPFHv0&Fyi10RB z-fOKyysi~6rVl^Ekh(B}f5j$q_{I+!!Su~|Q6%8aJcsNgMG&XHefT`1n|mvRM6~yd zNosdy=`X(%xyPI5WhE~66Bom>S?8Og-HiYDEm(-sUb`V%@cy80Y?fG%hJ}A(k#S1Vp(4M)0bZc(Z5jL0N#uIHr~2(# z^d&) z2XDO;#}vOl#-o>3OWg>GQVtLJ#^Z^BKNFqeOgnqUc-kI@7Vv6QC{mj*qb~vMA%8}V zH!gY-bakw{$Wep`IzZ6mTfw{&fe<{|FEG!T+sgyIq<4hyvWGwh2=K}Sf0Y`EMKRcI zZz`nfVbdw($oDb_w)D8rScsZq5sAYG)#N1xqnrcNU7x(c2x5e=g7;RAPr9gm*zbC# z{pLj!iC^oQY(;9ywGDSNtTa8e`d`QX3hZU=rB_bs2s^0DaJQh?OCNjU19^n;XY)^wi zcNrP9?2NOhX3MujI9uso*~Vc`n0wtC(s|0t!|+UdbTY_F;i7bWG5+vL?yA!;vD|n0 z!l3sp?qOLccXBkLA0pKrAcEO6MRbzG-t?AqN5GLHv7clqQ0o3WsQ2PxnQ}Wn6jQ?W z+qi{Rp@&5&&`p|d#n440tkG$KviKEp82Z%WJAHlcCQcx51&vQ-O#4+~`Mh=Zw~c(y zo%E7yLeyovKiX_2OGFL!Vw6S?llrIoy?qRA!c5KK>7RM)d7$l{B@l=Vu|i&fSsNA( zGZrlc^ixEg%gq@xvvcE5+Plnck0j67u2Xn&WkqQc=NQQQl7vN3p>&`dg;+lXpIbTI zCff=eU8P$yNIv_OFI&_@JM#Y7%GFNo%FdHAB1iAgv6A1vA;d4vUbAH}=UosACy-|2 zR9*Lo->J#!Hi6!BQ)%%9!;V{|K#~32$I+`i{fI-&SB*QczGx>nvezxISa=u|H3{9@P8AbkKQnmAICtVlmEd&5r!Ohtx+6 zGk)LD_*g5}y#xHjDEI^QgA(iuu3w|-%C51$x9j$3E!v65`|r+y3ydE*sP0JNzH3fx z&k@=OHq86UVZZFO4YbgwcqbJy;N!jFc7J+(am*tL(O6U`3x>$J!PRV8`q84)>gl%zcF`*RU99TJmqA~F3wD^3eQNF8+ z{eI?m>(Q25^NQC3S6zXLU1g6EYOB8Pvqk;*b}`LUgRqi!5i7fng_8-jhXDu8IPW^V z1|6Mk*=&qY%hBf&7jA^e`T}J#b&d(<2Il%FMrk_?L;N~21m^x9S7+hY1pKyp5Tqrf zhLqBX(h|}wT~Z=BDT&dY64HnaK^i2K?i?FA8U!QZ3e%O5_KRBa{XPMi+FB6ss4L?;fvC*=4*kmU zz1d0&tp&wmieTW$cO5QtzeKk`9nj#aBS6m>gCM)_oo@D^_Rn$W!qif=+pX6?4^qf% zI>I`^@dJhZz0Jh;z0ZDni6|@lHI*JFI~@6)%fuUJmtW}U0Ci9^i2tTzTer!{hq_7- zz|mFa|MJ$iRxt2@7*?>QF7M~pGNl@@&3qFsw7Lj_T~n^LGe|@wiyVB?gkd_Q>7L!O zNuJ#fS+#Hf{m!ng>7bF>A9vckGH(#MYt$|XX|z7bbpan;$+atj^ONw&mCosQh8)It(oo`=jElv+ z!N0))PaKDktV`b?OC5Cb(zoyLe_Sex&}ssPysU?z_qU*yfn*O$ozw5UtWp(pIpahk zQ2Gm#p_8HAgu+V3P81!u3+#b5+nSp_g_wu z1MeZMl?u`O*OJ%!Lskuy2nc1PV)u$K$I_cYMVcr%W)GI1Nq-2gk5nRM3u6Ftr&bzn zd6q$O6n_tK`kXCY-(<*4QeMZAe0Qy1UbNz48VY)UckKVa z99?0_Ut}M07G1n`oIY5WYz1YP&#$+R2O|tzf$c?Dj zl+JWMUIF2XM{q%TlQ?iK2rem>*VS4Qu{&)>`P1+xR(px38Vj|(nOeaczPh7aKUSTP zF7!_$^n3>kek=UJE_QxO;CjfGd1JuyV_tknkzQ6H41Yw4`?LAYepOVOh5tB-VzgEm z3+@ZLtWAk)}p{)xp5P zE}mCj{|BEb(;%2rT{xJF@*!`HT3Y?f2_aW)yGE<2 zKL9iwD(l0vuZ=l3riI2NZT2Farif!oF!hlQ!(>ox-0Y#!Hbdj#n#P(#YqON&6(@R1 z$(GJ|E(%{7p^~e=98}^o><)d&)wXvmLV4Yx^3}WM;hWs*Ic|Eg)Q+#VjQuQ)EBuI) z6q5&nrdbr_{jc?Nr{^Caz|H05!%K|Q3=m?jN31dpUv6_LVzBl~g-6K1pUXb+4?q;g zQB5H{YcxeXnz5h1r%_hgGkx0PjLH`hmYJ@ypci@Rk4vGE#au+ zi2VAtReoN@EMqT>)60FtbBN21Y82Djr=GCx|`K_#2cH zX5M5@dq5G?1!PwGoVhJ@78-rBt8!h9=ObTR?-~xV5+l7rajdc z#Ih<&c10xJf+^{5%WCouHaA6Et^8KKMmwJN(ItjN9Qk{w1J|Bnsbhw+MgYHzcSzM`ShA5m62V;XVyN% zUy%R#aE=?!N`+Y#)lIJ2<{Zy>3-bOT0kFH0?gR55rHA_luDN#TK8_d1`&knVPpeH2 zVY>|9cW^Ua{*ZH-4~P&#rd&kCkG;pgmU<%dD4y{w!E1qXk6Kd)2z8j`Q0kqvPT1QY z7QhLHmz@l zEqDhv-QG;7Y$axe zZB+5mcB^qsE@nCQZxjI)c?O$}zB-Fo%_INYUqOXZU;D(ySOF_{0xw!|(K7dQoIij| z5WmeL;}0L)RR{?Z3tSW5;S%(!65QiwxTrm!UdoB+E@56yk|jTqm;8!igpqTohw2#` zPP3Qmtz!}T7T6ITY;}+0Mqn>B1X#=lpKBPyEE@^QI{7JLUleM9UlF{fSe0r2{3p99 z`jp7(i5dtOxMmX?+JT47Af~L{t+BX9Nr}?kf8S48Z}^3KRLLCXlHfc+S(M(zuTC-f zYU5E(6CIreLBJ*Bdo$mQ904mVwE$e3ky8yxua^Rf9cPX2)TBxD$aSWsr@215Wk!IA zor3c$m7e#CeFNY?vdDE_ybH4K)_)08Tj6>zAU|25&o_MS5Iqg@Ro-~j#9u;8^NN4N z!2RqJ=Ib9u%Wbqo=nG=}_Ekeuvm(;uep(d6@z9&Z%&5+W_yyC@YKsoLr12kH4CjQ6 z<%P|xiARxQZ<2JqmTdX(Aw#osfg@kIFLHm;jB)qbhwl2@1y?go<0`*a?}KMThjL*f zZOc0%kN$q5BAPn&mk6{>lWeh=4zS3>XS-GQUFc;dzmms{U~%$v+jCl_QIIQaz0>^@ zTKjCpeJ88Hb$gbZJCdhpTP+ciuK^k2`#1gdw02Ipj$By*_W|=3iDxyNlq2Rm7!a}d zcNz}o(0|V$=`N_jQ^7AM4F7!mD}7l&Q8*0ryioa}llCZ{j=XU!%}4|f+gAmOi6cv` zcz_S5L7&|(qv~GcN-TXFu6UPX-4cG0AV_3RH8e(*cua>|$p$_QeAhVrZ`N|#YtOJt zLEvdO<&UGXnP?8r5#Oidua=R7+R6Dpu2fXM#y7S?X09`}Kg+-9;4C&~?y_=aBN1Io zu+AZPn`M@;lKu?zC}f)QhK#H5avjtc9BiAItrPSeEMT%~*0*#JYlE=h< z>g#78RB;o67K?zg>A|gN?CE(fA2m;>;Yxm!855p?;}O@L*zV2k0wbt$MvzR1|teaVtOGSs_q9@)zQy8D{h`Dl)Aa;jg zCS`f1+#871A=cHVJDoRcT6am9Ihi#wY@7@T80<=S4V$)fq!I|Lo&(@n*RMKwvV=|~ zzj@}t6rRJXw-kK4f^Ss{#$0Gdn7EJ;52-ao`N>1=g| zdc%1hj!J1KBz&8ik!SFiy0Y8U{esl$5&4douKaNpTnsB?veJjSn;(p+`*a&|%6zXB zO!D4i2!;e0REuQliA^Rlmz9?b=RB(V6^#Ba{^#AA zo|SWi-DGipu2{}vrxxh|ZwE0CG=%PxiFE3dcH0GG3D+lUX#4kLNK38rH_~qRI($La zWYjnGs2_gwacpNUkU<*=AVnf|0f67}_1s47yjeSTgTCV#**&~@ZQ;7^?fh>winSjm z|D;F|0zdK?0S2<7={&B+7|E4VxRbtDEcm4u61Rc`tpv( zNZe$dFJOYs33|NPfW2Q^IzHSi4|>IZ_Z**=oHEMjT9+I!wEZ#A%+Y=IH!_@#jtP<{rsowiZ=i-V(V}0nxeD_nBiJ7>6r>i{r?i?_ zS9Ly1Bof|-^&T7)92ABCJ_^aO?aT|EJ4NjAg@wYA^T#`h$F=W7ZQj_qePLXBE=g9o z>BSa_El){hO<=msd6Ck=8mxzD%;d%#OFFYSy?K#LHkjEU2aKV3y7Z1qKQUL#A?K5g zo-4-}A#S)Z(l@6i@*9`-Ad%#c(LI82gSV#7HgE8-U$e4yse)VH z-0sps?YI2+QfeRD@WVAv?&7ZdPDO=@BDr)mj~Up^SPEN70xtI#fjMY^#`9rqNodkf z?Dtaxtp0-CEQ6MxB9@<7Neh3AsHUq@#vRC%kt{zQ-M;!hXWJ3}jjr|mw={x`p`oF8 z>147n_9O8q#vxkfCw7Hg9RV3YBVIL!r01==MBgsT(%5sB3RK$J?WyaDHxl0!oR|%+ z_Y;6ITkl8n!@qVnK`)-rsWbBb;yNn;yTpipS3~*pVC1SgWsWUHm0F4NgCedpX_;eU zuAjgv#>L2ci9veX1MN?VD8aV?Y;u-tMPau1 zcYw9xsA88F!fNm5qpTmWIQlQjXH+|1C{U)lsh^Es`As}%Ov*v+3G^OBkKeBdM{d(p zb(4R))({N*XLQrZ69mM|-QRw$r*)bWDj}KT^Ei@W6Lf@14~x^ zxeIl>q*2jYx1wXd0mS1kMWR+`G|Bg5zGq{tVgk=ozC!PTBSg%=B>2rh5LIbO*{CUj z|7Z%|D;|EPuX5N?*!#fC!^JWw*@gy+Bl}aJY+oxgpJ&&JLLJNNP1E=AR&s=%W5T+fOR$*bEGXWs}D+zw(*TQ(ucBpC8P5k;~4`0mu&k+@l`P}z|n3O ztG*}TnF}7JnJ=3$dtYA|>t1ZnJGGU85q@3=uCe4K?ZBjFdA3?tlE(;wiBNj698?Ys93Y|L|F9fx^$3^& zp!sAP!ukX68%D^9fWIWAw;Dbg%me!WS*9VJ5%%ck;Toq7lXtdu-t zx0n67Xexgk`t5PpU^g4C=pUQV&Ma}&ZD0Z4@?EP}fP3Y|d+sI*s?`_v`4Rdr8{OIB zJKJFOVsw1+w=Bae;m4dD=t1Q`7rz$5NO2eJ{9!S|pjZ0^XzEDb^?XKMEb5`^2lh4m z*@n%AUUW7g2--3L`AL4Pi+_>(*6-~reJ)4bVy?xLrS-Q_BoV57e;fWhwV$5;_tP@j zb%AS(98hrOsP_qLv%d%OQQvS`Ggh{(>BPo`KO}u@#uNT_i= z7%>XHOKGT^F$M2a?t=V7$SBWyfLlUmZ=E1sy1A`93GN=3E?1Ljv={!n`#xj2=MxRH z7V)|oHC3nxkEW0XFW^S0lK1Fo)D!J=eCqQzM4`Z?n)@f&-M%}sF)7OW9XOzkUqn)I zPyPEw&ETAQIDhe}a{f|Hcycr76nZcaoj*5X%7E;#u>@E?kLYqlXT{~KJ&4|%+Rxg< z;Mu92at^9B;9o++j$|(cW5`bc>ZxgIkwlR?GQP{-vi}6_{&SFk(Se43PExg+Cu_wD z5PVObZhtBqe~letv%iBMYeK?AR7{h>64Y0@Xq)GXK7Z99Zp0MV)V_LTa4CDJ%XdZ- z9!JCdC?n%pcloK3x5gvKFZRzL%gE9ttp+7U+(bZCuw}RX3+jdKA*A~<>`5rXQ*ahf zp3>9aO>U(0AQ`jVcw%DAss9?H=3t@kxAhSe=dJ0Lj%>2q<-WKOu53%V-jfZzgN?F@ z3{3%r$6nn}{dE1cv$IMX)S=V75d)wkB@}w(?UxHh)4eB-^kft*;jPQe7j#AjT7p_N z+UItyk`i0s)VW(L7ptpp$B)1gsxsoaV*dQahNFS{6e5i#f;t@@DGeP5rzyWYuQI8U zh}B+qSC$18a$i$+8_e-dm_uTJ4tcHSs}@ETlH{;{!Dea-Lq*hH_-@;t z-Pa`Mh?XesZ9b)gjtX^u1n*gbTj6-1OAW4d0dkzlhoQoV+dpe54W6{l9igQLcq)H0 z2u}~;&1pVl8NC60(yS9WzJS~KHI;J6!;C=S_R~EZdq!oGzk}iUWKk)r*;SZze5+ky zy3)~~)EseImBuxKl6PSFxjL=GdAr`z{LBKTD1G@{i3H`oh7dcug62b(y2UZ84$T7R zbs_)9CzOkyK}S@|XFVXhp})Sh<0{(>p0$A-#mHNIB!+#n% zxOsTg3l#02;3O2AMfn*Gl)vUm3Yu0t*wZ;qdnr%XC)2alK{rbv%=ZpHY1A_=r*0Azfk^nbb5)Ok1X9+#UVnyoZwB zDd_uO@VXg2)G%P=e-Cf<%XK`#QXVyqAN*0B52yU16XhF~B@>|b1$AeYF`CJKyQkq7 z>opL2h>#IE4V=w0{q9<57fT-!fltst4t>79LShb4UyXvDFnq!P}<4SD&e@%$*kl8(&HRE;L6=keuF z7Ndps&t&v_mbS9&FP!wtYwPQ9!~wlD5xQXAt{!qCtrR6a>=Gvxag;{`(8reRf<-1? z(AfR8wp;OYk7%D;!#0`Qq=m8}5(OR*r08b42|Cw^3Vw*1YR$!*iaL8$9`UZZ%GEOt z#&)}zgy2t*TC-RThKRWt%>or@^E?0@HB<#@ZQFsT9^AA&tGIuDb6GcfI!9(-bPM zhuZDTLN#`8j$wkcnU-t`TR9d|E}lOb+er6Gd)I5LxpNoM6C}Um>rWQre40`xK@ez5 z&}Z3@M(KD=lFYReY6=1S*O-Ai@J}I$%7(HbYU`w%j{=d|UlvPPb9_&`Tn;j5yF+iL z8slP)B#A?0Y0WP$SSyf+D2`mR*IH4Jawo^rq$qQhn)ec`;9B@p+r*h)ehA1iJ&2-= zlvvZabqy6D5tE^5v|Ud+5S6u6Y0B6pBuNPb5eRHc;+MShetx|?*TEdFO&Vk_64Vy+ z*xTAypz&qM=1)7*YtwfBkvBZ^TW?rQt=8w~Iiex0E;eUCr6Wm&cEf(1PPt6UOe$L*JNfa> zpJaV180vHWSo{4dBfU_Z#w$J7bN63f;Hg@+X#kn>JR~L;?H81SF3T=DYq|`7!CGOb zUrC?{^s5Q)MS`=fVfcs!d$zZUvC{|4_>F!!x5 z)l4V3EV>&>WJVnC@20I%k_RAOI+PvCB;1emAouBu)|O9yBHIk4Z?;PJ!;&gBzg)zm z4Dq&=2MzZ4%$izIx|fQDO9xxpi^_E>67uY8F2g%2Id=<$&qXKbG`>7Lj|q1Sf0lm4 zqS;J%pUm{bn80y0)kjTm!02>%nS)mNhZ}N~=k>>GD(xXzf5{HBbo!Nx8TA zx28Z0t8pUxx_*^+pQ7W~`|Cp~uDH&Zfv~#3o*QqCo?FYCLy^S(l$#~dJ~;e?zw{r^ z?u(g*EgE2pY9`Eo`;R?-$ycZF7?=4k-d5!t0fX91k{_8}=R%Nn;k+3hx&d2F3h)i} zGebB88B7e37bxhI5u*z zrs7b-3hN|c0UC#bH_rEp=F`2?62Dn3h7_E$gy`EVV%e$1cdA|95w*mZaUUwQ@as&I zP;I>z_*Ar>2Nq)oyBX5zeb*|KT%Kuf&lk&ZQLzGwMzLGHJADE{b@_sZx-Br9#jNwH7QVYfPh=HxuPqRxwR@#q;dA7`Jwqo4|IJi32iVho^2z7P42 z)x5vOmcV}S&#RKKkP|YA6JJ%79*iv>los*PJIVN@|JQ3MXBWV8sm0EVHtNe9+fz5w zfr6~uI6^G#2)DjUEW=B|?Q|z=L3w>wC3A2EjJwqv!dRx!ZGk8dH@ph042~FX{A4Ht z2&y#pH8*wpM2k-}8uo=7OqNW@zyOY&)!fI6oiVHFJ-?W#j6PU^O}&0nl;X@0gtv@A z%V1z4ohxL}o9x3;iIAgXPOJ#egNMvSx_)Y-)g$*lK5Vs1)2?M15pM^CiBda|AL6>O z9B{k2->>RIoqKT29K3$QKM134i~cxg7P9DNl?8LkTS#)_$i9@TfdrsTHUHR4paYnF z8|eU0&mqn5V9-KcaiR7}`+P+Wu;U@~ycK!tZ(u6k{M=AymuH_;)@{iLyh~bkS&@}P?v_f^-`sn6|Dl&C(ptSApF}{@7Fl@$zA$xgoI3Le6gu9h(1m%6S{pQOF z*F>N~$R#>8;8`SahJ$~JA~{N}`ZS(#d?x=YjG++IR?l+H!83>;e=5JG|wV#iA z`DWt?Y!P2FjWAa^)z&jEaIj4Kd5n9$cUU`@k(6#VBWJx??gkf zgIAUIqpSIO!qA6ogH1I3SSGp`s;{;ot&Wv)$v}SxCM=o%FtpWuJR_wKGLaF7!MjQ@YTcu$QS9nt2cm{pZQq4D1=z^ocIE^NbY7IRx~L!Kd4e{jw~r)nwjZl?BBe+l8)Zb9JCx6_NPUke`J&o>jQ8tr}t zYO_t+4O!>e`g87XmZ~r%zL)-dWaC^OeaQ+$kA_6H4 z-qfci1m%&;{Y&&~s~LNP%PHEY_m_g|H)S)zsH|CGLGE{NVUIy(a;>5rtba~JO_iy@zJO{E}xW=HufZqSSpA)IWGO%3B z`$NJeit4JV8xCgfuTdBSRFllr*oj#qY}atfHONP|e8HHCZ_#75cafN$wKdIy&s}qX zn$HES55{jCwu!#f+j8QN;k@5mHFK#h+PB;@MKadET`$m)cZoL$aWsFTWB`zHk_s5S z_Q-g;dZ)9Fu$|bQGcq@!EE^H^68+dBOhTO&C171`CK>s7j!V%={T98KDNhkBr~g*> znQu)!4u4Su=+ogsyItP!Gl)$ibs!1J5U<&6{0L46VwFB>OW1}`$zYrPgETVw z$VpH*=vmqC)5sszHmwXcKdIA27kz<>*A86omtsI13zN=BhEv#ui_b-^I*Q!}g^SE* zyBXZ8I^c3xpKAK1f0E1hk1qOA^6K~1KXe#<&)Br)X)134iq2TsSO!z~wV`G$0Y&Kh zzt?b)$as^RkUNX}(g6N=6~oeU|HITn35zy%!^s?KzKif9X+5p>>&?;Pg}{^RlFX+& zrDc^)4j+Rq3~D0J{a(Ac3$D&Sk-ZZWZS+{Gwo*V;wmBQn)m}B0Tmf>yy-`o-+l*!^ zot1x6=ik=sg&w?g#>p^Mi%om`f-FRP6MS$eb@axBE1jz;@W(Rj+9+iHZhs5qiMb!c zK!Ws^S7)s!iS$yat20X}L-dE0LK{DDH`e_tb}w^+ai53Gp++8&ViJkF z-_pB0K7n;Ni=g1CyDOEwOFseej#!S^M%dt8M4=?m}0JGAoGU@EV72iGf0j zP6!$#OX4D7tNs`Wc}@Lr-09dai$r$ui>_5GESel+4)TI1{W|e$28AlsO+)5LaL20@ z?IsN8WoUBsn{SLz-el5u?mm6l$arV(Dub2fcAmA+8z zFj?%KKAd-ZkqvjJyv@K)S{3ig_MTr5A)N53r8W2Trr+9NqQ zVen)0K>YdX3qF0fUl1!1<3AzpYid!Sq9#M<_Bkjk8~vef8yAaF%M&CY1fY(zhZlXU z?g56~2kTrsczK@gQZV1V)@??Ko4hnDc?{7cPK2XYooNSziw8t31OjH2XiD<2}p?RMe-d&ndd zuf*u9=&_GGWg3B#$ZhTG6^j5-XbVX6M}>g$tG3(I%bbmC6-^oxOEeHZfpMReAT#Uk>gHLEND6}glWHjvkpgE{kb%%umU7>`2?Nucrn`oRwPxI z8Sf0)(8j2`jIxDxmS~^9VHR%rCx8#U?ecA^k(jLn(6*BqbMsc6CSPCNH?WerKN9UX zh5oMpG%xehPEe3-7n6W$L;CS8QH#RU1KsG84m?XF&t*ZMS={?2VZqcYyj8$cu&J<#MzGGC4@+ z7oOKU=#2_`#L>+oYwr2_bI)7SxqhzT6qUeH>+vEZctn52$>FUsxcB>I)^7I1sKB5$ z=2rP%yXdO)8m6KNIhT;o8;kj709_~3UjQF1i~E4UeLtP8JAdl(%7mQyEY>+9?bn)b zch}BZEcunQ$0r0|j5KFzfXi;~;evFkeMgUL>^mj$#+-tvfCK0TzTR1wAF>VP{^x9% zxn1plcZuD;&!82|ZX?(J{WXHg%@OaZ2WMw2gP-JuK!3h9gU$;Gi? z$txDo$B!S$d5IJbm1+c0*He5Vz`BaZTM_y2QtdJe4F=0k!TU9R^QE_BGSRO? z6x@V-O;XEtJZ!u8EP`#y(X;e{7Dta%LliepESGK|Ux3;1!qc)tx=p$PXBmQmdb@h9M{YE9)xRG2LlXI&`!Drmz|lu`fBt}GB1G-Kx6kPOnr>@FciB3l=ql*igsXU4{H?QDNo z*cFfDw#hJ%o=^yr8+pT2=|{?7fMopZ2cW+qY9<7==F)kq{~=c^M;LCG^=lMO&aii-`ZYnS#x16yA?T!^gs&cDu2`j)<| zs@d8^<56Jy&D5gIL5}b0fQWd4n`{e@OjHD;0NpnM=Qa2YqJ-TAauNk_q!ErhFP38V zhBeFz!ThsLBCzO>bFAsD?06rH)#-udrGHX2gcEsJ>NzTNCx|?O@nk{mR zSQ*@1Hmm7Q*dkja!HL;=lY)!yh2A%g2~Y|owNgPXhm)x+ivOCT8zbC;N8q``X#GSk zg<>nng5gtpm2Hhu9&~H*-1s@4YAt&H+<#tk`3FLH-1MZFr2wY?QTXj>yHAobj2C7m ze=cFnkngizeE2mP z;tlM=V5d+>BBw;kV~=w`v{5MjELf-`Wl{<*4jkVQxb8T+EHx-woisZ`$Z4f8NFBjw zC9WV1jz*c)vb?z|romIEmn4U0I7=!Jp-R)H%7E92N^vwzf&NWwuth)f1XTJ~ZiqC; z8)pVla?+d_{Y^>WKv6zGowA^@r}Pqk)$|oV6mq6k#*B#CPuX6A(!EdL}#Htp9C(~N^i|?-7E?aut-(DsboBLuA z0N_sDnDnIdfC9l$(P{FAjr$tfw?x?RwOMO@LVhrP-StUJOC2q*eagqc=_jnCXR*TI z#qvq*IJ*QXO{8U3odV8Q`$UjC1uw)|%3F5EH6IU(D!Z^wkIqgQ>IuuA zkR-OS@^G}=2KZnWbisPWtV;Lt@IPA4{}*;#Ar!v}vHDD7Ms)nRRRQdQWXUh?vVBlJ zFCn?!Ww`;RH+OANTI7#gJ)wyYJ7S^_4Qmv9H_|xubdblfRRu`B!m2Haa1L@dMZxYt z7@)o_N$vFhn&Z;S{~smS*k?4LDvgu!@d3c%y(VN7(JEc`~A7 zWxDKXF1V3Kxx`6UKD_`?D|u5@>5L!`0pMk+%gfn(k<*WmM12gzT(>m7x#*?MK~e#( zPcu%me2a&ZZHK*+?&9tQ@{M9C)Dni|^WE1Hc-kKsts(m8<;9i6|21+a3;+hBtOYo+d`*lJ)vZ;cBtX#Owj(1lAKH)g zd2I)ce4+{@MTRc}*9Sgx5_NhudO&xIQ}drgYU#!f)V@7<1|7IE?!Sgyt1N;-P_8Hh zKGV)9S#OfrW3Gt)2i(G?$e%SRQu?pd{V?&OX4ArSBQc6FGVFAF-3?Zg@VQ*;jTNvX z$oleN)Ys&|pAQNfv3&7S46Yazi~xt+G(@4)jMhjf7MzBT8IPQ5|eAeC!$cYl_R1q?js%~mp zm%UfO-=U|Yy$%q+h-`E~Haa`{>`Z*k?7T}gGEcaCin!;a3p|@`w(Lq7OWNL>&}G_l z3@YvH`K_ykDblXls9`i*il&|k@Q(WKzhdKj3wYxu`w$ZbJMM~Ggx#EBO4`;>%i1Jh z{-%hj4mS2&p%*AeEAX8e0K^>l$pE!^6VMiN))zvalFmyE9F44KXYLm(OKMn4q;`#; z+!HManI6FC);N{gPX6t_&9yXvSpfk?hJA&tQ{$qCyU?@6Bd;c8a6ps$#*>7wn3ok} ziLQf6A&uv!8_trcaQwBl)8;0T#{CC9e{1#j1K{PVX|DjyKwSXoT}zB_^T1F6JFV~< zWWd){UTZDIj%YYF0i?(mU$a%}2#Vc`*EjWRd>yIaozgyCX@>Y|U;P?AREbzPm~Hr7 z1Wcn%v|1kIskBGp-9H>ZN-xVGp;*(4d%5!lv^E~^7&agD${pn{2@BldX;NOQNkdUsf{`R^2^WvuiUzRSI-p-+74q_?P9vw=}z z4*o0MYgt=ZJ-EOo7Ob(}VJa1f-m&{-R$))c!%r5I2~PGz-B+UeFwdgt(@5v&5R%${ zc=P}_Z&8J!Ew~Rd!JwvdqWNn{qY}}B2Awy$?$P~%SO;6>X@|chIg?)-FGrZKViK=w z?qrT8(dUW{OL}GD$|f1Wepf-l9*+j@zY=~D%(xG1N{S{0#uRcp;0upu#9kGz)%;8x z-W>C>%&6*+i7@%Q$?5~rZpw&K29_9pMRWL7MW!%vH&w!^A zG&Tv>+xZ^$3jTVm0iFCnqRXc{q${So)x_eTtN%@JcMe{fSIJtL{bMd+9x%bQGzXH7939j5c@b}_< zz+M#=e`&d*2fmd}lGeV8yMm##F@C6pGrpcr2Ysd%Vxk<6hQe!x3L{E@ELWw=?S5N_ zzOaNE5so+MVlO01$`KS2gqFfTJz$LEV-0R%pL#7|b_RE>Nz(Hb{`)b9l}L;-{aXL{ zCqi3C3p2#s=KT#Kkst>@zI``5d-lVkK8EF98@?g-?Nzt?Q>i`{R76_Up+0c<*4GYF z+HNY@x;rjXSs4=($U%1l33o%LuTaX4^?oAB1)`T^uGat(l{@fU z@4;epVn@%7RKSvpjsFF8IN=;I@Jm=tsF2%2KvT`<>)C=!-jaPy$&=wvPv64e7GCJ0 zH1ovf%OkP8(ZQqvj@?{UP0e{S7(cIu1!;?P#MiJLUO$}>L5l^SX<;P4@GYZ2tx^wsKmnlI$ffwH9y_LfcVDyBFSblBMU zvdQA^)NWCquWGOH>(jxPEoAa1m)=|~fm)&8cQ;L8(^8kmcO%iu0htSa`8p^wIpyz0 z|5>Q+v5>{y*5*c{jV>Jx-5>i;Hln7!fkW+jE~5k z6*~LTWtw>DY|nqqycR{y#vf8$pzhFzE(rQPg%}#-2NEUq)B1w3mxB+PbdA2bL5Got zOUMNzm4;!t;B3>Bl$E6Kb!r0z(qV)^mLfGub&w`1Qc9P@ki5Od%^8(@k3Q;pSKn3v z(FtzqRs2>r`nHanL_b-GkAxzQ_I0co9q-QJUhuf{;;rHBeQ+kf{7<9>%=+=y3e~EX zd-X++nqE}n2z{H!m^A0D`83tHU8}b|`CPy6uacyly>_=?&74rOJ6U}^T_QaZflbN# zb)m(zq{^KKb1amO(!j-mNF|mX`FP{1&a^kNqROZ0YjQi?qQZE(TC@h=n0J$ok#~=1 zmCOP~8+*hT9?rt!ZZY7O&TOA0y1`ogR@mK5ZiL)%-?%M}F#9Kjn(#!)0$`)C?M*zm z3}_uU)d~9QK6II3YV8gmvZ@X|&%ZIP&b>V^5g6F4C>E}tn7&*#MGOt%g$jbLGtF(cLybGAna#C#pk zLoT*A?Ktlb-uCjg2i^X2%0xZlE0f6-$u*kx9`Mhoukw?2duz=Nr_a*#qHFh)#n|l< z$umb7`e{nmfxYzxNf8xBDu6v8BM5%_PmQ1*{lYTd3HEPE$2jmxYIp;Ai5vjele5M648i}2{vFmN?R6QB(cwP=-l*q_vXEn=*E|82fv>&2uhedtG{}=lWhOYk4!pmiBU!h{R=NGP|BsJn zCpQRva`?T*X3c7#vFS!QNBv)J*;=-dl)#@}Tq+5P@&s*GUl+?f(d4y10PTO&DfJ-8 zN%3zPqs9TwuAk`|&;)wX9-=$1#XSMHNnS~g7{p31ZW3p1aIvZ1V#8t@EKq%)sTz_> zk=)*W?U~K^Vn6RZh562`jBhui6=?U!#`^m+sn7vyjz|d2sUMRhPY!m!P3Z$Q-0X}w=U@VGE+g^ z-BbgsxuNZ$j?9#QnJOFqDxSo!m_Nce^6J-v2lWt%X~Q(No!1(hFrfhTbmBkyVq1&U z`#$(nQJ;31c-f_HBl15rWhB zq7GEe3Ozn>DUHe;EgWv{rPU1x_uk%*vBi^)828R<2-s{4&cH4f`Cay7QiI~=2ct+wc2c*ZFmRob&U^lRSCmoMVnQ?|X~{nyUDz(0S_G__oeOhOJs?*XDGE)3-*I^SKgnQTjJI-hG z`66@rP56D#?rs=gG0mp&IM+B4YeI6@LWZpe5He03deN4#pN}gn2fR&{*jY43?c0h*btbMOcQhN z!@S#eOlrhZqzh!UQe{G96wK+T9M2PP`sl2%ol(D*WvRj3wAV$lxzebIm zHsLfGYf&Z?EUDTo;yO#pIX~e$AsNq2OdP^bS&C|Ti6+yt0QjNKN6qwI>z}$xS#n*E zpvr#1EgdpTr}=ssc=ppp@W&{4-Ma4F2=z}cWB$n9PYbN)6}|ZI!#;i7mZ~CT=&8xv zC}}?T$m0l+t2I_!9tM^_xPcen5+$b6UCLl_tSLGuU`JpYnosMSLzlMeJ2i5ul8gbD zviRDgT`4DZPrZ$9z`HKd$>8+g|MF7l&G+0Y)$_+M1rS5F=0bGbS5if)r^{^Zx}j=} zvrcw!DaJ5i@nGhz?q2UpJ6AqXvT`7gC$EPEK$7yiHxvscJsPI{Nrx2!U6BN1dYSXHgm{^D;Q-_5uiu|Z>_^#fSPW5;2y+OBrIJ#SWRZkQm*cYDdN2XL z?RmOWfbInOnFvqQL+2b&yj&NAos-1PW~#K*dfi4sDYXP@PlN(ahaJ`FSD4%&n^hZr zxdwH|4c0sQ9-U>v%SHfquBvlU(m(oSZM@W9`{3gRz=691Vy)5hRJ*w=7wRQR?58Ig z?!YvuYMIk_eA1Au1S1z0SzSSUkz@d2B>c zb(6#5sU=oVXr|hiA)t@$kc}$lBg2^Qv#KAZy+v;w_`0rS_zsa9Qg%4x>)$0`s9r1W zs!OD#;E&ug!4b0>@-Ukjrx{nH_2S}Ya`3NQK?hQZjsNt~H9j@CBXl=~s?KdWZOXw{ zOg@}Wrq;-RGmKGzf@+8g)#jqcidB*m#CpQb0_^PzPo`L#(QZdKp0g)ohtG9_tJbSi zu1=OLBo0$G0t%+K8;|B3X9)r##;J4Zo14E5vQr$xdK9bQ>6-ZWH;KNqrV*X`VZR&O zJKgaFK5CdUI>gM#XMk5EM>NU{m3!}5{a`;Fn4#Wjeg3|x{%09>vr#-^NFO{Bq#{^f zH@&mAx4U{L!~bP&mMG)2n&nH6aKYNb2s)e+jbqZ|dJsA4=!N?TklC@3MB#uh-re|; ze%X$APsUq~MsjtlQn&<6?9QA`NaD6G^aFFDQb4<-(@vX3P0LfJ?(V*9!pnJJt}`F+ zI+V>HCbcvOdi^E$IeSrr%gNtDsUcUuj;?uA!t9A! zL8b-*F2by&oon&@3vz|AtvD`Kz~OmTPVl^B$m!=Jd!HrcT#l3#uN)SEAFJ5l!Y&QBfh zmv4S%>s>dkq_l9^z6hny0F{Uawg&FDk43F=XPJZx1Uux~jso-z(KQV0&j&NYHCf^Y-X1w&NH|4(dH)n5F-wfdrl886AlON=B>;2oj zmZgnF@wW`xcY^XD+4j2kR$?MARHdTHxqZYjq`t%S?PYf#~CMK7R`w5 z7J`i`Rza&s5^Nq2;oUzLEFasqHwf#%p2K4`*-mVyT&E5PxhnNm^9!eV6J4xcfsMSY zSexs@**T|1cOz`*7>0Ntd}$bOBkq3t9}Yu(&lrqHxTy3*q?7;f(!vB76(+?5OXsLh zxyC=KU^)!Hv{jRta^Ug$=xoqDrdHyGC$;@IL}SEqVtVy5 zg0Yo;tw|6rGj@J#4`*Kj1U7`e zgO?7YW%h&QT{4@YVmcYLud4XBN+Iva(PvQAUBYXN7!j8e2Nw+IqQqllk#O8$DtRa?M7NF6!Veh_vmA92YF^7v zuvuynnK-uMN7uS_9fRbPRNqjKH!tx=R-0#kQ4ZHNa>v>r$8{zMI=dU6K+dgK=y3S` zwpz0!O^RASu&r744?ow5bQZXO99EBUmx~2#@Sd=8?eQbDscKnxcVLwKsKaDc z`3YjY2_R!)gib%DeF!HYs*f6`x%vq9V;^PmV9#61Gs(sPLg2UsL#(@q#43cz5*045 zb@KBl8x2FCX%43LidK3Ac2j@pYbL2IPEJ_rZtB!ybeR!B{1Sb_O?7h-qsgF=V7c`;_+)`v&}JP9#Sk zKk$=x+j2kcSfvZ`+RL`ev;G%k^R*SOU?0HV0en6)jA(RQ%|yXgTrKh|4&>6uH|v(= zXthYV`t9pFM89?ACm+UTaZ9hlA_M#Kh2{IuPpDSj}x>HV|dR z?EI39c}eyUp%cUvpH}}7us$a6111y-A!2Qqm%YY6_2}vGIAvVdR2n@WB8oHKayv7} zlpT?{t4ToWkYcEoYH{Ko6Ne^79<(Y4*uL-8*DMNm=bkv)O21}>*$82?9P;W3XT8f> z9Pli1wI;_l1Y0@-0#m18i4f4H_CEIFf8ymjWD&KOrA zNI3yEA-?n%+pLJmiaBsw>8^qeNZQhf0Jkg_o;&8*NPCTE{Jf<6GZc0za5g0flHMs{p- zC*mw8Edk`^k%&Uw#cpve`GwJoWFr;)FxvSuQ**gOQenWVZmKu9SA2NjczFA}8(3)Z zbKiAG+Np^W06eI`_nB$ZdwB;g^)q*KB_7MeBlcaUv<|PgPK7|07M$j5CF8h5B6Y6@!}Ox z<@@bJxa?LJD`=IfGMdn2CrZU<5d_P)XsX+xWSb@PB+Z_aL+miyM!EQahnS`xO=QL>is zV061TE2h;;%8Q0WtKj_2U|AkF1biU~p71W1*7XX|FDGp^w{M6AQ)=R*Cc!>Z|Cs5z zURZ$eR}sXdiw9DRxPNo#u5M0@sP$`i!E;)iKc^tC20ot=);7l$|9gI9-ubes`?(gf ze;zHc@~XiFp9>A3mGF1lt|zwf=Qt-`?Y9|su(l8M-cA(yHDEl)O10h*U-lxrZQ-RM z0`B^f7ZBF#MKIfAo>c5fJUTH84(OeJDtZO=FjDU@NejeUNC!b8f4SZrm%rk2W{YR( zsk?cZI02`+?DWmI4btKGDyhe^uk3AM*ZKzcdDM3=quw2T6c^6(%Q_S4196meUwHV6 zrBQm3M2!Eqb5nNv!Sq&1#(9$emy*~|TgzfwkIdwk@Hfaez=6RQ(zDLBn6YCjxMGHP zLa(JoY{RdBgFFvLX~uDgT@9^`U+HU4UcvTA<^td~Fn0)wgo z!wr{qJ6S#-^?{Q9Bq@2eD^45mOXr(++XeUr#h^z$F$-yXY_&5g;KezoSL~_}+)RAe z(CfVdh4PvN>H*>vxVQBUN4oH?^Q+bSLd0KSM)Q;m5UmHkTiGll&G3Oq+hrj&!Mz1S z37w?UVV}$-j!+U1P_MLwS^T`iq;&krcSwire0ychECg7%OBL0Mi6B{}lVhXG8@Qb| zoadDQJw0fmlqmZaEz-~LiNUdpkd?^U9SnT5zLmydEwI7H%SFB8gY1y{WZQa^>+OM< zNC1(RE0G$uDfRWI`%yN0H3!yqLVT*8zJD}7cbENfV<#WYD)wU-bSg}@5w1wM8P(h) zsG8u397GD}Z4^5p1|NGtSr^xGIR;$+j?w$guvtoO*?;R7Wpj)3MB`q`cD9e9h#PmP zdR7JKmP?E$@2XlS>J^6NHtM?_sfOlV^S0;6_W2-`s7!RThD*JKb}(I#C+X#II{$!$ z%eM2LOU;59YWOw;p}TV5x$v^8u95spS*kiPD;^9pbCHhC7y~KpB1@k>$=ss7CLEIy z$fPCOAG(MXr+t^v9H=b0)W7!%`}~yTW>Q7oZpt9a4U!aMj2Ls$Ll^tRbN6J8Y}IsS zhm)(r);l=9To-woqrv)N;~H0P>kVngPq3X;#ULvXt0DVll!jYI_$9eFqk()(5~NSS zVdtpU{YOi;0;uzMOB3$sc#RWWwp75-8u?GYr=vufh^mwAjg@CKF0|BrfwI|!TDIFn zwr+NC`jUI*jO4BM;> zXu6U~yNxg&At*-03t5fh`!Dj-UqK)Mb>Z!~mR&=iuCE(#9#(5}k4Q=Hs0;1wR?amG zQBTu(2mU;<1l3*0vEv6NdC?%YKfD2`8-~ywK5|vVlD}pN^_gDZe5J_^rpN&7ezan@ z#u3dshkP?2F83njozO5_lhc8?WX(Wyiab#MXzAGgc+iYM#{UXoYC6I*$_ovDX!ny( z=qZAQ6(4+s4Qrhdy$v49=tkG@$jXa-xe&k50i7m&SS7mYf958mya6s|`DP)choK6N zj>mJ(qU}dPo8Ji6afPYCVn5P}6yl)R%BOw2tV!(|0+u=O-w0;>BegRiW0fL|;D1a9 zg%~FM^zQW@g+w69Z9-2vZ{?;WEhq8oN2Zwln~m@IEmL274$(v?-FgMLajhqP>|xiL zIInu=7f||kk^kvI{lDwmf6&aFW$BKIN_&wjGjSXL`6_=u4gMR9>E#9Wm**ayoxdP( zjP&?-*4n>E?|*l|{<`B=dYN*lETrSDrq~7{TZ(cfq$Y_j}?CWC= zbpKpBzw{PUac1_I9DiAYpO1U?|1?isbiX+-vhiav(e4=+L(U2GODo;~8dm=2_alAJ ziCAZ)S&fOmUYq_UCSPlcE_pZ8o=^Q3pE2gXsrXwC%@irFct+(l?d9hSMP7ft-Tb2q zIL_5adu_4GQ z<8I!E?@TV{YAZKiEG4-Xbo}{n)7Muf&VJcE_me#~r{}oLN%gZ%C|}wCB-;SF-(vl% zG(DLoXfS9n;BaG7t?756U#<(P@I!m+<(e$sKli1=T~qsG%o3z7$|BV?OVUxb>!ZkS z)v-ET$N12vcW?QnKR(I7`;Yaa`}ltJ6p;y$j}&=8mYHO{1y4TNJ4``5mJmJl2m~>aspj3dRX zw*AVPNH!r0r!#J-t$|M`|BAyWO6^xt>M0NiYQzJJk+R-|3S~==oMak~#?mgCSQND% zVEcJShorOp`i2&0SY%n7=TEt6*;Q-tx{>*Wg@IUR*T*B`()Z*uoSN}p&;4tusqa$k zgY~0(0F|2!U-U%w29?;|DK*>HJepYzY`46tryHycj(WN>I;tO{xBXV6#u_%XzK`lA zM_GkxPyIu#I8+`5u&?n;|8R6tz3gjuG%X_EaJzutvvSsaAQfC(Ki}Y1cWnS%&9t1` z&S-wHd~qdh8j{GlonU0j7R5wXy zFB~4=MYtv-5J?qsbNVn9-yl`jL z)N-{`ZkN9B-279|&okZ>p0w8~+-Fa1KW3Lnz>9zGv8Z&L6yc3~QT6Ydd*1E$vadv^ z>M_`Bc}&^nA|AXiuj5OMsN76NM{diAHB4+x9$GnYMlht(T~ovU1=@&mxhrJ|XR9hM#OMRqV`l7Z$s4GhY#9_$x+(en2{Kb-5wR016@UwH*Ir>_% zzpd**F5abL!pREG#X(5UBy{F|&`%Qe@X`2b+R>iuWaGZrnk>Nacw55^H}#67K5BxH z8Pu1Z`7ZjoNW3H9y9?`EkS$wbZv{>k0R6U3hfm2rg&sqbe*5pCQ1-%8sB8#b6+6nZ z`NWp`bSp&WmcI_T5&D{rB(HZ$@)EUAKRMze_zOcr7EMRq+=+uM(Fp^qwaM4aFE(kP zhTk!s7}#6xcR(w#UG?q`U=C3|2Lf_2^hFri{ML)p`-m~e_H~gvjg>O;GCS&id-%*> z+TZw7{9>hNT;-@0Ioy1{921UCnw1nK-tC%_XfJ}Zz`z%7lsDy!C8yQ43sgVmr#f;% zMt==H9az_rg3x<>Th|IL-?jmzFEpP(qp;gO7}qEk!F6a-D3taI+f*|NM9USdu|OCn zG%I!bemTi(+b_O?y1vJ3D7Vv`Oy0q_+@nP)aZ<;;V=9Pa zPJ7_Bv$g6|nR0`7yB9^y&ZkN^_FXyO_fEy(61))&V@K%I zP4W(!Y1tG-*E!t0C7EaiKDIk;_HRBZ-b!>irraY5<9*{YG{%Qccf2RIchK$RsAWo4 z>Amf9Tr%TQTdGv~QqnMj%i^agZsKW2R8B>_&fiTs*u2Snd*4>HLl7XV<$1Ptz6@je30tC?RojM&8H%3NBpA_+BbG*Ol$I^++Yu&>NlH zEAP59-g=s{%j(yi7c4A3an{u1*H6`3nP4%+Bw3xm+3PQt`yQNAQVaycUG>UTliw#M z)w)3(GA@9?IzFFgWxdX(xzb}x|5S!e(HA!E(DByhOfVDWH76_Fmx*HPPBOIo6qCms z9!dWztorvCoegg>GU^d5hGP1HmCpb>F%^?8FxuxzqP1avxmJ-J=dAX@kyi_z3j9}O z)^g?f7p^m@?}Oy^6B=8@PX^3T4e9*xb^om9VQPLZu=KmmpsMQkt-lP_;DeuvS*60v;Hi=_XDKMhf&3O4l_n$Fj-mW~VZcno}?m15V|#kxAat_@gT zkSFaABSwA-=RtSkYf+D7!og8@uDor=J~JP_ za;`50_wm{!s6SQ8Z7Ru`{}}KIz3bXs!-kI?DgqzR2Rd%gH42Dqu2u}I+x;~fdokO2 zc}fa?*c|C$=T9sJJ!TqTjVEx zjy{_{%Nsy*$3;X{Yi4V%v3|PN%_cl?$d63K&+6NxjZ%X{;D}H_!l2D~k>Qm~3?S?(|lrzoTv-^{@^egXXx@@{4SvO6)Wlo8EDXLsTqn0HK zz?qf&RFuqi!+^d%>QxcdTa^%X3xY!IXjZ%=+OIr~^n<);f37#inQC!3BYIx{k(6)M zP(ssX!DL^Lk;JuL*`=fl&cbwOI^c9=6?6f7V(=&$uJl#Y&sMxe7L&9PC1c*m|5@KH z!GGt};Lei&3sa9W|0RBcx&4Z^=F<2Rls24qkWva=M*#1wrM1^lCU zgybt0$MSJ*aV8oL(f^98#nMEau{ul;FsP$Y9-DZ`3<9r5q-b;=L*L}-eiyoRb`zv) zEp}IgZQxb=Lg}I-6&(yjm!!xvbv(#r5PGcfUJqS+p5u~p9%;GaWv#UP@17o&HNt{YQXY!t1>EmMag%M?o|gS{6FbA=8L(aYd$lHL~x) zsICEcNx$VIh3QoD&7j74;X|yH;MUT6JmFy7z{I*bv$V8yE7fg4>iZS#BpjYZ1-1_F{=DMM6_R|{A9Q zQ7%ZblPAc^M1NZvD`w>&%~#27=R~35ZB3)e9-dpZD-stsETZJbsOczGFCDMW2!(x< z-t(_O(Ia7glz`P)i%X1I_|Cl1?~~rM4oP2=T0z(O#rmDSgz-|hpa-_FLP9I2N&+nP z%$M!y25+}&pMy2)RIw{a%iPRO)kPmXHnBc8-6x+(V3XRli`BCN+P0?47ZjCK`migC z@*~viDtmo+mnEH2Z6Gk(aI~I+7_KTkGj1tOSIb;2YawjPQp{NN1EIqnWt}FgH)Sai z>OxU;n^Mbl>qU0(w=@#zp+vsknaaQg1D`3LrBjL__Tcc^A5@~Sb^S`@oM!#@`XjIm z*xDCzJ<2p()cA;Y9JUwu1cZ~$AvmDQxl}$!yHiSJRVtrRayxfM3Re1?^Mrb{230%5 zsBh{1mqYV+9qjY@i13GE)L$4Y$RQ#q!T_k241K zK`+#=j?I`;Q1VRNj0Fw`eAEgzf;?*#fR7%h^MRQ(5a#Zw%4a$cekP~CxmRA4<&yGY z9oH-5gt+NYJu{y&NDwd>7keu5WOciu)-3mQxLRaDL>g~^_T*13>xb&%*I4$Kx`uvz z41wGd*0J~$-viXAjk=gC^yG6Foi28hsqHOchDjl<&w?uIiAz^?I3&~xF;fp&zZM>KFH@cnEGsL7OWUWtHMr(r0S8_8K z%A9(ksG{pgq~L{gc<=3h&qDp_YyHa}WGer5Zq%m4gas}UZu9AgpV#G8{&6X%J1Z`y z22H6RlXBtFhh|qSvg%f(87wxnY}CxoX8NYqM#@XmhxdaVi{7Su&<7ViMfNc19GR<> z8WmJU72KCyZhJcnQ>@~$j;k~`G@|r#iKSt1WuB^XLeJ?$udx?59!|v!zJ(JW`=@&J zID7I>WeMaQG$tB(=!<=c;lr*%elaJ9a(IcH@bfvj0YC|Kw<1k-qTY_wtev{_JEc%G zM~rJdFr|G%;ue?*E&!qRn0qrSElXv51Ri(be6o!p&#=*hJ5quVrVwh})8^*6> zpt+lMGi)KmQ!c_(i3>YeYMl{hh?AZ2G)m+BfLYt< zu1grtWkwC|ui#sFk5qKVusK)D+C{|Gx2nvyyYAS!k@XChD826? zu9ga=M{t&jg-yjjumT&SdSp*vfmVWmNW?=_{@UlJpHGuBv2jsp)UL3`T?9*%&QQGi z|1v?xzf%r7OaR~wdWUHD$ zsr0aq_j1N?OUhk{D-gLooILQb3+n!gviW#X=ex?b)FH}hfbgaX#vGxsaqeMDao)Hq zpSg_RqHEsh5+NZef&(FRQ6=p(nRz2{D9CI-C|#=*+u>5db>_K=u`4XT$W=N?q$(qW zVD!I)3p63W4KKjQ8U{BpBP^UO5SJy};jJPubQuk~gLn55Z7pkHN;5PI7%&!s7j;<8 z-Jrl{J}xQw^@t5S4|r8F2re-t6l8epO`O<(wyRRBn8yzfp<*z-AHNL7son4-9~?-r zwoj}U!|84LIyt}$ZZt*<&6eu3D3iSm_h#@!L`5CS(R`AL7EEep>UInwV7x(Z4-SI1kq_bXve`9PGk*HH647jWyo=b!)52|$; z*nWUjXUg7|Uhx#Yr;q@dgBPvKcy8ItysatrU-hgISdde)WD_mAgFglrDMK3jk2{iG zG0C3L($(I3g$jB$WT_QZp?0g3H*7h_5X3tFfUKw&*m3tn#>lm$?Wu~oNuj+Orl&>> zGU;UPwX#r_2n9DoY3uu{y~I#FiQ*^THzl?Y@K&iqo~B!=(4H8Vh^s)^({@oyFB>X0 zkAl+S59qbWb^CBXf|*?6V!R-UkRlt2Sx*PW&XzP}V*0$4(s~L8rY9fQ#GBI=@fWtHMwvb3~`sB1)vUajr=^`>42{lQlB`a%)c9qJElnsYfKDs^$+ zhq%f&t$KuB0-;!4KTK>DQL38*g-geGc1dDOHI4Hy9wv;zY*@G5PKN4P zuB^^oKK=n3enOb{LY9rMn^hq+ORLE;%O15uzs2af_90Cm)(q-BiG` z7Fg4vrs%rxj7Ah6SxHo;6Pv-u2o9_z5Y5$SBKsH@!Yhx)s|7U2YqMDwSIR>~TV69dSzy{@=^Ti5OtyW++%IZ6l>A&@*mi-si3JypjSQ7Y5K z*NP%>t)O*!e5IUg4;51>UA1hk*gdo195n%*xa^W>Lrk+LL8CX9uFN?zG; z8yVe5>A7!olywih7GFdB0p2X{a-1*|YO)l9Zgi^9V8;^`s%g_mQN^v1GP{wQ4M-F48N zwRl{cUiyfJ)#FPC>68>;R!0S!5WY4#I_o z0HhFC0>zqnLZky_Lax&wU+Cf1>5M#`7d zh+n@fYm{#FMZm;vE^VUFQpHXxjw^&r`5-!n-XTUPST{QV%_+~H>6ARq^q?<~# zcpn53B|(q>7t<$P{u||xtj#9&f;sG&5^rGI-jU@WIrnw-u09R33)4XQT^$pD{&L>f z|6tU?Zu)mX#uLoLD`m!Wmq(801Ji%K07#B;Xv|679f-j0IN%c1icstcB1bak0NfDLW zn-h#YRwCqe`!57BFf%CL4>L1ktub`#e<%Qz#qew&WNw(y31KPuS)aAM1l_BvuRe=8 zeo`@ZY9<}#P+JqD6D^) zmW@GGhhU8wUp1@VnP=z2$2d8N1@vAsZqwX>U^+M>Ge{dYKQ?FI4XZ_j`W;Re``pcl zk~`Ep>gI@gN3;dP7?96N=Jw9)7T8>x*lP;-hK;h`*RwI(h3&`}jn)@B$)UjXH)f+( z%FOz|w+m-AnTzUAze4YH$gI=V;(QL}hF+Ju^j4GThS4q?>Ey3MSqe!tE;$J)4lQkY34 z#y-x-mg5a@hjSFy9I)bqitJe|2OUQ}Y3zudne3Xu$<-T9-S?;|RX(y7jAs{2Ca+{{ zU=@r;982gERHrILlnrcl?y%!WY(mHi?EI8!m-2ATXIZXAUUh8hra&^%$#oRSc+{P> zWettxlfu~CFJfE|!RSg`#z5SeCCdti7d4tdd;tq3<3MCcMNcl21=6FYC>xQn*u{C` z;r$#a=s!luyG0L=ky4pyx5$c#!AVxc{n($y@i2u(hIf!c$U$2M0T*O*aKtE^-S}hCS|~_0aPY z)NF1#tSsK_<-_lT7klOTN!F}gdd&l08h;mxwXQn95D%x+&SSiiTLkJ&DMLv_mQpHq zSR^midBsIFJZEQdc?+DR`lMA8_c+-sVWt#ka59*SkGNesLUq8IF}trjWi!TlaP|B_ zP=J{ni@6ZMW6LJ3Wx^ldsp~WJQmLna`gi&RaTSbx+GJ)kGbp%khFgDWJ>;pzelN8q z{)10cvd`+|Dq+3Y=?LGd@Y+Ao${Fo{^iUA@gSz|23@c92+AsbCZs-sn<4GOYSVA=I z4xPS7ZB2M*l`9V#(O+O~TNm5WA!9o8|K~8TrSHM-b93w3zRP*s7il{+d|cx?>2v5m z!!FWC#|6jj&_~1}Yljk^#KZ)f$7WV!y~_QB0bb9s{TX*D+m)G<8`x=fJHCQjfX9c& zohgaif~TLAh)-e1WuFtjPPdp`@ryj^Hp zA;EL@d@xlokIRXgV3=N*_Ug-xShz|N(~o8?Jkt4YGyV1eeK#y<%Yw)F#XJ7^zzRg$ zBlS>NrZ6=X{WwfAZUiQ9TmxzSAXDn_l?nqSbjnG z&@y9YT=-daON}uQrQf3a0?+ZTmM5NrA%K1bz_l1_gH7=Zw&I9#ZC5rvZs!;_1!x?_ z3xT?@198gl;}$wdciCSJf~a+xGrT-SzY>o6IR{2 zZ$!mGa*xv?m669~vFtjJ*irmN{j$itOu+C<&eN$p@d^kYb*Rb(8&OjoVLG@K0`*($ zP$C~_9fMSK0Yw(y03s>@i@ii?xXPp{DoQ*)6f}}+c{epw!17*kb5B%Mm9lYjkglNZ z%!|3T2H%O#fUk|wCR0-|57-CX^F*u1cP!4Ib@8s%v~z|;h))T zdREg;8N>tZ4R-y`AASd{$n=<(Qgua>Td!_xAKU2qAfy=|gLWUxT@W&M{hmnBJQ_7{ z;kHTbaB8>@7abDnc5>A=*22Ds)G+K(W3zZX#yMk{xZMYF)t2wkZdPzKEH_TN`&7_D z1sWGofz?PG^BA#py_OltXNUbVN03=h6ehwUfXq~a@}-%$Qm>NuDz8y1t0I5txHRFl zkEQq46OJQjuexf)S1(?%nV|NkGXyp|07k=T z3FV~%T__z?bYYllc8)$WuA4rR zK9~A+TtZxET)U2$#(jf}&uUYr1GREA(~GV>tGo@Nz8RMZlZJhyZz6s|zxA9h(5%QE z=6HF3R&*%{rN?po2rVg zc0Wb&insZf!8;>B2esJ|iDn{JXglToqdP~Vx7}Y!0}yMU<2yZWKUbi#sISTrG|M7x zHJ_5Lg@RD=#lWBDS0MJemFXlQGe>ePxcn zESS!h8=freN$O)cPlR!A-KNrOIzqJ)ew+|`Edw9wk30_ELX!`xe-JA*5CNMJ)N5a> zvRGrr8Se>N<*~P*@1ZTt=VP4=d^MWue!yD zm=)=hYu3=C{+n;}4SQlqcCMqk^I;!|(F$ogP3`Wled*@>50s_4;jZHn9ht^GQN9y) z<2XU6ZKUgDztIVl4Dxg zgv}KM!Y8s@ymyUGEUdQF%8mOV9e6F^7`sPd=pX<>-S-{G53tBI4&bB|VALkn&~rc{ zvYh;wG$_RDY4PFkdtb*_0bBT5db#X1pu?_J2A4WugagOJF58jmx0@L0wLc4zIljjc zi7QZxQE1+fvgAh`#3@Lx*{|fl@Obh z93*50sfK>QPGBQ7l+O8M*C!QOhvv!z3#Qj5N_w00YR&T@nzYWqL>r!k8MtGlLJi-M zp9Dq;iVbQ12%AbF#wye<-UBQX9y(~hW?bNBCr0ZU?;jxzYfV?A<%t&e935KaY?%XO z`BE-KJ0KaYj_xB`dmcy>nE8>;M_W*$$TRUSqjJddK*!t*>nwyUbmJi%^3xfR@!Jn}&d>=xIvr2;Qs z%mXpqJ-$cvOcE=iaQ&i`74V`2I4-*lbPXb<*81Yg3*|oci$c#Fc$ax%LRdRNocuwe z&xEB|VfSn1IjGM3`oqY=%Xcfwbz(frDh%|PYBa3Mz-S^6Iaa#7FeI6ZgqtV zoWfux2(yCoy$oU8R<&K+43Q7$omfQVqr*L?)MmsgdtG(4O1X5wjOogbYWoeEHr{LA zxqy`@KTGpZca@kqI{KS^kEOyDW?hW{n0tGcktXgzeM4VTyKbo9daBp>1wMHy~AkJ(jLfhCBwror*I<9k1BR)op5bQ{2yUY(CWo?aX&) z`I|!!{LLPFXHGwXX>pXqUA>q-D=zKQHHYqdw3eM>>xr_fv=tu;W!9JisW>hyefG#r ztdkEUr4mQS)N_wD03HDz$7r11gL!Zi1Ek9Mr-J6dTL-jdVUV=Z zqvurX8@@9v)^UTYe3c5MOoCcd>6;^4Lv0VFrrhGbH%?6=vSBL3;~P0l$)J-ls!uF| z7#d|b1+QTo?L=9nS6;d8h&w89UPfZA=#3g3X}C z1Xt5c<2MjkI>AHnt^1JN?z+%um!-|(#~s|r3NNY#SzIUHcY8R`c~nxZLmL`vw+yUZ z%nQ(U?9rZOD;l24?75B0oQoCHH*@kE9d}!Eta^;)k2>Z#4P7(1#&{a7gty4{s}xD? zTzY9TB86iXssL_wY^Oeo*;MkGMA;f3p9VaUciGDoT9aAL(L(6k9DtF!Aba9iHIEZ6 zpAVKlmEZKKot0`8m*M_gzC>pZcaQZ*DnQ2B8RLIcM$;Qu#|b@nk<1(565a1^%R@)* zUfRY`vUPdJ;aXD2M2T$s9-wLhOJt9GaOS^lT)Q?~S3-R~mKrIjWAAr7R?GEZxZ z2Vd1dzFXiC3A*XTe49HNpZUo%>hb$0S`7o1S(leHGQVJz2=oJs%eu1kZMOEeblAA_ z#Gr~?SM|d*$tRIR$>6JYw!+jJL&!ug?j9EkyOES2dDX{e0d9v_|Lj)}aZ&3@S-=4I zI>66_uqA=!>C}1e7@D>zfuOKvSm3!7(WE~NK3m2{qM62=!tBht|6rjRqGU6g`L98_ zzhpnQrpDhCvZ@BL62)$CbGR!c?`%6mSm*x_d+!<6RJXN_(hMS@2r3{YAV^dckSHxc zKvYzkf`Cd@DbfV#C6s`GfHVOC=^`M#_m)sY4M?w{1VS$%K?RLgRZ~T*%{d)eIy26F)1v%pabX?3u#8aqIYCvnKY&_WZO29z6STKZr&5 zN?B?3-O2vTpJxI9R@49>r)QiQjD7RyjQ>nPx#5v0)3yarRD61Ay=c{G<5t;^g)15p z!&hGBdbD?BcX({=Pv$Bbcyx7jyb{X^+My>b9M`+^t0im)+s_F#2Y#a8ekJwt=(?gS zjv4uyaMt52=A5UpKK!B0vS4p3q{GZA7mx5{Ni4jmcG0-maNI3-UK96#jjBKQj^MR+ zv*lSHYeW+In&2W<4VRWT{rH}av5~~*-ZR+m*5Qh}=jC(Em_0{=Wk)FN$-jGcdW;1h z+Rn;h_{HbuN`<5yZNFpa-ak55r50y9|~to9WU z-@$~U5Lfj^yQ#2>!s03PZvDf3$S21;m}s{QpOW0D8siW9Sl3XCdr zCv1jC-s19X?7jIUy$?UU7E)~PGuA5`xFAEz)H*%I2rJm(E3lrk;Y_@$YJK@dv*3lkI z?rU^|#1l-p2Z^OP_6M?|Mj5=EVlbBAWhr((`zR6O_zWEA^xbMFbwCwrX9UH7PJ0%x zlAG@i9r%$jmT+$x0bWYFNAgtvaJhGZ5==3n*}XOYGy`DA@x!<`4s}2Da$!E@Gr%fc z$7UkxEhB)7`(a z6LS#X40QHKHQ*Rzq{HaOUb`XU%Cd29^oqc;;3w}S;1`YhRgt)as)w6_2+dVqUX+oL z+wR22V8VDdf)+EWwE_-JEezL#CHm( zpfkp_UwVd43V4%skspTOUFJWlz%v$6?#DFW@o+hf!IJqK!p_S7wuwbJH%GdN;~f9y z1834UwlNMEKdh_8A1p`sejK*J?<`mat7DGfd z$ojV zhAT`4^Dub+z}I#&2b7JZG%JR=I=qm{L&zvNf264d0mn`E6BTi3s-1i0nj;atfnr<( z4cfZ4AgL&P6#`009<^%9;&vX+U#R5G$T1ie%@unw_*WS*4L%xTZ31!Hw&LfM(`z#w zOK>Ma_9H@a%e&!Vriqz}xaB=s{U^?zra=OCv z#VyZ~l>Sjh|37h^PU7Em#cd~Ps`{-vQvsjY4H#LDHl^_Sh6BUJK8^6C%=7q$tWoL% z`d{vMa=8AuOf=q%Q7{Eu<#=IA5#^3HO^I^;RiY7+X0Pi7XcS_8Sm>vq+F>^^eS{TU4_Ry66h*X$m6%ZS75S%sTAyDXjoSbXT}Ktxe3s zF5mIz-q}i|d@sm}45PFmem|aWk-vNJOhQb^MgAqx$cJ|4e3!f-@u49hIv=>n|F*3B z`Z`+RwQ?C-@_5!-&0Qp>tmnQyu#w+B{ZOyqK)N%Z$SsQw)3ZXz=J3B(_ns%$F)Hvyj;5a-E9qi;+{Ur(N-rya(MF$^Z%-^jq>cC;`^_4o@t2M} z^S>z6|H`Xm6>T+Tq7c!;;b~H}fa> zqh&2WSdaVGzHzI|UVyrNs9Vi(*J4Tt(yDy_69A|+N^Wn#^96| z&wip~lxH;lA>M*%EHepwAe|I3$Wp!?AIh{H|HS9wF~e$a>QN8|ZE#(y-c7q*5!M9( zC_6FoGVS&k*k`CMFE}S)-#fvsh;-%jWCs_Q4u&kZCFwqH36*|VLI^IuX*|a{(#)Z6 zRHiX?BVcOHcf~|`J_|xHr*=Sj8IaR!tubeJHNk5NJV$3iv)F8Mf=iqs*h=&^Py`{%h0P*%Fe07^M3*x3vAFvQ|?Fo{(3TJ|hYnJUOx|cxdMRfqo zwoA^N;>a~ki6ksGp;E5RTX?f_j_qtG9@3O$C8J*UMDZJ%efMN3&dRw}1KDtE&{W@2 z1o@n&`88^q;C+MgsrH8tVF+DD;!g!fIs35tqD-zpn#eGM=$ly@6eS>g=0Puqnk~53 z`xu=HoTu|C3<{AKUS+=~$P_qDOtIO1jMyB;V2#W-^sg@QS4?{Rt1$i z&6|-x@4Y3l!tP6GtBb1l0MtY1+GjU}7u)epvrw^)Hd3ty&wAS1ty>(p0x_ZX0(eeh zL~z)7m#ggZ+#?u)vtuA^#^lTnxybddN>-Q?Qin95wm6mLb$AjYr|DGZ^nA*~dF-Rp zY+N(I!OZ8}+6%WK@u3kth5Txr>aDufYq~D=o6&APBzW4cP3JYKfxZ(x$9xAt&`rtZ zs$BThv`N6)5pIrWty3ZUFrkW;pQ`yH5(`nBJr<^(HI5yD4tUA z@QvuMH_wJw^oHAq%d5sB4jseXdZX+8@%4hC;h7rb-d6|AMDxrqZ61s)_}v{f*(Y-Q zl{#*{8-0M5dV-e6)rtd1NBPd2{l1rO*e^df5;tPaLN6!zhYUe7d+JNSx%%WrDQ*6y zeu!nXZlKWKBWuoh`r%XC21emQymZC()FMRuD`>hYaY83jz3PdUNO^d;lI|}h$~42{#2+FJpPE zU!w14TI6J>d1P2cU-uZ>8{Uqy8+f);I)9P1M^8i>mj@@yDvx9SVIsCFl-%QWy5_l!Jy@O|k?c+6osJ-#>s6NMk0eR=KW zRnYB$$A{lpBbhC(+{-x!d-6|)<=;VT;w_D*`;Q|YO*KcJn^bqtzN8*_fiV)K4#6G_ zReVdK_ie@H)B;}&p;D~Qyt~#peZw~$_{z?-MiZbq`X(BoO%)29ie&$ImBJgid|yz3 zT|1&=P#R^LuXTL)#gmiE7xH)qpZGTEr2&gA=U<=c<~;L$Mtw;>1)=qJq&W^r<6CMK zraqnI&Ej~Q(#MyZ>Y6Tfqt;#Oy(qpHUGlQDxv@ZR745c0`b#vL?dr^kT?DExt#kb3 z3sZR%|FwG_1IlvC57>zOBxT)_yjw#1FDD-#4p4}98TEKOFvvBq+8H9h2AMj%^I3L`L4!E9$^<<87i`sz_Msoe9kHAlv%IoRICb5H&xGA{xRH+&aSyUoy;gZ%hZObRG5^43e&XvhU|$`v z;bNR+w1V)-GwU83#>k-;)}g{9hSJeIIKNv*?{qYvAZ(SP^so)^n8o83c7N^7cg}fN z!7ciuki#RuR_^mUbk6hPa13Qyw8p&dlEFT+D~SO)tP`o|O6YB4iNZT`9d2D`ba;`I zAH7^)Imm_tt?zK|bU`q8KL3ow{y1y70-LtS^5WawMHR$Y`B$eatfN*-e>=i6sfzi)bUFx>Ed zIc<4_;;Ueh z9oF1Aquy_c=h%NL89FE#I*A$?ae9O;(D*^4rH_s3>~gxVh1HkBs+}^<(R^V7v{33k zf(LkY<+#gXq6vYuLEIl{P$5^@C+&oV-PIo6pBM;4HW zWK+Wq0E}a-@rx^)maA6dzDH$N%U$DHOnc_>zf!kPLhAb&7azM4^S$}S`l6d<9hw6= z!P#;h{jlh6c$?_~_rVRTho0>-wO`0ADRZ?3o=Fuv{LGH_Pk~W4-A8P;N;Fgls zTnYwlZ2&ySNs}!$qYpkkR*|V$ln;-_${!`11e?81f4-AuIa;AnADw@Zc8n)}Wse(+ z!s|RCW~rzc#qcEQ6VpMrlFdtAW*xm64&qG6HVlxhe^O^VCylvc^)uPYhjTc%<&|Tu zLzrE~t4oP}OkTOzJImg;xMrRUZJO&yPF{0d_RU?U)e%x2@7vhixaV21F9A$mO0)RI z;=xiomIe2=gd5}ty9^8b{HEfK?NvA8+)bn1NufU#o^x-1FNaIkHPN4!RsJKgSn-fU z7gju$malv%sAGVwER{bgKsm7-2`2JUw|Y2IjHkb#Ixc@C%Ln2W;X{Z!@Esv;P;J7@ zwo1F2FFEBALx$K>wcZFL`aqQJx;<})Qsulh>J>H>jmlVca@!MwRp6IH!A8HukGIjPEH)i_s@fkTk zP1SI4M~Ah6@nP{)YCLuKa?p8;^G6s4KUWz!?2YbSsbXHWxEj z8pG!6o^+8lYO*=yB&dEUwVu18=9MYz&}g`+E4a&yOY^$VHWrDGCKvBLdgo5e|F~;j_NKohuRwI6-K}Z+Urv@kbo#+Uz^$U_N^K9a zZ$vZI3R=CA%1SHU2yB?HT9BZT?Qjl$z2uam6{B(#f&YZ32N2UruQ&J=@1^kf(HY!Qg>_?Dw@MB!=ciK3wQ_hSY#9>ss>eWSPVwB!ST;m_=bH1TT-sj`yO6ig1Y60!DW+-vm8M_=7#HU=f~w7tqM7H@g5h|fYu z{K+%D`<%*#%>oxIk)ck_6{HHi8qB?i(6TrbD=3BOzT8f~AW7?3dp2yKrGa6|a2eZA zqAIQm3+pw|o2%k`#ze>wd8mHmPZ;pEdCi|Yt;9XAYwdA-^IzkJ|ASzKRWu0{g;lkA zYto2wEEkyTAurk~gnWa5GAut{^X|;Y7`~^v162EcFjmzzeg$Zy-RqBuGTBVNb;!|` zi?9WpSUQ@Y5kPlR2vR3HhA61zYf&Ul&vV+;_5r`gSOE}y(WsYH$+*|Ok+&8{<*EVX zXkEz&+8OY?FAT{c)Ol9Lh@UK?U&TmW6vEWM$kE0RXR-@p-j>lom*ru`w>KG;SbWQA zqS!~SiXx3fQBJtq?A=J=Ty~%mtud0qqrK^_!$sW7s{QnTiVX=yPy~?hlnEPVRv3(Mq2d_yhnt3Tcoqtf?C$97@h5*g%4P+u za8%lydp`|=XH=%ZPV{|u3h_{<{?O9Cm4b$;Trocp6?3o#!=fhOuqfO0>XVFgVA;txQ8wXJ}26L#FEsYe!pc7sV#S9^mE$%X{CIh*!v!s@S90pssVXVPx4 zKhkCWoZ=CD-um$g0cM5Dd`+pm>eGikJ;q9KHSBlWh*Mr5JcB7j5geEOZ+U8XV#=af z4laUvh(e{57$G-8E^~OQr-LFkUUd;eDKzGf|IB;E@h$5yow#ko!5J#yMfv0=dtYI7 z*`4Rx=V%Dl+V_;$w^g(_`<)i)I9cRSp?osKG7WjWET9vn++-xMP&Cf@LNd~Hxv631zI*r+gY9|2lc@JmN@gx^ zB&;z)*M0`bkQBH_nr(P!-G=OKSqG=IwPQ6!JOI^%MCv-1o=~#}6y#AulcQuGzCYCR z>gvsgOzX!aYR@oCU%pnwMZF@nAC9Vi=295r}H%Jxx)u>Yc^|;S5tU2X5#13{ z0pM!yq_{!-g9~T?BcFEep1w*Mc3HqQJQDS|OM zMk+k@nMt6##v(J%;|O`z4jsI%?$Kt?8>^tYeqNMUWLU^0*kI8oU(e9o`%=wy%zYX` z(arrq9Ybr}ZP8%vMK#`!(uDyB95N;;l`OeuA2nvI;x6w%(CW6qb|XPRDr%tEaEhpJ zx$PU<*xl5d)x5!CqN(IyHXy;=nRJ^(&q=%w26#ktD!jy{P-FYzk7%;`Dtwv>!Axcj zM&AL_s4vJ%zF73EoRckgJy5z|5ZKtn?$O@q=+haMdaH=-k{U#3WhUBS<@fB2d{KNgoqP(+DWbq3mFyBUhR9Qj z6B5g3A(VizBugN%DUWI!oiX_iMraDEEi?-U`Rip`lj<*vbj;AI!;T%&pw^+FIf=qH zQy-oY`Fo6RuW6-?sDZ9>TU7-9F;46Zk6vN26aNbZs0R3RVF-oQK2oTl_7}QkxR7Zd zEtiB57DsW3>nT+XvQ)pO1{&ShZ{Zl_N{8(jsdF!WoEj*4b;V|W4pPm_)X<{znnuYA z?5*@2BM)9)kZP8gzIXT>^gzxy8gA?~7HEJ|V%#74#p;@KbqxQa-j0$xHdmfA4I-y` zqC7rFOU5c?{Wa-6rejyeMeLT>>g;D5KGyiY3aeI$#Tp~MiEzd5VQGnU27NuH94dVg zCzLRGHljbotWtw*M-%}_ETXRKqfTz2?EsCtJQ6@73?swKBe#`XtmPy`~^ymC7(gxVWw**Rffb$K*7_ zcJ%%iS+igSF-#40L{*vLqw?PRM7o!osf?>>pE z0a5t9Vk#m@+Jn-XDRMbD;sG}oT2X|>t}sRnjmkJjX!>^Y88X~Q55SofQ`36f%p!Xn zMcU(RAgf%vMc?;3HTu;<&8+or`FHF?ydWPoW%$AfSLYsL&fn|}gKK$h&GQWZ48vDS z-hF6r+T_Ssi9FY!aOva;h$6>A^MIaeOh%{l_!XTL3F<*B_keq(%jTxj8|dC*$vcT7 z@8=jPYgCC3(37nw@W?h>&NBTVE2etWob1ReFy3@oSR4-zxOpIdV31Vz22(;x+<<4g zI!!BhzUcj$4xWEa4H@C5KmM6EmM|>5rScSjZQMg^I_3YU8UFW#;{WK7P;XWW@z6C7 zkvK%%mKa1|@&3n7!Ae_X|peYJC7jAuN8IS&i3Q>oCeh z{&F0SZ{!mY5D|f*@R&Cqo z`mW}q0qhV%KZz@*)&H3+(?XxvmrQ8^@G6R?TxBza7je83w7Gp1ktjgdFd;nomvvnjlIr1OTkT}eCis)7Ib9$$mDDjSI8=5=h`T{@oebM?B$7K}bk-s={S1noL z&hRF}t^8V>v+=YIQ86lD9Cq9fyUR+k`Fbo5H>=)qQG3lZ+-*yW_*4Ad_ycGk{wZvq zWMJLbmU(Sf_Uot<(X;7emlL$*iX2(^j5)*uqh?`GmLuc7NBEwS-o zPhyr!l;L)+<51sAK%%Q$lIucThU%93Sk!K+=Q=+d=ggziMge|@`-UuzPubR*&5}5J zNSwu6`nW!T*M5xGD6vWOBcBB-+wygbp~(@20d9qe6#<{hT=atT8SJc^tTMb!X&MuUkNzk##wxgTI5bq%?m*5L zz1G<84IyyZ3dK(=CO>f3^gmj};DF2cJq`~e<(J0a!TaH(yXj8Hn+od7WJ>E8tbYi> zG98_hN_0Y&#C~UD%_ng`2$&6)89V=Ql}AChPboLLFjCC+hib1MmiZ{=V3S&~2bF+* zaTKx=O$s&KtT{t}z>AAuJH5dvDM2>@ zr&2-OzPYx?$7BoM|9o}-C3FjqRof*h2R(2&*>Tycd{~D=K+LRWE?Yg0dhN|#&$ZZw zyzSex7$Qvb<@E!p{AfME>h&h1NW%3dg_@@Tck|@(4bjCgn zk{l(C_O0(`HHp`Qy;50OY0h@c=*r}XJ`k4vE? zu+es;fgL}PJ60;fX#oQP8_X99Qf}=(VLI{=8x(m8I$=~w;v?{Zk`-tP8Yd6syid@% zW*<|SiZ^c&8@-Bx4~)7wsz~f6g#m}@V8V?EHjk5OrjwKiUv-TPjUC5Q>f)D6-H?tF zB*I`oef$k8tzH&=5AW;)e2jd}fis%K<@I zZ3L3@%i|hBm-vLGu2bDItuP-u`pMVl=@EO5HV2z;4}^gKyW-6~5vN^vy@kvNUs*qN;_q;1Hu`pA(@@uHIyV1i2;vDF-a!Z7W zVAZ>k%I0zX)IUZ2$~EP2Be2JnoxJGjN8H%clReH1nNE^hO=xsSB<=AHko8CPKApyo zZbb|yq%)4lyd=8yKBaAL{h80g0#-Pv2LmD2N(rP;6A}LS@QsMxj1tVBF?zZk^0+Qa z@si2%%M=3=8|cMrXamOpxlASZ<9jWh`0L6Xgjw2okwxvb;7NGFece>ZG0ib>Z8SfP z@Zq7j_;DZT_}N>(sPclFL&O*2?MNo<({lht`HAkdaSFORc^{vN?8l zL)58vN}!U!W%p3L`gzTj_~tljk4p9W17~)(6gEfO1=sYteb2OyT#Rr!=>8tf@#Woq z*mqjDzI@U}>0F{!1XG46vOL>8z1A_rEl1>@=do_C6-sUFLfxVzTK&6>oND}c@Cg;$ ziEN7k=a-oBpI*>jGu{}>5wgnc{2>pI!;BzhBmb;RCix5J)lYEhcAo`x?7DG7v%ZQS zHaCkT;kXxE(v>1k8(n#khjL!(^OKtW-!=f0fY)@n=Yg-EhEu))9JBWt+`8@kNd6PT z^C(CRC@hvT!t>D@E=+qr!ceFzymR`RiG_ERg61+987Q}i;+2}`h%)Z2SWdY~Jv89U z6E*Xbg2$`_GTm+j-tP;c<^Y-w8QqxYI5K9Aw&Mb3q^UFbUm+)mA}L?t22++T;FUc{ zNjE-_E0+oDE^i4j8v!Ts@nU%II@;C|Ho4>O8qpUNbGR~r6Gmg9?N-li$Oi;ocsDw3Wj4}F{Mn^5lkFh17WAn z>q=!0${hW%Pk>w3JNOF5%9m}DuhZ)as)iSgvA$n?N@tkPjmGZs5wyN@ho1ql?47Mf zhJHL*G(d@3p%yIMC7=0A8~Ln9`CY9?cmpKvU#Mr zqnQDx(7(n+ZS?@)h6Kik`>L>4yo~DVfk^lH-z}nWf30gxr%U!Y*fn6q=4K?vAw(UC zfq>R=OXaNof~HnxOk!A_xokcDe)vtWDqPU;15Ra<*uQx1hHMtdH7d=ZW45W{OCg)C zWcFIPW>*$9^tJD;om?Y{!qs8Wk42Gl0_JZ{o zUE<@4je}hLAnB}d`RHef1o63Uqa*j&DChtIF z*^n7%>D{iM$#7!#Ak1;0V55|N=P7vYRYTe0XG30kZu2w(eGfWQpX_9S00QeM3eKGF zc3=IgoK^D$B--L$5cf3Ecw<*?r9gWjB^NS1bi;p7uyCaQ<~E{E@9&|;urIcvg;HB8U>RReDk z7H_lRoA5MJOmcsK-2i0ldYE{Mifj&vLS;GbI!`Hw-6kL7>UZF-b|TShF-*O;o=fmw z3MT)Sx>djD?DKY zaDSLR=aQRg(Q*4)myrNoxHwQ2|V=q)K<{gqJp_?QY zmEIF?9$#Dnh`;U*ncoU{<5J@J%n_Rh5l@45y?0FET0o~9bssSAV4qZpi;((v(N!0{ z6fey`UNnR~?e=p#F^8la<)L3>Wq+yB@U}}oawc51ezj(wqqp%xE~ou_LzQON@LLE< zsocI`ZIbTV$rkAJL&@wVZga@5ZX%y5VkmiMv9H6k4MtFT-DYZ6H}}xtY%|ZnC+Loq z(lW6w(>gYCdw&T7f``u>7g3Z&2vm*ewhf?tg2Ys5rfBkniUzDiW}cRb4SO5Qvi z&Qdh{Fvg*acCI+e(*!sCDR+br;YaMKQIOzt9*mKFpyXU8}4O3V#gf-i`#OmQU zzg#z*d{wMnSBf}l&fYnn@aC?V$Hn0rlglMf=cNji!kkW^$8lyBB~|$*isLb3$vQ$M z8cFfyG0`0b+QV-7So0(;u=r$$jY+gkvW>rb&4fj=L}P$WxqdHVPP@N*s6ty7edSU2 zM}`9iD%_9pKAXIQ<*5+Qw{%n6%Mp81?jmyJPL2y$8mnQ9_F-;Dn=@2%^d1PEPd}oG z+Usx!AB1r(8908ZpDcghN%#-;^%`sC&a%nV)P z`d5RTrP8F8l|ENl*CEXq*Lppg^$f#_?rMqRi$%dktdyF9p|<3l1Z7=F?x8~TuEcjmKPnsycTR)f*X5qSu}PghyWWLFc^ z$?;))^r;H@WQWvnHj}`kFxjK=9H+EO-SQU&e+Kh9MI<-HdSdxgRyz3gv$=O(9H)z_ z@C)!F+9W#=WRc;ie|AwpW346lrN`-MBM?up)X2Y#f)#mp>JsvxHNS6G$nb zzn4MSVwsIvyv}TlobhfprXbg)OQ`<*&NA|xipW6Z%>4>}q*j=?LF9CXo+p~^$Q4lX z7KRzD0t&USfaZIXA2X1XdjXICSU4+B#cccI5$x|3@YD5t@|!CLXD22lkk6k}F-cMi zQrPx7Pgv&Q`tYWXjbC-I?|IiC7XGL^XoHZG9$WL&ey`sCIfDN0F)>c1-;{0BZvQ)F z|Ng;$jKGsQP?dk0##>d<`oVv@AmsOgkheL;e?+T)^c=;bl_^*3WX#P9X3|NWnG2CK`zYZxwD z2>l27__u#!#r1mum+sX+@#df2Qat2$ES90{;^Y7G)c-5{iT^EloA>3ve~FKoZid+|9v9nF6lONMa<{z8+^ujtdXoE#xHx36LA>$mo0MZWzt z$qLoTIPwDgla_D1@m_PZ(DsLA;-KW#Qgo&5Yq5+B)3a^w{4-Rk`A_ab~iW!^WJ($QBDhAdmH^{CHxP+?%g6|%0z{#v)RSuMEy^lto9$4 z2g+RVbz7wFm6+M4Ii0t&9V#j~M{O{adb&qU=NnDz%O(J4T3X$0@i8_gZjL}38L4Eb zE$%(nVZhs!q58#*jZ0B~z2`#@$jGtMNSyC3tzGkK_6zRc+J&;sc1wt~kecricO2U) z>Z@d(tU9CHsXNCbOH}ut1cp#**KfP7@8I~H=jT)`I`b?Y>*}2s%)M+r>YesquURkK zcJ8o>F~{c=JLbdT8&Q2dn#mD^J;Nt@uFDgy1;>dP%O$_hJGd-(0(3r4yPmjsv%kK6 ztgc5IJsc;!qQ3++kv4H$&{cj9wZY>DjSC#=^xK};Wvd+W1c}TGNmPo<)?Hw0W1C$r z^K&`%4V3gcc_ni)XzjZCS+*u14T`5ANqdW%!2S}TbMKSCUg(*tcYe_?(io21h$Q(l zn}H0c*ESP=wn(XMRu{7xSRhw@my!E&=-T)}JU4}QJjEu(%&+Hk6H??!W4vY*di64# zV721I)_IqGa^K1l!_W90PDqsyQeF+Y6g(4=w79X7uxyKe{_M+NkpmgyOSTm1xz=1d zwN=zHZGo&hbH_~J*O zzkgE3QZo{=FC7|Z3T8}FUf;6tKB+%(d?Xh9myh;UA#Vkf-Ad+~rl$QCDqwDF-JSKe zv^cY&hn2g`e)BG=BW?VR!;cNh%(Q)$5iTm-@|!K8+{b-bZ1hE8limgiIoZ3>toHd2 zZ7^R)%5q@k^J@Pga`R81lKa5>UE~s_peO_aYJ(-A=PXvoMnUSH)=FHmVqbN`_Vls4 zrOS3aPr7`_dQ@U7@Xfi+XjB)=Jr1FPSNGRf_21U9C?e^ z@k2G#)gm{A7iwBF-2$5sVuypli$^9MYc)H%Ool;gRHc#c=4sN{q`{U zddJ5vLY*0#cdhHBD2?O<^Q}IRJ%aEGmcRH4+f!CsTJOUK2AfWwbU2pu>kW_c`N_%7 z@o?-{d3rL}JAb6W@CV}i|JrCq>@bs^3b$*r6s|6(lD~boN{O>~FmJb2q$#JT-kmS| zcZ2z#@oi7;x8^#uE}gk79KgmP_FnRxP&o1yvyn67pCkDHWKR$M_IFoOiB~ZtwVT-a zQ$vF3Q0-xqH`IP2lOc2LA2j5jE~kZmzr4Qp`@dGOe_M`#s*<1Q{Ou> z9`kj~P#W`|%8Tt4^2UE_kxM9~a8DM*!thD?`S~wiy#n@dIc^IY$7}tUjuI~-M4+(r zWZP*PITH#x}~930G<^`-c~eIb_0$5drir;UwoZno`1 z$}wuEH+S)-JhCyZBIGInK`{8Ov4flwrVGGIJEjYmFs?I=`6o*KUp8!-@%%fV)BS)m z$C~~99}tpWo;-`7cTW4*U(u`-VjWm}*V!i!N^-C^Cqjhk)9C&_n!Yn`JzOj(;=g`^ zHeKOIFJ;#8OA@q$Em}=emi|% zX4gq}xb`53RTjJ5rzOf~p?-JTj;)x=ZweC_FH8m4!F0c`|B0>s$xCArq}<)Yqj|k_ zoPo^v4Ffd0*D0R-S^2{dF_~XoEQ?F)K{GQmi%U!9VtOLuXE(!W1U8M%$0i$ojvH-B zP`uDLnW*b$eA+u1X&+Q++aMr#8&_0Vc){L27@=BMr+-^=#G~OwO447x2n*>mMX*Z+ z&SJQ}zMh?%!`gtd_jFW<;;Rm7mq^@Qpz#KN?%p#EF927USIX={d^{`DXfiSuW@lTn zVk^b^b6eL}Rsz??0dEd>QG)2&S0=d=Ny&ymmcyoVg!!!4q@=KX;3FnRV(ZAz2|MSS zZc=ISH}AtuX`vxA(@Ssc?1Tj~O*!LZ2!RW{;i^yLjo|9)I`&rW`0|E^%-6SNCSr!) z%V}V94=}KP&Fv4n6J?U_PGXL+Ha-hbCt&M|2mfvHp;L}-L6~)9_05|&`uiGuRI4iN zm2AIOC+>~e-s-{KmWnG7Z~xe^HVK^=p{#L#Fzk+qk^X0W^M`$!sG<2fe1fO(eqJO5 zrX(&jdd~jrraC>UzxvjZOEx*q)~0z?PP2{4P>w35HFJ)w;oy$vzB*nkrS1YPBd~>u z%s%zUc^({}jwdccZ`t^qav+a4N%Jl<>5*h0)Ol-M2@B;Ozl@Qo6Y>X*Cq?S4+t3Qe zs>wI7P@X8ym27Q+S405t6{dn5QhPboWn(E8HwF7o; zZBnY3_nk_NJmaZr+HSC>LW{~irDw~W3y}~p)=dm$O;&4__i~omOVr=0fyo@{vQnU7 z@j@$^8J7sLHorTvb`F1Xz;X($#>sEB>f&b$P7aI{q$Cm}`Q7F?)z?2|))#?!+}>GE zC|BnX2^##h2vg9!N^QmE9dNa!*f4}e#_>x+fVX_06xVi4U{rYo{N$g4$|0af!)(oTCLWXWr-jg@Ag!tgC;Zql>DLDzY2(Bv< zOCxtDF2>;PEDr@CQ ztCFsSS4Zln3o6a~mRW9IN6x1nI$YAFcX!u1^)J{_`TnO!=0EV@-Wi1UyI{Y@RVw)u z2dP%f-ux)VFqp#lQ<#ct_^1FPgxA|_2X8?biOxC3h_u?CYSbp@?6{ znHW7kfGOZ{(|6RMcLunR+uYuq=C8vm&#>z%mW*1>{KNfzsN;W;O;dajLH=y|Z3 zTHABAbD!D;K3FSrJvwAsT@7qsYH{IrrX%6f_G7zs1Zq!bq9=lqtv51f_czu<3cNgY zfK$yh-Wh4=#0%B-mhhiRJZ7dX_jvTHwkc}pN?(eYYZe-Pa_ zQe(#JWCcQtIm2#Q#(QC6rh-vDbhSK)IpqauXHezkzm!ZXc7*m(L*V#b#OZ@K1{~v^ zNVXzR?Zdr7Kgk?d*G#ua^QPw-o4zU(ApY!$c+`9wqjOu!n(mtvk=Zrpg4Sj&pJM$Y z4|gv$3ikag87otty>|DUTXgmof`}38^W4;**0kY!!B;nOgtoVXKOC$Y*B*83yKK#G zOVRQAo@Sc98Qx8DImn^js~U)=~!O}K{IJ%kf{Qllq>Q zoH?B{oE)p&o-?KB1v9gQx-K5oI5RbaPD}E(Ry<^jAkJ)(ZpH#SyIyiqzPq?+#s=55 zH%AR#_HrldJC<7or}2I+>otcq866DW)+n1-1-Q5)SBQNnz!ja|u!@jbO-mA_Eu4cDLZw3o$Qk3PG5P{X&mrZ5=Sg~gt(yEPH43~nr zf7ZVCAZhpbpht*B7^l6nQRj8tz{BH8E2OZ&u@uS(x*XaD;tX!H^E*zZZc^n<5?c)t zg*7na?Kw}Jr|P)OFqqc-MCz^0zAk6mJ7#+mT#C{G^)lt5J8cq46N$xu_~G-SQg8Rx zQ%54OLJ=`>iYjt0d(BqOV0u-LV-F#lQ$um>{ccGnhMiVTLo7Gc8Q5F~*Qe}q&R{s) z3u)f8#i(wN0u%ET|Jq`*WZ_+mK4m2ucIi+Q9yCZ1q)&G?ug;yiesHz)b~3V4MNLH^ zt(g~1=y!>Aaan$`33{Jc_v;V$rjkFMAf|u@Ol`Z?$Cgjj3-r~JJ$}+VpTHqnx%mC1 zu9Db|@5$|tnb|~C+m;~1v!ty+QcF$b7Vc!-g_N2KJh2I}kt>7NZ|$sY^+xphbE3Rh zN?dx9lRFYA0doUOS*FEEMWt3d&XW_p?gl&2lZPMu1Kj5}XYz{7FogHO+#hBv@-`cI zp@l3jQ>XekUS!P!Cl5zgCI9_12ArEM1LoUo_7nR;lU0qUNJL+2XjPRTT(*&*##(Di z6|eFSis(OFR)Xm6&u)6rDMzQjvDF-t+P=BC|$Ck;swb5%gYK4^6#PhS^tw z$6jRLu(L3AcLbEep{;x(qt2(*(V*|)>~v?*=7PAwRG?n8oTsZG_!4fNO0%TuNm2^Y zPLRvX_y^2TLUbh80n{-Gc!al~KMqtcxFggO7h7n(BEJd~{gn_8+&44zZ$Gzv-Cer1 z4a`~9)O37XTs*w^K;u2uOj=#7=Pv3fm@U&T=fscfF9&&45#Tm}LAs2J{(FFKjA3lh zo_*(Om|WFmwl@4o1wY`xT`UC_g*xT_4Xe10om4@R`l#Fc{aTMhd6@%rInaUW?t~L= z4~1HP7?Y!8HrpSm^DX+IPKqxDRD;tHm^V4DuCC_fp@kUr(0Ff6Or17o zvfhT)#E#GJ-EmwUhjPhE(RsUryu{Ai)VkglHb@AZsZU?zUJbIxn-QWZ@RuJdE04|? zhkNYhr^)~z)Ad%{diCYgjV(*2#Z6sAJ+TA~@`&(*ax9|;YPcafhK(BiW^G%SY$14A z1!u`9D3}rNn{Tm~uh$M6VACluaSu~Zm$koc$+xr7nRgnXxiK|hB5Y)P3qwNXb5~I# zPa-n%jFcK73%}G1%x(F`DH~qu=~*!fN=F$`OG)|ZoGXOfGvgHZIpY5(H~UYj8o?m& zl-x1*Aa}Rn#ETVb_5FzBMYrQfr@547q}l(&-g`$iwXJ)gp^G9Qh=3rVC~QGMdM8-6 zNE5e8lM)0?klv&v5Rk2i3aCi0HV_aZMmi)Yy(K8U_a+bsB_yQ1#X0wmd(OCf!~5fn zamO3u{Kv>ztU2d5zyAH^H`y$2d}Wt<5y{-VCLZ9EBOf(=BoE&?MZw`cUGPym@T3Dr2qLDBPX3Zl(v3p`$A5T^n}Nk+GG^Q-D`j z!H~$fku0RUpcbl**3e*9L;g8PrYPYXQ_WJ++v5NFL%fK_2 z>N8%P&lEhwImLxvi5q9u)+?tah>szboM}kp1C=rAnu&cIH>kSI>;5l22JsfHIXgTp z6w*?*($>lwMWoMf&w25(i4H)#^klB@8sK0`;vrv|AYCaRix(1MgY-MDpOvx@&Tu{I zioWs-K_O1Aq(hF?8j{&FibuS$Vakqh`bC0`0I_~m@~U0g+*VBRZ0`oqxNNJGXADdv z_mLUfyt%Pa#4)aE;*gl|##kxz?YC9Bj|Gju$2-p+GX@m~Y20uUXzNA%UKcIt7$*!d z7&mK3$!u+v?%t@Z{B~ob?NMaUQrEYaWI_1K3kR;!@P(M4&NUUq(uj4l2EN^hdMAuq9hE(YZGs!~%;`(|=n&TWgK%NkB zZM`A(0=UXY2LLP*n=}q9K|GLS+sw|W5b(zOD>D{9Y=~aZeu52NylrN#*z{x6;pL&m z>5;?_WPG@HvF#w{h5UEw&PL{TrH2@?wo{7S5P8n%C3Qs{1Be zq}#(TRIRcEaszEjT;hXH%i zG2vvL610X+Nrr1nU}@>@M~t}84v(D;f>dle+5i<9myPw&Hn{4*w-UF|>G&sz`GNR| zyfAb3T0u&yG0!Nmqd$2n)ft>Emv>>Y*OHa+fZ~>!mV}7JKTDoZx1$J~D}75D>IZ z3)Jb+RI(Ct>4~>Nt>&<&GA=9q8l*xTNm`X%A9L0tE%>0*K|IFG20j|H5WqnVrtS0| zBJzPPw3Qs)e;FWkD(xL7IOIyEe_+V9FxYXg1%Gmv4Z)!9Zp>1`t)xbZ_5O}P&?Cdf zn_%EdQ0uRse{#juttb6D;v%hI;%SFeWpO&2m%TYturaUVgqR(=NTUhQ`&ZLHjEG7_ zZMf95V+QL^SrcW8mm=-zl<(gQDWxXy{8Ch7*(@KcJc@!vP_{G`8@VJc=1o=_$++$) zUmvE^=ZDOw>3+XNdg;iqaE+yuScht=i|a>CS=PK!ne0YDz|55uR=s z8w+0On%J_Om*;vu@9$2_&-l}4)`T;oyK7VzKK;_A1{?mHCv8P#WdaO9j(^k9`h2Dg zdB%Ft+x7|3^d>QIs56cxYk_YVOt2l#A_V&(E#{U^_GR8b8#;hNawQzBnl5p$ON-D$ zU0G;rtJHjfQWNY?+1#0Fn+%Gv|3@ZDu$mOiRkM`B@GeLI%73EL- zZaP18`P$pvib(lrc6@YDU^Anc>IZumY16Sn#ow)C1Ya{tNu9Jjq}o|1*mNaGgAqAu z#-sIFshp10N!Dfg{Do;k$T}}3>!1ASbo_edGsB>=`r!tt???Ta*ug+&7jsd@y4!)u__2FeSSB=iS_^YHk_TLd{}mCqsx{m`k}Z5hAs zmn^P5ws~qKF_^Y9LlXLH5aGYs$PsCFgLF_=gO%O4Uif8jFZtDxy2b;i(C2EfSlx0< zNnB7RUqj-E3R4rM)Hp0@)`;?xr!A)1mu90_2hcDr$f2&`Pau>NQp`Ar^BwnX^b{j= zTd@)4sFnPU`Hc7@?Vu{ zBzXS#q&ANAcBLe;l%v}aq7Up_M|ow6ae26Bm9t2%@@y8GgLdl#gl>IlHx4WN9a0=8 z>FMZFcll7j?XfaseroWyAcjj`B%K;PZ8SbCK^tCX;X-dw_i}pK1zlu?jk~Nw+&9jVL zS}`T!sQpvpjPdE#fRkCYA(GZkR~ht!K?0A@37N-cbAQHTslACJVuYvBD%Y8Gn9)@9 zxafTuX#_R(1Vx8k#(wiX#xBj1c0b)f=2gH%vm{KV4tZvfC-2j^F><7=NC^nhJY@3D z|CqRlxiWcqD1`CdzGi1H)c|`{*CbF!Y4ZP|%Q9*dceoh{bcE({7SI=4CN&v_pWlJmcC6?84$XcK#ygcAg(BGJmdi`%tANqjKa_R`0KxYY~<-e}DGsy!2@|0`#-HU65BLI7Nd8 zW*9o_q>LY-(Jpc>Z0K*!&$&>4D+>gE4&l((822&>=sf)tlVR31J}yYzKHP-Hd$fb7 zWphGorlxjZFc|3fZ_XMWh#_=F@hav8#AXqnv~8h>K@T#*w~G^qk_?1SIGuqIA00jc zMuba+Z*#$?OHj)mtSeu;2V9Y8-TFqJw~)3`u4}Vybc=*`Byqr%Hp9o)RGvL3Y*#+} zi}{Ig8H2gw@l{hB@}%8bCXHLzdfk#e+5gn(=l9?4NoHE~~dD#x;lp%1?yca(^4IiyTUs*Wqw1nV%SQ21GQKIl*3Zg4SfCXVCGhy3q<)5Y#zqcZ@~WZv<5XubXhXIGjr zh*FwoJJ{Yh=jylCd^+;*$?I`JlWop|FQ6Yt))J#xg>}>o#7WFXN3Z=I{cINU$P~S^ zU0JtZ$im=dHH)6w(^ZXdle%oFH9zu$kc%KekOAZFDaMpV2p^&$9;2IPw-ev=vR-ro zS9iW}kQ-rvpF2q2=&qbaAZwC=W?F;#8i8l5zwxQb56`PSWKI&>fi#M}*ETp2#hc<` zweCGUB!(7U$Zp9zXrQMm$%RH(w26zR;kiMFI+r+X6bw|WHwWEW6)oRBVs?Lpl+u}z{gxzLHC0zG}~89;;a)E^Piv(`RZBsua10E zWF4Lw_)%nT!04E{#w+Zv`KSMUp5JXUpEFEao?UEzyLipMSYBD&$?Oo0)Jl z*MGgmqZ``(oi6`xCgv~0uvppa#Nwyv0@L2khzxWnVVnQ7JCKBqpdke6n&e@J`7|P* zf6!z>u#S9^8!vJB4MXW6*l*Q}pfG`e>kn5cZ_I8<-0~D`<{H(Y_Nov0g&7-^$i; zl*o?tPZdsu;mn|Qy4E$Y&+q^(i2sXWrlgM6(RY;&2tl(|kDZ<(dFfTQ%3omKK=lh` z%4_X(yKek!F{|FY^7P_4K_HFmjG)FS5PK5rrh~FZ1p!pUv&oFtU8e(bj6QyilS3{& z;5?fhBZ_^XaPLliFegLljHKhzXW7CfvB6jUb5okAOuU2OvGv{q`uFEAX5g$9Ybd14 zs*zK72}ip|6IW7nFPvv_GQBcA=*tprc3DJXIj+8Slh|C=7|AoS+SY%y%d0R~XxY{* zWI^|pr>@q(F!^8tXl`SRce>J!U6=K(3SqbePVWapswZi7S+Rs6W;__8q_V<8Uc>(Bj9@1Bbp)u?lVhI+MIF?SUNsEj*!A1{j)zIW=Avu3HdIvd} zm-X#iv6kO&K~`FNeKp@BPH^aS`{f1E-Rvk!$pv}S^17FE#xF7|1Mcg{`k%u#-I0+! zzZQBhFe-=Pse6N8Q02FgV?GYKvilU`0WhV@JuVQBwvv}Lmz z+ONwP6(^nXdq{=y$JyTN*=Hg$Shl^PFHQ{Vt_!hcvTQf4Ej4Y=P}vVSuZ|1});fGj z!&~#uTzP>Uy(N&e3+&B z1W=p2tNQ?^*}xwAVP@>aa2ZMc8@WFEnE%veB%z}Y$KCGP!pm{CIJL9keIz6DtMqV6 z;5|4a-ME9x$@xHxwWj^?>}zu&GpQ%UuK}r8P^B(=weFhEQ*`Aa5T?x2wS9{WHWd39 z%ftLD<@)d1*J+yjTyuF^iY?>L8};U64T>_EJ}sJkv+* z;)c+MwXE>;S|owoCjIWLyV{0FOr^cUwHKAfAu z=*AY;Dki&-iGTn6)6z?qOPx_9SBm~J+UQGI;9MMU zWp%yy>TgmC$+GA1ZQ+67fwCg(eI=PAG%Ly9`|t&qvhf%x*Tk=SM^2_=jXx2LDk zubd(S8ogWTm=&RZVUh3&t!e!xp=y1UWmsh(e5T6>=w!&h)2d_aCb;9Rt z0(E&W$at^WF_GiT?bh6znyVGyL_3njwa(^%;t5%wnxOaCRI{$mLv#IC7e2%1od`Cc z)nybdW=%F@f>*l-p@o!$yy7MRd3M7QNr0Zuup2}EaV+7?7}MwNU@oIBa#Aa!aE`i@ zB&+tB6-mE9SAT6k+o!Toqm31(Da9pbp5Pz&4pdHLgRGxuC7^ztmdJXQ5Gpnu}l`gZS@WA%-z$-!S6gB0ws|AgCiX5azgcSB3f*^x30pOY+B8Ae zpU=i=OU>)CIr$CM%=n3ZwSRg?wByx>8!@@AiKdFt5XMR716z`$P~rPm_I{OZ8VbN4 zo^5A_l73T6zOyltAq_p>BAOY6uZ;E1<3qIhW)?wfy9w_3bTf$j5^(rkk6iSw;yXxLk9#!HsY|__T$_ z?1aT#)Y_ZK`~`d+ll1GQ!K-?XyR3$_SJr{d7*+Ku(xCZy_Vey}=v&RgqaI^DV!K7- zxlT51EBeL8haYHZ2SKSIz)9uI(DFUmhtkb#Ructs0L{9q_8nmvxM>f30juib&+*d| zJ<4j#qz&XMjGGF}(m&!|t9p!U+d{p1aX|z(@xWU3`S-j8mg|!gJ~q-Q-7}SZKHXR# zq2yk>y}x6@sSDk@*Mf6Yz^g;j9E|+sbXC1X#9w(gxGj>%5;^5+PzUF`;7Zd zFCobv$hs;obhWh;X4hq>XJVdJ_8~k5bu#YF8KvcTZ{1p5U3wmC+lMv5OBx^)nfjNX zo8y|(CYL{8F}lM&l9vYMYbZvqV?~a)Wl;u~FeYo(=R-~mGsuu#o(<{bP0@lne&m|bREoM+1^{xw9@)~xf0xU zbx{9!Hrz+&%Hvaxp<5RbR3(dMRXpT*H6JgGKjb&lopKmzCtoYn;~W4333$$1+N>EK z?oL`G-~_ftZJ}7zPuEoOa zWWQ9^*^mg5_`pCl?t|`E(C@>`9_YbGB(-%UU^oR@wL|hM9$!9N5^!%Kw1CnKnI)tz z9_%}G$ezTsFDh;OpkQBS$U)IX!;s#~VLqq&;%}XK*c!Z9l3=TT=Zp4SY--o_OUFEH z#>JMtdLdZn(Od6xQbb)z4MoFF`Rc&BQf)U$Zgk}`Qw zM(s7d63F|DOGp)-yLBc)pG(KTcIf+5Q7>NRuN1(4>xS%H!{1kqoeJvRz_K#^(W;_r zc(Nr2cHJ@tl=)7&-W)%aB_0sw6=qJ8!pcNM+N;oAKigmI(_}p$T16jxP}D$z6#01GhUa}sqtZE39a)g z61Z^6dabrvx3FX0X2Sv#temyOXw(W1l_7LI1*vDY3efX#9Szg?js_(r0*M|=`;jGc z-C?8fGCfV)B*&z${{;)4UNNL|!eX9@U2o(OfaQeN?_i*g954Fs#nUo%IltUuE(UMY z7qu9_E{o$&a)fV*9Z6RKVeY#?I9I^p&N-x#o?A?*^4Tsf0J@+1Nv=x_h4od0_hiTR zkBK~6HF#-zAnzCC?)PQF6Z(?Q)X0Fnc!;l#v$YZ8zPAN{KRCKQrhlA^6c4@e{kq^p zu?kIC@vdmpr9lNSbZUX9hBu@(n=5RjSYH&* z+Yr;?X9>jF>6_X!-)#~$*V@treV02tGBP~8UvYAB!M{vhFj9SA?-3rZI5$5(&? za_yFtOA2o0#bB;qT{EM&O>>DHpV2biGL0l%hd-zHnRVbgG!u^$e7SsB>Xv=bB#l!ZD^y$6;Pnz7}=seZRQ_+&Hc;HTp6CukdI(-gVx?xe}ssx=1 zj4@BkpYO%r-l=N6tYdvic4n!!ADZrVNLUHiI9k1tQpVR*&sW@j@L-g3*SP3S(FLWA zIK8Bu5gxv;^DrqS&i}gP8`Hev-miR^KJ8ztwE^P8!)cy9KYP=$xQ(F)mUnWn##7{< zk2+qbrNt#XO18fdZch#p&4?{HXg>rDQvywq54@5_}{+-#_GcW&ge5P0*# z8kXb$-1@LH+ewUPMq{A#!(uxCEPOIP#bK;TM-m^zA8YQMrjHHeqv ze4_qlo{O`y%y8162}Sv1PI%b0$B%c`gE?KoZhD?X#(bc}iQjlr>lv1X&dP-`7hHKu zK8KvYf_`|ZbbdYGgS2uYW}LF5J7tGeOSO7wDSaiqfG<(}#!ZN~_425y0CwGU!*=q{ zCsD7rLpOUlL%*=rtzGq&k?K+Ed{pq8u##18WaL%>xlbFADRR3Y8>R>WHXR~Ze zDvFm^ZVR#KY%CcGfS_nyug;YACmyjv*T>Tj*n3Al#TU0`(c<;Ks1vG#T)e{HB!_q> zJw+L=B<3FcVy(2y!2B4f^#9C_v#KjsWt-5qmB0u&6?@(qBptU1-!CAF+?i4H5?^7avXShd@%-nN%*kWUzk6}Gu^hJ44cOx6ytzIxD zA|I6KM$M^rT<9#kN8Rx|_pmVIm^aF5u`LV;JF+d=L)U}*?+)%%o{Iwai&O3UvQWqm zy<(Ul$J#-$c(aN8oUN(*o}81|%}1WZwM*&gZ;rWT>XbD?pCzMK3s-_hN{Wq-el!gB ztge=gmyMb&${*5I8%S+sVe7okwLMasyLb}PZXHD97|zI!q`E=e3r?Qkz5DRWned*~ z^xK#=vUNTqHwc-9A41Y!75w==YsA|;5p=!&xX0+vY+kXn@tcXDAF16NxvSqhvdky@hRLUZ2%>Yy*^Krk*0u<5o%UY& zuzv0Kg~2{}5lU#J$hrv3FDV(|S%l@EAb7Ag6>TlKTZ(_g({4~*73_xduX}SONBhwz zp$eM4UwRK=9sAu2rdK+hf_XL8Vl*m!#6_RrL6nx3X76|R0x7(1<8*qe&r4K$USD9l z@0;i0i6Z$B>2|F|_cNSo*^%oz3uVc=VAITg0O^d-+oC7Nz3X#Nd(Cx2i1$}-+A;6E zt+5*r)V;wEWs_lhDm29|b`7L+Dc?IsuyVT?yMb=xEbB&l>D|gLr870>%2Q3bS(9(T zk{ovC9GtY{-6*~1{3%DmUp+|kJa;LybbfxFbdC|?JA4d@4Nh$wSL%M>_)L*P?_Gwq zCU*X9SO<{WCzIne$R2h*y;_@t-OU@f@zbrhGa%e6x9lqdab}M_@=<4%3+l8 zr$?|yxNm$>`^(VwUuN|GvuVzvJ$n%7>PJju8N5uBl|4x?W!u7E`_#rBu9YG{-nBoT zlr=d`GPMryS5&eO(Yk9YuRZDe`{>WhnS~pqNo=K@OSh_hzNN-E*SPYmE|DV*8Q)7q z0=>u+KXmNDDXzefuEry|kl`;(Bpl8FSBv6tI8)XNb1)Y#bx!ajGTt)lUF{{-y3U}$ zuTTDVH+}pM0<58pZ-@0298}~zymdLq0+wN*dZIZlzPYDo1XhOBJ!LrYj`e1@zb~!f z@-8SVGt&V$%p`c?M7SmLR;$I|aUC$Gq^wlIrmtN254ezxxWr;i))+y{&qHoZJK!WP zGrcO7U0g0Q-E`tRWpQqNl4>OL4qd2vWn&zc#~zWsbo&0`zvZn78KH$52jV0;uEQrA#!D zb|`OpffzGT>T;e$5Pdp^DYo!k)iD2?OwF!H7ajlzWr>@S)r-UMoFfdY3Uu2B(qd%e zn;|u!Ix;c^tcG^WL)u5(`$^DM7g135i+(ruVv`&Jpv08+{8BWodD=qanWRCeULR^D z#z?s)|rWv%lus%S(b&`?gDq8ru~Zm{PN)rP+;RO#5+2 zzC&p&@VQd^uv!G%v}oL|d3NbsI5IyZdG%dVHKGcEmE86(@~4z3LI@_q4mHcO<4UC~ z@o*&3z`#ql=z(IVovWW+M`y3t5uk+HRJ|J8D38kaWYAB5l|`xBmaELk0gR{C4pk>@ zmKOiF9BUX+m&guiSL1n&6l<4fe7s*9lRDXmm3Ys#I%E(4j285ktP(Mbk8MnQNm^L( z#J>Tl;6g)kwlvm!pRgO4M?U(=Jd%*G;XAkN@jMpaT=l7n*gh`ugpKQp%WzVp_|tc) zL#iyzm;as>44t$A*=^?@o!S^4e#fn7mCvl^^LnEGjy}jnG1H^c77>~8=y@4*(E2Sw z8p`ROIr!y)&lSxZ-%o)lOn`)aZVEy7A(D%uqoJsz!eG~>`NonTeLJNcvp3xx-D~@3 z?fs~2yHy3pyi$B4#BSJC!5Um%hNSovZM&!T)$D{5Z>>TMO8eY9?P&gCN%)5HD zP9ST?2M332Jsb8U(tUtPro$sv{#8{&E~icD))v!oab-MuflZ@aoGu824qO)hzH#d6 zoagV;PTYt#R!`u3{>wy-D(B8L%s|zH-!#0BKbd?(SokGCW4ck;}jWo56Otw3EHqR4z=nq%l#f!p2tu_VNUfHEVP%;c>H zyn=tLWdMWde&hwnN8xrk`HK+31MfGTNy%S`>EJwnWN%AaS8$}OIiNQ~?(iNu{GXpN zJ#-ahGt?yhw;JHTmi^fc;QCK#H$S}DL*f48k<&jZpK@sr7XHU0t60E>TlyEMz5ZL$ z{+F+EPC<&r>Asl%zu5J^Bml7P7og8>*AgEK{N?li87J}s;Juvlbm85D`u})jqs}S- zvg*wLd3|3BeFc{D!L#G!9uC$&9u-~zyqp4U%i|{dQ7Gvcu$-^4d#3SsY2wriSO**R zJd;a%xC#FtUfoY%IZ0*8(f>n=zox*aHn5zZ8gu{i%U{zz z(o!1O#s4tn-}BLbm~tOp`wvs@C$|5$nliI6_k(868-IU)-<^(1Eq@ZCqXT!vs2UL? z=5u`c)n1d295!<@h!64#R16KRa#=~66p=Vy)5&fyIB5c^csT44o)ael7FEKmTRo4r zP?Ib!bFKb<9J-$!G~t+=n+IAW==7mZ#8mSU5P;$PWDy7=qQ_fM4nH!L zCYkaPslV^3k0Y0)&I5S8?rv3}C4{7d!-@Vo&&r!+0AFxYFDM|OA*oZ$xpTp%#|O0X z7?^UB?cRp6!hm%n6?7ei!^JHut<)Nb)gCT8#WHbFwo<_qw7I>dfs#K5J+_ZP@K;Q- zu4vY99N*98upjtj1E}ez+@5=`ad)_p;N8%WA@0hu-{3YSfW;FM9NKGN|M86qB4BmA zXxd$@f3N)hIoRjjxKv)|>wZH^`AqMoAISbW9D9=)FpiD87TnC0ZNC>MngCy@f;ew@ zXkS0$DKPk_lrGMFUyKz79JpzGiEb9FpdIk{SUTk) zz4wNYcfA$KRX@90yKl_O%1Rj@u(tN#<_K#0wmup4=O48@x?h5jLDoT=B+`ryaA13R zPzyo!vF|t?K_bNse7*0oIa33)fRp!Z)7yvoHj%sT&cvumVO+dL!-i4~KVF}TFuQh5 z?F|L92L!0~71>Ev2d&2Gt`79GQ!Fy{L@o5`X5#vR z=LFfRroM4WJ~0>51bRv_i!RUE?CnnY+}zDGF*>Gx zSFOsZ$^{x|0N+-s8NJ0RqWgokCXXeF5xXw&U9qt6ULGq&8;fg&?F8tN8WM>0lHeom zMn)@)^&AFd_NBYTBiv`WTm8}v`n%NIXeNjjCv0rt*?*jJP+E++N;{UJ1ql!fU~l* zR$S2IULcSm$oTSwTLr^@iDYlQBmIZ2_@$^Q0Na@~P#t99F;a1|pc&}-vkB4q^y>%Y zB%MGYEUc`=0-ZIWS8ACTyqWff1IXSm9<`LcRvc+52Uvu}tO|>~L7^Tzle6k=UbQTI zl~28v*^jal?zZhiDwp@f^rtW zfCmPTWIAM;;~C!~zs-TFbT;1IKozDIysn$dKg+guMx-pGc^Vo}yLyD`%}*<{({NwdDDDnsJ%BQ-o^5Q+;@#5mJV= z=hh|u41+M4G3`yS8am02I49=al!}J=1wYLH$R07qLtY)JlqW5Z4u2{S*~o?d76rY> zl-_%a3W{qNSnKYEm3b5E1A`@Huiv5mszC<2$>e^4F&-Tfp4v=REeYw)UG@ZL>Tki) z4dDv?a&*WAs>#uh*~w{cj&_PSZ*Gl%5o9_K11yFlBbk5b5qr?eIz7pWpj=g!9MwJ) zM7TDL4nV&68gpaC(l1BcM#-@Q3(*-1-Y5#*Nrg=fnn?h+vPpW5iHZJ-Z*?0-*cERZ z0%}FCkp0%h3-C>)0;%i6%6rGh6IMbCpC&vwtlbgY(2Q+LrQMdziGDxUWP?M#zb~-I5!9fK3n(eVk=+%gW zYj`UPvx74wBkeh63^RZUJEybmk2VlwadVB3H&2D!aN(TU@jvv9wjJLv4Gup^(E40T z2|;+&9Ba88H7Rmj{3(Nh$^Dc0`0!FXdxTqix_7M*9=mn}C_OzZxzp+6F7Y2`+q^&ab;~4YR)GQ)W`C+3j~>^w9?z^O(TLG`=m{kN2mW4*N3c+fAcE zqeAXij9hd~nbv%a0`{)d#8aHAWK3XZnhhGN2495ibey}R479Bnv@ZvPA-ZTIhBbEm z!vfGjG%q_uaSXAsk{ivaM8jN$%M>cdV}E4plcG7fTsUMfAoYKo)U~*w8CCN3beD4^;$Mk?2 zH^`EJm19wxu7N47LU%r^k`;V&c%4Hc<%p2_3zx@912y;jcZERo6VrrLHXfYc5xzx& zTorKjUUg+H-%~NPvl2+T z|BxoMke!n9WN|Td;AJf%Xn8&FJlVZGws$ZcfT^Y*NNf0Nq`9(zMpiAUdAfF+x495iE3vD-{$Xp^+m)J!y=xQe z`98(m%)4e}_q7?wcTTks6FRT6KgjhD3D2s_0tk-Gr!7ub6G352Xi zZJf`BX6*Ky<$)2m-5g=5YSqK(`&YtRwCImg2Xj9$?k0_3gMH8K?Chu<$$1=;LT@dC zv19s{TGknoW|^&HiSUDGqiTRI-uV# zcp_J-N=uk^CzMrnPvF5!gdV*E4Tyk+rZGDp0Imtjw9yy2IvXCK zwMp8D*O_CR^Dj78p1tBXI1-<@Pk14?oBoWkz`;hpK8@Fmq%UtFeV3iZb;I=l#LRD4 z$@YnzO{2$bu4mYIcs84_a}M-BkGry+MtDkMUXG_8#03R>)zqiNi|ZdpVTsTHXk)}d z-0D!NYS}%0B%r1T!#QYNTwE^9Z*afrDDzi!hD^gvSYyPZnMsBJcorGPoMHm)kINbd z$d~mtC)i4Y@L4k4lT(e)08ekVF~LGV)0i_4IN8irf@EfvsBic758K^4XyAT>x{t>O zlL0cOs_!tBLAN5A`T2{%lt;4Zj~U2ux^F;GV8h_@A7B-gj7zK?P(Q<@K5T%9>fkWO zWXXG^Lb=RqRDeoaaW~nqR-z7``-UWpP{=>pR~z()`!t7(dgbotgwA2%3!}S%)$GBB zB!zT9;})4e{6>u)j}ID$D%yd%Gc zm+Q;NK;}qm&@>+tj}$_RNSB0fTx6~DxJkkmuwS;<+6qV4d()e|8>9FP23`-0SNa=m zk~YSFG6R~F=u`M+SKh{ws&0A@jvOJ(vgzOBL{!q3Sq zINoFC0Wqdx6uEa8NmNT%?T0V*dp|Kx*K8gtbq8+Y&@WsLx|)xiGXpLZG=~t&uvT1mY@CS`QI4^%RBQ}3AKex)zl0~G$jU_6T{WE;K_~V~{e)|>) z6-!pfmKyJQIs!m=weKRl?p>R0<9&}pDFG~xIX8E*QPqqTt>L#t_5Q;_jnzU=u0rW-hPWC zve@j(N0h#PuRpUspOvm9x~W){TzwxM|^Sb-IP_ zm{qqnX%%L)X9_>k?h+8A7x_w92OJgZKxI+iy|Yw7-u->JAdySO5Q2(N-=R|dDk3oP z9ch_`2iaCSyI3SseHWwMARKG*FUC)E-+c=NomWI!2KPxqjP&hVh^20<&zfdc5CYE0 zMD;wD?<|z&r){5<*)wP}ysXR4s(IU~62y%4%BJrPM0HZ%MN=Gx8H?@h>;O%UCv? zEgpN@Uw*02$9EwFdjXr^o+xl+W#g zLqw&}`;y#^A1G=a$Gy_n7vggdSk5`NyBhnF{P1r2wchsUm3=An99Yi1h>pFP4OnX7 z1z;E5v`mMt?kPLK%#wByOFSWn8P!5iw`JZc z=;-JIaY5lAzI6F+U|`wcwXn?0%x7_NB;dA^R@909FQV+(to8HsOz8b4^i-P$1jD3Cd22|9pjh0|J)gNGKkbM z_%<$4o>n;hZ_va@3&=#hEN~MzW_eOZ=p&av|8Y>IG2id#f5=&##etp&1R7;yHxKYJ zhrY1jy1Bir83XD+u9aWc-uTR=Gq9?P6FgwO0)*IliuM&E-KyQ94DV+c21Z0w0!I%( zejf1~?+FA_!_FQaHG_^Ea5*y8Yjg-mQrLMt_{WI`r$?-sOSOM+ytT;EN$h_dQzNn2 zG*RcYv6XNdUG!ohsu#8%s;R1)-rrEXfZ-4X{R&0wbPUc_jieff)#}$OpV#8g><`xW zDqaa;{BpNonEMnV;RsN8;`qp??8!n8Oyj>PjR~DyAB*=%VVIy04HdDQq!aY8S*R50 zWP6IZ^0JlXkkNpNfa})U!oosF&gF8)m}dr{t!#rm9>u$ z>lXEED8b^|HAEL0BhgeIYS_2+u~!WBkZ+!E4H=oBn*I-GxJ-0mQ@4L|TMl0JG z^q_MjV*~DA>23`AE$NW3VgnH6O_O5;eJ5#;Y_Q>Bg0y6ikC5c?XMkM=NLmEX+R21q zRQ=d%hv9`RV^xUylv^14-YSIxLh-m z!T>+Zmd{@;Dj$2Qn#$glZY;diR~+j(Ty}-2ej22Pl+4f-Hrl8%Fi;-*q#Mxc=H!&4 zj2UabF<*pp2@6+ptQkN+=7~{w!rK#N2D-htv|r4v%Hr%LOC)UT-p{)y{4K$*3Xt}+ zf8Wcw-7tJ3D;@v!o{(7xW!8FXa6ZdD)Y$55b0{iQxvxHobS`y7PIYh`%wI1pZSLIw zWMZ0&9dy&{8el^c=>f2<7k8ndGEM6&4qF;Ud9vqtXQl*A1_^83>t^0_Uh|sG2XeZ=C8Z5XX%SJ${7%Xf z1DV&oYF40`5!Hok%TS>Z?D-@f7Ewoc_ZS)W_KQE&q#Hu40%HyJJD1Cd^WjW^`t{fh!i)NtYR z(3?q#KH@q?acdxCJN*&?e~PGsTSR|Tzc=6DW-+mJ1ufZKK>Ml!5|{3GGBb~)O2&@0 zU!)WaJ8Fp6zQW;jJ8}BeZx&9qwD{+-1}T5?`}lZSC+)G{lv%@D_M1yErQUYcYQVG- z;mR9-gMRZ2MARzTi_4z_UQ#v(BO-~-!hdJPt=_;l zCk{{&;3AXlJi)tY_)?ex4h0EwBebw}FJUVP<7Y(~=L2=lz14rzTjkT>Yi|iD3g>y-uc~TbN zLvJ2I*hdl?pyhM_|m^`$on5``(oRZ+VxCA+#kHu)4rGO^NJRbf6*@XJZD*sAhXux;mc0RsKk=bl2r?4nbo$(V>`s&W(5> znaBEynAsXI^40BP#Uc_0#(Qc5=z*<>Yu&AZn+v|EJs;HaxQTGOEn7>AY>E|maY0{t zK$tdyXK7dmJyf*#)U6%;j;W3A88I}b6Q5KrGV+)2+b9!!O;MMm^}`-a9&38?E;k5(w^4qPTf;ydbY*#m-=&cX`ww1qMfuyoO99}m4Si;V z^SXg^c;HZ0>qZI1XC{Gy?~KK#AhYYh;^o`3C>cXqFXLzPyVE`v#6S|~<;&+O1Ma*o zeb8Ebz{#iR#IPB){&4tMz09dzUY2Yqv_zF!JP@aLD)vm$RO3=Ma0b3MIMv?pMmz$7 zhvPp=;UY6&?BUIx-|BZUOQSa&4+csqde{ha$aRo?iXH@C1G!CQN2Z2L)0rf(L%AiX zzMOCNR*RLAj?p6lI{0h*lWij`fW1oQEq1zO9cPBE1pGI< z)Gao^xx?=8GBs<^W)`!L`QD!=mc06Xyd`>=!-kW>_bcEsR>GAbY=Jo`D+Q3oS3&gy z>r-8us!}`sBKSDISDdFlcH!%NtROiyJA(Fnm7C8zm=LHTNVujs(Y4*&yEoHR_IS{g zsSCl{xPA%#~HpFoU9~Ekt`pi+yg-6 z=RB^Y0n>_I0GQ17fg4Eaw_qB}qOtM6WcF;Ag6F+4Bougl4kK6xU-v!y=Fz2bb?3Q0ZE(x3#lL0~6Zm81};PV*KyA9K~6 zT*DIMpI}{KHB`(qPc$oWw633PcCo=XcHMAS{C8%hV_c@=ulj*^d4ZIM z1H5ma0z%8Up^L3>nyFIX@^F%3T_hJ+qynqSi*p381;!(&7cxP#GTt4kzJ(lv!53J2 z`=Irb>;?2WA2_+sW$tfYdnJ*P>EK>|NJeX(n3@7Jza|~O*6fYx;O^5NHW#q5L0k`x z-d%$zuo*hfv{pU#CM-bCG+WQ+b%@bmAA8RC;nB`O@rzdgdt<7qa%IrQ*#1Sxb!Z|q zH2Pj7G(|$3iXiVg2L~;&HBcdmN77RKs=B&*chjzmK7wBXHD9A~0EYIm95O@Bp}zO~ zXxmXyvMHHCXrWywYj_%CYSEpBlp~osQJV7orX9-w1bt9Frb+bz?%Tk^_`axU5?Bpj z3xaoHqwaOpPkMr-bBx>lxAme4lx)74SG^`+CZdn3iSfsIeb7m7YJYl$=S+jEtq#Dn z!riarlh-9&P1FCY!$`>{o7#(sU3EGS&^uF-fMVW4m&;UtBIg>o!9K*6 z$oPJ?4YY&7<)4!4fQkH8``G}T3BEIA`P}0EQ8CR1EG@brx%=~;hTuW-ltynjsF>(JncID zyN#}o^}dL*hU_~ePR)s&f+f1Yxzmh;lXe)t5^`OP`u)A{P1s~4QM9q$p0X@Doq>-7dOE_8U4~>uqpxUV-x%=iOTbA^VGYX2=EE^aX$P!k*S+ESrOn z`eYr8Z8h%1_(<}OwpqywWw@9P9lUGbIDg7fm0<9j!=lcWliU=lJ2-_rn)N}yZ$U%_ zLY-Wi_Ij>fE>j$xbVjKTPKei^G>tTu016|TcU+fRmwsqftp1)9n?x5h2@dYqT?zs|O3T}~ zb@Kg4PI)4E^|tp{sCP+unV*a4)mnPL+-R@& z#MGWi31n>iJqM~$n<^TNLUo!sHtjckz%#q?Ll-1+=l!(-U=&FD_wqNlNC3{guWf z&qy+MNZvwc-Xm-B-@S^J^_5m5r#sgwJb6vKu|4RM)hn`Y?a;le`jR*D{H! zt~a}S`Pnn+prgF>yR=dYen+||*$PW?VTGZZo=woLts<^UbE@ehqvu|0h7q_xoROwG zJA=+%aR;_%exv8ceLc*8vD>m$-_MT;Q30 z{qQS2Eiu?qm%k`9PpiSiyscSHI!(MY1YGuf?RJ5NMx1OBuVEi90 z_6t90u*>^oP|Xdrh+;9rR!GEI)PagZ9liPf$n$&@89gfbaOJvSZ$JE=3&fQE{bSQt~ zt^Qx8rl^Exd_pV@(z0Xx>dE00^5VRmI9Cf&95lIfDn2w8M3Tm@}ClkHk z)0f^by}5Gi*W_f2Lq94#c7Pkg+cIlZ6r%KZhlU<&+V%Ad*J#Jz2vEYrgXHf6D z@0;7rhT(4HelDeGpp4J{JSDulxuIlFe6IBe#VeQAS8!;nLJ82~Qv6O($^M41`&w~t z&D){C(S*73Os^f*vZ$>6n}Vz7-UNf-Z6=R`dY!p)8zASI_d3qjZBcfru0;WPx-De_ zM;ez837VT$W~B0Aw`nb|`arW*Pg+ta_Kk^ENV$GBuMeFp1R+6u?~wDOwQFVSA1Yvq zpv%KM=?!r|rsG^n0;kRsGFpgX&_XP|@obt`cP+WY9-7Ra=+yG1z_@)wnHv}_a0l75DhU#sX!5mmkSnPL}O!jhS=gygnnb0h(kR*wzu)lw?WuG42u;|}1bF$j) z>*`kTXQ^u=iJWcXl|RKOC;!&8w+Gjx_*)(jQ@47egDxDL2fruFzH=si@lU=S!x0{f zl%#UxAzl96`SB0~0}F(5G}ic4u=2DfQN2kA?PJ!x*<-Kdi(oQUS@pNNczT*1t1&Nv zU;t>xtXc&e=&b3JP?d^UYx7XY_3*$z3p*mKaQTKBOL=0ds9<<-@j^K6d z_7=hQGPYzP8i0R(aiARCdrCNxh2~oXo#d^PF3@PnPs-gdJqj0p=MY!z3XlTUbsGFp z2m54b;w;?+i{ak{Hi^4CQ)O|o zMW1T|94gQ|#>Xq;3d0L-kxTfp@bylw5`OQpvJNdXQ47DdN#FA=`;|Jlxf^S#f!Le3 zmX#`|Qb|`Gk*y%9_R|gUSgB0Bi}NK0<2mAFKcc0QHw$hKEd&K8N8OWNyb-Ps{}7!q zDpyOSpxX4HwU*Uz+o(iNcR}FVu2e}7~oI)^31KB0lC&@z z%rq}J(z`nCO)zvR62W3q>i1x;Pe3*%iv?5Ymi%Ne$En%XcN*32W;2G+yqV@t&aT}< z4rQ_I4`2snk*zt>l(f6UTy|v7lC@fy-P&rJFebTohS@+X{ai)MzUHtJfOlX8L~nlx z$0k(?Ih;*>f}iqQ{e>kC7hYhKgyUr(lvJ!?p#Aoi$1ULXp&8$me(sbvUz(%K9W5)z zRJT2SI2Qe|d+N8PmTGJ8T#PJc%%}67267h%U6Cfr;zvvcs!oN=SSN<}$x-d6{+{<} zzY^P3RUY7wxcm5{mL=f+T7%mXoy7nogQqEv4E3ep+<6KTr}`O;Z=zqxORyMNg<@As zmd@+MnEUO?V7(R>Yd$GiRPWa9TfehJZ`c!_pHE7cQiS=_X~)GA%L2v&=x(jIoe%^2 z3TJ#j+&%X_72+%j$Kx=Gejaa#MMbiLoZNSChD(^4G~WbylAON~ECjUQV?Xe(T4!F9 zh!I^2Y63%S%0l@jJ=aViN6@p2E~@UgCzeGd0XxfsD|#s@JG*sYA-1;xI|ks#CwntV zPf!3T)O+Eg!F+N&%Rf_Bq~neJ1>+zqy|{XZ!%0BVBHa!=S{$$o1eF!FSCrzfW$J!c z1iUOs7eQMVES7}6L01+QG*tMJRE_}ir`&)iCV-QjPDQkSVW?W1*DETiiG zvck~olf6AUoLstsAM#I?$`xX%e)bAPN!nOWJq!2$r3=v6VSgR>qLk=vycDQwW95ll zd-h}7=q?h-Z#J>VHr1E&Mm~COAo6QLa5nQ?*!u(+^*Qf%liW*fT{z zReBw{{?+{H#mbK8)e>)58f1ine8?8o?6lLgh=O_-`=bMwJyTXXu}H^R-%~Rm+lrsj z^3E2m8cTm->>X(OLRO>&;T)a}!JQ%%Vn`2MFfC_Y6e~TTQr0C}2BMdS^GRM@p!GFP z$eZA;oKN094d9HJ41BgwkvhzJsw~QGDPQr>+pN%hNsqB?eNx2R1#=+an5C-DDMC;t z_5}0`oJs4SkWIl>G!NJ1H}?|ZM7_Jf#|_%m@^qYwi+JjjlNjP`Qx@5GtGHJ#5S~>2 zQX{=7o?oV?A`ol?Sa$A5TNO&i;PitY?zi)02jwF@+g+0<+cN2@UJm8qO$*KP0__UL z{BRKskVn(CbvR)5P-b1-*WuD4r3l95P`Du~uYKyUmPpu2$$bNy0%ugcq+&_8*UyfC zkwzB%H{;$I#32TnP8O1xu-kz2(_n84qtk-8d)lW?*V|S-Uxwb3DZE2h+*W2&3hE1G z^}UZD1|Rv@be-SS@cvkA`BuJ6Gfjpuj^wR;#adl~G33U!Ir0buoi#7>Jl;Iy($3oF zOi{f86`oq6&|`dne1bv-C)4qe3`x$F-w#A*R(Mt&oW8L46r8Pf9~GA1HD4n*nM}$O z3c%Zg8a>U$sg=Yki}lo63GL4aKS48EhJi9XT}nT!-x@wujjoF-Xd-AWozE2yE1?*N zCG^)mHYZf@Q0r}FPJV&N8+beGg;#uM0V>4(8a>OMSqYpxMHjYZ^w2>Zhw+Yc8@U-BD?v>Q?Of zbfv49|B+Se))akVsCr*?hJ$Oz&gW*Vp^8d6O0I>$1~0t6zMRTrBhzdn@Qj z77>0+!}P5H4cE-<*vzMU@WbpI^Pa?v$Me(;qz{b{DUDDt-w&ZIj9-w@wOx2&N*IE@+p&Gb2ip^*yim?$7o*rNMEp+yG;Al07-|Pw~+a z-xm^2NhCM!`pUmbpFfNAI6&S>7kqAS^H?JOehVs7oArV@Y{MzE9NIOav!AuR{H9U^ z^Oy$nUHpMuhR)1!>qD&@b;LC9W^a=RrRm`!wd*te!g3p!Q)*_I#lTMp%y*HR*qZWc zZi@cOIYj%j$GrWunQ~D7U^m*QaiB5<^rDciTH@7+j+D>bjt2lE71cpp&%?L5P zC-?ptxXO%K)O~*W#()lPJ2ibj-D@c~?fQByG#=IUJJ^3U-Ks}~@?K6rTU%SW&!YTM zE9*uY*x+HS&8Mg56PR1L{N*K-&yl{#%2FSL(a7aS2(dQd80i*&rEva{r0KX@O462B z#&H5pMB+&d_YpZOfe+jSgwo~PlG%dDKyKOw+#nvFq0vF1{;$_>KQ1BejkV>f{zi9%{=9DYT&D?q z45H`$9I+IJxfgtsBz?p9-3&yGlRwh?NEQi}fOS~rHzw)HdKfH<6DYa3}an%e0%#VA}uoy2RD~_IvQwZMS}-XjNb*p4#^ZWx(3u0L(<6 zgj2W7i%qY$g2!S2t+$SQBp~lfMtq=F%Kuu(>>BO?1^}}qJUHF*{IidivbWE&ZBBBA z!4rqd!l2Y0wvANfH54DqlE5j7Z!uK=j_>A)lx@IVfZi8 z^B-aO|AR0DpBHZ&(Arkk(^cgwv{saFn-LBnk~GsVGl^-KPH(R141)Y!cc$jxR9bj5VJ4?Fiy!*VEld;r^Fuzgq!pJjJ+AQD13I6E|Tszw+L|Fod1H4>i_En z;5=`;S|@;UFxEnTEgdc~In_eCvZjsKi<20B+q6ivh^jgaVPHv%F4}s{Cm_)C+HZ|j z_I)V&aNgXq##8D<=|qQ?xuPFpupWz?GxUzbN(K$X%J{T`h_gK|Oczl$%nBPDx~zn3 z>=6oe3LP7W)@$F`I2^7&Os{U6!BeK`_-O>mBONRCBJOR>KFtzfV&2YaYZE@ln&dz# zIA>?C%@Q*2zU)c)?^x?!p_d#R#qDg>yvf8w)39%&*6Qka(Sg#?I8VM5UfX)H6dI`g z3*i0(SAvSfUN|gypDKls+TfcgUpG5(Ti7M!;!eQKGf-eP4xLiCXlr@ z<5)trex_Xx$qmp?GO%T$Iyd#h_rjPVv6oG3Sq$WG)vV9V2yh|2F zp9j2HPtSURtP@d3$G%|0bU**NHCV-hui2V31|a_k2aPf?&)C3boKF;W2%5>rY#I_&=b#@5PU zwPP>I9gx}N4H5gif88{6J~#fC2`S&l2AFSG!g|q=8 ziKAZc7HE3)4RW_Uyfw*TR#@k~v!?wVPaBTQ>xp~hw5wELIW-;~gPTJc>jv8i zuU_bke{n}|d)*;WhN@LnRx-8t)O8=`@K^8u`YD?$uRD{UZucY&ZlJ7~miF%FSygQ- zohQoQBD~SdkIT+p)&2OT{XO}4+Q2sct>w2cL*ktIS?QF&dlmmG>4_aS)Ry>IgQ~{6 zaJM0c^Z*gpdA{C>p@>$C6l=m_zJrtQBWE$zS~|DCJS(#+LiuIU!4CU*J?fN937!Xi z8DD!QbcLf>_M&iDne4p0nBI;u21-WH!?V6kr}o6F1O_rbN46KFj+nT;pJ&o7(YA*h zAt)(o#=?U5_;Ux>VlA29p6_I%&E{QfNn-ebs>GS{)whuZSE(R;$@1n7FlxNOAF;U{ zHQms_+1$cZb1Ti{U7?OY$o+~?%y@s%$;?b%qj$@r9r())%*jDe6IvwBY$rjvckr~-+$Xle%K;4ib|d}I{FR80Sy0EeAbvbr@mZ& z@Hsrlky^?R51dyz$Vh+8y{BR!`i!ED`a}CkPy<0$va?9MNnZuSR+~qIWSu`i?*~%` z{Cv6mt@oA;cV3CdymUt3PISaTF7jT*Jmx(t^*WiWAjCBg9%!Ju4}-NKb0cMW1ZREK zm;3}?E95CL+P_rJ9}c_mDkqQBQ0n5Fse}s3XsNF31__;>`?Ic|#sF_F*LmZY=?fqq zN#5F))@CYir@-j-+V-v*^Tz^93*k=_-Ezym7}<(#(eiGh}(-5x9(vUs0c|R_I1O1&m(I;PCo+8 zIfNsa@d@KHTR&ENMZ})d_Ch=FCHEr0u?yZp$$GG*z4kKU@u=K_?1sT^iTe5Q;XoSI znW>*EUK(bP;EcnfJSEdTmre)1NZjj|P@K$|RgCDpZ}a~1C20~#z8&+OJnDffzpF%N zW6ne`yiFKMESuapL+}~lz4=cs4nXA9PP^f_hN5k-Dji3H(^ugLyG4aVBb7|0&8lrEfrNRCMV#SGxEhX70r-7JrT6(RvbS?jj z(hU;*F_E>T13~sc=7<4{_7~|v*HjqI2_MTS(LY594)?p~eWG-1y$w!J`5{e4wJ6twzwD3y2KiHOihYRJbX zAzBn_O)xcI@V|iJ|L{X_#di{FlFPOv2mSUs{iwUkgw=3jDqsme6Z6jQqfcACGH5$OX7 zOOjXd!dE`C&$-X(UncRIAR>t&D1YxT{zn427|Y8FdtCi0%| z?suGp)(9ck5f2a#5v$2RJHa!N=(U7+{qZlb?h$3@lat*$hT0RKtG|*6El!uu)foDhm-K^oYT0RpUF=Bcd~TOd4Vs)C3-57JV|%Iy%6L6?eLqs zhXx^V=H^4PV-E9AgoaZ>0;h4?j%U|b+O2-^LGj1dT@p7*ZqMKtEZ$2QM0N(WZ zi3f=W_i<%XDw4arXk!7E-KAWu5+C)zC-pYdJsx#rXA#WnzzqLBB4xHJ5KFws#DI-=3bdEv9R$pj0c1aYYqe*Spr zmFuNr_4v^ck$(>Wgn~nFzeKI3?*v?7XCr>km-_1JxfZ@%{04(FCszfeo=cXS%2=*HbW1n&i3 z!x2JSe3mNz3BCSr``&@l=(tP*^T9P8|I@$jziINAE7K$$H#`3a7WdzYWIZX7K6L)5 zdd&a7pZyP*<9~g0lVtw#zq{lA@Ow+<+m)mp5{1u~KK$Rk{a=qEzKYAgoSgsRzJLF; zo;3K}NZ29;y9kL&k+<&m&d1;Kt2?FRV`ixL?tJfUR%(b6{0%BO(`0BhO$n_>xT zYkFIPMhfr2%Ft>XRjfHpmBy{_%MbtBwg%N(?Zf5} z)Wp3(xE~p5g_DpQ2;k|z3~C#js!-wcdz&2`3L~GgW35hpL?E31c>^TaW1e?c=+`Xd z>YgH>I@^`|Wz~MaMYj#iX=)N^yDiu-cd|P*Xnbcn31#u9oP#AZ>yLv49G@o`xRAWh zjLf?7f+TW`xKj-VbD3s826=@QAom8hX^uZ$u7cGj2)?V>9ATg-<z!1Olyei6v}dI|rdbI}9}D!3AkBr%P*Z_`1zms{1} zcjARI=-KhHgp!+9Y*1p;jJzl92HAg)L;Q=-w!WfB+gWNU6CDwP{sD^t-UI~Y{@biaE*OiE$?7GGs zm^S1YWz!1vL3s-fY9G$M7UV7dA`PvA(GRK!4S8MNeoF1*-Dfm&_9HyxN0p|ktBp4JrB;5Tm&l?OU=SVvCy8lTdrIV6L^_sQG&_b|pbyuua%zKg)6C=3Rt{w6$-7ekc zJd@natv~5?h&yWm8JOIYnWi>NGvUUsW7d!;5zWT8?s7q>sj$`z0~;yg#j#NTpT4Idd!qx^cu^3YMVnMv1)nDKQ*@ zF85|kr!#cO)sd~y^#^!SNeRjeKB6@T`ljmf>nyf zkjo^#`4zvO1-iTIePfGXOJp3K(tp`|6NB48>Wp7M90oNYa-#djF#wU5QhwEv<}$N1 zI9cOtz2t6v=I5(^3XwkN_ZQEfcQ*O~^-pDpj@;e6y1U)&qV1e6*ZKzgX5uI6RW@eP zNoNN+%Z&lHTzPFiT518QrYMM;vbD-90A`yXVB+w$8DsZ=hRIUfR;s*S}DlZ7bn4iUn9v*H7AhnlUmo zq=vmtl~tf6taEo&-SIvwgD1QJOfe`&dAXKg(a?XgDjg`*_ZXMdCj7Y@C4zwKSHCyS zf2d+Lk;1_GE?7bZf4@}lH}az zC>usT*|Pfdc6mkjB7v|s8P=IM9azoIWE(aT^K%x?(MC4#i!RVCWV)e6`WA~rq+8Il znK$n<*t=%M!v3gUGP2Ia%OFuWtju=(S@odVfd?O$0R_o$lVxMwZKJg7uP*M6`e zH8kp~+}yDFmq{4H0uDxfFW`hp@33xW1?Mk>=bEX3ZDk^=4zF7RvLDFl(2r^v`3Dyc zx=2v~v)t*p6g1Ys9ufLQ%Ax14vlJXcgsE~B=RfB`dU4&l#W%|!ksN-D^dEc*DK zn~C!K%>F7`kEGsL^y|SJZ-Z2$bX5y2eS;R!)Omgr^ z7ez`_(o5Vp4t=fert6~BzC69?&ex_m2bISaO1N)N?`;=H7h&QO@97pGik2Ggu<*wU zORE?rg`DmCyz6f+7X}z+R7%b5SBu>cuH1@C(%hs2ND$k$oZS2e?JT!MQGI(nxo2`h z@&P#Z(>h%U+MWgdp;dQgo&Ii6fE}m6SEne`#jS#Z_?40NYA$dB=h$#xBr}Wqif?o) ztc8`w8F018+1LmS2OKm^xBpImKIcKP}=rCiRS?r{~o@YDs28j@vC5BR&WIEa3Fa32DX$Q^JR5dF}Z0wgi7X`F0 z?4|I__Rrig=hiol;eDNE-tKQ3O5G43Ho<8#!2WKT`@g%Y6|^{``RNxQq$%lco{OM4{E_gg>w1B@qsOh#AJ(kkUsL;og#&4l#zK>n0=xhS2?^zIL ztEav>#-c3{X`0wiJu~$Q!eX|FI~mo%PIHT;ZbScQiis`5mIYoq2=ud`{l-6S4X75q zwF}f*MpBpGE*TIZGknyqqPc=Xr_@|)k*8G%1j@gF2@W!rauF%CZ<}(AgQ2U^f~0g= z{(}-4{0cYO6XXmf&ITfTq(J;DXW!zyke8;e;*0B-Ck^H5i~Sv6hY{L|JYhI(S^q23 zjw_bJpOqurw~o{U&N0rdf#tb*Uw|u-6|_0I&Bg2ScG&TZGMKF%@MbixKZ?@+i~I6I z&)MOrL9Al4k!Bi8MQs@~-f6N9TEe#3$&$D`;SCKUN4x8Cb7R z87n+wLq}5d<<&8$F7+oHVYJO#Du%Rz=t4Yus-jZkX!|VCm`Nk$m1yWq*AoF{HasNEOfkA4xo2EP`4}b9u`1WF0Ey zTvxT#)PTf)b<}lwE)LDI9_0IzM~IIb>WtGybT}@*5%DJfRVceT8>E}xKfPfG&U|#pW)P`VS{7)R?i-LH`wTH zVY$A6zO@lqHpfkAL4C+4lQi!JohOXYly%ugJwi(0S+TT|-jh}CYb5D-2K(FIA!WIEs2^{{otQ6MTOC|r2^X>* z+rqm9r0GBvRG|2gPtg8HO^rTDX$8nI(jxu+O_KKe&t&MW#9zFiUzsYy_@2^~X&v`_ z1e~5SBhcezjxMQiNd3c;y`7g?1f+&JIb#2W7;zbYO)}^x#4)d`4C(?D9FjY{t51!; zZWzzWx^sCn7!~=Xwyf@nLTd7B`*rqi@|(bnY#C6Mq2`odDtvYHcbp{f*-xRC@KU!XuQqVHY&#Scy+w~c{+AmX@DI|3hty&QCwDtCD zj-~aw`OYDAeY$vc!^yz6E_PcV#b2961dWtqH?lfk;Nxt6jUToAqi5bxqh@J7TlC?# zQ@bH*_!?!Dy?4U%r|mVuZ1eMc+NNscm0akOiXV5K%omS55}6r!`}#6qJ*{8KPWD~( zSLZ>`)*pI6RStggww3z1uBV{ujOS}0yKS(8`pdxeb+`FM&1O=}a1ga+Ij>g>h zyzj^I4db7Fv0_hI)F?$MVYn(+pCGr@nL-fIiRby3#Olju^z?aoj)ms8DMue1Ne57v ztgol&rhi+W;Sl+peJPXJH_?{?6-6JgmI}ZooffoCbVYo<{wognLnR$DA)MAD69fp9_mQo`|IY$CLoO>TRo3DJn zX*Q-LgU-I?V6v)AK|*U0l}=>G6>AzBSlA0a7I){ZMPdw1V)wHsq^@_-iqULGoQxLB zl;40v)$9Jy>>8tY;E#+9nTQ{;3S)%^W@qJ|Z#oAVmQKo})g+X3sL8<8W zl+Y$EdPpX?gB)nsk@&9vvPhz~##g{s*;@PA*@$;XV^(O3b32(7-q*&teNyUX*=!!H z*rQ0fBKqxw`r#LC?m_9`@^1nqWk*S^GcQ9uz6(%m6)MlNZ)Fv6*-)5$WPkPq;b0D{ zg%3nly)pW1t>)<5A1{?@8n;#|x0J!APUOa@>}s~CS$h$PFa8cN;9Ii@{P1jJmOw+{ zE%)7*CIN&N^2ZZbsm7raGK!E=)^W>HI<jT(j zpPTdk4(UNn+{3Ah)Sx%7?t?x|^f&IGM;e9fB2LIRky*D>Td6A~wGzKchYoq#d=fVv=)Uqi`tmoZ z--5~z@qPc%Y8#P7Ca=F3{KlHvJzD)7+H+LB{#7)qwfgs!QSPYIT(g@;(acPY(H0gw zDsR457B#(j-aQZ**8Hgm;^)bAIduK5l@EJ(-jF?fVydS+Sl{pMDbJCj!7+~)D2)rs zyU{E?Cr}?@1ET8RJr2nYN}?nx#Z_2Rt{`W=ls~h!G}yh{XVoYQ<+ebOGz?U9sLY* zyoDc_bo48?XKh=Z;p>wXdmjiACj=Ef+bM6z2hFt}Q!T1VQ}5h9k#Gep+`RMix{r4R z>vP%gFEaGO)LBsm?NBvec~B6~@Rm3rGDv%@iMMFK2>5(Hc8o<6GG9==Bu>&;Ab-@& zdLW;dcU4|Nl5;f3?BTci7$AoOGrt2zfq&k&<30gK{mgIo7c&5o)NT;b@8vA4kCn7! ze_FZBGnszP!0*<_ODB#+4IM0-EKO(aV84GO&fUEUREcnRRJeZREZBY8E_$Clj+C)- zep2?)cIrNE-ft3BfDjh0x}QGipS5s5k^Z%b!rS*Jqx7LvJ}(xU53hd!e5U#6q(h8< zJ|YiET751fG?G4`(eChsL9ZjgsGhqmf;F<;^Z2C?F|rgc!#Mm>Qe&=q`)FzpbGC~L zXHdmuB~tj@dT_8(+XM!KQvI7G9TlEuy^7-!HX`|+IG1}%4RZcFM`g>b$1vthL0((^ zDgV%kSOwH`U&-@MD+89lJe4a^rdRH<#C z|K9nUiQG%xhU4=?2G-SVdCZ${_l4w&)V!z1cx*Ur-w*%75d9#>i^mRp>>4+muZ>+& zG3a+1#9JG7V7`i8_wet%f4_x3Eg|ju@JWU;F`u?0hjGF4@<(K0D}nJgH`id6yXb86 z#N!{@IZroh^Fw{+n%9;9^yT2JPMdG_?g%T*Swm;`S_om;@Z!AeYRH07m`{bORK`RF zR}gocI0NgWZt!t|oUd(JJ{`o~M{WDSu;J$R1reb~KnOF1r4!qTK9u3+F6l~zB$x2sR) z|2|b}J~hZ|q?4-ueWt-qx20`7l@v20=Ko~ZRY+X8;P#0~&Gg+<;H#p8p=Zb?c+#h| z&Q7CnIRtgGf;{i&J!O&gW*w$x)~egwq7<{l9u{ZkGwK&7KdpDCs!923K!N`Jc+3v} zQJDT45@;YBV3t$6Q5@x9p^SdCe1)2xvL(giGxi{->a5Qqs(X%Ym}~Te$rE)>IL1HS zU7WdVA*=J9#4P1gt(~6%Vl6r*g5kUZEJAmQQP``Xx?f81!PMs2>x=OgV(T`C$C|9j zA2AVyOH2SB-lwOWTcm9Lzkiqc^sTrBiKjJIeLWpnb=uvkh-M3Ddn6pFEvKJjw0Jf@ zr|~vh2&LXeP2XOw# zYSL&&^1Ul2tnD{``kOzdiL+9-KC_ipZYOj)w1&SBF^y=5>tjMI3a#}dO9i}Q>d#nq z4trppvw4kQ#esF|&X59@yDrw#Q+OmY0kj?`C){*TlG2{zD@=`05se7V13Dx{m?kuN z*>d5d!GL=it~xWx`)$0pDj1o{>lbAP23v!8dj~ybR{cR=gXKI7Xm^kSw1rWS7)AN+R{(BR+wc( z1Bo==fTi>cmx%}5{c27gdzkD6*im(0W;S_=KKR1|_HT^4@2d)zQ> zrE#$ZmJ-aNP%4~i^7b~n<1GrfX7^n2>;Msd#zqKbPcxw>Y=KAV?Q2^pnA7KMY`%#6 zNDK#`VI0)ew^;99v0PgGzV9g!ge^Zm2(g|Y!8dZ2In{CDR}{=&Hoq$KD#n54h!cOl zl+$QyRpytE>=aV=%F3+^lPEfHi%4dJ^)s0Ay>9ige{GXipzu2P$Qf4lDgfLG&JBKI z7t0T$`A9p)X?;cTD2JW?n$OJ}LXTDgB#yd9a+PeY1Kb?@XL$k(T7TqKHOI4X6YT0X zN(pxGC0t1!2LovHnQH7y#1F)9*V=wK{`d;nDeq`><8LK}ujs+nr#~!7pZR9{`ynCz zg^!7zbL^%2ROEF7+_O{G4h&z)Q~)GX;9sf4AwsmkS}*U6u;!0eJdeX<8xV+pb3tRGN& zozhA}X(Oqq#Q%q|w~A^j0MkXG&;rG!xJz-TIHbj`NNI5?#ogVDySo*q#oY<+?oxug z1PKiUNDgz(J!{RHduQ(3-urPs{OkWe6>qzHkQ2dyEDnt^+(1@xy*6HQ;<3|rr?%qX zBNXB7oVIO7sMgsFB^{g5UCJp6^X9X{w}6+ z4CCtXB8*X>+;opakwa1Hhe@SO7v^?Lp)5HuK`wdmV;b{m zNfJv*V1z(&<;tPkcNXvM*47Ix-!G&7^>S9)U!NAsZt4ycb5kRup#0QlGEQaG4ZF1A zwqxNX=~2$M#FvzY{6MG(DmWqhWoauCWgl)TqAsy|`WUUCNpTV)V*%>2?~p% zC+4WEhqx`3ALF9m30D}U)AgsZYdT-7tMEylq&FUd^04QaQ9`|!PSnhuZXUwCMN(Ad zW9VgRmgC$!%=~7Pj!ijOsciMe3rm=|5BKpz%aw4$!T}uR3+dTJ7f2TsEgs)ah>6Ul z-P>wdEM67>88iB~AK5popo(r@eOzI31pm?2Xu2@%T zI*`7lJwKX={Z&3coo=QQ)Q6nZt8cC#h1g($r^p3tm8b=r4}6Srv6FNu(T5bE{Raz< z(kpHylrGpVOG7WR!*=CIv$~eOEVb5VG!!zw)>aTMUJH3a^6ti^MsgG1=>zF8ueOWo zO=aaXWAU*w3nn_wg@Ej3G&q(`lt^!o+OLtdK30?ea>S__T*Gvo+c1pm?#$lZSFR@K zXu^pXJ!@J%&dSw`W`{Yu!EHoJ5%Y66@095*%{0PGDPO?>-6E8TBVb;9EsbO3iqT8; z$Xi~SRSMC+vH5b5kFEQgz&~@$x=1!#vS9}g5e3+%5%UHdXNnt}M(k(9f}6^X0ka>< zT^cUu!eSb)4}JNs`z&S2UK8!E&N+k$*tGHMw8=Z#F~R@0)#|@Pr8Xiy9%5uy^TyFe zs`r%K72u=VG72{mfx|F0qrZp|g98Q9+_nKe#j+;%`UiKL>6E)TN{K)hcdmec@Z7En z<@GH}w11vucMG~l2AXG{p{2Q$Qkq=WMy*C%|V^#75&0mk$YYWt} z$^d?*o~m_yYC)ZAJbJ%(1SF3K!VmoXpkJk*wkhn{d^-;(nD*I#yi-8qP7xX!e@S-v zUOh4-0Y&i_!j_M%O?z?%d;#|q568bw*BlJ4;YwE+m06*15l|`o$362tVuYb~+*OBm*VRzLF4!d;Ey?st1XNs_%o2(KeaL1#Jf|t#K}iD za|~4Vu9o`A3>f@9S&1386n}3yPZ(Mwny^Cq&$h~w6f$~aB%{XX6+kcr@~9%-ZU1-; z)CoYBN0~%6Ig#O~qt7aI2I2I=%Cs3R^_n*P6Vh&;f)&%`$%)xrF|Rpa6CO+JbW_|R zU8nIS{NW_HxCcH|Za9B@gB}5091)rk7)k(Eb|lJ$Dn!qUl(G;EFvMIVo_}x!AZ%TC zBX6zB$J046t9wTYKG_ymHp>+O>6uw>P?d4IT#9&m7=np|n>kF}RVLIEPVZWQ*_x?g zU%Grc*ky-w(ptp}5xP=AB>1Fw`nX_6jYk_r<=1#qyH}EA)yIGvy)QmiLTUOUWNTH? zDfCJ#4y`)b@zWom)C!1u!4k{ zF)Itg9@XxCzm*NymtAj?Zc@D|RhzEFBE>6x7L5-^vd5H0ZRzS6LvelyAtRmORr)x{ z{6$2A0}twof;=AVi~?04e{DFDd=iVcA3P`3VKma{t2kE1XHoD3HTe%Nk4H3zQu-se zjXFIg9zN1Bo>!CSs895pE)Ynl{br~0_^ZU*;6OQBv^#}58mcpO(~RPt03ryBIA&a4 zo&3}6!($+6Y(W6aS<42W-2H+bHoYjuFoxaJL9n#E>2tpJwA&y>ZR4`C@2N090YX>p zI0GR-07zk4UA6oCbi5IYH(qlzGW~#=B5Emzn_VjG+C~?z+zW91qkP8VJ_Opd{~c0a zh68#DESa0DaQ~UDDW9LkRmwyV;N3%HOi>ZD_4vv2NnK0-5%MbpALR{kjt)y&dXvKf z&oDYuX(Nki#AI6#4!nee5Ea4uKd8$7&-Q^Et0Uuey&B^AyT5u*mkqzcKx_1_k^phw z4nJ926S#hk0G!4N_0(&+Zc@E9=cF_2pP$lqwU+EGmfo42nPx^4OK-8avq`+FG`IXP zmy0`n2-2;NEem31%Gcl2`wviZ4dZ50fHa4w(f!9pKK?M z^=8HWKIeKxjrO_|F6oGt?7@Amw6TTLHK^w>wZz_M$!fUDby&ttgjdn18$`h_>X3tf`*w@a1$e==Y?kDICKJek@=5y?%dva+hQZ|fG_ z?9pS6>C*IT?CVsn*w4tvR;_#qP{4BvUk?)iWN`&gorU)!xFty{KQc8`=}oFr;S74U z@GS)4$vg`7HF&?|{+}ggG_g8G?ReXZjsTod_qR9_D_Z8)6EAHcmHMRt#n?n@YnIy< zA7fkDzfk@Xwr@%4w)<{tq+1A8$1V;nDw~L7Ij=S#JNG~1uHSV?dwSzih0jsFD*Auh zrPpI_WO$}FcJIcTg}Yk0dhX&b@7F8+U4Bib`;_H%--04@Ihr|!D^TbCvm!++j|qo5 zzD3<)5*(2b`4@83o|1FU{p~Qa+;l$v*eQ^yM+P8T@c$sho*lYwV0#ARLuF%zb}&l+ zwDx{35MC$UdQ>&01T4S1nD-L)_@?nX;O=avjdnz%rGZlJh-eI%3f(`VMrwGnL2B!9W}95?#( zVJlkhQWe9lNQw(o&FHGFIzQ<{lLTbt133xW+)DEk%Ge6NIZ7%V%k3rifMain^sxS^ zxoq|i-C=r&1S!L~>3Jx!I*f~#W-qB>&=Z8ecN-_(DA`Z#ue(CLCLbE)XNo1gBC~DT z{)*n|J7aIS2GT_|A3lb;4ZS{ijXkMu-9`yaAi+c3G)%7Eyo6Pkd zZ-~Fje$eBnKNi#JnB^fG&37wyzU_SS|s8DdUD$NO(I8UO54ivUlh=F?$yJtJJc zwgV`NN0m683}9q^P1Pn{nBp;ZdUdZXaSgLYao%^*R*LvwURU&>V>=a_H$&aQ&OUKk zcXHLy%wWqpW#gn9lQNQ>Ca0Y%xF3Ck|Y_yZ>kVqYRjYxd;Veu|#ChY66+CcMRBBPJR_J8N5Bb`hOMN(P{}5C6|f zz}|oKz2btmy~4d0r?ilc{uJAu9QPR#Vq&Iz)e$rrwIN4I<5JSTurwe=4X@Z{p#~O3bV2?SPUeIMNj3;pFKCdLVNmXu_p04Th=+5Q-lqhd|;)_gN z+cstIZ=rPF_41wC#U*-|QO&p=r6w>n4( zJg9teeYf(scRXig{Vt13Bb|gBCkg!_w4d9$eXD(4l#D@uSvq*3+~Y4RhJhpQMB67< zgzqDIO0Cr(0aezc8VE9OW@_lf`%098(pd8Me;}>%Mpu8q1}h3y+#H-QNCUwLn)_z} z2zry4Zh}P4NUp3l6Le!3-3lU$8dGNHU28A%$5v{U4<{AVl(gb(hbJzptTaci>rERy zVr1o$vC^v3M;dqVv0IKFcuDU(*xK-K9xVQrBkiSTZ zw796in1QEu>@JX{6;=Ao=hBzCvmG422*6WYS?)-Y8{|VHj z(&N&>-E)1nIaZkZBxa88q=-*vb7o18V*y$ZO=JEe0FBfq^(zZr!E2E<;ci1zb@SuxdF zoZ!w+7@gsxyHV5o9}KsrzBY7|HQ#a7YUzB<5IF1t6H+eRKVYD0lEot6N$o?AXz7sI zSPCS?$BX;vPb$Ds`CQI|Jof&;VXK-W0kEa^t4HhI?|S)=bn2R~HnPm!2sd!y+`=*5 z5ynN4;Gb}y18Z^ojd=?ZNGh)5Q@ur9(2wuK+2sl)$nH4HV%hn+^8p7^R_{Leh`!kc z>II)JAQB6Mw3(f5}&)K?|?nB7`On(Y8^!kap&ZDQKxX5i3KProc9Y)|=U&FdY zie7KJ<1~T?vRiw+ocSW9Vz!5zr6P?xB`cw?y?@r0IqkL{c>8Y$p{il1DUPoH^5s#B z+m5Li$`!ob;cuK^CG2n5yLd@-2u=~zRTkC z84*Zt9ohUKjCQzVB~s@h97jDpa_Z&{`VCdK%Lt~2mzQLX)n$OSv&K(W>WyY=*3in8 z@(<-)#lgB^$iT0uDIlqN)Efx(9f(sE-7oT~z)&~(EG0W=rQ^16_L6RGdlES;2=JFa zxP`L^-VEO_?6&l*%)NV=vArpzpFCWYjGlI<+zlJlGUuVn8Rhd5Mb;dt>0fbOos}mL z4XM|mgHBCxf4z{ZLpplYW|t)Y9qH%XR4*!AQ3H#U6!bp^Dv*x_v8mIfn~w%1MtxME z`o;On-|T_K#Cjq!RoMBE!k&K1%95gW(ZcQR@SDi%0Y00|<>w}rpf6b#~8bxL6bD>?32=mPO&CT3FxVRx`LrQM;1j+*qRcIC;0q&y-I&;7$KB0uCAPVd&BkR zT#L+G6gKGjUOgNY1>^(PiQbU-da&pTq+Wi4N8Vc{dV3)R zT7DaT5NcfP{X;K^2LmW)2+Xpy$D=C9>uxqC;h3s8lt}5a2>A<@7B{wsKbln?33CWC zx~gS!?~({S>q)TliFEuVM8WR?E4j^kl_l?aV7h%O8ZkLB}X!8>hVXn zaPCfCTH?3ZV;u<}T)lc}uNK-dh6WNc_c~91D7^V@Hu6iEC}=TjncsMUze|HSF;ul* zr*K}FmYar(T~uK8rcQgQ(z^uNM7Aify^ClMrZK19`6sxD>)-kGasq3GU5@?f?#T!` z0QKHqPk{CAY-_Z)&*N}gT(+x}9z>f0`M*Dh%R`An&%i)8dI*81djs3)i(7Bk~8Ss@gK zEF8tFWtU1qTu*fiznc%&dTK@aO67Kv;wbwr&k(&R@;-~iMzDRx51{-?h1Ks_3>*i- zSHnNS$Wk++o9j`&1*6ZQyLeggM4sLDaLp|(aCaV z=FucH9+ka&CFc53rq{%X2H#tK;+XpKcN|7k$$ot_(pBb0@+JNzNkpIjv)*ktnxkGU z)$$LylN}TI3uME|^tbjUr75~*_I}+1i zff)tm@P0?Q<|f|CddK7h6EBQHj&O>gIOQ#JCbqsD{Bl~1JW6M)IH`j2h-*>_%P=m( zV`Zpf(7z^(FeyTRpLhC=>*@QYpEsp;GQO*JA-BVv8%#46h7oUM7~kC3r6c!V8cy-n zHOgK{4U>6D~hAWoR%)ZE0ft@59KP`v+-8+4`ccdP5X@gnUv?umC+Pb1(*@u+IB7g4B zbiK;b%A!oWzW#i>6?0x$1!yFvWP3O=ChHR7JF1(!4)gPP8@%+N+D1M`w)D2;G(UH` zSy!GH8~&0mO8Oy_NP(32{^He~td9qdD4EDmyXsJSy%&kd*m# zxus%{-?h?*&W_FzpNpJ(u4A>cQ$*x~ZW>2HeX>hg_X{my&n0uDH02NRv#+*B`bYJ2 zI`olKmEyOd>Ds++hkwSl=3U9A{C`Q7PQ8pG5z@=ES)+hG2;3=ImikP$>ZF1K#NZPEGX&{5CO&P=d6`EZv$c@ze3u8?~}Ze^Q6g<}@*g zSTvX*1+|2D#qcV9Ic-zm7P)1g^e$VlTXb{+m4K`fr9+c=As*4+J8XZ+f*03b?EGDR z)uaVRsSGFQQf}-&2ZdBKb_eTU8@85+Ynvs`ribcg&ep7X73UrOa9D4LNAS<4TA>|( zGRS~1rvZ+lSFZQ$AQ-5B83iiOz2Ohd=;;tc0ikvD__D~!ShS{2F@HAT_G|wLu~(Ae zfaV|4#!_l#c4oO8+@pp3;aPjac+B1EE9Ob4m(}|7MJGj% zb3!5+XI90eR@YQzG)LO6h$^y@z$bLy7(OECGR?E-1KQ0 z`Z9Bjw&VGsf5k33YKK1LZx`8IW)#xw`!llT z{$C-RZG}7%7eh_NxFKsPb^;awW-s=e;k3#W=YQuF9BXCfcO`eKW$ErJ#Gy~W=AxQE zbTyz++{u{pfld*=g7YPsPS^$D&1L9jtFdLZF^P{Cm%F)kl1JQ4Hz4C&_{3H9Elu*p zmyww_NYn}_J_i%z`&4N^ZfAGbQ64wkRa??=QBWR9NxS|Bsr-w1!jAjZZ|J@G&R@ptUuOHUN?ypiX4tS|n9Etb3am$Ey0~L4OtEE<3-_wby zW!;o`Bko=;y$`{3R<)gJt(g2A1$f28A%blwi}l81Oh5nb1OqYsWgI=yJMZA+HvY0d zTmwymn9DdTQI4-Ha#RogF+M2;cS(Vdj`xI-HH{l#`K(3gOUZ+;&nn~|?iIa)@c+@$ zAWQVQaBWGjLMU^8rR>WA#u?`4jE^`u&1CC84)3!zF^5q~BGf^}qexzhrm4so=A69& zt}6KK4xI8(W%g)dy6QhAqZ1A9P1-GCr0bYI#O5<1Nq{WJNx;SOr^^g&wg$L*>l(>; z(>2>aiSG-)z4iVM?Aa&y@9r@{DGOfnucPRj17t`G3TEgNW~sr#H!UA3s4Rpg%^|X& z--zkyaENM&<1hh?s`hK^Z&h}3t8^KyBc&h~V%a<6bs;$vQu0I`>PNGWqB8a-(opvC zNaj1wxQP!9`Rkc{rjkdcf@LAre;1nnvK|yp{$+S*7({yx=47{p-S@+Tk-4#?qFpX& za!5%=-Ywb3{L?JJuv#>w`iR0}ZJ71G8uzCxAw`{gbSpNh*XX|!lVQJy-#Om%O0!VD zRblfx+F9D#q7?INVlgKBc5I^baPx_i=@9VWkxc*R`wRziSuR*bj31E`8aWjc69J7B zZ`YL$u=1i4vsUvz-%6_nfC{6m`}g^es#@DV)Fgt@1k5?X(2RI@#ZjAi@y5{7yWci9 zvUaker^%yBo0}CM1}PTAJ-H-7#>sZ^`Qkd4Bneh6qEXhujdY{nt*!SVL2sr^Cz7yF zLLcWTTn~?peBW^ae`oP@o_W@^J|2SFgH~W~GW5DEnMOYdS(qG-0oC4MmdFbj4T@f3 zx4$o7w!F-3_@{(aW8f>P2JHhM18k$l;Qo0(RygP~4}6%uC<}Ca_!@2e{Kehb_eC1x zxa5Mg`IZL6!VsiFt8xp6#kO*r(<=o-%u6+Alace@3T+iWdoflPxfScS^Y3&P7bl9( z>T2ejr#6~GGlb!Jg&a}#fyHUhSSpceov&iP44IX0e4Aw@SWpsC`3jJOG_ zG2K8bDB`s&-uJwF3BKsDt^u$`yW;Y1)N?iRDIae>7qv37vZmz)#pm({ayLA+KzdR2 ze{VQbf|2p&(7vM~Nc=m`<_hW+hUsh~oF)cc*IDcvC7maRW858fM*^Dw!xY2Bu?jcv z;k(H5CeC#_Z<9e6w9e!m{)nh?^>Uvdlveg*QZc6LQZ$qLL@SLNf)JT>Z4)e8JC#oG zgET^S);ShwS@}iJNgHFI(0m){Z7Ui5_Hn)qw1d}EKbn=xF$|WZjNj_vCk|maxQ_u?C2T$R zO*dWQ0PNnLioYl^hh_pqUTy$>a-??w3hz|pSF=B}zStBpgYIVXah{QWGj}B{lV!7w zKvYB|j^7T7uGjU2eK7DkZndJKd=ocQ%Xv1k>~enWI1BqE0i&B`#gq)=p6A8FnC~r| zo*BT5DI^XX+Ubirpu9+U2L1nNRsCPhXD;M&(c?)m^YVrCbzA_KUA0<|?UndQR+1$PZu#d6{)1!e^O|Nd|o`<80s1Wys@>@PC+vE{71 z|7=+0nnfayCk>gx#!k*GJI_R@8r8Egc<)o}QXDv_lLp3OyO?BD40M)AoNsNgnFetX zAcdo?rF-wBQ2#K#49zHisPG)`?-IYgtpjzoem+QR+&Ru26s6)=mT}a#$HGb99Y}ch zLDXh%HEFsjR;u#w0zXfG|4E)ImnN;ZyMbuy(W1KOt=r&lO|kg^(nQ=?JWdu-*Jpzn zoWYNRqys<~(-ZTS`g##-M(KHlVN)wNR`?h4u>_Ym84WTk{UdHO^0CoD2vuAOU-db^ zcVd)L1NUz%wScX5it#Vrxla|Q=_$P|A-<&FLVwm@f8kUA#4#llOL&z?P0d+q_4a(k zgrGjPL(a2MoB}KXgeQT|4)%SL`*l#IgBHp=%na&D2X3B#&aOt!HcIy1d=9u7A*IwX zpBQI|Q|C>ZCy)EBfKXZ*$L}ql6D2FLHe1#jZ0;d4*)1z#$MhJvy6MaV zOP~&Tk$;n(LYY6ochC>UGhy;QRE9#nX5lyyCdZ_2^(k9$(km(5ZPu3yUi@v^no`xe znxYDi?w9hgXj(YQzM`%c86cgHA+yTSd=6zflCtLD!g zJ{G`?C2?4lPs7MlFG6x#JXgM-c4l1sQt>?O@fEw*uLI(u?r(eTZ~m6OFRHJSH=iZD zgKrHi67cyx4R_DxnNl_Pf; zIgDP3N?Oe8*Ft1O_@S9F&u?{vx$eo*giAG(E?$f6W@c8_Yu%Q(VPnLW=A3U8USL

    ~gHc3G#S{q<~-5ndo}?7i#M(<-8xZY%wLH#TsX%7mEWB$lPl(rqnNynK`Y8X1uHu zAIbimpO1V;j_H}~k9_=5*XvOtEr(P!lNt~dTRl|OFVt7|4Of)ojdv-1E#SCLwa+C2 zjY&&^-A8Q(R`u*)gaNYspX_|^uT=17Z;lJCulDB@kB{0PT$(1WB@IDOYkn?=%}U2N zFZ9%I2(J7dI6(BzZMrFV+6QCWtH6`h&aZRu@aJKib}|oQ929s2IN8PEM&lJIvC2v6`no1n$mtGgO3T?J_9D~$kq?9SGg05G&5i1-M zh?bURCj5AU6tojFWk!|+fxvt+l)t|6xQOsWrF}yzvQ-^Ne?-qe;R+Ts=J@6^Q*4(v zT`q>UBiwO{EH$6;iST;xdv&veM&I(ts{=)YP5Sj<@!Gul?;)BNQDJ9yNvLd5@qRNy z2JzYsRs@mBf6o>df97(G>~1{)H0$@6(q(m46pTPg5YlO;>`$En1Vy+hk}IXd8d()= zjD(%;vYwv_l<_HUvGY9#eF-+}4(=wt5XxBm@{h%u88SZ+Z8c})t#g$eW+rCL=i0mu z&(CKa3o0aSbtExItz+C|DXK01bR;<8%y))jC66&1{v=4d=Jd5AZhW-+2cDFbyFljp z`Uf&3mi4gH_eGz<)iw#(yv0m}4!D0P`H(WTh>$47GQNVp?`oyMJ&kde);?u@+h4p? z(u)sb!r&qL6l;-_W%xBOjecY-_Al7Ax)Y)ESFEO}2vuMQTmf z;*8NK`qsQ>YJO#^yhXj}7$H${8iZef3+7{yA6IVk9c6T~ax9}F8)Dy*f+Ll_0CjIw zGI($}m1iw;4_x2U7cne4+vuEOl;3_mkwF~tk659kmbxf!YCS3@)LZM0-2PL{{+)M9 zfK?*AvSIjYI|w89ErGp$wm!r_@0)%f5-kM@vd+xM>8z{+@-*BZjtTU$MRk(C9-hOk zJ#!TH1!`vzeLuTy?wl3}$}3ZF+K9Ak*ot1gd3Q$q`QWAj3n|+9`lhPCE>*J_;NHMr z9kQ^#UT7<@ZT(TpGjhzuAI2N(u3X;!S!Ymc#Eg}8cxvt zF=HP2kK@TG4iyfpFfV0~fdb_9j=zho(&pw0G$NRTt$ z&z15Ja-cS8{^$v)GiVoN9|$ibC0p>G5eMyUoT3{9xC>Li3pDyh`PyKyr3tgu6KHTGs z4GJaURX$HA&X~`Jh`}~eq$xCP@$tcVw##2z5Bu@cd1zlOryr)AjXMSLS0acSeC%b< zHb^vCe6X-1(G6IvdW=>kr_<(h1q&-#w|crSvX#Ny0@ahD-v4RhP!9TjSBn+d`d>&d;c6pnt8z=oDkh1V(G zbwXX^>TY|l^G~~QUAJTBWt0sX-L1@}l5(=5!n?2lUOQ>=%+MqT3B7<{Oeb`y(EJV^ zZZ)pgw3BKxET|y@$?Z&;mb)ezM*UWd=%Xt`t}^6fZR@%kg?%Xsxy>0~2FQ*V!klo#e5UvylqrNWKnT1OuSlcX>HaHj)m-l6nYYZKk@0$#{@KJE(e z-}IJ-KW^JGqvP`vc~n!poSWf1Fh!Mb1++A%J1WKF13$Gb+Kdvp)$^YgpSt;);|fk_ zAf{4%TRjpqn|VzPSR_{pwaWJUH)+3#cqy*=%J5^EJYqzYy_!l#@hLR@oqHDGiNrZf zm!^@aVq}EBLrLVMV@<6>n>dH5u-L7b?P6n2C`+YL!|f=$HZ%m-%KT-RO(=(gf)0=` zPcYNkR=CYo=ncmko$U@t@!#r*N{}5MlXLCyhpVNs3T5}#1)~$cPNP6UtzmME4Yq3i zi*{tn(@%gzsxa5GMy)gK26_F+KuW4z{U_cUlQfRel>MS|=99+S!x0JA4B@83r@SA~ zOPnyIU6T?t;G30Cy6$Pj<38%D!^RIq;&GGlQfoqih&!Ks9 zKH?2VPe!`=&mSt^k_k|(m=}6~-;$veT`WZIq8olkfAmtxH)%LT`hypKUI3m=D3*K9 z?8l>LkJ#ADsMRk2PdMrS`-oKw`PjI8>EQ4ujX_5w9grVgxe}u|D4i?CBXwVp$F6KA zPids}b*)*rUCjte;QP-i4q7ZPy1O5hPvkGe?)Vu3Z5=+z=#-YU)LZcr1o`>ufth46 zt<+psL$$eWYAE}jeo74xWk~ot(HF z@ZYtSe~VA7W{u{>|LMubcSBLjB~x7V+5o8gQk}ce=XLaavah~cJKA@9!(ss{P=}Ck zO$|}hHV+xYMdrxO?rGzMqOuiB^lIboZt4o+cwn0^VyEdAax(u>-7oIS+33NF4DC+Z z3`zUR0t9Yx<8cZYq-KLAA};^_a4o*yLVV|w8_8gDAx`F%o|@1wL2?4${jQq#|8fuC zbhn{lT8fgfW)i84d?)1auJ~~CdY?4<8f~Z5dIf!xe?CYGrr6pAx7K`wHnRc`i8zt4 z-^~4safmGHisoy{%+`x7OnNZ0>pjX)^Z3o}rucD5iL4lt50ypP&G?(nRh2RRShlZ4 zi0iZuL*odmrYdV-;Od8CF-VB_(#}xjkXchu-&Agq9N~-q4%1*;rK{C zR`O`isV)|8knSrRIo`g(5hiFfyFaHSuUc-?2AYUGqNQ;&J^g$#Sqk%0{-C;vr28%} zJILe4NNqsjT_LpVReRkoOq>d+jn~Werjm2Jxn(rEsuS;p#yUp(#2Nq}`@vx}O@0H{ zCNHk7RHc4ocYbc^dg*@IJ)m-ThIzUAf%T`ZVJki#etjrS#pn*ydG*j55Xd^roUxny zW+)$YZN@8D`^j1A(JK;<+N$Ex_^#x5jQD$S%?1VEpcGM*bVrfqXp3)b50Mio`RM>L-9cy zZyPE2g?L|qFa)bUB3eDmJ||PHcu!x}fI7=9eTb3xNzcW?QF{%Ent53Clc~}#(Dk>T zHsL7nQ{4E(=Mc&r^o{65=|VhNjdb*%s3eJ~7!IozXa1G{9uKQE^YUCPJ1kMkZ1Yk7 z@HrlirDUmrIwYKD#wMA(JG-y`W^F3CnG8?5;FQn zq*r)BNdNWG&j$6$XdPUlt#v1PPvQgQK$&s`C_NaqZQc2N`-3fb#>ZxCd{G8~H?%o48NdX?~_1t5%&TS0$O_t3K02I#GQiM%F!x0s^GQ|38@=~LTNNwST&U)F=s z1U9A{Js)`ZdNCkTpn-w{$Idn_!S zi30R-FigZ<^(EhIA7o6I1tMxan;IVFU?(#|3tPbU{Pcj9JnGK6d}?4tbs7`&nWm-; z7~sp_eZN`)N|`zIyo(zes2*;cyRH(wOv=Lb5l zQrytI;1FRRmQC6I(!#fiRE_3<%Isvn&@{&^F#uN&pBl?A@Y!2N zim@3p29aB5kbQ6Xo^3;tm+~Xo+83_80wv&s?ZxP?hpm*IxekWO8S8^*e&v&`07Xop zX7<|+@Nvan&Wc$Z)M2=x)*w5rcueKSfv_beYsuH;NdaciO?N~@lSbdT_aoj!O_%mX`CDwYe{%j;yX{U|b7D z4yZrS_}a+l*08x*FkdpTl-Do)jYz^k3m(PeR)+szjPfSUOrEyP2J7x#LTi(b+Xw&0 z>UW#Q8z<6aaQmlQiGNAN20e&52cNHi@D+gX`)=5{i^unCzemq)1|g8IEweq4FUj){ zOCZ|e(LeiN(CcXcNkZ0di)jwa!6`3yf>2mez`>)kTmYw6oGF_Dbsx~*5pj9_lJ}$v zgKr3#gXgEQ|2*1?4Eni!i?LWLuq?<--iy!GkaX4Rw8>3IZWE!Wg@~utuO4j0T(WPW zEa(+(tvcDC3nigUGttbXT>Px$%iTB`5BHq$7yM<*^#!*&?i^G#zgA@YrTw-zUpEv_2y%1Z30p1mWi@y|L<-n0|2G(#nm}xek%upbi85K(%BKx zdf+wtOD?(Y^AKZ84Oel zsS(*+)SA0tp6#@u&@oQmxmzMRY~-rdgFgCFIN9GfeB$>%hwi-0fVP>4wKd&sT`G+; z=w*Of;N39Vi9WzsIRn~yTk~3w{;~TG+B^y#-%B}x0{uk0uVEr&H)@q}`Ldtc>{ms* z1#+mhf%aX`rPDEpKF=06(kIpI1$+!6>&_BWBs)7#ghzpnl6K9pf!o9T^Gp9+kdGzP zvzL?y@&%S1fndq;h1&puna{^B)o<$Rb&2T}Y2jazUC6 zUH^D|owd>bGfzp?RzB=d_@^U$$p+R(*m;6Yc06J((fsMov!^NT0?HDal zy`ABz01jy83hX+&X6G(gc`h_1w*aXD9+x6c#DE~hnP^+kr2${hO!JPj&qZ1mB#ql> z_SxA;CFAB9A5-9fCgotkQG#1?MuJiU$71;Ruw>CDjbCi29fx4YdfDEi$rm907MS0~ zqrGg80DcIrJyVElK96iX+$wCd1IJs>9p=LPFHah@244 z-LyH}%gQ4&Y5&KI&P~W_*0AK_Y+7beTf(KLsqu}HJ+!uVSH0gLotU{ndd3$BQUJhC z^d$d$Ul62O>#iC1-0^gy9LVT#GMeNvvy72`OFfT?pcX&s0ZM=|eMNuB03|4H(OyTL z!RIN@;Q#zKNFC8Qx41idA_Nrce{A_YbwZjB9yO!d)Hd^_xozejGQK~H9!g`c@eYrC zNHvjmo6;aBw!^@+1dos7cvodS$7JtK@PgZ}FX&8h1q*x~akH4ndX0fDN-ED+ z=g%7Nln@n9A$6A7Gbh*oB)P?bxm;dnw6767-GsgGyiGZ|tRjLkj^=3s+wu{lZPkY( zi@9J|C4Govm1Fsgzg(bO^TnjM1f{=Z#7584eb;-KUB`Xoi%n`oUH{a0-s1^Qmtmrd zgBf_$j0uw#DF#>=dQ)-z^Q5mckbmy}#p!G0<1B(G-Y-2mnqL8ScpT#<(~v8}MkdMf zL?D0p%WnY&+5F~B&67j2_7sc4@5G@^;$*D{OH8%20KcaMc3+kUnzxdVM_uvQbwc^A z3)eJGN51;mGu<_f!RhC}iyB=RT_0}zE|o=a=KnvIwEsJ+u1@f-iliKq5SD>31=wju zdeg4)zwmsf**DTaX#Dp_=`Q8gPwpDSMik@E4y(ggq5^WUsau+W$JjV|Mg8NMvRY$f zHFmw%4g*@CdA-`iZvVU3maNwLhp;0x<*it(csBK`hh^?=ulLU@z%~wsui8fqGZrXa zTe9+XjlpNC$3x8kH@YFLk;^sh8?*lM3ft^KrZ(|mA zzZY`?4TL5^`Ws!>=d@$)%|iJx6CTcWshDX|S`skoBzDekVnI^{V`5C=0nVcS2bh)K z27-|rNQXVEeczYa*WK-EJ#n277j--wI;{y0&oPJq5$>DDi*0kV5L5R1h8pv3+N-#g z>E8eshx^kn9nPjNNZEH^=_YfrFzx=FusG1fgyw_7J~ma1fy0h{XK(_haPb~Wet?al zU=Z0}i1DUJw^B9-! z4@{!UI?7Uq^&^IY>Yk=@`d z*AC++v8I&4;`Jq10b;JWK{{{VPeANT!Ce0&pO?wet!Vt-47?;K06Y-`vyZc#hUCou z^_Iu2J(VmS`epnu|KN5CR5^4O|4mgoa|Sg|0u0`_%=7FR#gX6L^Q{>))1`R0 z$lS4v_oTomr$AVA--afz7R-Z3-6hZ*24=F(Lrq`9w))IltR2RYN8_d2tBp+4FKlk? zGFv4Pf(Dl@cKb6UI2G{)hSQ#Pdoi9)&ia*kd3N`n0Q-nZ91Mx}#OB-$dk7VW5sts^ zi8NwK+>;y)i4(HYj^v#LY&)Vt8Z1wd;1Kv7?+Po7@OVUe8aa!F2lG{?fz>2UOk2BK zvnd38U;L&!)ja2$M`-QLW^$G_UShw{dz`yBr&HlU0Irbd;o7?@8aV07Fg5WtHo7AS3 zoulUc9~LCP22{JQYb9F>vH^7>xmBL`cfKW_zyP7kgsqfE(~x%UW*p1_%cn@1i^1=;gbzsXyvs6suRZ#p!q6XICO*QObFOU4c8U31b-Bb^${6(icS@x7Y(7O&6Q5 zrgO8DYE`(;j)TK`=q8TzHm)olqvAFK)WFc|%g3g9!E-sDgc0tONzZPQtyP_6U)Z64 z+ssDG&NO)88MGO0hqlsPvG*#yx&QefLv`Z)uW##o_gSUYzRMXTo7S<7J`tcUdFa12 zHcEoOwd}Paf8x5}lb3f^w1@AIyXjH9)S!J5^Y) z+6moWITIk%)3~*1chv)BgZ&8DNx_r^Rz zcIq0lA<3YJg<`DCo^h(EUyvdSdtFR|A}a4C;U4wu`pI}1AM?w?%U<@O|WkZi<_=FV>? z{Ecst~e-Y9y~uQRmL=-6xlw8(oiAITq_o9tCm>G>6)K3Z*w zeE|Mjb9E`v9f$tB^WpH2st+(OSlOKeJUufnWB|Q*5t9;ImNV0b9#6i`7NpLW%^@SN zMYvbTc1uZA4`i!)z}=s_-2Yd5-x=2Awx%6GMYc#01(gz!y+H*$~RquF0?W zO5VI{J@tOp{jOrVv1rUPy=aRixxZf4s46FQNic1zy8Biz2;=XSZIHlV)Df8I@1nbO)sGr}-kzUh5|XVJROJ`NtyPy+-RgIl2BQX-7nh(eGEE+J zO*Hx5;LeMq?{<2d1$#ZU&>`?*^3#r-m02PnG5K{#M=z{!X%^Q92m%I&uees@C%XmVH#+PIWdn+{cvvN9+s-__GwanhUF?-LLJt7rty& zM*P%1+<$_KMyw%6d;^5kP)k(i2fYT5O|V}xX-fd0;^g5t-c$tf+fB5` z2nzs|o&9)rxU8vcDprzvbZ2OIUxB>%HD`c=~~pu12`2PWvPY zKRknuan14Dtvg%2POTX>(d}8AcQTt$Z^@e3Ls+ADjNJ$M-aB^qI9homC)cz+XxtoZ zu$`OgC4vhak-luk1#KN`=vW4_V&0{N*H7G?Ilc7ydwRg`35l$TgH)EMJ7P`Z!$;DG z3)AwY9>A}^yC!PxI}S!cKFyC+RsSZ(4Yr@f1TD8^+-i%)|KlgC)ewD~4(*PFQ z@3qxVeVEAN9ib)BCl(JNzn~T8?GJ|JV5B0mo}NRLtDH$|I2!wf@9dto?&$loy*?9r zFB5vO!OCu~5q8-n$)op)2f3CUycMIsmVIgh$qaYx@JyU#lAB@)`5>R}Xz&6(QL z(eEVv=&f9+cpD#Qy;B`j1%CI%@seEuqt*9!I8?~2y*1I)3PqzR1bG{vj?7@?#-+G= zQP2lLqZ{FlrkU%*4<~OD)Fv+Wepbm1R5@e|qJkInjxy~l**n$ID8V+H8!Adb!#b}J zn`coa1(`6~)^UH}^o->W^VEZQ4U?8x$*v1)tD4j5FE#S-BQ$Gu?4~_FJ=L3Xm|W=S zgC}-b%o+66k1-6$g%baYR{W2O^=dj`Gn)6o6B;3yy_3K7_(@^Uc()qw66PV;xgl*6 z7tru-tmnkqnh1G(Pl>$I-ltrzfp-;H26A%uC0-@wuDV^oRT%QjE%S5#gWbt7n= zg2y%Ktj24XIHb+!4$4Sfx%?trY_2)7n|5Y7iKTV6$LsaJ)6&47^ywd5XiMpykZ0|5 zKV|Yrp*i{GA~R%uC*Sx0c_nI%?#3@3!MF9IrIoQ0oGW-XS3jEum=gaD&4091TIu)? zxYWOw>3`UND(ukPRC3+{lB=JHvT_2wYpaq&hRKMz3`~C-v|sXnsJ#<<2sUHvbI5fm zf$BHObwc&DARrx}rM_LY=O^jlZ=-|97AMYMQqL3>E9|fB`R#31nvwky_jy%9UpydV zmdG_66>``m^@4`lo{+K^o;xE=&8Q4kN1|m(sS4;EmVNp&TlgPZ_-~BxpQIQUc>L;B z`9)2Ycv-OTo;wToi)Y%l-%4=56Epyf3z*)QKA(QseYe*P@C7X-89X^Gp6$UKG2vPZ zGWtmj{3i`9A@m(P!*_PQMy4e%fae6K;jPTelRdN~_Vdt5m2hZN{2FK{0PsB=u_67Z zUj6*?`-www_LJ>wuNpC2yEf9_N(!(lq&Cdugi7n3E_*1#VDSh}7cGeVq}=&)15?r` z&&%e9SN3bu))nO>QIE&3~$Q}YV{@J$JFz5U0a&u+A68xm_EwWzv;er(Yc@4W49X3L5 z+u|5t6b!15|0=RRpWC@i53ZEYo}MX z7yZcX9>2M)!lufjeyOsE_*-^XN>nM%uRORe1?AJkj~QL=KxW+W0H!>=0;|Syy;hg zsjb-+7JJXZNTe<&#%n#eRg#yNDS?lm^4em|ko5SoD-IeWrOvv&R^iLfo9d+$enI@| z6kGv~m=UP}W~qr(ly1fB4YwO(nwy#xAlsELjg0rwrK)&ZMwD?Q2OfrbsdRUD7p9WQ zAx~X+-^vJU-r<&7nEvGdE_1|)7G9e$u`_3LeBjq}S*c-VAR})nHEyaBi%qfeAQPI2 zgRzY=9q}I)_kVAJB?{>LXA=5TaQ<<5RJTQ*?cyr8HeFk+y4kO|o*8oE#p45FF6+zT zhWfAnNSo28xW+WJ@$Y|kY^X^_lIs?}eCC{qxiy>W=ImRjjMT@^xc7qj7mD0@Giwe; z@{-549+SSbv%h{_k;tmjj*@z+jegbJ-IM2sL$ARH{L!>nkB}G{BiFlOT42DV4R%*o ziPtwX?{l|yo<0Bi;g$c&^gYG`C9~mp&A^y;!x`QP=0(j*necrtUuoX`{Jwtc)#Y)) zv9VyKT~q;Zcj4W1jQ{VuoYqDzqJC0~{3?7jOs?mw^`8>!1ey%?Xhp#nwOG9Klh-j zXrv~dmdD#)&AUzD{mSNw`AbX8btcfxG<=8iW^;Z%Kx%l-II8hBad*LtWinYWJYHL# z5w^p!Vf4VYO(q$ekt1WIIkDb6F-NroQPF~Bdp)-&KTO2m`Ggiaxu)KTV(kMVijAdP zv+VC|Ekk)#)m21muSO^+L#x!@zmPVuu))XwT=ox3k00R@pM~zS$-PM2zV)&7T)1Vw zNQziLPVp>>lxMX(34I&K5fTm?T<_@#SdAZWfJ|(QKDx9?L|jxHd!CvwB3Fq zX#T^O^+6HiK*CG&#!CMmx_LwkROmatJ=X4Ritw5ISS>r#$z6Pq&46%`-x}x)+*3pI z^b8?z>B)o7VlO_70isUrIq~q`{$c*A;v;lmctd;`YvMr=b;*MaoNP#LIJLfpQY<88 zX=Y?4ggHz=7uwanLj*UIFAd7wPEU}?3 zX(AM^bhb-1;j6aiGEtC}=S~@6545*CFcxMcGj=L+p<1&2gm79&&_@0Md38=du+=QT z=T|RlIj9#|@dwB+6~HYbaxE$iM2#YW3Si8D zsjh^>1J4$!_6vsj%Pg7PE)-0y0<)ZhV@6A~hU zH(XuX`<-J=$iPdsBU~-MtQ9bS+IXg+%$?4wVYbBi0E!h^j>0(%IYTP1233-;cut|hNINq=UckYP$c5#l#~pUb)F|>&~RPe7jTu zdx*qbe&#n@N(r?MroP!(4AXC#apP=|d=k7-y8U+}f7u}-0bM%@w)HbNRJmM~_Wk!FM_jl!{285I5q4ChNy zzvAFG6jD=tlcF#H)1-RH3uag>2gM`QRwYta=c)&Uu|e^qVLDWrab)HEv6Q4xw|?GB zjc&s#*ITub;r5R~yos$Eo^K83uiD$sk_3l;%JdeZxfqYd@ zQM@M}axV#r$Q%bHO!8H0(EunN9DeReR81^2RDLVmJh2OsSvL3a*yl}xSgz; z&kGB+PazO23ZroWx=mfh5FD#kfimdpLsV({=ABwGPJlAfY1fmJ$OTpGB~z9rsr%e& z6Hvf;@c`n^z59{?jrf~4S)KK+ciUWIe*b%S|0R|qPB`fqsDzOhoxPu%{=2A;cMMuy zxS&8aF>e5m%@ZP6yCQ#SwD(6dYUDi+0cvDrL-vny#6P?K$p{`m4c8BH>OZ&Zv}gYm z=g6dlPN9GP$_nNRX6;DfZhr{K-Jp7|v*~+q?n?v_VjM+MQ zd#ggB&}*$mqa&jxJH*C|>VcxX5j&Th7yc?UT_rR;F=1qdvNtB6Pt2t(HdV zZ%YA?ZAWAI;?d1;XWRB&v*Y4fh8`ZpqhFiLiLsC!R_PLl@Ba2NYzZ(`R$Z5KmIveR z5@5NHonO^do@D9emA_HFF_@&>Qk!UQ_Th1ZNQ5NUaoSV6RK>q+Wv>Lz*<6d0y;E)7LlsFm4H3elhCPX}k2i#w8_K`8| zjB*OQd%-k7)>lupx;kR8(9A#p@G*{R=)A}~#eg{wodThR$3?;EyEh8V1Uf>g>NHP*P4XVjS-Ce|9xT3k$P48>1$dU$r@mT^1V;kb4lsZZSvHse)>y*=L zxOJcV3P30*;8YqmuATCwtUyIZpxRKu!8|dg;+lcoAKKTPOGyHq)GYBzd|onxR-v#GS2^47Vb!Ty;KLxV-*2KF3(ii6zW1)v zZdAcFxDjByWOeK}11nOC9rF+B?@2n;wqx*?Mo z2mwQyAY;f%goDmV%{TiFD98@g6B`5xi~itP@Tqo-5op9u?T`*_H2OTd6BK;Jcm$&z zIwBpaHpq%&MK0gaS_exdY8Q1e7&=c+b@cUG-FrK618D{x}gL}hdAUb zIldUrRwD5hjuVXTF4wH;wy#?EY=l@mD|&~cf_RX*W;q3ytYbeD1o}`j6!!;`W&DjD zr9fX{0%IC;HbC+-bt~{P1}PreH53KPw_6BsNMq^1>`|EpxMb=3jPgTXGQB#tmXEYU zthM`@jGhH@=hu^xoH1~Z&wV}kp!i{eZ%(r!it7=7wOwMjGLXtm($FoIH& zT&*@q1wt&}1fI&B>~+8_cVw&RdMAPdPHjk1Ja1cK^+ED(^fP1oN5(Uorki}5adoJn z!I{^qB^_eVkrNOpV{_?^Ir4FNt;vA$S0)%FCcW$3Ao2TcU1j<=5E@fI7n zRYL;_h76*djxm+R+Tw1x3PlyE8lu)@5-XS*zZnsG1na`aPde9u5<_GC+o~6{J!+0^ zQOYoVHFtxs!M(nC($tDnO@>|Tss$<~9(Lufg=Hn@&_LuNNY=iXoWx#JL-(qb8C~;E zmpU#-s1g(!neH6vro3;;BQnkd=|!tY+M;2J1(@CqiDb#BCW9%WhEQ*bk$yU6pYAJK%s)VEZ}#*b;vzRDY^#Mg`649>h^=~@_ro6sn}Z= z2vtPO74zp5&dyee%io$iBW;UU9OyW$IF}J1ZlO3Gx3XcuROHYbcudeohVw5( z=nVfziS3hC)cwOt0$=@og-u~b?N%_A6hQ%os6F=@BC)}Ak>MRAt)(l9SCm=9<$1{oPdsl3cQ~vUwfBfQza(KO|oKizOL= zyF<>&;1GDPn_xthoD3U3Z#guoY>w)c{U|ZW?>?V_~TC1;K zGj~=yc(IAc)Zip7TY9UObVR6!t5HXyvno#^SfZ}ThKi(eSTI^qZHekBd+PqWm$~Bv zfeT3VYReHN)0p}C617Eq__bJI(=@2-AhPS%i%<`dlPysx5F5TOfby zre&)U+6+bfSFxpWQ}Mnm6?+TIn($j;)>7o$X-o_QgXAob1QKA2zL8G1a0EikdMiB9 zAmqC5wiXH(x-=C)RU)O#H6gC!@C0cwA8Us~y>=f>Rvc_mh#BqQqtK)~VI7aC6{5!C z0{dJNQ&u6Pb91m%Bo&?Xyo=aYJ%RS1Ds~LYip*JvuK4V@(D&!aBYD4A6eh-M5MJ%h zY(nDfGB^w{Xj&%}ic_Q}l5e2THlJ0b3_>=l=h8_+A?X5jFEikBIY=PX+G@n%Lp}0l zGBL`(lwCxv=w4uFH>Fg>BR9aD|IFfQ6Qj`f6Zo*xV+Ar;>TpH86~1@?suVBglXfme zeK1t&R$-U-g9%1xVh?&%r4brfgARCWZci$r-f%oitpN2B1X|^hxCVvuQ}XNjp5;oK z*)}~0^mu@62D;&!7$jdHML(=F$;aBV!1!39Uf}>VGzueZyKJUA7&{EY`Y)8MO^=rA zX~KPoiBcg3nxsTB&#P8CC*Z8syKpD4*CqLy(j8mPBteVVCI0alwHpLqS$mq zkl7?nDAdEFP=Q0viw6oDgtbBGoM=VPXhiDF#DZc5TjBPKvlO)liL25gkd9YWkdI_J zOl@hZe2_l3jjgb|+hWzJuW{Ma2~AZ`gsQ4{Z!J;IZVbU@K+_c&hJx~yU1h5kB_=gP z#kgE%98BZowbSD6)TrzDs1Q?ptlgMMj;Rk<_zd%wfMk6*a!Lh z)M2G~f~+Hnj=4W+Nl=OhmakFHmy{%P%p{53$@!|jODxzjTOFm;=6A-{c7eweg2Qj4 zk1c_u+S*nHV1XYBO;r0kc97H|LVhx*8!1XKOrktzE4VT$#(`4}J)07l6E+AuW}r#n zt5ZTHLX8bF&=uhB0~x|8L8GhK)tS85;@spl*fS>y0>XnnlUzL%gQf($sJ>9t_-$_0 z#?hLTV3@*G9N<7E(8pSojIKa8#KHgY?1zaVGQ%M?Uw1d=-wr6)Gw zV4iJdt%?1^Xy7JO32K_Ghyc8NA#m@&;?iXZGfrJI_;9_>yEh( zEUqVSMMZJ85UMkDggE9pv_WU0D_-gqaE07)>}wS2^+DOHYnDwOiNvrY4_k`C>Nl#t zl%k}9Z5=)^)PfXlPKGy@==nV|^hPPdb|AqPqCVE)cR;f;=XP#TP%uuZYKDrHh8qW> zPRuJ~We`EtNY1!NATte9a=Px4wv{_M>#;%jdoNo%v zgHaFL6UdukDC)Bs@m(L?tLUqlgGtuJ)FE#= zfb9|T>(5QB9jFNE%iLvRTc20yXJ}$CDNcS2(STVlqZZxls8c^3yHn!n`nIWvq(*rW zQq|Xtj@II=Q`kL`di6cCzC?uCb!Ov8=u!ODdi>|Q997@k?vk1<@XLyqR8TxkjY6tw z>T11vJwu0XTFUd{;J16@hdQGV%t4_^Ouh_=9inp4I8}hIL_5_8$(WZ8{{~Naj(n-7 zHLb(&3;%5}z`V|DuyO)JJmnX!7fPI!Vo41)$6=XdQ_kVL7W1`8#~SNo4j$bw$LBwB z`>bRsMacKGWxCZMa6y_$%t^0OFvX?LVXVjRIcK48pO|mVaL)7%$HRXVwb}u?Im=cF z!Q1tY9jlBg^lv#fR%v!0)ZsZr1nebuU+mi zY8xJ-h*A8MC`ojfrejCrRGwb+>9GBDOq@sFXtOahvR|{&qS#Y@_2fCKzC&AGbK`-^ z&Y+;ss7Xt^tCAi0J!sB=vLY-mR$gos!8`OS?1~-U-B_?+xhUovxWr+^th3JHnbUYc zxUDSZS;(=-cNJdir)S@n)}k`BOdAdyVP1sA2l@oe_s_jr(KMHY&Zb$7wZL;%@6Hp+y6Ik>3c#_{e0s zzKeNaRo|#0WFFM`sK^ARoZqC!l*jHcZ#ta!EB~Csh$n{}X@hh=%d{)sN*dXi_5Nz5 zPlyQ;uKB92hyw{9(3Q}}oc~yRfv(jd4Y>Zroh=_<1YbVzOM^RST4S(J8ImaU1=vM&eb4}mu3R2hU G$-e=8d>mE) literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-import-set.png b/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-import-set.png new file mode 100644 index 0000000000000000000000000000000000000000..745a6d302c8018a78a73a3bde34f25cc055435b7 GIT binary patch literal 376904 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�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

    COoU7S$U;XNBsw3r9 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

    @22Hq<|QcHeq^Nu)tG9R}pj8BfLT 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

    QA9nzEs# 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

    =do_T!iC$ZI!8%sk8JdE5zky+xU$ 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̓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

    6DVmB^%zT86X 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 z z8P`3?e2Wg6x`DR_r4`X=k>)byYyG*Kpo1|=6K0Wq0B?~|l$Q@bGNm{_J%@r^(cj;( zRU=FL7AdMiH;xYK2`T>>emqC!lRi_50*m>bbL9y-+bbr4%}Saa7a@&~Fj3>&7Ch=S zbGT^~AT%7oxLz-!-~T`=oXAAvO=4@+3MsswGDCSIat_ zsi;d_a$4|rJ$+h>k1tYl4}`%%F4-eP?n{DZ;x28@Mn1Et_P=0P07X}X%yA0Wxi3jYoh#${r+N0{E%a$xdW`yI~JDL}f8&6Ob5uTnmt4qjp^;6{V zMZ>Qcx5lychTs=*dJ1CSXKNu%X5yy}65yAveRI{vstEkYqtiXrGfkTr>+N>wqw9?` zfYygdZUU1xGj^k)g)78z;>-g|;A3QV-Ug}h`)v?3OI=WP|Hr8B6!YG~(n2I$0xTO^$|b8+*sKRECAI)plx%6#+^r7dM5o zje{q?EUZ`IHz5HPecW`NJ?ODfCn$CfJM`V*4Kef77~3=h!xrZ)Cb@PtFQD12fvMV5 zjdiDxBY_dkZcmp?kxlY*}P1I}d@TIm7 z@)5&(oXb;n(sXoruLTkKDE9(YQe$~B-L$Z*<C!!Y+B?_EHKU0rJ_5$W zD;nZA4LC)O2fK%m*%Cig?Iuk4f^$;yWjEC10t#L)uA2cYY{-%)R2r2uPkZ76LHxY@ zJY*WIRSy$aQQqK%ndWwQnva&7tB+CmT!PI|_DE5oU$d5>Lvof_8GDp#DKZ7VK$bNFxQq*) z7f|Vc_#9?by@ujZcif_<4ACR_h~uo*}=4VOATX8w3GEjWg4y`cR2cYUuIY)h|d8 zFciD3&f?T1V~4Hh6nR-gZ(!7W74X!};<^K8__|l$98_R53OM0BniX&_WQ1sW!o1g& z>`}vIJjSWVkTz$3pG@vC)W(myK7PBcVaYpHn!5s5uiB9FsO&4*t!lre<2lg~=}lj_ zaO})3UzLZu*!Ly`Wl7y^^CX2!6?ab7bj~PWPVs4!=ITJ+qQg~j6T+RNueZe!_|EBi z%b-)C#8S@K#CM-bz`l<4~#=$;j#(4{4Ws*M9>WCu+d3k0bq37N^ zFcc44{=OqEn(QPRa8Re>Yv3T8!j|}l8@j)?ml#p96ut+nS_WMaorekMV;%XO{dIZ= zi)eqE+VWQhs;f6~KKm^=3J0A7#>$tl#{@#>Fn;rQNxXlv+xsi)ce#}Tq;Lb|QYd1A zM(-^ez4`N(b9E*PJq}?fBJuQB24!clIF|k4hWdZMk`Z<%Zm1DRlzUAu>Hp&)EE$$1 z&^w=^h2BHBIdJ~@P=rk?50)2$LMb)XBe27pKMKk;_%u}Gmzv7!DMUrb6M<@ zD=@IJ{roD1Zh`2nsP$UV+MH@H{`N#!O~ti(?7pnD?4zSwQ7#;yiGa>JuNlwFX=hPh zbPyIn(a=dwS?`5xAo$}GW%5zw&ndsa4_$wbGm5!0KgT7*>+*Olou&BF@Gt3Pi(m){ z#1-&LJalw))U9`TYW*WB;v{d=AtxH$ANVbmm9MXuB_(NsAYC$bs^lh1-(GtpcD(gy zJYDXJ&@DHp=}?<&$dT>5z8WQEC}$En{zxMoIEy{|J3@Q5@kyFn9}wZ8((<=A557uE zNJ%NYC1HPPX;~0bR>Qg{@eEgyK?1!m&dn^_sa(;W2KQBQU&lls=jBp%*5@OBR#6dd znQPs1Et;;Y$W#SuE336JGtQiwoU3!Org(p5q360`js^x4(|L;S*S#uZ{I3yXuYP_> z)#@?2V4I#GChn>B=FUc4o4h`Ctz7ukF>9awQlsI@BLW0}E>3$ohTm?qmBEydn8=8w ztGh-y{Wvbyuk3c=(HV8&7rOk3#^z39iw-|I9MCqF0wXQG#t$_l{*my$u~>=# zKcgAYSCu8;bXP{`fUCy>t~gz}z&rF}yQk!*o9fU$t+5VvYl4+xM3L1i162<4u%69V z9vEn>zfdzS30^N})RdH(=R^qz2>9O>yCVlxt*pW=*Ifnj-WF2$UZH15ZiIJPV+dIs zhuyoU)jO7Y88i(xN)=G1>7?%j%q_vxYU_gnGd^tx9OsUCLNt~!QLa1$8TN{KgH zSgqoY4wqwOdZyd#>Bw#jjoFl?%u7vmPOo2#!Hrth4W>n{erMfIKIi^vk!p_NQEFae z^(b-(nlZvCP&G%7Vf~fp0WFj5U~-~vv0A2mMgaSUjMwGKj=;+k`dV5@m3~#_vnn&q z4dp#)2z zCxDo*_2?r2#}uEBvV5=r74sbI_VkgaxvL_Xd4$(n6}~E}63wfu;GgJ&_u8*7ZGqg? zTAKk~;5y_vUlgIk-Z*sVrNno}hc)T+vEYN4lma%iAjt2g{SChIcn$4n@ z{3QMrF6rRI=1_UNB=na+Q^@|uWH;mCUYZ}1kq!~p; z`>~0#os9*}m$8YC94AZUULS&b;Y4*%3+K2V8)#2&k7~+bN^Gb7a`DZc&Mwez)b92m z8a!XGx;0hF4ZL9|T@>zR3mgQj zUt@31H+=qPx09uP_oSc3x_pz1;6OG5O+}convn7^FXGr#T|wT`=MUwZxaYj2ElD6~<3KJ+Bt8ae_Xn*qInqk&M{q0|(hJx9)M)VdDSsY;{s63dW2SDIAIX?jrd+Y}Df z!YF+A{)3GtNsV1%gP(qU=97Ux>Ul@rXVT#qhvKZHoi4~*iWEWsxV@2f_3nGyxi>V- zW7-uoEyB)=Hq$@1kG>RkxiFC+C{t9#$a!^{CE>9vt*DKz2&BcJT+`v8vu=Z0N?@8> zGo`K$E2Zxu;;2vCpx*Zlxc4d}P!>-2z?)Oc8M%CPdVI?oXRSe)_CEdbi%-uE$`3cS zPTNJ5+-_=}j;Z$Tge@iEJg+(*mzh;GJ2Jfr`+*q>q7%40zo!Hak7cL0pKZ-b*~xAD z-gTb?1AqTPVA5EaMDQa2@U3~NOVXnuLKXM9hwsyg;w~^~Z;5GaT@8f68cFI#Ii1S% zv6mMf4Z=8RBKfI2rYtf9XR0vY>%2LgGQEyBiy?bU?p|ZNQC&~gd$OB69#Q02ka`;7 z;Plje&)dYrlH`%S>5Oc3UJ`$gq0~Q@sd00G67)NGwNd1gmsPCzj*L~L`*18-YBFHz zD#R2+^eM~a8PH8U5$LtVv=IC3qltQM;FV?5N)+l5Uc?BH1Hwm9kqSVB5dkiif(>=H z*vsM6VMpX#3146FC4>#A?_he_$AKC)fG)SJGWayiF73C)H1lmd#swqB(8R2ZMTVuS zEjyOYx%<4K?`SPpe%%I#;!&No0dVijsElNKw9us%pDdpwQIm;J#ov>~Cl}N(@3@Jz z#|G@RDLYL;xc1tPn{h#BXemZOEadhfujFY=-m^rQ$P$ZGfQjt|9*@8%IaA7TwBONs z)EvAoaGe)_>Q8{o$wd5_|yE?zIXTGQ9Dap{%(@(XY|nw*wNNxv)Dau zLum;Xh6esRU_FadGfe=Z1yKu;v4jG}S;7z}jL_!>C%<5H&RW3>djWp8OO0!9otKb_ z(ewiF41niG5%1A+8+=yqYwt8?F}QDusMg7bg11z^&?PC#`s!zmH8SE9meQ9Oc$fO< zSi92ikmq>zz}ld%GP=06;Vf4@G{b)de6qfD(ZPe+xBQz@SfY{pbAx3Sd4uJgjH+yT z;WYCJ^QENX_4t*G@<9&0sKe{P(_`|(_>gu2G?*@M(zKB>8-f2*Tl!YF{o?9D)2BY6 z!+khi>qkrwnF45;anX8Y-m4fG&L~UBrMb-h)tC}wuJ(B_CBH7+ms^+~pYKJ+#u|Xh zOmO9sxqBn1(tdfO?uSeXQE_)ar@;i-jb^j^z=P7*Uk=Z@-KTyK&;@9du&3j<(e$?C z+A{qMd#$|1>M1YKLiKXnEr4kkY2SRNI`Gzi_dKmAxXs@lGA8`l20up~2t>eW&W%P^3#p|KTLj4Jq?WR=@DO;dsM))0L*I zRUJ1aF=w_P>zxCb|PJUqMm&=8Yx$3 zgZH^~j3l=cN^-t$=bkbCq+3`idDw^*!#6(nY-*%oLh`L?H;m0-%KF6?Q+qI zBxpeS8Cs}hr$mOv=$DALPxpX4<{j~@D}Pviii72x{ZQh0hYS4a`PKr`z?Uo~n*Jkq zvAUh3-T~bSy^6wx0C*T2bppq6)Zx7WKMyfNy6U~3SeCgtD{MX3n<+Mn=%uir%2d6` z6nbg%>sy9^=NY!fmH0i|K!CK$6towBopi(OhwQN*YX)_~f-Y^oep7W{Fpcl8&g+mr z$0>bei6q2xx|&p!D^w*9xgnbP(n`djaPx@EKZH(9Zfn{FoPPM`%^LxqUC9hdw{otp z%bC-KEyN&(qrCcLt__>`lKCSP)Om?xr{y&9vqVE`nwjqlOwi%Ie0qO@RvhxnB-<(xN}9#)wknn%l1if1f0?t&-M?U1<)BpUy9cRD>0ACLU&mfU!YXWezB@+7 zZN|mheyGiU->BcgGcR`FDVl*c8y;j@?fED5CV^sxMQ=Gx#;aDG5G|5or!w26FOD8_ zP-{Zw&Vr}$u})5JD(^lxX>n-}?Y$OYzt|d@0GhKI==H-_S3P&%!oTH81t7DkI>Mg6 zwss$r^0CJSMat=Z!4tfBm&V44zcnNBzPnT}dR^=>#z$f*%&>$kmzGHy`yR1jX+DCG zEPlO{?L`h+37?dSY9o1;iAvJ|S(G{F&;qWrn(O3gBG8WRltCle91X<7P`2{C!Jn3i znF`&~)a!-_r1kT2Rs%RTSOCKaBSA%m{2p=0^Nq*OSi)0EF*J~MUInac2jMf`XAj!X zTN{qFM)x90UMb?rCp`QP{?#O6dWP$|9TVX#VydBG0k2>jMMfJT>UWti5hII}ruIB@ z8uvAY32B8Fv5y1s(zI6Co4skpEn6X>?KkNeC!83A7G0)Jc zXy~WrZS4J=__(*p>8r)Vl8>-~Mu0hQL8PK=8o4?gI7h9%IAOZOJ=@!Ng*Ivem4APh zf!;B8vBY;PHsb=XjP+CgSRv|n_{{J4cr0e$k+l5H&Z2;%M@(vm&F^jmgdPx zy8jmd{y+i0_2PUIXaBCaX5$`2m(HD_*jL#cv%F)+PB5$2N(wa3tKyrl2u)vV*itDW zIVtJvH{uLRWIM_H4=x%n|9bH$Y1y&`EG<{K;NC?lQgg1KnCMfk;L#(41`m~6Z|-A+ zti2HI2S4P89|vSc>k*8ZP@I=QB<7NI+#hazX=^zMOKq!Ry!@UUp)C=z;t1Gjl)hy0Aj| zWO?HMZim2^&+@@K2&}AGvkuk*f+Z=btdznWihRQ)SeHyrE@$HN(~fgR%VQ|1)YlKf z_H-}2^on%t(pf52te_U`@(DWMiHmzhkWWAYAwQ6kCPPQ8gNer|Opp??G5?vL8$FQ` zg{1fORlrnVBQs`hm0HzfrC=eSDc3;iINLPTXr?)Hn*J#mTUz?`z7ZPC*BRywCjgJb z>=PGH(Ju4SE0_Ar=;xPdL`x3d&c=H`Cm^A;38vL0V~?qq6HMy@$!}@>`2{cXMXtYl z*0{5az2=nc8DTQ>;uqzffAX+ouqC)m@O0>FD>TO&%v*x?XWw3|)VHF|A(Eyrb#kiHEve5jc7@O=?uD zEIqEeQZDPz&d?4SI!tcA?NQkUN!A%Nf0qiFyq*sM06w#wFd4lc0!~p;(HMKP%w?5^ zN$P8_x!Npp$jG8eaCPS&0nT5z`TDQdUN+y@F_>qiAkXj-lh7DPZolDZ~GInR^} zG;Y)c;zBXM+XagvbataWkbFvW77*b0ex9AbzT4Y`G|Xu>ZrUXKkE9#Pd1d~45jvgg zz@BwrRJqsBc}(HZlSf8j9-3blio7)WOXuwq0(pP(Tc6UOia^U2&E%fGeGNm3n|Htc zHbZ*$>~08GuU=y|w$8`g;MA6#yO=Y5x40(}qzvA3_khkp$!Ge^18LHQW_CW1HlJ^r zb?Y|B$`z|jwO3tvg*^Dcy+-htOaq!hW*F#~nyqCJ7uy?*0n894A~>;ZKlp@2O?}`>a{=_!G~_s$~mg|GvFvRBL_}rB3&KWxvd0;rKokLO;!Qoxi@iY1771 zr%r8r>nDt*^ntLF`}vn&Lun~ouD$jevsW33BVH+7OUnoTju8k1ko??7Ahc;XPIWtY zmJ|fI>DJo~^Pkog0(F7Z5olTd=mIJKY|;3uKYwu-&=COnYxti>eKa*grp?$T58hKv zDp&Hq`ARdI@o{08SQn9b3--z8t%ndU3ayYoM^c@WH!{2q#R~Ln53QY{tJm&iK>mZ?16z6V7!xZg$oNYZDbwtVxXtt3dkq9dQO`0?| z9TrVibMwQV+fBwrJQfyJVX~O#69=OXendQ~U@^`z*}82j&NSx4w6HPV&U?vA2!S-} z6ag;+lyc_#ckp0}Ns5e&%4CM|9prg96b9f1?!rZjFnQHljg0^RKmbWZK~$TJ&|W!; z0qGZ*{HFF-i4rAnE@gF;aS-NJ*Fo@RgORGGR4C2kRjgRioI6je95l&1e*6Se7dK-^ z!3;M|f5zjxAtNXq-z0?&_`UHgan>6jU))&dpfs;K{|KyGw^rVK|DLMCx+Y@D$?!e{_N{YL$fOc0wQZ6rAUSwO@0-DRR}J;*!Qt7T)1#CCTTmR1kCQT|D~mZ zqv%U1C0Z5|_nesd@4xu;eQx>k6=u`r(BVT^%lWi(Yt*b^B)lo`#WS9!{yNPN?|}yK zkfB2%;1w-p%at`}TCxA+F&8xdOF;o{oUk9KH3WP1JKJyoi$t2%+_Pu5P;iT51m8za zz$oFWE_Vd@zEChI4&$di+M_nkt-a;;?l>Y~q^!g^cP!(W=^y4VSZL0N=69W(oD3$t zj|o3--aONfltjP6F>)USlvc08u_N#+lrJwlDuU04dtZg{zShHeoiy|AeusD_*s|rz zW$M&vcwe`mk4u%wlP1Z|9osRkRxttr`}XfM=D-sZ6O7dpj`ch)fc+F1&0Gv@hTtCG zx0*F;3MHpE;9cOE)_muRVti-+$Zy3iI{2RPUEH>9n;gM-&G;g)j8F@G+}S=_DEBAv z*GT0v&Xe2hNpfGMN?x z7UMi%I=*LS%t2iZpkc~q%Z&(@u^;aM%M8caZ!DvFwW`_L^4CD|!fGY85h*;la^)&8 zT(_I^;VERu@g66!VR2p1jQLh8m}3OTpba>(fttaz3PH{BWNdh`51?cJ%WrQr=IcDi zk2`vtGbAS`88gp(k2b=b>w<-gj9_nZ%&)0wvSsTQY;Z*2nMav#eJ=Wz;*sHI&QHmD zZmQLX1(3a%`*RGVfE+go*v2wE9~c?|feM|VQU8OEy>Q-+&xe29tXYX?&9zizoHe-> z-yy$u&O^h)!_5(CoOfD{)>Y{D*JJ&}c?;b^Xl|{?dy-skxe(tu*WFyZ5b{v;-!wVOqaEC4XZgM@!87OjhVu??>~S8-}PO(VmKK& z!>cKN5Fn$L0`6;8ufe?SsF{-$#hAe7TnNvAR_u8GE!RNoC+r+^FXotZzBy(cvwpJQ zH|LY=m#C#lEpsvo$w1;c($vl(9iKPH7+SomiTU4QXxed%AwADGl#I9H{!Z88`7lMMkf`gs%$-H8*9`Q9jC z#6Mc%kZqZb2;ZM18jYk zjl5JMbLPx7V@@pSxVGgU@1cW-%o>n;we#lB!#fdd_HGYgzRPFEbwwqd+s-}b!-tQU z{(}7mk0T;2-zlzr?VdEp53X-^V!xzz?K);&x_-lY%u^h!L9tI3A7|cYK5MQ)IiKd9 z9j$6(}aaGie$bC88tOL8BcYY>jjTxZa_9KTC`tDFOnj_VfoEqr!#oG(zU|+*EGsgt(UGSc$v{e^-B%Eh+?oA=uc5U05`d7muGUqR(PXS+o z<0JP9X_9|4#-vr~dybkhGuW(!l9H2*wPDk+Q+|B?%#N)agn#6Ta4#_d?XixEkl%dQ zU$$?dATAX$j@l&S(;6-Jh`GnY^*z5$J|oTrd0%uC;$DRLUm1+GrjNuo!}TTap&Zt0 z{0{PSbf_uxfAEL%U+&#=yokkq9fe?`q9bKHbn^~jot2)Rf%n>{$xnV7-&M||`R?+4 zY!V<+ds9NX9rmM&e&%&}H1Utzv6uCdv7Qec2{uX%Il znK6=#ePvA00Yq#$58%YSyT3zA5t7rcC|SjCVZ7XY!OOX0MrR1=huTq~jcq zf7Zpu#+bPug}Zp~+ykc29Q#ySKHiCMg>!rM-#lJ`-+Z&CO+Z)1i~-y`;<(LzoPtK2 zOK{G{I>;}X4#8%Q*F}q=PQ1fA@$IGqH{wtZV}Z5g!6RljZQ5+c1+F5`I?Og#Hhesf&AbIr`Y=3vSJ zGtVl9`4yjE`DEWQAnX$<>`g1b+_&LgI`?#0IoH?auup$p+~LEij`#1-p(76eQc?~% z`}e0fyLaz(wr}6*EMKwO>G#t}XZw!bcn{C68#i&9^Hsk=XRXiygGV|;M~pjb<=KMP zt=sQhfAe@}$Bu(GDo20ryq(U+pD%O9Pu%1jIg*hh-MLP{$Lhemmvhav*RfA>9)9Hi zoTbZ_IoR~Yb3T+=Jq9@E&Hub@XyOygIFWHBO}PDKU7gRr_!_i_9WafY7hihC#Ir2> z$2ct1O<6e4+{CxMw7v7(3oki+@4eq#*K5+!x$nV;oj$kRX0Bt4mvV~4l`-M#uJ7Yu zuyfFvIEL6`ygv;n0(l{TjVK3`R;NN`-+T1xYyWT-E?R896~1%UVW4uJdgi&4?_Q`A9nWv2 zfRmV1-TCyhFU)%f;Q;6MJNvrcPjPD3YwY|u;3xFChn=-+*Wp`w)uhKIly)LcesA5b zy4v~vhXD=-31`uwMb2~2y^yVpOWR!LeD(FW4i-n)`@ob?T{Z-W?Wdo8W-zN!tDb|w zI-q`F%hs*Vx8L@2T3*sF8{SuSzt$Nyeu8uO$PovVKxgErF;0h0U7ad5>N$V^zb7(j zVb0Zg@BI&)Pd@$J>CmxjW_g&Ao-unm_$)tS< zeKUlx%>67_u*kXdu6rFE0bt6+ri_UP6To@#W%R+tN@eDQFqQMkC!aa&!(qb8x$l98 zPNs!B(dNAhbxI`HFz+4<0dv54*7IIft<}K!^6PILn29&<70!ruCQY8=bn0?tRy~oW zo%)TMJE2htrtkgr*J-9r`jZ_2oLA?(@#b4jjaqe`tGZu<=btqfnf=Ec=YhXHWS$Gh zIV^lJR_$>9@A0P$&M&|GnzL%vn#=-ULm$L3@YdV!!uywQ`Xf6&zWmB-&Sjmh$a+4Y z>(}plQ(k5P2!N5`y#DY1IB|*P9SM$cVvBR!E$T?YQqJ(&|ar%G%gDL0gYj1F{ zxWT+{59+)danVkXt9v8c&=Pl~~bf)1ix*&v8!m-w!`Re^x(RIk(+$mwA4y zk7M6^?|-=gY@Klupq|ldz@+0e#sil;d4D)I&~4kc-Ha(B#WSCK%{q;pl4UA5jhZxfUdA)#cZv;C zXTpSuPSKc9w`u>XHEW!wpY^@h_C4Wv@%;}!n)y<8l=O-SaP82$&rRmp z{QHeJvVj6iea@wAJDRk2F*h7HZi4ga=Uf?g^qL5 z-+!OwJofmL*=S0YtLnUg{Uk774c*$c>ztQg@y%sF`0vNg6HjH0U&DqCcfgQwu#xOM zi}A5oLULwVrIV|fH8q$erX1FX4P2-1J@;qQux+K2s+#Mrmv=LL82emx*%83zxWoAe z@w&842WJxYC?IU%KrkTNUIK*NGxy-$dg~pmQ8t@-433O(+IHw{^1t%hKh3j;MKg1q zRKBX&)8P0rc<>Mt_wXZ+Id@<@tW>?8xn{k0_r1^T@p1mjF|F@C_c>9;lbt7?eAelP zwYGiFB4W!pZ=(;h`-+^W4jD4kx#G$mnKY#3d%!u9osV*z%y-z9L%$T>jcPUPITb5c zGizzypSn{Km@{{-6T>wkF#8Y~a=(}TJ(#&>UdcTS>z>EnF6nOUbE{bo#+67i*N;8< zw6kvAdZ$;f8=O|H+nK!zt|>{&y(=6$g?A~wNIvj~wpB&@ErS z!g=y!Kf!&q2Os*oDTifoe~t6t4?g%XGmi1xZ{hls?N*mF0>lT$!a3|O3q+T4KF0o$ zbt_h`a-M(Dx6l6})+UcWmese9!Cn@G`knqi{NTivs+bM?-Z$NbdBQ?d4EM2mUUR)k zzwd#+IrrTAKsMTsKK{hKS0v_p_K$zQo-MsjgQm`Z(D!hTW9!GUB~FRbzW1|x&t7IO z>YLXL!hAP-zi?I0Yn?&phoHn_+QYr9x(!>HI==m`pYzbeS??0xZ=5S`(mHnT=5)UN zs?4^qzXK!HdF`M7%8cWCcKe-oJHO31bv?vygzKbR&E7~c%!Aru&m|iBXx-4?PBCra z5BVvuzF^9{4Eu={DpfP#mtJ|*&~WV!Wz1~*F08j{i%YT2>+c-E^Gm~b#Ca6sAHZJH z-S<4;)U4Y$vz@oxa)&c@>aUq~YT#4^UVZH~gV$Ym_cie#;{w%=eK&%Iwd z9FcAIQJb`AoryDPuD$L?^F4vVZ0NY=kBlp8Xl}<|iu?Ufs$A3Qhy6D4y#7ERcJoP| z*jw+sm)V8|3l=)jSd+1A?)z}w1LpY2c^UR`5bygdfce^Byo)ojhWzLx4=m#39$&1X z`2qX{2nd^Yd4D(#fAj5kSVOjO+P1sQ`4)3K`^|7~@|Ih%K1E$G z@AWgRPZ~C9pYtqX)U+$DHU&FZu7}-97WyY2)@4WNw`CVPDs-t-1GEra}#;5_t%iqr3NV#*EF{EA~Dsf7f&7FLeh0G6C<# z7R?{Q-8M+U@_*TCEX|VLX@(P^y)m0inx{VTIlZ+Doq+Ulw?TDPzy>5#>v673~Ar0Ii!SIL&~tGsekU=`O+Wfm%RV(TT;7j zLul@{HQENBeKr8+uaAKg-E5;t3kHka+4p{!_+BoZI$v(2fDb||f!eCZL5fG6B9LDM zC?y*g7i**@H|*FWPe1jfeDiI8>CmCQbnbMSG;GkoNM6zeCBLWojhe~a*)xo^+zq{N zGLmo1PmRBR{rbu0pM5IrFY9b1G3U&gBlG9Zl8F;0LPEKWB$h}te^qPLGZOc4kixs9 zMKgRSjm-B*txRmj$;&UjDD~<$l1p2+HWF@=rcRfyzWT~Y#x`%>G*hD{zxR5v(o-6E zH#8OKD2Z4CI9m<6obDNuX-E^!mOg!MMBfxGZQFN3e-vW0UX!7+Bwwr#zwzjF(b7q zBud>noumXLPsfcLCwJX-hhX9%x7>2Gl!LTky#`HW-kjg@E|rxlF7E;f#%T2KF-Fq# z)mQ%^-}nDkT3*sds#U9Is=;DLu&E4<8b@xvskeYpZQ4D0wE9Kjq$UAId{2e(ISxUPJ@JN0SPMNJFAsi zx7Ja6j*jmm9VUU0#PuCF^6V>bN{36E$`x1kG?KV0R<4$(Uwlns@SHn!yv)$^hwn~o zY_!y_SxM$ET!OwUL7F#fY$Ru?y+LVbE+@jH6U_Jx{Zz;^`Ah*;tx-k>4g66WH*F!; z-_XZM0Kf2$H_hXZi!3U=``l{Y{|Vzq%XqwpoKLW?q}2M;&%S8J?1qi&;a+{`#}6Mq zTzdDuLBJ%E>v~Q`QT z&Pb$pzND$q*jcq=iL_|d1{O)`ph*S$ak~j=35qUwrn7 zG;Y|?SUIs;n}N4bDcuNAGs$WXy!7IW0^tDZ*8Lic=ewXOw?dwK^>s5obi1Of{P({f z$+zEpDVKHZBDL#4>j@eigNBWT2GtHDUC!r<%_{lNoBx)EjhjiUR;`T0`Phk5_XBNTXX#8}?CMS~o@eTATiWT7Cn69w?3eSR)ma9|rt{=Q0Sj?Uk-qTxB%Csa3Ri!7NymN;Itq2?;T4pl`qX zUS`kw1M`q>n45+g?Z+iJ2CnY|f0wZ%2AMwL>W;0T$pGsztCmTtOWPUi0JQ2tjX(AY zPd@d$(S&HytR=MXY8wkLT<7(=_G)9PirSwLn3SPIhv7YJZt_!;wEqtSWIHrSsX=AO zsWX7+qRxuVH}g$%-N8RvV3~q-E*-7n(c;}YSa_({pfT1Wj|&8iC8>O6S-*CrZ;b*C zy??*?wi#o~AwD^&oO#|$mMz2aWe;Kqe^=uAP(w3Xz|@sD-g-|qY~G6g=Q3mEXY=Mw znBy*&36mxnjl3B%XPBdaN|i~L>u_(r~k0=W{ylvyB z)zfJDVq;Fe`r=cGLtCkhSgTeIyj#QNu1B7c5~Y(d*Y#<}P`hUE&jTbh%BQV(QNJK( z@#eS&0#jVTNRziPcC>5X5$nqOJ`Ha4?~}%ll1tmPH|N5WmKtDm{^yvl8tvQ5urB5~ zvR`67`q78~HS3uQ(AJ`s{~xpF$`@aJWi+~8cIX1yEhIyR{UUeXahr@7Inu0ks1^C|H{QhfG{B5! zRiJ4`jaBwpo7Yo`N;iMZgY)x4t1Q%(r(1+|NSijT1;U8JdB-J}v^0GVwRhbR@?8K^ z%V@}c|NRd#aoi|*=Go_P9Mvsm&(5xG%9in2p`nH&$0546{`0<6tzJ>eQ%WtU`ckDGxmQj3h*bOBamsU^toYbLPyM^3~V< zF z`n@SL{*bOcZjfSOh0%r%825@pD|)Vc{^`d!-m$8&xX5?ZJMQrP>v~07SPy6@2T~5o z=#j%Px9TC6oM?r)UIAlbe%$zpW)0UB`-P)MjWTm_YC6-c!I|vb=lk~SFXR%8%Vn`= zOe-4W$BvTS*azfZbSYR!pmjF7_rNo$RHde|q*JHXt!8fj)mNWk@41YzxX5{Z5ayWb z{3F1*IOj)nv_=5|dc%9-HTTo({u`LU^4@+iM$AFiDHO_r9;D>%jv;6yh z-$?W3&5Twz^A?OKF2jBqEj6lF5eVBFi#H4A{UH;^k2kz5TCSmW*s{r01P6s9hj0GE z_o-CzXxRq~1RRqgEC=oWsb;-Zu6!Jh>+FGdG2VPfD_5>EH1YAY)Lq`}@s>!8$6B2h zFp8VK1-B(Iwkr_Fc>w2Z)oRp{XPwiG#GX~jvK8d&9#@&Q5iQlyfsGEihYT4e zzt5O;%5$Nm@gMqsYo3emIEEOR{re(Wgf($E_C{-CFP2t8*au{s95=rB>|@hsaShEq zk$DRiNU!Vff`x{%hCjeL4lUn(@cuhyzErDLO=Bqn0?g94?_Cmux$T{I-)qJ&T4H?e z*{2LI!tz>6;@SQ_W14&bi>yUL3z@k|HCV!OTQUmd8J#{&0Z{>fe4xjVAuKEygIzjI zS@}NF+_E1za!d{#ISw-!MNNmF8|}GF4AE@qHz*RHMk=zeeoi|4){qhU_;-2SB4KABrBFJ@(o1GmzmA*j+b?i);JrD zn-bySp>pdjGhqIwI2J6AnaMFHcU-Xc>C;DUyA^{Y%(>9q%(Us#u|fZxELgPIm=EHl zw&P{(%_Q@|2kw*BSb#tF=p&fe)i>rh2V*cBIeM&F?A~_Ut!Ba-j6sLT1YF&-htzM- z5Z`Py6#($OiZt=F8zzkDXwoT=N$)b44H|;Y#scASa`(;G6n3B|`4PJJ6^1jmD(rz@LA{WZ*qXC{;mTfRGf;mq8OyUU=ap89HVP z&V9cH69wM{eCzg|c&^u(^Ojn*YH218!?2P5$RiJ75)y_5)I-KxqT$NoK4>Bcnia+z z(F6zyY}v3{J{~y=i{4JA->Xm|S^oKNn$%nifwTRXfZU09uCUyXg;wQC738^Ro-iA= zG}APB%CACGXU$r+mPa0b$Os1zt4}}uT<*QMuQBy{%gudc9caG%{1XVjbd)Ebd;%NB z)s5MCE6-C_84mqiej zYGr4pr@N=W*QvUyx+(|ep`MrruT{UIG{ZFp8x%6~Yk?T1N#ZX){RjnSk|7_w3*x(} znioFjoMJNI;U|@Nru!cXji~(K;lvSu(l*>VjFpk2Ah@YoOKGe=m-JQ>Yh=Q7@77H| zTDesEUwbvym6r146MvUGZogBg0MG+UpVwdCU)!7J>bU6{in$~n>lE9NeW3|9Z~uJm zMVSTxAsMjT#CiB72!K5b8k(-Py7z3a3^JP3=C~g;=w7Vp!(eiGi<;cqu_G|idjXWT zuDiA$+UbZq_P0GsL(nAO2+-eT99`D;3Zb&sxlNj=P>zZMupMm3d< zQ?fE~!dQ9w>1Uz1-BpFdKVd&K_=Acvd_>?z>Ja8|D)ilP`z_KN^h#Zr^QS`U)TvW- z{^fUQnzdTBs`3=(gqv@xF6<6k^=h3H$ZVPl3+BuKjc}tf+qv%2v?)#6vaF?G$o=@^B$Sm&`u4p{ZoB0sH5*EW#jE;V z4<`P5P)NC4_v#e>Gf+{Kdm#!4pMG+W9w6ZU-a@}?t^)tyTz${|InAU}(EG`!pF==A zUmkeyVd;gv3>9NZ3q18y1^M)gucTt7$|_)9y&81Uu65G+lIxWLNd;D#p5{JiuFTeb)=3hYoGimZvC=<8U{=jvMf?dv6R4gQ;^cL`F*jDPkF|neg zTRU~^2*GVWRgfP#bQqYVf01f6YRUf~T%jpc_D?FgKm5pF)y+ko+<75P*`W;JoJGpW zRj5B{P_C_1Mw&8dyqcOm5iHKeG*mXG(#KtQ4}=oPQwqT+Q1;xkX#?ni(bBVLPifV% zMX=5%j;$Qn!|=e(haY_;gWrEwU`;|gqTS4O2^Gdu4tsT-A&(K3K?J9}<>{y9s(D;8 z)XQT(Vf*ur?b|@fX^_r&9OHCz^c|Fn>B@#~Kc?aU#hO*yCxU!wK@lV~-{&0N9SLOo`&syje5wH?EShP(b52C%tHjAx-MnlFR${ z)q`YlaV2#RIAqAD;1~ZS?b>&iYrt#h(BV9+LkB?1d>{h{43J_)3PU+|i^h@n5riYk zm*aXv`jv{VG|kMw{pJ8Dr_t3O%}CR{H1{?heklUM*d73W6c0ghuI3s}zQ&gyy{(4@ z%9k&Pb>J}eqd&+cQ0O1?Ljk!7{3ml`w`A!C`4i@w3ww6gzC!`~+i$-u-;bLtjj?xO zd(qrC0~O8(4IBU=SZX$RKF$ zdlu%XR;^me;oTy4J@}CBtLb*&u_vEWx_KSuMJi-dsmkOYS_uAdo}oKXDl_)zc7fLa z#|aZ5pslQH+MGFa?zxS3oGMPA5eu#TECjn&bw$q3BA zd<1JpiYHF_2kXv?CGz;=Pk}xS4oPtjv~b}92>++cb>OuPxcg6V_gw^srKZY%fcFT{ zq@P0}iZnO(KpZ`Xc5akG4?hPPTPJnLHy(Xp@ZiDn$tBVRya4XS zeo5QgTz>Nn*D8%invQ!DSldVt2X@bK7+<)4}xBsZXwdI{i42;3Jcg%uH(cn~;ln$gnsci+AC|g{=r3$fi9?zZxV8Iq*0EtY5!Q z)4>FZGNI@PmA;PWVF2yjwqE8z$Z_D{A@vCbIjeN;*j{~FvyS{ne?1INXAHxJe=9fi z@2B_vCm8{@g)Q>*;l;%+tw4h5&DZ~@r?T6CAftaWZXmPa^jyUX6;%O%e$1(bNn(iY zL*IlX^w{n^;aQv$gWzYQCy1}rjY+1h&>92$WM-820q0Fd0 zmRP`~AED#~VGDg5*<8x`aSMDmu3oiDh5t-9>*t@fuaL1yq4Kgtb8+&fq1KV7rEJdS z2|y}BaMMP=NzmGZ!?hiP7A7fnb_`s>np9wE+hDSfn6vh<$O(i zZKI-z{7*~-xanN8aHJgy zjJL97N@3HHL4DD&pL6Z5R;`M>`|+2`xZ$RF%VzklPb`BQP|^nU1xiH)*|i=UnYGHu z&4bMe3QJ7umlH!E0m_&2Wdy8{Tn@`KEwN!D^NmD3{k>JM)j;OVnyQR~eV7C36O&_? zfqj6&9}8S_+O=t|OdOtCp!J#~IPpUoZN-XJs$g^?bEuW)*VqVf%_vwjmyTI7vDgk= z>*)iIfeJWmKPtE~P#c~a|D=mwFk;kb zD0bbUW$}4G=;s@+@28Bcuy1YpqolBR|KS6=R&YblK+6)GKaOr)sdV?)v18Se4jJr5 zw`)TGa|{B(o`bXj=ksG;g&u-AJS;TfSSwS$vQ!66Ny|NC)|4$%25W9@nFoO_Od6|y z!qKBfXgL(#)1n&#=?~81YuD|-Q-bxdola z9k=!@fWBxa4@l$i)H%cc!v{exOjmk=J}DPMxeFdKb)Uw1k+xtUGn0N<<4VR!1@sg8 zZS;^f0uv`qfimVY6?V;>PT{-2I#ffPy1Q2CN%krJqd$B_4E;f>qQ9^|+1|Q(_3G+pnHg#E&%)%%QiFI8&xf5$;KNlCLuQBFEv|@rjt5+(Mua54*`;wWr2s9$p6|0VKl88!tG?z8Zv##c-=pc-=yKlR?vjyb!<~8c%wG zG7iS)fkNXFtQQPaYNUc9`{fb*E0jNvJTT}6Rfc9?vA}l>tT)##9*ih~)7@2T)I(pL z4nAN7rEy4~S1eyaij;^~D_7ege6;#oS-~}++qmayg~MI6T=buRzoPrStPu3kmpVh; zI(4x>F9~^49?Paz_IqMZz7FfY3kp<}x6ltet%#B~+K08!=HVhGE9hKnG+k}r(dB}! zO3PEZlY(FmDI+j#<`S7UC7{8Xs!qKI^5j!b!#Yk^^w-i#gRfk<8a&oOMpX&x3*})9 z)p0nA2lzgP6|Aqm9w}G!y%cm*&|mq!8iesxpisil2=n1=@NPf)aIh>u8?|iF3~k7> z|5$J%Avq4pBv~>`-h6pw+vc^h2>UQv6h4}8MCa8~aRJ|t{gC~Q`+8aqC4Y|=0De(G zwH7W~3uW=!g_bI)7-NC5l6Gy{$f3iKb6_5zrHjL$-#A9O29RID{%OCAdrrfQW2h$f zB2+ZvUWOQwFUi39d;*l4X+@5-2**1^PRRI3ORz+aQ(C_zFN@YPs7Sy-{+E4&WpeC& zGIXR2L%UoK#b#|6(kWQzF7JB@=$YTlB-KR5+ zt!W3rW23BLDU_@~g|*b0wd$%;1C=s3k8nL(IDe5^PM~5#h4ST+FzE%wC|W`#HosP2 zKOxWA6#&wSc+Q+zXNpeP20`mw_Og9kwXt=Ps1C(4dl5Szav8~_*~Ty)3?3`pFe+rpX*{us{`G8_7a|k$c#;yhhq`o0$;drz}Q>|%(aJCiAof!k240+CR3}lv?20Qyi zI8e)(N=w0GlWr$bfRkT-8G zXj`^`d8JZGn~}rlV+<73+dR&V5H;&r6AA)8|MDyOa@aS}q(6$aDz~(3-By_|B;2^U zVBqiKriX!jHFY7iCi6du2(TZ}%|nwWjg%Sn1+;@{=8yy}l}xgL*%c1f7mis(!wKvj zeJMN4MzIeafsluR^Om^_h^3sNa}D|wzrl6Z`bSVC*6rXX=3n-6_Ib`(WaQ?}mq+OY z3Y)0p#P<|D9Nn{1g;4NAuGR)vSXnUhUWMBsEd%{IZ=PHNpVd%&f#OW6r-x!z#Um3D z;C#S9<{5<}Y#a6gx?ti4g9-qfF<($Cn{j;4aQH~jU-SWg*nZrAkx2l*b#PmC(gp39Nlhx#tTKGLOW#W`k+#@q zQ;CCfGXqa)4jndJKKSTUT_18K(gg*eRLFHJdA&KPv)6D??U3pbMXs}uV2i9#h( z(vM4)E|n66^UGo=0FX{KhKktsN!U>H_)gl`ireR^QmG9SN1oDHSSH4_XWm>mr-b9&O@nz#7 zFzKj!bMY$n_43984LO` zuUdQg{)chWy+l~h8x~Mes8g;|EeLiK zRG`DXCg+S|Me{(YQd8F!&6xOyf*!6HUyb|$iqL(fOvUPQ`%V2}?XI2j?!t6dIG^9A zjR41DZp{CrJE%Yt4y124ZQ87gf;@ae#Uav|;1=QEF8n)opyfilQZUazev&B%a9naN zuTirmtp4_vPvNF$1gve+vhNMoT?2PCZB^Nobvb!MA;b@&X=Y zWJov~tSwZAC9Tap4o~5R`yJC6|AQnnXT&`0-gMha>rzyB zEDm8Wt!J`dk&n#vg>6zauEH_OP~^i=u}%(dli4#TDNi_zD-VG&upiUaFAw7|P{EOL z>~s8=+zWY+pmD+eoNfZB6n7+;3tpGre0DDWizLWzeK3#p6}4&)t?9;4zec}I&EFM+P!Dp=s%hVclRJyD)#dBXE?HjG1B zmZU`s?r%6=sjS?-Lnj$MX@DDDKmC}B_SM1of zSma1N;mlLc+-Oq)Ag)Y#JtdMIT0YWyX2Yx0zF;{UN2+2k-?} z`X5uK7H>Azfcyu+=W2R{_=Bs*x~fix|b>x7S35l*QZsNa5NwmzGLHYJH0S z{@I+g7a>%tjz#_LA9Q5Zim#bN6QMlQ`~sOwi{Pj7SRZwNQ__XUkjr=TS%eYif73HR zwYh{lAdMGHqMRYaj-&0S5)&rU4N)F-h1eg7kXMA{>G`;MIUQjkA)~bSQ#WLx=i4J{ zL@X{AggOnDDPHf!647oBsm`rr8EO@#+!&>Saej{i>69M|Mq}auQ`5&DYXi4WVirH5 zqllzKdgLp({aw%2O%nvQA_YhgzPtr~AZJ=L<=|h$L4S^i$$Ka(9x5LDOH!hr^iQxq z(n+i7D+ogX&K42E6>LS%G|-uzKGiM2_O$=BH?OTYzj^-npIHA}b#{BgBOHq59LDQfAR$vQcsa)HNNK|CR|}`mhyFb0(YW~&gwNXh!YzsZj`8y-mS0U zhBBa{Z8m7If}o|L2+Pd6Oko;ZO4XCm7Qh@&tW&$7oE+U6MQl@ci-GU*Jjb!ByKt%3 zv{Ru#8!Y5zd+iJ$m+D9=J(WAvt0qPXtuWr63zjOIT3?EGU3+*OTK3F%7HIH2AFa`oHntX{G>BYAdX@U&GW;e7xC8cjgO1%@N}>XF3}Qr&@)7Z zZMCij(617U&}SH9iBFj3`FETl5U04a= z=gQ+l3SM*IsCjlxs*=5DVijQ3_5vOo3K)PN+T=#z>z-PMGfa-=O>; zS0>Cy*HMFm^ME#aL4@V(pnut^Npy|bUZS;52Bn}6nP#+sAm8yDqyUwy7d$`vHWRA} z1=3>vG^4K^FO5M%XD%jErGjWIKa8=g8tbHpZ`U=4%aM4E)c+vguNvEY*VO z`?xK)e`KZ>P6m70F97kxUo?4>qLopNTjbay0eeoS`5 z*dsN9w23jGCD^b~sxQfr9~KIKxrIcZjP#7&N9xoRK7qoCDrv9Ek+9iOcfJ!!)xA*9 zUGoX19afao#=t%Z`g&pe6@bY%zf`7~Bue%Td+X`a|HkZRSOb-j{$O2MvZX#U0m`|y zq8o-Y;=*_D0soM)S^NcbfvaZh|Dy#!CPGN{9n(r$EN??h+c(SM4QiF9LJoYYuVPxG zb{kE0eM(>3_4IDOG6av919S!nN7(ZphdM%CGEs+SUc0e$LSCN*af{O;2rY!EEAO%Q zLoYE%5E9-TBhPb&JzB04@87gk8=#j1`<;#25VXa$YX~}IN;}`xXoxJj98bN;`(WA> zM0P@nD2_yhIj-?hwcvGe`E&bcO(8pe>({0Zx4k+yUFU>1>dRgG4?~w#N@IYY1}gC9 zRet5a{KmR`f>3-i&86*LFq zk~5*;RGtQjWsdgsP?EplnGTKpQbej;{$HpOvBJ-~wgs|Ku{(D{U$(Q#tzL?D3&M{M z%=FA_o)MiCl&XK~+E3wy-Qr)++|tdck^ZfH^L=p#@;+lwi~_#T)@oB@M+_9STYVeT z(dpUqh4enW9Qb{MmDm$WLE5bV9h9mRdC4`?# z7cpS#Pps9Up0;zJ7P^ssbRBF{}ya>f}hanpWsSw6fVq~l~B(&FGjWf z1f2f7FCqL(F$4VDFo~qADMXOfFNvdvjUC1SvnWD$t2#E>{?|AlUyw^(c2v{d(GmCR zO5J2lHWIZ&Siqb{ge`^iRs`Mhtmi-aKdyRpwx4DkL$YEF)r<8djZjp!+z$h}(ZNyH0k}9U6HG2-q4`^i7e(93|y@jpvrPlMf zZY8R>2iUd0L`M}CE__wpg3I0cU*1`~ss(ehW#kwe+3KPV=U_g!C+#ST)Pv&L`F{%2 z9MH=O&b^hM{ldGIVdaZ~zd>b9DQ-{JgVG!B{d%Z!C#NhBDzlZXO=UaZq5;B{;`PR{ zkMvk_vx=#s0t-42O;qhgA)yzxm!K8^|Ot%C03LZ2f;8S{QI{C%;8Zl*K2 z#*l1VQ*nH?o(#d9u-TOEiMM~>c=k3qi^QEJeD}?R7FQx{M|S$1OuAZO3YK!5=aHYJ zI{ACs#qyDY`u1S5Rh>l-1?637wL6{xIq{ufb(ubaY)ehG5YT;uf;S)Y992(y1%iYk zo@LyAgxj#nhSL!}wt&->rnnmtr+iO?Y7))Hh*DmIJnsC!fAB?QT-ZqY7l=;Wo|iuN zx2&AM=0(#rt7;pdFwKPP*VM=LrJUGui?_DZ;d}Gr-#@K*&E67SQD=E;5@Qd0PSN~X z9hk8io5h+97>@|__teqIBVK++u?msAU9ZIPRyyFOkMZ z-Yl4u_Z*UP8oz@>N__8q{zf(UYM7?1%-r)!gp}F(e(cn&NU>k8XH4V$0-JsXAWtCU zM!ojdZ!`6)tB(C;c4Q$p7h@DnYV%61DZaNzuJ+q%;LE&-@TIZN?-lk*o!6ZrWsPpeXUB>$}21jw0{*e+375**iV_sAjZcFLjtzV4FC z3T%Gg8{9faq$KYyNS?1-TUA5W$7cCyiY_;NJ>ZDi_d>k3@D$th#6Fr8;k`69ECI#~ z;#&CJvgUdf;G>7zOo_dX$>1(2V6_}q0x@AzRNXW+N~)64x=)7|s{Q%&bx?7*2{{t#fW=+ra^7}AAW;qpFP>{h< z^QBfL|06*Z^TT_yL8zSm5^B#eDih5Q$_0#URRI5k|Dm^2uqgkSH0=4-yi>}_EPVH{*j<{Jx^_Q5UGA!VV;~;pF&Lr^8NL8k1|s00FTl& zWtI3H-j?OnYJRz-E*3Ujoj~935A5OBY4&fpFB{S%KTa0wjn)`aWL3uW zQO7Qlu#gH7!S%9Z?z}c&&COuW5BjTu2b1@8;HlCuO zw^kDs0qfPE`J})|`T-+ahD}?NVodNFyj;A3Tu6JMFE`agu{n7=|ykixqFFf ze=W$GhW)mU^fUq$^UYg&DyF#N-Urxn^H=OuXxyE4UhoA2Ic(6U9U&^(mLLblkgm~Y zZQV}=4%}kKEc6Z8y)a!n;I^3kd58LQWo$ywxOU!RADqL4C;Ei37rk?lxp(_j;J#!h zxgj4igJ@(O5FrXXXrEU_t47{i4DM#M44GE$Z+Rt-FdeRukQ3Qmzk@Y*I7{>mCBL!CPiS~QUL zeZYYm$#2bSbp)iIkgx8Bh2`8~*l@^1U}1Q3KtR`n;g+2)Zo*m5qe|~;o3RtgXP50s zd3oG#(}*g(u2&awNb$&a4CB*k=YQkLvy4}-Ch|n(c=p(EditW3`Et+4Z@JR3eo!iZ zoNtEfEDaGMq(d1~NSU(G5D)Gt)4FE7dG@y=1S>(lF(zfKC*+Hzr~AyL^fDGu0%h%s zjqO7)ISOl~WE*K@UAmMp4;Lw$VaZ;)A`nYO##M4MLc@!gjkgNH-Gc3Dor@iFo^&E- zfqej6IrEEn=0SH49R{wGX9)F>oXidM;*6t^)e;y}lk#8+F8t3>jmzDsLJ4%S`TCIBurPvWHeTYv z$TTc@k8RU(9mf;gn$6y9h9PkoFmrJbhhjQKagGj;tZV{B=^^Klzm~*-X(2ZwlOUhv z>{lP1Iv+jVbX{DcJn^mXTHpdziT>CaEX@F+R(T?ZlDG|M+#7+w)9H^A+KyrRt=}qg zeqdV2jg8+prH?4?om*c8X1AFKAH#7`hS;`&|0!c80m7OJ7DU5h&vQD1_3g_fT;ZxN zU{!)2;&<3JKdANvRN-QFUyQ=k5KULxFfZ@POh&CTZoa0v?T0X{(>j0SvSkVnrAZ`m z@z?5if=h^$qcHI3wYNa3nE1U%FvJjK{f%<3EGCtgfBZ`gobhWDWiqko4XqHn(jx56 z9b}867F5~i2YY)I_xI?NK37OSKPZ^I4_T8U&&x1w8oA6q@3k2)MpfB z`xBR~GdL(5FSF!bTkVFdD^5U`I))qWd_LRaISd6GIo;q8If-(|ic8~eq7_cOWbT*=`Nw|1JBW~SneNr?X3Xgp4BWc1+`j!Qfpcot8aCzXX8qNFj&q0AaHpxjR8 zCJuNzlW_?e(l5(lj~`hGkJnnX9 zmJg>kcZdR&w&~E2j=AnYv0%XirCjX!sukJ@>^+Dm`)%3|XzKUdeg6mbGD5SNu%U5o zq-qp3yDEz)m;{8QkH##MB{>OkjK~2RkL9CiHJbk2T$8yp{MrR`Eaod?uTiHleHQmK zQ>GkEystwoR^VZF7*K|#j|cVE`3>bfh{iHAAojXeeF*E$Of7Zb#YW`ez4RSQrtDq* zdlaE{vBxKD-4x+p9Oeh>2^P-aRpBWKI2`j&rbkIL!NfU4!7v!3P&-^ZVE;sLmO|R| zTsDR{a>=PmSf0+cfyXaYWRO{-?4MoG43lH=2oY$c&mXNqOQt4%6~N8*=i!fUL`_Uv zO&pc5f`GFwL-RDC{g&}HoD`$&tdv!4rfC(B$~5Ac7#N3ye`-Z;U4#P!IV)vyNe(Aa zC%#~9D)=DIroAx5NpRgX9*BjJ_8q7sTl^d#tvMqehXj7l`i#3Tx+gXaHy(I%t9l+mcOv0Y<9O+Np(O($${#Mv4Gft%K7|tm{ z*qIAxm#B!ceZ@EI^?44 z(K3?SK?>{-#2b8hew>ZL_tg_n+jb*24YSQA-9srxbU`)rY z^RajyNUORY!hDI=IwKnYJ)-OUvW*D(SLfw1QmXT})nZuwHAtso1hze@P%@dpVZ=h; zLxTm`TuYNJDYeokeZ1cn&V(eCSKCON+5c;@W3eo8Kmj*f^a2>*@77Z{hS{!E( zO1l_S&O~IxXzFzT7A5@Q)b&?f_f;K}K=$gDT=eCxh?(hO)|~i2z9Z! zgVhWt#9F^M2NpBOnzE)Q<$YOKZX4@iryG6SgAaPYXng`=$p)1dEIkD!+q0Oh?L(QL zqL&s1lMDT43}Z<-fNvatg~49x>jZ0~;Oy&0M`ciLEU@bXC}a3#aUCT)ab^ac z9W#ifXvYDN3stCwy|R34-MY>;vbRh7P_FOdgZ zZV*eaf*skx?~%$kR)%8sP#W2|ZtI;MB}-Z1Y^azwU)1h|>#&m0M-kv~rewfyHAJgY zzga31MG6JR{7X(><~$7@ow2zQz4tbOvG!{@K|s3F{G;N-RXX_Rr%<|F15~A1x8DY} z+ydsQJN4x+m=k3regok|7+KN)yn6|9O%n;9{#3L<+5(XdGR96q)kvB~we6K@38Zc< zYz#ryfnB&rOgd-pgDe~-7X8LpxWb^kW>xT<<9;8T6F!k!`yk5ErHg9l&XrWIOu=+E z$oIuPGthpqpvU869$6`Ia)&G6DT$mP-e`UVlZX~aL=wM7t_k<$7~_vr2*vI!Rq4z) zJ)U@pJX|XTZK5HBe5Fu>EK|*~{4=A8I(L~_DyiShCcLg{qo)6x`+bP{_M84bhvDzC zudR+tII<^}_vd5N>McG&YqNF1Zp9N5j{QZYRx{rLE;Ck9hFofPB>`bm#}%RcTi5A0d#}1yV<7x|PNVfIW|HOsFew77 z!`^A2`W`#uNh2aE1Y>lz)_}ZmQ5=}C%E(pFtX3HbL5}V`Hi=Vlc{OMKXc;;9vxMca z8%bn=PL`^tle5H;1!zDeV<=_*iUI}SFIJO8Dtg5|_$F#zFk%n=k=^|ZlNAb5oVPs^ zrStpsL!kBcaLpy}d^nuAsT5eu5s5j@fNd?m?Vcn3cqg*&I`dFHZL5E@1L zAp1c@dsa+Vhjx+fFw*sI!2}L86E-{CLOtkol^LRi@o^)chmU3SIJSHlQLF_H^?<-yBm+dE2LXLRBV*E49x9dEEK?Y!tZl& zrU!cD1vHgiOVY3Xepiblm;Z9kHb0+yER?thuQ-22U5KIyB6h#UsQN0nO|0%OTKYUB zNN;t$C432&=L#Vel|$R+JD5G>EtP2;b`jN7P<6^cbdOQO#YzxTi69xwD<|{*A8s?kf^{&FQ=5wl=s9-tV<#3dSKXI;DAStl|i3cJ_)>W%5i93 z4?Oa`+jaU-`+7$50cj@;Vc-7F_!J`|^x>e^-?PWw-x!@_;HzZ&5voziWU0Ym58tyHjr$mN8 z5`3vSl2b6UAbBXPQN}i^JCRGm6x3QRp71g~`T&p#aepb4Mz`4$#7BqI!-MQ1nb^I{S{>t*ed7Qbl8m4Sa-ebo8i%t_9mBjI z$T{~U)E}c|5CnJwTrhsFO{>!5#awj^7OG3>GxYA#0Sv5aIiMrX` zKU5a}{;byGsCTTzsql}27zd3m88Ie`M3JnIIB-ssiLC{t6X5Vh{g4l%)6XFz2*hAlPPqz|cS7FuCxRH;_gnGh1t8ueP85C-}^ zR0Jyql%~j^>Uo(>>QFpIiILr^qarj0$vax0#;U46$Sb8Wsea47`G)GiRk>T6DE3Z+ zQTadagxh>;8p5@>&$?sq0+u1t6Pd8DnZu>uP&BX($SJgEMSjNZ( z5P9^=Xvd7{sVs&YH@s8Gk}a|Ob~w)gs+~|+A2uA=(cKTJ`W1FOU<(@N@>LNdjacY# zmSW!NT)Hde!K^NIt-TI@z0c@+`S-e0q{xvUBKmd2w?B;kW3L{0 zHh!>DdsfWZW{~WV92z)UpwU%%wayOP)?<|XU|k~h0I<%(9uedrPq;Uf7P(tOS<|bn z>Y~97VH4t}UywzsiN|SbnC&n^&k}QQ(Tt$Yz(Qm#IBs$oA=GPjOm5M+6Fi1?kdh*c zp-qU(-xM03bw5X@)oQ*ua;G&gTk#d5K^$DU*;FDR(@|gesNcHh2a;CRL?|H9yL=Vg zRGZtlg??pNxuNC^LAplLYjjJlQQdFGRte;k^gmf|P!PYH=`{(@dLnlLX%h}?+VGu5 zGv%iM3r6HAhd}85rFdw)QC`YP)Cb|3zoR)#WPttllq(5t(PyUZhf8Fy41xZ)YGwk} zRaWC^S{#RKM0>Z}9;#}n{$W@Jr7zF58CJU#X_mW%|QK6J81R| zvqQ?WF%A5FyP66q;;OFhy_~^r1Eb_uBl#5hn+|Otw;%4Uc%G>a+0rzb)j9iI{jNx_<936#jb7jsq#j`PjdFT;4v*w$wi= zu_d0I!{;Y$((Qi@-=f%NUWeAUDALvC!U>QhDk%iO!!NSYwYpkB_G~f@NU6)_0E=l6 zZ8SwL<$QH2_0-D}R+&wy0tr{4XXxHOE?3L2#k4`u@+jX|?}asF*RA#h6|kkPq0eT- zFLy6nb7j=R406h_$dB@%K|C8{Tki5y*2q9e6mUxnjYe91AoI@yJ<*S4qDTDzW*)B$ADxQ{*gyGB#*<*K~%J+2b$iHpAj_hfKL)IC5xw`9B)>6J#UjN zoA-Rx!xvAuL-15!C z>Nm&S0%o<|DudqpYOEc5Nh}v79jE^wW_g% z>D)fp*x()`bEfI-1o?l`K#i!TN2N)58R4BswOt`8N_~crA7&a7NczZ=Ql<0hJH*?n zpRE>s*oW0hn_aK#Gmt}%jjvk9sze4KArp;L)lTCtomZ$=16fKIy+5obO23wy zhFM*924wK+;8rXY5PS!s(v6FJD8(A?4_@P6Ry`cH-2I&{6afq08B14QaQk+8UGlZ5 z=p_IL$?**B4dvJ@b84Rp-dp`YxhJz&&sJya&mU>vK)W9rz2qg*<*etmNi6a%IWVF-K{KO>^G3O_r@{2d1A4s{l?-xGA2M>_JRY0e|r0n5(>j#K;IZ zw$c_-#y>1aH=fbHS?Sl}h^`S4M>GR~_vur|5k`*+=cY7h{T^I5;aI>p@ zywbE5yW0M(#VUjV1E!v`kFHJV zJm+JCG}*1Fll&_xZ`<15-aOru9YM=(;+kK(UQ~3aafY;n8)8u;hN*);;aG;a8twbl z`@&>%lOEALq*SH?1pBLOnMk^(_hBKOXEUiRm8Q++dvS*cOnRj@wXs@@-neOE2So?j z4xA~du>Fx>n}KTtmB!ghEv<`2X9~obD)>(`+kglOflBouBZYF2jdb;icyIe%1S4f ze5@+}dLWgDZKtH4!Oh!Hg1Nn=@S#sO_D=?TY`3kAQD-F1y(X$ZzkPZnLNNoeOvmU@ zw?FfCR-6HtVPC+hM&}w4V9$b;Hz_A9()}fZiKkW2d{WUEH;_rtepQVG>BHU8VqrMT z?-_-i0A0=sqsHHPNM%x^H9uFH^H~K2HG7~~E)IAf#S_8I*nKMnNdkCxA+Gp!`TnQv zZgV6VM>OwTcGc7(t_^h-U#JqPKY69~ir=(7?e_TZLR1x{>53b{kFHjgrfbZVPhvN` z*y)vXXq?WJ^ZnI+=Dl{Y^S^hdQJx5ZpeAc@4vcsqYwaNMaWng1&%ikYt}j;!=T6D) zvS{sK%_hP&Z84j4^~OB0L50sDASLwYDKSe8IlJp($#>7qupE3yFRb2moWc(MrCB0)Kb&O=^`mE z9pu|TMEm2?Vkm*0-e*gcNQYLJ129f=sENtHP~7UT)jVnLWrt!B7I6+=uCqNo#LX=d zbVlFvkbEdSLb%sojm=%a!unSrFB|t3@ulCa9aUtS!>FTgSCOOC!OjVdivL4)m`R3E z&{C^Vd3`NS|GFI(vBVe9{6Jn5jNDhxsc>h!ues9v-iH~B0@#}~+OpY4^nhbU=VPOf zcA7J`fpQjkneG}U9tGBmo5bvhcEG)N-5Ep#mh>6S*sbQHmp7%Z12wgOZ>{npE^$ESKV~ncn?Woy>NoIW2T`Ksh z(SALjlUDx63x-b_D$HqP@If8hN3xW47Ik>Rtuj)Ml%xv{%&TcwX>};}(1vHPt4@&! z6=ToTy=qIr9b1o0IJ ztX^)4QU~M0TM51v&kuKae**N9b-Bh7G`o8b7`V~1s+9Ui! zHcjvr#BzxoZs8p6uX%zCi;tOCn%y* zrhNbPRsfiA=LSZl>WW`g4j`>ein5s?BZ{C4Tp!dO4#L*Vgfl0 zB1LEU)>MsF%WJRx%}M+G$QD^sQ2S-bW05GXb+@BQ>ip z_}KPI&Rqmz&7S7PPATbrIEz&;mq3GOwj|qr*^mdC-L(Wn1_&53ZJru|KP|me(G%mj z_Bs|q&{$`!E3oXtgesI*9TTzt$l=T$f7h>yMkp9&DAJC&Z~oT$Ef2dY;c4hF$C1h= zYF75~@$5rc7Owpp9!}+Sx8xEN1w!a5TivUgL9`Ao1`vQ7SFTM!#%#ah>cR~;8btKQ zKtY63hssXi>T=N9gfKY^Bkt{x#IimzK-9((dSmGpf1w1Oez8r&Gr%$3mS$wVV z9T%Gj0&`14=HCBnlW2faa*z2Y+bxl`)6q4?QPL+csa#qvURnY`nA>fIg-aAzDoap3 z+%Z%A1o|0 zjc^HQ2wRLCAG_K46qI_zfoXc9)2LktkbfE!8|xWN9cGL2Z7-Xl5<-n(%dm3A-M;mG zh=Q8s*PXfa6eq>>KZrN4l7n7~wj->}znTBM6FnLGkfW0z4g^8RE2Cx!OifHb)txK? zQXU8zP>+yN!lK;>Tx?p+thZ0^fupg<6F676n#+5jwOW*V~AI2tjXM*Q0#1 zETXk7Y==cZ?dvrm!g#nuq3+#Vw~H!{-YwX#uErbwHx(M_bWcIhR)DYS)p#+CYA z{HV^NU!8V!5w?$iwSBZeKu490P6%ie)sx)77gnz`TU?XhU>f6JS@ zNr45;iG-2{mWbAXC;!{1`u(+npJDvK!^N|>_~Y^_k}14eL$dzdzf2pwf%Mb zZfE2Z5OiZosiCWgO5Z_xf@^hQ&Au|Kk@%{t8s`j(7GxoJe`*k!w?eM+>q6MggKu>h zp0?j|x`CWp3q*a3fKC`M?`Nh_5kdZH-p5+);;JReZ6JY;Xr1|JPs^VkoDqJmz5U(1 z8HPREXPA?*Hvah-uR)jI6(Ri+UG29@xR}eh$DD@yOWs0)shnd$rlI#jjPZ=L>n)RY zd|k^=licHCL+$z7B9zO??vWE0W*u4Z!?j`59lT~)`k%?IWlh@Z0?>d73v=UEk zs@%(oC&cHJVXjiE^02QQpTingUFiTrXK=yJYHBl^Ncwke>?uIGp9Fi&@~U&Ra4)l(XC{wfKC>9y6?2dp5UuirJ> zUCW#z-&5*xzKGQXR^frjd*xu8BMygj)z}M~*+uZaDBZI)(9bUyvlex~b#^0_0{(yYaLe_8aSSsFX6DI zI*kQQ_KffyD>^!$^;j6VkGqP?e$2pPvLtN)pd7hdKXdeg+?oOO)JH?NUTWdHu7Nv? z7VS^CN7mbkXT_ntslCzHE!=}2VJjmrAGLiK6LX_Q@sUqhxc#Wx3HNXBoL;n7&RlSo zs0KSOZh6>!NB<-UHF8iLY2sKKrR~XynJaaChmrJ-xhjZZ9U@0wHDUW+vgIEU9@&Im zs+{`jqQ3+Uk?b~do~!X3jb41~4Hbe3;u94M-&6izIQn~AVznguXW+cesu3FgJ?RNiP_+|OVM7WipO`r`N`;y%4I*3 ziM(;H?!V=BBfkp~r$e3E^$0{?l4=o0i^ZgSt}b=pAa z1S$s@dVM~tyqwPgY^T92xI7nivXt!hMe2#m8xl)p=yOM%e=gR-G;N5G_`I>b=9jKg zRS%s@{Xgjo6njRpuXvBfFBoG&Tlo7{l|sm$$$55CIXB+@P7%3Sgw7FK==Kf7{Gou> zZ>iXocGp2-`VMWyY5r|8ug7xyV<4%VOXd_Kui~&O68}C*LuopQLe2>x0iTxw`B@dcV_xq^s0}Sv?c9T3rmQpv0^k z)gqg>Zw%hs!j?iROY>iIiaXK z#5TE?bIMdXU!=+KXD)U%osn?)la`lDKy?0HRH(`TVzd^vdv~~dwNO-K0C)WGp5mo> zy=bINkMWR*%|n)3%iw*0X#V!IobzT=FhDhJwo1?FTN}4arQ30IXA`VEeM|GEzRC8x z#(i~DP)4u#BfiV#E2o2d-YmSmLM{%KOSw`uA9>B-@MxuT51t}{UWxtgrOVnhvUO^X z#GMKEUUa|i_9yLC&dSpL7k&aE>Jzyk0{z6cyA(w;+4i_R+Jx(zJEy$!O0~i;!`aTn zw8X>(2yioXxc;(~iKCjIRn*FN87lB!C$$7$02;l@Eq;n;^|iEk;3Nkv~=fPL;$$MQS6Js5*7sTKpo|{s~nhnjTMwII#5XvFg zpz3hlX8b9AXdNB&51UvBMp`zxCvX8h#dylb$gM&Rfu!Tq>m1TXhVnj*y_oyUD}Q)WI2dVYq#w=_JH*E|DKUlc+Gf0n>_okah<6VAE@@JvgZvS4PL2@#o@#I zB96pViO|PsrSiJ3qKd0xywqSd7hJxNZT$Ox9>!%4pSCex3HRyj|9yHF6tFr<+u1}m zTmj(W=-KAee>^8ayBL1QxT9nmED*rU`~ChY15Q6*Tw;oVzX95|*xsuDAK(Aq5cppl`p&Qrbr9~1_%n3o|Hq*J*RKDI1N=Rt=d))(6X?Go z^WU)hU)=M50`%++Vk^SAzXNw|?f)3)e}4&l$&G{Q;w>x$0=1{<|Nl>Z*G(ruhLEND zdxl(vCBw$;|Af;2V#xpBDWMv12obML)d)%4;gq;SLnoU<@UZ&dkN^LinZix4vcpt@ z_v8C_TImjUgmVj4o!Sie4&%rsz1;U<1l=?vy*Hiv{1gLr8j3de>I#5(8^7U*@IdIy zrIC>G)gusGv)N!i6ag*wbcV)jF^xGu>sYr3Z#O-!+OiMl)7C;7Q2Z+tKOx{&$acVrnwO=L5dDKibO~DR=PoB7CL+N{)&_w zpi3D@#CGx79aZ3@P~>@Qk=^mnQV7l+k+RJhIbb4HUw;f#iK^(_yOwtnctxRNbE{-= zKX7dpaJ97M(=5`}iq8(o8?=LHlPUo9tG3O@`^8Owi&aS zyzwvU<$rRtW3TPT4rUFQyqa#(mQ`3tyX5T-)6OEb@vP?|2f*oJiU1WG*BhtK$ZcO|-+{Ag!yasqfie7fN=ZT9 zn{I4??UTnY8;o*n^OV;}7y}5+TYEwGVp>Q{ZY*Yg@KU$q;L%nT?p!N9^7>2tXNZD@ z)lf&7R+R0MHeP4L_<7(RW&NlMbM+>F)PhprCecH?~O@hki{rUWVE2 zruU}5|KxwXOBYi;6a~@EE!}nZ8*O+3GUbXldv9I=IkeYZ44c*~=7eKv1L+NAg@Ug> zO?v~OGZz%f7FGsuZ;gIoU%%8}K1la1wkvYI$(`XhWQ1^iA8QKe&)KLgZ4^=jB(w@C z4pyd<^zh`_u_sJ!nqEvh2r1u*Wpk9;>}__s)O|Fd>A^0Ko`=jV@f&JawVgjUot|{o z|FiTxq4cr}xD(4wxYgDcTHh*yHu6;%X^dKU)>WpPO?ox^7_)SRF!OnIk_IBp*5FT^(JsuVDa<+p(T!FTT6c zBO5We=kdJya>dsSMWNUGi6SzQ!;qhHigS1WY(j zZt``t-f?Ni+0CQLeVyA#sC!Kg23wM{_dPMX%c)ocu|T$}IJ6nJ z2VK3K4+r5V_c$%Mh@7#j-gT#sd2jlRIV`wz%x>Lr7$)pmbOq+$;%s_IDqTWddUh5! z!2c*%#VA1gwtCZkx-^Ppfq-fo`@)5lK0>R(`zp= zmo^7X-`-Fijf#B5smeW{yBv;b^xkBJ$c#1LZt@(9J#hp$pZWgByPxZu?_4Ni8=C@D zRP}(+%kQxA8;;!dnW0h2gxL8{%^&41nw`IoVeBUcF+G4U4L%wd+f_Nn!o5XaF=Sw@ zNZHNf%%{u;&O6Cwc4u5_vWl`C=I`Ew*8!$|B#8-h2?E;f>4FYzyUvDpn~yF-Y+`Zx40 zdf@Nh;?Ncl+vw1yvf1VmAk@1S1sU$Z1L?uzF?aYBo==z4)}tVDki|x$tohRu3NWCj z_0~&t+M6kx!|)qC%Auzx-A3f_Z#|~(h~$aDl-+pycu<25Tf-}1eZZIve8>2}UE$uM zRFSzlkaeD4KS5NkcDn0EtkgLYYOro=cqbeHV0|9xYIQrN;GhqfytNZ8FOQoYjp7KDy8?h^2Q5*&GaXdI$ecm3N z-1IN|k0qIniVuq?>o4`P57O<}!I#e|`?l-4yDQ#BX9KvBgv_`Q1XX&?UtV~xjz(qMt2JBlE(p2T#< z`N#iQ#t`=mZnnWQi=hbE=QH?Vpz!KeYcDMyD)Q|$Y%dW&I z0D&!TGnCHvKJn>-@S8ImK@5x)pvvs)J<0mi@Hz$mom?%v$i$Z^9%kJi8!1@*Q6K_a z+_r*GiqBs4}^!!ihn1M zSOC1j{Xd+&WmH_<)+G!CcX!v|PH=a3cM0z97F-HBUkBZ;{<52IE zo|h@KIB4dYWt`W~J9wp;p6zZNZ@ZG*iny(K6gI5bh?}wGwC56D1lvil z-CE^d?9z2rBufM@Wj!yU74KPRU0-@5jaOw}6?yQNoV5nqihzH%=y>6a7>mu2)XVB?_b-q6UxCB_apnFABmSqKWN|_- z*1Sh=aQxMku+FT8;|XXizT?>r&3c5ufp0xzE717gTmb*mWB%>mcw69sszHjkkktXw zKb{8tM8Qs=O}2;V_WuVHrofYJE{L&`lf9_EKU!RnN?}zA@(}$2{ z7;yg2U;TeRxvfYEcCHCH3%(eLi83Slh}?FLM{3>{69|5za7`7 z9?BwZh@krPM?Y{(_20VXi6PM)5TnPY|NjCTf>7um-HZ@#1#2^Bm;c0z|IO=N7O9dT zof)OI` zL>qYZPXOzT35ocEw%2EcPADH{bZf#qhNX$nG)}+pOe?{BwR7fNhVgMIKQyo^C6s8RMXcP`D-`gajP{(=$ zU+=aaNCc?;TOCpayq(4hNNn8?1*J#(oVS9~I!wHZ|Md7j%Gc#}B(caAQpqGz|EwnN zchid!lJy4mLyl#!mu5^fHSZ7wC^I+24@RL)6bSiSjwI&m8&Bo&QQI#%q|m9TMjnWG z9J8JF;d!n`RrQacZMhatXVItbPo~QB*`8P!U4Zq;E~NSV_eIU~-4DhS{BFI!iquX0 z8T9y0)|bnu!}6ZcIR41{|FA9pYdm>-;M<}4PllEhz!Mg_MFEBVaV57*w}(|ReqM^? z`VdT}{LMP)ocE-VgbqaTu=^gMN6Cn_D34N2J;||hmmSYY$Q0QMtmJZ7h7f-flsmE5Pz^PGzQMV9A#xs zOPj^t>bgH9DtFr8ms?r+EkA zQ@P#$)sY{0I3g+Ka#e&4{x=Kw-&p_9`7j8yi|Y`}8;sHU8v@pae=Jbw79LcT=|kZF z=vgLnlx5`ylrf_3b0G`^0`;~?uQk8yN4ZiYZ3+s=m-iO_yHS^NFA1MK7<(1U<-Dl* za(_lAgOw;A{gDk;@$|>kDQVxIE>wwF$>nj(NT!mZ3~E@YH8Jt?I4cReVz=nc^iJkc zxfDcST+&g1P{?FXecbdXgSuLA+cIjCdw=n?x?J}K_uiV_tW*}tIq4$V%oO!nMtX*p zD`bwlPxq0N1%flO&MC3!4C9d~MElvn-PE9`BP6%0A`u171?CnoMn&3pXDD;Og+jt= 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

    vmX;zy%{lj+o!ZvcOiTTTxM7?qF0RqqCq;3T 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

    P3(6W+21Bdp_@y$g)N_xV?cRwnjAI`}ZJ3 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 Jz4F$3{|3!4XVU-x literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-deactivate-etl.png b/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-deactivate-etl.png new file mode 100644 index 0000000000000000000000000000000000000000..7905293a693111b759091eb942f5865b739b7fc6 GIT binary patch literal 167695 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 z -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 (B-1rTD5XbFDXrpIsi)h`}U6Lz&`W163{1W6$! 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 XO!RYvVd;J#;A3fSXZFa%J^FtE`e&d5 literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-design.png b/content/ptfe-releases/v000011-1/img/docs/service-now-service-graph-design.png new file mode 100644 index 0000000000000000000000000000000000000000..98140a8aad4298eb3261ab4ac1701e859eed42e5 GIT binary patch literal 247189 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�g96MKxp(|iyZ1{_=u10JPS^t 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

  • vaGnA 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 literal 0 HcmV?d00001 diff --git a/content/ptfe-releases/v000011-1/img/docs/service-now-comments.png b/content/ptfe-releases/v000011-1/img/docs/service-now-comments.png new file mode 100644 index 0000000000000000000000000000000000000000..3c1587f52da60001916d0020f29412a39342f5c7 GIT binary patch literal 288283 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