From 4a4b07e8fea8764cf137cc5ef139042ec767c46f Mon Sep 17 00:00:00 2001 From: Imran Nayer Date: Mon, 21 Apr 2025 20:07:14 +0000 Subject: [PATCH 1/2] feat: added tags in instance_template --- Makefile | 2 +- metadata.display.yaml | 28 ++++ .../metadata.display.yaml | 54 ++++++++ .../compute_instance/metadata.display.yaml | 84 ++++++++++++ modules/instance_template/README.md | 1 + modules/instance_template/main.tf | 2 + .../instance_template/metadata.display.yaml | 3 + modules/instance_template/metadata.yaml | 14 +- modules/instance_template/variables.tf | 6 + modules/mig/metadata.yaml | 13 -- .../mig_with_percent/metadata.display.yaml | 123 ++++++++++++++++++ .../metadata.display.yaml | 96 ++++++++++++++ modules/umig/metadata.display.yaml | 75 +++++++++++ 13 files changed, 476 insertions(+), 25 deletions(-) create mode 100644 metadata.display.yaml create mode 100644 modules/compute_disk_snapshot/metadata.display.yaml create mode 100644 modules/compute_instance/metadata.display.yaml create mode 100644 modules/mig_with_percent/metadata.display.yaml create mode 100644 modules/preemptible_and_regular_instance_templates/metadata.display.yaml create mode 100644 modules/umig/metadata.display.yaml diff --git a/Makefile b/Makefile index a307dfe1..d5b88759 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ # Make will use bash instead of sh SHELL := /usr/bin/env bash -DOCKER_TAG_VERSION_DEVELOPER_TOOLS := 1.22 +DOCKER_TAG_VERSION_DEVELOPER_TOOLS := 1.23 DOCKER_IMAGE_DEVELOPER_TOOLS := cft/developer-tools REGISTRY_URL := gcr.io/cloud-foundation-cicd ENABLE_BPMETADATA := 1 diff --git a/metadata.display.yaml b/metadata.display.yaml new file mode 100644 index 00000000..a7995e19 --- /dev/null +++ b/metadata.display.yaml @@ -0,0 +1,28 @@ +# Copyright 2025 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-display + annotations: + config.kubernetes.io/local-config: "true" +spec: + info: + title: terraform-google-vm + source: + repo: https://github.com/terraform-google-modules/terraform-google-vm + sourceType: git + ui: + input: {} diff --git a/modules/compute_disk_snapshot/metadata.display.yaml b/modules/compute_disk_snapshot/metadata.display.yaml new file mode 100644 index 00000000..54a26bc7 --- /dev/null +++ b/modules/compute_disk_snapshot/metadata.display.yaml @@ -0,0 +1,54 @@ +# Copyright 2025 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-compute-disk-snapshot-display + annotations: + config.kubernetes.io/local-config: "true" +spec: + info: + title: Compute Disk Snapshot + source: + repo: https://github.com/terraform-google-modules/terraform-google-vm + sourceType: git + dir: /modules/compute_disk_snapshot + ui: + input: + variables: + disks: + name: disks + title: Disks + module_depends_on: + name: module_depends_on + title: Module Depends On + name: + name: name + title: Name + project: + name: project + title: Project + region: + name: region + title: Region + snapshot_properties: + name: snapshot_properties + title: Snapshot Properties + snapshot_retention_policy: + name: snapshot_retention_policy + title: Snapshot Retention Policy + snapshot_schedule: + name: snapshot_schedule + title: Snapshot Schedule diff --git a/modules/compute_instance/metadata.display.yaml b/modules/compute_instance/metadata.display.yaml new file mode 100644 index 00000000..d2655a94 --- /dev/null +++ b/modules/compute_instance/metadata.display.yaml @@ -0,0 +1,84 @@ +# Copyright 2025 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-compute-instance-display + annotations: + config.kubernetes.io/local-config: "true" +spec: + info: + title: Compute Instance + source: + repo: https://github.com/terraform-google-modules/terraform-google-vm + sourceType: git + dir: /modules/compute_instance + ui: + input: + variables: + access_config: + name: access_config + title: Access Config + add_hostname_suffix: + name: add_hostname_suffix + title: Add Hostname Suffix + alias_ip_ranges: + name: alias_ip_ranges + title: Alias Ip Ranges + deletion_protection: + name: deletion_protection + title: Deletion Protection + hostname: + name: hostname + title: Hostname + hostname_suffix_separator: + name: hostname_suffix_separator + title: Hostname Suffix Separator + instance_template: + name: instance_template + title: Instance Template + ipv6_access_config: + name: ipv6_access_config + title: Ipv6 Access Config + labels: + name: labels + title: Labels + network: + name: network + title: Network + num_instances: + name: num_instances + title: Num Instances + region: + name: region + title: Region + resource_manager_tags: + name: resource_manager_tags + title: Resource Manager Tags + resource_policies: + name: resource_policies + title: Resource Policies + static_ips: + name: static_ips + title: Static Ips + subnetwork: + name: subnetwork + title: Subnetwork + subnetwork_project: + name: subnetwork_project + title: Subnetwork Project + zone: + name: zone + title: Zone diff --git a/modules/instance_template/README.md b/modules/instance_template/README.md index 951bc85c..043ce47e 100644 --- a/modules/instance_template/README.md +++ b/modules/instance_template/README.md @@ -47,6 +47,7 @@ See the [simple](../../examples/instance_template/simple) for a usage example. | preemptible | Allow the instance to be preempted | `bool` | `false` | no | | project\_id | The GCP project ID | `string` | n/a | yes | | region | Region where the instance template should be created. | `string` | n/a | yes | +| resource\_manager\_tags | (Optional) A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API. In Terraform, this value cannot be updated and changing it will recreate the resource. | `map(string)` | `null` | no | | resource\_policies | A list of self\_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported. | `list(string)` | `[]` | no | | service\_account | Service account to attach to the instance. See https://www.terraform.io/docs/providers/google/r/compute_instance_template#service_account. |
object({
email = string
scopes = optional(set(string), ["cloud-platform"])
})
| `null` | no | | service\_account\_project\_roles | Roles to grant to the newly created cloud run SA in specified project. Should be used with create\_service\_account set to true and no input for service\_account | `list(string)` | `[]` | no | diff --git a/modules/instance_template/main.tf b/modules/instance_template/main.tf index 46579867..fe2b8c72 100644 --- a/modules/instance_template/main.tf +++ b/modules/instance_template/main.tf @@ -120,6 +120,8 @@ resource "google_compute_instance_template" "tpl" { region = var.region min_cpu_platform = local.min_cpu_platform resource_policies = var.resource_policies + resource_manager_tags = var.resource_manager_tags + dynamic "disk" { for_each = local.all_disks content { diff --git a/modules/instance_template/metadata.display.yaml b/modules/instance_template/metadata.display.yaml index bac451ca..ddb521b1 100644 --- a/modules/instance_template/metadata.display.yaml +++ b/modules/instance_template/metadata.display.yaml @@ -156,6 +156,9 @@ spec: name: region title: Region level: 1 + resource_manager_tags: + name: resource_manager_tags + title: Resource Manager Tags resource_policies: name: resource_policies title: Resource Policies diff --git a/modules/instance_template/metadata.yaml b/modules/instance_template/metadata.yaml index 77f87f63..583f7808 100644 --- a/modules/instance_template/metadata.yaml +++ b/modules/instance_template/metadata.yaml @@ -430,28 +430,20 @@ spec: ip_cidr_range = string subnetwork_range_name = string }) + - name: resource_manager_tags + description: (Optional) A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API. In Terraform, this value cannot be updated and changing it will recreate the resource. + varType: map(string) outputs: - name: name description: Name of instance template - type: string - name: self_link description: Self-link of instance template - type: string - name: self_link_unique description: Unique self-link of instance template (recommended output to use instead of self_link) - type: string - name: service_account_info description: Service account id and email - type: - - object - - email: string - id: string - member: string - name: tags description: Tags that will be associated with instance(s) - type: - - list - - string requirements: roles: - level: Project diff --git a/modules/instance_template/variables.tf b/modules/instance_template/variables.tf index 69a6d3e1..e04aaee4 100644 --- a/modules/instance_template/variables.tf +++ b/modules/instance_template/variables.tf @@ -429,3 +429,9 @@ EOF }) default = null } + +variable "resource_manager_tags" { + description = "(Optional) A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API. In Terraform, this value cannot be updated and changing it will recreate the resource." + type = map(string) + default = null +} diff --git a/modules/mig/metadata.yaml b/modules/mig/metadata.yaml index 2de4c558..7f396253 100644 --- a/modules/mig/metadata.yaml +++ b/modules/mig/metadata.yaml @@ -291,27 +291,14 @@ spec: outputs: - name: apphub_workload_uri description: Workload URI in CAIS style to be used by Apphub. - type: - - object - - location: string - workload_id: string - workload_uri: string - name: health_check_self_links description: All self_links of healthchecks created for the instance group. - type: - - list - - string - name: instance_group description: Instance-group url of managed instance group - type: string - name: instance_group_manager description: An instance of google_compute_region_instance_group_manager of the instance group. - type: - - object - - base_instance_name: string - name: self_link description: Self-link of managed instance group - type: string requirements: roles: - level: Project diff --git a/modules/mig_with_percent/metadata.display.yaml b/modules/mig_with_percent/metadata.display.yaml new file mode 100644 index 00000000..2db34b90 --- /dev/null +++ b/modules/mig_with_percent/metadata.display.yaml @@ -0,0 +1,123 @@ +# Copyright 2025 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-mig-with-percent-display + annotations: + config.kubernetes.io/local-config: "true" +spec: + info: + title: Managed Instance Group (MIG) with percent + source: + repo: https://github.com/terraform-google-modules/terraform-google-vm + sourceType: git + dir: /modules/mig_with_percent + ui: + input: + variables: + autoscaler_name: + name: autoscaler_name + title: Autoscaler Name + autoscaling_cpu: + name: autoscaling_cpu + title: Autoscaling Cpu + autoscaling_enabled: + name: autoscaling_enabled + title: Autoscaling Enabled + autoscaling_lb: + name: autoscaling_lb + title: Autoscaling Lb + autoscaling_metric: + name: autoscaling_metric + title: Autoscaling Metric + autoscaling_mode: + name: autoscaling_mode + title: Autoscaling Mode + autoscaling_scale_in_control: + name: autoscaling_scale_in_control + title: Autoscaling Scale In Control + cooldown_period: + name: cooldown_period + title: Cooldown Period + distribution_policy_target_shape: + name: distribution_policy_target_shape + title: Distribution Policy Target Shape + distribution_policy_zones: + name: distribution_policy_zones + title: Distribution Policy Zones + health_check: + name: health_check + title: Health Check + health_check_name: + name: health_check_name + title: Health Check Name + hostname: + name: hostname + title: Hostname + instance_template_initial_version: + name: instance_template_initial_version + title: Instance Template Initial Version + instance_template_next_version: + name: instance_template_next_version + title: Instance Template Next Version + labels: + name: labels + title: Labels + max_replicas: + name: max_replicas + title: Max Replicas + mig_name: + name: mig_name + title: Mig Name + mig_timeouts: + name: mig_timeouts + title: Mig Timeouts + min_replicas: + name: min_replicas + title: Min Replicas + named_ports: + name: named_ports + title: Named Ports + next_version_percent: + name: next_version_percent + title: Next Version Percent + project_id: + name: project_id + title: Project Id + region: + name: region + title: Region + scaling_schedules: + name: scaling_schedules + title: Scaling Schedules + stateful_disks: + name: stateful_disks + title: Stateful Disks + stateful_ips: + name: stateful_ips + title: Stateful Ips + target_pools: + name: target_pools + title: Target Pools + target_size: + name: target_size + title: Target Size + update_policy: + name: update_policy + title: Update Policy + wait_for_instances: + name: wait_for_instances + title: Wait For Instances diff --git a/modules/preemptible_and_regular_instance_templates/metadata.display.yaml b/modules/preemptible_and_regular_instance_templates/metadata.display.yaml new file mode 100644 index 00000000..ef6a50b1 --- /dev/null +++ b/modules/preemptible_and_regular_instance_templates/metadata.display.yaml @@ -0,0 +1,96 @@ +# Copyright 2025 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-display + 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 + ui: + input: + variables: + access_config: + name: access_config + title: Access Config + additional_disks: + name: additional_disks + title: Additional Disks + auto_delete: + name: auto_delete + title: Auto Delete + can_ip_forward: + name: can_ip_forward + title: Can Ip Forward + disk_size_gb: + name: disk_size_gb + title: Disk Size Gb + disk_type: + name: disk_type + title: Disk Type + ipv6_access_config: + name: ipv6_access_config + title: Ipv6 Access Config + labels: + name: labels + title: Labels + machine_type: + name: machine_type + title: Machine Type + metadata: + name: metadata + title: Metadata + name_prefix: + name: name_prefix + title: Name Prefix + network: + name: network + title: Network + project_id: + name: project_id + title: Project Id + region: + name: region + title: Region + service_account: + name: service_account + title: Service Account + source_image: + name: source_image + title: Source Image + source_image_family: + name: source_image_family + title: Source Image Family + source_image_project: + name: source_image_project + title: Source Image Project + startup_script: + name: startup_script + title: Startup Script + subnetwork: + name: subnetwork + title: Subnetwork + subnetwork_project: + name: subnetwork_project + title: Subnetwork Project + tags: + name: tags + title: Tags diff --git a/modules/umig/metadata.display.yaml b/modules/umig/metadata.display.yaml new file mode 100644 index 00000000..7ee9c3b1 --- /dev/null +++ b/modules/umig/metadata.display.yaml @@ -0,0 +1,75 @@ +# Copyright 2025 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-umig-display + annotations: + config.kubernetes.io/local-config: "true" +spec: + info: + title: Unmanaged Instance Group (UMIG) + source: + repo: https://github.com/terraform-google-modules/terraform-google-vm + sourceType: git + dir: /modules/umig + ui: + input: + variables: + access_config: + name: access_config + title: Access Config + additional_networks: + name: additional_networks + title: Additional Networks + hostname: + name: hostname + title: Hostname + hostname_suffix_separator: + name: hostname_suffix_separator + title: Hostname Suffix Separator + instance_template: + name: instance_template + title: Instance Template + ipv6_access_config: + name: ipv6_access_config + title: Ipv6 Access Config + named_ports: + name: named_ports + title: Named Ports + network: + name: network + title: Network + num_instances: + name: num_instances + title: Num Instances + project_id: + name: project_id + title: Project Id + region: + name: region + title: Region + static_ips: + name: static_ips + title: Static Ips + subnetwork: + name: subnetwork + title: Subnetwork + subnetwork_project: + name: subnetwork_project + title: Subnetwork Project + zones: + name: zones + title: Zones From 9eade09a16008b6c47ebdc8333cfcdab1d9d8cf8 Mon Sep 17 00:00:00 2001 From: Imran Nayer Date: Mon, 21 Apr 2025 20:15:36 +0000 Subject: [PATCH 2/2] feat: added tags in instance_template --- modules/compute_disk_snapshot/metadata.yaml | 2 +- modules/compute_disk_snapshot/versions.tf | 2 +- modules/compute_instance/metadata.yaml | 2 +- modules/compute_instance/versions.tf | 2 +- modules/instance_template/README.md | 2 +- modules/instance_template/metadata.yaml | 4 ++-- modules/instance_template/variables.tf | 2 +- modules/instance_template/versions.tf | 2 +- .../preemptible_and_regular_instance_templates/metadata.yaml | 2 +- .../preemptible_and_regular_instance_templates/versions.tf | 2 +- modules/umig/metadata.yaml | 2 +- modules/umig/versions.tf | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/compute_disk_snapshot/metadata.yaml b/modules/compute_disk_snapshot/metadata.yaml index 5472cc2e..c14108c7 100644 --- a/modules/compute_disk_snapshot/metadata.yaml +++ b/modules/compute_disk_snapshot/metadata.yaml @@ -28,7 +28,7 @@ spec: version: 13.2.4 actuationTool: flavor: Terraform - version: ">=0.13.0" + version: ">=1.3.0" description: {} content: examples: diff --git a/modules/compute_disk_snapshot/versions.tf b/modules/compute_disk_snapshot/versions.tf index 043ab584..a6dc3184 100644 --- a/modules/compute_disk_snapshot/versions.tf +++ b/modules/compute_disk_snapshot/versions.tf @@ -15,7 +15,7 @@ */ terraform { - required_version = ">=0.13.0" + required_version = ">=1.3.0" required_providers { google = { source = "hashicorp/google" diff --git a/modules/compute_instance/metadata.yaml b/modules/compute_instance/metadata.yaml index 96ab017c..7f671df8 100644 --- a/modules/compute_instance/metadata.yaml +++ b/modules/compute_instance/metadata.yaml @@ -28,7 +28,7 @@ spec: version: 13.2.4 actuationTool: flavor: Terraform - version: ">=0.13.0" + version: ">=1.3.0" description: {} content: examples: diff --git a/modules/compute_instance/versions.tf b/modules/compute_instance/versions.tf index 129417d7..f980f9c3 100644 --- a/modules/compute_instance/versions.tf +++ b/modules/compute_instance/versions.tf @@ -15,7 +15,7 @@ */ terraform { - required_version = ">=0.13.0" + required_version = ">=1.3.0" required_providers { google = { source = "hashicorp/google" diff --git a/modules/instance_template/README.md b/modules/instance_template/README.md index 043ce47e..c9b36918 100644 --- a/modules/instance_template/README.md +++ b/modules/instance_template/README.md @@ -47,7 +47,7 @@ See the [simple](../../examples/instance_template/simple) for a usage example. | preemptible | Allow the instance to be preempted | `bool` | `false` | no | | project\_id | The GCP project ID | `string` | n/a | yes | | region | Region where the instance template should be created. | `string` | n/a | yes | -| resource\_manager\_tags | (Optional) A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API. In Terraform, this value cannot be updated and changing it will recreate the resource. | `map(string)` | `null` | no | +| resource\_manager\_tags | (Optional) A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag\_key\_id}, and values are in the format tagValues/456 | `map(string)` | `null` | no | | resource\_policies | A list of self\_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported. | `list(string)` | `[]` | no | | service\_account | Service account to attach to the instance. See https://www.terraform.io/docs/providers/google/r/compute_instance_template#service_account. |
object({
email = string
scopes = optional(set(string), ["cloud-platform"])
})
| `null` | no | | service\_account\_project\_roles | Roles to grant to the newly created cloud run SA in specified project. Should be used with create\_service\_account set to true and no input for service\_account | `list(string)` | `[]` | no | diff --git a/modules/instance_template/metadata.yaml b/modules/instance_template/metadata.yaml index 583f7808..b618f77c 100644 --- a/modules/instance_template/metadata.yaml +++ b/modules/instance_template/metadata.yaml @@ -28,7 +28,7 @@ spec: version: 13.2.4 actuationTool: flavor: Terraform - version: ">=1.3" + version: ">=1.3.0" description: {} content: examples: @@ -431,7 +431,7 @@ spec: subnetwork_range_name = string }) - name: resource_manager_tags - description: (Optional) A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API. In Terraform, this value cannot be updated and changing it will recreate the resource. + description: (Optional) A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456 varType: map(string) outputs: - name: name diff --git a/modules/instance_template/variables.tf b/modules/instance_template/variables.tf index e04aaee4..806a1fe1 100644 --- a/modules/instance_template/variables.tf +++ b/modules/instance_template/variables.tf @@ -431,7 +431,7 @@ EOF } variable "resource_manager_tags" { - description = "(Optional) A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API. In Terraform, this value cannot be updated and changing it will recreate the resource." + description = "(Optional) A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456" type = map(string) default = null } diff --git a/modules/instance_template/versions.tf b/modules/instance_template/versions.tf index 9e157e0d..7eb74d06 100644 --- a/modules/instance_template/versions.tf +++ b/modules/instance_template/versions.tf @@ -15,7 +15,7 @@ */ terraform { - required_version = ">=1.3" + required_version = ">=1.3.0" required_providers { google-beta = { source = "hashicorp/google-beta" diff --git a/modules/preemptible_and_regular_instance_templates/metadata.yaml b/modules/preemptible_and_regular_instance_templates/metadata.yaml index 1e366aee..e26a2b7a 100644 --- a/modules/preemptible_and_regular_instance_templates/metadata.yaml +++ b/modules/preemptible_and_regular_instance_templates/metadata.yaml @@ -28,7 +28,7 @@ spec: version: 13.2.4 actuationTool: flavor: Terraform - version: ">=0.13.0" + version: ">=1.3.0" description: {} content: examples: diff --git a/modules/preemptible_and_regular_instance_templates/versions.tf b/modules/preemptible_and_regular_instance_templates/versions.tf index d7acae0f..7dc67edb 100644 --- a/modules/preemptible_and_regular_instance_templates/versions.tf +++ b/modules/preemptible_and_regular_instance_templates/versions.tf @@ -15,7 +15,7 @@ */ terraform { - required_version = ">=0.13.0" + required_version = ">=1.3.0" required_providers { google = ">= 3.88, < 7" google-beta = ">= 3.88, < 7" diff --git a/modules/umig/metadata.yaml b/modules/umig/metadata.yaml index c1408edf..6b95b0ae 100644 --- a/modules/umig/metadata.yaml +++ b/modules/umig/metadata.yaml @@ -28,7 +28,7 @@ spec: version: 13.2.4 actuationTool: flavor: Terraform - version: ">=0.13.0" + version: ">=1.3.0" description: {} content: examples: diff --git a/modules/umig/versions.tf b/modules/umig/versions.tf index d79d270c..173a76d3 100644 --- a/modules/umig/versions.tf +++ b/modules/umig/versions.tf @@ -15,7 +15,7 @@ */ terraform { - required_version = ">=0.13.0" + required_version = ">=1.3.0" required_providers { google = { source = "hashicorp/google"