pulumi-gcp 8.36.0a1750484065__py3-none-any.whl → 8.37.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 (117) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +2 -0
  5. pulumi_gcp/apihub/_inputs.py +1658 -0
  6. pulumi_gcp/apihub/outputs.py +1374 -0
  7. pulumi_gcp/apihub/plugin.py +1146 -0
  8. pulumi_gcp/apihub/plugin_instance.py +808 -0
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/table.py +82 -0
  16. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  17. pulumi_gcp/cloudidentity/outputs.py +11 -0
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  19. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  20. pulumi_gcp/cloudrunv2/job.py +44 -0
  21. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  22. pulumi_gcp/cloudrunv2/service.py +0 -2
  23. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  24. pulumi_gcp/compute/__init__.py +1 -0
  25. pulumi_gcp/compute/_inputs.py +787 -18
  26. pulumi_gcp/compute/disk.py +35 -28
  27. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  28. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  29. pulumi_gcp/compute/get_region_disk.py +12 -1
  30. pulumi_gcp/compute/instance.py +2 -2
  31. pulumi_gcp/compute/instance_group_manager.py +165 -14
  32. pulumi_gcp/compute/instance_template.py +2 -2
  33. pulumi_gcp/compute/interconnect.py +43 -11
  34. pulumi_gcp/compute/network.py +56 -0
  35. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  36. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  37. pulumi_gcp/compute/node_template.py +21 -0
  38. pulumi_gcp/compute/outputs.py +620 -12
  39. pulumi_gcp/compute/region_disk.py +114 -0
  40. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  42. pulumi_gcp/compute/service_attachment.py +76 -8
  43. pulumi_gcp/compute/wire_group.py +751 -0
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  47. pulumi_gcp/contactcenterinsights/view.py +526 -0
  48. pulumi_gcp/container/_inputs.py +207 -28
  49. pulumi_gcp/container/cluster.py +54 -0
  50. pulumi_gcp/container/get_cluster.py +12 -1
  51. pulumi_gcp/container/get_engine_versions.py +15 -1
  52. pulumi_gcp/container/node_pool.py +14 -0
  53. pulumi_gcp/container/outputs.py +295 -21
  54. pulumi_gcp/dataplex/_inputs.py +431 -6
  55. pulumi_gcp/dataplex/datascan.py +251 -0
  56. pulumi_gcp/dataplex/entry_type.py +2 -2
  57. pulumi_gcp/dataplex/glossary_category.py +8 -8
  58. pulumi_gcp/dataplex/glossary_term.py +8 -8
  59. pulumi_gcp/dataplex/outputs.py +353 -4
  60. pulumi_gcp/dataplex/task.py +16 -16
  61. pulumi_gcp/dataproc/__init__.py +1 -0
  62. pulumi_gcp/dataproc/_inputs.py +486 -0
  63. pulumi_gcp/dataproc/batch.py +10 -10
  64. pulumi_gcp/dataproc/outputs.py +407 -0
  65. pulumi_gcp/dataproc/session_template.py +1084 -0
  66. pulumi_gcp/diagflow/__init__.py +2 -0
  67. pulumi_gcp/diagflow/_inputs.py +479 -0
  68. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  69. pulumi_gcp/diagflow/cx_tool.py +2 -2
  70. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  71. pulumi_gcp/diagflow/outputs.py +416 -0
  72. pulumi_gcp/dns/record_set.py +4 -2
  73. pulumi_gcp/firestore/database.py +0 -9
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gkehub/membership_binding.py +6 -6
  76. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  77. pulumi_gcp/gkehub/namespace.py +4 -4
  78. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  79. pulumi_gcp/iam/_inputs.py +36 -0
  80. pulumi_gcp/iam/outputs.py +38 -0
  81. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  82. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  83. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  84. pulumi_gcp/kms/autokey_config.py +28 -0
  85. pulumi_gcp/kms/get_autokey_config.py +12 -1
  86. pulumi_gcp/lustre/get_instance.py +12 -1
  87. pulumi_gcp/lustre/instance.py +143 -86
  88. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  89. pulumi_gcp/managedkafka/connector.py +4 -4
  90. pulumi_gcp/memorystore/get_instance.py +12 -1
  91. pulumi_gcp/memorystore/instance.py +49 -0
  92. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  93. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  94. pulumi_gcp/notebooks/instance.py +8 -8
  95. pulumi_gcp/orgpolicy/policy.py +2 -2
  96. pulumi_gcp/provider.py +20 -0
  97. pulumi_gcp/pubsub/subscription.py +6 -6
  98. pulumi_gcp/pulumi-plugin.json +1 -1
  99. pulumi_gcp/redis/get_instance.py +12 -1
  100. pulumi_gcp/redis/instance.py +44 -0
  101. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  102. pulumi_gcp/secretmanager/outputs.py +7 -0
  103. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  104. pulumi_gcp/spanner/_inputs.py +24 -1
  105. pulumi_gcp/spanner/outputs.py +17 -1
  106. pulumi_gcp/storage/_inputs.py +43 -3
  107. pulumi_gcp/storage/bucket_object.py +56 -0
  108. pulumi_gcp/storage/get_bucket_object.py +12 -1
  109. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  110. pulumi_gcp/storage/outputs.py +53 -3
  111. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  112. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  113. pulumi_gcp/workbench/instance.py +2 -0
  114. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +2 -2
  115. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +117 -109
  116. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
  117. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -70,15 +70,19 @@ class _SQuotaAdjusterSettingsState:
70
70
  effective_container: Optional[pulumi.Input[builtins.str]] = None,
71
71
  effective_enablement: Optional[pulumi.Input[builtins.str]] = None,
72
72
  enablement: Optional[pulumi.Input[builtins.str]] = None,
73
+ inherited: Optional[pulumi.Input[builtins.bool]] = None,
74
+ inherited_from: Optional[pulumi.Input[builtins.str]] = None,
73
75
  parent: Optional[pulumi.Input[builtins.str]] = None):
74
76
  """
75
77
  Input properties used for looking up and filtering SQuotaAdjusterSettings resources.
76
78
  :param pulumi.Input[builtins.str] effective_container: The resource container that determines if the quota adjuster is set for this project.
77
- Expect this field to be empty currently.
78
79
  :param pulumi.Input[builtins.str] effective_enablement: Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
79
- Expect this field to be empty currently.
80
80
  :param pulumi.Input[builtins.str] enablement: Required. The configured value of the enablement at the given resource.
81
81
  Possible values are: `ENABLED`, `DISABLED`.
82
+ :param pulumi.Input[builtins.bool] inherited: Indicates whether the setting is inherited or explicitly specified.
83
+ :param pulumi.Input[builtins.str] inherited_from: The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
84
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
85
+ The value will be empty when `enablement` is specified on this resource container.
82
86
  :param pulumi.Input[builtins.str] parent: The parent of the quota preference. Allowed parent format is "projects/[project-id / number]".
83
87
 
84
88
 
@@ -90,6 +94,10 @@ class _SQuotaAdjusterSettingsState:
90
94
  pulumi.set(__self__, "effective_enablement", effective_enablement)
91
95
  if enablement is not None:
92
96
  pulumi.set(__self__, "enablement", enablement)
97
+ if inherited is not None:
98
+ pulumi.set(__self__, "inherited", inherited)
99
+ if inherited_from is not None:
100
+ pulumi.set(__self__, "inherited_from", inherited_from)
93
101
  if parent is not None:
94
102
  pulumi.set(__self__, "parent", parent)
95
103
 
@@ -98,7 +106,6 @@ class _SQuotaAdjusterSettingsState:
98
106
  def effective_container(self) -> Optional[pulumi.Input[builtins.str]]:
99
107
  """
100
108
  The resource container that determines if the quota adjuster is set for this project.
101
- Expect this field to be empty currently.
102
109
  """
103
110
  return pulumi.get(self, "effective_container")
104
111
 
@@ -111,7 +118,6 @@ class _SQuotaAdjusterSettingsState:
111
118
  def effective_enablement(self) -> Optional[pulumi.Input[builtins.str]]:
112
119
  """
113
120
  Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
