ekm-over-vpc-onboarding/modules/ekm_resources_creation/variables.tf (98 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.
*/
#####
# Run: terraform apply -var='kms_project_name=my_kms_project' -var="vpc_project_name=my_vpc_project"
# Pre-Req: Allow External Key Manager to receive requests from 35.199.192.0/19
#####
# Variables Required
variable "kms_project_id" {
type = string
nullable = false
description = "ID of the KMS project you would like to create"
}
variable "vpc_project_id" {
type = string
default = ""
description = "ID of the VPC project, default to same as KMS"
}
variable "location" {
type = string
default = "us-central1"
nullable = false
description = "Location where resources will be created"
}
variable "subnet_ip_cidr_range" {
type = string
default = "10.2.0.0/16"
nullable = false
description = "ip_cidr_range for subnet resource"
}
variable "external_key_manager_ip" {
type = string
default = "10.2.0.48"
nullable = false
description = "Private IP address of the external key manager or ip address for the load balancer pointing to the external key manager"
}
variable "external_key_manager_port" {
type = string
default = "443"
nullable = false
description = "Port of the external key manager or port for the load balancer pointing to the external key manager"
}
variable "external_provider_hostname" {
type = string
nullable = false
description = "Hostname for external key manager provider (ie. private-ekm.example.endpoints.cloud.goog)"
}
variable "external_provider_raw_der" {
type = string
nullable = false
description = "External key provider server certificate in base64 format"
}
variable "crypto_space_path" {
type = string
default = ""
description = "External key provider crypto space path (ie. v0/longlived/a1-example)"
}
variable "ekm_connection_key_path" {
type = string
description = "Each Cloud EKM key version contains either a key URI or a key path. This is a unique identifier for the external key material that Cloud EKM uses when requesting cryptographic operations using the key. When key_management_mode is CLOUD_KMS, this variable will be equals to crypto_space_path"
}
# Variables Optional
variable "network_name" {
type = string
default = "vpc-network-name"
description = "Name of the Network resource"
}
variable "servicedirectory_name" {
type = string
default = "ekm-service-directory"
description = "Service Directory resource name"
}
variable "kms_name_prefix" {
type = string
default = "kms-vpc"
description = "Key management resources name prefix"
}
variable "ekmconnection_name" {
type = string
default = "ekmconnection"
description = "Name of the ekmconnection resource"
}
variable "key_management_mode" {
type = string
default = "MANUAL"
description = "Key management mode. Possible values: MANUAL and CLOUD_KMS. Defaults to MANUAL"
}
variable "project_creator_member_email" {
type = string
default = ""
description = "Email of the user that will be granted permissions to create resources under the projects"
}