pulumi-gcp 7.7.1__py3-none-any.whl → 7.8.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 (37) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/alloydb/instance.py +1 -1
  3. pulumi_gcp/blockchainnodeengine/__init__.py +10 -0
  4. pulumi_gcp/blockchainnodeengine/_inputs.py +388 -0
  5. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +791 -0
  6. pulumi_gcp/blockchainnodeengine/outputs.py +441 -0
  7. pulumi_gcp/compute/__init__.py +2 -0
  8. pulumi_gcp/compute/disk.py +28 -0
  9. pulumi_gcp/compute/get_disk.py +11 -1
  10. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  11. pulumi_gcp/compute/get_machine_types.py +143 -0
  12. pulumi_gcp/compute/instance_group_manager.py +28 -0
  13. pulumi_gcp/compute/interconnect_attachment.py +75 -0
  14. pulumi_gcp/compute/outputs.py +219 -0
  15. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  16. pulumi_gcp/compute/region_network_endpoint.py +556 -0
  17. pulumi_gcp/compute/region_network_endpoint_group.py +128 -71
  18. pulumi_gcp/config/__init__.pyi +2 -2
  19. pulumi_gcp/config/vars.py +4 -4
  20. pulumi_gcp/discoveryengine/__init__.py +4 -0
  21. pulumi_gcp/discoveryengine/_inputs.py +237 -0
  22. pulumi_gcp/discoveryengine/chat_engine.py +822 -0
  23. pulumi_gcp/discoveryengine/outputs.py +304 -0
  24. pulumi_gcp/discoveryengine/search_engine.py +752 -0
  25. pulumi_gcp/filestore/_inputs.py +1 -3
  26. pulumi_gcp/filestore/outputs.py +1 -3
  27. pulumi_gcp/memcache/instance.py +61 -0
  28. pulumi_gcp/netapp/__init__.py +1 -0
  29. pulumi_gcp/netapp/storage_pool.py +34 -6
  30. pulumi_gcp/netapp/volume.py +65 -2
  31. pulumi_gcp/netapp/volume_snapshot.py +625 -0
  32. pulumi_gcp/provider.py +20 -0
  33. pulumi_gcp/vmwareengine/private_cloud.py +0 -7
  34. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/METADATA +1 -1
  35. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/RECORD +37 -26
  36. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/WHEEL +0 -0
  37. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,143 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+
