-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
154 lines (130 loc) · 3.59 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#This solution, non-production-ready template describes AWS Codepipeline based CICD Pipeline for terraform code deployment.
#© 2023 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
#This AWS Content is provided subject to the terms of the AWS Customer Agreement available at
#http://aws.amazon.com/agreement or other written agreement between Customer and either
#Amazon Web Services, Inc. or Amazon Web Services EMEA SARL or both.
variable "project_name" {
description = "Unique name for this project"
type = string
}
variable "role_arn" {
description = "Codepipeline IAM role arn. "
type = string
default = ""
}
variable "assets_bucket_name" {
description = "Name of the S3 bucket used to store the deployment artifacts"
type = string
default = "image-pipeline-assets"
}
variable "s3_bucket_name" {
description = "Name of the S3 bucket used to store the deployment artifacts"
type = string
}
variable "tags" {
description = "Tags to be applied to the codebuild project"
type = map(any)
}
variable "build_projects" {
description = "List of Names of the CodeBuild projects to be created"
type = list(object({
name = string,
vars = optional(map(string), {})
environment_variables = optional(list(object({
name = string
value = string
type = string
})), [])
buildspec = optional(string)
project_source = optional(string)
}))
}
variable "terraform_version" {
type = string
}
variable "builder_compute_type" {
description = "Information about the compute resources the build project will use"
type = string
}
variable "builder_image" {
description = "Docker image to use for the build project"
type = string
default = "happypathway/aws-codebuild-image-pipeline:latest"
}
variable "builder_images" {
type = map(string)
}
variable "builder_type" {
description = "Type of build environment to use for related builds"
type = string
}
variable "builder_image_pull_credentials_type" {
description = "Type of credentials AWS CodeBuild uses to pull images in your build."
type = string
}
variable "build_project_source" {
description = "Information about the build output artifact location"
type = string
}
variable "test_project_source" {
description = "Information about the test output artifact location"
type = string
}
variable "kms_key_arn" {
description = "ARN of KMS key for encryption"
type = string
}
variable "source_location" {
description = "Location of the source code, required when build_project_source is S3 or GITHUB"
type = string
default = null
}
variable "environment_variables" {
type = list(object({
name = string
value = string
type = string
}))
default = []
}
variable "packer_version" {
type = string
description = "Packer CLI Version"
default = "1.10.3"
}
variable "packer_config" {
type = string
description = "Name of Packer Config in Repo"
default = "build.pkr.hcl"
}
variable "vpc_config" {
default = null
type = object({
security_group_ids = list(string)
subnets = list(string)
vpc_id = string
})
}
variable "state" {
type = object({
bucket = string
key = string
region = string
dynamodb_table = string
})
}
variable "troubleshoot" {
type = bool
default = false
}
variable "docker_build" {
type = bool
default = false
}
variable "required_packages" {
type = list(object({
src = string
dest = string
}))
default = []
}