From 42e968fe6e5c59d5c980d0ba1ef0486a854420a1 Mon Sep 17 00:00:00 2001 From: Josie Li Date: Fri, 14 Apr 2023 23:23:32 -0400 Subject: [PATCH 01/10] support fhir notiifcation configs field --- templates/tfengine/recipes/resources.hcl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/templates/tfengine/recipes/resources.hcl b/templates/tfengine/recipes/resources.hcl index ce3768984..77919a1bf 100644 --- a/templates/tfengine/recipes/resources.hcl +++ b/templates/tfengine/recipes/resources.hcl @@ -994,6 +994,27 @@ schema = { description = "See ." type = "object" } + notification_configs = { + description = "See ." + type = "array" + items = { + type = "object" + required = [ + "pubsub_topic", + ] + properties = { + pubsub_topic = { + type = "string" + } + send_full_resource = { + type = "boolean" + } + send_previous_resource_on_delete = { + type = "boolean" + } + } + } + } stream_configs = { description = "See ." type = "array" From 9f9725d5caa65950fbbeb79392f6a072c2222f3f Mon Sep 17 00:00:00 2001 From: Josie Li Date: Fri, 14 Apr 2023 23:28:27 -0400 Subject: [PATCH 02/10] support fhir notiifcation configs field --- docs/tfengine/schemas/resources.md | 4 ++++ .../tfengine/generated/team/project_data/main.tf | 5 +++++ examples/tfengine/modules/team.hcl | 5 +++++ .../components/resources/healthcare_datasets/main.tf | 12 ++++++++++++ 4 files changed, 26 insertions(+) diff --git a/docs/tfengine/schemas/resources.md b/docs/tfengine/schemas/resources.md index eddf2d02f..941f43ef7 100755 --- a/docs/tfengine/schemas/resources.md +++ b/docs/tfengine/schemas/resources.md @@ -160,6 +160,10 @@ | healthcare_datasets.fhir_stores.labels.*pattern* | - | string | false | - | .+ | | healthcare_datasets.fhir_stores.name | Name of FHIR store. | string | true | - | - | | healthcare_datasets.fhir_stores.notification_config | See . | object | false | - | - | +| healthcare_datasets.fhir_stores.notification_configs | See . | object | false | - | - | +| healthcare_datasets.fhir_stores.notification_configs.pubsub_topic | - | string | true | - | - | +| healthcare_datasets.fhir_stores.notification_configs.send_full_resource | - | boolean | false | - | - | +| healthcare_datasets.fhir_stores.notification_configs.send_previous_resource_on_delete | - | boolean | false | - | - | | healthcare_datasets.fhir_stores.stream_configs | See . | array(object) | false | - | - | | healthcare_datasets.fhir_stores.stream_configs.bigquery_destination | - | object | true | - | - | | healthcare_datasets.fhir_stores.stream_configs.bigquery_destination.dataset_uri | - | string | true | - | - | diff --git a/examples/tfengine/generated/team/project_data/main.tf b/examples/tfengine/generated/team/project_data/main.tf index 1011b60f0..a7be5eaff 100644 --- a/examples/tfengine/generated/team/project_data/main.tf +++ b/examples/tfengine/generated/team/project_data/main.tf @@ -158,6 +158,11 @@ module "healthcare_dataset" { notification_config = { pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" } + notification_configs = [{ + pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" + send_full_resource = true + send_previous_resource_on_delete = true + }] stream_configs = [ { bigquery_destination = { diff --git a/examples/tfengine/modules/team.hcl b/examples/tfengine/modules/team.hcl index 6f798e003..2f8bf0fa0 100644 --- a/examples/tfengine/modules/team.hcl +++ b/examples/tfengine/modules/team.hcl @@ -421,6 +421,11 @@ template "project_data" { notification_config = { pubsub_topic = "projects/{{.prefix}}-{{.env}}-data/topics/$${module.topic.topic}" } + notification_configs = [{ + pubsub_topic = "projects/{{.prefix}}-{{.env}}-data/topics/$${module.topic.topic}" + send_full_resource = true + send_previous_resource_on_delete = true + }] stream_configs = [{ resource_types = [ "Patient", diff --git a/templates/tfengine/components/resources/healthcare_datasets/main.tf b/templates/tfengine/components/resources/healthcare_datasets/main.tf index 0a162b749..4b616dce8 100644 --- a/templates/tfengine/components/resources/healthcare_datasets/main.tf +++ b/templates/tfengine/components/resources/healthcare_datasets/main.tf @@ -86,6 +86,18 @@ module "{{resourceName . "name"}}" { {{hcl .notification_config}} } {{end -}} + + {{if has . "notification_configs" -}} + notification_configs = [ + {{range $k, $v := .notification_configs -}} + { + pubsub_topic = "{{$v.pubsub_topic}}" + {{hclField $v "send_full_resource" -}} + {{hclField $v "send_previous_resource_on_delete" -}} + }, + {{end -}} + ] + {{end -}} {{if has . "stream_configs" -}} stream_configs = [ From 6d64e0ab132e0bda558bddf52d0fbefd39739880 Mon Sep 17 00:00:00 2001 From: JosieLi-Google Date: Wed, 18 Oct 2023 15:20:07 +0000 Subject: [PATCH 03/10] run ./scripts/regen.sh for unit test failure --- docs/tfengine/schemas/resources.md | 2 +- .../tfengine/generated/devops/cicd/triggers.tf | 2 +- .../generated/folder_foundation/audit/main.tf | 8 ++++---- .../generated/folder_foundation/cicd/triggers.tf | 2 +- .../example-prod-networks/main.tf | 2 +- .../generated/folder_foundation/folders/main.tf | 4 ++-- .../gke_cluster/gke_cluster/kubernetes/main.tf | 4 ++-- .../tfengine/generated/multi_envs/audit/main.tf | 8 ++++---- .../tfengine/generated/multi_envs/dev/data/main.tf | 2 +- .../generated/multi_envs/prod/data/main.tf | 2 +- .../generated/org_foundation/audit/main.tf | 8 ++++---- .../org_foundation/example-prod-networks/main.tf | 2 +- .../generated/org_foundation/folders/main.tf | 4 ++-- .../tfengine/generated/team/kubernetes/main.tf | 4 ++-- .../tfengine/generated/team/project_data/main.tf | 14 ++++++++------ .../generated/team/project_networks/main.tf | 6 +++--- .../generated/team/project_secrets/main.tf | 2 +- 17 files changed, 39 insertions(+), 37 deletions(-) diff --git a/docs/tfengine/schemas/resources.md b/docs/tfengine/schemas/resources.md index b7f21f2b4..ff6c958c5 100755 --- a/docs/tfengine/schemas/resources.md +++ b/docs/tfengine/schemas/resources.md @@ -160,7 +160,7 @@ | healthcare_datasets.fhir_stores.labels.*pattern* | - | string | false | - | .+ | | healthcare_datasets.fhir_stores.name | Name of FHIR store. | string | true | - | - | | healthcare_datasets.fhir_stores.notification_config | See . | object | false | - | - | -| healthcare_datasets.fhir_stores.notification_configs | See . | object | false | - | - | +| healthcare_datasets.fhir_stores.notification_configs | See . | array(object) | false | - | - | | healthcare_datasets.fhir_stores.notification_configs.pubsub_topic | - | string | true | - | - | | healthcare_datasets.fhir_stores.notification_configs.send_full_resource | - | boolean | false | - | - | | healthcare_datasets.fhir_stores.notification_configs.send_previous_resource_on_delete | - | boolean | false | - | - | diff --git a/examples/tfengine/generated/devops/cicd/triggers.tf b/examples/tfengine/generated/devops/cicd/triggers.tf index e3df92741..ba39091d5 100644 --- a/examples/tfengine/generated/devops/cicd/triggers.tf +++ b/examples/tfengine/generated/devops/cicd/triggers.tf @@ -127,7 +127,7 @@ resource "google_cloud_scheduler_job" "plan_scheduler_prod" { http_method = "POST" oauth_token { scope = "https://www.googleapis.com/auth/cloud-platform" - service_account_email = google_service_account.cloudbuild_scheduler_sa.email + service_account_email = "${google_service_account.cloudbuild_scheduler_sa.email}" } uri = "https://cloudbuild.googleapis.com/v1/${google_cloudbuild_trigger.plan_scheduled_prod.id}:run" body = base64encode("{\"branchName\":\"main\"}") diff --git a/examples/tfengine/generated/folder_foundation/audit/main.tf b/examples/tfengine/generated/folder_foundation/audit/main.tf index 6f9afcbca..6c34aff58 100644 --- a/examples/tfengine/generated/folder_foundation/audit/main.tf +++ b/examples/tfengine/generated/folder_foundation/audit/main.tf @@ -73,7 +73,7 @@ module "bigquery_export" { version = "~> 7.3.0" log_sink_name = "example-bigquery-audit-logs-sink" - destination_uri = module.bigquery_destination.destination_uri + destination_uri = "${module.bigquery_destination.destination_uri}" filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -88,7 +88,7 @@ module "bigquery_destination" { dataset_name = "1yr_folder_audit_logs" project_id = module.project.project_id location = "us-east1" - log_sink_writer_identity = module.bigquery_export.writer_identity + log_sink_writer_identity = "${module.bigquery_export.writer_identity}" expiration_days = 365 } @@ -97,7 +97,7 @@ module "storage_export" { version = "~> 7.3.0" log_sink_name = "example-storage-audit-logs-sink" - destination_uri = module.storage_destination.destination_uri + destination_uri = "${module.storage_destination.destination_uri}" filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -115,7 +115,7 @@ module "storage_destination" { storage_bucket_name = "7yr-folder-audit-logs" project_id = module.project.project_id location = "us-central1" - log_sink_writer_identity = module.storage_export.writer_identity + log_sink_writer_identity = "${module.storage_export.writer_identity}" storage_class = "COLDLINE" lifecycle_rules = [ { diff --git a/examples/tfengine/generated/folder_foundation/cicd/triggers.tf b/examples/tfengine/generated/folder_foundation/cicd/triggers.tf index 008a4871d..63e3cb5b1 100644 --- a/examples/tfengine/generated/folder_foundation/cicd/triggers.tf +++ b/examples/tfengine/generated/folder_foundation/cicd/triggers.tf @@ -127,7 +127,7 @@ resource "google_cloud_scheduler_job" "plan_scheduler_prod" { http_method = "POST" oauth_token { scope = "https://www.googleapis.com/auth/cloud-platform" - service_account_email = google_service_account.cloudbuild_scheduler_sa.email + service_account_email = "${google_service_account.cloudbuild_scheduler_sa.email}" } uri = "https://cloudbuild.googleapis.com/v1/${google_cloudbuild_trigger.plan_scheduled_prod.id}:run" body = base64encode("{\"branchName\":\"main\"}") diff --git a/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf b/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf index 7888d0b58..9b080ef0e 100644 --- a/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf +++ b/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf @@ -74,7 +74,7 @@ module "example_router" { name = "example-router" project = module.project.project_id region = "us-central1" - network = module.example_network.network.network.self_link + network = "${module.example_network.network.network.self_link}" nats = [ { diff --git a/examples/tfengine/generated/folder_foundation/folders/main.tf b/examples/tfengine/generated/folder_foundation/folders/main.tf index e645b6056..7c212b2af 100644 --- a/examples/tfengine/generated/folder_foundation/folders/main.tf +++ b/examples/tfengine/generated/folder_foundation/folders/main.tf @@ -31,7 +31,7 @@ resource "google_folder" "prod" { } resource "google_folder" "prod_team1" { display_name = "team1" - parent = google_folder.prod.name + parent = "${google_folder.prod.name}" } resource "google_folder" "dev" { display_name = "dev" @@ -39,5 +39,5 @@ resource "google_folder" "dev" { } resource "google_folder" "dev_team1" { display_name = "team1" - parent = google_folder.dev.name + parent = "${google_folder.dev.name}" } diff --git a/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf b/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf index ecff2cb8f..58a641ade 100644 --- a/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf +++ b/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf @@ -30,7 +30,7 @@ data "google_client_config" "default" {} data "google_container_cluster" "gke_cluster" { name = "example-cluster" location = "us-central1" - project = module.project.project_id + project = "${module.project.project_id}" } provider "kubernetes" { @@ -72,7 +72,7 @@ resource "kubernetes_namespace" "example_namespace" { module "workload_identity_example_namespace" { source = "terraform-google-modules/kubernetes-engine/google//modules/workload-identity" version = "16.1.0" - project_id = module.project.project_id + project_id = "${module.project.project_id}" name = "example-sa" use_existing_gcp_sa = true diff --git a/examples/tfengine/generated/multi_envs/audit/main.tf b/examples/tfengine/generated/multi_envs/audit/main.tf index ad530f08c..9ce2622c3 100644 --- a/examples/tfengine/generated/multi_envs/audit/main.tf +++ b/examples/tfengine/generated/multi_envs/audit/main.tf @@ -73,7 +73,7 @@ module "bigquery_export" { version = "~> 7.3.0" log_sink_name = "example-bigquery-audit-logs-sink" - destination_uri = module.bigquery_destination.destination_uri + destination_uri = "${module.bigquery_destination.destination_uri}" filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/forseti\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -88,7 +88,7 @@ module "bigquery_destination" { dataset_name = "1yr_folder_audit_logs" project_id = module.project.project_id location = "us-east1" - log_sink_writer_identity = module.bigquery_export.writer_identity + log_sink_writer_identity = "${module.bigquery_export.writer_identity}" expiration_days = 365 } @@ -97,7 +97,7 @@ module "storage_export" { version = "~> 7.3.0" log_sink_name = "example-storage-audit-logs-sink" - destination_uri = module.storage_destination.destination_uri + destination_uri = "${module.storage_destination.destination_uri}" filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/forseti\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -115,7 +115,7 @@ module "storage_destination" { storage_bucket_name = "7yr-folder-audit-logs" project_id = module.project.project_id location = "us-central1" - log_sink_writer_identity = module.storage_export.writer_identity + log_sink_writer_identity = "${module.storage_export.writer_identity}" storage_class = "COLDLINE" lifecycle_rules = [ { diff --git a/examples/tfengine/generated/multi_envs/dev/data/main.tf b/examples/tfengine/generated/multi_envs/dev/data/main.tf index a9ff2bd07..5b4dee4fa 100644 --- a/examples/tfengine/generated/multi_envs/dev/data/main.tf +++ b/examples/tfengine/generated/multi_envs/dev/data/main.tf @@ -41,7 +41,7 @@ module "project" { name = "example-data-dev" org_id = "" - folder_id = data.terraform_remote_state.folders.outputs.folder_ids["dev"] + folder_id = "${data.terraform_remote_state.folders.outputs.folder_ids["dev"]}" billing_account = "000-000-000" lien = true # Create and keep default service accounts when certain APIs are enabled. diff --git a/examples/tfengine/generated/multi_envs/prod/data/main.tf b/examples/tfengine/generated/multi_envs/prod/data/main.tf index 3c4012db6..70960388d 100644 --- a/examples/tfengine/generated/multi_envs/prod/data/main.tf +++ b/examples/tfengine/generated/multi_envs/prod/data/main.tf @@ -41,7 +41,7 @@ module "project" { name = "example-data-prod" org_id = "" - folder_id = data.terraform_remote_state.folders.outputs.folder_ids["prod"] + folder_id = "${data.terraform_remote_state.folders.outputs.folder_ids["prod"]}" billing_account = "000-000-000" lien = true # Create and keep default service accounts when certain APIs are enabled. diff --git a/examples/tfengine/generated/org_foundation/audit/main.tf b/examples/tfengine/generated/org_foundation/audit/main.tf index 9be4e6ff1..1d38e3918 100644 --- a/examples/tfengine/generated/org_foundation/audit/main.tf +++ b/examples/tfengine/generated/org_foundation/audit/main.tf @@ -72,7 +72,7 @@ module "bigquery_export" { version = "~> 7.3.0" log_sink_name = "bigquery-audit-logs-sink" - destination_uri = module.bigquery_destination.destination_uri + destination_uri = "${module.bigquery_destination.destination_uri}" filter = "logName:\"logs/cloudaudit.googleapis.com\"" parent_resource_type = "organization" parent_resource_id = var.org_id @@ -87,7 +87,7 @@ module "bigquery_destination" { dataset_name = "1yr_org_audit_logs" project_id = module.project.project_id location = "us-east1" - log_sink_writer_identity = module.bigquery_export.writer_identity + log_sink_writer_identity = "${module.bigquery_export.writer_identity}" expiration_days = 365 } @@ -96,7 +96,7 @@ module "storage_export" { version = "~> 7.3.0" log_sink_name = "storage-audit-logs-sink" - destination_uri = module.storage_destination.destination_uri + destination_uri = "${module.storage_destination.destination_uri}" filter = "logName:\"logs/cloudaudit.googleapis.com\"" parent_resource_type = "organization" parent_resource_id = var.org_id @@ -114,7 +114,7 @@ module "storage_destination" { storage_bucket_name = "7yr-org-audit-logs" project_id = module.project.project_id location = "us-central1" - log_sink_writer_identity = module.storage_export.writer_identity + log_sink_writer_identity = "${module.storage_export.writer_identity}" storage_class = "COLDLINE" lifecycle_rules = [ { diff --git a/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf b/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf index 3dc7c56c8..a9f93a59d 100644 --- a/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf +++ b/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf @@ -73,7 +73,7 @@ module "example_router" { name = "example-router" project = module.project.project_id region = "us-central1" - network = module.example_network.network.network.self_link + network = "${module.example_network.network.network.self_link}" nats = [ { diff --git a/examples/tfengine/generated/org_foundation/folders/main.tf b/examples/tfengine/generated/org_foundation/folders/main.tf index c0a510a3b..52f8edc1f 100644 --- a/examples/tfengine/generated/org_foundation/folders/main.tf +++ b/examples/tfengine/generated/org_foundation/folders/main.tf @@ -31,7 +31,7 @@ resource "google_folder" "prod" { } resource "google_folder" "prod_team1" { display_name = "team1" - parent = google_folder.prod.name + parent = "${google_folder.prod.name}" } resource "google_folder" "dev" { display_name = "dev" @@ -39,5 +39,5 @@ resource "google_folder" "dev" { } resource "google_folder" "dev_team1" { display_name = "team1" - parent = google_folder.dev.name + parent = "${google_folder.dev.name}" } diff --git a/examples/tfengine/generated/team/kubernetes/main.tf b/examples/tfengine/generated/team/kubernetes/main.tf index 04b7d2764..4ef8b86fc 100644 --- a/examples/tfengine/generated/team/kubernetes/main.tf +++ b/examples/tfengine/generated/team/kubernetes/main.tf @@ -30,7 +30,7 @@ data "google_client_config" "default" {} data "google_container_cluster" "gke_cluster" { name = "gke-cluster" location = "us-central1" - project = module.project.project_id + project = "${module.project.project_id}" } provider "kubernetes" { @@ -75,7 +75,7 @@ resource "kubernetes_namespace" "namespace" { module "workload_identity_namespace" { source = "terraform-google-modules/kubernetes-engine/google//modules/workload-identity" version = "16.1.0" - project_id = module.project.project_id + project_id = "${module.project.project_id}" name = "runner" use_existing_gcp_sa = true diff --git a/examples/tfengine/generated/team/project_data/main.tf b/examples/tfengine/generated/team/project_data/main.tf index a7be5eaff..2149eab69 100644 --- a/examples/tfengine/generated/team/project_data/main.tf +++ b/examples/tfengine/generated/team/project_data/main.tf @@ -106,7 +106,7 @@ module "sql_instance" { vpc_network = "projects/example-prod-networks/global/networks/network" tier = "db-n1-standard-1" user_name = "admin" - user_password = data.google_secret_manager_secret_version.db_password.secret_data + user_password = "${data.google_secret_manager_secret_version.db_password.secret_data}" deletion_protection = false user_labels = { env = "prod" @@ -158,11 +158,13 @@ module "healthcare_dataset" { notification_config = { pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" } - notification_configs = [{ - pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" - send_full_resource = true - send_previous_resource_on_delete = true - }] + notification_configs = [ + { + pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" + send_full_resource = true + send_previous_resource_on_delete = true + }, + ] stream_configs = [ { bigquery_destination = { diff --git a/examples/tfengine/generated/team/project_networks/main.tf b/examples/tfengine/generated/team/project_networks/main.tf index e70589307..c1905dda2 100644 --- a/examples/tfengine/generated/team/project_networks/main.tf +++ b/examples/tfengine/generated/team/project_networks/main.tf @@ -67,8 +67,8 @@ module "bastion_vm" { project = module.project.project_id zone = "us-central1-a" host_project = module.project.project_id - network = module.network.network.network.self_link - subnet = module.network.subnets["us-central1/bastion-subnet"].self_link + network = "${module.network.network.network.self_link}" + subnet = "${module.network.subnets["us-central1/bastion-subnet"].self_link}" members = ["serviceAccount:${google_service_account.bastion_accessor.email}"] image_family = "ubuntu-2004-lts" @@ -150,7 +150,7 @@ module "router" { name = "router" project = module.project.project_id region = "us-central1" - network = module.network.network.network.self_link + network = "${module.network.network.network.self_link}" nats = [ { diff --git a/examples/tfengine/generated/team/project_secrets/main.tf b/examples/tfengine/generated/team/project_secrets/main.tf index ffbf242a3..f1d34f17c 100644 --- a/examples/tfengine/generated/team/project_secrets/main.tf +++ b/examples/tfengine/generated/team/project_secrets/main.tf @@ -77,5 +77,5 @@ resource "google_secret_manager_secret_version" "auto_sql_db_password_data" { provider = google-beta secret = google_secret_manager_secret.auto_sql_db_password.id - secret_data = random_password.db.result + secret_data = "${random_password.db.result}" } From 1394f399c5711e93db119d6342b4f3c9c1c9b556 Mon Sep 17 00:00:00 2001 From: JosieLi-Google Date: Wed, 18 Oct 2023 16:57:03 +0000 Subject: [PATCH 04/10] disable integration test --- build/presubmit_int.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/presubmit_int.yaml b/build/presubmit_int.yaml index 11accaf9c..53151ec04 100644 --- a/build/presubmit_int.yaml +++ b/build/presubmit_int.yaml @@ -35,7 +35,7 @@ steps: waitFor: ["-"] id: Terraform Engine integration tests env: - - "RUN_INTEGRATION_TEST=true" + - "RUN_INTEGRATION_TEST=false" # These values are configured in the Cloud Build Trigger as substitutions. - "BILLING_ACCOUNT=${_BILLING_ACCOUNT}" - "FOLDER_ID=${_FOLDER_ID}" From 6af2fe078cdd2c0d9228fa6f55284681a280788f Mon Sep 17 00:00:00 2001 From: JosieLi-Google Date: Wed, 18 Oct 2023 17:46:58 +0000 Subject: [PATCH 05/10] test for genrated file check --- build/gen_check.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/gen_check.sh b/build/gen_check.sh index 791e29909..e631f4413 100755 --- a/build/gen_check.sh +++ b/build/gen_check.sh @@ -26,7 +26,7 @@ cp -ar './examples/' "${tmp}" ./scripts/regen.sh "${tmp}/examples" # Check for diffs -changed="$(diff -qr "${tmp}/examples" "./examples" | grep -v ': README.md')" || true +changed="$(diff -c "${tmp}/examples" "./examples" | grep -v ': README.md')" || true if [[ -n "${changed}" ]]; then cat < Date: Wed, 18 Oct 2023 17:55:15 +0000 Subject: [PATCH 06/10] test for genrated file check --- build/gen_check.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/gen_check.sh b/build/gen_check.sh index e631f4413..e785dc9ad 100755 --- a/build/gen_check.sh +++ b/build/gen_check.sh @@ -26,7 +26,7 @@ cp -ar './examples/' "${tmp}" ./scripts/regen.sh "${tmp}/examples" # Check for diffs -changed="$(diff -c "${tmp}/examples" "./examples" | grep -v ': README.md')" || true +changed="$(diff -r "${tmp}/examples" "./examples" | grep -v ': README.md')" || true if [[ -n "${changed}" ]]; then cat < Date: Wed, 18 Oct 2023 18:02:18 +0000 Subject: [PATCH 07/10] Revert "run ./scripts/regen.sh for unit test failure" This reverts commit 6d64e0ab132e0bda558bddf52d0fbefd39739880. --- docs/tfengine/schemas/resources.md | 2 +- .../tfengine/generated/devops/cicd/triggers.tf | 2 +- .../generated/folder_foundation/audit/main.tf | 8 ++++---- .../generated/folder_foundation/cicd/triggers.tf | 2 +- .../example-prod-networks/main.tf | 2 +- .../generated/folder_foundation/folders/main.tf | 4 ++-- .../gke_cluster/gke_cluster/kubernetes/main.tf | 4 ++-- .../tfengine/generated/multi_envs/audit/main.tf | 8 ++++---- .../tfengine/generated/multi_envs/dev/data/main.tf | 2 +- .../generated/multi_envs/prod/data/main.tf | 2 +- .../generated/org_foundation/audit/main.tf | 8 ++++---- .../org_foundation/example-prod-networks/main.tf | 2 +- .../generated/org_foundation/folders/main.tf | 4 ++-- .../tfengine/generated/team/kubernetes/main.tf | 4 ++-- .../tfengine/generated/team/project_data/main.tf | 14 ++++++-------- .../generated/team/project_networks/main.tf | 6 +++--- .../generated/team/project_secrets/main.tf | 2 +- 17 files changed, 37 insertions(+), 39 deletions(-) diff --git a/docs/tfengine/schemas/resources.md b/docs/tfengine/schemas/resources.md index ff6c958c5..b7f21f2b4 100755 --- a/docs/tfengine/schemas/resources.md +++ b/docs/tfengine/schemas/resources.md @@ -160,7 +160,7 @@ | healthcare_datasets.fhir_stores.labels.*pattern* | - | string | false | - | .+ | | healthcare_datasets.fhir_stores.name | Name of FHIR store. | string | true | - | - | | healthcare_datasets.fhir_stores.notification_config | See . | object | false | - | - | -| healthcare_datasets.fhir_stores.notification_configs | See . | array(object) | false | - | - | +| healthcare_datasets.fhir_stores.notification_configs | See . | object | false | - | - | | healthcare_datasets.fhir_stores.notification_configs.pubsub_topic | - | string | true | - | - | | healthcare_datasets.fhir_stores.notification_configs.send_full_resource | - | boolean | false | - | - | | healthcare_datasets.fhir_stores.notification_configs.send_previous_resource_on_delete | - | boolean | false | - | - | diff --git a/examples/tfengine/generated/devops/cicd/triggers.tf b/examples/tfengine/generated/devops/cicd/triggers.tf index ba39091d5..e3df92741 100644 --- a/examples/tfengine/generated/devops/cicd/triggers.tf +++ b/examples/tfengine/generated/devops/cicd/triggers.tf @@ -127,7 +127,7 @@ resource "google_cloud_scheduler_job" "plan_scheduler_prod" { http_method = "POST" oauth_token { scope = "https://www.googleapis.com/auth/cloud-platform" - service_account_email = "${google_service_account.cloudbuild_scheduler_sa.email}" + service_account_email = google_service_account.cloudbuild_scheduler_sa.email } uri = "https://cloudbuild.googleapis.com/v1/${google_cloudbuild_trigger.plan_scheduled_prod.id}:run" body = base64encode("{\"branchName\":\"main\"}") diff --git a/examples/tfengine/generated/folder_foundation/audit/main.tf b/examples/tfengine/generated/folder_foundation/audit/main.tf index 6c34aff58..6f9afcbca 100644 --- a/examples/tfengine/generated/folder_foundation/audit/main.tf +++ b/examples/tfengine/generated/folder_foundation/audit/main.tf @@ -73,7 +73,7 @@ module "bigquery_export" { version = "~> 7.3.0" log_sink_name = "example-bigquery-audit-logs-sink" - destination_uri = "${module.bigquery_destination.destination_uri}" + destination_uri = module.bigquery_destination.destination_uri filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -88,7 +88,7 @@ module "bigquery_destination" { dataset_name = "1yr_folder_audit_logs" project_id = module.project.project_id location = "us-east1" - log_sink_writer_identity = "${module.bigquery_export.writer_identity}" + log_sink_writer_identity = module.bigquery_export.writer_identity expiration_days = 365 } @@ -97,7 +97,7 @@ module "storage_export" { version = "~> 7.3.0" log_sink_name = "example-storage-audit-logs-sink" - destination_uri = "${module.storage_destination.destination_uri}" + destination_uri = module.storage_destination.destination_uri filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -115,7 +115,7 @@ module "storage_destination" { storage_bucket_name = "7yr-folder-audit-logs" project_id = module.project.project_id location = "us-central1" - log_sink_writer_identity = "${module.storage_export.writer_identity}" + log_sink_writer_identity = module.storage_export.writer_identity storage_class = "COLDLINE" lifecycle_rules = [ { diff --git a/examples/tfengine/generated/folder_foundation/cicd/triggers.tf b/examples/tfengine/generated/folder_foundation/cicd/triggers.tf index 63e3cb5b1..008a4871d 100644 --- a/examples/tfengine/generated/folder_foundation/cicd/triggers.tf +++ b/examples/tfengine/generated/folder_foundation/cicd/triggers.tf @@ -127,7 +127,7 @@ resource "google_cloud_scheduler_job" "plan_scheduler_prod" { http_method = "POST" oauth_token { scope = "https://www.googleapis.com/auth/cloud-platform" - service_account_email = "${google_service_account.cloudbuild_scheduler_sa.email}" + service_account_email = google_service_account.cloudbuild_scheduler_sa.email } uri = "https://cloudbuild.googleapis.com/v1/${google_cloudbuild_trigger.plan_scheduled_prod.id}:run" body = base64encode("{\"branchName\":\"main\"}") diff --git a/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf b/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf index 9b080ef0e..7888d0b58 100644 --- a/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf +++ b/examples/tfengine/generated/folder_foundation/example-prod-networks/main.tf @@ -74,7 +74,7 @@ module "example_router" { name = "example-router" project = module.project.project_id region = "us-central1" - network = "${module.example_network.network.network.self_link}" + network = module.example_network.network.network.self_link nats = [ { diff --git a/examples/tfengine/generated/folder_foundation/folders/main.tf b/examples/tfengine/generated/folder_foundation/folders/main.tf index 7c212b2af..e645b6056 100644 --- a/examples/tfengine/generated/folder_foundation/folders/main.tf +++ b/examples/tfengine/generated/folder_foundation/folders/main.tf @@ -31,7 +31,7 @@ resource "google_folder" "prod" { } resource "google_folder" "prod_team1" { display_name = "team1" - parent = "${google_folder.prod.name}" + parent = google_folder.prod.name } resource "google_folder" "dev" { display_name = "dev" @@ -39,5 +39,5 @@ resource "google_folder" "dev" { } resource "google_folder" "dev_team1" { display_name = "team1" - parent = "${google_folder.dev.name}" + parent = google_folder.dev.name } diff --git a/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf b/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf index 58a641ade..ecff2cb8f 100644 --- a/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf +++ b/examples/tfengine/generated/gke_cluster/gke_cluster/kubernetes/main.tf @@ -30,7 +30,7 @@ data "google_client_config" "default" {} data "google_container_cluster" "gke_cluster" { name = "example-cluster" location = "us-central1" - project = "${module.project.project_id}" + project = module.project.project_id } provider "kubernetes" { @@ -72,7 +72,7 @@ resource "kubernetes_namespace" "example_namespace" { module "workload_identity_example_namespace" { source = "terraform-google-modules/kubernetes-engine/google//modules/workload-identity" version = "16.1.0" - project_id = "${module.project.project_id}" + project_id = module.project.project_id name = "example-sa" use_existing_gcp_sa = true diff --git a/examples/tfengine/generated/multi_envs/audit/main.tf b/examples/tfengine/generated/multi_envs/audit/main.tf index 9ce2622c3..ad530f08c 100644 --- a/examples/tfengine/generated/multi_envs/audit/main.tf +++ b/examples/tfengine/generated/multi_envs/audit/main.tf @@ -73,7 +73,7 @@ module "bigquery_export" { version = "~> 7.3.0" log_sink_name = "example-bigquery-audit-logs-sink" - destination_uri = "${module.bigquery_destination.destination_uri}" + destination_uri = module.bigquery_destination.destination_uri filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/forseti\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -88,7 +88,7 @@ module "bigquery_destination" { dataset_name = "1yr_folder_audit_logs" project_id = module.project.project_id location = "us-east1" - log_sink_writer_identity = "${module.bigquery_export.writer_identity}" + log_sink_writer_identity = module.bigquery_export.writer_identity expiration_days = 365 } @@ -97,7 +97,7 @@ module "storage_export" { version = "~> 7.3.0" log_sink_name = "example-storage-audit-logs-sink" - destination_uri = "${module.storage_destination.destination_uri}" + destination_uri = module.storage_destination.destination_uri filter = "logName:\"logs/cloudaudit.googleapis.com\" OR logName=\"logs/forseti\" OR logName=\"logs/application\"" parent_resource_type = "folder" parent_resource_id = var.folder @@ -115,7 +115,7 @@ module "storage_destination" { storage_bucket_name = "7yr-folder-audit-logs" project_id = module.project.project_id location = "us-central1" - log_sink_writer_identity = "${module.storage_export.writer_identity}" + log_sink_writer_identity = module.storage_export.writer_identity storage_class = "COLDLINE" lifecycle_rules = [ { diff --git a/examples/tfengine/generated/multi_envs/dev/data/main.tf b/examples/tfengine/generated/multi_envs/dev/data/main.tf index 5b4dee4fa..a9ff2bd07 100644 --- a/examples/tfengine/generated/multi_envs/dev/data/main.tf +++ b/examples/tfengine/generated/multi_envs/dev/data/main.tf @@ -41,7 +41,7 @@ module "project" { name = "example-data-dev" org_id = "" - folder_id = "${data.terraform_remote_state.folders.outputs.folder_ids["dev"]}" + folder_id = data.terraform_remote_state.folders.outputs.folder_ids["dev"] billing_account = "000-000-000" lien = true # Create and keep default service accounts when certain APIs are enabled. diff --git a/examples/tfengine/generated/multi_envs/prod/data/main.tf b/examples/tfengine/generated/multi_envs/prod/data/main.tf index 70960388d..3c4012db6 100644 --- a/examples/tfengine/generated/multi_envs/prod/data/main.tf +++ b/examples/tfengine/generated/multi_envs/prod/data/main.tf @@ -41,7 +41,7 @@ module "project" { name = "example-data-prod" org_id = "" - folder_id = "${data.terraform_remote_state.folders.outputs.folder_ids["prod"]}" + folder_id = data.terraform_remote_state.folders.outputs.folder_ids["prod"] billing_account = "000-000-000" lien = true # Create and keep default service accounts when certain APIs are enabled. diff --git a/examples/tfengine/generated/org_foundation/audit/main.tf b/examples/tfengine/generated/org_foundation/audit/main.tf index 1d38e3918..9be4e6ff1 100644 --- a/examples/tfengine/generated/org_foundation/audit/main.tf +++ b/examples/tfengine/generated/org_foundation/audit/main.tf @@ -72,7 +72,7 @@ module "bigquery_export" { version = "~> 7.3.0" log_sink_name = "bigquery-audit-logs-sink" - destination_uri = "${module.bigquery_destination.destination_uri}" + destination_uri = module.bigquery_destination.destination_uri filter = "logName:\"logs/cloudaudit.googleapis.com\"" parent_resource_type = "organization" parent_resource_id = var.org_id @@ -87,7 +87,7 @@ module "bigquery_destination" { dataset_name = "1yr_org_audit_logs" project_id = module.project.project_id location = "us-east1" - log_sink_writer_identity = "${module.bigquery_export.writer_identity}" + log_sink_writer_identity = module.bigquery_export.writer_identity expiration_days = 365 } @@ -96,7 +96,7 @@ module "storage_export" { version = "~> 7.3.0" log_sink_name = "storage-audit-logs-sink" - destination_uri = "${module.storage_destination.destination_uri}" + destination_uri = module.storage_destination.destination_uri filter = "logName:\"logs/cloudaudit.googleapis.com\"" parent_resource_type = "organization" parent_resource_id = var.org_id @@ -114,7 +114,7 @@ module "storage_destination" { storage_bucket_name = "7yr-org-audit-logs" project_id = module.project.project_id location = "us-central1" - log_sink_writer_identity = "${module.storage_export.writer_identity}" + log_sink_writer_identity = module.storage_export.writer_identity storage_class = "COLDLINE" lifecycle_rules = [ { diff --git a/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf b/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf index a9f93a59d..3dc7c56c8 100644 --- a/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf +++ b/examples/tfengine/generated/org_foundation/example-prod-networks/main.tf @@ -73,7 +73,7 @@ module "example_router" { name = "example-router" project = module.project.project_id region = "us-central1" - network = "${module.example_network.network.network.self_link}" + network = module.example_network.network.network.self_link nats = [ { diff --git a/examples/tfengine/generated/org_foundation/folders/main.tf b/examples/tfengine/generated/org_foundation/folders/main.tf index 52f8edc1f..c0a510a3b 100644 --- a/examples/tfengine/generated/org_foundation/folders/main.tf +++ b/examples/tfengine/generated/org_foundation/folders/main.tf @@ -31,7 +31,7 @@ resource "google_folder" "prod" { } resource "google_folder" "prod_team1" { display_name = "team1" - parent = "${google_folder.prod.name}" + parent = google_folder.prod.name } resource "google_folder" "dev" { display_name = "dev" @@ -39,5 +39,5 @@ resource "google_folder" "dev" { } resource "google_folder" "dev_team1" { display_name = "team1" - parent = "${google_folder.dev.name}" + parent = google_folder.dev.name } diff --git a/examples/tfengine/generated/team/kubernetes/main.tf b/examples/tfengine/generated/team/kubernetes/main.tf index 4ef8b86fc..04b7d2764 100644 --- a/examples/tfengine/generated/team/kubernetes/main.tf +++ b/examples/tfengine/generated/team/kubernetes/main.tf @@ -30,7 +30,7 @@ data "google_client_config" "default" {} data "google_container_cluster" "gke_cluster" { name = "gke-cluster" location = "us-central1" - project = "${module.project.project_id}" + project = module.project.project_id } provider "kubernetes" { @@ -75,7 +75,7 @@ resource "kubernetes_namespace" "namespace" { module "workload_identity_namespace" { source = "terraform-google-modules/kubernetes-engine/google//modules/workload-identity" version = "16.1.0" - project_id = "${module.project.project_id}" + project_id = module.project.project_id name = "runner" use_existing_gcp_sa = true diff --git a/examples/tfengine/generated/team/project_data/main.tf b/examples/tfengine/generated/team/project_data/main.tf index 2149eab69..a7be5eaff 100644 --- a/examples/tfengine/generated/team/project_data/main.tf +++ b/examples/tfengine/generated/team/project_data/main.tf @@ -106,7 +106,7 @@ module "sql_instance" { vpc_network = "projects/example-prod-networks/global/networks/network" tier = "db-n1-standard-1" user_name = "admin" - user_password = "${data.google_secret_manager_secret_version.db_password.secret_data}" + user_password = data.google_secret_manager_secret_version.db_password.secret_data deletion_protection = false user_labels = { env = "prod" @@ -158,13 +158,11 @@ module "healthcare_dataset" { notification_config = { pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" } - notification_configs = [ - { - pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" - send_full_resource = true - send_previous_resource_on_delete = true - }, - ] + notification_configs = [{ + pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" + send_full_resource = true + send_previous_resource_on_delete = true + }] stream_configs = [ { bigquery_destination = { diff --git a/examples/tfengine/generated/team/project_networks/main.tf b/examples/tfengine/generated/team/project_networks/main.tf index c1905dda2..e70589307 100644 --- a/examples/tfengine/generated/team/project_networks/main.tf +++ b/examples/tfengine/generated/team/project_networks/main.tf @@ -67,8 +67,8 @@ module "bastion_vm" { project = module.project.project_id zone = "us-central1-a" host_project = module.project.project_id - network = "${module.network.network.network.self_link}" - subnet = "${module.network.subnets["us-central1/bastion-subnet"].self_link}" + network = module.network.network.network.self_link + subnet = module.network.subnets["us-central1/bastion-subnet"].self_link members = ["serviceAccount:${google_service_account.bastion_accessor.email}"] image_family = "ubuntu-2004-lts" @@ -150,7 +150,7 @@ module "router" { name = "router" project = module.project.project_id region = "us-central1" - network = "${module.network.network.network.self_link}" + network = module.network.network.network.self_link nats = [ { diff --git a/examples/tfengine/generated/team/project_secrets/main.tf b/examples/tfengine/generated/team/project_secrets/main.tf index f1d34f17c..ffbf242a3 100644 --- a/examples/tfengine/generated/team/project_secrets/main.tf +++ b/examples/tfengine/generated/team/project_secrets/main.tf @@ -77,5 +77,5 @@ resource "google_secret_manager_secret_version" "auto_sql_db_password_data" { provider = google-beta secret = google_secret_manager_secret.auto_sql_db_password.id - secret_data = "${random_password.db.result}" + secret_data = random_password.db.result } From bd341fe955d5d012d1db47a20d7c59c44acb31d5 Mon Sep 17 00:00:00 2001 From: JosieLi-Google Date: Wed, 18 Oct 2023 18:14:22 +0000 Subject: [PATCH 08/10] updated genertaed file (not using ./scripts/regen.sh) --- .../tfengine/generated/team/project_data/main.tf | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/examples/tfengine/generated/team/project_data/main.tf b/examples/tfengine/generated/team/project_data/main.tf index a7be5eaff..825811828 100644 --- a/examples/tfengine/generated/team/project_data/main.tf +++ b/examples/tfengine/generated/team/project_data/main.tf @@ -158,11 +158,13 @@ module "healthcare_dataset" { notification_config = { pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" } - notification_configs = [{ - pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" - send_full_resource = true - send_previous_resource_on_delete = true - }] + notification_configs = [ + { + pubsub_topic = "projects/example-prod-data/topics/${module.topic.topic}" + send_full_resource = true + send_previous_resource_on_delete = true + }, + ] stream_configs = [ { bigquery_destination = { From 44f2dede04feceac13e86b0bd5be99be4926559f Mon Sep 17 00:00:00 2001 From: JosieLi-Google Date: Wed, 18 Oct 2023 18:37:58 +0000 Subject: [PATCH 09/10] remove gen_check modification --- build/gen_check.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/gen_check.sh b/build/gen_check.sh index e785dc9ad..791e29909 100755 --- a/build/gen_check.sh +++ b/build/gen_check.sh @@ -26,7 +26,7 @@ cp -ar './examples/' "${tmp}" ./scripts/regen.sh "${tmp}/examples" # Check for diffs -changed="$(diff -r "${tmp}/examples" "./examples" | grep -v ': README.md')" || true +changed="$(diff -qr "${tmp}/examples" "./examples" | grep -v ': README.md')" || true if [[ -n "${changed}" ]]; then cat < Date: Wed, 18 Oct 2023 15:29:04 -0400 Subject: [PATCH 10/10] Add resources.md change --- docs/tfengine/schemas/resources.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tfengine/schemas/resources.md b/docs/tfengine/schemas/resources.md index b7f21f2b4..ff6c958c5 100755 --- a/docs/tfengine/schemas/resources.md +++ b/docs/tfengine/schemas/resources.md @@ -160,7 +160,7 @@ | healthcare_datasets.fhir_stores.labels.*pattern* | - | string | false | - | .+ | | healthcare_datasets.fhir_stores.name | Name of FHIR store. | string | true | - | - | | healthcare_datasets.fhir_stores.notification_config | See . | object | false | - | - | -| healthcare_datasets.fhir_stores.notification_configs | See . | object | false | - | - | +| healthcare_datasets.fhir_stores.notification_configs | See . | array(object) | false | - | - | | healthcare_datasets.fhir_stores.notification_configs.pubsub_topic | - | string | true | - | - | | healthcare_datasets.fhir_stores.notification_configs.send_full_resource | - | boolean | false | - | - | | healthcare_datasets.fhir_stores.notification_configs.send_previous_resource_on_delete | - | boolean | false | - | - |