Skip to content

Commit bb7ec93

Browse files
authored
feat: add serviceUsageConsumer to SA for GCFS (#2262)
1 parent 0bc3a14 commit bb7ec93

File tree

10 files changed

+80
-10
lines changed
  • autogen/main
  • modules
    • beta-autopilot-private-cluster
    • beta-autopilot-public-cluster
    • beta-private-cluster-update-variant
    • beta-private-cluster
    • beta-public-cluster-update-variant
    • beta-public-cluster
    • private-cluster-update-variant
    • private-cluster

10 files changed

+80
-10
lines changed

autogen/main/sa.tf.tmpl

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -80,6 +80,13 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8080
role = "roles/artifactregistry.reader"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
83+
84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account {% if autopilot_cluster != true %}&& var.enable_gcfs {% endif %}? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}
8390
{% if beta_cluster %}
8491

8592
resource "google_project_service_identity" "fleet_project" {

modules/beta-autopilot-private-cluster/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -81,6 +81,13 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
8383

84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}
90+
8491
resource "google_project_service_identity" "fleet_project" {
8592
count = var.fleet_project_grant_service_agent ? 1 : 0
8693
provider = google-beta

modules/beta-autopilot-public-cluster/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -81,6 +81,13 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
8383

84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}
90+
8491
resource "google_project_service_identity" "fleet_project" {
8592
count = var.fleet_project_grant_service_agent ? 1 : 0
8693
provider = google-beta

modules/beta-private-cluster-update-variant/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -81,6 +81,13 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
8383

84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account && var.enable_gcfs ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}
90+
8491
resource "google_project_service_identity" "fleet_project" {
8592
count = var.fleet_project_grant_service_agent ? 1 : 0
8693
provider = google-beta

modules/beta-private-cluster/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -81,6 +81,13 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
8383

84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account && var.enable_gcfs ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}
90+
8491
resource "google_project_service_identity" "fleet_project" {
8592
count = var.fleet_project_grant_service_agent ? 1 : 0
8693
provider = google-beta

modules/beta-public-cluster-update-variant/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -81,6 +81,13 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
8383

84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account && var.enable_gcfs ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}
90+
8491
resource "google_project_service_identity" "fleet_project" {
8592
count = var.fleet_project_grant_service_agent ? 1 : 0
8693
provider = google-beta

modules/beta-public-cluster/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -81,6 +81,13 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
8383

84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account && var.enable_gcfs ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}
90+
8491
resource "google_project_service_identity" "fleet_project" {
8592
count = var.fleet_project_grant_service_agent ? 1 : 0
8693
provider = google-beta

modules/private-cluster-update-variant/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -80,3 +80,10 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8080
role = "roles/artifactregistry.reader"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
83+
84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account && var.enable_gcfs ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}

modules/private-cluster/sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -80,3 +80,10 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8080
role = "roles/artifactregistry.reader"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
83+
84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account && var.enable_gcfs ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}

sa.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2022 Google LLC
2+
* Copyright 2022-2025 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -80,3 +80,10 @@ resource "google_project_iam_member" "cluster_service_account_artifact_registry"
8080
role = "roles/artifactregistry.reader"
8181
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
8282
}
83+
84+
resource "google_project_iam_member" "cluster_service_account_service_usage_consumer" {
85+
for_each = var.create_service_account && var.enable_gcfs ? toset(local.registry_projects_list) : []
86+
project = each.key
87+
role = "roles/serviceusage.serviceUsageConsumer"
88+
member = "serviceAccount:${google_service_account.cluster_service_account[0].email}"
89+
}

0 commit comments

Comments
 (0)