13
+ __all__ = [
14
+ 'GetMachineTypesResult',
15
+ 'AwaitableGetMachineTypesResult',
16
+ 'get_machine_types',
17
+ 'get_machine_types_output',
18
+ ]
19
+
20
+ @pulumi.output_type
21
+ class GetMachineTypesResult:
22
+ """
23
+ A collection of values returned by getMachineTypes.
24
+ """
25
+ def __init__(__self__, filter=None, id=None, machine_types=None, project=None, zone=None):
26
+ if filter and not isinstance(filter, str):
27
+ raise TypeError("Expected argument 'filter' to be a str")
28
+ pulumi.set(__self__, "filter", filter)
29
+ if id and not isinstance(id, str):
30
+ raise TypeError("Expected argument 'id' to be a str")
31
+ pulumi.set(__self__, "id", id)
32
+ if machine_types and not isinstance(machine_types, list):
33
+ raise TypeError("Expected argument 'machine_types' to be a list")
34
+ pulumi.set(__self__, "machine_types", machine_types)
35
+ if project and not isinstance(project, str):
36
+ raise TypeError("Expected argument 'project' to be a str")
37
+ pulumi.set(__self__, "project", project)
38
+ if zone and not isinstance(zone, str):
39
+ raise TypeError("Expected argument 'zone' to be a str")
40
+ pulumi.set(__self__, "zone", zone)
41
+
42
+ @property
43
+ @pulumi.getter
44
+ def filter(self) -> Optional[str]:
45
+ return pulumi.get(self, "filter")
46
+
47
+ @property
48
+ @pulumi.getter
49
+ def id(self) -> str:
50
+ """
51
+ The provider-assigned unique ID for this managed resource.
52
+ """
53
+ return pulumi.get(self, "id")
54
+
55
+ @property
56
+ @pulumi.getter(name="machineTypes")
57
+ def machine_types(self) -> Sequence['outputs.GetMachineTypesMachineTypeResult']:
58
+ """
59
+ The list of machine types matching the provided filter. Structure is documented below.
60
+ """
61
+ return pulumi.get(self, "machine_types")
62
+
63
+ @property
64
+ @pulumi.getter
65
+ def project(self) -> str:
66
+ return pulumi.get(self, "project")
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def zone(self) -> str:
71
+ return pulumi.get(self, "zone")
72
+
73
+
74
+ class AwaitableGetMachineTypesResult(GetMachineTypesResult):
75
+ # pylint: disable=using-constant-test
76
+ def __await__(self):
77
+ if False:
78
+ yield self
79
+ return GetMachineTypesResult(
80
+ filter=self.filter,
81
+ id=self.id,
82
+ machine_types=self.machine_types,
83
+ project=self.project,
84
+ zone=self.zone)
85
+
86
+
87
+ def get_machine_types(filter: Optional[str] = None,
88
+ project: Optional[str] = None,
89
+ zone: Optional[str] = None,
90
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineTypesResult:
91
+ """
92
+ Provides access to available Google Compute machine types in a zone for a given project.
93
+ See more about [machine type availability](https://cloud.google.com/compute/docs/regions-zones#available) in the upstream docs.
94
+
95
+ To get more information about machine types, see:
96
+
97
+ * [API Documentation](https://cloud.google.com/compute/docs/reference/rest/v1/machineTypes/list)
98
+ * [Comparison Guide](https://cloud.google.com/compute/docs/machine-resource)
99
+
100
+ ## Example Usage
101
+
102
+
103
+ :param str filter: A filter expression that filters machine types listed in the response.
104
+ :param str project: Project from which to list available zones. Defaults to project declared in the provider.
105
+ :param str zone: Zone from which to list machine types.
106
+ """
107
+ __args__ = dict()
108
+ __args__['filter'] = filter
109
+ __args__['project'] = project
110
+ __args__['zone'] = zone
111
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
112
+ __ret__ = pulumi.runtime.invoke('gcp:compute/getMachineTypes:getMachineTypes', __args__, opts=opts, typ=GetMachineTypesResult).value
113
+
114
+ return AwaitableGetMachineTypesResult(
115
+ filter=pulumi.get(__ret__, 'filter'),
116
+ id=pulumi.get(__ret__, 'id'),
117
+ machine_types=pulumi.get(__ret__, 'machine_types'),
118
+ project=pulumi.get(__ret__, 'project'),
119
+ zone=pulumi.get(__ret__, 'zone'))
120
+
121
+
122
+ @_utilities.lift_output_func(get_machine_types)
123
+ def get_machine_types_output(filter: Optional[pulumi.Input[Optional[str]]] = None,
124
+ project: Optional[pulumi.Input[Optional[str]]] = None,
125
+ zone: Optional[pulumi.Input[Optional[str]]] = None,
126
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMachineTypesResult]:
127
+ """
128
+ Provides access to available Google Compute machine types in a zone for a given project.
129
+ See more about [machine type availability](https://cloud.google.com/compute/docs/regions-zones#available) in the upstream docs.
130
+
131
+ To get more information about machine types, see:
132
+
133
+ * [API Documentation](https://cloud.google.com/compute/docs/reference/rest/v1/machineTypes/list)
134
+ * [Comparison Guide](https://cloud.google.com/compute/docs/machine-resource)
135
+
136
+ ## Example Usage
137
+
138
+
139
+ :param str filter: A filter expression that filters machine types listed in the response.
140
+ :param str project: Project from which to list available zones. Defaults to project declared in the provider.
141
+ :param str zone: Zone from which to list machine types.
142
+ """
143
+ ...
@@ -397,6 +397,7 @@ class _InstanceGroupManagerState:
397
397
  all_instances_config: Optional[pulumi.Input['InstanceGroupManagerAllInstancesConfigArgs']] = None,
398
398
  auto_healing_policies: Optional[pulumi.Input['InstanceGroupManagerAutoHealingPoliciesArgs']] = None,
399
399
  base_instance_name: Optional[pulumi.Input[str]] = None,
400
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
400
401
  description: Optional[pulumi.Input[str]] = None,
401
402
  fingerprint: Optional[pulumi.Input[str]] = None,
402
403
  instance_group: Optional[pulumi.Input[str]] = None,
@@ -431,6 +432,7 @@ class _InstanceGroupManagerState:
431
432
  are lowercase letters, numbers, and hyphens (-). Instances are named by
432
433
  appending a hyphen and a random four-character string to the base instance
433
434
  name.
435
+ :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
434
436
  :param pulumi.Input[str] description: An optional textual description of the instance
435
437
  group manager.
436
438
  :param pulumi.Input[str] fingerprint: The fingerprint of the instance group manager.
@@ -484,6 +486,8 @@ class _InstanceGroupManagerState:
484
486
  pulumi.set(__self__, "auto_healing_policies", auto_healing_policies)
485
487
  if base_instance_name is not None:
486
488
  pulumi.set(__self__, "base_instance_name", base_instance_name)
489
+ if creation_timestamp is not None:
490
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
487
491
  if description is not None:
488
492
  pulumi.set(__self__, "description", description)
489
493
  if fingerprint is not None:
@@ -571,6 +575,18 @@ class _InstanceGroupManagerState:
571
575
  def base_instance_name(self, value: Optional[pulumi.Input[str]]):
572
576
  pulumi.set(self, "base_instance_name", value)
573
577
 
578
+ @property
579
+ @pulumi.getter(name="creationTimestamp")
580
+ def creation_timestamp(self) -> Optional[pulumi.Input[str]]:
581
+ """
582
+ Creation timestamp in RFC3339 text format.
583
+ """
584
+ return pulumi.get(self, "creation_timestamp")
585
+
586
+ @creation_timestamp.setter
587
+ def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
588
+ pulumi.set(self, "creation_timestamp", value)
589
+
574
590
  @property
575
591
  @pulumi.getter
576
592
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -1188,6 +1204,7 @@ class InstanceGroupManager(pulumi.CustomResource):
1188
1204
  __props__.__dict__["wait_for_instances"] = wait_for_instances
1189
1205
  __props__.__dict__["wait_for_instances_status"] = wait_for_instances_status
1190
1206
  __props__.__dict__["zone"] = zone
1207
+ __props__.__dict__["creation_timestamp"] = None
1191
1208
  __props__.__dict__["fingerprint"] = None
1192
1209
  __props__.__dict__["instance_group"] = None
1193
1210
  __props__.__dict__["operation"] = None
@@ -1206,6 +1223,7 @@ class InstanceGroupManager(pulumi.CustomResource):
1206
1223
  all_instances_config: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerAllInstancesConfigArgs']]] = None,
1207
1224
  auto_healing_policies: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerAutoHealingPoliciesArgs']]] = None,
1208
1225
  base_instance_name: Optional[pulumi.Input[str]] = None,
1226
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
1209
1227
  description: Optional[pulumi.Input[str]] = None,
1210
1228
  fingerprint: Optional[pulumi.Input[str]] = None,
1211
1229
  instance_group: Optional[pulumi.Input[str]] = None,
@@ -1245,6 +1263,7 @@ class InstanceGroupManager(pulumi.CustomResource):
1245
1263
  are lowercase letters, numbers, and hyphens (-). Instances are named by
1246
1264
  appending a hyphen and a random four-character string to the base instance
1247
1265
  name.
1266
+ :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
1248
1267
  :param pulumi.Input[str] description: An optional textual description of the instance
1249
1268
  group manager.
1250
1269
  :param pulumi.Input[str] fingerprint: The fingerprint of the instance group manager.
@@ -1299,6 +1318,7 @@ class InstanceGroupManager(pulumi.CustomResource):
1299
1318
  __props__.__dict__["all_instances_config"] = all_instances_config
1300
1319
  __props__.__dict__["auto_healing_policies"] = auto_healing_policies
1301
1320
  __props__.__dict__["base_instance_name"] = base_instance_name
1321
+ __props__.__dict__["creation_timestamp"] = creation_timestamp
1302
1322
  __props__.__dict__["description"] = description
1303
1323
  __props__.__dict__["fingerprint"] = fingerprint
1304
1324
  __props__.__dict__["instance_group"] = instance_group
@@ -1354,6 +1374,14 @@ class InstanceGroupManager(pulumi.CustomResource):
1354
1374
  """
1355
1375
  return pulumi.get(self, "base_instance_name")
1356
1376
 
1377
+ @property
1378
+ @pulumi.getter(name="creationTimestamp")
1379
+ def creation_timestamp(self) -> pulumi.Output[str]:
1380
+ """
1381
+ Creation timestamp in RFC3339 text format.
1382
+ """
1383
+ return pulumi.get(self, "creation_timestamp")
1384
+
1357
1385
  @property
1358
1386
  @pulumi.getter
1359
1387
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -29,6 +29,7 @@ class InterconnectAttachmentArgs:
29
29
  name: Optional[pulumi.Input[str]] = None,
30
30
  project: Optional[pulumi.Input[str]] = None,
31
31
  region: Optional[pulumi.Input[str]] = None,
32
+ stack_type: Optional[pulumi.Input[str]] = None,
32
33
  type: Optional[pulumi.Input[str]] = None,
33
34
  vlan_tag8021q: Optional[pulumi.Input[int]] = None):
34
35
  """
@@ -104,6 +105,11 @@ class InterconnectAttachmentArgs:
104
105
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
105
106
  If it is not provided, the provider project is used.
106
107
  :param pulumi.Input[str] region: Region where the regional interconnect attachment resides.
108
+ :param pulumi.Input[str] stack_type: The stack type for this interconnect attachment to identify whether the IPv6
109
+ feature is enabled or not. If not specified, IPV4_ONLY will be used.
110
+ This field can be both set at interconnect attachments creation and update
111
+ interconnect attachment operations.
112
+ Possible values are: `IPV4_IPV6`, `IPV4_ONLY`.
107
113
  :param pulumi.Input[str] type: The type of InterconnectAttachment you wish to create. Defaults to
108
114
  DEDICATED.
109
115
  Possible values are: `DEDICATED`, `PARTNER`, `PARTNER_PROVIDER`.
@@ -135,6 +141,8 @@ class InterconnectAttachmentArgs:
135
141
  pulumi.set(__self__, "project", project)
136
142
  if region is not None:
137
143
  pulumi.set(__self__, "region", region)
144
+ if stack_type is not None:
145
+ pulumi.set(__self__, "stack_type", stack_type)
138
146
  if type is not None:
139
147
  pulumi.set(__self__, "type", type)
140
148
  if vlan_tag8021q is not None:
@@ -354,6 +362,22 @@ class InterconnectAttachmentArgs:
354
362
  def region(self, value: Optional[pulumi.Input[str]]):
355
363
  pulumi.set(self, "region", value)
356
364
 
365
+ @property
366
+ @pulumi.getter(name="stackType")
367
+ def stack_type(self) -> Optional[pulumi.Input[str]]:
368
+ """
369
+ The stack type for this interconnect attachment to identify whether the IPv6
370
+ feature is enabled or not. If not specified, IPV4_ONLY will be used.
371
+ This field can be both set at interconnect attachments creation and update
372
+ interconnect attachment operations.
373
+ Possible values are: `IPV4_IPV6`, `IPV4_ONLY`.
374
+ """
375
+ return pulumi.get(self, "stack_type")
376
+
377
+ @stack_type.setter
378
+ def stack_type(self, value: Optional[pulumi.Input[str]]):
379
+ pulumi.set(self, "stack_type", value)
380
+
357
381
  @property
358
382
  @pulumi.getter
359
383
  def type(self) -> Optional[pulumi.Input[str]]:
@@ -406,6 +430,7 @@ class _InterconnectAttachmentState:
406
430
  region: Optional[pulumi.Input[str]] = None,
407
431
  router: Optional[pulumi.Input[str]] = None,
408
432
  self_link: Optional[pulumi.Input[str]] = None,
433
+ stack_type: Optional[pulumi.Input[str]] = None,
409
434
  state: Optional[pulumi.Input[str]] = None,
410
435
  type: Optional[pulumi.Input[str]] = None,
411
436
  vlan_tag8021q: Optional[pulumi.Input[int]] = None):
