pulumi-gcp 7.37.0a1723638212__py3-none-any.whl → 7.38.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.
Files changed (107) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +10 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +32 -8
  4. pulumi_gcp/appengine/flexible_app_version.py +18 -2
  5. pulumi_gcp/appengine/service_network_settings.py +10 -2
  6. pulumi_gcp/appengine/standard_app_version.py +20 -4
  7. pulumi_gcp/applicationintegration/client.py +2 -2
  8. pulumi_gcp/artifactregistry/__init__.py +1 -0
  9. pulumi_gcp/artifactregistry/get_locations.py +167 -0
  10. pulumi_gcp/assuredworkloads/workload.py +14 -14
  11. pulumi_gcp/biglake/database.py +10 -2
  12. pulumi_gcp/biglake/table.py +20 -4
  13. pulumi_gcp/bigquery/connection.py +12 -0
  14. pulumi_gcp/bigquery/job.py +20 -4
  15. pulumi_gcp/cloudbuild/worker_pool.py +5 -5
  16. pulumi_gcp/clouddeploy/_inputs.py +41 -1
  17. pulumi_gcp/clouddeploy/delivery_pipeline.py +19 -19
  18. pulumi_gcp/clouddeploy/outputs.py +29 -1
  19. pulumi_gcp/clouddeploy/target.py +19 -19
  20. pulumi_gcp/cloudfunctions/function.py +42 -42
  21. pulumi_gcp/cloudfunctions/get_function.py +3 -3
  22. pulumi_gcp/cloudfunctionsv2/function.py +2 -0
  23. pulumi_gcp/cloudidentity/__init__.py +1 -0
  24. pulumi_gcp/cloudidentity/get_group_memberships.py +12 -0
  25. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +93 -0
  26. pulumi_gcp/cloudidentity/outputs.py +131 -0
  27. pulumi_gcp/cloudquota/outputs.py +6 -6
  28. pulumi_gcp/composer/get_user_workloads_secret.py +1 -1
  29. pulumi_gcp/composer/user_workloads_secret.py +14 -14
  30. pulumi_gcp/compute/_inputs.py +91 -85
  31. pulumi_gcp/compute/get_instance_serial_port.py +12 -4
  32. pulumi_gcp/compute/get_instance_template.py +1 -1
  33. pulumi_gcp/compute/get_region_instance_template.py +1 -1
  34. pulumi_gcp/compute/instance_template.py +14 -14
  35. pulumi_gcp/compute/outputs.py +93 -83
  36. pulumi_gcp/compute/region_instance_template.py +14 -14
  37. pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
  38. pulumi_gcp/compute/subnetwork.py +82 -0
  39. pulumi_gcp/container/_inputs.py +35 -38
  40. pulumi_gcp/container/attached_cluster.py +14 -7
  41. pulumi_gcp/container/aws_cluster.py +5 -5
  42. pulumi_gcp/container/aws_node_pool.py +5 -5
  43. pulumi_gcp/container/azure_cluster.py +5 -5
  44. pulumi_gcp/container/azure_node_pool.py +5 -5
  45. pulumi_gcp/container/outputs.py +31 -33
  46. pulumi_gcp/databasemigrationservice/_inputs.py +5 -5
  47. pulumi_gcp/databasemigrationservice/outputs.py +3 -3
  48. pulumi_gcp/dataflow/flex_template_job.py +42 -42
  49. pulumi_gcp/dataflow/job.py +42 -42
  50. pulumi_gcp/datafusion/instance.py +10 -2
  51. pulumi_gcp/dataloss/_inputs.py +5 -5
  52. pulumi_gcp/dataloss/outputs.py +3 -3
  53. pulumi_gcp/dataloss/prevention_stored_info_type.py +10 -2
  54. pulumi_gcp/dataplex/asset.py +14 -14
  55. pulumi_gcp/dataplex/lake.py +14 -14
  56. pulumi_gcp/dataplex/zone.py +14 -14
  57. pulumi_gcp/dataproc/_inputs.py +10 -10
  58. pulumi_gcp/dataproc/outputs.py +6 -6
  59. pulumi_gcp/dataproc/workflow_template.py +12 -12
  60. pulumi_gcp/discoveryengine/__init__.py +1 -0
  61. pulumi_gcp/discoveryengine/schema.py +524 -0
  62. pulumi_gcp/dns/_inputs.py +80 -76
  63. pulumi_gcp/dns/outputs.py +56 -52
  64. pulumi_gcp/eventarc/trigger.py +14 -14
  65. pulumi_gcp/firebase/_inputs.py +5 -5
  66. pulumi_gcp/firebase/outputs.py +3 -3
  67. pulumi_gcp/healthcare/dicom_store.py +12 -2
  68. pulumi_gcp/healthcare/fhir_store.py +10 -2
  69. pulumi_gcp/iam/access_boundary_policy.py +10 -2
  70. pulumi_gcp/managedkafka/_inputs.py +6 -6
  71. pulumi_gcp/managedkafka/cluster.py +7 -7
  72. pulumi_gcp/managedkafka/outputs.py +4 -4
  73. pulumi_gcp/managedkafka/topic.py +7 -7
  74. pulumi_gcp/monitoring/get_app_engine_service.py +10 -2
  75. pulumi_gcp/networkconnectivity/_inputs.py +5 -5
  76. pulumi_gcp/networkconnectivity/outputs.py +3 -3
  77. pulumi_gcp/parallelstore/instance.py +215 -15
  78. pulumi_gcp/projects/default_service_accounts.py +7 -7
  79. pulumi_gcp/pubsub/subscription.py +36 -6
  80. pulumi_gcp/pulumi-plugin.json +1 -1
  81. pulumi_gcp/recaptcha/enterprise_key.py +14 -14
  82. pulumi_gcp/securitycenter/__init__.py +2 -0
  83. pulumi_gcp/securitycenter/_inputs.py +186 -0
  84. pulumi_gcp/securitycenter/folder_notification_config.py +486 -0
  85. pulumi_gcp/securitycenter/instance_iam_binding.py +10 -2
  86. pulumi_gcp/securitycenter/instance_iam_member.py +10 -2
  87. pulumi_gcp/securitycenter/instance_iam_policy.py +10 -2
  88. pulumi_gcp/securitycenter/outputs.py +118 -0
  89. pulumi_gcp/securitycenter/v2_folder_notification_config.py +575 -0
  90. pulumi_gcp/serviceaccount/key.py +14 -14
  91. pulumi_gcp/servicenetworking/connection.py +50 -3
  92. pulumi_gcp/sql/_inputs.py +20 -0
  93. pulumi_gcp/sql/outputs.py +36 -0
  94. pulumi_gcp/vertex/__init__.py +1 -0
  95. pulumi_gcp/vertex/_inputs.py +438 -0
  96. pulumi_gcp/vertex/ai_feature_group.py +12 -2
  97. pulumi_gcp/vertex/ai_feature_group_feature.py +12 -2
  98. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +48 -8
  99. pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +1170 -0
  100. pulumi_gcp/vertex/outputs.py +393 -0
  101. pulumi_gcp/workstations/_inputs.py +10 -10
  102. pulumi_gcp/workstations/outputs.py +6 -6
  103. pulumi_gcp/workstations/workstation_config.py +14 -6
  104. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/METADATA +1 -1
  105. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/RECORD +107 -101
  106. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/WHEEL +1 -1
  107. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -4266,6 +4266,14 @@ _utilities.register(
4266
4266
  "gcp:discoveryengine/dataStore:DataStore": "DataStore"
4267
4267
  }
