4-projects/modules/data_governance/variables.tf (175 lines of code) (raw):

/** * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ variable "org_id" { description = "The organization id for the associated services" type = string } variable "folder_id" { description = "The folder id where project will be created" type = string } variable "billing_account" { description = "The ID of the billing account to associated this project with" type = string } variable "project_budget" { description = <<EOT Budget configuration. budget_amount: The amount to use as the budget. alert_spent_percents: A list of percentages of the budget to alert on when threshold is exceeded. alert_pubsub_topic: The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form of `projects/{project_id}/topics/{topic_id}`. alert_spend_basis: The type of basis used to determine if spend has passed the threshold. Possible choices are `CURRENT_SPEND` or `FORECASTED_SPEND` (default). EOT type = object({ budget_amount = optional(number, 1000) alert_spent_percents = optional(list(number), [1.2]) alert_pubsub_topic = optional(string, null) alert_spend_basis = optional(string, "FORECASTED_SPEND") }) default = {} } variable "project_prefix" { description = "Name prefix to use for projects created." type = string default = "prj" } variable "shared_kms_key_ring" { description = "Shared KMS Key ring." type = list(string) } variable "shared_vpc_host_project_id" { description = "Shared VPC host project ID" type = string default = "" } variable "shared_vpc_subnets" { description = "List of the shared vpc subnets self links." type = list(string) default = [] } variable "perimeter_name" { description = "Access context manager service perimeter name" type = string } variable "access_context_manager_policy_id" { description = "Access Context Manager Policy ID." type = string } variable "secrets_project_id" { description = "The common secrets project ID" type = string } variable "kms_project_id" { description = "The common kms project ID" type = string } variable "dlp_kms_wrapper_secret" { description = "The DLP KMS wrapper secret ID" type = string } variable "key_rotation_period" { description = "Rotation period in seconds to be used for KMS Key" type = string default = "7776000s" } variable "project_suffix" { description = "Project suffix." type = string default = "data-governance" } variable "application_name" { description = "Application name." type = string default = "app-infra-data-governance" } variable "billing_code" { description = "Billing code." type = string default = "1234" } variable "primary_contact" { description = "Primary contact." type = string default = "example@example.com" } variable "secondary_contact" { description = "Secondary contact." type = string default = "example2@example.com" } variable "business_code" { description = "Business code" type = string default = "bu4" } variable "cloud_run_service_acount_id" { description = "Cloud Run service account ID" type = string default = "cloud-run" } variable "cloud_function_service_acount_id" { description = "Cloud Function service account ID" type = string default = "cloud-function" } variable "scheduler_controller_service_account_id" { description = "Scheduler controller service account ID" type = string default = "scheduler-controller" } variable "tag_creator_service_account_id" { description = "Tag creator service account ID" type = string default = "tag-creator" } variable "tag_engine_service_account_id" { description = "Tag engine service account ID" type = string default = "tag-engine" } variable "terraform_service_account" { description = "Terraform service account ID" type = string } variable "record_manager_service_account_id" { description = "Record Manager service account ID" type = string default = "record-manager" } variable "report_engine_service_account_id" { description = "Report Engine service account ID" type = string default = "report-engine" } variable "kms_key_prevent_destroy" { description = "KMS key prevent destroy" type = bool default = true } variable "data_access_management_service_account_id" { description = "Data Access Management service account ID" type = string default = "data-access-management" } variable "dashboard_service_account_id" { description = "Looker dashboard service account ID" type = string default = "dashboard" } variable "encrypted_data_viewers_group" { description = "Consumers group for the non-confidential project" type = string }