@@ -499,6 +524,11 @@ class _InterconnectAttachmentState:
499
524
  automatically connect the Interconnect to the network & region within which the
500
525
  Cloud Router is configured.
501
526
  :param pulumi.Input[str] self_link: The URI of the created resource.
527
+ :param pulumi.Input[str] stack_type: The stack type for this interconnect attachment to identify whether the IPv6
528
+ feature is enabled or not. If not specified, IPV4_ONLY will be used.
529
+ This field can be both set at interconnect attachments creation and update
530
+ interconnect attachment operations.
531
+ Possible values are: `IPV4_IPV6`, `IPV4_ONLY`.
502
532
  :param pulumi.Input[str] state: [Output Only] The current state of this attachment's functionality.
503
533
  :param pulumi.Input[str] type: The type of InterconnectAttachment you wish to create. Defaults to
504
534
  DEDICATED.
@@ -548,6 +578,8 @@ class _InterconnectAttachmentState:
548
578
  pulumi.set(__self__, "router", router)
549
579
  if self_link is not None:
550
580
  pulumi.set(__self__, "self_link", self_link)
581
+ if stack_type is not None:
582
+ pulumi.set(__self__, "stack_type", stack_type)
551
583
  if state is not None:
552
584
  pulumi.set(__self__, "state", state)
