Skip to content

altissimo-hq/terraform-google-project

Repository files navigation

Altissimo - Google Project (Terraform Module)

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


Requirements

Name Version
external >= 2.2.0
google >= 4.42.0

Providers

Name Version
external >= 2.2.0
google >= 4.42.0

Modules

No modules.

Resources

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

Inputs

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({
display_name = optional(string)
disabled = optional(bool)
roles = optional(list(string))
}))
{} 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

Outputs

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)