pulumi-gcp 7.3.0a1702567892__py3-none-any.whl → 7.3.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +129 -0
  2. pulumi_gcp/artifactregistry/_inputs.py +88 -0
  3. pulumi_gcp/artifactregistry/outputs.py +148 -0
  4. pulumi_gcp/artifactregistry/repository.py +116 -16
  5. pulumi_gcp/bigquery/_inputs.py +110 -0
  6. pulumi_gcp/bigquery/connection.py +123 -3
  7. pulumi_gcp/bigquery/outputs.py +145 -0
  8. pulumi_gcp/cloudbuild/_inputs.py +241 -1
  9. pulumi_gcp/cloudbuild/outputs.py +353 -2
  10. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -2
  11. pulumi_gcp/cloudfunctionsv2/outputs.py +6 -2
  12. pulumi_gcp/cloudidentity/_inputs.py +54 -5
  13. pulumi_gcp/cloudidentity/group_membership.py +0 -8
  14. pulumi_gcp/cloudidentity/outputs.py +99 -4
  15. pulumi_gcp/cloudrunv2/_inputs.py +8 -4
  16. pulumi_gcp/cloudrunv2/job.py +44 -0
  17. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  18. pulumi_gcp/cloudrunv2/service.py +42 -0
  19. pulumi_gcp/cloudtasks/queue.py +0 -10
  20. pulumi_gcp/composer/_inputs.py +17 -4
  21. pulumi_gcp/composer/outputs.py +20 -4
  22. pulumi_gcp/compute/_inputs.py +46 -0
  23. pulumi_gcp/compute/get_global_forwarding_rule.py +11 -1
  24. pulumi_gcp/compute/global_forwarding_rule.py +69 -0
  25. pulumi_gcp/compute/outputs.py +75 -0
  26. pulumi_gcp/config/__init__.pyi +6 -0
  27. pulumi_gcp/config/vars.py +12 -0
  28. pulumi_gcp/container/_inputs.py +58 -0
  29. pulumi_gcp/container/node_pool.py +68 -14
  30. pulumi_gcp/container/outputs.py +68 -0
  31. pulumi_gcp/dataform/__init__.py +4 -0
  32. pulumi_gcp/dataform/_inputs.py +80 -0
  33. pulumi_gcp/dataform/get_repository_iam_policy.py +144 -0
  34. pulumi_gcp/dataform/outputs.py +56 -0
  35. pulumi_gcp/dataform/repository_iam_binding.py +325 -0
  36. pulumi_gcp/dataform/repository_iam_member.py +325 -0
  37. pulumi_gcp/dataform/repository_iam_policy.py +254 -0
  38. pulumi_gcp/dataloss/_inputs.py +29 -26
  39. pulumi_gcp/dataloss/outputs.py +28 -25
  40. pulumi_gcp/dataloss/prevention_job_trigger.py +78 -0
  41. pulumi_gcp/datastream/connection_profile.py +82 -4
  42. pulumi_gcp/datastream/stream.py +32 -22
  43. pulumi_gcp/firestore/database.py +146 -28
  44. pulumi_gcp/gkehub/_inputs.py +821 -3
  45. pulumi_gcp/gkehub/feature.py +176 -0
  46. pulumi_gcp/gkehub/feature_membership.py +105 -59
  47. pulumi_gcp/gkehub/fleet.py +70 -2
  48. pulumi_gcp/gkehub/outputs.py +819 -3
  49. pulumi_gcp/gkehub/scope.py +2 -2
  50. pulumi_gcp/iam/_inputs.py +72 -0
  51. pulumi_gcp/iam/outputs.py +79 -0
  52. pulumi_gcp/iam/workforce_pool.py +75 -0
  53. pulumi_gcp/identityplatform/project_default_config.py +4 -0
  54. pulumi_gcp/logging/__init__.py +3 -0
  55. pulumi_gcp/logging/get_folder_settings.py +197 -0
  56. pulumi_gcp/logging/get_organization_settings.py +197 -0
  57. pulumi_gcp/logging/get_project_settings.py +197 -0
  58. pulumi_gcp/migrationcenter/__init__.py +8 -0
  59. pulumi_gcp/migrationcenter/group.py +652 -0
  60. pulumi_gcp/netapp/__init__.py +8 -0
  61. pulumi_gcp/netapp/storage_pool.py +970 -0
  62. pulumi_gcp/projects/iam_custom_role.py +7 -7
  63. pulumi_gcp/provider.py +60 -0
  64. pulumi_gcp/securesourcemanager/__init__.py +14 -0
  65. pulumi_gcp/securesourcemanager/_inputs.py +94 -0
  66. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +168 -0
  67. pulumi_gcp/securesourcemanager/instance.py +607 -0
  68. pulumi_gcp/securesourcemanager/instance_iam_binding.py +325 -0
  69. pulumi_gcp/securesourcemanager/instance_iam_member.py +325 -0
  70. pulumi_gcp/securesourcemanager/instance_iam_policy.py +254 -0
  71. pulumi_gcp/securesourcemanager/outputs.py +70 -0
  72. pulumi_gcp/securitycenter/__init__.py +1 -0
  73. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +528 -0
  74. pulumi_gcp/sql/_inputs.py +2 -2
  75. pulumi_gcp/sql/database_instance.py +4 -4
  76. pulumi_gcp/sql/outputs.py +2 -2
  77. pulumi_gcp/storage/_inputs.py +16 -0
  78. pulumi_gcp/storage/outputs.py +21 -0
  79. pulumi_gcp/vertex/__init__.py +4 -0
  80. pulumi_gcp/vertex/_inputs.py +80 -0
  81. pulumi_gcp/vertex/ai_endpoint_iam_binding.py +325 -0
  82. pulumi_gcp/vertex/ai_endpoint_iam_member.py +325 -0
  83. pulumi_gcp/vertex/ai_endpoint_iam_policy.py +254 -0
  84. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +140 -0
  85. pulumi_gcp/vertex/outputs.py +56 -0
  86. pulumi_gcp/vmwareengine/__init__.py +5 -0
  87. pulumi_gcp/vmwareengine/_inputs.py +104 -2
  88. pulumi_gcp/vmwareengine/get_network.py +14 -4
  89. pulumi_gcp/vmwareengine/get_network_peering.py +260 -0
  90. pulumi_gcp/vmwareengine/get_network_policy.py +228 -0
  91. pulumi_gcp/vmwareengine/get_nsx_credentials.py +133 -0
  92. pulumi_gcp/vmwareengine/get_private_cloud.py +14 -4
  93. pulumi_gcp/vmwareengine/network.py +41 -7
  94. pulumi_gcp/vmwareengine/network_peering.py +959 -0
  95. pulumi_gcp/vmwareengine/network_policy.py +836 -0
  96. pulumi_gcp/vmwareengine/outputs.py +133 -2
  97. pulumi_gcp/vmwareengine/private_cloud.py +20 -68
  98. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/RECORD +101 -72
  100. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/top_level.txt +0 -0
