|
| 1 | +# Terraform OVH Project |
| 2 | + |
| 3 | +This Terraform project is used to manage resources in the Stackit cloud platform. It provisions projects, manages users, and configures necessary providers. |
| 4 | + |
| 5 | +## Prerequisites |
| 6 | + |
| 7 | +- Terraform v1.0.0 or later |
| 8 | +- AWS credentials configured for the backend |
| 9 | +- Stackit service account token |
| 10 | + |
| 11 | +## Providers |
| 12 | + |
| 13 | +This project uses the following providers: |
| 14 | + |
| 15 | +- `stackit`: Manages resources in the Stackit cloud platform. |
| 16 | +- `aws`: Manages resources in AWS. |
| 17 | +- `null`: Provides null resources for triggering local-exec provisioners. |
| 18 | + |
| 19 | +## Usage |
| 20 | + |
| 21 | +1. Clone the repository. |
| 22 | +2. Initialize Terraform: |
| 23 | + ```sh |
| 24 | + terraform init |
| 25 | + ``` |
| 26 | +3. Apply the Terraform configuration: |
| 27 | + ```sh |
| 28 | + terraform apply |
| 29 | + ``` |
| 30 | +<!-- BEGIN_TF_DOCS --> |
| 31 | +## Requirements |
| 32 | + |
| 33 | +| Name | Version | |
| 34 | +|------|---------| |
| 35 | +| <a name="requirement_aws"></a> [aws](#requirement\_aws) | 5.65.0 | |
| 36 | +| <a name="requirement_null"></a> [null](#requirement\_null) | 3.2.2 | |
| 37 | +| <a name="requirement_stackit"></a> [stackit](#requirement\_stackit) | 0.37.1 | |
| 38 | + |
| 39 | +## Modules |
| 40 | + |
| 41 | +No modules. |
| 42 | + |
| 43 | +## Resources |
| 44 | + |
| 45 | +| Name | Type | |
| 46 | +|------|------| |
| 47 | +| [null_resource.create_user](https://registry.terraform.io/providers/hashicorp/null/3.2.2/docs/resources/resource) | resource | |
| 48 | +| [null_resource.project_admin](https://registry.terraform.io/providers/hashicorp/null/3.2.2/docs/resources/resource) | resource | |
| 49 | +| [null_resource.project_editor](https://registry.terraform.io/providers/hashicorp/null/3.2.2/docs/resources/resource) | resource | |
| 50 | +| [null_resource.project_reader](https://registry.terraform.io/providers/hashicorp/null/3.2.2/docs/resources/resource) | resource | |
| 51 | +| [stackit_resourcemanager_project.projects](https://registry.terraform.io/providers/stackitcloud/stackit/0.37.1/docs/resources/resourcemanager_project) | resource | |
| 52 | + |
| 53 | +## Inputs |
| 54 | + |
| 55 | +| Name | Description | Type | Default | Required | |
| 56 | +|------|-------------|------|---------|:--------:| |
| 57 | +| <a name="input_api_url"></a> [api\_url](#input\_api\_url) | Base API URL | `string` | `"https://authorization.api.stackit.cloud"` | no | |
| 58 | +| <a name="input_aws_account_id"></a> [aws\_account\_id](#input\_aws\_account\_id) | this is for the tfstates Backend. in our case AWS. | `string` | n/a | yes | |
| 59 | +| <a name="input_organization_id"></a> [organization\_id](#input\_organization\_id) | id of the organization | `string` | n/a | yes | |
| 60 | +| <a name="input_parent_container_id"></a> [parent\_container\_id](#input\_parent\_container\_id) | The stackit Cloud parent container id for the project | `string` | n/a | yes | |
| 61 | +| <a name="input_project_id"></a> [project\_id](#input\_project\_id) | Projects last block in name | `string` | n/a | yes | |
| 62 | +| <a name="input_token"></a> [token](#input\_token) | Bearer token for authentication | `string` | n/a | yes | |
| 63 | +| <a name="input_users"></a> [users](#input\_users) | Users and their roles provided by meshStack (Note that users must exist in stackit) | <pre>list(object(<br> {<br> meshIdentifier = string<br> username = string<br> firstName = string<br> lastName = string<br> email = string<br> euid = string<br> roles = list(string)<br> }<br> ))</pre> | n/a | yes | |
| 64 | +| <a name="input_workspace_id"></a> [workspace\_id](#input\_workspace\_id) | Projects first block in name | `string` | n/a | yes | |
| 65 | + |
| 66 | +## Outputs |
| 67 | + |
| 68 | +| Name | Description | |
| 69 | +|------|-------------| |
| 70 | +| <a name="output_stackit_login_link"></a> [stackit\_login\_link](#output\_stackit\_login\_link) | n/a | |
| 71 | +| <a name="output_tenant_id"></a> [tenant\_id](#output\_tenant\_id) | n/a | |
| 72 | +<!-- END_TF_DOCS --> |
0 commit comments