project

carlodicelico/project/google

Terraform Module HCL GOOGLE

A Terraform Module that helps you create projects for Google Cloud Platform.

Install
module "project" {
source = "carlodicelico/project/google"
version = "0.3.0"
}
plain text: /constructs/tfmod-carlodicelico-project-google/install.txt
⭐ Source on GitHub 📦 Registry page
README

Terraform Google Project A Terraform Module that helps you create projects for Google Cloud Platform. Features By default, the module creates the following regional resources: - a GCP project with a randomized but memorable project ID and name - a new project service account, replacing the default account - a Terraform state bucket in the host project for the project's state - a KMS keyring and encryption key for asymmetric encryption/decryption - a GCS bucket for logging access to the project storage bucket, with encryption enabled using the project's KMS key - a GCS bucket for project-wide storage of sensitive objects, with encryption enabled using the project's KMS key - a VPC network configured as a service network on the Shared VPC host network - a default firewall rule blocking SSH f

Inputs (29)
NameTypeDescriptionDefault
billing_accountstringThe billing account ID to enable for this project. required
host_projectstringThe project ID of the GCP project used by Terraform to create this project. required
organization_idstringThe ID of your organization in GCP Cloud Console. required
auto_create_networkstringCreate the 'default' network automatically."false"
skip_deletestring If true, the Terraform resource can be deleted without deleting the Project via"false"
network_namestring A unique name for the network, required by GCE.""
create_ssh_fw_rulestringIf true, this will create a firewall rule preventing SSH access from anywhere bu"true"
random_prefixstringWhether or not to generate a random prefix for your project ID. If you want to u"true"
regionstringThe preferred region to use for resources that require a region to be defined."us-central1"
create_project_bucketstringWhether or not to create a GCS bucket for this project. If `'true'`, a logging b"true"
private_accessstringWhether to allow private access to Google APIs without an external IP address."true"
create_vpc_networkstringWhether or not to create a VPC network for the project. If `'true'`, this will t"true"
auto_create_subnetsstringWhether or not to automatically create subnets on this VPC."false"
routing_modestringSets the network-wide routing mode for Cloud Routers to use. Accepted values are"REGIONAL"
flow_logsstringWhether to enable flow logging for the Shared VPC subnetwork."true"
enable_apislist(string)Which APIs to enable for this project.[ "compute.googleapis.com", "cloudbi
gcloud_credentialsstringPath to the service account credentials used by the Terraform host project."~/.config/gcloud/credentials.json"
id_prefixstringA prefix to use with your `custom_id` or `random_id`.""
project_storage_classstringThe storage class to use for your project's storage and logging buckets."REGIONAL"
custom_idstringCustom project ID if not using `random_id`. Either `custom_id` must be specified""
host_dns_zonestringThe VPC host network's managed DNS zone.""
create_tfstate_bucketstringWhether or not to create a bucket for Terraform state in your `host_project`, if"true"
create_encryption_resourcesstringWhether or not to create GCP KMS resources. If `'true'`, all encrypted resources"true"
Outputs (9)
vpc — Project VPC network details.
labels — A set of key/value label pairs to assign to the project.
number — The numeric identifier of the project.
service_account — Project default service account details.
tfstate_bucket — Project Terraform state bucket details.
storage — Project GCS bucket details.
id — The project ID.
name — The display name of the project.
kms — Project KMS resource details.
Resources (6)
google_projectgoogle_project_servicegoogle_service_accountgoogle_storage_bucketrandom_idrandom_pet
Details
FrameworkTerraform Module
LanguageHCL
Version0.3.0
Cloud GOOGLE
★ Stars7
Forks3
Total downloads5.4k
Inputs29
Outputs9
Resources6
Submodules3
LicenseMIT
Namespacecarlodicelico
Updated