@@ -16,11 +16,13 @@ __all__ = [
16
16
  'GroupMembershipMemberKey',
17
17
  'GroupMembershipPreferredMemberKey',
18
18
  'GroupMembershipRole',
19
+ 'GroupMembershipRoleExpiryDetail',
19
20
  'GetGroupLookupGroupKeyResult',
20
21
  'GetGroupMembershipsMembershipResult',
21
22
  'GetGroupMembershipsMembershipMemberKeyResult',
22
23
  'GetGroupMembershipsMembershipPreferredMemberKeyResult',
23
24
  'GetGroupMembershipsMembershipRoleResult',
25
+ 'GetGroupMembershipsMembershipRoleExpiryDetailResult',
24
26
  'GetGroupsGroupResult',
25
27
  'GetGroupsGroupAdditionalGroupKeyResult',
26
28
  'GetGroupsGroupGroupKeyResult',
@@ -237,15 +239,36 @@ class GroupMembershipPreferredMemberKey(dict):
237
239
 
238
240
  @pulumi.output_type
239
241
  class GroupMembershipRole(dict):
242
+ @staticmethod
243
+ def __key_warning(key: str):
244
+ suggest = None
245
+ if key == "expiryDetail":
246
+ suggest = "expiry_detail"
247
+
248
+ if suggest:
249
+ pulumi.log.warn(f"Key '{key}' not found in GroupMembershipRole. Access the value via the '{suggest}' property getter instead.")
250
+
251
+ def __getitem__(self, key: str) -> Any:
252
+ GroupMembershipRole.__key_warning(key)
253
+ return super().__getitem__(key)
254
+
255
+ def get(self, key: str, default = None) -> Any:
256
+ GroupMembershipRole.__key_warning(key)
257
+ return super().get(key, default)
258
+
240
259
  def __init__(__self__, *,
241
- name: str):
260
+ name: str,
261
+ expiry_detail: Optional['outputs.GroupMembershipRoleExpiryDetail'] = None):
242
262
  """
243
263
  :param str name: The name of the MembershipRole. Must be one of OWNER, MANAGER, MEMBER.
244
264
  Possible values are: `OWNER`, `MANAGER`, `MEMBER`.
245
-
246
- - - -
265
+ :param 'GroupMembershipRoleExpiryDetailArgs' expiry_detail: The MembershipRole expiry details, only supported for MEMBER role.
266
+ Other roles cannot be accompanied with MEMBER role having expiry.
267
+ Structure is documented below.
247
268
  """
