-
Notifications
You must be signed in to change notification settings - Fork 393
Expand file tree
/
Copy pathmetadata.yaml
More file actions
211 lines (210 loc) · 8.11 KB
/
metadata.yaml
File metadata and controls
211 lines (210 loc) · 8.11 KB
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
# Copyright 2026 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.
apiVersion: blueprints.cloud.google.com/v1alpha1
kind: BlueprintMetadata
metadata:
name: terraform-google-vm-preemptible-and-regular-instance-templates
annotations:
config.kubernetes.io/local-config: "true"
spec:
info:
title: preemptible_and_regular_instance_templates
source:
repo: https://github.com/terraform-google-modules/terraform-google-vm
sourceType: git
dir: /modules/preemptible_and_regular_instance_templates
version: 15.0.0
actuationTool:
flavor: Terraform
version: ">=1.3.0"
description: {}
content:
examples:
- name: additional_disks
location: examples/instance_template/additional_disks
- name: alias_ip_range
location: examples/instance_template/alias_ip_range
- name: autoscaler
location: examples/mig/autoscaler
- name: confidential_computing
location: examples/confidential_computing
- name: confidential_computing
location: examples/instance_template/confidential_computing
- name: confidential_computing_intel
location: examples/confidential_computing_intel
- name: disk_snapshot
location: examples/compute_instance/disk_snapshot
- name: encrypted_disks
location: examples/instance_template/encrypted_disks
- name: full
location: examples/mig/full
- name: full
location: examples/umig/full
- name: healthcheck
location: examples/mig/healthcheck
- name: it_simple_with_sa_creation
location: examples/it_simple_with_sa_creation
- name: mig_stateful
location: examples/mig_stateful
- name: multiple_interfaces
location: examples/compute_instance/multiple_interfaces
- name: named_ports
location: examples/umig/named_ports
- name: next_hop
location: examples/compute_instance/next_hop
- name: simple
location: examples/compute_instance/simple
- name: simple
location: examples/instance_template/simple
- name: simple
location: examples/mig/simple
- name: simple
location: examples/mig_with_percent/simple
- name: simple
location: examples/preemptible_and_regular_instance_templates/simple
- name: simple
location: examples/umig/simple
- name: static_ips
location: examples/umig/static_ips
- name: tags
location: examples/compute_instance/tags
interfaces:
variables:
- name: project_id
description: The GCP project ID
varType: string
required: true
- name: region
description: Region where the instance template should be created.
varType: string
required: true
- name: name_prefix
description: Name prefix for the instance template
varType: string
defaultValue: default-it
- name: machine_type
description: Machine type to create, e.g. n1-standard-1
varType: string
defaultValue: n1-standard-1
- name: can_ip_forward
description: Enable IP forwarding, for NAT instances for example
varType: string
defaultValue: "false"
- name: tags
description: Network tags, provided as a list
varType: list(string)
defaultValue: []
- name: labels
description: Labels, provided as a map
varType: map(string)
defaultValue: {}
- name: source_image
description: Source disk image. If neither source_image nor source_image_family is specified, defaults to the latest public Rocky Linux 9 optimized for GCP image.
varType: string
defaultValue: ""
- name: source_image_family
description: Source image family. If neither source_image nor source_image_family is specified, defaults to the latest public Rocky Linux 9 optimized for GCP image.
varType: string
defaultValue: ""
- name: source_image_project
description: Project where the source image comes from. The default project contains Rocky Linux images.
varType: string
defaultValue: ""
- name: disk_size_gb
description: Boot disk size in GB
varType: string
defaultValue: "100"
- name: disk_type
description: Boot disk type, can be either pd-ssd, local-ssd, or pd-standard
varType: string
defaultValue: pd-standard
- name: auto_delete
description: Whether or not the boot disk should be auto-deleted
varType: bool
defaultValue: true
- name: additional_disks
description: List of maps of additional disks. See https://www.terraform.io/docs/providers/google/r/compute_instance_template#disk_name
varType: |-
list(object({
disk_name = string
device_name = string
auto_delete = bool
boot = bool
disk_size_gb = number
disk_type = string
disk_labels = map(string)
}))
defaultValue: []
- name: network
description: The name or self_link of the network to attach this interface to. Use network attribute for Legacy or Auto subnetted networks and subnetwork for custom subnetted networks.
varType: string
defaultValue: ""
- name: subnetwork
description: The name of the subnetwork to attach this interface to. The subnetwork must exist in the same region this instance will be created in. Either network or subnetwork must be provided.
varType: string
defaultValue: ""
- name: subnetwork_project
description: The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used.
varType: string
defaultValue: ""
- name: startup_script
description: User startup script to run when instances spin up
varType: string
defaultValue: ""
- name: metadata
description: Metadata, provided as a map
varType: map(string)
defaultValue: {}
- name: service_account
description: Service account to attach to the instance. See https://www.terraform.io/docs/providers/google/r/compute_instance_template#service_account.
varType: |-
object({
email = string
scopes = set(string)
})
required: true
- name: access_config
description: Access configurations, i.e. IPs via which the VM instance can be accessed via the Internet.
varType: |-
list(object({
nat_ip = string
network_tier = string
}))
defaultValue: []
- name: ipv6_access_config
description: IPv6 access configurations. Currently a max of 1 IPv6 access configuration is supported. If not specified, the instance will have no external IPv6 Internet access.
varType: |-
list(object({
network_tier = string
}))
defaultValue: []
outputs:
- name: preemptible_name
description: Name of preemptible instance template
- name: preemptible_self_link
description: Self-link of preemptible instance template
- name: regular_name
description: Name of regular instance template
- name: regular_self_link
description: Self-link of regular instance template
requirements:
roles:
- level: Project
roles:
- roles/compute.instanceAdmin.v1
- roles/iam.serviceAccountUser
- roles/logging.logWriter
services:
- compute.googleapis.com
- iam.googleapis.com