553
585
  if type is not None:
@@ -874,6 +906,22 @@ class _InterconnectAttachmentState:
874
906
  def self_link(self, value: Optional[pulumi.Input[str]]):
875
907
  pulumi.set(self, "self_link", value)
876
908
 
909
+ @property
910
+ @pulumi.getter(name="stackType")
911
+ def stack_type(self) -> Optional[pulumi.Input[str]]:
912
+ """
913
+ The stack type for this interconnect attachment to identify whether the IPv6
914
+ feature is enabled or not. If not specified, IPV4_ONLY will be used.
915
+ This field can be both set at interconnect attachments creation and update
916
+ interconnect attachment operations.
917
+ Possible values are: `IPV4_IPV6`, `IPV4_ONLY`.
918
+ """
919
+ return pulumi.get(self, "stack_type")
920
+
921
+ @stack_type.setter
922
+ def stack_type(self, value: Optional[pulumi.Input[str]]):
923
+ pulumi.set(self, "stack_type", value)
924
+
877
925
  @property
878
926
  @pulumi.getter
879
927
  def state(self) -> Optional[pulumi.Input[str]]:
@@ -932,6 +980,7 @@ class InterconnectAttachment(pulumi.CustomResource):
932
980
  project: Optional[pulumi.Input[str]] = None,