248
269
  pulumi.set(__self__, "name", name)
270
+ if expiry_detail is not None:
271
+ pulumi.set(__self__, "expiry_detail", expiry_detail)
249
272
 
250
273
  @property
251
274
  @pulumi.getter
@@ -253,10 +276,63 @@ class GroupMembershipRole(dict):
253
276
  """
254
277
  The name of the MembershipRole. Must be one of OWNER, MANAGER, MEMBER.
255
278
  Possible values are: `OWNER`, `MANAGER`, `MEMBER`.
279
+ """
280
+ return pulumi.get(self, "name")
281
+
282
+ @property
283
+ @pulumi.getter(name="expiryDetail")
284
+ def expiry_detail(self) -> Optional['outputs.GroupMembershipRoleExpiryDetail']:
285
+ """
286
+ The MembershipRole expiry details, only supported for MEMBER role.
287
+ Other roles cannot be accompanied with MEMBER role having expiry.
288
+ Structure is documented below.
289
+ """
290
+ return pulumi.get(self, "expiry_detail")
291
+
292
+
293
+ @pulumi.output_type
294
+ class GroupMembershipRoleExpiryDetail(dict):
295
+ @staticmethod
296
+ def __key_warning(key: str):
297
+ suggest = None
298
+ if key == "expireTime":
299
+ suggest = "expire_time"
300
+
301
+ if suggest:
302
+ pulumi.log.warn(f"Key '{key}' not found in GroupMembershipRoleExpiryDetail. Access the value via the '{suggest}' property getter instead.")
303
+
304
+ def __getitem__(self, key: str) -> Any:
305
+ GroupMembershipRoleExpiryDetail.__key_warning(key)
306
+ return super().__getitem__(key)
307
+
308
+ def get(self, key: str, default = None) -> Any:
309
+ GroupMembershipRoleExpiryDetail.__key_warning(key)
310
+ return super().get(key, default)
311
+
312
+ def __init__(__self__, *,
313
+ expire_time: str):
314
+ """
315
+ :param str expire_time: The time at which the MembershipRole will expire.
316
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
317
+ resolution and up to nine fractional digits.
318
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
319
+
320
+ - - -
321
+ """
322
+ pulumi.set(__self__, "expire_time", expire_time)
323
+
324
+ @property
325
+ @pulumi.getter(name="expireTime")
326
+ def expire_time(self) -> str:
327
+ """
328
+ The time at which the MembershipRole will expire.
329
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
330
+ resolution and up to nine fractional digits.
331
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
256
332
 
257
333
  - - -
258
334
  """
259
- return pulumi.get(self, "name")
335
+ return pulumi.get(self, "expire_time")
260
336
 
261
337
 
262
338
  @pulumi.output_type
@@ -473,12 +549,19 @@ class GetGroupMembershipsMembershipPreferredMemberKeyResult(dict):
473
549
  @pulumi.output_type
474
550
  class GetGroupMembershipsMembershipRoleResult(dict):
475
551
  def __init__(__self__, *,
552
+ expiry_details: Sequence['outputs.GetGroupMembershipsMembershipRoleExpiryDetailResult'],
476
553
  name: str):
477
554
  """
478
555
  :param str name: The name of the MembershipRole. One of OWNER, MANAGER, MEMBER.
479
556
  """
557
+ pulumi.set(__self__, "expiry_details", expiry_details)
480
558
  pulumi.set(__self__, "name", name)
481
559
 
560
+ @property
561
+ @pulumi.getter(name="expiryDetails")
562
+ def expiry_details(self) -> Sequence['outputs.GetGroupMembershipsMembershipRoleExpiryDetailResult']:
563
+ return pulumi.get(self, "expiry_details")
564
+
482
565
  @property
483
566
  @pulumi.getter
484
567
  def name(self) -> str:
@@ -488,6 +571,18 @@ class GetGroupMembershipsMembershipRoleResult(dict):
488
571
  return pulumi.get(self, "name")
489
572
 
490
573
 
574
+ @pulumi.output_type
575
+ class GetGroupMembershipsMembershipRoleExpiryDetailResult(dict):
576
+ def __init__(__self__, *,
577
+ expire_time: str):
578
+ pulumi.set(__self__, "expire_time", expire_time)
579
+
580
+ @property
581
+ @pulumi.getter(name="expireTime")
582
+ def expire_time(self) -> str:
583
+ return pulumi.get(self, "expire_time")
584
+
585
+
491
586
  @pulumi.output_type
492
587
  class GetGroupsGroupResult(dict):
493
588
  def __init__(__self__, *,
@@ -968,7 +968,7 @@ class JobTemplateTemplateContainerResourcesArgs:
968
968
  def __init__(__self__, *,
969
969
  limits: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
970
970
  """
971
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] limits: Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
971
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] limits: Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
972
972
  """
973
973
  if limits is not None:
974
974
  pulumi.set(__self__, "limits", limits)
@@ -977,7 +977,7 @@ class JobTemplateTemplateContainerResourcesArgs:
977
977
  @pulumi.getter
978
978
  def limits(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
979
979
  """
980
- Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
980
+ Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
981
981
  """
982
982
  return pulumi.get(self, "limits")
983
983
 
@@ -2075,6 +2075,7 @@ class ServiceTemplateContainerArgs:
2075
2075
  :param pulumi.Input[str] image: URL of the Container image in Google Container Registry or Google Artifact Registry. More info: https://kubernetes.io/docs/concepts/containers/images
2076
2076
  :param pulumi.Input[Sequence[pulumi.Input[str]]] args: Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2077
2077
  :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2078
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] depends_ons: Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
2078
2079
  :param pulumi.Input[Sequence[pulumi.Input['ServiceTemplateContainerEnvArgs']]] envs: List of environment variables to set in the container.
2079
2080
  Structure is documented below.
2080
2081
  :param pulumi.Input['ServiceTemplateContainerLivenessProbeArgs'] liveness_probe: Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
@@ -2154,6 +2155,9 @@ class ServiceTemplateContainerArgs:
2154
2155
  @property
2155
2156
  @pulumi.getter(name="dependsOns")
2156
2157
  def depends_ons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2158
+ """
2159
+ Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
2160
+ """
2157
2161
  return pulumi.get(self, "depends_ons")
2158
2162
 
2159
2163
  @depends_ons.setter
@@ -2679,7 +2683,7 @@ class ServiceTemplateContainerResourcesArgs:
2679
2683
  startup_cpu_boost: Optional[pulumi.Input[bool]] = None):
2680
2684
  """
2681
2685
  :param pulumi.Input[bool] cpu_idle: Determines whether CPU should be throttled or not outside of requests.
2682
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] limits: Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2686
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] limits: Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2683
2687
  :param pulumi.Input[bool] startup_cpu_boost: Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
2684
2688
  """
2685
2689
  if cpu_idle is not None:
@@ -2705,7 +2709,7 @@ class ServiceTemplateContainerResourcesArgs:
2705
2709
  @pulumi.getter
2706
2710
  def limits(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
2707
2711
  """
2708
- Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2712
+ Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2709
2713
  """
2710
2714
  return pulumi.get(self, "limits")
2711
2715
 
@@ -761,6 +761,28 @@ class Job(pulumi.CustomResource):
761
761
  ),
762
762
  ))
763
763
  ```
764
+ ### Cloudrunv2 Job Limits
765
+
766
+ ```python
767
+ import pulumi
768
+ import pulumi_gcp as gcp
769
+
770
+ default = gcp.cloudrunv2.Job("default",
771
+ location="us-central1",
772
+ template=gcp.cloudrunv2.JobTemplateArgs(
773
+ template=gcp.cloudrunv2.JobTemplateTemplateArgs(
774
+ containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
775
+ image="us-docker.pkg.dev/cloudrun/container/hello",
776
+ resources=gcp.cloudrunv2.JobTemplateTemplateContainerResourcesArgs(
777
+ limits={
778
+ "cpu": "2",
779
+ "memory": "1024Mi",
780
+ },
781
+ ),
782
+ )],
783
+ ),
784
+ ))
785
+ ```
764
786
  ### Cloudrunv2 Job Sql
765
787
 
766
788
  ```python
@@ -1050,6 +1072,28 @@ class Job(pulumi.CustomResource):
1050
1072
  ),
