Note: The default ITS GitLab runner is a shared resource and is subject to slowdowns during heavy usage.
You can run your own GitLab runner that is dedicated just to your group if you need to avoid processing delays.

variables.tf 2.77 KB
Newer Older
Kenny Moore's avatar
Kenny Moore committed
1
2
3
4
variable "billing_account_id" {
  type = string
  description = "Customer Billing Account ID - REPLACE SOON with billing subaccount resource"
}
Adam Robinson's avatar
Adam Robinson committed
5
 variable "requestor" {
Adam Robinson's avatar
Adam Robinson committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  type = string
  description = "The person that made the initial request for the GCP Customer Folder"
}

variable "mcomm_group_email" {
  type = string
  description = "The MCommunity Group to be given permission to the GCP Customer Folder"
}

variable "shortcode" {
  type = string
  description = "The default shortcode to associate with the billing subaccount"
}

variable "billing_contact" {
  type = string
  description = "A contact to use for billing questions about the GCP Billing Subaccount"
}

Adam Robinson's avatar
Adam Robinson committed
25
26
27
28
29
30
31
32
33
variable "environment" {
  type = string
  description = "The environment the customer folder will be created in.  Defaults to \"prod\""
  default = "prod"

    validation {
    condition     = var.environment == "dev" || var.environment == "test" || var.environment == "prod"
    error_message = "The environment value must be one of \"dev\",\"test\", or \"prod\"."
  }
Adam Robinson's avatar
Adam Robinson committed
34
35
36
37
}
	
variable "division" {
  type = string
Adam Robinson's avatar
Adam Robinson committed
38
39
40
41
42
43
  description = "Must be one of \"campus\",\"its\", \"michigan_medicine\", or \"hipaa\""

  validation {
    condition     = var.division == "campus" || var.division == "its" || var.division == "michigan_medicine" || var.division == "hipaa"
    error_message = "The division value must be one of \"campus\",\"its\", \"michigan_medicine\", or \"hipaa\"."
  }
Adam Robinson's avatar
Adam Robinson committed
44
45
46
47
48
49
50
51
52
53
54
55
}

variable "customer_bucket_project_id" {
    type = string
    description = "The project that will contain customer Terraform state buckets"
}

variable "customer_service_account_project_id" {
    type = string
    description = "The project that will contain customer Terraform service accounts"
}

Adam Robinson's avatar
Adam Robinson committed
56
57
58
59
variable "provisioning_service_account_email" {
    type = string
    description = "The email of the service account used to provision customers"
}
60
61
62
63

variable "folder_display_name" {
    type        = string
    description = "Override the display name of customer folder. Not customer facing, should be set as close to the customer's mcomm group email as possible."
64
    default     = ""
65
66

   validation {
67
    condition     = var.folder_display_name != "" ? length(var.folder_display_name) <= 30 : true
68
69
70
71
72
73
74
75
76
    error_message = "The folder_display_name must be less than or equal to 30 characters in length."
  }

  validation {
    condition     = can(regex("^[[:alnum:]][\\w\\s-]*[[:alnum:]]$")) || var.folder_display_name == ""
    error_message = "The folder_display_name must start and end with a letter or number and contain only letters, numbers, '_', ' ', and '-'."
  }
}

77
78
79
80
variable "customer_is_shared_vpc_admin" {
    type        = bool
    description = "Should the customer be given Shared VPC Admin permission to the customer folder. Defaults to false."
    default     = false
Adam Robinson's avatar
Adam Robinson committed
81
}