114
- Expect this field to be empty currently.
115
121
  """
116
122
  return pulumi.get(self, "effective_enablement")
117
123
 
@@ -132,6 +138,32 @@ class _SQuotaAdjusterSettingsState:
132
138
  def enablement(self, value: Optional[pulumi.Input[builtins.str]]):
133
139
  pulumi.set(self, "enablement", value)
134
140
 
141
+ @property
142
+ @pulumi.getter
143
+ def inherited(self) -> Optional[pulumi.Input[builtins.bool]]:
144
+ """
145
+ Indicates whether the setting is inherited or explicitly specified.
146
+ """
147
+ return pulumi.get(self, "inherited")
148
+
149
+ @inherited.setter
150
+ def inherited(self, value: Optional[pulumi.Input[builtins.bool]]):
151
+ pulumi.set(self, "inherited", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="inheritedFrom")
155
+ def inherited_from(self) -> Optional[pulumi.Input[builtins.str]]:
156
+ """
157
+ The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
158
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
159
+ The value will be empty when `enablement` is specified on this resource container.
160
+ """
161
+ return pulumi.get(self, "inherited_from")
162
+
163
+ @inherited_from.setter
164
+ def inherited_from(self, value: Optional[pulumi.Input[builtins.str]]):
165
+ pulumi.set(self, "inherited_from", value)
166
+
135
167
  @property
136
168
  @pulumi.getter
137
169
  def parent(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -256,6 +288,8 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
256
288
  __props__.__dict__["parent"] = parent
257
289
  __props__.__dict__["effective_container"] = None
258
290
  __props__.__dict__["effective_enablement"] = None
291
+ __props__.__dict__["inherited"] = None
292
+ __props__.__dict__["inherited_from"] = None
259
293
  super(SQuotaAdjusterSettings, __self__).__init__(
260
294
  'gcp:cloudquota/sQuotaAdjusterSettings:SQuotaAdjusterSettings',
261
295
  resource_name,
@@ -269,6 +303,8 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
269
303
  effective_container: Optional[pulumi.Input[builtins.str]] = None,
270
304
  effective_enablement: Optional[pulumi.Input[builtins.str]] = None,
271
305
  enablement: Optional[pulumi.Input[builtins.str]] = None,
306
+ inherited: Optional[pulumi.Input[builtins.bool]] = None,
307
+ inherited_from: Optional[pulumi.Input[builtins.str]] = None,
272
308
  parent: Optional[pulumi.Input[builtins.str]] = None) -> 'SQuotaAdjusterSettings':
273
309
  """
274
310
  Get an existing SQuotaAdjusterSettings resource's state with the given name, id, and optional extra
@@ -278,11 +314,13 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
278
314
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
279
315
  :param pulumi.ResourceOptions opts: Options for the resource.
280
316
  :param pulumi.Input[builtins.str] effective_container: The resource container that determines if the quota adjuster is set for this project.
281
- Expect this field to be empty currently.
282
317
  :param pulumi.Input[builtins.str] effective_enablement: Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
283
- Expect this field to be empty currently.
284
318
  :param pulumi.Input[builtins.str] enablement: Required. The configured value of the enablement at the given resource.
285
319
  Possible values are: `ENABLED`, `DISABLED`.
320
+ :param pulumi.Input[builtins.bool] inherited: Indicates whether the setting is inherited or explicitly specified.
321
+ :param pulumi.Input[builtins.str] inherited_from: The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
322
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
323
+ The value will be empty when `enablement` is specified on this resource container.
286
324
  :param pulumi.Input[builtins.str] parent: The parent of the quota preference. Allowed parent format is "projects/[project-id / number]".
287
325
 
288
326
 
@@ -295,6 +333,8 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
295
333
  __props__.__dict__["effective_container"] = effective_container
296
334
  __props__.__dict__["effective_enablement"] = effective_enablement
297
335
  __props__.__dict__["enablement"] = enablement
336
+ __props__.__dict__["inherited"] = inherited
337
+ __props__.__dict__["inherited_from"] = inherited_from
298
338
  __props__.__dict__["parent"] = parent
299
339
  return SQuotaAdjusterSettings(resource_name, opts=opts, __props__=__props__)
300
340
 
@@ -303,7 +343,6 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
303
343
  def effective_container(self) -> pulumi.Output[builtins.str]:
304
344
  """
305
345
  The resource container that determines if the quota adjuster is set for this project.
306
- Expect this field to be empty currently.
307
346
  """
308
347
  return pulumi.get(self, "effective_container")
309
348
 
@@ -312,7 +351,6 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
312
351
  def effective_enablement(self) -> pulumi.Output[builtins.str]:
313
352
  """
314
353
  Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
315
- Expect this field to be empty currently.
316
354
  """
317
355
  return pulumi.get(self, "effective_enablement")
318
356
 