1051
1073
  ))
1052
1074
  ```
1075
+ ### Cloudrunv2 Job Limits
1076
+
1077
+ ```python
1078
+ import pulumi
1079
+ import pulumi_gcp as gcp
1080
+
1081
+ default = gcp.cloudrunv2.Job("default",
1082
+ location="us-central1",
1083
+ template=gcp.cloudrunv2.JobTemplateArgs(
1084
+ template=gcp.cloudrunv2.JobTemplateTemplateArgs(
1085
+ containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1086
+ image="us-docker.pkg.dev/cloudrun/container/hello",
1087
+ resources=gcp.cloudrunv2.JobTemplateTemplateContainerResourcesArgs(
1088
+ limits={
1089
+ "cpu": "2",
1090
+ "memory": "1024Mi",
1091
+ },
1092
+ ),
1093
+ )],
1094
+ ),
1095
+ ))
1096
+ ```
1053
1097
  ### Cloudrunv2 Job Sql
1054
1098
 
1055
1099
  ```python
@@ -994,7 +994,7 @@ class JobTemplateTemplateContainerResources(dict):
994
994
  def __init__(__self__, *,
995
995
  limits: Optional[Mapping[str, str]] = None):
996
996
  """
997
- :param Mapping[str, str] limits: Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
997
+ :param Mapping[str, str] limits: Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
998
998
  """
999
999
  if limits is not None:
1000
1000
  pulumi.set(__self__, "limits", limits)
@@ -1003,7 +1003,7 @@ class JobTemplateTemplateContainerResources(dict):
1003
1003
  @pulumi.getter
1004
1004
  def limits(self) -> Optional[Mapping[str, str]]:
1005
1005
  """
1006
- Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1006
+ Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1007
1007
  """
1008
1008
  return pulumi.get(self, "limits")
1009
1009
 
@@ -2065,6 +2065,7 @@ class ServiceTemplateContainer(dict):
2065
2065
  :param str image: URL of the Container image in Google Container Registry or Google Artifact Registry. More info: https://kubernetes.io/docs/concepts/containers/images
2066
2066
  :param Sequence[str] args: Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2067
2067
  :param Sequence[str] commands: Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2068
+ :param Sequence[str] depends_ons: Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
2068
2069
  :param Sequence['ServiceTemplateContainerEnvArgs'] envs: List of environment variables to set in the container.
2069
2070
  Structure is documented below.
2070
2071
  :param 'ServiceTemplateContainerLivenessProbeArgs' liveness_probe: Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
@@ -2132,6 +2133,9 @@ class ServiceTemplateContainer(dict):
2132
2133
  @property
2133
2134
  @pulumi.getter(name="dependsOns")
2134
2135
  def depends_ons(self) -> Optional[Sequence[str]]:
2136
+ """
2137
+ Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
2138
+ """
2135
2139
  return pulumi.get(self, "depends_ons")
2136
2140
 
2137
2141
  @property
@@ -2649,7 +2653,7 @@ class ServiceTemplateContainerResources(dict):
2649
2653
  startup_cpu_boost: Optional[bool] = None):
2650
2654
  """
2651
2655
  :param bool cpu_idle: Determines whether CPU should be throttled or not outside of requests.
2652
- :param Mapping[str, str] limits: Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2656
+ :param Mapping[str, str] limits: Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2653
2657
  :param bool startup_cpu_boost: Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
2654
2658
  """
2655
2659
  if cpu_idle is not None:
@@ -2671,7 +2675,7 @@ class ServiceTemplateContainerResources(dict):
2671
2675
  @pulumi.getter
2672
2676
  def limits(self) -> Optional[Mapping[str, str]]:
2673
2677
  """
2674
- Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2678
+ Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2675
2679
  """
2676
2680
  return pulumi.get(self, "limits")
2677
2681
 
@@ -934,6 +934,27 @@ class Service(pulumi.CustomResource):
934
934
  )],
935
935
  ))
936
936
  ```
937
+ ### Cloudrunv2 Service Limits
938
+
939
+ ```python
940
+ import pulumi
941
+ import pulumi_gcp as gcp
942
+
943
+ default = gcp.cloudrunv2.Service("default",
944
+ ingress="INGRESS_TRAFFIC_ALL",
945
+ location="us-central1",
946
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
947
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
948
+ image="us-docker.pkg.dev/cloudrun/container/hello",
949
+ resources=gcp.cloudrunv2.ServiceTemplateContainerResourcesArgs(
950
+ limits={
951
+ "cpu": "2",
952
+ "memory": "1024Mi",
953
+ },
954
+ ),
955
+ )],
956
+ ))
957
+ ```
937
958
  ### Cloudrunv2 Service Sql
938
959
 
939
960
  ```python