4268
4268
  },
4269
+ {
4270
+ "pkg": "gcp",
4271
+ "mod": "discoveryengine/schema",
4272
+ "fqn": "pulumi_gcp.discoveryengine",
4273
+ "classes": {
4274
+ "gcp:discoveryengine/schema:Schema": "Schema"
4275
+ }
4276
+ },
4269
4277
  {
4270
4278
  "pkg": "gcp",
4271
4279
  "mod": "discoveryengine/searchEngine",
@@ -6994,6 +7002,14 @@ _utilities.register(
6994
7002
  "gcp:securitycenter/folderCustomModule:FolderCustomModule": "FolderCustomModule"
6995
7003
  }
6996
7004
  },
7005
+ {
7006
+ "pkg": "gcp",
7007
+ "mod": "securitycenter/folderNotificationConfig",
7008
+ "fqn": "pulumi_gcp.securitycenter",
7009
+ "classes": {
7010
+ "gcp:securitycenter/folderNotificationConfig:FolderNotificationConfig": "FolderNotificationConfig"
7011
+ }
7012
+ },
6997
7013
  {
6998
7014
  "pkg": "gcp",
6999
7015
  "mod": "securitycenter/instanceIamBinding",
@@ -7130,6 +7146,14 @@ _utilities.register(
7130
7146
  "gcp:securitycenter/v2FolderMuteConfig:V2FolderMuteConfig": "V2FolderMuteConfig"
7131
7147
  }
7132
7148
  },
