pulumi-gcp 8.9.0a1731221331__py3-none-any.whl → 8.9.0a1731432418__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 (114) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/activedirectory/domain.py +24 -0
  3. pulumi_gcp/apigee/__init__.py +1 -0
  4. pulumi_gcp/apigee/_inputs.py +74 -0
  5. pulumi_gcp/apigee/api.py +456 -0
  6. pulumi_gcp/apigee/outputs.py +65 -0
  7. pulumi_gcp/applicationintegration/auth_config.py +24 -0
  8. pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
  9. pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
  11. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
  12. pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
  13. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
  15. pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
  16. pulumi_gcp/bigquery/data_transfer_config.py +24 -0
  17. pulumi_gcp/cloudrunv2/_inputs.py +46 -0
  18. pulumi_gcp/cloudrunv2/job.py +0 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +60 -2
  20. pulumi_gcp/cloudrunv2/service.py +0 -2
  21. pulumi_gcp/compute/__init__.py +1 -0
  22. pulumi_gcp/compute/_inputs.py +2163 -256
  23. pulumi_gcp/compute/disk.py +7 -7
  24. pulumi_gcp/compute/firewall_policy_rule.py +108 -54
  25. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  26. pulumi_gcp/compute/health_check.py +42 -42
  27. pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
  28. pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
  29. pulumi_gcp/compute/node_template.py +95 -0
  30. pulumi_gcp/compute/outputs.py +1639 -213
  31. pulumi_gcp/compute/region_disk.py +7 -7
  32. pulumi_gcp/compute/region_health_check.py +42 -42
  33. pulumi_gcp/compute/region_instance_group_manager.py +54 -14
  34. pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
  36. pulumi_gcp/compute/region_resize_request.py +772 -0
  37. pulumi_gcp/compute/region_security_policy.py +120 -0
  38. pulumi_gcp/compute/region_security_policy_rule.py +6 -6
  39. pulumi_gcp/compute/router_peer.py +56 -35
  40. pulumi_gcp/compute/security_scan_config.py +8 -8
  41. pulumi_gcp/config/__init__.pyi +4 -0
  42. pulumi_gcp/config/vars.py +8 -0
  43. pulumi_gcp/container/_inputs.py +345 -10
  44. pulumi_gcp/container/cluster.py +101 -0
  45. pulumi_gcp/container/get_cluster.py +23 -1
  46. pulumi_gcp/container/outputs.py +456 -8
  47. pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
  48. pulumi_gcp/dataproc/__init__.py +2 -0
  49. pulumi_gcp/dataproc/_inputs.py +101 -0
  50. pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
  51. pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
  52. pulumi_gcp/dataproc/outputs.py +94 -0
  53. pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
  54. pulumi_gcp/firebase/android_app.py +2 -2
  55. pulumi_gcp/firebase/apple_app.py +2 -2
  56. pulumi_gcp/firebase/web_app.py +2 -2
  57. pulumi_gcp/firestore/index.py +44 -0
  58. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  59. pulumi_gcp/gkeonprem/outputs.py +10 -10
  60. pulumi_gcp/healthcare/dataset.py +7 -7
  61. pulumi_gcp/healthcare/dicom_store.py +7 -7
  62. pulumi_gcp/healthcare/fhir_store.py +7 -7
  63. pulumi_gcp/healthcare/hl7_store.py +14 -14
  64. pulumi_gcp/iam/__init__.py +1 -0
  65. pulumi_gcp/iam/_inputs.py +161 -0
  66. pulumi_gcp/iam/outputs.py +114 -0
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
  68. pulumi_gcp/logging/metric.py +2 -2
  69. pulumi_gcp/looker/_inputs.py +6 -0
  70. pulumi_gcp/looker/instance.py +169 -321
  71. pulumi_gcp/looker/outputs.py +4 -0
  72. pulumi_gcp/memorystore/instance.py +4 -0
  73. pulumi_gcp/monitoring/alert_policy.py +24 -0
  74. pulumi_gcp/monitoring/custom_service.py +24 -0
  75. pulumi_gcp/monitoring/group.py +24 -0
  76. pulumi_gcp/monitoring/metric_descriptor.py +24 -0
  77. pulumi_gcp/monitoring/slo.py +24 -0
  78. pulumi_gcp/monitoring/uptime_check_config.py +24 -0
  79. pulumi_gcp/networkmanagement/__init__.py +1 -0
  80. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
  81. pulumi_gcp/osconfig/patch_deployment.py +8 -8
  82. pulumi_gcp/provider.py +40 -0
  83. pulumi_gcp/pulumi-plugin.json +1 -1
  84. pulumi_gcp/redis/_inputs.py +3 -3
  85. pulumi_gcp/redis/outputs.py +2 -2
  86. pulumi_gcp/securitycenter/notification_config.py +4 -16
  87. pulumi_gcp/securitycenter/project_notification_config.py +0 -24
  88. pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
  89. pulumi_gcp/spanner/__init__.py +1 -0
  90. pulumi_gcp/spanner/_inputs.py +9 -9
  91. pulumi_gcp/spanner/get_database.py +229 -0
  92. pulumi_gcp/spanner/get_instance.py +12 -1
  93. pulumi_gcp/spanner/instance.py +70 -0
  94. pulumi_gcp/spanner/outputs.py +46 -12
  95. pulumi_gcp/sql/_inputs.py +26 -0
  96. pulumi_gcp/sql/database_instance.py +124 -11
  97. pulumi_gcp/sql/get_database_instance.py +12 -1
  98. pulumi_gcp/sql/outputs.py +51 -0
  99. pulumi_gcp/storage/_inputs.py +3 -3
  100. pulumi_gcp/storage/outputs.py +2 -2
  101. pulumi_gcp/tags/tag_binding.py +4 -4
  102. pulumi_gcp/tags/tag_value.py +2 -2
  103. pulumi_gcp/transcoder/job.py +24 -0
  104. pulumi_gcp/vertex/_inputs.py +184 -0
  105. pulumi_gcp/vertex/ai_endpoint.py +394 -8
  106. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  107. pulumi_gcp/vertex/outputs.py +166 -0
  108. pulumi_gcp/workbench/instance.py +21 -7
  109. pulumi_gcp/workflows/workflow.py +36 -0
  110. pulumi_gcp/workstations/workstation_config.py +8 -8
  111. {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/METADATA +1 -1
  112. {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/RECORD +114 -103
  113. {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/WHEEL +1 -1
  114. {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,772 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['RegionResizeRequestArgs', 'RegionResizeRequest']
20
+
21
+ @pulumi.input_type
22
+ class RegionResizeRequestArgs:
23
+ def __init__(__self__, *,
24
+ instance_group_manager: pulumi.Input[str],
25
+ region: pulumi.Input[str],
26
+ resize_by: pulumi.Input[int],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ name: Optional[pulumi.Input[str]] = None,
29
+ project: Optional[pulumi.Input[str]] = None,
30
+ requested_run_duration: Optional[pulumi.Input['RegionResizeRequestRequestedRunDurationArgs']] = None):
31
+ """
32
+ The set of arguments for constructing a RegionResizeRequest resource.
33
+ :param pulumi.Input[str] instance_group_manager: The reference of the regional instance group manager this ResizeRequest is a part of.
34
+
35
+
36
+ - - -
37
+ :param pulumi.Input[str] region: The reference of the compute region scoping this request.
38
+ :param pulumi.Input[int] resize_by: The number of instances to be created by this resize request. The group's target size will be increased by this number.
39
+ :param pulumi.Input[str] description: An optional description of this resize-request.
40
+ :param pulumi.Input[str] name: The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.
41
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
42
+ If it is not provided, the provider project is used.
43
+ :param pulumi.Input['RegionResizeRequestRequestedRunDurationArgs'] requested_run_duration: Requested run duration for instances that will be created by this request. At the end of the run duration instances will be deleted.
44
+ Structure is documented below.
45
+ """
46
+ pulumi.set(__self__, "instance_group_manager", instance_group_manager)
47
+ pulumi.set(__self__, "region", region)
48
+ pulumi.set(__self__, "resize_by", resize_by)
49
+ if description is not None:
50
+ pulumi.set(__self__, "description", description)
51
+ if name is not None:
52
+ pulumi.set(__self__, "name", name)
53
+ if project is not None:
54
+ pulumi.set(__self__, "project", project)
55
+ if requested_run_duration is not None:
56
+ pulumi.set(__self__, "requested_run_duration", requested_run_duration)
57
+
58
+ @property
59
+ @pulumi.getter(name="instanceGroupManager")
60
+ def instance_group_manager(self) -> pulumi.Input[str]:
61
+ """
62
+ The reference of the regional instance group manager this ResizeRequest is a part of.
63
+
64
+
65
+ - - -
66
+ """
67
+ return pulumi.get(self, "instance_group_manager")
68
+
69
+ @instance_group_manager.setter
70
+ def instance_group_manager(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "instance_group_manager", value)
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def region(self) -> pulumi.Input[str]:
76
+ """
77
+ The reference of the compute region scoping this request.
78
+ """
79
+ return pulumi.get(self, "region")
80
+
81
+ @region.setter
82
+ def region(self, value: pulumi.Input[str]):
83
+ pulumi.set(self, "region", value)
84
+
85
+ @property
86
+ @pulumi.getter(name="resizeBy")
87
+ def resize_by(self) -> pulumi.Input[int]:
88
+ """
89
+ The number of instances to be created by this resize request. The group's target size will be increased by this number.
90
+ """
91
+ return pulumi.get(self, "resize_by")
92
+
93
+ @resize_by.setter
94
+ def resize_by(self, value: pulumi.Input[int]):
95
+ pulumi.set(self, "resize_by", value)
96
+
97
+ @property
98
+ @pulumi.getter
99
+ def description(self) -> Optional[pulumi.Input[str]]:
100
+ """
101
+ An optional description of this resize-request.
102
+ """
103
+ return pulumi.get(self, "description")
104
+
105
+ @description.setter
106
+ def description(self, value: Optional[pulumi.Input[str]]):
107
+ pulumi.set(self, "description", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def name(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.
114
+ """
115
+ return pulumi.get(self, "name")
116
+
117
+ @name.setter
118
+ def name(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "name", value)
120
+
121
+ @property
122
+ @pulumi.getter
123
+ def project(self) -> Optional[pulumi.Input[str]]:
124
+ """
125
+ The ID of the project in which the resource belongs.
126
+ If it is not provided, the provider project is used.
127
+ """
128
+ return pulumi.get(self, "project")
129
+
130
+ @project.setter
131
+ def project(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "project", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="requestedRunDuration")
136
+ def requested_run_duration(self) -> Optional[pulumi.Input['RegionResizeRequestRequestedRunDurationArgs']]:
137
+ """
138
+ Requested run duration for instances that will be created by this request. At the end of the run duration instances will be deleted.
139
+ Structure is documented below.
140
+ """
141
+ return pulumi.get(self, "requested_run_duration")
142
+
143
+ @requested_run_duration.setter
144
+ def requested_run_duration(self, value: Optional[pulumi.Input['RegionResizeRequestRequestedRunDurationArgs']]):
145
+ pulumi.set(self, "requested_run_duration", value)
146
+
147
+
148
+ @pulumi.input_type
149
+ class _RegionResizeRequestState:
150
+ def __init__(__self__, *,
151
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
152
+ description: Optional[pulumi.Input[str]] = None,
153
+ instance_group_manager: Optional[pulumi.Input[str]] = None,
154
+ name: Optional[pulumi.Input[str]] = None,
155
+ project: Optional[pulumi.Input[str]] = None,
156
+ region: Optional[pulumi.Input[str]] = None,
157
+ requested_run_duration: Optional[pulumi.Input['RegionResizeRequestRequestedRunDurationArgs']] = None,
158
+ resize_by: Optional[pulumi.Input[int]] = None,
159
+ state: Optional[pulumi.Input[str]] = None,
160
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input['RegionResizeRequestStatusArgs']]]] = None):
161
+ """
162
+ Input properties used for looking up and filtering RegionResizeRequest resources.
163
+ :param pulumi.Input[str] creation_timestamp: The creation timestamp for this resize request in RFC3339 text format.
164
+ :param pulumi.Input[str] description: An optional description of this resize-request.
165
+ :param pulumi.Input[str] instance_group_manager: The reference of the regional instance group manager this ResizeRequest is a part of.
166
+
167
+
168
+ - - -
169
+ :param pulumi.Input[str] name: The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.
170
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
171
+ If it is not provided, the provider project is used.
172
+ :param pulumi.Input[str] region: The reference of the compute region scoping this request.
173
+ :param pulumi.Input['RegionResizeRequestRequestedRunDurationArgs'] requested_run_duration: Requested run duration for instances that will be created by this request. At the end of the run duration instances will be deleted.
174
+ Structure is documented below.
175
+ :param pulumi.Input[int] resize_by: The number of instances to be created by this resize request. The group's target size will be increased by this number.
176
+ :param pulumi.Input[str] state: Current state of the request.
177
+ :param pulumi.Input[Sequence[pulumi.Input['RegionResizeRequestStatusArgs']]] statuses: Status of the request.
178
+ Structure is documented below.
179
+ """
180
+ if creation_timestamp is not None:
181
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
182
+ if description is not None:
183
+ pulumi.set(__self__, "description", description)
184
+ if instance_group_manager is not None:
185
+ pulumi.set(__self__, "instance_group_manager", instance_group_manager)
186
+ if name is not None:
187
+ pulumi.set(__self__, "name", name)
188
+ if project is not None:
189
+ pulumi.set(__self__, "project", project)
190
+ if region is not None:
191
+ pulumi.set(__self__, "region", region)
192
+ if requested_run_duration is not None:
193
+ pulumi.set(__self__, "requested_run_duration", requested_run_duration)
194
+ if resize_by is not None:
195
+ pulumi.set(__self__, "resize_by", resize_by)
196
+ if state is not None:
197
+ pulumi.set(__self__, "state", state)
198
+ if statuses is not None:
199
+ pulumi.set(__self__, "statuses", statuses)
200
+
201
+ @property
202
+ @pulumi.getter(name="creationTimestamp")
203
+ def creation_timestamp(self) -> Optional[pulumi.Input[str]]:
204
+ """
205
+ The creation timestamp for this resize request in RFC3339 text format.
206
+ """
207
+ return pulumi.get(self, "creation_timestamp")
208
+
209
+ @creation_timestamp.setter
210
+ def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
211
+ pulumi.set(self, "creation_timestamp", value)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def description(self) -> Optional[pulumi.Input[str]]:
216
+ """
217
+ An optional description of this resize-request.
218
+ """
219
+ return pulumi.get(self, "description")
220
+
221
+ @description.setter
222
+ def description(self, value: Optional[pulumi.Input[str]]):
223
+ pulumi.set(self, "description", value)
224
+
225
+ @property
226
+ @pulumi.getter(name="instanceGroupManager")
227
+ def instance_group_manager(self) -> Optional[pulumi.Input[str]]:
228
+ """
229
+ The reference of the regional instance group manager this ResizeRequest is a part of.
230
+
231
+
232
+ - - -
233
+ """
234
+ return pulumi.get(self, "instance_group_manager")
235
+
236
+ @instance_group_manager.setter
237
+ def instance_group_manager(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "instance_group_manager", value)
239
+
240
+ @property
241
+ @pulumi.getter
242
+ def name(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.
245
+ """
246
+ return pulumi.get(self, "name")
247
+
248
+ @name.setter
249
+ def name(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "name", value)
251
+
252
+ @property
253
+ @pulumi.getter
254
+ def project(self) -> Optional[pulumi.Input[str]]:
255
+ """
256
+ The ID of the project in which the resource belongs.
257
+ If it is not provided, the provider project is used.
258
+ """
259
+ return pulumi.get(self, "project")
260
+
261
+ @project.setter
262
+ def project(self, value: Optional[pulumi.Input[str]]):
263
+ pulumi.set(self, "project", value)
264
+
265
+ @property
266
+ @pulumi.getter
267
+ def region(self) -> Optional[pulumi.Input[str]]:
268
+ """
269
+ The reference of the compute region scoping this request.
270
+ """
271
+ return pulumi.get(self, "region")
272
+
273
+ @region.setter
274
+ def region(self, value: Optional[pulumi.Input[str]]):
275
+ pulumi.set(self, "region", value)
276
+
277
+ @property
278
+ @pulumi.getter(name="requestedRunDuration")
279
+ def requested_run_duration(self) -> Optional[pulumi.Input['RegionResizeRequestRequestedRunDurationArgs']]:
280
+ """
281
+ Requested run duration for instances that will be created by this request. At the end of the run duration instances will be deleted.
282
+ Structure is documented below.
283
+ """
284
+ return pulumi.get(self, "requested_run_duration")
285
+
286
+ @requested_run_duration.setter
287
+ def requested_run_duration(self, value: Optional[pulumi.Input['RegionResizeRequestRequestedRunDurationArgs']]):
288
+ pulumi.set(self, "requested_run_duration", value)
289
+
290
+ @property
291
+ @pulumi.getter(name="resizeBy")
292
+ def resize_by(self) -> Optional[pulumi.Input[int]]:
293
+ """
294
+ The number of instances to be created by this resize request. The group's target size will be increased by this number.
295
+ """
296
+ return pulumi.get(self, "resize_by")
297
+
298
+ @resize_by.setter
299
+ def resize_by(self, value: Optional[pulumi.Input[int]]):
300
+ pulumi.set(self, "resize_by", value)
301
+
302
+ @property
303
+ @pulumi.getter
304
+ def state(self) -> Optional[pulumi.Input[str]]:
305
+ """
306
+ Current state of the request.
307
+ """
308
+ return pulumi.get(self, "state")
309
+
310
+ @state.setter
311
+ def state(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "state", value)
313
+
314
+ @property
315
+ @pulumi.getter
316
+ def statuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionResizeRequestStatusArgs']]]]:
317
+ """
318
+ Status of the request.
319
+ Structure is documented below.
320
+ """
321
+ return pulumi.get(self, "statuses")
322
+
323
+ @statuses.setter
324
+ def statuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionResizeRequestStatusArgs']]]]):
325
+ pulumi.set(self, "statuses", value)
326
+
327
+
328
+ class RegionResizeRequest(pulumi.CustomResource):
329
+ @overload
330
+ def __init__(__self__,
331
+ resource_name: str,
332
+ opts: Optional[pulumi.ResourceOptions] = None,
333
+ description: Optional[pulumi.Input[str]] = None,
334
+ instance_group_manager: Optional[pulumi.Input[str]] = None,
335
+ name: Optional[pulumi.Input[str]] = None,
336
+ project: Optional[pulumi.Input[str]] = None,
337
+ region: Optional[pulumi.Input[str]] = None,
338
+ requested_run_duration: Optional[pulumi.Input[Union['RegionResizeRequestRequestedRunDurationArgs', 'RegionResizeRequestRequestedRunDurationArgsDict']]] = None,
339
+ resize_by: Optional[pulumi.Input[int]] = None,
340
+ __props__=None):
341
+ """
342
+ ## Example Usage
343
+
344
+ ### Compute Rmig Resize Request
345
+
346
+ ```python
347
+ import pulumi
348
+ import pulumi_gcp as gcp
349
+
350
+ a3_dws = gcp.compute.RegionInstanceTemplate("a3_dws",
351
+ name="a3-dws",
352
+ region="us-central1",
353
+ description="This template is used to create a mig instance that is compatible with DWS resize requests.",
354
+ instance_description="A3 GPU",
355
+ machine_type="a3-highgpu-8g",
356
+ can_ip_forward=False,
357
+ scheduling={
358
+ "automatic_restart": False,
359
+ "on_host_maintenance": "TERMINATE",
360
+ },
361
+ disks=[{
362
+ "source_image": "cos-cloud/cos-105-lts",
363
+ "auto_delete": True,
364
+ "boot": True,
365
+ "disk_type": "pd-ssd",
366
+ "disk_size_gb": 960,
367
+ "mode": "READ_WRITE",
368
+ }],
369
+ guest_accelerators=[{
370
+ "type": "nvidia-h100-80gb",
371
+ "count": 8,
372
+ }],
373
+ reservation_affinity={
374
+ "type": "NO_RESERVATION",
375
+ },
376
+ shielded_instance_config={
377
+ "enable_vtpm": True,
378
+ "enable_integrity_monitoring": True,
379
+ },
380
+ network_interfaces=[{
381
+ "network": "default",
382
+ }])
383
+ a3_dws_region_instance_group_manager = gcp.compute.RegionInstanceGroupManager("a3_dws",
384
+ name="a3-dws",
385
+ base_instance_name="a3-dws",
386
+ region="us-central1",
387
+ versions=[{
388
+ "instance_template": a3_dws.self_link,
389
+ }],
390
+ instance_lifecycle_policy={
391
+ "default_action_on_failure": "DO_NOTHING",
392
+ },
393
+ distribution_policy_target_shape="ANY_SINGLE_ZONE",
394
+ distribution_policy_zones=[
395
+ "us-central1-a",
396
+ "us-central1-b",
397
+ "us-central1-c",
398
+ "us-central1-f",
399
+ ],
400
+ update_policy={
401
+ "instance_redistribution_type": "NONE",
402
+ "type": "OPPORTUNISTIC",
403
+ "minimal_action": "REPLACE",
404
+ "max_surge_fixed": 0,
405
+ "max_unavailable_fixed": 6,
406
+ },
407
+ wait_for_instances=False)
408
+ a3_resize_request = gcp.compute.RegionResizeRequest("a3_resize_request",
409
+ name="a3-dws",
410
+ instance_group_manager=a3_dws_region_instance_group_manager.name,
411
+ region="us-central1",
412
+ description="Test resize request resource",
413
+ resize_by=2,
414
+ requested_run_duration={
415
+ "seconds": "14400",
416
+ "nanos": 0,
417
+ })
418
+ ```
419
+
420
+ ## Import
421
+
422
+ RegionResizeRequest can be imported using any of these accepted formats:
423
+
424
+ * `projects/{{project}}/regions/{{region}}/instanceGroupManagers/{{instance_group_manager}}/resizeRequests/{{name}}`
425
+
426
+ * `{{project}}/{{region}}/{{instance_group_manager}}/{{name}}`
427
+
428
+ * `{{region}}/{{instance_group_manager}}/{{name}}`
429
+
430
+ * `{{instance_group_manager}}/{{name}}`
431
+
432
+ When using the `pulumi import` command, RegionResizeRequest can be imported using one of the formats above. For example:
433
+
434
+ ```sh
435
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default projects/{{project}}/regions/{{region}}/instanceGroupManagers/{{instance_group_manager}}/resizeRequests/{{name}}
436
+ ```
437
+
438
+ ```sh
439
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default {{project}}/{{region}}/{{instance_group_manager}}/{{name}}
440
+ ```
441
+
442
+ ```sh
443
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default {{region}}/{{instance_group_manager}}/{{name}}
444
+ ```
445
+
446
+ ```sh
447
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default {{instance_group_manager}}/{{name}}
448
+ ```
449
+
450
+ :param str resource_name: The name of the resource.
451
+ :param pulumi.ResourceOptions opts: Options for the resource.
452
+ :param pulumi.Input[str] description: An optional description of this resize-request.
453
+ :param pulumi.Input[str] instance_group_manager: The reference of the regional instance group manager this ResizeRequest is a part of.
454
+
455
+
456
+ - - -
457
+ :param pulumi.Input[str] name: The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.
458
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
459
+ If it is not provided, the provider project is used.
460
+ :param pulumi.Input[str] region: The reference of the compute region scoping this request.
461
+ :param pulumi.Input[Union['RegionResizeRequestRequestedRunDurationArgs', 'RegionResizeRequestRequestedRunDurationArgsDict']] requested_run_duration: Requested run duration for instances that will be created by this request. At the end of the run duration instances will be deleted.
462
+ Structure is documented below.
463
+ :param pulumi.Input[int] resize_by: The number of instances to be created by this resize request. The group's target size will be increased by this number.
464
+ """
465
+ ...
466
+ @overload
467
+ def __init__(__self__,
468
+ resource_name: str,
469
+ args: RegionResizeRequestArgs,
470
+ opts: Optional[pulumi.ResourceOptions] = None):
471
+ """
472
+ ## Example Usage
473
+
474
+ ### Compute Rmig Resize Request
475
+
476
+ ```python
477
+ import pulumi
478
+ import pulumi_gcp as gcp
479
+
480
+ a3_dws = gcp.compute.RegionInstanceTemplate("a3_dws",
481
+ name="a3-dws",
482
+ region="us-central1",
483
+ description="This template is used to create a mig instance that is compatible with DWS resize requests.",
484
+ instance_description="A3 GPU",
485
+ machine_type="a3-highgpu-8g",
486
+ can_ip_forward=False,
487
+ scheduling={
488
+ "automatic_restart": False,
489
+ "on_host_maintenance": "TERMINATE",
490
+ },
491
+ disks=[{
492
+ "source_image": "cos-cloud/cos-105-lts",
493
+ "auto_delete": True,
494
+ "boot": True,
495
+ "disk_type": "pd-ssd",
496
+ "disk_size_gb": 960,
497
+ "mode": "READ_WRITE",
498
+ }],
499
+ guest_accelerators=[{
500
+ "type": "nvidia-h100-80gb",
501
+ "count": 8,
502
+ }],
503
+ reservation_affinity={
504
+ "type": "NO_RESERVATION",
505
+ },
506
+ shielded_instance_config={
507
+ "enable_vtpm": True,
508
+ "enable_integrity_monitoring": True,
509
+ },
510
+ network_interfaces=[{
511
+ "network": "default",
512
+ }])
513
+ a3_dws_region_instance_group_manager = gcp.compute.RegionInstanceGroupManager("a3_dws",
514
+ name="a3-dws",
515
+ base_instance_name="a3-dws",
516
+ region="us-central1",
517
+ versions=[{
518
+ "instance_template": a3_dws.self_link,
519
+ }],
520
+ instance_lifecycle_policy={
521
+ "default_action_on_failure": "DO_NOTHING",
522
+ },
523
+ distribution_policy_target_shape="ANY_SINGLE_ZONE",
524
+ distribution_policy_zones=[
525
+ "us-central1-a",
526
+ "us-central1-b",
527
+ "us-central1-c",
528
+ "us-central1-f",
529
+ ],
530
+ update_policy={
531
+ "instance_redistribution_type": "NONE",
532
+ "type": "OPPORTUNISTIC",
533
+ "minimal_action": "REPLACE",
534
+ "max_surge_fixed": 0,
535
+ "max_unavailable_fixed": 6,
536
+ },
537
+ wait_for_instances=False)
538
+ a3_resize_request = gcp.compute.RegionResizeRequest("a3_resize_request",
539
+ name="a3-dws",
540
+ instance_group_manager=a3_dws_region_instance_group_manager.name,
541
+ region="us-central1",
542
+ description="Test resize request resource",
543
+ resize_by=2,
544
+ requested_run_duration={
545
+ "seconds": "14400",
546
+ "nanos": 0,
547
+ })
548
+ ```
549
+
550
+ ## Import
551
+
552
+ RegionResizeRequest can be imported using any of these accepted formats:
553
+
554
+ * `projects/{{project}}/regions/{{region}}/instanceGroupManagers/{{instance_group_manager}}/resizeRequests/{{name}}`
555
+
556
+ * `{{project}}/{{region}}/{{instance_group_manager}}/{{name}}`
557
+
558
+ * `{{region}}/{{instance_group_manager}}/{{name}}`
559
+
560
+ * `{{instance_group_manager}}/{{name}}`
561
+
562
+ When using the `pulumi import` command, RegionResizeRequest can be imported using one of the formats above. For example:
563
+
564
+ ```sh
565
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default projects/{{project}}/regions/{{region}}/instanceGroupManagers/{{instance_group_manager}}/resizeRequests/{{name}}
566
+ ```
567
+
568
+ ```sh
569
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default {{project}}/{{region}}/{{instance_group_manager}}/{{name}}
570
+ ```
571
+
572
+ ```sh
573
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default {{region}}/{{instance_group_manager}}/{{name}}
574
+ ```
575
+
576
+ ```sh
577
+ $ pulumi import gcp:compute/regionResizeRequest:RegionResizeRequest default {{instance_group_manager}}/{{name}}
578
+ ```
579
+
580
+ :param str resource_name: The name of the resource.
581
+ :param RegionResizeRequestArgs args: The arguments to use to populate this resource's properties.
582
+ :param pulumi.ResourceOptions opts: Options for the resource.
583
+ """
584
+ ...
585
+ def __init__(__self__, resource_name: str, *args, **kwargs):
586
+ resource_args, opts = _utilities.get_resource_args_opts(RegionResizeRequestArgs, pulumi.ResourceOptions, *args, **kwargs)
587
+ if resource_args is not None:
588
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
589
+ else:
590
+ __self__._internal_init(resource_name, *args, **kwargs)
591
+
592
+ def _internal_init(__self__,
593
+ resource_name: str,
594
+ opts: Optional[pulumi.ResourceOptions] = None,
595
+ description: Optional[pulumi.Input[str]] = None,
596
+ instance_group_manager: Optional[pulumi.Input[str]] = None,
597
+ name: Optional[pulumi.Input[str]] = None,
598
+ project: Optional[pulumi.Input[str]] = None,
599
+ region: Optional[pulumi.Input[str]] = None,
600
+ requested_run_duration: Optional[pulumi.Input[Union['RegionResizeRequestRequestedRunDurationArgs', 'RegionResizeRequestRequestedRunDurationArgsDict']]] = None,
601
+ resize_by: Optional[pulumi.Input[int]] = None,
602
+ __props__=None):
603
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
604
+ if not isinstance(opts, pulumi.ResourceOptions):
605
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
606
+ if opts.id is None:
607
+ if __props__ is not None:
608
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
609
+ __props__ = RegionResizeRequestArgs.__new__(RegionResizeRequestArgs)
610
+
611
+ __props__.__dict__["description"] = description
612
+ if instance_group_manager is None and not opts.urn:
613
+ raise TypeError("Missing required property 'instance_group_manager'")
614
+ __props__.__dict__["instance_group_manager"] = instance_group_manager
615
+ __props__.__dict__["name"] = name
616
+ __props__.__dict__["project"] = project
617
+ if region is None and not opts.urn:
618
+ raise TypeError("Missing required property 'region'")
619
+ __props__.__dict__["region"] = region
620
+ __props__.__dict__["requested_run_duration"] = requested_run_duration
621
+ if resize_by is None and not opts.urn:
622
+ raise TypeError("Missing required property 'resize_by'")
623
+ __props__.__dict__["resize_by"] = resize_by
624
+ __props__.__dict__["creation_timestamp"] = None
625
+ __props__.__dict__["state"] = None
626
+ __props__.__dict__["statuses"] = None
627
+ super(RegionResizeRequest, __self__).__init__(
628
+ 'gcp:compute/regionResizeRequest:RegionResizeRequest',
629
+ resource_name,
630
+ __props__,
631
+ opts)
632
+
633
+ @staticmethod
634
+ def get(resource_name: str,
635
+ id: pulumi.Input[str],
636
+ opts: Optional[pulumi.ResourceOptions] = None,
637
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
638
+ description: Optional[pulumi.Input[str]] = None,
639
+ instance_group_manager: Optional[pulumi.Input[str]] = None,
640
+ name: Optional[pulumi.Input[str]] = None,
641
+ project: Optional[pulumi.Input[str]] = None,
642
+ region: Optional[pulumi.Input[str]] = None,
643
+ requested_run_duration: Optional[pulumi.Input[Union['RegionResizeRequestRequestedRunDurationArgs', 'RegionResizeRequestRequestedRunDurationArgsDict']]] = None,
644
+ resize_by: Optional[pulumi.Input[int]] = None,
645
+ state: Optional[pulumi.Input[str]] = None,
646
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionResizeRequestStatusArgs', 'RegionResizeRequestStatusArgsDict']]]]] = None) -> 'RegionResizeRequest':
647
+ """
648
+ Get an existing RegionResizeRequest resource's state with the given name, id, and optional extra
649
+ properties used to qualify the lookup.
650
+
651
+ :param str resource_name: The unique name of the resulting resource.
652
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
653
+ :param pulumi.ResourceOptions opts: Options for the resource.
654
+ :param pulumi.Input[str] creation_timestamp: The creation timestamp for this resize request in RFC3339 text format.
655
+ :param pulumi.Input[str] description: An optional description of this resize-request.
656
+ :param pulumi.Input[str] instance_group_manager: The reference of the regional instance group manager this ResizeRequest is a part of.
657
+
658
+
659
+ - - -
660
+ :param pulumi.Input[str] name: The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.
661
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
662
+ If it is not provided, the provider project is used.
663
+ :param pulumi.Input[str] region: The reference of the compute region scoping this request.
664
+ :param pulumi.Input[Union['RegionResizeRequestRequestedRunDurationArgs', 'RegionResizeRequestRequestedRunDurationArgsDict']] requested_run_duration: Requested run duration for instances that will be created by this request. At the end of the run duration instances will be deleted.
665
+ Structure is documented below.
666
+ :param pulumi.Input[int] resize_by: The number of instances to be created by this resize request. The group's target size will be increased by this number.
667
+ :param pulumi.Input[str] state: Current state of the request.
668
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RegionResizeRequestStatusArgs', 'RegionResizeRequestStatusArgsDict']]]] statuses: Status of the request.
669
+ Structure is documented below.
670
+ """
671
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
672
+
673
+ __props__ = _RegionResizeRequestState.__new__(_RegionResizeRequestState)
674
+
675
+ __props__.__dict__["creation_timestamp"] = creation_timestamp
676
+ __props__.__dict__["description"] = description
677
+ __props__.__dict__["instance_group_manager"] = instance_group_manager
678
+ __props__.__dict__["name"] = name
679
+ __props__.__dict__["project"] = project
680
+ __props__.__dict__["region"] = region
681
+ __props__.__dict__["requested_run_duration"] = requested_run_duration
682
+ __props__.__dict__["resize_by"] = resize_by
683
+ __props__.__dict__["state"] = state
684
+ __props__.__dict__["statuses"] = statuses
685
+ return RegionResizeRequest(resource_name, opts=opts, __props__=__props__)
686
+
687
+ @property
688
+ @pulumi.getter(name="creationTimestamp")
689
+ def creation_timestamp(self) -> pulumi.Output[str]:
690
+ """
691
+ The creation timestamp for this resize request in RFC3339 text format.
692
+ """
693
+ return pulumi.get(self, "creation_timestamp")
694
+
695
+ @property
696
+ @pulumi.getter
697
+ def description(self) -> pulumi.Output[Optional[str]]:
698
+ """
699
+ An optional description of this resize-request.
700
+ """
701
+ return pulumi.get(self, "description")
702
+
703
+ @property
704
+ @pulumi.getter(name="instanceGroupManager")
705
+ def instance_group_manager(self) -> pulumi.Output[str]:
706
+ """
707
+ The reference of the regional instance group manager this ResizeRequest is a part of.
708
+
709
+
710
+ - - -
711
+ """
712
+ return pulumi.get(self, "instance_group_manager")
713
+
714
+ @property
715
+ @pulumi.getter
716
+ def name(self) -> pulumi.Output[str]:
717
+ """
718
+ The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.
719
+ """
720
+ return pulumi.get(self, "name")
721
+
722
+ @property
723
+ @pulumi.getter
724
+ def project(self) -> pulumi.Output[str]:
725
+ """
726
+ The ID of the project in which the resource belongs.
727
+ If it is not provided, the provider project is used.
728
+ """
729
+ return pulumi.get(self, "project")
730
+
731
+ @property
732
+ @pulumi.getter
733
+ def region(self) -> pulumi.Output[str]:
734
+ """
735
+ The reference of the compute region scoping this request.
736
+ """
737
+ return pulumi.get(self, "region")
738
+
739
+ @property
740
+ @pulumi.getter(name="requestedRunDuration")
741
+ def requested_run_duration(self) -> pulumi.Output[Optional['outputs.RegionResizeRequestRequestedRunDuration']]:
742
+ """
743
+ Requested run duration for instances that will be created by this request. At the end of the run duration instances will be deleted.
744
+ Structure is documented below.
745
+ """
746
+ return pulumi.get(self, "requested_run_duration")
747
+
748
+ @property
749
+ @pulumi.getter(name="resizeBy")
750
+ def resize_by(self) -> pulumi.Output[int]:
751
+ """
752
+ The number of instances to be created by this resize request. The group's target size will be increased by this number.
753
+ """
754
+ return pulumi.get(self, "resize_by")
755
+
756
+ @property
757
+ @pulumi.getter
758
+ def state(self) -> pulumi.Output[str]:
759
+ """
760
+ Current state of the request.
761
+ """
762
+ return pulumi.get(self, "state")
763
+
764
+ @property
765
+ @pulumi.getter
766
+ def statuses(self) -> pulumi.Output[Sequence['outputs.RegionResizeRequestStatus']]:
767
+ """
768
+ Status of the request.
769
+ Structure is documented below.
770
+ """
771
+ return pulumi.get(self, "statuses")
772
+