pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.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 (124) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/_inputs.py +93 -1
  3. pulumi_gcp/alloydb/outputs.py +128 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  6. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  7. pulumi_gcp/bigquery/_inputs.py +20 -0
  8. pulumi_gcp/bigquery/outputs.py +12 -0
  9. pulumi_gcp/bigquery/table.py +61 -0
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/certificatemanager/certificate.py +53 -7
  12. pulumi_gcp/certificatemanager/outputs.py +8 -2
  13. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  14. pulumi_gcp/clouddeploy/outputs.py +15 -1
  15. pulumi_gcp/cloudfunctions/function.py +11 -11
  16. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  17. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  18. pulumi_gcp/cloudidentity/outputs.py +18 -38
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +600 -17
  21. pulumi_gcp/compute/backend_service.py +195 -7
  22. pulumi_gcp/compute/disk.py +108 -0
  23. pulumi_gcp/compute/firewall_policy.py +20 -0
  24. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  25. pulumi_gcp/compute/get_backend_service.py +12 -1
  26. pulumi_gcp/compute/get_disk.py +23 -1
  27. pulumi_gcp/compute/get_region_disk.py +23 -1
  28. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  29. pulumi_gcp/compute/outputs.py +623 -23
  30. pulumi_gcp/compute/region_backend_service.py +193 -7
  31. pulumi_gcp/compute/region_disk.py +114 -0
  32. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  33. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  34. pulumi_gcp/compute/subnetwork.py +256 -1
  35. pulumi_gcp/compute/target_https_proxy.py +7 -7
  36. pulumi_gcp/config/__init__.pyi +2 -0
  37. pulumi_gcp/config/vars.py +4 -0
  38. pulumi_gcp/container/_inputs.py +6 -6
  39. pulumi_gcp/container/get_attached_versions.py +2 -2
  40. pulumi_gcp/container/outputs.py +8 -8
  41. pulumi_gcp/dataform/repository.py +49 -0
  42. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  43. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  44. pulumi_gcp/dataproc/metastore_service.py +58 -2
  45. pulumi_gcp/datastream/_inputs.py +273 -0
  46. pulumi_gcp/datastream/connection_profile.py +54 -2
  47. pulumi_gcp/datastream/outputs.py +224 -0
  48. pulumi_gcp/eventarc/__init__.py +2 -0
  49. pulumi_gcp/eventarc/_inputs.py +1798 -0
  50. pulumi_gcp/eventarc/channel.py +85 -93
  51. pulumi_gcp/eventarc/google_api_source.py +997 -0
  52. pulumi_gcp/eventarc/outputs.py +1378 -0
  53. pulumi_gcp/eventarc/pipeline.py +1596 -0
  54. pulumi_gcp/firebase/__init__.py +1 -0
  55. pulumi_gcp/firebase/_inputs.py +154 -0
  56. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  57. pulumi_gcp/firebase/data_connect_service.py +40 -2
  58. pulumi_gcp/firebase/hosting_version.py +2 -2
  59. pulumi_gcp/firebase/outputs.py +127 -0
  60. pulumi_gcp/iam/__init__.py +2 -0
  61. pulumi_gcp/iam/_inputs.py +51 -18
  62. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  63. pulumi_gcp/iam/oauth_client.py +979 -0
  64. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  65. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  66. pulumi_gcp/iam/outputs.py +34 -12
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  68. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  69. pulumi_gcp/kms/crypto_key_version.py +14 -7
  70. pulumi_gcp/kms/get_key_rings.py +39 -2
  71. pulumi_gcp/managedkafka/__init__.py +2 -0
  72. pulumi_gcp/managedkafka/_inputs.py +263 -0
  73. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  74. pulumi_gcp/managedkafka/connector.py +695 -0
  75. pulumi_gcp/managedkafka/outputs.py +248 -0
  76. pulumi_gcp/memorystore/instance.py +7 -7
  77. pulumi_gcp/monitoring/_inputs.py +15 -18
  78. pulumi_gcp/monitoring/alert_policy.py +46 -0
  79. pulumi_gcp/monitoring/outputs.py +10 -12
  80. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  81. pulumi_gcp/networksecurity/__init__.py +1 -0
  82. pulumi_gcp/networksecurity/_inputs.py +673 -18
  83. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  84. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  85. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  86. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  87. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  88. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  89. pulumi_gcp/networksecurity/mirroring_deployment.py +200 -94
  90. pulumi_gcp/networksecurity/mirroring_deployment_group.py +181 -77
  91. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +185 -80
  92. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +165 -105
  93. pulumi_gcp/networksecurity/outputs.py +495 -12
  94. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  95. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  96. pulumi_gcp/networkservices/gateway.py +242 -120
  97. pulumi_gcp/networkservices/grpc_route.py +12 -0
  98. pulumi_gcp/networkservices/http_route.py +16 -0
  99. pulumi_gcp/networkservices/mesh.py +16 -0
  100. pulumi_gcp/networkservices/service_binding.py +14 -0
  101. pulumi_gcp/networkservices/tcp_route.py +16 -0
  102. pulumi_gcp/networkservices/tls_route.py +12 -0
  103. pulumi_gcp/projects/__init__.py +2 -0
  104. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  105. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  106. pulumi_gcp/projects/outputs.py +96 -0
  107. pulumi_gcp/provider.py +20 -0
  108. pulumi_gcp/pulumi-plugin.json +1 -1
  109. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  110. pulumi_gcp/sql/outputs.py +8 -8
  111. pulumi_gcp/storage/_inputs.py +14 -6
  112. pulumi_gcp/storage/insights_report_config.py +121 -20
  113. pulumi_gcp/storage/outputs.py +7 -4
  114. pulumi_gcp/tpu/_inputs.py +21 -1
  115. pulumi_gcp/tpu/outputs.py +13 -1
  116. pulumi_gcp/tpu/v2_vm.py +2 -0
  117. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  118. pulumi_gcp/vmwareengine/outputs.py +8 -0
  119. pulumi_gcp/workflows/workflow.py +75 -7
  120. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  121. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
  122. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +124 -113
  123. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
  124. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/tpu/outputs.py CHANGED