7149
+ {
7150
+ "pkg": "gcp",
7151
+ "mod": "securitycenter/v2FolderNotificationConfig",
7152
+ "fqn": "pulumi_gcp.securitycenter",
7153
+ "classes": {
7154
+ "gcp:securitycenter/v2FolderNotificationConfig:V2FolderNotificationConfig": "V2FolderNotificationConfig"
7155
+ }
7156
+ },
7133
7157
  {
7134
7158
  "pkg": "gcp",
7135
7159
  "mod": "securitycenter/v2OrganizationMuteConfig",
@@ -7922,6 +7946,14 @@ _utilities.register(
7922
7946
  "gcp:vertex/aiIndexEndpoint:AiIndexEndpoint": "AiIndexEndpoint"
7923
7947
  }
7924
7948
  },
7949
+ {
7950
+ "pkg": "gcp",
7951
+ "mod": "vertex/aiIndexEndpointDeployedIndex",
7952
+ "fqn": "pulumi_gcp.vertex",
7953
+ "classes": {
7954
+ "gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex": "AiIndexEndpointDeployedIndex"
7955
+ }
7956
+ },
7925
7957
  {
7926
7958
  "pkg": "gcp",
7927
7959
  "mod": "vertex/aiMetadataStore",
@@ -132,7 +132,11 @@ class ApplicationUrlDispatchRules(pulumi.CustomResource):
132
132
  },
