Skip to content

Commit c9074b1

Browse files
hemantadilHemant Adil
andauthored
Adding google_iam_workload_identity_pool_provider to TGC tfplan2cai converter (#15609)
Co-authored-by: Hemant Adil <[email protected]>
1 parent 88ee21c commit c9074b1

File tree

3 files changed

+103
-0
lines changed

3 files changed

+103
-0
lines changed

mmv1/third_party/tgc/resource_converters.go.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ func ResourceConverters() map[string][]cai.ResourceConverter {
253253
"google_organization_iam_custom_role": {resourcemanager.ResourceConverterOrganizationIAMCustomRole()},
254254
"google_vpc_access_connector": {vpcaccess.ResourceConverterVPCAccessConnector()},
255255
"google_logging_metric": {logging.ResourceConverterLoggingMetric()},
256+
"google_iam_workload_identity_pool_provider": {iambeta.ResourceConverterIAMBetaWorkloadIdentityPoolProvider()},
256257
"google_service_account": {resourcemanager.ResourceConverterServiceAccount()},
257258
"google_service_account_key": {resourcemanager.ResourceConverterServiceAccountKey()},
258259

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
[
2+
{
3+
"name": "//iam.googleapis.com/projects/{{.Provider.project}}/locations/global/workloadIdentityPools/gg-asset-44602-7df7/providers/gg-asset-44602-7df7",
4+
"asset_type": "iam.googleapis.com/WorkloadIdentityPoolProvider",
5+
"ancestry_path": "{{.Ancestry}}/project/{{.Provider.project}}",
6+
"resource": {
7+
"version": "v1",
8+
"discovery_document_uri": "https://iam.googleapis.com/$discovery/rest",
9+
"discovery_name": "WorkloadIdentityPoolProvider",
10+
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
11+
"data": {
12+
"aws": {
13+
"accountId": "111111111111"
14+
},
15+
"description": "AWS provider for gg-asset-44602-7df7",
16+
"displayName": "gg-asset-44602-7df7"
17+
}
18+
}
19+
},
20+
{
21+
"name": "//iam.googleapis.com/projects/{{.Provider.project}}/locations/global/workloadIdentityPools/gg-asset-45050-bcd4/providers/gg-asset-45050-bcd4",
22+
"asset_type": "iam.googleapis.com/WorkloadIdentityPoolProvider",
23+
"ancestry_path": "{{.Ancestry}}/project/{{.Provider.project}}",
24+
"resource": {
25+
"version": "v1",
26+
"discovery_document_uri": "https://iam.googleapis.com/$discovery/rest",
27+
"discovery_name": "WorkloadIdentityPoolProvider",
28+
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
29+
"data": {
30+
"attributeCondition": "assertion.repository_owner == 'google'",
31+
"attributeMapping": {
32+
"attribute.actor": "assertion.actor",
33+
"attribute.repository": "assertion.repository",
34+
"google.subject": "assertion.sub"
35+
},
36+
"description": "OIDC provider for gg-asset-45050-bcd4",
37+
"disabled": true,
38+
"displayName": "gg-asset-45050-bcd4",
39+
"oidc": {
40+
"issuerUri": "https://oidc.gg-asset-45050-bcd4.com"
41+
}
42+
}
43+
}
44+
}
45+
]
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
terraform {
2+
required_providers {
3+
google = {
4+
source = "hashicorp/google"
5+
version = ">= 4.54.0"
6+
}
7+
}
8+
}
9+
10+
provider "google" {
11+
project = "{{.Provider.project}}"
12+
}
13+
14+
resource "google_iam_workload_identity_pool" "gg_asset_44602_7df7" {
15+
project = "{{.Provider.project}}"
16+
workload_identity_pool_id = "gg-asset-44602-7df7"
17+
display_name = "gg-asset-44602-7df7"
18+
description = "Workload Identity Pool for gg-asset-44602-7df7"
19+
}
20+
21+
resource "google_iam_workload_identity_pool_provider" "gg_asset_44602_7df7" {
22+
project = "{{.Provider.project}}"
23+
workload_identity_pool_id = google_iam_workload_identity_pool.gg_asset_44602_7df7.workload_identity_pool_id
24+
workload_identity_pool_provider_id = "gg-asset-44602-7df7"
25+
display_name = "gg-asset-44602-7df7"
26+
description = "AWS provider for gg-asset-44602-7df7"
27+
aws {
28+
account_id = "111111111111"
29+
}
30+
}
31+
32+
resource "google_iam_workload_identity_pool" "gg_asset_45050_bcd4" {
33+
project = "{{.Provider.project}}"
34+
workload_identity_pool_id = "gg-asset-45050-bcd4"
35+
display_name = "gg-asset-45050-bcd4"
36+
description = "Workload Identity Pool for gg-asset-45050-bcd4"
37+
disabled = false
38+
}
39+
40+
resource "google_iam_workload_identity_pool_provider" "gg_asset_45050_bcd4" {
41+
project = "{{.Provider.project}}"
42+
workload_identity_pool_id = google_iam_workload_identity_pool.gg_asset_45050_bcd4.workload_identity_pool_id
43+
workload_identity_pool_provider_id = "gg-asset-45050-bcd4"
44+
display_name = "gg-asset-45050-bcd4"
45+
description = "OIDC provider for gg-asset-45050-bcd4"
46+
disabled = true
47+
attribute_mapping = {
48+
"google.subject" = "assertion.sub"
49+
"attribute.actor" = "assertion.actor"
50+
"attribute.repository" = "assertion.repository"
51+
}
52+
attribute_condition = "assertion.repository_owner == 'google'"
53+
54+
oidc {
55+
issuer_uri = "https://oidc.gg-asset-45050-bcd4.com"
56+
}
57+
}

0 commit comments

Comments
 (0)