@@ -1265,6 +1286,27 @@ class Service(pulumi.CustomResource):
1265
1286
  )],
1266
1287
  ))
1267
1288
  ```
1289
+ ### Cloudrunv2 Service Limits
1290
+
1291
+ ```python
1292
+ import pulumi
1293
+ import pulumi_gcp as gcp
1294
+
1295
+ default = gcp.cloudrunv2.Service("default",
1296
+ ingress="INGRESS_TRAFFIC_ALL",
1297
+ location="us-central1",
1298
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
1299
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
1300
+ image="us-docker.pkg.dev/cloudrun/container/hello",
1301
+ resources=gcp.cloudrunv2.ServiceTemplateContainerResourcesArgs(
1302
+ limits={
1303
+ "cpu": "2",
1304
+ "memory": "1024Mi",
1305
+ },
1306
+ ),
1307
+ )],
1308
+ ))
1309
+ ```
1268
1310
  ### Cloudrunv2 Service Sql
1269
1311
 
1270
1312
  ```python
@@ -328,11 +328,6 @@ class Queue(pulumi.CustomResource):
328
328
  """
329
329
  A named resource to which messages are sent by publishers.
330
330
 
331
- > **Warning:** This resource requires an App Engine application to be created on the
332
- project you're provisioning it on. If you haven't already enabled it, you
333
- can create a `appengine.Application` resource to do so. This
334
- resource's location will be the same as the App Engine location specified.
335
-
336
331
  ## Example Usage
337
332
  ### Queue Basic
338
333
 
@@ -429,11 +424,6 @@ class Queue(pulumi.CustomResource):
429
424
  """
430
425
  A named resource to which messages are sent by publishers.
431
426
 
432
- > **Warning:** This resource requires an App Engine application to be created on the
433
- project you're provisioning it on. If you haven't already enabled it, you
434
- can create a `appengine.Application` resource to do so. This
435
- resource's location will be the same as the App Engine location specified.
436
-
437
427
  ## Example Usage
438
428
  ### Queue Basic
439
429
 
@@ -246,18 +246,31 @@ class EnvironmentConfigArgs:
246
246
  @pulumi.input_type
247
247
  class EnvironmentConfigDatabaseConfigArgs:
248
248
  def __init__(__self__, *,
249
- machine_type: pulumi.Input[str]):
250
- pulumi.set(__self__, "machine_type", machine_type)
249
+ machine_type: Optional[pulumi.Input[str]] = None,
250
+ zone: Optional[pulumi.Input[str]] = None):
251
+ if machine_type is not None:
252
+ pulumi.set(__self__, "machine_type", machine_type)
253
+ if zone is not None:
254
+ pulumi.set(__self__, "zone", zone)
251
255
 
252
256
  @property
253
257
  @pulumi.getter(name="machineType")
254
- def machine_type(self) -> pulumi.Input[str]:
258
+ def machine_type(self) -> Optional[pulumi.Input[str]]:
255
259
  return pulumi.get(self, "machine_type")
256
260
 
257
261
  @machine_type.setter
258
- def machine_type(self, value: pulumi.Input[str]):
262
+ def machine_type(self, value: Optional[pulumi.Input[str]]):
259
263
  pulumi.set(self, "machine_type", value)
260
264
 
265
+ @property
266
+ @pulumi.getter
267
+ def zone(self) -> Optional[pulumi.Input[str]]:
268
+ return pulumi.get(self, "zone")
269
+
270
+ @zone.setter
271
+ def zone(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "zone", value)
273
+
261
274
 
262
275
  @pulumi.input_type
263
276
  class EnvironmentConfigEncryptionConfigArgs:
@@ -268,14 +268,23 @@ class EnvironmentConfigDatabaseConfig(dict):
268
268
  return super().get(key, default)
269
269
 
270
270
  def __init__(__self__, *,
271
- machine_type: str):
272
- pulumi.set(__self__, "machine_type", machine_type)
271
+ machine_type: Optional[str] = None,
272
+ zone: Optional[str] = None):
273
+ if machine_type is not None:
274
+ pulumi.set(__self__, "machine_type", machine_type)
275
+ if zone is not None:
276
+ pulumi.set(__self__, "zone", zone)
273
277
 