933
981
  region: Optional[pulumi.Input[str]] = None,
934
982
  router: Optional[pulumi.Input[str]] = None,
983
+ stack_type: Optional[pulumi.Input[str]] = None,
935
984
  type: Optional[pulumi.Input[str]] = None,
936
985
  vlan_tag8021q: Optional[pulumi.Input[int]] = None,
937
986
  __props__=None):
@@ -1078,6 +1127,11 @@ class InterconnectAttachment(pulumi.CustomResource):
1078
1127
  the same region as this InterconnectAttachment. The InterconnectAttachment will
1079
1128
  automatically connect the Interconnect to the network & region within which the
1080
1129
  Cloud Router is configured.
1130
+ :param pulumi.Input[str] stack_type: The stack type for this interconnect attachment to identify whether the IPv6
1131
+ feature is enabled or not. If not specified, IPV4_ONLY will be used.
1132
+ This field can be both set at interconnect attachments creation and update
1133
+ interconnect attachment operations.
1134
+ Possible values are: `IPV4_IPV6`, `IPV4_ONLY`.
1081
1135
  :param pulumi.Input[str] type: The type of InterconnectAttachment you wish to create. Defaults to
1082
1136
  DEDICATED.
1083
1137
  Possible values are: `DEDICATED`, `PARTNER`, `PARTNER_PROVIDER`.
@@ -1188,6 +1242,7 @@ class InterconnectAttachment(pulumi.CustomResource):
1188
1242
  project: Optional[pulumi.Input[str]] = None,
1189
1243
  region: Optional[pulumi.Input[str]] = None,
1190
1244
  router: Optional[pulumi.Input[str]] = None,
1245
+ stack_type: Optional[pulumi.Input[str]] = None,
1191
1246
  type: Optional[pulumi.Input[str]] = None,
1192
1247
  vlan_tag8021q: Optional[pulumi.Input[int]] = None,
1193
1248
  __props__=None):
@@ -1214,6 +1269,7 @@ class InterconnectAttachment(pulumi.CustomResource):
1214
1269
  if router is None and not opts.urn:
1215
1270
  raise TypeError("Missing required property 'router'")
1216
1271
  __props__.__dict__["router"] = router
1272
+ __props__.__dict__["stack_type"] = stack_type
1217
1273
  __props__.__dict__["type"] = type
1218
1274
  __props__.__dict__["vlan_tag8021q"] = vlan_tag8021q
1219
1275
  __props__.__dict__["cloud_router_ip_address"] = None
@@ -1256,6 +1312,7 @@ class InterconnectAttachment(pulumi.CustomResource):
1256
1312
  region: Optional[pulumi.Input[str]] = None,
1257
1313
  router: Optional[pulumi.Input[str]] = None,
1258
1314
  self_link: Optional[pulumi.Input[str]] = None,
1315
+ stack_type: Optional[pulumi.Input[str]] = None,
1259
1316
  state: Optional[pulumi.Input[str]] = None,
1260
1317
  type: Optional[pulumi.Input[str]] = None,
1261
1318
  vlan_tag8021q: Optional[pulumi.Input[int]] = None) -> 'InterconnectAttachment':
@@ -1354,6 +1411,11 @@ class InterconnectAttachment(pulumi.CustomResource):
1354
1411
  automatically connect the Interconnect to the network & region within which the