133
133
  deployment={
134
134
  "zip": {
135
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
135
+ "source_url": pulumi.Output.all(
136
+ bucketName=bucket.name,
137
+ objectName=object.name
138
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
139
+ ,
136
140
  },
137
141
  },
138
142
  env_variables={
@@ -207,7 +211,11 @@ class ApplicationUrlDispatchRules(pulumi.CustomResource):
207
211
  },
208
212
  deployment={
209
213
  "zip": {
210
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
214
+ "source_url": pulumi.Output.all(
215
+ bucketName=bucket.name,
216
+ objectName=object.name
217
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
218
+ ,
211
219
  },
212
220
  },
213
221
  env_variables={
@@ -198,7 +198,11 @@ class EngineSplitTraffic(pulumi.CustomResource):
198
198
  },
199
199
  deployment={
200
200
  "zip": {
201
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
201
+ "source_url": pulumi.Output.all(
202
+ bucketName=bucket.name,
203
+ objectName=object.name
204
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
205
+ ,
202
206
  },
203
207
  },
204
208
  env_variables={
@@ -214,7 +218,11 @@ class EngineSplitTraffic(pulumi.CustomResource):
214
218
  },
215
219
  deployment={
216
220
  "zip": {
217
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
221
+ "source_url": pulumi.Output.all(
222
+ bucketName=bucket.name,
223
+ objectName=object.name
224
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
225
+ ,
218
226
  },
219
227
  },
220
228
  env_variables={
@@ -225,10 +233,14 @@ class EngineSplitTraffic(pulumi.CustomResource):
225
233
  migrate_traffic=False,
226
234
  split={
227
235
  "shard_by": "IP",
228
- "allocations": pulumi.Output.all(liveapp_v1.version_id, liveapp_v2.version_id).apply(lambda liveappV1Version_id, liveappV2Version_id: {
236
+ "allocations": pulumi.Output.all(
237
+ liveappV1Version_id=liveapp_v1.version_id,
238
+ liveappV2Version_id=liveapp_v2.version_id
239
+ ).apply(lambda resolved_outputs: {
229
240
  "": 0.75,
230
241
  "": 0.25,
231
- }),
242
+ })
243
+ ,
232
244
  })
233
245
  ```
234
246
 
@@ -301,7 +313,11 @@ class EngineSplitTraffic(pulumi.CustomResource):
301
313
  },
302
314
  deployment={
303
315
  "zip": {
304
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
316
+ "source_url": pulumi.Output.all(
317
+ bucketName=bucket.name,
318
+ objectName=object.name
319
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
320
+ ,
305
321
  },
306
322
  },
307
323
  env_variables={
@@ -317,7 +333,11 @@ class EngineSplitTraffic(pulumi.CustomResource):
317
333
  },
318
334
  deployment={
319
335
  "zip": {
320
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
336
+ "source_url": pulumi.Output.all(
337
+ bucketName=bucket.name,
338
+ objectName=object.name
339
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
340
+ ,
321
341
  },
322
342
  },
323
343
  env_variables={
@@ -328,10 +348,14 @@ class EngineSplitTraffic(pulumi.CustomResource):
328
348
  migrate_traffic=False,
329
349
  split={
330
350
  "shard_by": "IP",
331
- "allocations": pulumi.Output.all(liveapp_v1.version_id, liveapp_v2.version_id).apply(lambda liveappV1Version_id, liveappV2Version_id: {
351
+ "allocations": pulumi.Output.all(
352
+ liveappV1Version_id=liveapp_v1.version_id,
353
+ liveappV2Version_id=liveapp_v2.version_id
354
+ ).apply(lambda resolved_outputs: {
332
355
  "": 0.75,
333
356
  "": 0.25,
334
- }),
357
+ })
358
+ ,
335
359
  })
336
360
  ```
337
361
 
@@ -1146,12 +1146,20 @@ class FlexibleAppVersion(pulumi.CustomResource):
1146
1146
  project=gae_api.project,
1147
1147
  service="default",
1148
1148
  runtime="nodejs",
1149
+ flexible_runtime_settings={
1150
+ "operating_system": "ubuntu22",
1151
+ "runtime_version": "20",
1152
+ },
1149
1153
  entrypoint={
1150
1154
  "shell": "node ./app.js",
1151
1155
  },
1152
1156
  deployment={
1153
1157
  "zip": {
1154
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
1158
+ "source_url": pulumi.Output.all(
1159
+ bucketName=bucket.name,
1160
+ objectName=object.name
1161
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
1162
+ ,
1155
1163
  },
1156
1164
  },
1157
1165
  liveness_check={
@@ -1322,12 +1330,20 @@ class FlexibleAppVersion(pulumi.CustomResource):
1322
1330
  project=gae_api.project,
1323
1331
  service="default",
1324
1332
  runtime="nodejs",
1333
+ flexible_runtime_settings={
1334
+ "operating_system": "ubuntu22",
1335
+ "runtime_version": "20",
1336
+ },
1325
1337
  entrypoint={
1326
1338
  "shell": "node ./app.js",
1327
1339
  },
1328
1340
  deployment={
1329
1341
  "zip": {
1330
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
1342
+ "source_url": pulumi.Output.all(
1343
+ bucketName=bucket.name,
1344
+ objectName=object.name
1345
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
1346
+ ,
1331
1347
  },
1332
1348
  },
1333
1349
  liveness_check={
@@ -165,7 +165,11 @@ class ServiceNetworkSettings(pulumi.CustomResource):
165
165
  },
166
166
  deployment={
167
167
  "zip": {
168
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
168
+ "source_url": pulumi.Output.all(
169
+ bucketName=bucket.name,
170
+ objectName=object.name
171
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
172
+ ,
169
173
  },
170
174
  },
171
175
  env_variables={
@@ -246,7 +250,11 @@ class ServiceNetworkSettings(pulumi.CustomResource):
246
250
  },
247
251
  deployment={
248
252
  "zip": {
249
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
253
+ "source_url": pulumi.Output.all(
254
+ bucketName=bucket.name,
255
+ objectName=object.name
256
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
257
+ ,
250
258
  },
251
259
  },
252
260
  env_variables={
@@ -840,7 +840,11 @@ class StandardAppVersion(pulumi.CustomResource):
840
840
  },
841
841
  deployment={
842
842
  "zip": {
843
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
843
+ "source_url": pulumi.Output.all(
844
+ bucketName=bucket.name,
845
+ objectName=object.name
846
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
847
+ ,
844
848
  },
845
849
  },
846
850
  env_variables={
@@ -871,7 +875,11 @@ class StandardAppVersion(pulumi.CustomResource):
871
875
  },
872
876
  deployment={
873
877
  "zip": {
874
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
878
+ "source_url": pulumi.Output.all(
879
+ bucketName=bucket.name,
880
+ objectName=object.name
881
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
882
+ ,
875
883
  },
876
884
  },
877
885
  env_variables={
@@ -998,7 +1006,11 @@ class StandardAppVersion(pulumi.CustomResource):
998
1006
  },
999
1007
  deployment={
1000
1008
  "zip": {
1001
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
1009
+ "source_url": pulumi.Output.all(
1010
+ bucketName=bucket.name,
1011
+ objectName=object.name
1012
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
1013
+ ,
1002
1014
  },
1003
1015
  },
1004
1016
  env_variables={
@@ -1029,7 +1041,11 @@ class StandardAppVersion(pulumi.CustomResource):
1029
1041
  },
1030
1042
  deployment={
1031
1043
  "zip": {
1032
- "source_url": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
1044
+ "source_url": pulumi.Output.all(
1045
+ bucketName=bucket.name,
1046
+ objectName=object.name
1047
+ ).apply(lambda resolved_outputs: f"https://storage.googleapis.com/{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
1048
+ ,
1033
1049
  },
1034
1050
  },
1035
1051
  env_variables={
@@ -366,7 +366,7 @@ class Client(pulumi.CustomResource):
366
366
  rotation_period="7776000s")
367
367
  test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
368
368
  service_account = gcp.serviceaccount.Account("service_account",
369
- account_id="my-service-acc",
369
+ account_id="service-acc",
370
370
  display_name="Service Account")
371
371
  example = gcp.applicationintegration.Client("example",
372
372
  location="us-east1",
@@ -468,7 +468,7 @@ class Client(pulumi.CustomResource):
468
468
  rotation_period="7776000s")
469
469
  test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
470
470
  service_account = gcp.serviceaccount.Account("service_account",
471
- account_id="my-service-acc",
471
+ account_id="service-acc",
472
472
  display_name="Service Account")
473
473
  example = gcp.applicationintegration.Client("example",
474
474
  location="us-east1",
@@ -6,6 +6,7 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .get_docker_image import *
9
+ from .get_locations import *
9
10
  from .get_repository import *
10
11
  from .get_repository_iam_policy import *
11
12
  from .repository import *
@@ -0,0 +1,167 @@
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
+
17
+ __all__ = [
18
+ 'GetLocationsResult',
19
+ 'AwaitableGetLocationsResult',
20
+ 'get_locations',
21
+ 'get_locations_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetLocationsResult:
26
+ """
27
+ A collection of values returned by getLocations.
28
+ """
29
+ def __init__(__self__, id=None, locations=None, project=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if locations and not isinstance(locations, list):
34
+ raise TypeError("Expected argument 'locations' to be a list")
35
+ pulumi.set(__self__, "locations", locations)
36
+ if project and not isinstance(project, str):
37
+ raise TypeError("Expected argument 'project' to be a str")
38
+ pulumi.set(__self__, "project", project)
39
+
40
+ @property
41
+ @pulumi.getter
42
+ def id(self) -> str:
43
+ """
44
+ The provider-assigned unique ID for this managed resource.
45
+ """
46
+ return pulumi.get(self, "id")
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def locations(self) -> Sequence[str]:
51
+ """
52
+ The list of Artifact Registry locations available for the given project.
53
+ """
54
+ return pulumi.get(self, "locations")
55
+
56
+ @property
57
+ @pulumi.getter
58
+ def project(self) -> str:
59
+ return pulumi.get(self, "project")
60
+
61
+
62
+ class AwaitableGetLocationsResult(GetLocationsResult):
63
+ # pylint: disable=using-constant-test
64
+ def __await__(self):
65
+ if False:
66
+ yield self
67
+ return GetLocationsResult(
68
+ id=self.id,
69
+ locations=self.locations,
70
+ project=self.project)
71
+
72
+
73
+ def get_locations(project: Optional[str] = None,
74
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLocationsResult:
75
+ """
76
+ Get Artifact Registry locations available for a project.
77
+
78
+ To get more information about Artifact Registry, see:
79
+
80
+ * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list)
81
+ * How-to Guides
82
+ * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
83
+
84
+ ## Example Usage
85
+
86
+ ```python
87
+ import pulumi
88
+ import pulumi_gcp as gcp
89
+
90
+ available = gcp.artifactregistry.get_locations()
91
+ ```
92
+
93
+ ### Multi-Regional Artifact Registry Deployment
94
+
95
+ ```python
96
+ import pulumi
97
+ import pulumi_gcp as gcp
98
+
99
+ available = gcp.artifactregistry.get_locations()
100
+ repo_one = gcp.artifactregistry.Repository("repo_one",
101
+ location=available.locations[0],
102
+ repository_id="repo-one",
103
+ format="apt")
104
+ repo_two = gcp.artifactregistry.Repository("repo_two",
105
+ location=available.locations[1],
106
+ repository_id="repo-two",
107
+ format="apt")
108
+ ```
109
+
110
+
111
+ :param str project: The project to list versions for. If it
112
+ is not provided, the provider project is used.
113
+ """
114
+ __args__ = dict()
115
+ __args__['project'] = project
116
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
117
+ __ret__ = pulumi.runtime.invoke('gcp:artifactregistry/getLocations:getLocations', __args__, opts=opts, typ=GetLocationsResult).value
118
+
119
+ return AwaitableGetLocationsResult(
120
+ id=pulumi.get(__ret__, 'id'),
121
+ locations=pulumi.get(__ret__, 'locations'),
122
+ project=pulumi.get(__ret__, 'project'))
123
+
124
+
125
+ @_utilities.lift_output_func(get_locations)
126
+ def get_locations_output(project: Optional[pulumi.Input[Optional[str]]] = None,
127
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocationsResult]:
128
+ """
129
+ Get Artifact Registry locations available for a project.
130
+
131
+ To get more information about Artifact Registry, see:
132
+
133
+ * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list)
134
+ * How-to Guides
135
+ * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
136
+
137
+ ## Example Usage
138
+
139
+ ```python
140
+ import pulumi
141
+ import pulumi_gcp as gcp
142
+
143
+ available = gcp.artifactregistry.get_locations()
144
+ ```
145
+
146
+ ### Multi-Regional Artifact Registry Deployment
147
+
148
+ ```python
149
+ import pulumi
150
+ import pulumi_gcp as gcp
151
+
152
+ available = gcp.artifactregistry.get_locations()
153
+ repo_one = gcp.artifactregistry.Repository("repo_one",
154
+ location=available.locations[0],
155
+ repository_id="repo-one",
156
+ format="apt")
157
+ repo_two = gcp.artifactregistry.Repository("repo_two",
158
+ location=available.locations[1],
159
+ repository_id="repo-two",
160
+ format="apt")
161
+ ```
162
+
163
+
164
+ :param str project: The project to list versions for. If it
165
+ is not provided, the provider project is used.
166
+ """
167
+ ...
@@ -253,7 +253,7 @@ class _WorkloadState:
253
253
  compliant_but_disallowed_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
254
254
  create_time: Optional[pulumi.Input[str]] = None,
255
255
  display_name: Optional[pulumi.Input[str]] = None,
256
- effective_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
256
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
257
257
  ekm_provisioning_responses: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadEkmProvisioningResponseArgs']]]] = None,
258
258
  enable_sovereign_controls: Optional[pulumi.Input[bool]] = None,
259
259
  kaj_enrollment_state: Optional[pulumi.Input[str]] = None,
@@ -265,7 +265,7 @@ class _WorkloadState:
265
265
  partner: Optional[pulumi.Input[str]] = None,
266
266
  partner_permissions: Optional[pulumi.Input['WorkloadPartnerPermissionsArgs']] = None,
267
267
  provisioned_resources_parent: Optional[pulumi.Input[str]] = None,
268
- pulumi_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
268
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
269
269
  resource_settings: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadResourceSettingArgs']]]] = None,
270
270
  resources: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadResourceArgs']]]] = None,
271
271
  saa_enrollment_responses: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadSaaEnrollmentResponseArgs']]]] = None,
@@ -278,7 +278,7 @@ class _WorkloadState:
278
278
  :param pulumi.Input[Sequence[pulumi.Input[str]]] compliant_but_disallowed_services: Output only. Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke workloads.restrictAllowedResources endpoint to allow your project developers to use these services in their environment.
279
279
  :param pulumi.Input[str] create_time: Output only. Immutable. The Workload creation timestamp.
280
280
  :param pulumi.Input[str] display_name: Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
281
- :param pulumi.Input[Mapping[str, Any]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
281
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
282
282
  :param pulumi.Input[Sequence[pulumi.Input['WorkloadEkmProvisioningResponseArgs']]] ekm_provisioning_responses: Optional. Represents the Ekm Provisioning State of the given workload.
283
283
  :param pulumi.Input[bool] enable_sovereign_controls: Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
284
284
  :param pulumi.Input[str] kaj_enrollment_state: Output only. Represents the KAJ enrollment state of the given workload. Possible values: KAJ_ENROLLMENT_STATE_UNSPECIFIED, KAJ_ENROLLMENT_STATE_PENDING, KAJ_ENROLLMENT_STATE_COMPLETE
@@ -297,7 +297,7 @@ class _WorkloadState:
297
297
  :param pulumi.Input[str] partner: Optional. Partner regime associated with this workload. Possible values: PARTNER_UNSPECIFIED, LOCAL_CONTROLS_BY_S3NS, SOVEREIGN_CONTROLS_BY_T_SYSTEMS, SOVEREIGN_CONTROLS_BY_SIA_MINSAIT, SOVEREIGN_CONTROLS_BY_PSN
298
298
  :param pulumi.Input['WorkloadPartnerPermissionsArgs'] partner_permissions: Optional. Permissions granted to the AW Partner SA account for the customer workload
299
299
  :param pulumi.Input[str] provisioned_resources_parent: Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id}
300
- :param pulumi.Input[Mapping[str, Any]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
300
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
301
301
  :param pulumi.Input[Sequence[pulumi.Input['WorkloadResourceSettingArgs']]] resource_settings: Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
302
302
  :param pulumi.Input[Sequence[pulumi.Input['WorkloadResourceArgs']]] resources: Output only. The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only.
303
303
  :param pulumi.Input[Sequence[pulumi.Input['WorkloadSaaEnrollmentResponseArgs']]] saa_enrollment_responses: Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during workloads.get call. In failure cases, user friendly error message is shown in SAA details page.
@@ -424,14 +424,14 @@ class _WorkloadState:
424
424
 
425
425
  @property
426
426
  @pulumi.getter(name="effectiveLabels")
427
- def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
427
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
428
428
  """
429
429
  All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
430
430
  """
431
431
  return pulumi.get(self, "effective_labels")
432
432
 
433
433
  @effective_labels.setter
434
- def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
434
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
435
435
  pulumi.set(self, "effective_labels", value)
436
436
 
437
437
  @property
@@ -575,14 +575,14 @@ class _WorkloadState:
575
575
 
576
576
  @property
577
577
  @pulumi.getter(name="pulumiLabels")
578
- def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
578
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
579
579
  """
580
580
  The combination of labels configured directly on the resource and default labels configured on the provider.
581
581
  """
582
582
  return pulumi.get(self, "pulumi_labels")
583
583
 
584
584
  @pulumi_labels.setter
585
- def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
585
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
586
586
  pulumi.set(self, "pulumi_labels", value)
587
587
 
588
588
  @property
@@ -952,7 +952,7 @@ class Workload(pulumi.CustomResource):
952
952
  compliant_but_disallowed_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
953
953
  create_time: Optional[pulumi.Input[str]] = None,
954
954
  display_name: Optional[pulumi.Input[str]] = None,
955
- effective_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
955
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
956
956
  ekm_provisioning_responses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadEkmProvisioningResponseArgs', 'WorkloadEkmProvisioningResponseArgsDict']]]]] = None,
957
957
  enable_sovereign_controls: Optional[pulumi.Input[bool]] = None,
958
958
  kaj_enrollment_state: Optional[pulumi.Input[str]] = None,
@@ -964,7 +964,7 @@ class Workload(pulumi.CustomResource):
964
964
  partner: Optional[pulumi.Input[str]] = None,
965
965
  partner_permissions: Optional[pulumi.Input[Union['WorkloadPartnerPermissionsArgs', 'WorkloadPartnerPermissionsArgsDict']]] = None,
966
966
  provisioned_resources_parent: Optional[pulumi.Input[str]] = None,
967
- pulumi_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
967
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
968
968
  resource_settings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadResourceSettingArgs', 'WorkloadResourceSettingArgsDict']]]]] = None,
969
969
  resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadResourceArgs', 'WorkloadResourceArgsDict']]]]] = None,
970
970
  saa_enrollment_responses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadSaaEnrollmentResponseArgs', 'WorkloadSaaEnrollmentResponseArgsDict']]]]] = None,
@@ -982,7 +982,7 @@ class Workload(pulumi.CustomResource):
982
982
  :param pulumi.Input[Sequence[pulumi.Input[str]]] compliant_but_disallowed_services: Output only. Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke workloads.restrictAllowedResources endpoint to allow your project developers to use these services in their environment.
983
983
  :param pulumi.Input[str] create_time: Output only. Immutable. The Workload creation timestamp.
984
984
  :param pulumi.Input[str] display_name: Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
985
- :param pulumi.Input[Mapping[str, Any]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
985
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
986
986
  :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadEkmProvisioningResponseArgs', 'WorkloadEkmProvisioningResponseArgsDict']]]] ekm_provisioning_responses: Optional. Represents the Ekm Provisioning State of the given workload.
987
987
  :param pulumi.Input[bool] enable_sovereign_controls: Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
988
988
  :param pulumi.Input[str] kaj_enrollment_state: Output only. Represents the KAJ enrollment state of the given workload. Possible values: KAJ_ENROLLMENT_STATE_UNSPECIFIED, KAJ_ENROLLMENT_STATE_PENDING, KAJ_ENROLLMENT_STATE_COMPLETE
@@ -1001,7 +1001,7 @@ class Workload(pulumi.CustomResource):
1001
1001
  :param pulumi.Input[str] partner: Optional. Partner regime associated with this workload. Possible values: PARTNER_UNSPECIFIED, LOCAL_CONTROLS_BY_S3NS, SOVEREIGN_CONTROLS_BY_T_SYSTEMS, SOVEREIGN_CONTROLS_BY_SIA_MINSAIT, SOVEREIGN_CONTROLS_BY_PSN
1002
1002
  :param pulumi.Input[Union['WorkloadPartnerPermissionsArgs', 'WorkloadPartnerPermissionsArgsDict']] partner_permissions: Optional. Permissions granted to the AW Partner SA account for the customer workload
1003
1003
  :param pulumi.Input[str] provisioned_resources_parent: Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id}
1004
- :param pulumi.Input[Mapping[str, Any]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1004
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1005
1005
  :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadResourceSettingArgs', 'WorkloadResourceSettingArgsDict']]]] resource_settings: Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
1006
1006
  :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadResourceArgs', 'WorkloadResourceArgsDict']]]] resources: Output only. The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only.
1007
1007
  :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadSaaEnrollmentResponseArgs', 'WorkloadSaaEnrollmentResponseArgsDict']]]] saa_enrollment_responses: Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during workloads.get call. In failure cases, user friendly error message is shown in SAA details page.
@@ -1086,7 +1086,7 @@ class Workload(pulumi.CustomResource):
1086
1086
 
1087
1087
  @property
1088
1088
  @pulumi.getter(name="effectiveLabels")
1089
- def effective_labels(self) -> pulumi.Output[Mapping[str, Any]]:
1089
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
1090
1090
  """
1091
1091
  All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1092
1092
  """
@@ -1189,7 +1189,7 @@ class Workload(pulumi.CustomResource):
1189
1189
 
1190
1190
  @property
1191
1191
  @pulumi.getter(name="pulumiLabels")
1192
- def pulumi_labels(self) -> pulumi.Output[Mapping[str, Any]]:
1192
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1193
1193
  """
1194
1194
  The combination of labels configured directly on the resource and default labels configured on the provider.
1195
1195
  """
@@ -295,7 +295,11 @@ class Database(pulumi.CustomResource):
295
295
  catalog=catalog.id,
296
296
  type="HIVE",
297
297
  hive_options={
298
- "location_uri": pulumi.Output.all(bucket.name, metadata_folder.name).apply(lambda bucketName, metadataFolderName: f"gs://{bucket_name}/{metadata_folder_name}"),
298
+ "location_uri": pulumi.Output.all(
299
+ bucketName=bucket.name,
300
+ metadataFolderName=metadata_folder.name
301
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['metadataFolderName']}")
302
+ ,
299
303
  "parameters": {
300
304
  "owner": "John Doe",
301
305
  },
@@ -362,7 +366,11 @@ class Database(pulumi.CustomResource):
362
366
  catalog=catalog.id,
363
367
  type="HIVE",
364
368
  hive_options={
365
- "location_uri": pulumi.Output.all(bucket.name, metadata_folder.name).apply(lambda bucketName, metadataFolderName: f"gs://{bucket_name}/{metadata_folder_name}"),
369
+ "location_uri": pulumi.Output.all(
370
+ bucketName=bucket.name,
371
+ metadataFolderName=metadata_folder.name
372
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['metadataFolderName']}")
373
+ ,
366
374
  "parameters": {
367
375
  "owner": "John Doe",
368
376
  },