274
278
  @property
275
279
  @pulumi.getter(name="machineType")
276
- def machine_type(self) -> str:
280
+ def machine_type(self) -> Optional[str]:
277
281
  return pulumi.get(self, "machine_type")
278
282
 
283
+ @property
284
+ @pulumi.getter
285
+ def zone(self) -> Optional[str]:
286
+ return pulumi.get(self, "zone")
287
+
279
288
 
280
289
  @pulumi.output_type
281
290
  class EnvironmentConfigEncryptionConfig(dict):
@@ -1395,14 +1404,21 @@ class GetEnvironmentConfigResult(dict):
1395
1404
  @pulumi.output_type
1396
1405
  class GetEnvironmentConfigDatabaseConfigResult(dict):
1397
1406
  def __init__(__self__, *,
1398
- machine_type: str):
1407
+ machine_type: str,
1408
+ zone: str):
1399
1409
  pulumi.set(__self__, "machine_type", machine_type)
1410
+ pulumi.set(__self__, "zone", zone)
1400
1411
 
1401
1412
  @property
1402
1413
  @pulumi.getter(name="machineType")
1403
1414
  def machine_type(self) -> str:
1404
1415
  return pulumi.get(self, "machine_type")
1405
1416
 
1417
+ @property
1418
+ @pulumi.getter
1419
+ def zone(self) -> str:
1420
+ return pulumi.get(self, "zone")
1421
+
1406
1422
 
1407
1423
  @pulumi.output_type
1408
1424
  class GetEnvironmentConfigEncryptionConfigResult(dict):
