* Update website folder to indicate deprecation Adds an alert banner to the top of all MDX files within `/website` to indicate deprecation * Update website README
64 lines
2.9 KiB
Plaintext
64 lines
2.9 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: Terraform patterns for scopes
|
|
description: >-
|
|
Use Terraform patterns to create and manage Boundary scopes. Learn how to configure global, org-level, and project-level scopes using the Boundary provider.
|
|
---
|
|
|
|
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
|
|
> [!IMPORTANT]
|
|
> **Documentation Update:** Product documentation previously located in `/website` has moved to the [`hashicorp/web-unified-docs`](https://github.com/hashicorp/web-unified-docs) repository, where all product documentation is now centralized. Please make contributions directly to `web-unified-docs`, since changes to `/website` in this repository will not appear on developer.hashicorp.com.
|
|
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
|
|
|
|
# Terraform patterns for scopes
|
|
|
|
You can use the following patterns to create org-level and project-level scopes.
|
|
|
|
## Requirements
|
|
|
|
This document assumes the reader has:
|
|
|
|
- An understanding of [Terraform](/terraform/docs) fundamentals.
|
|
- An existing Boundary installation. Refer to [Deploy Boundary in a self-managed environment](/boundary/docs/deploy/self-managed) to learn about deploying Boundary.
|
|
- Configured the [Terraform Boundary provider](/boundary/docs/deploy/terraform-patterns/#terraform-provider-configuration).
|
|
|
|
## Scopes configuration
|
|
|
|
The `scope_id` parameter determines what kind of scope to create according to these rules:
|
|
|
|
- If `scope_id` is the global scope, an org-level scope is created.
|
|
- If `scope_id` is an org-level scope, a project-level scope is created.
|
|
- If `scope_id` is a project-level scope, a nested project-level scope is created.
|
|
|
|
```hcl
|
|
resource "boundary_scope" "project" {
|
|
name = "Basic Boundary Demo"
|
|
description = "First Ever Boundary Demo"
|
|
|
|
# This parameter is the parent scope. It can be either the global scope, an
|
|
# org-level scope, or a project-level scope.
|
|
scope_id = var.se_org_scope
|
|
|
|
# Using the auto_create_x_role flags can help you get set up faster
|
|
# becasue you won't have to explicitly define these roles.
|
|
auto_create_admin_role = true
|
|
auto_create_default_role = true
|
|
}
|
|
```
|
|
|
|
## More information
|
|
|
|
For more information about the Boundary resources mentioned in this topic, refer to the domain model documentation:
|
|
|
|
- [Scopes](/boundary/docs/domain-model/scopes)
|
|
- [Org-level scopes](/boundary/docs/domain-model/scopes#organizations)
|
|
- [Project-level scopes](/boundary/docs/domain-model/scopes#projects)
|
|
|
|
For more information about managing the following resources using Terraform, refer to the Boundary provider documentation:
|
|
|
|
- [Scopes](https://registry.terraform.io/providers/hashicorp/boundary/latest/docs/resources/scope/)
|
|
|
|
## Next steps
|
|
|
|
You use scopes to partition resources and assign them to users.
|
|
Once you have created scopes, you may want to create [users and auth methods](/boundary/docs/deploy/terraform-patterns/terraform-users-and-auth-methods). |