@@ -666,15 +666,19 @@ class V2VmNetworkEndpointAccessConfig(dict):
666
666
  class V2VmSchedulingConfig(dict):
667
667
  def __init__(__self__, *,
668
668
  preemptible: Optional[bool] = None,
669
- reserved: Optional[bool] = None):
669
+ reserved: Optional[bool] = None,
670
+ spot: Optional[bool] = None):
670
671
  """
671
672
  :param bool preemptible: Defines whether the node is preemptible.
672
673
  :param bool reserved: Whether the node is created under a reservation.
674
+ :param bool spot: Optional. Defines whether the node is Spot VM.
673
675
  """
674
676
  if preemptible is not None:
675
677
  pulumi.set(__self__, "preemptible", preemptible)
676
678
  if reserved is not None:
677
679
  pulumi.set(__self__, "reserved", reserved)
680
+ if spot is not None:
681
+ pulumi.set(__self__, "spot", spot)
678
682
 
679
683
  @property
680
684
  @pulumi.getter
@@ -692,6 +696,14 @@ class V2VmSchedulingConfig(dict):
692
696
  """
693
697
  return pulumi.get(self, "reserved")
694
698
 
699
+ @property
700
+ @pulumi.getter
701
+ def spot(self) -> Optional[bool]:
702
+ """
703
+ Optional. Defines whether the node is Spot VM.
704
+ """
705
+ return pulumi.get(self, "spot")
706
+
695
707
 
696
708
  @pulumi.output_type
697
709
  class V2VmServiceAccount(dict):
pulumi_gcp/tpu/v2_vm.py CHANGED
@@ -919,6 +919,7 @@ class V2Vm(pulumi.CustomResource):
919
919
  },
920
920
  scheduling_config={
921
921
  "preemptible": True,
922
+ "spot": True,
922
923
  },
923
924
  shielded_instance_config={
924
925
  "enable_secure_boot": True,
@@ -1082,6 +1083,7 @@ class V2Vm(pulumi.CustomResource):
1082
1083
  },
1083
1084
  scheduling_config={
1084
1085
  "preemptible": True,
1086
+ "spot": True,
1085
1087
  },
1086
1088
  shielded_instance_config={
1087
1089
  "enable_secure_boot": True,
@@ -1593,10 +1593,12 @@ if not MYPY:
1593
1593
  preferred_location: NotRequired[pulumi.Input[str]]
1594
1594
  """
1595
1595
  Zone that will remain operational when connection between the two zones is lost.
1596
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1596
1597
  """
1597
1598
  secondary_location: NotRequired[pulumi.Input[str]]
1598
1599
  """
1599
1600
  Additional zone for a higher level of availability and load balancing.
1601
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1600
1602
  """
1601
1603
  elif False:
1602
1604
  PrivateCloudManagementClusterStretchedClusterConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -1608,7 +1610,9 @@ class PrivateCloudManagementClusterStretchedClusterConfigArgs:
1608
1610
  secondary_location: Optional[pulumi.Input[str]] = None):
1609
1611
  """
1610
1612
  :param pulumi.Input[str] preferred_location: Zone that will remain operational when connection between the two zones is lost.
1613
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1611
1614
  :param pulumi.Input[str] secondary_location: Additional zone for a higher level of availability and load balancing.
1615
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1612
1616
  """
1613
1617
  if preferred_location is not None:
1614
1618
  pulumi.set(__self__, "preferred_location", preferred_location)
@@ -1620,6 +1624,7 @@ class PrivateCloudManagementClusterStretchedClusterConfigArgs:
1620
1624
  def preferred_location(self) -> Optional[pulumi.Input[str]]:
1621
1625
  """
1622
1626
  Zone that will remain operational when connection between the two zones is lost.
