pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__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 (49) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/apigee/nat_address.py +155 -2
  3. pulumi_gcp/bigquery/_inputs.py +102 -0
  4. pulumi_gcp/bigquery/outputs.py +83 -0
  5. pulumi_gcp/bigquery/table.py +47 -0
  6. pulumi_gcp/cloudrun/_inputs.py +26 -0
  7. pulumi_gcp/cloudrun/outputs.py +33 -0
  8. pulumi_gcp/cloudrun/service.py +76 -0
  9. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  10. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  11. pulumi_gcp/cloudrunv2/service.py +64 -0
  12. pulumi_gcp/compute/__init__.py +3 -0
  13. pulumi_gcp/compute/_inputs.py +1941 -2
  14. pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
  15. pulumi_gcp/compute/get_router_nat.py +11 -1
  16. pulumi_gcp/compute/instance.py +7 -7
  17. pulumi_gcp/compute/instance_from_machine_image.py +7 -7
  18. pulumi_gcp/compute/instance_from_template.py +7 -7
  19. pulumi_gcp/compute/interconnect.py +76 -64
  20. pulumi_gcp/compute/outputs.py +4637 -2640
  21. pulumi_gcp/compute/region_commitment.py +47 -0
  22. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
  23. pulumi_gcp/compute/router_nat.py +56 -2
  24. pulumi_gcp/compute/router_nat_address.py +514 -0
  25. pulumi_gcp/compute/subnetwork.py +14 -14
  26. pulumi_gcp/container/_inputs.py +222 -0
  27. pulumi_gcp/container/outputs.py +279 -2
  28. pulumi_gcp/logging/__init__.py +1 -0
  29. pulumi_gcp/logging/log_scope.py +492 -0
  30. pulumi_gcp/looker/_inputs.py +157 -0
  31. pulumi_gcp/looker/instance.py +143 -0
  32. pulumi_gcp/looker/outputs.py +136 -0
  33. pulumi_gcp/networkconnectivity/_inputs.py +72 -3
  34. pulumi_gcp/networkconnectivity/outputs.py +51 -3
  35. pulumi_gcp/networkconnectivity/spoke.py +310 -0
  36. pulumi_gcp/networksecurity/security_profile.py +2 -2
  37. pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
  38. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
  39. pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
  40. pulumi_gcp/pulumi-plugin.json +1 -1
  41. pulumi_gcp/secretmanager/__init__.py +2 -0
  42. pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
  43. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
  44. pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
  45. pulumi_gcp/secretmanager/outputs.py +265 -0
  46. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
  48. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,438 @@
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
+
18
+ __all__ = [
19
+ 'GetRegionInstanceGroupManagerResult',
20
+ 'AwaitableGetRegionInstanceGroupManagerResult',
21
+ 'get_region_instance_group_manager',
22
+ 'get_region_instance_group_manager_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetRegionInstanceGroupManagerResult:
27
+ """
28
+ A collection of values returned by getRegionInstanceGroupManager.
29
+ """
30
+ def __init__(__self__, all_instances_configs=None, auto_healing_policies=None, base_instance_name=None, creation_timestamp=None, description=None, distribution_policy_target_shape=None, distribution_policy_zones=None, fingerprint=None, id=None, instance_group=None, instance_lifecycle_policies=None, list_managed_instances_results=None, name=None, named_ports=None, params=None, project=None, region=None, self_link=None, standby_policies=None, stateful_disks=None, stateful_external_ips=None, stateful_internal_ips=None, statuses=None, target_pools=None, target_size=None, target_stopped_size=None, target_suspended_size=None, update_policies=None, versions=None, wait_for_instances=None, wait_for_instances_status=None):
31
+ if all_instances_configs and not isinstance(all_instances_configs, list):
32
+ raise TypeError("Expected argument 'all_instances_configs' to be a list")
33
+ pulumi.set(__self__, "all_instances_configs", all_instances_configs)
34
+ if auto_healing_policies and not isinstance(auto_healing_policies, list):
35
+ raise TypeError("Expected argument 'auto_healing_policies' to be a list")
36
+ pulumi.set(__self__, "auto_healing_policies", auto_healing_policies)
37
+ if base_instance_name and not isinstance(base_instance_name, str):
38
+ raise TypeError("Expected argument 'base_instance_name' to be a str")
39
+ pulumi.set(__self__, "base_instance_name", base_instance_name)
40
+ if creation_timestamp and not isinstance(creation_timestamp, str):
41
+ raise TypeError("Expected argument 'creation_timestamp' to be a str")
42
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
43
+ if description and not isinstance(description, str):
44
+ raise TypeError("Expected argument 'description' to be a str")
45
+ pulumi.set(__self__, "description", description)
46
+ if distribution_policy_target_shape and not isinstance(distribution_policy_target_shape, str):
47
+ raise TypeError("Expected argument 'distribution_policy_target_shape' to be a str")
48
+ pulumi.set(__self__, "distribution_policy_target_shape", distribution_policy_target_shape)
49
+ if distribution_policy_zones and not isinstance(distribution_policy_zones, list):
50
+ raise TypeError("Expected argument 'distribution_policy_zones' to be a list")
51
+ pulumi.set(__self__, "distribution_policy_zones", distribution_policy_zones)
52
+ if fingerprint and not isinstance(fingerprint, str):
53
+ raise TypeError("Expected argument 'fingerprint' to be a str")
54
+ pulumi.set(__self__, "fingerprint", fingerprint)
55
+ if id and not isinstance(id, str):
56
+ raise TypeError("Expected argument 'id' to be a str")
57
+ pulumi.set(__self__, "id", id)
58
+ if instance_group and not isinstance(instance_group, str):
59
+ raise TypeError("Expected argument 'instance_group' to be a str")
60
+ pulumi.set(__self__, "instance_group", instance_group)
61
+ if instance_lifecycle_policies and not isinstance(instance_lifecycle_policies, list):
62
+ raise TypeError("Expected argument 'instance_lifecycle_policies' to be a list")
63
+ pulumi.set(__self__, "instance_lifecycle_policies", instance_lifecycle_policies)
64
+ if list_managed_instances_results and not isinstance(list_managed_instances_results, str):
65
+ raise TypeError("Expected argument 'list_managed_instances_results' to be a str")
66
+ pulumi.set(__self__, "list_managed_instances_results", list_managed_instances_results)
67
+ if name and not isinstance(name, str):
68
+ raise TypeError("Expected argument 'name' to be a str")
69
+ pulumi.set(__self__, "name", name)
70
+ if named_ports and not isinstance(named_ports, list):
71
+ raise TypeError("Expected argument 'named_ports' to be a list")
72
+ pulumi.set(__self__, "named_ports", named_ports)
73
+ if params and not isinstance(params, list):
74
+ raise TypeError("Expected argument 'params' to be a list")
75
+ pulumi.set(__self__, "params", params)
76
+ if project and not isinstance(project, str):
77
+ raise TypeError("Expected argument 'project' to be a str")
78
+ pulumi.set(__self__, "project", project)
79
+ if region and not isinstance(region, str):
80
+ raise TypeError("Expected argument 'region' to be a str")
81
+ pulumi.set(__self__, "region", region)
82
+ if self_link and not isinstance(self_link, str):
83
+ raise TypeError("Expected argument 'self_link' to be a str")
84
+ pulumi.set(__self__, "self_link", self_link)
85
+ if standby_policies and not isinstance(standby_policies, list):
86
+ raise TypeError("Expected argument 'standby_policies' to be a list")
87
+ pulumi.set(__self__, "standby_policies", standby_policies)
88
+ if stateful_disks and not isinstance(stateful_disks, list):
89
+ raise TypeError("Expected argument 'stateful_disks' to be a list")
90
+ pulumi.set(__self__, "stateful_disks", stateful_disks)
91
+ if stateful_external_ips and not isinstance(stateful_external_ips, list):
92
+ raise TypeError("Expected argument 'stateful_external_ips' to be a list")
93
+ pulumi.set(__self__, "stateful_external_ips", stateful_external_ips)
94
+ if stateful_internal_ips and not isinstance(stateful_internal_ips, list):
95
+ raise TypeError("Expected argument 'stateful_internal_ips' to be a list")
96
+ pulumi.set(__self__, "stateful_internal_ips", stateful_internal_ips)
97
+ if statuses and not isinstance(statuses, list):
98
+ raise TypeError("Expected argument 'statuses' to be a list")
99
+ pulumi.set(__self__, "statuses", statuses)
100
+ if target_pools and not isinstance(target_pools, list):
101
+ raise TypeError("Expected argument 'target_pools' to be a list")
102
+ pulumi.set(__self__, "target_pools", target_pools)
103
+ if target_size and not isinstance(target_size, int):
104
+ raise TypeError("Expected argument 'target_size' to be a int")
105
+ pulumi.set(__self__, "target_size", target_size)
106
+ if target_stopped_size and not isinstance(target_stopped_size, int):
107
+ raise TypeError("Expected argument 'target_stopped_size' to be a int")
108
+ pulumi.set(__self__, "target_stopped_size", target_stopped_size)
109
+ if target_suspended_size and not isinstance(target_suspended_size, int):
110
+ raise TypeError("Expected argument 'target_suspended_size' to be a int")
111
+ pulumi.set(__self__, "target_suspended_size", target_suspended_size)
112
+ if update_policies and not isinstance(update_policies, list):
113
+ raise TypeError("Expected argument 'update_policies' to be a list")
114
+ pulumi.set(__self__, "update_policies", update_policies)
115
+ if versions and not isinstance(versions, list):
116
+ raise TypeError("Expected argument 'versions' to be a list")
117
+ pulumi.set(__self__, "versions", versions)
118
+ if wait_for_instances and not isinstance(wait_for_instances, bool):
119
+ raise TypeError("Expected argument 'wait_for_instances' to be a bool")
120
+ pulumi.set(__self__, "wait_for_instances", wait_for_instances)
121
+ if wait_for_instances_status and not isinstance(wait_for_instances_status, str):
122
+ raise TypeError("Expected argument 'wait_for_instances_status' to be a str")
123
+ pulumi.set(__self__, "wait_for_instances_status", wait_for_instances_status)
124
+
125
+ @property
126
+ @pulumi.getter(name="allInstancesConfigs")
127
+ def all_instances_configs(self) -> Sequence['outputs.GetRegionInstanceGroupManagerAllInstancesConfigResult']:
128
+ return pulumi.get(self, "all_instances_configs")
129
+
130
+ @property
131
+ @pulumi.getter(name="autoHealingPolicies")
132
+ def auto_healing_policies(self) -> Sequence['outputs.GetRegionInstanceGroupManagerAutoHealingPolicyResult']:
133
+ return pulumi.get(self, "auto_healing_policies")
134
+
135
+ @property
136
+ @pulumi.getter(name="baseInstanceName")
137
+ def base_instance_name(self) -> str:
138
+ return pulumi.get(self, "base_instance_name")
139
+
140
+ @property
141
+ @pulumi.getter(name="creationTimestamp")
142
+ def creation_timestamp(self) -> str:
143
+ return pulumi.get(self, "creation_timestamp")
144
+
145
+ @property
146
+ @pulumi.getter
147
+ def description(self) -> str:
148
+ return pulumi.get(self, "description")
149
+
150
+ @property
151
+ @pulumi.getter(name="distributionPolicyTargetShape")
152
+ def distribution_policy_target_shape(self) -> str:
153
+ return pulumi.get(self, "distribution_policy_target_shape")
154
+
155
+ @property
156
+ @pulumi.getter(name="distributionPolicyZones")
157
+ def distribution_policy_zones(self) -> Sequence[str]:
158
+ return pulumi.get(self, "distribution_policy_zones")
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def fingerprint(self) -> str:
163
+ return pulumi.get(self, "fingerprint")
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def id(self) -> str:
168
+ """
169
+ The provider-assigned unique ID for this managed resource.
170
+ """
171
+ return pulumi.get(self, "id")
172
+
173
+ @property
174
+ @pulumi.getter(name="instanceGroup")
175
+ def instance_group(self) -> str:
176
+ return pulumi.get(self, "instance_group")
177
+
178
+ @property
179
+ @pulumi.getter(name="instanceLifecyclePolicies")
180
+ def instance_lifecycle_policies(self) -> Sequence['outputs.GetRegionInstanceGroupManagerInstanceLifecyclePolicyResult']:
181
+ return pulumi.get(self, "instance_lifecycle_policies")
182
+
183
+ @property
184
+ @pulumi.getter(name="listManagedInstancesResults")
185
+ def list_managed_instances_results(self) -> str:
186
+ return pulumi.get(self, "list_managed_instances_results")
187
+
188
+ @property
189
+ @pulumi.getter
190
+ def name(self) -> Optional[str]:
191
+ return pulumi.get(self, "name")
192
+
193
+ @property
194
+ @pulumi.getter(name="namedPorts")
195
+ def named_ports(self) -> Sequence['outputs.GetRegionInstanceGroupManagerNamedPortResult']:
196
+ return pulumi.get(self, "named_ports")
197
+
198
+ @property
199
+ @pulumi.getter
200
+ def params(self) -> Sequence['outputs.GetRegionInstanceGroupManagerParamResult']:
201
+ return pulumi.get(self, "params")
202
+
203
+ @property
204
+ @pulumi.getter
205
+ def project(self) -> Optional[str]:
206
+ return pulumi.get(self, "project")
207
+
208
+ @property
209
+ @pulumi.getter
210
+ def region(self) -> Optional[str]:
211
+ return pulumi.get(self, "region")
212
+
213
+ @property
214
+ @pulumi.getter(name="selfLink")
215
+ def self_link(self) -> Optional[str]:
216
+ return pulumi.get(self, "self_link")
217
+
218
+ @property
219
+ @pulumi.getter(name="standbyPolicies")
220
+ def standby_policies(self) -> Sequence['outputs.GetRegionInstanceGroupManagerStandbyPolicyResult']:
221
+ return pulumi.get(self, "standby_policies")
222
+
223
+ @property
224
+ @pulumi.getter(name="statefulDisks")
225
+ def stateful_disks(self) -> Sequence['outputs.GetRegionInstanceGroupManagerStatefulDiskResult']:
226
+ return pulumi.get(self, "stateful_disks")
227
+
228
+ @property
229
+ @pulumi.getter(name="statefulExternalIps")
230
+ def stateful_external_ips(self) -> Sequence['outputs.GetRegionInstanceGroupManagerStatefulExternalIpResult']:
231
+ return pulumi.get(self, "stateful_external_ips")
232
+
233
+ @property
234
+ @pulumi.getter(name="statefulInternalIps")
235
+ def stateful_internal_ips(self) -> Sequence['outputs.GetRegionInstanceGroupManagerStatefulInternalIpResult']:
236
+ return pulumi.get(self, "stateful_internal_ips")
237
+
238
+ @property
239
+ @pulumi.getter
240
+ def statuses(self) -> Sequence['outputs.GetRegionInstanceGroupManagerStatusResult']:
241
+ return pulumi.get(self, "statuses")
242
+
243
+ @property
244
+ @pulumi.getter(name="targetPools")
245
+ def target_pools(self) -> Sequence[str]:
246
+ return pulumi.get(self, "target_pools")
247
+
248
+ @property
249
+ @pulumi.getter(name="targetSize")
250
+ def target_size(self) -> int:
251
+ return pulumi.get(self, "target_size")
252
+
253
+ @property
254
+ @pulumi.getter(name="targetStoppedSize")
255
+ def target_stopped_size(self) -> int:
256
+ return pulumi.get(self, "target_stopped_size")
257
+
258
+ @property
259
+ @pulumi.getter(name="targetSuspendedSize")
260
+ def target_suspended_size(self) -> int:
261
+ return pulumi.get(self, "target_suspended_size")
262
+
263
+ @property
264
+ @pulumi.getter(name="updatePolicies")
265
+ def update_policies(self) -> Sequence['outputs.GetRegionInstanceGroupManagerUpdatePolicyResult']:
266
+ return pulumi.get(self, "update_policies")
267
+
268
+ @property
269
+ @pulumi.getter
270
+ def versions(self) -> Sequence['outputs.GetRegionInstanceGroupManagerVersionResult']:
271
+ return pulumi.get(self, "versions")
272
+
273
+ @property
274
+ @pulumi.getter(name="waitForInstances")
275
+ def wait_for_instances(self) -> bool:
276
+ return pulumi.get(self, "wait_for_instances")
277
+
278
+ @property
279
+ @pulumi.getter(name="waitForInstancesStatus")
280
+ def wait_for_instances_status(self) -> str:
281
+ return pulumi.get(self, "wait_for_instances_status")
282
+
283
+
284
+ class AwaitableGetRegionInstanceGroupManagerResult(GetRegionInstanceGroupManagerResult):
285
+ # pylint: disable=using-constant-test
286
+ def __await__(self):
287
+ if False:
288
+ yield self
289
+ return GetRegionInstanceGroupManagerResult(
290
+ all_instances_configs=self.all_instances_configs,
291
+ auto_healing_policies=self.auto_healing_policies,
292
+ base_instance_name=self.base_instance_name,
293
+ creation_timestamp=self.creation_timestamp,
294
+ description=self.description,
295
+ distribution_policy_target_shape=self.distribution_policy_target_shape,
296
+ distribution_policy_zones=self.distribution_policy_zones,
297
+ fingerprint=self.fingerprint,
298
+ id=self.id,
299
+ instance_group=self.instance_group,
300
+ instance_lifecycle_policies=self.instance_lifecycle_policies,
301
+ list_managed_instances_results=self.list_managed_instances_results,
302
+ name=self.name,
303
+ named_ports=self.named_ports,
304
+ params=self.params,
305
+ project=self.project,
306
+ region=self.region,
307
+ self_link=self.self_link,
308
+ standby_policies=self.standby_policies,
309
+ stateful_disks=self.stateful_disks,
310
+ stateful_external_ips=self.stateful_external_ips,
311
+ stateful_internal_ips=self.stateful_internal_ips,
312
+ statuses=self.statuses,
313
+ target_pools=self.target_pools,
314
+ target_size=self.target_size,
315
+ target_stopped_size=self.target_stopped_size,
316
+ target_suspended_size=self.target_suspended_size,
317
+ update_policies=self.update_policies,
318
+ versions=self.versions,
319
+ wait_for_instances=self.wait_for_instances,
320
+ wait_for_instances_status=self.wait_for_instances_status)
321
+
322
+
323
+ def get_region_instance_group_manager(name: Optional[str] = None,
324
+ project: Optional[str] = None,
325
+ region: Optional[str] = None,
326
+ self_link: Optional[str] = None,
327
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegionInstanceGroupManagerResult:
328
+ """
329
+ ## subcategory: "Compute Engine"
330
+
331
+ page_title: "Google: compute.RegionInstanceGroupManager"
332
+ description: |-
333
+ Get a Compute Region Instance Group within GCE.
334
+ ---
335
+
336
+ # google\\_compute\\_region\\_instance\\_group\\_manager
337
+
338
+ Get a Compute Region Instance Group Manager within GCE.
339
+ For more information, see [the official documentation](https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups)
340
+ and [API](https://cloud.google.com/compute/docs/reference/rest/v1/regionInstanceGroupManagers)
341
+
342
+ ## Example Usage
343
+
344
+ ```python
345
+ import pulumi
346
+ import pulumi_gcp as gcp
347
+
348
+ rigm = gcp.compute.get_region_instance_group_manager(name="my-igm",
349
+ region="us-central1")
350
+ ```
351
+
352
+
353
+ :param str name: The name of the instance group. Either `name` or `self_link` must be provided.
354
+ :param str project: The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
355
+
356
+ * `Region` - (Optional) The region where the managed instance group resides. If not provided, the provider region is used.
357
+ :param str self_link: The self link of the instance group. Either `name` or `self_link` must be provided.
358
+ """
359
+ __args__ = dict()
360
+ __args__['name'] = name
361
+ __args__['project'] = project
362
+ __args__['region'] = region
363
+ __args__['selfLink'] = self_link
364
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
365
+ __ret__ = pulumi.runtime.invoke('gcp:compute/getRegionInstanceGroupManager:getRegionInstanceGroupManager', __args__, opts=opts, typ=GetRegionInstanceGroupManagerResult).value
366
+
367
+ return AwaitableGetRegionInstanceGroupManagerResult(
368
+ all_instances_configs=pulumi.get(__ret__, 'all_instances_configs'),
369
+ auto_healing_policies=pulumi.get(__ret__, 'auto_healing_policies'),
370
+ base_instance_name=pulumi.get(__ret__, 'base_instance_name'),
371
+ creation_timestamp=pulumi.get(__ret__, 'creation_timestamp'),
372
+ description=pulumi.get(__ret__, 'description'),
373
+ distribution_policy_target_shape=pulumi.get(__ret__, 'distribution_policy_target_shape'),
374
+ distribution_policy_zones=pulumi.get(__ret__, 'distribution_policy_zones'),
375
+ fingerprint=pulumi.get(__ret__, 'fingerprint'),
376
+ id=pulumi.get(__ret__, 'id'),
377
+ instance_group=pulumi.get(__ret__, 'instance_group'),
378
+ instance_lifecycle_policies=pulumi.get(__ret__, 'instance_lifecycle_policies'),
379
+ list_managed_instances_results=pulumi.get(__ret__, 'list_managed_instances_results'),
380
+ name=pulumi.get(__ret__, 'name'),
381
+ named_ports=pulumi.get(__ret__, 'named_ports'),
382
+ params=pulumi.get(__ret__, 'params'),
383
+ project=pulumi.get(__ret__, 'project'),
384
+ region=pulumi.get(__ret__, 'region'),
385
+ self_link=pulumi.get(__ret__, 'self_link'),
386
+ standby_policies=pulumi.get(__ret__, 'standby_policies'),
387
+ stateful_disks=pulumi.get(__ret__, 'stateful_disks'),
388
+ stateful_external_ips=pulumi.get(__ret__, 'stateful_external_ips'),
389
+ stateful_internal_ips=pulumi.get(__ret__, 'stateful_internal_ips'),
390
+ statuses=pulumi.get(__ret__, 'statuses'),
391
+ target_pools=pulumi.get(__ret__, 'target_pools'),
392
+ target_size=pulumi.get(__ret__, 'target_size'),
393
+ target_stopped_size=pulumi.get(__ret__, 'target_stopped_size'),
394
+ target_suspended_size=pulumi.get(__ret__, 'target_suspended_size'),
395
+ update_policies=pulumi.get(__ret__, 'update_policies'),
396
+ versions=pulumi.get(__ret__, 'versions'),
397
+ wait_for_instances=pulumi.get(__ret__, 'wait_for_instances'),
398
+ wait_for_instances_status=pulumi.get(__ret__, 'wait_for_instances_status'))
399
+
400
+
401
+ @_utilities.lift_output_func(get_region_instance_group_manager)
402
+ def get_region_instance_group_manager_output(name: Optional[pulumi.Input[Optional[str]]] = None,
403
+ project: Optional[pulumi.Input[Optional[str]]] = None,
404
+ region: Optional[pulumi.Input[Optional[str]]] = None,
405
+ self_link: Optional[pulumi.Input[Optional[str]]] = None,
406
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionInstanceGroupManagerResult]:
407
+ """
408
+ ## subcategory: "Compute Engine"
409
+
410
+ page_title: "Google: compute.RegionInstanceGroupManager"
411
+ description: |-
412
+ Get a Compute Region Instance Group within GCE.
413
+ ---
414
+
415
+ # google\\_compute\\_region\\_instance\\_group\\_manager
416
+
417
+ Get a Compute Region Instance Group Manager within GCE.
418
+ For more information, see [the official documentation](https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups)
419
+ and [API](https://cloud.google.com/compute/docs/reference/rest/v1/regionInstanceGroupManagers)
420
+
421
+ ## Example Usage
422
+
423
+ ```python
424
+ import pulumi
425
+ import pulumi_gcp as gcp
426
+
427
+ rigm = gcp.compute.get_region_instance_group_manager(name="my-igm",
428
+ region="us-central1")
429
+ ```
430
+
431
+
432
+ :param str name: The name of the instance group. Either `name` or `self_link` must be provided.
433
+ :param str project: The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
434
+
435
+ * `Region` - (Optional) The region where the managed instance group resides. If not provided, the provider region is used.
436
+ :param str self_link: The self link of the instance group. Either `name` or `self_link` must be provided.
437
+ """
438
+ ...
@@ -27,7 +27,7 @@ class GetRouterNatResult:
27
27
  """
28
28
  A collection of values returned by getRouterNat.
29
29
  """
30
- def __init__(__self__, auto_network_tier=None, drain_nat_ips=None, enable_dynamic_port_allocation=None, enable_endpoint_independent_mapping=None, endpoint_types=None, icmp_idle_timeout_sec=None, id=None, log_configs=None, max_ports_per_vm=None, min_ports_per_vm=None, name=None, nat_ip_allocate_option=None, nat_ips=None, project=None, region=None, router=None, rules=None, source_subnetwork_ip_ranges_to_nat=None, subnetworks=None, tcp_established_idle_timeout_sec=None, tcp_time_wait_timeout_sec=None, tcp_transitory_idle_timeout_sec=None, type=None, udp_idle_timeout_sec=None):
30
+ def __init__(__self__, auto_network_tier=None, drain_nat_ips=None, enable_dynamic_port_allocation=None, enable_endpoint_independent_mapping=None, endpoint_types=None, icmp_idle_timeout_sec=None, id=None, initial_nat_ips=None, log_configs=None, max_ports_per_vm=None, min_ports_per_vm=None, name=None, nat_ip_allocate_option=None, nat_ips=None, project=None, region=None, router=None, rules=None, source_subnetwork_ip_ranges_to_nat=None, subnetworks=None, tcp_established_idle_timeout_sec=None, tcp_time_wait_timeout_sec=None, tcp_transitory_idle_timeout_sec=None, type=None, udp_idle_timeout_sec=None):
31
31
  if auto_network_tier and not isinstance(auto_network_tier, str):
32
32
  raise TypeError("Expected argument 'auto_network_tier' to be a str")
33
33
  pulumi.set(__self__, "auto_network_tier", auto_network_tier)
@@ -49,6 +49,9 @@ class GetRouterNatResult:
49
49
  if id and not isinstance(id, str):
50
50
  raise TypeError("Expected argument 'id' to be a str")
51
51
  pulumi.set(__self__, "id", id)
52
+ if initial_nat_ips and not isinstance(initial_nat_ips, list):
53
+ raise TypeError("Expected argument 'initial_nat_ips' to be a list")
54
+ pulumi.set(__self__, "initial_nat_ips", initial_nat_ips)
52
55
  if log_configs and not isinstance(log_configs, list):
53
56
  raise TypeError("Expected argument 'log_configs' to be a list")
54
57
  pulumi.set(__self__, "log_configs", log_configs)
@@ -139,6 +142,11 @@ class GetRouterNatResult:
139
142
  """
140
143
  return pulumi.get(self, "id")
141
144
 
145
+ @property
146
+ @pulumi.getter(name="initialNatIps")
147
+ def initial_nat_ips(self) -> Sequence[str]:
148
+ return pulumi.get(self, "initial_nat_ips")
149
+
142
150
  @property
143
151
  @pulumi.getter(name="logConfigs")
144
152
  def log_configs(self) -> Sequence['outputs.GetRouterNatLogConfigResult']:
@@ -238,6 +246,7 @@ class AwaitableGetRouterNatResult(GetRouterNatResult):
238
246
  endpoint_types=self.endpoint_types,
239
247
  icmp_idle_timeout_sec=self.icmp_idle_timeout_sec,
240
248
  id=self.id,
249
+ initial_nat_ips=self.initial_nat_ips,
241
250
  log_configs=self.log_configs,
242
251
  max_ports_per_vm=self.max_ports_per_vm,
243
252
  min_ports_per_vm=self.min_ports_per_vm,
@@ -305,6 +314,7 @@ def get_router_nat(name: Optional[str] = None,
305
314
  endpoint_types=pulumi.get(__ret__, 'endpoint_types'),
306
315
  icmp_idle_timeout_sec=pulumi.get(__ret__, 'icmp_idle_timeout_sec'),
307
316
  id=pulumi.get(__ret__, 'id'),
317
+ initial_nat_ips=pulumi.get(__ret__, 'initial_nat_ips'),
308
318
  log_configs=pulumi.get(__ret__, 'log_configs'),
309
319
  max_ports_per_vm=pulumi.get(__ret__, 'max_ports_per_vm'),
310
320
  min_ports_per_vm=pulumi.get(__ret__, 'min_ports_per_vm'),
@@ -79,7 +79,7 @@ class InstanceArgs:
79
79
  **Note:** you must disable deletion protection before removing the resource (e.g., via `pulumi destroy`), or the instance cannot be deleted and the provider run will not complete successfully.
80
80
  :param pulumi.Input[str] description: A brief description of this resource.
81
81
  :param pulumi.Input[str] desired_status: Desired status of the instance. Either
82
- `"RUNNING"` or `"TERMINATED"`.
82
+ `"RUNNING"`, `"SUSPENDED"` or `"TERMINATED"`.
83
83
  :param pulumi.Input[bool] enable_display: Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
84
84
  **Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.
85
85
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGuestAcceleratorArgs']]] guest_accelerators: List of the type and count of accelerator cards attached to the instance. Structure documented below.
@@ -344,7 +344,7 @@ class InstanceArgs:
344
344
  def desired_status(self) -> Optional[pulumi.Input[str]]:
345
345
  """
346
346
  Desired status of the instance. Either
347
- `"RUNNING"` or `"TERMINATED"`.
347
+ `"RUNNING"`, `"SUSPENDED"` or `"TERMINATED"`.
348
348
  """
349
349
  return pulumi.get(self, "desired_status")
350
350
 
@@ -698,7 +698,7 @@ class _InstanceState:
698
698
  **Note:** you must disable deletion protection before removing the resource (e.g., via `pulumi destroy`), or the instance cannot be deleted and the provider run will not complete successfully.
699
699
  :param pulumi.Input[str] description: A brief description of this resource.
700
700
  :param pulumi.Input[str] desired_status: Desired status of the instance. Either
701
- `"RUNNING"` or `"TERMINATED"`.
701
+ `"RUNNING"`, `"SUSPENDED"` or `"TERMINATED"`.
702
702
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
703
703
  :param pulumi.Input[bool] enable_display: Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
704
704
  **Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.
@@ -993,7 +993,7 @@ class _InstanceState:
993
993
  def desired_status(self) -> Optional[pulumi.Input[str]]:
994
994
  """
995
995
  Desired status of the instance. Either
996
- `"RUNNING"` or `"TERMINATED"`.
996
+ `"RUNNING"`, `"SUSPENDED"` or `"TERMINATED"`.
997
997
  """
998
998
  return pulumi.get(self, "desired_status")
999
999
 
@@ -1569,7 +1569,7 @@ class Instance(pulumi.CustomResource):
1569
1569
  **Note:** you must disable deletion protection before removing the resource (e.g., via `pulumi destroy`), or the instance cannot be deleted and the provider run will not complete successfully.
1570
1570
  :param pulumi.Input[str] description: A brief description of this resource.
1571
1571
  :param pulumi.Input[str] desired_status: Desired status of the instance. Either
1572
- `"RUNNING"` or `"TERMINATED"`.
1572
+ `"RUNNING"`, `"SUSPENDED"` or `"TERMINATED"`.
1573
1573
  :param pulumi.Input[bool] enable_display: Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
1574
1574
  **Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.
1575
1575
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceGuestAcceleratorArgs', 'InstanceGuestAcceleratorArgsDict']]]] guest_accelerators: List of the type and count of accelerator cards attached to the instance. Structure documented below.
@@ -1941,7 +1941,7 @@ class Instance(pulumi.CustomResource):
1941
1941
  **Note:** you must disable deletion protection before removing the resource (e.g., via `pulumi destroy`), or the instance cannot be deleted and the provider run will not complete successfully.
1942
1942
  :param pulumi.Input[str] description: A brief description of this resource.
1943
1943
  :param pulumi.Input[str] desired_status: Desired status of the instance. Either
1944
- `"RUNNING"` or `"TERMINATED"`.
1944
+ `"RUNNING"`, `"SUSPENDED"` or `"TERMINATED"`.
1945
1945
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1946
1946
  :param pulumi.Input[bool] enable_display: Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
1947
1947
  **Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.
@@ -2161,7 +2161,7 @@ class Instance(pulumi.CustomResource):
2161
2161
  def desired_status(self) -> pulumi.Output[Optional[str]]:
2162
2162
  """
2163
2163
  Desired status of the instance. Either
2164
- `"RUNNING"` or `"TERMINATED"`.
2164
+ `"RUNNING"`, `"SUSPENDED"` or `"TERMINATED"`.
2165
2165
  """
2166
2166
  return pulumi.get(self, "desired_status")
2167
2167
 
@@ -62,7 +62,7 @@ class InstanceFromMachineImageArgs:
62
62
  to create.
63
63
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
64
64
  :param pulumi.Input[str] description: A brief description of the resource.
65
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
65
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
66
66
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
67
67
  :param pulumi.Input[Sequence[pulumi.Input['InstanceFromMachineImageGuestAcceleratorArgs']]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
68
68
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -246,7 +246,7 @@ class InstanceFromMachineImageArgs:
246
246
  @pulumi.getter(name="desiredStatus")
247
247
  def desired_status(self) -> Optional[pulumi.Input[str]]:
248
248
  """
249
- Desired status of the instance. Either "RUNNING" or "TERMINATED".
249
+ Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
250
250
  """
251
251
  return pulumi.get(self, "desired_status")
252
252
 
@@ -579,7 +579,7 @@ class _InstanceFromMachineImageState:
579
579
  life cycle](https://cloud.google.com/compute/docs/instances/instance-life-cycle).
580
580
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
581
581
  :param pulumi.Input[str] description: A brief description of the resource.
582
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
582
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
583
583
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
584
584
  :param pulumi.Input[Sequence[pulumi.Input['InstanceFromMachineImageGuestAcceleratorArgs']]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
585
585
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -834,7 +834,7 @@ class _InstanceFromMachineImageState:
834
834
  @pulumi.getter(name="desiredStatus")
835
835
  def desired_status(self) -> Optional[pulumi.Input[str]]:
836
836
  """
837
- Desired status of the instance. Either "RUNNING" or "TERMINATED".
837
+ Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
838
838
  """
839
839
  return pulumi.get(self, "desired_status")
840
840
 
@@ -1286,7 +1286,7 @@ class InstanceFromMachineImage(pulumi.CustomResource):
1286
1286
  to create.
1287
1287
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
1288
1288
  :param pulumi.Input[str] description: A brief description of the resource.
1289
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
1289
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
1290
1290
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
1291
1291
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceFromMachineImageGuestAcceleratorArgs', 'InstanceFromMachineImageGuestAcceleratorArgsDict']]]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
1292
1292
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -1527,7 +1527,7 @@ class InstanceFromMachineImage(pulumi.CustomResource):
1527
1527
  life cycle](https://cloud.google.com/compute/docs/instances/instance-life-cycle).
1528
1528
  :param pulumi.Input[bool] deletion_protection: Whether deletion protection is enabled on this instance.
1529
1529
  :param pulumi.Input[str] description: A brief description of the resource.
1530
- :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING" or "TERMINATED".
1530
+ :param pulumi.Input[str] desired_status: Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
1531
1531
  :param pulumi.Input[bool] enable_display: Whether the instance has virtual displays enabled.
1532
1532
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceFromMachineImageGuestAcceleratorArgs', 'InstanceFromMachineImageGuestAcceleratorArgsDict']]]] guest_accelerators: List of the type and count of accelerator cards attached to the instance.
1533
1533
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of
@@ -1706,7 +1706,7 @@ class InstanceFromMachineImage(pulumi.CustomResource):
1706
1706
  @pulumi.getter(name="desiredStatus")
1707
1707
  def desired_status(self) -> pulumi.Output[str]:
1708
1708
  """
1709
- Desired status of the instance. Either "RUNNING" or "TERMINATED".
1709
+ Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
1710
1710
  """
1711
1711
  return pulumi.get(self, "desired_status")
1712
1712