The repo contains a terraform module for creating a Google Cloud Platform (GCP) project.
In addition to creating the project, this module will enable project services, create service accounts, and manage the project IAM policy.
altissimo-hq/terraform-google-project
Name | Version |
---|---|
external | >= 2.2.0 |
>= 4.42.0 |
Name | Version |
---|---|
external | >= 2.2.0 |
>= 4.42.0 |
No modules.
Name | Type |
---|---|
google_project.project | resource |
google_project_iam_policy.project | resource |
google_project_service.services | resource |
google_service_account.service_account | resource |
external_external.gcloud_iam_service_accounts_list | data source |
external_external.gcloud_services_list | data source |
google_iam_policy.project | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
auto_create_network | Automatically create a default VPC network (defaults to false) | bool |
false |
no |
billing_account | Billing Account ID (defaults to null if not specified) | string |
null |
no |
folder_id | Parent Google Folder ID (only one of org_id or folder_id may be specified) | string |
null |
no |
gcloud_command | Path to the gcloud cli. Used to list enabled services and service accounts. | string |
null |
no |
iam_policy | Map of Google Project IAM Policy Roles and Members | map(list(string)) |
{} |
no |
labels | A map of labels to assign to the project | map(string) |
{} |
no |
org_id | Parent Google Organization ID (only one of org_id or folder_id may be specified) | string |
null |
no |
project_id | Google Project ID | string |
n/a | yes |
project_name | Google Project Display Name (defaults to project_id if not specified)) | string |
null |
no |
service_accounts | Map of Google Service Accounts to Create | map(object({ |
{} |
no |
services | List of Google Project Services to Enable | list(string) |
[] |
no |
skip_delete | Skip deletion of the Project when the Terraform resource is deleted (defaults to true) | bool |
true |
no |
Name | Description |
---|---|
name | Google Name (string) |
number | Google Project Number (string) |
project_iam_policy | Google Project IAM Policy (list of binding objects) |
project_id | Google Project ID (string) |
project_number | Google Project Number (string) [deprecated - use number instead] |
service_accounts | Google Service Accounts (map of objects) |
services | Google Project Services (map of objects) |
unmanaged_project_services | Google Project Services that are enabled but are not managed by Terraform (list of strings) |
unmanaged_service_accounts | Google Service Accounts that exist but are not managed by Terraform (list of strings) |