@@ -325,6 +363,24 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
325
363
  """
326
364
  return pulumi.get(self, "enablement")
327
365
 
366
+ @property
367
+ @pulumi.getter
368
+ def inherited(self) -> pulumi.Output[builtins.bool]:
369
+ """
370
+ Indicates whether the setting is inherited or explicitly specified.
371
+ """
372
+ return pulumi.get(self, "inherited")
373
+
374
+ @property
375
+ @pulumi.getter(name="inheritedFrom")
376
+ def inherited_from(self) -> pulumi.Output[builtins.str]:
377
+ """
378
+ The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
379
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
380
+ The value will be empty when `enablement` is specified on this resource container.
381
+ """
382
+ return pulumi.get(self, "inherited_from")
383
+
328
384
  @property
329
385
  @pulumi.getter
330
386
  def parent(self) -> pulumi.Output[builtins.str]:
@@ -54,6 +54,8 @@ __all__ = [
54
54
  'JobTemplateTemplateContainerStartupProbeTcpSocketArgsDict',
55
55
  'JobTemplateTemplateContainerVolumeMountArgs',
56
56
  'JobTemplateTemplateContainerVolumeMountArgsDict',
57
+ 'JobTemplateTemplateNodeSelectorArgs',
58
+ 'JobTemplateTemplateNodeSelectorArgsDict',
57
59
  'JobTemplateTemplateVolumeArgs',
58
60
  'JobTemplateTemplateVolumeArgsDict',
59
61
  'JobTemplateTemplateVolumeCloudSqlInstanceArgs',
@@ -812,6 +814,11 @@ if not MYPY:
812
814
  """
813
815
  Number of retries allowed per Task, before marking this Task failed. Defaults to 3. Minimum value is 0.
814
816
  """
817
+ node_selector: NotRequired[pulumi.Input['JobTemplateTemplateNodeSelectorArgsDict']]
818
+ """
819
+ Node Selector describes the hardware requirements of the resources.
820
+ Structure is documented below.
821
+ """
815
822
  service_account: NotRequired[pulumi.Input[builtins.str]]
816
823
  """
817
824
  Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
@@ -841,6 +848,7 @@ class JobTemplateTemplateArgs:
841
848
  encryption_key: Optional[pulumi.Input[builtins.str]] = None,
842
849
  execution_environment: Optional[pulumi.Input[builtins.str]] = None,
843
850
  max_retries: Optional[pulumi.Input[builtins.int]] = None,
851
+ node_selector: Optional[pulumi.Input['JobTemplateTemplateNodeSelectorArgs']] = None,
844
852
  service_account: Optional[pulumi.Input[builtins.str]] = None,
845
853
  timeout: Optional[pulumi.Input[builtins.str]] = None,
846
854
  volumes: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateTemplateVolumeArgs']]]] = None,
@@ -852,6 +860,8 @@ class JobTemplateTemplateArgs:
852
860
  :param pulumi.Input[builtins.str] execution_environment: The execution environment being used to host this Task.
853
861
  Possible values are: `EXECUTION_ENVIRONMENT_GEN1`, `EXECUTION_ENVIRONMENT_GEN2`.
854
862
  :param pulumi.Input[builtins.int] max_retries: Number of retries allowed per Task, before marking this Task failed. Defaults to 3. Minimum value is 0.
863
+ :param pulumi.Input['JobTemplateTemplateNodeSelectorArgs'] node_selector: Node Selector describes the hardware requirements of the resources.
864
+ Structure is documented below.
855
865
  :param pulumi.Input[builtins.str] service_account: Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
856
866
  :param pulumi.Input[builtins.str] timeout: Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.
857
867
  A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
@@ -868,6 +878,8 @@ class JobTemplateTemplateArgs:
868
878
  pulumi.set(__self__, "execution_environment", execution_environment)
869
879
  if max_retries is not None:
870
880
  pulumi.set(__self__, "max_retries", max_retries)
881
+ if node_selector is not None:
882
+ pulumi.set(__self__, "node_selector", node_selector)
871
883
  if service_account is not None:
872
884
  pulumi.set(__self__, "service_account", service_account)
873
885
  if timeout is not None:
@@ -927,6 +939,19 @@ class JobTemplateTemplateArgs:
927
939
  def max_retries(self, value: Optional[pulumi.Input[builtins.int]]):
928
940
  pulumi.set(self, "max_retries", value)
929
941
 
942
+ @property
943
+ @pulumi.getter(name="nodeSelector")
944
+ def node_selector(self) -> Optional[pulumi.Input['JobTemplateTemplateNodeSelectorArgs']]:
945
+ """
946
+ Node Selector describes the hardware requirements of the resources.
947
+ Structure is documented below.
948
+ """
949
+ return pulumi.get(self, "node_selector")
950
+
951
+ @node_selector.setter
952
+ def node_selector(self, value: Optional[pulumi.Input['JobTemplateTemplateNodeSelectorArgs']]):
953
+ pulumi.set(self, "node_selector", value)
954
+
930
955
  @property
931
956
  @pulumi.getter(name="serviceAccount")