@@ -63,6 +63,7 @@ __all__ = [
63
63
  'ForwardingRuleServiceDirectoryRegistrationsArgs',
64
64
  'GlobalForwardingRuleMetadataFilterArgs',
65
65
  'GlobalForwardingRuleMetadataFilterFilterLabelArgs',
66
+ 'GlobalForwardingRuleServiceDirectoryRegistrationsArgs',
66
67
  'HaVpnGatewayVpnInterfaceArgs',
67
68
  'HealthCheckGrpcHealthCheckArgs',
68
69
  'HealthCheckHttp2HealthCheckArgs',
@@ -4441,6 +4442,51 @@ class GlobalForwardingRuleMetadataFilterFilterLabelArgs:
4441
4442
  pulumi.set(self, "value", value)
4442
4443
 
4443
4444
 
4445
+ @pulumi.input_type
4446
+ class GlobalForwardingRuleServiceDirectoryRegistrationsArgs:
4447
+ def __init__(__self__, *,
4448
+ namespace: Optional[pulumi.Input[str]] = None,
4449
+ service_directory_region: Optional[pulumi.Input[str]] = None):
4450
+ """
4451
+ :param pulumi.Input[str] namespace: Service Directory namespace to register the forwarding rule under.
4452
+ :param pulumi.Input[str] service_directory_region: [Optional] Service Directory region to register this global forwarding rule under.
4453
+ Default to "us-central1". Only used for PSC for Google APIs. All PSC for
4454
+ Google APIs Forwarding Rules on the same network should use the same Service
4455
+ Directory region.
4456
+ """
4457
+ if namespace is not None:
4458
+ pulumi.set(__self__, "namespace", namespace)
4459
+ if service_directory_region is not None:
4460
+ pulumi.set(__self__, "service_directory_region", service_directory_region)
4461
+
4462
+ @property
4463
+ @pulumi.getter
4464
+ def namespace(self) -> Optional[pulumi.Input[str]]:
4465
+ """
4466
+ Service Directory namespace to register the forwarding rule under.
4467
+ """
4468
+ return pulumi.get(self, "namespace")
4469
+
4470
+ @namespace.setter
4471
+ def namespace(self, value: Optional[pulumi.Input[str]]):
4472
+ pulumi.set(self, "namespace", value)
4473
+
4474
+ @property
4475
+ @pulumi.getter(name="serviceDirectoryRegion")
4476
+ def service_directory_region(self) -> Optional[pulumi.Input[str]]:
4477
+ """
4478
+ [Optional] Service Directory region to register this global forwarding rule under.
4479
+ Default to "us-central1". Only used for PSC for Google APIs. All PSC for
4480
+ Google APIs Forwarding Rules on the same network should use the same Service
4481
+ Directory region.
4482
+ """
4483
+ return pulumi.get(self, "service_directory_region")
4484
+
4485
+ @service_directory_region.setter
4486
+ def service_directory_region(self, value: Optional[pulumi.Input[str]]):
4487
+ pulumi.set(self, "service_directory_region", value)
4488
+
4489
+
4444
4490
  @pulumi.input_type
4445
4491
  class HaVpnGatewayVpnInterfaceArgs:
4446
4492
  def __init__(__self__, *,
@@ -22,7 +22,7 @@ class GetGlobalForwardingRuleResult:
22
22
  """
23
23
  A collection of values returned by getGlobalForwardingRule.
24
24
  """
25
- def __init__(__self__, allow_psc_global_access=None, base_forwarding_rule=None, description=None, effective_labels=None, id=None, ip_address=None, ip_protocol=None, ip_version=None, label_fingerprint=None, labels=None, load_balancing_scheme=None, metadata_filters=None, name=None, network=None, no_automate_dns_zone=None, port_range=None, project=None, psc_connection_id=None, psc_connection_status=None, pulumi_labels=None, self_link=None, source_ip_ranges=None, subnetwork=None, target=None):
25
+ def __init__(__self__, allow_psc_global_access=None, base_forwarding_rule=None, description=None, effective_labels=None, id=None, ip_address=None, ip_protocol=None, ip_version=None, label_fingerprint=None, labels=None, load_balancing_scheme=None, metadata_filters=None, name=None, network=None, no_automate_dns_zone=None, port_range=None, project=None, psc_connection_id=None, psc_connection_status=None, pulumi_labels=None, self_link=None, service_directory_registrations=None, source_ip_ranges=None, subnetwork=None, target=None):
26
26
  if allow_psc_global_access and not isinstance(allow_psc_global_access, bool):
27
27
  raise TypeError("Expected argument 'allow_psc_global_access' to be a bool")
28
28
  pulumi.set(__self__, "allow_psc_global_access", allow_psc_global_access)
@@ -86,6 +86,9 @@ class GetGlobalForwardingRuleResult:
86
86
  if self_link and not isinstance(self_link, str):
87
87
  raise TypeError("Expected argument 'self_link' to be a str")
88
88
  pulumi.set(__self__, "self_link", self_link)
89
+ if service_directory_registrations and not isinstance(service_directory_registrations, list):
90
+ raise TypeError("Expected argument 'service_directory_registrations' to be a list")
91
+ pulumi.set(__self__, "service_directory_registrations", service_directory_registrations)
89
92
  if source_ip_ranges and not isinstance(source_ip_ranges, list):
90
93
  raise TypeError("Expected argument 'source_ip_ranges' to be a list")
91
94
  pulumi.set(__self__, "source_ip_ranges", source_ip_ranges)
@@ -204,6 +207,11 @@ class GetGlobalForwardingRuleResult:
204
207
  def self_link(self) -> str:
205
208
  return pulumi.get(self, "self_link")
206
209
 
210
+ @property
211
+ @pulumi.getter(name="serviceDirectoryRegistrations")
212
+ def service_directory_registrations(self) -> Sequence['outputs.GetGlobalForwardingRuleServiceDirectoryRegistrationResult']:
213
+ return pulumi.get(self, "service_directory_registrations")
214
+
207
215
  @property
208
216
  @pulumi.getter(name="sourceIpRanges")
209
217
  def source_ip_ranges(self) -> Sequence[str]:
@@ -247,6 +255,7 @@ class AwaitableGetGlobalForwardingRuleResult(GetGlobalForwardingRuleResult):
247
255
  psc_connection_status=self.psc_connection_status,
248
256
  pulumi_labels=self.pulumi_labels,
249
257
  self_link=self.self_link,
258
+ service_directory_registrations=self.service_directory_registrations,
250
259
  source_ip_ranges=self.source_ip_ranges,
251
260
  subnetwork=self.subnetwork,
252
261
  target=self.target)
@@ -302,6 +311,7 @@ def get_global_forwarding_rule(name: Optional[str] = None,
302
311
  psc_connection_status=pulumi.get(__ret__, 'psc_connection_status'),
303
312
  pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
304
313
  self_link=pulumi.get(__ret__, 'self_link'),
314
+ service_directory_registrations=pulumi.get(__ret__, 'service_directory_registrations'),
305
315
  source_ip_ranges=pulumi.get(__ret__, 'source_ip_ranges'),
306
316
  subnetwork=pulumi.get(__ret__, 'subnetwork'),
307
317
  target=pulumi.get(__ret__, 'target'))