Refactor service agent management (#2423)
* Service agents script * Service agents update * WIP * Update script and terraform * Fix tests * Fix linter * Update docs * Bring back pf example inventory * Fix tests * Fix more tests * Fix tests * Use dataclasses for build_service_agents.py * Remove unneeded field() from build_service_agents * Re-enable CMEK depends_on in project outputs * Update tools/requirements.txt * Enable storage in GCS example projects * Fix tests * Add CMEK Service Agents dependencies for services * Fix typos and data platform cmek * More typos
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright 2022 Google LLC
|
||||
* Copyright 2024 Google LLC
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -29,6 +29,15 @@ output "custom_roles" {
|
||||
value = google_project_iam_custom_role.roles
|
||||
}
|
||||
|
||||
|
||||
output "default_service_accounts" {
|
||||
description = "Emails of the default service accounts for this project."
|
||||
value = {
|
||||
compute = "${local.project.number}-compute@developer.gserviceaccount.com"
|
||||
gae = "${local.project.project_id}@appspot.gserviceaccount.com"
|
||||
}
|
||||
}
|
||||
|
||||
output "id" {
|
||||
description = "Project id."
|
||||
value = "${local.prefix}${var.name}"
|
||||
@@ -41,10 +50,9 @@ output "id" {
|
||||
google_compute_shared_vpc_service_project.shared_vpc_service,
|
||||
google_compute_shared_vpc_service_project.service_projects,
|
||||
google_project_iam_member.shared_vpc_host_robots,
|
||||
google_kms_crypto_key_iam_member.service_identity_cmek,
|
||||
google_project_service_identity.jit_si,
|
||||
google_project_service_identity.servicenetworking,
|
||||
google_project_iam_member.servicenetworking
|
||||
google_kms_crypto_key_iam_member.service_agent_cmek,
|
||||
google_project_service_identity.default,
|
||||
google_project_iam_member.service_agents
|
||||
]
|
||||
}
|
||||
|
||||
@@ -56,7 +64,7 @@ output "name" {
|
||||
google_project_service.project_services,
|
||||
google_compute_shared_vpc_service_project.service_projects,
|
||||
google_project_iam_member.shared_vpc_host_robots,
|
||||
google_kms_crypto_key_iam_member.service_identity_cmek
|
||||
google_kms_crypto_key_iam_member.service_agent_cmek,
|
||||
]
|
||||
}
|
||||
|
||||
@@ -87,10 +95,9 @@ output "number" {
|
||||
google_compute_shared_vpc_service_project.shared_vpc_service,
|
||||
google_compute_shared_vpc_service_project.service_projects,
|
||||
google_project_iam_member.shared_vpc_host_robots,
|
||||
google_kms_crypto_key_iam_member.service_identity_cmek,
|
||||
google_project_service_identity.jit_si,
|
||||
google_project_service_identity.servicenetworking,
|
||||
google_project_iam_member.servicenetworking
|
||||
google_kms_crypto_key_iam_member.service_agent_cmek,
|
||||
google_project_service_identity.default,
|
||||
google_project_iam_member.service_agents
|
||||
]
|
||||
}
|
||||
|
||||
@@ -108,10 +115,9 @@ output "project_id" {
|
||||
google_compute_shared_vpc_service_project.shared_vpc_service,
|
||||
google_compute_shared_vpc_service_project.service_projects,
|
||||
google_project_iam_member.shared_vpc_host_robots,
|
||||
google_kms_crypto_key_iam_member.service_identity_cmek,
|
||||
google_project_service_identity.jit_si,
|
||||
google_project_service_identity.servicenetworking,
|
||||
google_project_iam_member.servicenetworking
|
||||
google_kms_crypto_key_iam_member.service_agent_cmek,
|
||||
google_project_service_identity.default,
|
||||
google_project_iam_member.service_agents
|
||||
]
|
||||
}
|
||||
|
||||
@@ -131,19 +137,12 @@ output "quotas" {
|
||||
value = google_cloud_quotas_quota_preference.default
|
||||
}
|
||||
|
||||
output "service_accounts" {
|
||||
description = "Product robot service accounts in project."
|
||||
value = {
|
||||
cloud_services = local.service_account_cloud_services
|
||||
default = local.service_accounts_default
|
||||
robots = local.service_accounts_robots
|
||||
}
|
||||
output "service_agents" {
|
||||
description = "List of all (active) service agents for this project."
|
||||
value = local.aliased_service_agents
|
||||
depends_on = [
|
||||
google_project_service.project_services,
|
||||
google_kms_crypto_key_iam_member.service_identity_cmek,
|
||||
google_project_service_identity.jit_si,
|
||||
data.google_bigquery_default_service_account.bq_sa,
|
||||
data.google_storage_project_service_account.gcs_sa
|
||||
google_project_service_identity.default,
|
||||
google_project_iam_member.service_agents
|
||||
]
|
||||
}
|
||||
|
||||
@@ -152,7 +151,7 @@ output "services" {
|
||||
value = var.services
|
||||
depends_on = [
|
||||
google_project_service.project_services,
|
||||
google_project_service_identity.jit_si,
|
||||
google_project_service_identity.default,
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user