pulumi-gcp 8.0.0a1726253601__py3-none-any.whl → 8.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/alloydb/_inputs.py +94 -0
- pulumi_gcp/alloydb/cluster.py +94 -1
- pulumi_gcp/alloydb/outputs.py +79 -0
- pulumi_gcp/assuredworkloads/workload.py +135 -16
- pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
- pulumi_gcp/bigquery/_inputs.py +33 -0
- pulumi_gcp/bigquery/data_transfer_config.py +134 -6
- pulumi_gcp/bigquery/outputs.py +36 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
- pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
- pulumi_gcp/bigtable/_inputs.py +21 -1
- pulumi_gcp/bigtable/outputs.py +13 -1
- pulumi_gcp/bigtable/table.py +34 -0
- pulumi_gcp/certificateauthority/authority.py +14 -7
- pulumi_gcp/certificatemanager/__init__.py +1 -0
- pulumi_gcp/certificatemanager/certificate.py +28 -0
- pulumi_gcp/certificatemanager/get_certificates.py +150 -0
- pulumi_gcp/certificatemanager/outputs.py +322 -0
- pulumi_gcp/cloudbuild/_inputs.py +6 -6
- pulumi_gcp/cloudbuild/outputs.py +4 -4
- pulumi_gcp/cloudrun/_inputs.py +6 -12
- pulumi_gcp/cloudrun/outputs.py +8 -16
- pulumi_gcp/cloudrunv2/_inputs.py +72 -15
- pulumi_gcp/cloudrunv2/outputs.py +82 -16
- pulumi_gcp/cloudrunv2/service.py +50 -4
- pulumi_gcp/cloudtasks/_inputs.py +630 -0
- pulumi_gcp/cloudtasks/outputs.py +479 -0
- pulumi_gcp/cloudtasks/queue.py +238 -0
- pulumi_gcp/compute/_inputs.py +129 -9
- pulumi_gcp/compute/get_instance.py +1 -1
- pulumi_gcp/compute/health_check.py +114 -0
- pulumi_gcp/compute/instance.py +86 -4
- pulumi_gcp/compute/instance_template.py +66 -0
- pulumi_gcp/compute/interconnect.py +28 -21
- pulumi_gcp/compute/node_template.py +93 -0
- pulumi_gcp/compute/outputs.py +108 -6
- pulumi_gcp/compute/target_https_proxy.py +28 -0
- pulumi_gcp/container/_inputs.py +140 -3
- pulumi_gcp/container/attached_cluster.py +7 -7
- pulumi_gcp/container/outputs.py +174 -2
- pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
- pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
- pulumi_gcp/databasemigrationservice/outputs.py +109 -87
- pulumi_gcp/dataloss/_inputs.py +353 -1
- pulumi_gcp/dataloss/outputs.py +274 -3
- pulumi_gcp/dataproc/_inputs.py +27 -27
- pulumi_gcp/dataproc/outputs.py +18 -18
- pulumi_gcp/datastream/_inputs.py +69 -1
- pulumi_gcp/datastream/outputs.py +44 -2
- pulumi_gcp/datastream/stream.py +194 -7
- pulumi_gcp/discoveryengine/_inputs.py +188 -0
- pulumi_gcp/discoveryengine/data_store.py +14 -14
- pulumi_gcp/discoveryengine/outputs.py +153 -1
- pulumi_gcp/firebase/database_instance.py +7 -7
- pulumi_gcp/gkehub/_inputs.py +25 -1
- pulumi_gcp/gkehub/feature_membership.py +12 -6
- pulumi_gcp/gkehub/outputs.py +17 -1
- pulumi_gcp/iam/_inputs.py +196 -0
- pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
- pulumi_gcp/iam/outputs.py +295 -0
- pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +10 -2
- pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
- pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
- pulumi_gcp/kms/outputs.py +164 -0
- pulumi_gcp/netapp/active_directory.py +6 -6
- pulumi_gcp/netapp/backup.py +6 -6
- pulumi_gcp/netapp/backup_policy.py +6 -6
- pulumi_gcp/netapp/backup_vault.py +6 -6
- pulumi_gcp/netapp/storage_pool.py +4 -4
- pulumi_gcp/netapp/volume.py +7 -0
- pulumi_gcp/networkconnectivity/_inputs.py +21 -1
- pulumi_gcp/networkconnectivity/outputs.py +15 -1
- pulumi_gcp/networkconnectivity/spoke.py +8 -0
- pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
- pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
- pulumi_gcp/organizations/get_project.py +13 -3
- pulumi_gcp/organizations/project.py +88 -3
- pulumi_gcp/parallelstore/instance.py +121 -121
- pulumi_gcp/projects/iam_member_remove.py +26 -0
- pulumi_gcp/projects/usage_export_bucket.py +38 -0
- pulumi_gcp/pubsub/_inputs.py +40 -0
- pulumi_gcp/pubsub/outputs.py +51 -1
- pulumi_gcp/pubsub/subscription.py +6 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +419 -0
- pulumi_gcp/redis/cluster.py +123 -0
- pulumi_gcp/redis/outputs.py +315 -0
- pulumi_gcp/securitycenter/__init__.py +2 -0
- pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
- pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/RECORD +101 -95
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/top_level.txt +0 -0
@@ -31,7 +31,8 @@ class WorkloadIdentityPoolProviderArgs:
|
|
31
31
|
display_name: Optional[pulumi.Input[str]] = None,
|
32
32
|
oidc: Optional[pulumi.Input['WorkloadIdentityPoolProviderOidcArgs']] = None,
|
33
33
|
project: Optional[pulumi.Input[str]] = None,
|
34
|
-
saml: Optional[pulumi.Input['WorkloadIdentityPoolProviderSamlArgs']] = None
|
34
|
+
saml: Optional[pulumi.Input['WorkloadIdentityPoolProviderSamlArgs']] = None,
|
35
|
+
x509: Optional[pulumi.Input['WorkloadIdentityPoolProviderX509Args']] = None):
|
35
36
|
"""
|
36
37
|
The set of arguments for constructing a WorkloadIdentityPoolProvider resource.
|
37
38
|
:param pulumi.Input[str] workload_identity_pool_id: The ID used for the pool, which is the final component of the pool resource name. This
|
@@ -111,6 +112,9 @@ class WorkloadIdentityPoolProviderArgs:
|
|
111
112
|
If it is not provided, the provider project is used.
|
112
113
|
:param pulumi.Input['WorkloadIdentityPoolProviderSamlArgs'] saml: An SAML 2.0 identity provider. Not compatible with the property oidc or aws.
|
113
114
|
Structure is documented below.
|
115
|
+
:param pulumi.Input['WorkloadIdentityPoolProviderX509Args'] x509: An X.509-type identity provider represents a CA. It is trusted to assert a
|
116
|
+
client identity if the client has a certificate that chains up to this CA.
|
117
|
+
Structure is documented below.
|
114
118
|
"""
|
115
119
|
pulumi.set(__self__, "workload_identity_pool_id", workload_identity_pool_id)
|
116
120
|
pulumi.set(__self__, "workload_identity_pool_provider_id", workload_identity_pool_provider_id)
|
@@ -132,6 +136,8 @@ class WorkloadIdentityPoolProviderArgs:
|
|
132
136
|
pulumi.set(__self__, "project", project)
|
133
137
|
if saml is not None:
|
134
138
|
pulumi.set(__self__, "saml", saml)
|
139
|
+
if x509 is not None:
|
140
|
+
pulumi.set(__self__, "x509", x509)
|
135
141
|
|
136
142
|
@property
|
137
143
|
@pulumi.getter(name="workloadIdentityPoolId")
|
@@ -331,6 +337,20 @@ class WorkloadIdentityPoolProviderArgs:
|
|
331
337
|
def saml(self, value: Optional[pulumi.Input['WorkloadIdentityPoolProviderSamlArgs']]):
|
332
338
|
pulumi.set(self, "saml", value)
|
333
339
|
|
340
|
+
@property
|
341
|
+
@pulumi.getter
|
342
|
+
def x509(self) -> Optional[pulumi.Input['WorkloadIdentityPoolProviderX509Args']]:
|
343
|
+
"""
|
344
|
+
An X.509-type identity provider represents a CA. It is trusted to assert a
|
345
|
+
client identity if the client has a certificate that chains up to this CA.
|
346
|
+
Structure is documented below.
|
347
|
+
"""
|
348
|
+
return pulumi.get(self, "x509")
|
349
|
+
|
350
|
+
@x509.setter
|
351
|
+
def x509(self, value: Optional[pulumi.Input['WorkloadIdentityPoolProviderX509Args']]):
|
352
|
+
pulumi.set(self, "x509", value)
|
353
|
+
|
334
354
|
|
335
355
|
@pulumi.input_type
|
336
356
|
class _WorkloadIdentityPoolProviderState:
|
@@ -347,7 +367,8 @@ class _WorkloadIdentityPoolProviderState:
|
|
347
367
|
saml: Optional[pulumi.Input['WorkloadIdentityPoolProviderSamlArgs']] = None,
|
348
368
|
state: Optional[pulumi.Input[str]] = None,
|
349
369
|
workload_identity_pool_id: Optional[pulumi.Input[str]] = None,
|
350
|
-
workload_identity_pool_provider_id: Optional[pulumi.Input[str]] = None
|
370
|
+
workload_identity_pool_provider_id: Optional[pulumi.Input[str]] = None,
|
371
|
+
x509: Optional[pulumi.Input['WorkloadIdentityPoolProviderX509Args']] = None):
|
351
372
|
"""
|
352
373
|
Input properties used for looking up and filtering WorkloadIdentityPoolProvider resources.
|
353
374
|
:param pulumi.Input[str] attribute_condition: [A Common Expression Language](https://opensource.google/projects/cel) expression, in
|
@@ -436,6 +457,9 @@ class _WorkloadIdentityPoolProviderState:
|
|
436
457
|
|
437
458
|
|
438
459
|
- - -
|
460
|
+
:param pulumi.Input['WorkloadIdentityPoolProviderX509Args'] x509: An X.509-type identity provider represents a CA. It is trusted to assert a
|
461
|
+
client identity if the client has a certificate that chains up to this CA.
|
462
|
+
Structure is documented below.
|
439
463
|
"""
|
440
464
|
if attribute_condition is not None:
|
441
465
|
pulumi.set(__self__, "attribute_condition", attribute_condition)
|
@@ -463,6 +487,8 @@ class _WorkloadIdentityPoolProviderState:
|
|
463
487
|
pulumi.set(__self__, "workload_identity_pool_id", workload_identity_pool_id)
|
464
488
|
if workload_identity_pool_provider_id is not None:
|
465
489
|
pulumi.set(__self__, "workload_identity_pool_provider_id", workload_identity_pool_provider_id)
|
490
|
+
if x509 is not None:
|
491
|
+
pulumi.set(__self__, "x509", x509)
|
466
492
|
|
467
493
|
@property
|
468
494
|
@pulumi.getter(name="attributeCondition")
|
@@ -693,6 +719,20 @@ class _WorkloadIdentityPoolProviderState:
|
|
693
719
|
def workload_identity_pool_provider_id(self, value: Optional[pulumi.Input[str]]):
|
694
720
|
pulumi.set(self, "workload_identity_pool_provider_id", value)
|
695
721
|
|
722
|
+
@property
|
723
|
+
@pulumi.getter
|
724
|
+
def x509(self) -> Optional[pulumi.Input['WorkloadIdentityPoolProviderX509Args']]:
|
725
|
+
"""
|
726
|
+
An X.509-type identity provider represents a CA. It is trusted to assert a
|
727
|
+
client identity if the client has a certificate that chains up to this CA.
|
728
|
+
Structure is documented below.
|
729
|
+
"""
|
730
|
+
return pulumi.get(self, "x509")
|
731
|
+
|
732
|
+
@x509.setter
|
733
|
+
def x509(self, value: Optional[pulumi.Input['WorkloadIdentityPoolProviderX509Args']]):
|
734
|
+
pulumi.set(self, "x509", value)
|
735
|
+
|
696
736
|
|
697
737
|
class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
698
738
|
@overload
|
@@ -710,6 +750,7 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
710
750
|
saml: Optional[pulumi.Input[Union['WorkloadIdentityPoolProviderSamlArgs', 'WorkloadIdentityPoolProviderSamlArgsDict']]] = None,
|
711
751
|
workload_identity_pool_id: Optional[pulumi.Input[str]] = None,
|
712
752
|
workload_identity_pool_provider_id: Optional[pulumi.Input[str]] = None,
|
753
|
+
x509: Optional[pulumi.Input[Union['WorkloadIdentityPoolProviderX509Args', 'WorkloadIdentityPoolProviderX509ArgsDict']]] = None,
|
713
754
|
__props__=None):
|
714
755
|
"""
|
715
756
|
A configuration for an external identity provider.
|
@@ -882,6 +923,56 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
882
923
|
"jwks_json": "{\\"keys\\":[{\\"kty\\":\\"RSA\\",\\"alg\\":\\"RS256\\",\\"kid\\":\\"sif0AR-F6MuvksAyAOv-Pds08Bcf2eUMlxE30NofddA\\",\\"use\\":\\"sig\\",\\"e\\":\\"AQAB\\",\\"n\\":\\"ylH1Chl1tpfti3lh51E1g5dPogzXDaQseqjsefGLknaNl5W6Wd4frBhHyE2t41Q5zgz_Ll0-NvWm0FlaG6brhrN9QZu6sJP1bM8WPfJVPgXOanxi7d7TXCkeNubGeiLTf5R3UXtS9Lm_guemU7MxDjDTelxnlgGCihOVTcL526suNJUdfXtpwUsvdU6_ZnAp9IpsuYjCtwPm9hPumlcZGMbxstdh07O4y4O90cVQClJOKSGQjAUCKJWXIQ0cqffGS_HuS_725CPzQ85SzYZzaNpgfhAER7kx_9P16ARM3BJz0PI5fe2hECE61J4GYU_BY43sxDfs7HyJpEXKLU9eWw\\"}]}",
|
883
924
|
})
|
884
925
|
```
|
926
|
+
### Iam Workload Identity Pool Provider X509 Basic
|
927
|
+
|
928
|
+
```python
|
929
|
+
import pulumi
|
930
|
+
import pulumi_gcp as gcp
|
931
|
+
import pulumi_std as std
|
932
|
+
|
933
|
+
pool = gcp.iam.WorkloadIdentityPool("pool", workload_identity_pool_id="example-pool")
|
934
|
+
example = gcp.iam.WorkloadIdentityPoolProvider("example",
|
935
|
+
workload_identity_pool_id=pool.workload_identity_pool_id,
|
936
|
+
workload_identity_pool_provider_id="example-prvdr",
|
937
|
+
attribute_mapping={
|
938
|
+
"google.subject": "assertion.subject.dn.cn",
|
939
|
+
},
|
940
|
+
x509={
|
941
|
+
"trust_store": {
|
942
|
+
"trust_anchors": [{
|
943
|
+
"pem_certificate": std.file(input="test-fixtures/trust_anchor.pem").result,
|
944
|
+
}],
|
945
|
+
},
|
946
|
+
})
|
947
|
+
```
|
948
|
+
### Iam Workload Identity Pool Provider X509 Full
|
949
|
+
|
950
|
+
```python
|
951
|
+
import pulumi
|
952
|
+
import pulumi_gcp as gcp
|
953
|
+
import pulumi_std as std
|
954
|
+
|
955
|
+
pool = gcp.iam.WorkloadIdentityPool("pool", workload_identity_pool_id="example-pool")
|
956
|
+
example = gcp.iam.WorkloadIdentityPoolProvider("example",
|
957
|
+
workload_identity_pool_id=pool.workload_identity_pool_id,
|
958
|
+
workload_identity_pool_provider_id="example-prvdr",
|
959
|
+
display_name="Name of provider",
|
960
|
+
description="X.509 identity pool provider for automated test",
|
961
|
+
disabled=True,
|
962
|
+
attribute_mapping={
|
963
|
+
"google.subject": "assertion.subject.dn.cn",
|
964
|
+
},
|
965
|
+
x509={
|
966
|
+
"trust_store": {
|
967
|
+
"trust_anchors": [{
|
968
|
+
"pem_certificate": std.file(input="test-fixtures/trust_anchor.pem").result,
|
969
|
+
}],
|
970
|
+
"intermediate_cas": [{
|
971
|
+
"pem_certificate": std.file(input="test-fixtures/intermediate_ca.pem").result,
|
972
|
+
}],
|
973
|
+
},
|
974
|
+
})
|
975
|
+
```
|
885
976
|
|
886
977
|
## Import
|
887
978
|
|
@@ -986,6 +1077,9 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
986
1077
|
|
987
1078
|
|
988
1079
|
- - -
|
1080
|
+
:param pulumi.Input[Union['WorkloadIdentityPoolProviderX509Args', 'WorkloadIdentityPoolProviderX509ArgsDict']] x509: An X.509-type identity provider represents a CA. It is trusted to assert a
|
1081
|
+
client identity if the client has a certificate that chains up to this CA.
|
1082
|
+
Structure is documented below.
|
989
1083
|
"""
|
990
1084
|
...
|
991
1085
|
@overload
|
@@ -1164,6 +1258,56 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
1164
1258
|
"jwks_json": "{\\"keys\\":[{\\"kty\\":\\"RSA\\",\\"alg\\":\\"RS256\\",\\"kid\\":\\"sif0AR-F6MuvksAyAOv-Pds08Bcf2eUMlxE30NofddA\\",\\"use\\":\\"sig\\",\\"e\\":\\"AQAB\\",\\"n\\":\\"ylH1Chl1tpfti3lh51E1g5dPogzXDaQseqjsefGLknaNl5W6Wd4frBhHyE2t41Q5zgz_Ll0-NvWm0FlaG6brhrN9QZu6sJP1bM8WPfJVPgXOanxi7d7TXCkeNubGeiLTf5R3UXtS9Lm_guemU7MxDjDTelxnlgGCihOVTcL526suNJUdfXtpwUsvdU6_ZnAp9IpsuYjCtwPm9hPumlcZGMbxstdh07O4y4O90cVQClJOKSGQjAUCKJWXIQ0cqffGS_HuS_725CPzQ85SzYZzaNpgfhAER7kx_9P16ARM3BJz0PI5fe2hECE61J4GYU_BY43sxDfs7HyJpEXKLU9eWw\\"}]}",
|
1165
1259
|
})
|
1166
1260
|
```
|
1261
|
+
### Iam Workload Identity Pool Provider X509 Basic
|
1262
|
+
|
1263
|
+
```python
|
1264
|
+
import pulumi
|
1265
|
+
import pulumi_gcp as gcp
|
1266
|
+
import pulumi_std as std
|
1267
|
+
|
1268
|
+
pool = gcp.iam.WorkloadIdentityPool("pool", workload_identity_pool_id="example-pool")
|
1269
|
+
example = gcp.iam.WorkloadIdentityPoolProvider("example",
|
1270
|
+
workload_identity_pool_id=pool.workload_identity_pool_id,
|
1271
|
+
workload_identity_pool_provider_id="example-prvdr",
|
1272
|
+
attribute_mapping={
|
1273
|
+
"google.subject": "assertion.subject.dn.cn",
|
1274
|
+
},
|
1275
|
+
x509={
|
1276
|
+
"trust_store": {
|
1277
|
+
"trust_anchors": [{
|
1278
|
+
"pem_certificate": std.file(input="test-fixtures/trust_anchor.pem").result,
|
1279
|
+
}],
|
1280
|
+
},
|
1281
|
+
})
|
1282
|
+
```
|
1283
|
+
### Iam Workload Identity Pool Provider X509 Full
|
1284
|
+
|
1285
|
+
```python
|
1286
|
+
import pulumi
|
1287
|
+
import pulumi_gcp as gcp
|
1288
|
+
import pulumi_std as std
|
1289
|
+
|
1290
|
+
pool = gcp.iam.WorkloadIdentityPool("pool", workload_identity_pool_id="example-pool")
|
1291
|
+
example = gcp.iam.WorkloadIdentityPoolProvider("example",
|
1292
|
+
workload_identity_pool_id=pool.workload_identity_pool_id,
|
1293
|
+
workload_identity_pool_provider_id="example-prvdr",
|
1294
|
+
display_name="Name of provider",
|
1295
|
+
description="X.509 identity pool provider for automated test",
|
1296
|
+
disabled=True,
|
1297
|
+
attribute_mapping={
|
1298
|
+
"google.subject": "assertion.subject.dn.cn",
|
1299
|
+
},
|
1300
|
+
x509={
|
1301
|
+
"trust_store": {
|
1302
|
+
"trust_anchors": [{
|
1303
|
+
"pem_certificate": std.file(input="test-fixtures/trust_anchor.pem").result,
|
1304
|
+
}],
|
1305
|
+
"intermediate_cas": [{
|
1306
|
+
"pem_certificate": std.file(input="test-fixtures/intermediate_ca.pem").result,
|
1307
|
+
}],
|
1308
|
+
},
|
1309
|
+
})
|
1310
|
+
```
|
1167
1311
|
|
1168
1312
|
## Import
|
1169
1313
|
|
@@ -1215,6 +1359,7 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
1215
1359
|
saml: Optional[pulumi.Input[Union['WorkloadIdentityPoolProviderSamlArgs', 'WorkloadIdentityPoolProviderSamlArgsDict']]] = None,
|
1216
1360
|
workload_identity_pool_id: Optional[pulumi.Input[str]] = None,
|
1217
1361
|
workload_identity_pool_provider_id: Optional[pulumi.Input[str]] = None,
|
1362
|
+
x509: Optional[pulumi.Input[Union['WorkloadIdentityPoolProviderX509Args', 'WorkloadIdentityPoolProviderX509ArgsDict']]] = None,
|
1218
1363
|
__props__=None):
|
1219
1364
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1220
1365
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -1239,6 +1384,7 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
1239
1384
|
if workload_identity_pool_provider_id is None and not opts.urn:
|
1240
1385
|
raise TypeError("Missing required property 'workload_identity_pool_provider_id'")
|
1241
1386
|
__props__.__dict__["workload_identity_pool_provider_id"] = workload_identity_pool_provider_id
|
1387
|
+
__props__.__dict__["x509"] = x509
|
1242
1388
|
__props__.__dict__["name"] = None
|
1243
1389
|
__props__.__dict__["state"] = None
|
1244
1390
|
super(WorkloadIdentityPoolProvider, __self__).__init__(
|
@@ -1263,7 +1409,8 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
1263
1409
|
saml: Optional[pulumi.Input[Union['WorkloadIdentityPoolProviderSamlArgs', 'WorkloadIdentityPoolProviderSamlArgsDict']]] = None,
|
1264
1410
|
state: Optional[pulumi.Input[str]] = None,
|
1265
1411
|
workload_identity_pool_id: Optional[pulumi.Input[str]] = None,
|
1266
|
-
workload_identity_pool_provider_id: Optional[pulumi.Input[str]] = None
|
1412
|
+
workload_identity_pool_provider_id: Optional[pulumi.Input[str]] = None,
|
1413
|
+
x509: Optional[pulumi.Input[Union['WorkloadIdentityPoolProviderX509Args', 'WorkloadIdentityPoolProviderX509ArgsDict']]] = None) -> 'WorkloadIdentityPoolProvider':
|
1267
1414
|
"""
|
1268
1415
|
Get an existing WorkloadIdentityPoolProvider resource's state with the given name, id, and optional extra
|
1269
1416
|
properties used to qualify the lookup.
|
@@ -1357,6 +1504,9 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
1357
1504
|
|
1358
1505
|
|
1359
1506
|
- - -
|
1507
|
+
:param pulumi.Input[Union['WorkloadIdentityPoolProviderX509Args', 'WorkloadIdentityPoolProviderX509ArgsDict']] x509: An X.509-type identity provider represents a CA. It is trusted to assert a
|
1508
|
+
client identity if the client has a certificate that chains up to this CA.
|
1509
|
+
Structure is documented below.
|
1360
1510
|
"""
|
1361
1511
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1362
1512
|
|
@@ -1375,6 +1525,7 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
1375
1525
|
__props__.__dict__["state"] = state
|
1376
1526
|
__props__.__dict__["workload_identity_pool_id"] = workload_identity_pool_id
|
1377
1527
|
__props__.__dict__["workload_identity_pool_provider_id"] = workload_identity_pool_provider_id
|
1528
|
+
__props__.__dict__["x509"] = x509
|
1378
1529
|
return WorkloadIdentityPoolProvider(resource_name, opts=opts, __props__=__props__)
|
1379
1530
|
|
1380
1531
|
@property
|
@@ -1554,3 +1705,13 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
|
|
1554
1705
|
"""
|
1555
1706
|
return pulumi.get(self, "workload_identity_pool_provider_id")
|
1556
1707
|
|
1708
|
+
@property
|
1709
|
+
@pulumi.getter
|
1710
|
+
def x509(self) -> pulumi.Output[Optional['outputs.WorkloadIdentityPoolProviderX509']]:
|
1711
|
+
"""
|
1712
|
+
An X.509-type identity provider represents a CA. It is trusted to assert a
|
1713
|
+
client identity if the client has a certificate that chains up to this CA.
|
1714
|
+
Structure is documented below.
|
1715
|
+
"""
|
1716
|
+
return pulumi.get(self, "x509")
|
1717
|
+
|
pulumi_gcp/kms/__init__.py
CHANGED
@@ -16,6 +16,8 @@ from .ekm_connection_iam_binding import *
|
|
16
16
|
from .ekm_connection_iam_member import *
|
17
17
|
from .ekm_connection_iam_policy import *
|
18
18
|
from .get_crypto_key_iam_policy import *
|
19
|
+
from .get_crypto_key_latest_version import *
|
20
|
+
from .get_crypto_key_versions import *
|
19
21
|
from .get_crypto_keys import *
|
20
22
|
from .get_ekm_connection_iam_policy import *
|
21
23
|
from .get_key_ring_iam_policy import *
|
pulumi_gcp/kms/autokey_config.py
CHANGED
@@ -174,9 +174,13 @@ class AutokeyConfig(pulumi.CustomResource):
|
|
174
174
|
wait_srv_acc_permissions = time.index.Sleep("wait_srv_acc_permissions", create_duration=10s,
|
175
175
|
opts = pulumi.ResourceOptions(depends_on=[autokey_project_admin]))
|
176
176
|
example_autokeyconfig = gcp.kms.AutokeyConfig("example-autokeyconfig",
|
177
|
-
folder=autokms_folder.
|
177
|
+
folder=autokms_folder.id,
|
178
178
|
key_project=key_project.project_id.apply(lambda project_id: f"projects/{project_id}"),
|
179
179
|
opts = pulumi.ResourceOptions(depends_on=[wait_srv_acc_permissions]))
|
180
|
+
# Wait delay after setting AutokeyConfig, to prevent diffs on reapply,
|
181
|
+
# because setting the config takes a little to fully propagate.
|
182
|
+
wait_autokey_propagation = time.index.Sleep("wait_autokey_propagation", create_duration=30s,
|
183
|
+
opts = pulumi.ResourceOptions(depends_on=[example_autokeyconfig]))
|
180
184
|
```
|
181
185
|
|
182
186
|
## Import
|
@@ -264,9 +268,13 @@ class AutokeyConfig(pulumi.CustomResource):
|
|
264
268
|
wait_srv_acc_permissions = time.index.Sleep("wait_srv_acc_permissions", create_duration=10s,
|
265
269
|
opts = pulumi.ResourceOptions(depends_on=[autokey_project_admin]))
|
266
270
|
example_autokeyconfig = gcp.kms.AutokeyConfig("example-autokeyconfig",
|
267
|
-
folder=autokms_folder.
|
271
|
+
folder=autokms_folder.id,
|
268
272
|
key_project=key_project.project_id.apply(lambda project_id: f"projects/{project_id}"),
|
269
273
|
opts = pulumi.ResourceOptions(depends_on=[wait_srv_acc_permissions]))
|
274
|
+
# Wait delay after setting AutokeyConfig, to prevent diffs on reapply,
|
275
|
+
# because setting the config takes a little to fully propagate.
|
276
|
+
wait_autokey_propagation = time.index.Sleep("wait_autokey_propagation", create_duration=30s,
|
277
|
+
opts = pulumi.ResourceOptions(depends_on=[example_autokeyconfig]))
|
270
278
|
```
|
271
279
|
|
272
280
|
## Import
|
@@ -0,0 +1,222 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
|
18
|
+
__all__ = [
|
19
|
+
'GetCryptoKeyLatestVersionResult',
|
20
|
+
'AwaitableGetCryptoKeyLatestVersionResult',
|
21
|
+
'get_crypto_key_latest_version',
|
22
|
+
'get_crypto_key_latest_version_output',
|
23
|
+
]
|
24
|
+
|
25
|
+
@pulumi.output_type
|
26
|
+
class GetCryptoKeyLatestVersionResult:
|
27
|
+
"""
|
28
|
+
A collection of values returned by getCryptoKeyLatestVersion.
|
29
|
+
"""
|
30
|
+
def __init__(__self__, algorithm=None, crypto_key=None, filter=None, id=None, name=None, protection_level=None, public_keys=None, state=None, version=None):
|
31
|
+
if algorithm and not isinstance(algorithm, str):
|
32
|
+
raise TypeError("Expected argument 'algorithm' to be a str")
|
33
|
+
pulumi.set(__self__, "algorithm", algorithm)
|
34
|
+
if crypto_key and not isinstance(crypto_key, str):
|
35
|
+
raise TypeError("Expected argument 'crypto_key' to be a str")
|
36
|
+
pulumi.set(__self__, "crypto_key", crypto_key)
|
37
|
+
if filter and not isinstance(filter, str):
|
38
|
+
raise TypeError("Expected argument 'filter' to be a str")
|
39
|
+
pulumi.set(__self__, "filter", filter)
|
40
|
+
if id and not isinstance(id, str):
|
41
|
+
raise TypeError("Expected argument 'id' to be a str")
|
42
|
+
pulumi.set(__self__, "id", id)
|
43
|
+
if name and not isinstance(name, str):
|
44
|
+
raise TypeError("Expected argument 'name' to be a str")
|
45
|
+
pulumi.set(__self__, "name", name)
|
46
|
+
if protection_level and not isinstance(protection_level, str):
|
47
|
+
raise TypeError("Expected argument 'protection_level' to be a str")
|
48
|
+
pulumi.set(__self__, "protection_level", protection_level)
|
49
|
+
if public_keys and not isinstance(public_keys, list):
|
50
|
+
raise TypeError("Expected argument 'public_keys' to be a list")
|
51
|
+
pulumi.set(__self__, "public_keys", public_keys)
|
52
|
+
if state and not isinstance(state, str):
|
53
|
+
raise TypeError("Expected argument 'state' to be a str")
|
54
|
+
pulumi.set(__self__, "state", state)
|
55
|
+
if version and not isinstance(version, int):
|
56
|
+
raise TypeError("Expected argument 'version' to be a int")
|
57
|
+
pulumi.set(__self__, "version", version)
|
58
|
+
|
59
|
+
@property
|
60
|
+
@pulumi.getter
|
61
|
+
def algorithm(self) -> str:
|
62
|
+
"""
|
63
|
+
The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
|
64
|
+
"""
|
65
|
+
return pulumi.get(self, "algorithm")
|
66
|
+
|
67
|
+
@property
|
68
|
+
@pulumi.getter(name="cryptoKey")
|
69
|
+
def crypto_key(self) -> str:
|
70
|
+
return pulumi.get(self, "crypto_key")
|
71
|
+
|
72
|
+
@property
|
73
|
+
@pulumi.getter
|
74
|
+
def filter(self) -> Optional[str]:
|
75
|
+
return pulumi.get(self, "filter")
|
76
|
+
|
77
|
+
@property
|
78
|
+
@pulumi.getter
|
79
|
+
def id(self) -> str:
|
80
|
+
"""
|
81
|
+
The provider-assigned unique ID for this managed resource.
|
82
|
+
"""
|
83
|
+
return pulumi.get(self, "id")
|
84
|
+
|
85
|
+
@property
|
86
|
+
@pulumi.getter
|
87
|
+
def name(self) -> str:
|
88
|
+
return pulumi.get(self, "name")
|
89
|
+
|
90
|
+
@property
|
91
|
+
@pulumi.getter(name="protectionLevel")
|
92
|
+
def protection_level(self) -> str:
|
93
|
+
"""
|
94
|
+
The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. See the [protection_level reference](https://cloud.google.com/kms/docs/reference/rest/v1/ProtectionLevel) for possible outputs.
|
95
|
+
"""
|
96
|
+
return pulumi.get(self, "protection_level")
|
97
|
+
|
98
|
+
@property
|
99
|
+
@pulumi.getter(name="publicKeys")
|
100
|
+
def public_keys(self) -> Sequence['outputs.GetCryptoKeyLatestVersionPublicKeyResult']:
|
101
|
+
"""
|
102
|
+
If the enclosing CryptoKey has purpose `ASYMMETRIC_SIGN` or `ASYMMETRIC_DECRYPT`, this block contains details about the public key associated to this CryptoKeyVersion. Structure is documented below.
|
103
|
+
"""
|
104
|
+
return pulumi.get(self, "public_keys")
|
105
|
+
|
106
|
+
@property
|
107
|
+
@pulumi.getter
|
108
|
+
def state(self) -> str:
|
109
|
+
"""
|
110
|
+
The current state of the latest CryptoKeyVersion. See the [state reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions#CryptoKeyVersion.CryptoKeyVersionState) for possible outputs.
|
111
|
+
"""
|
112
|
+
return pulumi.get(self, "state")
|
113
|
+
|
114
|
+
@property
|
115
|
+
@pulumi.getter
|
116
|
+
def version(self) -> int:
|
117
|
+
return pulumi.get(self, "version")
|
118
|
+
|
119
|
+
|
120
|
+
class AwaitableGetCryptoKeyLatestVersionResult(GetCryptoKeyLatestVersionResult):
|
121
|
+
# pylint: disable=using-constant-test
|
122
|
+
def __await__(self):
|
123
|
+
if False:
|
124
|
+
yield self
|
125
|
+
return GetCryptoKeyLatestVersionResult(
|
126
|
+
algorithm=self.algorithm,
|
127
|
+
crypto_key=self.crypto_key,
|
128
|
+
filter=self.filter,
|
129
|
+
id=self.id,
|
130
|
+
name=self.name,
|
131
|
+
protection_level=self.protection_level,
|
132
|
+
public_keys=self.public_keys,
|
133
|
+
state=self.state,
|
134
|
+
version=self.version)
|
135
|
+
|
136
|
+
|
137
|
+
def get_crypto_key_latest_version(crypto_key: Optional[str] = None,
|
138
|
+
filter: Optional[str] = None,
|
139
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCryptoKeyLatestVersionResult:
|
140
|
+
"""
|
141
|
+
Provides access to the latest Google Cloud Platform KMS CryptoKeyVersion in a CryptoKey. For more information see
|
142
|
+
[the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version)
|
143
|
+
and
|
144
|
+
[API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions).
|
145
|
+
|
146
|
+
## Example Usage
|
147
|
+
|
148
|
+
```python
|
149
|
+
import pulumi
|
150
|
+
import pulumi_gcp as gcp
|
151
|
+
|
152
|
+
my_key_ring = gcp.kms.get_kms_key_ring(name="my-key-ring",
|
153
|
+
location="us-central1")
|
154
|
+
my_crypto_key = gcp.kms.get_kms_crypto_key(name="my-crypto-key",
|
155
|
+
key_ring=my_key_ring.id)
|
156
|
+
my_crypto_key_latest_version = gcp.kms.get_crypto_key_latest_version(crypto_key=my_key["id"])
|
157
|
+
```
|
158
|
+
|
159
|
+
|
160
|
+
:param str crypto_key: The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
|
161
|
+
`kms.CryptoKey` resource/datasource.
|
162
|
+
:param str filter: The filter argument is used to add a filter query parameter that limits which type of cryptoKeyVersion is retrieved as the latest by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
|
163
|
+
|
164
|
+
Example filter values if filtering on state.
|
165
|
+
|
166
|
+
* `"state:ENABLED"` will retrieve the latest cryptoKeyVersion that has the state "ENABLED".
|
167
|
+
|
168
|
+
[See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
|
169
|
+
"""
|
170
|
+
__args__ = dict()
|
171
|
+
__args__['cryptoKey'] = crypto_key
|
172
|
+
__args__['filter'] = filter
|
173
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
174
|
+
__ret__ = pulumi.runtime.invoke('gcp:kms/getCryptoKeyLatestVersion:getCryptoKeyLatestVersion', __args__, opts=opts, typ=GetCryptoKeyLatestVersionResult).value
|
175
|
+
|
176
|
+
return AwaitableGetCryptoKeyLatestVersionResult(
|
177
|
+
algorithm=pulumi.get(__ret__, 'algorithm'),
|
178
|
+
crypto_key=pulumi.get(__ret__, 'crypto_key'),
|
179
|
+
filter=pulumi.get(__ret__, 'filter'),
|
180
|
+
id=pulumi.get(__ret__, 'id'),
|
181
|
+
name=pulumi.get(__ret__, 'name'),
|
182
|
+
protection_level=pulumi.get(__ret__, 'protection_level'),
|
183
|
+
public_keys=pulumi.get(__ret__, 'public_keys'),
|
184
|
+
state=pulumi.get(__ret__, 'state'),
|
185
|
+
version=pulumi.get(__ret__, 'version'))
|
186
|
+
|
187
|
+
|
188
|
+
@_utilities.lift_output_func(get_crypto_key_latest_version)
|
189
|
+
def get_crypto_key_latest_version_output(crypto_key: Optional[pulumi.Input[str]] = None,
|
190
|
+
filter: Optional[pulumi.Input[Optional[str]]] = None,
|
191
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCryptoKeyLatestVersionResult]:
|
192
|
+
"""
|
193
|
+
Provides access to the latest Google Cloud Platform KMS CryptoKeyVersion in a CryptoKey. For more information see
|
194
|
+
[the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version)
|
195
|
+
and
|
196
|
+
[API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions).
|
197
|
+
|
198
|
+
## Example Usage
|
199
|
+
|
200
|
+
```python
|
201
|
+
import pulumi
|
202
|
+
import pulumi_gcp as gcp
|
203
|
+
|
204
|
+
my_key_ring = gcp.kms.get_kms_key_ring(name="my-key-ring",
|
205
|
+
location="us-central1")
|
206
|
+
my_crypto_key = gcp.kms.get_kms_crypto_key(name="my-crypto-key",
|
207
|
+
key_ring=my_key_ring.id)
|
208
|
+
my_crypto_key_latest_version = gcp.kms.get_crypto_key_latest_version(crypto_key=my_key["id"])
|
209
|
+
```
|
210
|
+
|
211
|
+
|
212
|
+
:param str crypto_key: The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
|
213
|
+
`kms.CryptoKey` resource/datasource.
|
214
|
+
:param str filter: The filter argument is used to add a filter query parameter that limits which type of cryptoKeyVersion is retrieved as the latest by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
|
215
|
+
|
216
|
+
Example filter values if filtering on state.
|
217
|
+
|
218
|
+
* `"state:ENABLED"` will retrieve the latest cryptoKeyVersion that has the state "ENABLED".
|
219
|
+
|
220
|
+
[See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
|
221
|
+
"""
|
222
|
+
...
|