1355
1412
  Cloud Router is configured.
1356
1413
  :param pulumi.Input[str] self_link: The URI of the created resource.
1414
+ :param pulumi.Input[str] stack_type: The stack type for this interconnect attachment to identify whether the IPv6
1415
+ feature is enabled or not. If not specified, IPV4_ONLY will be used.
1416
+ This field can be both set at interconnect attachments creation and update
1417
+ interconnect attachment operations.
1418
+ Possible values are: `IPV4_IPV6`, `IPV4_ONLY`.
1357
1419
  :param pulumi.Input[str] state: [Output Only] The current state of this attachment's functionality.
1358
1420
  :param pulumi.Input[str] type: The type of InterconnectAttachment you wish to create. Defaults to
1359
1421
  DEDICATED.
@@ -1386,6 +1448,7 @@ class InterconnectAttachment(pulumi.CustomResource):
1386
1448
  __props__.__dict__["region"] = region
1387
1449
  __props__.__dict__["router"] = router
1388
1450
  __props__.__dict__["self_link"] = self_link
1451
+ __props__.__dict__["stack_type"] = stack_type
1389
1452
  __props__.__dict__["state"] = state
1390
1453
  __props__.__dict__["type"] = type
1391
1454
  __props__.__dict__["vlan_tag8021q"] = vlan_tag8021q