932
957
  def service_account(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -1449,7 +1474,7 @@ if not MYPY:
1449
1474
  class JobTemplateTemplateContainerResourcesArgsDict(TypedDict):
1450
1475
  limits: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
1451
1476
  """
1452
- 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
1477
+ Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
1453
1478
  """
1454
1479
  elif False:
1455
1480
  JobTemplateTemplateContainerResourcesArgsDict: TypeAlias = Mapping[str, Any]
@@ -1459,7 +1484,7 @@ class JobTemplateTemplateContainerResourcesArgs:
1459
1484
  def __init__(__self__, *,
1460
1485
  limits: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
1461
1486
  """
1462
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.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
1487
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] limits: Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
1463
1488
  """
1464
1489
  if limits is not None:
1465
1490
  pulumi.set(__self__, "limits", limits)
@@ -1468,7 +1493,7 @@ class JobTemplateTemplateContainerResourcesArgs:
1468
1493
  @pulumi.getter
1469
1494
  def limits(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
1470
1495
  """
1471
- 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
1496
+ Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
1472
1497
  """
1473
1498
  return pulumi.get(self, "limits")
1474
1499
 
@@ -1931,6 +1956,43 @@ class JobTemplateTemplateContainerVolumeMountArgs:
1931
1956
  pulumi.set(self, "name", value)
1932
1957
 
1933
1958
 
1959
+ if not MYPY:
1960
+ class JobTemplateTemplateNodeSelectorArgsDict(TypedDict):
1961
+ accelerator: pulumi.Input[builtins.str]
1962
+ """
1963
+ The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
1964
+
1965
+ - - -
1966
+ """
1967
+ elif False:
1968
+ JobTemplateTemplateNodeSelectorArgsDict: TypeAlias = Mapping[str, Any]
1969
+
1970
+ @pulumi.input_type
1971
+ class JobTemplateTemplateNodeSelectorArgs:
1972
+ def __init__(__self__, *,
1973
+ accelerator: pulumi.Input[builtins.str]):
1974
+ """
1975
+ :param pulumi.Input[builtins.str] accelerator: The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
1976
+
1977
+ - - -
1978
+ """
1979
+ pulumi.set(__self__, "accelerator", accelerator)
1980
+
1981
+ @property
1982
+ @pulumi.getter
1983
+ def accelerator(self) -> pulumi.Input[builtins.str]:
1984
+ """
1985
+ The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
1986
+
1987
+ - - -
1988
+ """
1989
+ return pulumi.get(self, "accelerator")
1990
+
1991
+ @accelerator.setter
1992
+ def accelerator(self, value: pulumi.Input[builtins.str]):
1993
+ pulumi.set(self, "accelerator", value)
1994
+
1995
+
1934
1996
  if not MYPY:
1935
1997
  class JobTemplateTemplateVolumeArgsDict(TypedDict):
1936
1998
  name: pulumi.Input[builtins.str]
@@ -2551,8 +2613,6 @@ if not MYPY:
2551
2613
  tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
2552
2614
  """
2553
2615
  Network tags applied to this Cloud Run job.
2554
-
2555
- - - -
2556
2616
  """
2557
2617
  elif False:
2558
2618
  JobTemplateTemplateVpcAccessNetworkInterfaceArgsDict: TypeAlias = Mapping[str, Any]
@@ -2571,8 +2631,6 @@ class JobTemplateTemplateVpcAccessNetworkInterfaceArgs:
2571
2631
  network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the
2572
2632
  subnetwork with the same name with the network will be used.
2573
2633
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Network tags applied to this Cloud Run job.
2574
-
2575
- - - -
2576
2634
  """
2577
2635
  if network is not None:
2578
2636
  pulumi.set(__self__, "network", network)
@@ -2614,8 +2672,6 @@ class JobTemplateTemplateVpcAccessNetworkInterfaceArgs:
2614
2672
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
2615
2673
  """
2616
2674
  Network tags applied to this Cloud Run job.
2617
-
2618
- - - -
2619
2675
  """
2620
2676
  return pulumi.get(self, "tags")
2621
2677
 
@@ -1151,6 +1151,28 @@ class Job(pulumi.CustomResource):
1151
1151
  },
1152
1152
  })
1153
1153
  ```
1154
+ ### Cloudrunv2 Job Gpu
1155
+
1156
+ ```python
1157
+ import pulumi
1158
+ import pulumi_gcp as gcp
1159
+
1160
+ default = gcp.cloudrunv2.Job("default",
1161
+ name="cloudrun-job",
1162
+ location="us-central1",
1163
+ deletion_protection=False,
1164
+ launch_stage="BETA",
1165
+ template={
1166
+ "template": {
1167
+ "containers": [{
1168
+ "image": "us-docker.pkg.dev/cloudrun/container/job",
1169
+ }],
1170
+ "node_selector": {
1171
+ "accelerator": "nvidia-l4",
1172
+ },
1173
+ },
1174
+ })
1175
+ ```
1154
1176
 
1155
1177
  ## Import
1156
1178
 
@@ -1529,6 +1551,28 @@ class Job(pulumi.CustomResource):
1529
1551
  },
1530
1552
  })
1531
1553
  ```
1554
+ ### Cloudrunv2 Job Gpu
1555
+
1556
+ ```python
1557
+ import pulumi
1558
+ import pulumi_gcp as gcp
1559
+
1560
+ default = gcp.cloudrunv2.Job("default",
1561
+ name="cloudrun-job",
1562
+ location="us-central1",
1563
+ deletion_protection=False,
1564
+ launch_stage="BETA",
1565
+ template={
1566
+ "template": {
1567
+ "containers": [{
1568
+ "image": "us-docker.pkg.dev/cloudrun/container/job",
1569
+ }],
1570
+ "node_selector": {
1571
+ "accelerator": "nvidia-l4",
1572
+ },
1573
+ },
1574
+ })
1575
+ ```
1532
1576
 
1533
1577
  ## Import
1534
1578
 
@@ -36,6 +36,7 @@ __all__ = [
36
36
  'JobTemplateTemplateContainerStartupProbeHttpGetHttpHeader',
37
37
  'JobTemplateTemplateContainerStartupProbeTcpSocket',
38
38
  'JobTemplateTemplateContainerVolumeMount',
39
+ 'JobTemplateTemplateNodeSelector',
39
40
  'JobTemplateTemplateVolume',
40
41
  'JobTemplateTemplateVolumeCloudSqlInstance',
41
42
  'JobTemplateTemplateVolumeEmptyDir',
@@ -128,6 +129,7 @@ __all__ = [
128
129
  'GetJobTemplateTemplateContainerStartupProbeHttpGetHttpHeaderResult',
129
130
  'GetJobTemplateTemplateContainerStartupProbeTcpSocketResult',
130
131
  'GetJobTemplateTemplateContainerVolumeMountResult',
132
+ 'GetJobTemplateTemplateNodeSelectorResult',
131
133
  'GetJobTemplateTemplateVolumeResult',
132
134
  'GetJobTemplateTemplateVolumeCloudSqlInstanceResult',
133
135
  'GetJobTemplateTemplateVolumeEmptyDirResult',
@@ -639,6 +641,8 @@ class JobTemplateTemplate(dict):
639
641
  suggest = "execution_environment"
640
642
  elif key == "maxRetries":
641
643
  suggest = "max_retries"
644
+ elif key == "nodeSelector":
645
+ suggest = "node_selector"
642
646
  elif key == "serviceAccount":
643
647
  suggest = "service_account"
644
648
  elif key == "vpcAccess":
@@ -660,6 +664,7 @@ class JobTemplateTemplate(dict):
660
664
  encryption_key: Optional[builtins.str] = None,
661
665
  execution_environment: Optional[builtins.str] = None,
662
666
  max_retries: Optional[builtins.int] = None,
667
+ node_selector: Optional['outputs.JobTemplateTemplateNodeSelector'] = None,
663
668
  service_account: Optional[builtins.str] = None,
664
669
  timeout: Optional[builtins.str] = None,
665
670
  volumes: Optional[Sequence['outputs.JobTemplateTemplateVolume']] = None,
@@ -671,6 +676,8 @@ class JobTemplateTemplate(dict):
671
676
  :param builtins.str execution_environment: The execution environment being used to host this Task.
672
677
  Possible values are: `EXECUTION_ENVIRONMENT_GEN1`, `EXECUTION_ENVIRONMENT_GEN2`.
673
678
  :param builtins.int max_retries: Number of retries allowed per Task, before marking this Task failed. Defaults to 3. Minimum value is 0.
679
+ :param 'JobTemplateTemplateNodeSelectorArgs' node_selector: Node Selector describes the hardware requirements of the resources.
680
+ Structure is documented below.
674
681
  :param builtins.str service_account: Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
675
682
  :param builtins.str timeout: Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.
676
683
  A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
@@ -687,6 +694,8 @@ class JobTemplateTemplate(dict):
687
694
  pulumi.set(__self__, "execution_environment", execution_environment)
688
695
  if max_retries is not None:
689
696
  pulumi.set(__self__, "max_retries", max_retries)
697
+ if node_selector is not None:
698
+ pulumi.set(__self__, "node_selector", node_selector)
690
699
  if service_account is not None:
691
700
  pulumi.set(__self__, "service_account", service_account)
692
701
  if timeout is not None:
@@ -730,6 +739,15 @@ class JobTemplateTemplate(dict):
730
739
  """
731
740
  return pulumi.get(self, "max_retries")
732
741
 
742
+ @property
743
+ @pulumi.getter(name="nodeSelector")
744
+ def node_selector(self) -> Optional['outputs.JobTemplateTemplateNodeSelector']:
745
+ """
746
+ Node Selector describes the hardware requirements of the resources.
747
+ Structure is documented below.
748
+ """
749
+ return pulumi.get(self, "node_selector")
750
+
733
751
  @property
734
752
  @pulumi.getter(name="serviceAccount")
735
753
  def service_account(self) -> Optional[builtins.str]:
@@ -1124,7 +1142,7 @@ class JobTemplateTemplateContainerResources(dict):
1124
1142
  def __init__(__self__, *,
1125
1143
  limits: Optional[Mapping[str, builtins.str]] = None):
1126
1144
  """
1127
- :param Mapping[str, builtins.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
1145
+ :param Mapping[str, builtins.str] limits: Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
1128
1146
  """
1129
1147
  if limits is not None:
1130
1148
  pulumi.set(__self__, "limits", limits)
@@ -1133,7 +1151,7 @@ class JobTemplateTemplateContainerResources(dict):
1133
1151
  @pulumi.getter
1134
1152
  def limits(self) -> Optional[Mapping[str, builtins.str]]:
1135
1153
  """
1136
- 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
1154
+ Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
1137
1155
  """
1138
1156
  return pulumi.get(self, "limits")
1139
1157
 
@@ -1472,6 +1490,28 @@ class JobTemplateTemplateContainerVolumeMount(dict):
1472
1490
  return pulumi.get(self, "name")
1473
1491
 
1474
1492
 
1493
+ @pulumi.output_type
1494
+ class JobTemplateTemplateNodeSelector(dict):
1495
+ def __init__(__self__, *,
1496
+ accelerator: builtins.str):
1497
+ """
1498
+ :param builtins.str accelerator: The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
1499
+
1500
+ - - -
1501
+ """
1502
+ pulumi.set(__self__, "accelerator", accelerator)
1503
+
1504
+ @property
1505
+ @pulumi.getter
1506
+ def accelerator(self) -> builtins.str:
1507
+ """
1508
+ The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
1509
+
1510
+ - - -
1511
+ """
1512
+ return pulumi.get(self, "accelerator")
1513
+
1514
+
1475
1515
  @pulumi.output_type
1476
1516
  class JobTemplateTemplateVolume(dict):
1477
1517
  @staticmethod
@@ -1952,8 +1992,6 @@ class JobTemplateTemplateVpcAccessNetworkInterface(dict):
1952
1992
  network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the
1953
1993
  subnetwork with the same name with the network will be used.
1954
1994
  :param Sequence[builtins.str] tags: Network tags applied to this Cloud Run job.
1955
-
1956
- - - -
1957
1995
  """
1958
1996
  if network is not None:
1959
1997
  pulumi.set(__self__, "network", network)
@@ -1987,8 +2025,6 @@ class JobTemplateTemplateVpcAccessNetworkInterface(dict):
1987
2025
  def tags(self) -> Optional[Sequence[builtins.str]]:
1988
2026
  """
1989
2027
  Network tags applied to this Cloud Run job.
1990
-
1991
- - - -
1992
2028
  """
1993
2029
  return pulumi.get(self, "tags")
1994
2030
 
@@ -6788,6 +6824,7 @@ class GetJobTemplateTemplateResult(dict):
6788
6824
  encryption_key: builtins.str,
6789
6825
  execution_environment: builtins.str,
6790
6826
  max_retries: builtins.int,
6827
+ node_selectors: Sequence['outputs.GetJobTemplateTemplateNodeSelectorResult'],
6791
6828
  service_account: builtins.str,
6792
6829
  timeout: builtins.str,
6793
6830
  volumes: Sequence['outputs.GetJobTemplateTemplateVolumeResult'],
@@ -6797,6 +6834,7 @@ class GetJobTemplateTemplateResult(dict):
6797
6834
  :param builtins.str encryption_key: A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
6798
6835
  :param builtins.str execution_environment: The execution environment being used to host this Task. Possible values: ["EXECUTION_ENVIRONMENT_GEN1", "EXECUTION_ENVIRONMENT_GEN2"]
6799
6836
  :param builtins.int max_retries: Number of retries allowed per Task, before marking this Task failed. Defaults to 3. Minimum value is 0.
6837
+ :param Sequence['GetJobTemplateTemplateNodeSelectorArgs'] node_selectors: Node Selector describes the hardware requirements of the resources.
6800
6838
  :param builtins.str service_account: Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
6801
6839
  :param builtins.str timeout: Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.
6802
6840
 
@@ -6808,6 +6846,7 @@ class GetJobTemplateTemplateResult(dict):
6808
6846
  pulumi.set(__self__, "encryption_key", encryption_key)
6809
6847
  pulumi.set(__self__, "execution_environment", execution_environment)
6810
6848
  pulumi.set(__self__, "max_retries", max_retries)
6849
+ pulumi.set(__self__, "node_selectors", node_selectors)
6811
6850
  pulumi.set(__self__, "service_account", service_account)
6812
6851
  pulumi.set(__self__, "timeout", timeout)
6813
6852
  pulumi.set(__self__, "volumes", volumes)
@@ -6845,6 +6884,14 @@ class GetJobTemplateTemplateResult(dict):
6845
6884
  """
6846
6885
  return pulumi.get(self, "max_retries")
6847
6886
 
6887
+ @property
6888
+ @pulumi.getter(name="nodeSelectors")
6889
+ def node_selectors(self) -> Sequence['outputs.GetJobTemplateTemplateNodeSelectorResult']:
6890
+ """
6891
+ Node Selector describes the hardware requirements of the resources.
6892
+ """
6893
+ return pulumi.get(self, "node_selectors")
6894
+
6848
6895
  @property
6849
6896
  @pulumi.getter(name="serviceAccount")
6850
6897
  def service_account(self) -> builtins.str:
@@ -7137,7 +7184,7 @@ class GetJobTemplateTemplateContainerResourceResult(dict):
7137
7184
  def __init__(__self__, *,
7138
7185
  limits: Mapping[str, builtins.str]):
7139
7186
  """
7140
- :param Mapping[str, builtins.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
7187
+ :param Mapping[str, builtins.str] limits: Only memory, CPU, and nvidia.com/gpu are supported. Use key 'cpu' for CPU limit, 'memory' for memory limit, 'nvidia.com/gpu' for gpu 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
7141
7188
  """
7142
7189
  pulumi.set(__self__, "limits", limits)
7143
7190
 
@@ -7145,7 +7192,7 @@ class GetJobTemplateTemplateContainerResourceResult(dict):
7145
7192
  @pulumi.getter
7146
7193
  def limits(self) -> Mapping[str, builtins.str]:
7147
7194
  """
7148
- 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
7195
+ Only memory, CPU, and nvidia.com/gpu are supported. Use key 'cpu' for CPU limit, 'memory' for memory limit, 'nvidia.com/gpu' for gpu 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
7149
7196
  """
7150
7197
  return pulumi.get(self, "limits")
7151
7198
 
@@ -7401,6 +7448,24 @@ class GetJobTemplateTemplateContainerVolumeMountResult(dict):
7401
7448
  return pulumi.get(self, "name")
7402
7449
 
7403
7450
 
7451
+ @pulumi.output_type
7452
+ class GetJobTemplateTemplateNodeSelectorResult(dict):
7453
+ def __init__(__self__, *,
7454
+ accelerator: builtins.str):
7455
+ """
7456
+ :param builtins.str accelerator: The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
7457
+ """
7458
+ pulumi.set(__self__, "accelerator", accelerator)
7459
+
7460
+ @property
7461
+ @pulumi.getter
7462
+ def accelerator(self) -> builtins.str:
7463
+ """
7464
+ The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
7465
+ """
7466
+ return pulumi.get(self, "accelerator")
7467
+
7468
+
7404
7469
  @pulumi.output_type
7405
7470
  class GetJobTemplateTemplateVolumeResult(dict):
7406
7471
  def __init__(__self__, *,
@@ -1645,7 +1645,6 @@ class Service(pulumi.CustomResource):
1645
1645
  "image_uri": "us-docker.pkg.dev/cloudrun/container/hello",
1646
1646
  "base_image": "us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22",
1647
1647
  "enable_automatic_updates": True,
1648
- "worker_pool": "worker-pool",
1649
1648
  "environment_variables": {
1650
1649
  "FOO_KEY": "FOO_VALUE",
1651
1650
  "BAR_KEY": "BAR_VALUE",
@@ -2266,7 +2265,6 @@ class Service(pulumi.CustomResource):
2266
2265
  "image_uri": "us-docker.pkg.dev/cloudrun/container/hello",
2267
2266
  "base_image": "us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22",
2268
2267
  "enable_automatic_updates": True,
2269
- "worker_pool": "worker-pool",
2270
2268
  "environment_variables": {
2271
2269
  "FOO_KEY": "FOO_VALUE",
2272
2270
  "BAR_KEY": "BAR_VALUE",