https://github.com/thesis/terraform-google-bootstrap-project
Used for spinning up a new Google project. Produces a project, admin users, and a bucket for Terraform remote state.
https://github.com/thesis/terraform-google-bootstrap-project
google-cloud-platform terraform terraform-module
Last synced: 24 days ago
JSON representation
Used for spinning up a new Google project. Produces a project, admin users, and a bucket for Terraform remote state.
- Host: GitHub
- URL: https://github.com/thesis/terraform-google-bootstrap-project
- Owner: thesis
- License: mit
- Created: 2019-08-20T15:32:54.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-08-16T20:48:35.000Z (almost 4 years ago)
- Last Synced: 2025-03-11T06:49:17.455Z (over 1 year ago)
- Topics: google-cloud-platform, terraform, terraform-module
- Language: HCL
- Size: 28.3 KB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Google Bootstrap Project Module
Used for spinning up a new Google project. Produces a project, admin users,
and a bucket for Terraform remote state.
## Compatibility
This module is compatible with Terraform `<= 0.12.0`
And the Google Cloud Provider `<= 1.19.0`
## Usage
```hcl
locals {
labels {
contact = "author@email.co"
environment = "fancy-dev"
vertical = "fancy"
}
}
module "fancy_google_project" {
source = "git@github.com:thesis/terraform-google-bootstrap-project.git"
project_name = "fancy-dev"
org_id = "xxxyyyzzz"
billing_account = "111222333"
project_owner_members = ["john@email.co", "lilly@email.co",]
location = "us-central1"
labels = ${local.labels}
project_service_list = "["api-you-want-enabled-at-project-creation.googleapis.com"]"
}
```
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|:----:|:-----:|:-----:|
| billing\_account | The billing account to associate with your project. Must be associated with org already. Local ENV VAR | string | `""` | no |
| disable\_on\_destroy | Determines whether to disable the service when the terraform resource is destroyed (true/ false) | string | `"true"` | no |
| labels | A list of key/value pairs to describe your resource. Labels are akin to tags. | map | `` | no |
| location | The region to deploy the backend bucket in. | string | `"us-east4"` | no |
| org\_id | The ID for the organization the project will be created under. Local ENV VAR | string | `""` | no |
| project\_name | The name to give your project. | string | `""` | no |
| project\_owner\_members | A list of gcp users / service accounts to designate as owners of the project being created. | list | `` | no |
| project\_service\_list | List of services or APIs that will be enabled on project creation. | list | `` | no |
## Outputs
| Name | Description |
|------|-------------|
| project\_id | |
| project\_name | |
| terraform\_backend\_bucket\_name | |
## Notes
For a Thesis or a Thesis vertical project this should be the first module you run.
It does require admin access on the GCP Organization level.
## License
See [LICENSE](./LICENSE) for full details.