@@ -1626,6 +1689,18 @@ class InterconnectAttachment(pulumi.CustomResource):
1626
1689
  """
1627
1690
  return pulumi.get(self, "self_link")
1628
1691
 
1692
+ @property
1693
+ @pulumi.getter(name="stackType")
1694
+ def stack_type(self) -> pulumi.Output[str]:
1695
+ """
1696
+ The stack type for this interconnect attachment to identify whether the IPv6
1697
+ feature is enabled or not. If not specified, IPV4_ONLY will be used.
1698
+ This field can be both set at interconnect attachments creation and update
1699
+ interconnect attachment operations.
1700
+ Possible values are: `IPV4_IPV6`, `IPV4_ONLY`.
1701
+ """
1702
+ return pulumi.get(self, "stack_type")
1703
+
1629
1704
  @property
1630
1705
  @pulumi.getter
1631
1706
  def state(self) -> pulumi.Output[str]:
@@ -624,6 +624,10 @@ __all__ = [
624
624
  'GetInstanceTemplateSchedulingNodeAffinityResult',
625
625
  'GetInstanceTemplateServiceAccountResult',
626
626
  'GetInstanceTemplateShieldedInstanceConfigResult',
627
+ 'GetMachineTypesMachineTypeResult',
628
+ 'GetMachineTypesMachineTypeAcceleratorResult',
629
+ 'GetMachineTypesMachineTypeBundledLocalSsdResult',
630
+ 'GetMachineTypesMachineTypeDeprecatedResult',
627
631
  'GetRegionDiskAsyncPrimaryDiskResult',
628
632
  'GetRegionDiskDiskEncryptionKeyResult',
629
633
  'GetRegionDiskGuestOsFeatureResult',
@@ -43517,6 +43521,221 @@ class GetInstanceTemplateShieldedInstanceConfigResult(dict):
43517
43521
  return pulumi.get(self, "enable_vtpm")
43518
43522
 
43519
43523
 
43524
+ @pulumi.output_type
43525
+ class GetMachineTypesMachineTypeResult(dict):
43526
+ def __init__(__self__, *,
43527
+ accelerators: Sequence['outputs.GetMachineTypesMachineTypeAcceleratorResult'],
43528
+ bundled_local_ssds: Sequence['outputs.GetMachineTypesMachineTypeBundledLocalSsdResult'],
43529
+ deprecateds: Sequence['outputs.GetMachineTypesMachineTypeDeprecatedResult'],
43530
+ description: str,
43531
+ guest_cpus: int,
43532
+ is_shared_cpus: bool,
43533
+ maximum_persistent_disks: int,
43534
+ maximum_persistent_disks_size_gb: int,
43535
+ memory_mb: int,
43536
+ name: str,
43537
+ self_link: str):
43538
+ """
43539
+ :param Sequence['GetMachineTypesMachineTypeAcceleratorArgs'] accelerators: A list of accelerator configurations assigned to this machine type. Structure is documented below.
43540
+ :param Sequence['GetMachineTypesMachineTypeBundledLocalSsdArgs'] bundled_local_ssds: The configuration of bundled local SSD for the machine type. Structure is documented below.
43541
+ :param Sequence['GetMachineTypesMachineTypeDeprecatedArgs'] deprecateds: The deprecation status associated with this machine type. Structure is documented below.
43542
+ :param str description: A textual description of the machine type.
43543
+ :param int guest_cpus: The number of virtual CPUs that are available to the instance.
43544
+ :param bool is_shared_cpus: Whether this machine type has a shared CPU.
43545
+ :param int maximum_persistent_disks: The maximum persistent disks allowed.
43546
+ :param int maximum_persistent_disks_size_gb: The maximum total persistent disks size (GB) allowed.
43547
+ :param int memory_mb: The amount of physical memory available to the instance, defined in MB.
43548
+ :param str name: The name of the machine type.
43549
+ :param str self_link: The server-defined URL for the machine type.
43550
+ """
43551
+ pulumi.set(__self__, "accelerators", accelerators)
43552
+ pulumi.set(__self__, "bundled_local_ssds", bundled_local_ssds)
43553
+ pulumi.set(__self__, "deprecateds", deprecateds)
43554
+ pulumi.set(__self__, "description", description)
43555
+ pulumi.set(__self__, "guest_cpus", guest_cpus)
43556
+ pulumi.set(__self__, "is_shared_cpus", is_shared_cpus)
43557
+ pulumi.set(__self__, "maximum_persistent_disks", maximum_persistent_disks)
43558
+ pulumi.set(__self__, "maximum_persistent_disks_size_gb", maximum_persistent_disks_size_gb)
43559
+ pulumi.set(__self__, "memory_mb", memory_mb)
43560
+ pulumi.set(__self__, "name", name)
43561
+ pulumi.set(__self__, "self_link", self_link)
43562
+
43563
+ @property
43564
+ @pulumi.getter
43565
+ def accelerators(self) -> Sequence['outputs.GetMachineTypesMachineTypeAcceleratorResult']:
43566
+ """
43567
+ A list of accelerator configurations assigned to this machine type. Structure is documented below.
43568
+ """
43569
+ return pulumi.get(self, "accelerators")
43570
+
43571
+ @property
43572
+ @pulumi.getter(name="bundledLocalSsds")
43573
+ def bundled_local_ssds(self) -> Sequence['outputs.GetMachineTypesMachineTypeBundledLocalSsdResult']:
43574
+ """
43575
+ The configuration of bundled local SSD for the machine type. Structure is documented below.
43576
+ """
43577
+ return pulumi.get(self, "bundled_local_ssds")
43578
+
43579
+ @property
43580
+ @pulumi.getter
43581
+ def deprecateds(self) -> Sequence['outputs.GetMachineTypesMachineTypeDeprecatedResult']:
43582
+ """
43583
+ The deprecation status associated with this machine type. Structure is documented below.
43584
+ """
43585
+ return pulumi.get(self, "deprecateds")
43586
+
43587
+ @property
43588
+ @pulumi.getter
43589
+ def description(self) -> str:
43590
+ """
43591
+ A textual description of the machine type.
43592
+ """
43593
+ return pulumi.get(self, "description")
43594
+
43595
+ @property
43596
+ @pulumi.getter(name="guestCpus")
43597
+ def guest_cpus(self) -> int:
43598
+ """
43599
+ The number of virtual CPUs that are available to the instance.
43600
+ """
43601
+ return pulumi.get(self, "guest_cpus")
43602
+
43603
+ @property
43604
+ @pulumi.getter(name="isSharedCpus")
43605
+ def is_shared_cpus(self) -> bool:
43606
+ """
43607
+ Whether this machine type has a shared CPU.
43608
+ """
43609
+ return pulumi.get(self, "is_shared_cpus")
43610
+
43611
+ @property
43612
+ @pulumi.getter(name="maximumPersistentDisks")
43613
+ def maximum_persistent_disks(self) -> int:
43614
+ """
43615
+ The maximum persistent disks allowed.
43616
+ """
43617
+ return pulumi.get(self, "maximum_persistent_disks")
43618
+
43619
+ @property
43620
+ @pulumi.getter(name="maximumPersistentDisksSizeGb")
43621
+ def maximum_persistent_disks_size_gb(self) -> int:
43622
+ """
43623
+ The maximum total persistent disks size (GB) allowed.
43624
+ """
43625
+ return pulumi.get(self, "maximum_persistent_disks_size_gb")
43626
+
43627
+ @property
43628
+ @pulumi.getter(name="memoryMb")
43629
+ def memory_mb(self) -> int:
43630
+ """
43631
+ The amount of physical memory available to the instance, defined in MB.
43632
+ """
43633
+ return pulumi.get(self, "memory_mb")
43634
+
43635
+ @property
43636
+ @pulumi.getter
43637
+ def name(self) -> str:
43638
+ """
43639
+ The name of the machine type.
43640
+ """
43641
+ return pulumi.get(self, "name")
43642
+
43643
+ @property
43644
+ @pulumi.getter(name="selfLink")
43645
+ def self_link(self) -> str:
43646
+ """
43647
+ The server-defined URL for the machine type.
43648
+ """
43649
+ return pulumi.get(self, "self_link")
43650
+
43651
+
43652
+ @pulumi.output_type
43653
+ class GetMachineTypesMachineTypeAcceleratorResult(dict):
43654
+ def __init__(__self__, *,
43655
+ guest_accelerator_count: int,
43656
+ guest_accelerator_type: str):
43657
+ """
43658
+ :param int guest_accelerator_count: Number of accelerator cards exposed to the guest.
43659
+ :param str guest_accelerator_type: The accelerator type resource name, not a full URL, e.g. `nvidia-tesla-t4`.
43660
+ """
43661
+ pulumi.set(__self__, "guest_accelerator_count", guest_accelerator_count)
43662
+ pulumi.set(__self__, "guest_accelerator_type", guest_accelerator_type)
43663
+
43664
+ @property
43665
+ @pulumi.getter(name="guestAcceleratorCount")
43666
+ def guest_accelerator_count(self) -> int:
43667
+ """
43668
+ Number of accelerator cards exposed to the guest.
43669
+ """
43670
+ return pulumi.get(self, "guest_accelerator_count")
43671
+
43672
+ @property
43673
+ @pulumi.getter(name="guestAcceleratorType")
43674
+ def guest_accelerator_type(self) -> str:
43675
+ """
43676
+ The accelerator type resource name, not a full URL, e.g. `nvidia-tesla-t4`.
43677
+ """
43678
+ return pulumi.get(self, "guest_accelerator_type")
43679
+
43680
+
43681
+ @pulumi.output_type
43682
+ class GetMachineTypesMachineTypeBundledLocalSsdResult(dict):
43683
+ def __init__(__self__, *,
43684
+ default_interface: str,
43685
+ partition_count: int):
43686
+ """
43687
+ :param str default_interface: The default disk interface if the interface is not specified.
43688
+ :param int partition_count: The number of partitions.
43689
+ """
43690
+ pulumi.set(__self__, "default_interface", default_interface)
43691
+ pulumi.set(__self__, "partition_count", partition_count)
43692
+
43693
+ @property
43694
+ @pulumi.getter(name="defaultInterface")
43695
+ def default_interface(self) -> str:
43696
+ """
43697
+ The default disk interface if the interface is not specified.
43698
+ """
43699
+ return pulumi.get(self, "default_interface")
43700
+
43701
+ @property
43702
+ @pulumi.getter(name="partitionCount")
43703
+ def partition_count(self) -> int:
43704
+ """
43705
+ The number of partitions.
43706
+ """
43707
+ return pulumi.get(self, "partition_count")
43708
+
43709
+
43710
+ @pulumi.output_type
43711
+ class GetMachineTypesMachineTypeDeprecatedResult(dict):
43712
+ def __init__(__self__, *,
43713
+ replacement: str,
43714
+ state: str):
43715
+ """
43716
+ :param str replacement: The URL of the suggested replacement for a deprecated machine type.
43717
+ :param str state: The deprecation state of this resource. This can be `ACTIVE`, `DEPRECATED`, `OBSOLETE`, or `DELETED`.
43718
+ """
43719
+ pulumi.set(__self__, "replacement", replacement)
43720
+ pulumi.set(__self__, "state", state)
43721
+
43722
+ @property
43723
+ @pulumi.getter
43724
+ def replacement(self) -> str:
43725
+ """
43726
+ The URL of the suggested replacement for a deprecated machine type.
43727
+ """
43728
+ return pulumi.get(self, "replacement")
43729
+
43730
+ @property
43731
+ @pulumi.getter
43732
+ def state(self) -> str:
43733
+ """
43734
+ The deprecation state of this resource. This can be `ACTIVE`, `DEPRECATED`, `OBSOLETE`, or `DELETED`.
43735
+ """
43736
+ return pulumi.get(self, "state")
43737
+
43738
+
43520
43739
  @pulumi.output_type
43521
43740
  class GetRegionDiskAsyncPrimaryDiskResult(dict):
43522
43741
  def __init__(__self__, *,