1627
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1623
1628
  """
1624
1629
  return pulumi.get(self, "preferred_location")
1625
1630
 
@@ -1632,6 +1637,7 @@ class PrivateCloudManagementClusterStretchedClusterConfigArgs:
1632
1637
  def secondary_location(self) -> Optional[pulumi.Input[str]]:
1633
1638
  """
1634
1639
  Additional zone for a higher level of availability and load balancing.
1640
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1635
1641
  """
1636
1642
  return pulumi.get(self, "secondary_location")
1637
1643
 
@@ -1338,7 +1338,9 @@ class PrivateCloudManagementClusterStretchedClusterConfig(dict):
1338
1338
  secondary_location: Optional[str] = None):
1339
1339
  """
1340
1340
  :param str preferred_location: Zone that will remain operational when connection between the two zones is lost.
1341
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1341
1342
  :param str secondary_location: Additional zone for a higher level of availability and load balancing.
1343
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1342
1344
  """
1343
1345
  if preferred_location is not None:
1344
1346
  pulumi.set(__self__, "preferred_location", preferred_location)
@@ -1350,6 +1352,7 @@ class PrivateCloudManagementClusterStretchedClusterConfig(dict):
1350
1352
  def preferred_location(self) -> Optional[str]:
1351
1353
  """
1352
1354
  Zone that will remain operational when connection between the two zones is lost.
1355
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1353
1356
  """
1354
1357
  return pulumi.get(self, "preferred_location")
1355
1358
 
@@ -1358,6 +1361,7 @@ class PrivateCloudManagementClusterStretchedClusterConfig(dict):
1358
1361
  def secondary_location(self) -> Optional[str]:
1359
1362
  """
1360
1363
  Additional zone for a higher level of availability and load balancing.
1364
+ Specify the zone in the following format: projects/{project}/locations/{location}.
1361
1365
  """
1362
1366
  return pulumi.get(self, "secondary_location")
1363
1367
 
@@ -2513,7 +2517,9 @@ class GetPrivateCloudManagementClusterStretchedClusterConfigResult(dict):
2513
2517
  secondary_location: str):
2514
2518
  """
2515
2519
  :param str preferred_location: Zone that will remain operational when connection between the two zones is lost.
2520
+ Specify the zone in the following format: projects/{project}/locations/{location}.
2516
2521
  :param str secondary_location: Additional zone for a higher level of availability and load balancing.
2522
+ Specify the zone in the following format: projects/{project}/locations/{location}.
2517
2523
  """
2518
2524
  pulumi.set(__self__, "preferred_location", preferred_location)
2519
2525
  pulumi.set(__self__, "secondary_location", secondary_location)
@@ -2523,6 +2529,7 @@ class GetPrivateCloudManagementClusterStretchedClusterConfigResult(dict):
2523
2529
  def preferred_location(self) -> str:
2524
2530
  """
2525
2531
  Zone that will remain operational when connection between the two zones is lost.
2532
+ Specify the zone in the following format: projects/{project}/locations/{location}.
2526
2533
  """
2527
2534
  return pulumi.get(self, "preferred_location")
2528
2535
 
@@ -2531,6 +2538,7 @@ class GetPrivateCloudManagementClusterStretchedClusterConfigResult(dict):
2531
2538
  def secondary_location(self) -> str:
2532
2539
  """
2533
2540
  Additional zone for a higher level of availability and load balancing.
2541
+ Specify the zone in the following format: projects/{project}/locations/{location}.
2534
2542
  """
2535
2543
  return pulumi.get(self, "secondary_location")
2536
2544
 
@@ -23,6 +23,7 @@ class WorkflowArgs:
23
23
  crypto_key_name: Optional[pulumi.Input[str]] = None,
24
24
  deletion_protection: Optional[pulumi.Input[bool]] = None,
25
25
  description: Optional[pulumi.Input[str]] = None,
26
+ execution_history_level: Optional[pulumi.Input[str]] = None,
26
27
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
28
  name: Optional[pulumi.Input[str]] = None,
28
29
  name_prefix: Optional[pulumi.Input[str]] = None,
@@ -41,6 +42,10 @@ class WorkflowArgs:
41
42
  :param pulumi.Input[str] crypto_key_name: The KMS key used to encrypt workflow and execution data.
42
43
  Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
43
44
  :param pulumi.Input[str] description: Description of the workflow provided by the user. Must be at most 1000 unicode characters long.
45
+ :param pulumi.Input[str] execution_history_level: Describes the level of execution history to be stored for this workflow. This configuration
46
+ determines how much information about workflow executions is preserved. If not specified,
47
+ defaults to EXECUTION_HISTORY_LEVEL_UNSPECIFIED.
48
+ Possible values are: `EXECUTION_HISTORY_LEVEL_UNSPECIFIED`, `EXECUTION_HISTORY_BASIC`, `EXECUTION_HISTORY_DETAILED`.
44
49
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this Workflow.
45
50
 
46
51
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -62,7 +67,7 @@ class WorkflowArgs:
62
67
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition
63
68
  as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in
64
69
  the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
65
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with GOOGLE or WORKFLOWS".
70
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
66
71
  """
67
72
  if call_log_level is not None:
68
73
  pulumi.set(__self__, "call_log_level", call_log_level)
@@ -72,6 +77,8 @@ class WorkflowArgs:
72
77
  pulumi.set(__self__, "deletion_protection", deletion_protection)
73
78
  if description is not None:
74
79
  pulumi.set(__self__, "description", description)
80
+ if execution_history_level is not None:
81
+ pulumi.set(__self__, "execution_history_level", execution_history_level)
75
82
  if labels is not None:
76
83
  pulumi.set(__self__, "labels", labels)
77
84
  if name is not None:
@@ -140,6 +147,21 @@ class WorkflowArgs:
140
147
  def description(self, value: Optional[pulumi.Input[str]]):
141
148
  pulumi.set(self, "description", value)
142
149
 
150
+ @property
151
+ @pulumi.getter(name="executionHistoryLevel")
152
+ def execution_history_level(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ Describes the level of execution history to be stored for this workflow. This configuration
155
+ determines how much information about workflow executions is preserved. If not specified,
156
+ defaults to EXECUTION_HISTORY_LEVEL_UNSPECIFIED.
157
+ Possible values are: `EXECUTION_HISTORY_LEVEL_UNSPECIFIED`, `EXECUTION_HISTORY_BASIC`, `EXECUTION_HISTORY_DETAILED`.
158
+ """
159
+ return pulumi.get(self, "execution_history_level")
160
+
161
+ @execution_history_level.setter
162
+ def execution_history_level(self, value: Optional[pulumi.Input[str]]):
163
+ pulumi.set(self, "execution_history_level", value)
164
+
143
165
  @property
144
166
  @pulumi.getter
145
167
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -253,7 +275,7 @@ class WorkflowArgs:
253
275
  @pulumi.getter(name="userEnvVars")
254
276
  def user_env_vars(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
255
277
  """
256
- User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with GOOGLE or WORKFLOWS".
278
+ User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
257
279
  """
258
280
  return pulumi.get(self, "user_env_vars")
259
281
 
@@ -271,6 +293,7 @@ class _WorkflowState:
271
293
  deletion_protection: Optional[pulumi.Input[bool]] = None,
272
294
  description: Optional[pulumi.Input[str]] = None,
273
295
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
296
+ execution_history_level: Optional[pulumi.Input[str]] = None,
274
297
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
275
298
  name: Optional[pulumi.Input[str]] = None,
276
299
  name_prefix: Optional[pulumi.Input[str]] = None,
@@ -295,6 +318,10 @@ class _WorkflowState:
295
318
  Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
296
319
  :param pulumi.Input[str] description: Description of the workflow provided by the user. Must be at most 1000 unicode characters long.
297
320
  :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.
321
+ :param pulumi.Input[str] execution_history_level: Describes the level of execution history to be stored for this workflow. This configuration
322
+ determines how much information about workflow executions is preserved. If not specified,
323
+ defaults to EXECUTION_HISTORY_LEVEL_UNSPECIFIED.
324
+ Possible values are: `EXECUTION_HISTORY_LEVEL_UNSPECIFIED`, `EXECUTION_HISTORY_BASIC`, `EXECUTION_HISTORY_DETAILED`.
298
325
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this Workflow.
299
326
 
300
327
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -321,7 +348,7 @@ class _WorkflowState:
321
348
  as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in
322
349
  the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
323
350
  :param pulumi.Input[str] update_time: The timestamp of when the workflow was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
324
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with GOOGLE or WORKFLOWS".
351
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
325
352
  """
326
353
  if call_log_level is not None:
327
354
  pulumi.set(__self__, "call_log_level", call_log_level)
@@ -335,6 +362,8 @@ class _WorkflowState:
335
362
  pulumi.set(__self__, "description", description)
336
363
  if effective_labels is not None:
337
364
  pulumi.set(__self__, "effective_labels", effective_labels)
365
+ if execution_history_level is not None:
366
+ pulumi.set(__self__, "execution_history_level", execution_history_level)
338
367
  if labels is not None:
339
368
  pulumi.set(__self__, "labels", labels)
340
369
  if name is not None:
@@ -435,6 +464,21 @@ class _WorkflowState:
435
464
  def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
436
465
  pulumi.set(self, "effective_labels", value)
437
466
 
467
+ @property
468
+ @pulumi.getter(name="executionHistoryLevel")
469
+ def execution_history_level(self) -> Optional[pulumi.Input[str]]:
470
+ """
471
+ Describes the level of execution history to be stored for this workflow. This configuration
472
+ determines how much information about workflow executions is preserved. If not specified,
473
+ defaults to EXECUTION_HISTORY_LEVEL_UNSPECIFIED.
474
+ Possible values are: `EXECUTION_HISTORY_LEVEL_UNSPECIFIED`, `EXECUTION_HISTORY_BASIC`, `EXECUTION_HISTORY_DETAILED`.
475
+ """
476
+ return pulumi.get(self, "execution_history_level")
477
+
478
+ @execution_history_level.setter
479
+ def execution_history_level(self, value: Optional[pulumi.Input[str]]):
480
+ pulumi.set(self, "execution_history_level", value)
481
+
438
482
  @property
439
483
  @pulumi.getter
440
484
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -597,7 +641,7 @@ class _WorkflowState:
597
641
  @pulumi.getter(name="userEnvVars")
598
642
  def user_env_vars(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
599
643
  """
600
- User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with GOOGLE or WORKFLOWS".
644
+ User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
601
645
  """
602
646
  return pulumi.get(self, "user_env_vars")
603
647
 
@@ -615,6 +659,7 @@ class Workflow(pulumi.CustomResource):
615
659
  crypto_key_name: Optional[pulumi.Input[str]] = None,
616
660
  deletion_protection: Optional[pulumi.Input[bool]] = None,
617
661
  description: Optional[pulumi.Input[str]] = None,
662
+ execution_history_level: Optional[pulumi.Input[str]] = None,
618
663
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
619
664
  name: Optional[pulumi.Input[str]] = None,
620
665
  name_prefix: Optional[pulumi.Input[str]] = None,
@@ -757,6 +802,10 @@ class Workflow(pulumi.CustomResource):
757
802
  :param pulumi.Input[str] crypto_key_name: The KMS key used to encrypt workflow and execution data.
758
803
  Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
759
804
  :param pulumi.Input[str] description: Description of the workflow provided by the user. Must be at most 1000 unicode characters long.
805
+ :param pulumi.Input[str] execution_history_level: Describes the level of execution history to be stored for this workflow. This configuration
806
+ determines how much information about workflow executions is preserved. If not specified,
807
+ defaults to EXECUTION_HISTORY_LEVEL_UNSPECIFIED.
808
+ Possible values are: `EXECUTION_HISTORY_LEVEL_UNSPECIFIED`, `EXECUTION_HISTORY_BASIC`, `EXECUTION_HISTORY_DETAILED`.
760
809
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this Workflow.
761
810
 
762
811
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -778,7 +827,7 @@ class Workflow(pulumi.CustomResource):
778
827
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition
779
828
  as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in
780
829
  the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
781
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with GOOGLE or WORKFLOWS".
830
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
782
831
  """
783
832
  ...
784
833
  @overload
@@ -928,6 +977,7 @@ class Workflow(pulumi.CustomResource):
928
977
  crypto_key_name: Optional[pulumi.Input[str]] = None,
929
978
  deletion_protection: Optional[pulumi.Input[bool]] = None,
930
979
  description: Optional[pulumi.Input[str]] = None,
980
+ execution_history_level: Optional[pulumi.Input[str]] = None,
931
981
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
932
982
  name: Optional[pulumi.Input[str]] = None,
933
983
  name_prefix: Optional[pulumi.Input[str]] = None,
@@ -950,6 +1000,7 @@ class Workflow(pulumi.CustomResource):
950
1000
  __props__.__dict__["crypto_key_name"] = crypto_key_name
951
1001
  __props__.__dict__["deletion_protection"] = deletion_protection
952
1002
  __props__.__dict__["description"] = description
1003
+ __props__.__dict__["execution_history_level"] = execution_history_level
953
1004
  __props__.__dict__["labels"] = labels
954
1005
  __props__.__dict__["name"] = name
955
1006
  __props__.__dict__["name_prefix"] = name_prefix
@@ -983,6 +1034,7 @@ class Workflow(pulumi.CustomResource):
983
1034
  deletion_protection: Optional[pulumi.Input[bool]] = None,
984
1035
  description: Optional[pulumi.Input[str]] = None,
985
1036
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1037
+ execution_history_level: Optional[pulumi.Input[str]] = None,
986
1038
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
987
1039
  name: Optional[pulumi.Input[str]] = None,
988
1040
  name_prefix: Optional[pulumi.Input[str]] = None,
@@ -1012,6 +1064,10 @@ class Workflow(pulumi.CustomResource):
1012
1064
  Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
1013
1065
  :param pulumi.Input[str] description: Description of the workflow provided by the user. Must be at most 1000 unicode characters long.
1014
1066
  :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.
1067
+ :param pulumi.Input[str] execution_history_level: Describes the level of execution history to be stored for this workflow. This configuration
1068
+ determines how much information about workflow executions is preserved. If not specified,
1069
+ defaults to EXECUTION_HISTORY_LEVEL_UNSPECIFIED.
1070
+ Possible values are: `EXECUTION_HISTORY_LEVEL_UNSPECIFIED`, `EXECUTION_HISTORY_BASIC`, `EXECUTION_HISTORY_DETAILED`.
1015
1071
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this Workflow.
1016
1072
 
1017
1073
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -1038,7 +1094,7 @@ class Workflow(pulumi.CustomResource):
1038
1094
  as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in
1039
1095
  the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
1040
1096
  :param pulumi.Input[str] update_time: The timestamp of when the workflow was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
1041
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with GOOGLE or WORKFLOWS".
1097
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_env_vars: User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
1042
1098
  """
1043
1099
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1044
1100
 
@@ -1050,6 +1106,7 @@ class Workflow(pulumi.CustomResource):
1050
1106
  __props__.__dict__["deletion_protection"] = deletion_protection
1051
1107
  __props__.__dict__["description"] = description
1052
1108
  __props__.__dict__["effective_labels"] = effective_labels
1109
+ __props__.__dict__["execution_history_level"] = execution_history_level
1053
1110
  __props__.__dict__["labels"] = labels
1054
1111
  __props__.__dict__["name"] = name
1055
1112
  __props__.__dict__["name_prefix"] = name_prefix
@@ -1114,6 +1171,17 @@ class Workflow(pulumi.CustomResource):
1114
1171
  """
1115
1172
  return pulumi.get(self, "effective_labels")
1116
1173
 
1174
+ @property
1175
+ @pulumi.getter(name="executionHistoryLevel")
1176
+ def execution_history_level(self) -> pulumi.Output[Optional[str]]:
1177
+ """
1178
+ Describes the level of execution history to be stored for this workflow. This configuration
1179
+ determines how much information about workflow executions is preserved. If not specified,
1180
+ defaults to EXECUTION_HISTORY_LEVEL_UNSPECIFIED.
1181
+ Possible values are: `EXECUTION_HISTORY_LEVEL_UNSPECIFIED`, `EXECUTION_HISTORY_BASIC`, `EXECUTION_HISTORY_DETAILED`.
1182
+ """
1183
+ return pulumi.get(self, "execution_history_level")
1184
+
1117
1185
  @property
1118
1186
  @pulumi.getter
1119
1187
  def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
@@ -1228,7 +1296,7 @@ class Workflow(pulumi.CustomResource):
1228
1296
  @pulumi.getter(name="userEnvVars")
1229
1297
  def user_env_vars(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1230
1298
  """
1231
- User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with GOOGLE or WORKFLOWS".
1299
+ User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
1232
1300
  """
1233
1301
  return pulumi.get(self, "user_env_vars")
1234
1302
 
@@ -30,7 +30,8 @@ class WorkstationClusterArgs:
30
30
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
31
31
  location: Optional[pulumi.Input[str]] = None,
32
32
  private_cluster_config: Optional[pulumi.Input['WorkstationClusterPrivateClusterConfigArgs']] = None,
33
- project: Optional[pulumi.Input[str]] = None):
33
+ project: Optional[pulumi.Input[str]] = None,
34
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
34
35
  """
35
36
  The set of arguments for constructing a WorkstationCluster resource.
36
37
  :param pulumi.Input[str] network: The relative resource name of the VPC network on which the instance can be accessed.
@@ -55,6 +56,10 @@ class WorkstationClusterArgs:
55
56
  Structure is documented below.
56
57
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
57
58
  If it is not provided, the provider project is used.
59
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource manager tags bound to this resource.
60
+ For example:
61
+ "123/environment": "production",
62
+ "123/costCenter": "marketing"
58
63
  """
59
64
  pulumi.set(__self__, "network", network)
60
65
  pulumi.set(__self__, "subnetwork", subnetwork)
@@ -73,6 +78,8 @@ class WorkstationClusterArgs:
73
78
  pulumi.set(__self__, "private_cluster_config", private_cluster_config)
74
79
  if project is not None:
75
80
  pulumi.set(__self__, "project", project)
81
+ if tags is not None:
82
+ pulumi.set(__self__, "tags", tags)
76
83
 
77
84
  @property
78
85
  @pulumi.getter
@@ -206,6 +213,21 @@ class WorkstationClusterArgs:
206
213
  def project(self, value: Optional[pulumi.Input[str]]):
207
214
  pulumi.set(self, "project", value)
208
215
 
216
+ @property
217
+ @pulumi.getter
218
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
219
+ """
220
+ Resource manager tags bound to this resource.
221
+ For example:
222
+ "123/environment": "production",
223
+ "123/costCenter": "marketing"
224
+ """
225
+ return pulumi.get(self, "tags")
226
+
227
+ @tags.setter
228
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
229
+ pulumi.set(self, "tags", value)
230
+
209
231
 
210
232
  @pulumi.input_type
211
233
  class _WorkstationClusterState:
@@ -228,6 +250,7 @@ class _WorkstationClusterState:
228
250
  project: Optional[pulumi.Input[str]] = None,
229
251
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
230
252
  subnetwork: Optional[pulumi.Input[str]] = None,
253
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
231
254
  uid: Optional[pulumi.Input[str]] = None,
232
255
  workstation_cluster_id: Optional[pulumi.Input[str]] = None):
233
256
  """
@@ -263,6 +286,10 @@ class _WorkstationClusterState:
263
286
  and default labels configured on the provider.
264
287
  :param pulumi.Input[str] subnetwork: Name of the Compute Engine subnetwork in which instances associated with this cluster will be created.
265
288
  Must be part of the subnetwork specified for this cluster.
289
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource manager tags bound to this resource.
290
+ For example:
291
+ "123/environment": "production",
292
+ "123/costCenter": "marketing"
266
293
  :param pulumi.Input[str] uid: The system-generated UID of the resource.
267
294
  :param pulumi.Input[str] workstation_cluster_id: ID to use for the workstation cluster.
268
295
 
@@ -305,6 +332,8 @@ class _WorkstationClusterState:
305
332
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
306
333
  if subnetwork is not None:
307
334
  pulumi.set(__self__, "subnetwork", subnetwork)
335
+ if tags is not None:
336
+ pulumi.set(__self__, "tags", tags)
308
337
  if uid is not None:
309
338
  pulumi.set(__self__, "uid", uid)
310
339
  if workstation_cluster_id is not None:
@@ -537,6 +566,21 @@ class _WorkstationClusterState:
537
566
  def subnetwork(self, value: Optional[pulumi.Input[str]]):
538
567
  pulumi.set(self, "subnetwork", value)
539
568
 
569
+ @property
570
+ @pulumi.getter
571
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
572
+ """
573
+ Resource manager tags bound to this resource.
574
+ For example:
575
+ "123/environment": "production",
576
+ "123/costCenter": "marketing"
577
+ """
578
+ return pulumi.get(self, "tags")
579
+
580
+ @tags.setter
581
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
582
+ pulumi.set(self, "tags", value)
583
+
540
584
  @property
541
585
  @pulumi.getter
542
586
  def uid(self) -> Optional[pulumi.Input[str]]:
@@ -579,6 +623,7 @@ class WorkstationCluster(pulumi.CustomResource):
579
623
  private_cluster_config: Optional[pulumi.Input[Union['WorkstationClusterPrivateClusterConfigArgs', 'WorkstationClusterPrivateClusterConfigArgsDict']]] = None,
580
624
  project: Optional[pulumi.Input[str]] = None,
581
625
  subnetwork: Optional[pulumi.Input[str]] = None,
626
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
582
627
  workstation_cluster_id: Optional[pulumi.Input[str]] = None,
583
628
  __props__=None):
584
629
  """
@@ -674,6 +719,40 @@ class WorkstationCluster(pulumi.CustomResource):
674
719
  })
675
720
  project = gcp.organizations.get_project()
676
721
  ```
722
+ ### Workstation Cluster Tags
723
+
724
+ ```python
725
+ import pulumi
726
+ import pulumi_gcp as gcp
727
+
728
+ project = gcp.organizations.get_project()
729
+ tag_key = gcp.tags.TagKey("tag_key",
730
+ parent=f"projects/{project.number}",
731
+ short_name="keyname")
732
+ tag_value = gcp.tags.TagValue("tag_value",
733
+ parent=tag_key.name.apply(lambda name: f"tagKeys/{name}"),
734
+ short_name="valuename")
735
+ default_network = gcp.compute.Network("default",
736
+ name="workstation-cluster-tags",
737
+ auto_create_subnetworks=False)
738
+ default_subnetwork = gcp.compute.Subnetwork("default",
739
+ name="workstation-cluster-tags",
740
+ ip_cidr_range="10.0.0.0/24",
741
+ region="us-central1",
742
+ network=default_network.name)
743
+ default = gcp.workstations.WorkstationCluster("default",
744
+ workstation_cluster_id="workstation-cluster-tags",
745
+ network=default_network.id,
746
+ subnetwork=default_subnetwork.id,
747
+ location="us-central1",
748
+ tags=pulumi.Output.all(
749
+ tagKeyShort_name=tag_key.short_name,
750
+ tagValueShort_name=tag_value.short_name
751
+ ).apply(lambda resolved_outputs: {
752
+ f"{project.project_id}/{resolved_outputs['tagKeyShort_name']}": resolved_outputs['tagValueShort_name'],
753
+ })
754
+ )
755
+ ```
677
756
 
678
757
  ## Import
679
758
 
@@ -719,6 +798,10 @@ class WorkstationCluster(pulumi.CustomResource):
719
798
  If it is not provided, the provider project is used.
720
799
  :param pulumi.Input[str] subnetwork: Name of the Compute Engine subnetwork in which instances associated with this cluster will be created.
721
800
  Must be part of the subnetwork specified for this cluster.
801
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource manager tags bound to this resource.
802
+ For example:
803
+ "123/environment": "production",
804
+ "123/costCenter": "marketing"
722
805
  :param pulumi.Input[str] workstation_cluster_id: ID to use for the workstation cluster.
723
806
 
724
807
 
@@ -823,6 +906,40 @@ class WorkstationCluster(pulumi.CustomResource):
823
906
  })
824
907
  project = gcp.organizations.get_project()
825
908
  ```
909
+ ### Workstation Cluster Tags
910
+
911
+ ```python
912
+ import pulumi
913
+ import pulumi_gcp as gcp
914
+
915
+ project = gcp.organizations.get_project()
916
+ tag_key = gcp.tags.TagKey("tag_key",
917
+ parent=f"projects/{project.number}",
918
+ short_name="keyname")
919
+ tag_value = gcp.tags.TagValue("tag_value",
920
+ parent=tag_key.name.apply(lambda name: f"tagKeys/{name}"),
921
+ short_name="valuename")
922
+ default_network = gcp.compute.Network("default",
923
+ name="workstation-cluster-tags",
924
+ auto_create_subnetworks=False)
925
+ default_subnetwork = gcp.compute.Subnetwork("default",
926
+ name="workstation-cluster-tags",
927
+ ip_cidr_range="10.0.0.0/24",
928
+ region="us-central1",
929
+ network=default_network.name)
930
+ default = gcp.workstations.WorkstationCluster("default",
931
+ workstation_cluster_id="workstation-cluster-tags",
932
+ network=default_network.id,
933
+ subnetwork=default_subnetwork.id,
934
+ location="us-central1",
935
+ tags=pulumi.Output.all(
936
+ tagKeyShort_name=tag_key.short_name,
937
+ tagValueShort_name=tag_value.short_name
938
+ ).apply(lambda resolved_outputs: {
939
+ f"{project.project_id}/{resolved_outputs['tagKeyShort_name']}": resolved_outputs['tagValueShort_name'],
940
+ })
941
+ )
942
+ ```
826
943
 
827
944
  ## Import
828
945
 
@@ -872,6 +989,7 @@ class WorkstationCluster(pulumi.CustomResource):
872
989
  private_cluster_config: Optional[pulumi.Input[Union['WorkstationClusterPrivateClusterConfigArgs', 'WorkstationClusterPrivateClusterConfigArgsDict']]] = None,
873
990
  project: Optional[pulumi.Input[str]] = None,
874
991
  subnetwork: Optional[pulumi.Input[str]] = None,
992
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
875
993
  workstation_cluster_id: Optional[pulumi.Input[str]] = None,
876
994
  __props__=None):
877
995
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -895,6 +1013,7 @@ class WorkstationCluster(pulumi.CustomResource):
895
1013
  if subnetwork is None and not opts.urn:
896
1014
  raise TypeError("Missing required property 'subnetwork'")
897
1015
  __props__.__dict__["subnetwork"] = subnetwork
1016
+ __props__.__dict__["tags"] = tags
898
1017
  if workstation_cluster_id is None and not opts.urn:
899
1018
  raise TypeError("Missing required property 'workstation_cluster_id'")
900
1019
  __props__.__dict__["workstation_cluster_id"] = workstation_cluster_id
@@ -938,6 +1057,7 @@ class WorkstationCluster(pulumi.CustomResource):
938
1057
  project: Optional[pulumi.Input[str]] = None,
939
1058
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
940
1059
  subnetwork: Optional[pulumi.Input[str]] = None,
1060
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
941
1061
  uid: Optional[pulumi.Input[str]] = None,
942
1062
  workstation_cluster_id: Optional[pulumi.Input[str]] = None) -> 'WorkstationCluster':
943
1063
  """
@@ -978,6 +1098,10 @@ class WorkstationCluster(pulumi.CustomResource):
978
1098
  and default labels configured on the provider.
979
1099
  :param pulumi.Input[str] subnetwork: Name of the Compute Engine subnetwork in which instances associated with this cluster will be created.
980
1100
  Must be part of the subnetwork specified for this cluster.
1101
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource manager tags bound to this resource.
1102
+ For example:
1103
+ "123/environment": "production",
1104
+ "123/costCenter": "marketing"
981
1105
  :param pulumi.Input[str] uid: The system-generated UID of the resource.
982
1106
  :param pulumi.Input[str] workstation_cluster_id: ID to use for the workstation cluster.
983
1107
 
@@ -1006,6 +1130,7 @@ class WorkstationCluster(pulumi.CustomResource):
1006
1130
  __props__.__dict__["project"] = project
1007
1131
  __props__.__dict__["pulumi_labels"] = pulumi_labels
1008
1132
  __props__.__dict__["subnetwork"] = subnetwork
1133
+ __props__.__dict__["tags"] = tags
1009
1134
  __props__.__dict__["uid"] = uid
1010
1135
  __props__.__dict__["workstation_cluster_id"] = workstation_cluster_id
1011
1136
  return WorkstationCluster(resource_name, opts=opts, __props__=__props__)
@@ -1165,6 +1290,17 @@ class WorkstationCluster(pulumi.CustomResource):
1165
1290
  """
1166
1291
  return pulumi.get(self, "subnetwork")
1167
1292
 
1293
+ @property
1294
+ @pulumi.getter
1295
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1296
+ """
1297
+ Resource manager tags bound to this resource.
1298
+ For example:
1299
+ "123/environment": "production",
1300
+ "123/costCenter": "marketing"
1301
+ """
1302
+ return pulumi.get(self, "tags")
1303
+
1168
1304
  @property
1169
1305
  @pulumi.getter
1170
1306
  def uid(self) -> pulumi.Output[str]:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pulumi_gcp
3
- Version: 8.22.0a1741790977
3
+ Version: 8.23.0
4
4
  Summary: A Pulumi package for creating and managing Google Cloud Platform resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io