1414 * limitations under the License.
1515 */
1616
17- data "google_service_account " "existing_sa " {
18- count = local. create_service_account == false ? 1 : 0
19- account_id = google_cloud_run_v2_service . main . template [ 0 ] . service_account
17+ data "google_compute_default_service_account " "default " {
18+ count = local. create_service_account == false ? 1 : 0
19+ project = var . project_id
2020}
2121
2222locals {
@@ -32,15 +32,21 @@ locals {
3232 create_service_account = var. create_service_account ? var. service_account == null : false
3333
3434 service_account_prefix = substr (" ${ var . service_name } -${ var . location } " , 0 , 27 )
35+
3536 service_account_output = local. create_service_account ? {
3637 id = google_service_account.sa[0 ].account_id,
3738 email = google_service_account.sa[0 ].email,
3839 member = google_service_account.sa[0 ].member
40+ } : var. service_account == null ? {
41+ id = data.google_compute_default_service_account.default[0 ].name,
42+ email = data.google_compute_default_service_account.default[0 ].email,
43+ member = data.google_compute_default_service_account.default[0 ].member
3944 } : {
40- id = data.google_service_account.existing_sa [0 ].account_id ,
41- email = data.google_service_account.existing_sa[ 0 ].email ,
42- member = data.google_service_account.existing_sa[ 0 ].member
45+ id = split ( " @ " , var . service_account ) [0 ],
46+ email = var.service_account ,
47+ member = " serviceAccount: ${ var . service_account } "
4348 }
49+
4450 service_account_project_roles = local. create_service_account ? distinct (concat (
4551 var. service_account_project_roles ,
4652 var. enable_prometheus_sidecar ? [" roles/monitoring.metricWriter" ] : []
0 commit comments