pulumi-linode 5.3.0a1757561362__py3-none-any.whl → 5.4.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.

Potentially problematic release.


This version of pulumi-linode might be problematic. Click here for more details.

@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "linode",
4
- "version": "5.3.0-alpha.1757561362"
4
+ "version": "5.4.0"
5
5
  }
pulumi_linode/user.py CHANGED
@@ -30,7 +30,6 @@ class UserArgs:
30
30
  linode_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserLinodeGrantArgs']]]] = None,
31
31
  longview_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserLongviewGrantArgs']]]] = None,
32
32
  nodebalancer_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserNodebalancerGrantArgs']]]] = None,
33
- placement_group_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]]] = None,
34
33
  restricted: Optional[pulumi.Input[_builtins.bool]] = None,
35
34
  stackscript_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserStackscriptGrantArgs']]]] = None,
36
35
  volume_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserVolumeGrantArgs']]]] = None,
@@ -46,7 +45,6 @@ class UserArgs:
46
45
  :param pulumi.Input[Sequence[pulumi.Input['UserLinodeGrantArgs']]] linode_grants: The Linodes the user has permissions access to.
47
46
  :param pulumi.Input[Sequence[pulumi.Input['UserLongviewGrantArgs']]] longview_grants: The longview the user has permissions access to.
48
47
  :param pulumi.Input[Sequence[pulumi.Input['UserNodebalancerGrantArgs']]] nodebalancer_grants: The NodeBalancers the user has permissions access to.
49
- :param pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]] placement_group_grants: The Placement Groups the user has permissions access to.
50
48
  :param pulumi.Input[_builtins.bool] restricted: If true, this user will only have explicit permissions granted.
51
49
 
52
50
  * `global_grants` - (optional) A structure containing the Account-level grants a User has.
@@ -72,8 +70,6 @@ class UserArgs:
72
70
  pulumi.set(__self__, "longview_grants", longview_grants)
73
71
  if nodebalancer_grants is not None:
74
72
  pulumi.set(__self__, "nodebalancer_grants", nodebalancer_grants)
75
- if placement_group_grants is not None:
76
- pulumi.set(__self__, "placement_group_grants", placement_group_grants)
77
73
  if restricted is not None:
78
74
  pulumi.set(__self__, "restricted", restricted)
79
75
  if stackscript_grants is not None:
@@ -191,18 +187,6 @@ class UserArgs:
191
187
  def nodebalancer_grants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserNodebalancerGrantArgs']]]]):
192
188
  pulumi.set(self, "nodebalancer_grants", value)
193
189
 
194
- @_builtins.property
195
- @pulumi.getter(name="placementGroupGrants")
196
- def placement_group_grants(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]]]:
197
- """
198
- The Placement Groups the user has permissions access to.
199
- """
200
- return pulumi.get(self, "placement_group_grants")
201
-
202
- @placement_group_grants.setter
203
- def placement_group_grants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]]]):
204
- pulumi.set(self, "placement_group_grants", value)
205
-
206
190
  @_builtins.property
207
191
  @pulumi.getter
208
192
  def restricted(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -267,7 +251,6 @@ class _UserState:
267
251
  linode_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserLinodeGrantArgs']]]] = None,
268
252
  longview_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserLongviewGrantArgs']]]] = None,
269
253
  nodebalancer_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserNodebalancerGrantArgs']]]] = None,
270
- placement_group_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]]] = None,
271
254
  restricted: Optional[pulumi.Input[_builtins.bool]] = None,
272
255
  ssh_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
273
256
  stackscript_grants: Optional[pulumi.Input[Sequence[pulumi.Input['UserStackscriptGrantArgs']]]] = None,
@@ -286,7 +269,6 @@ class _UserState:
286
269
  :param pulumi.Input[Sequence[pulumi.Input['UserLinodeGrantArgs']]] linode_grants: The Linodes the user has permissions access to.
287
270
  :param pulumi.Input[Sequence[pulumi.Input['UserLongviewGrantArgs']]] longview_grants: The longview the user has permissions access to.
288
271
  :param pulumi.Input[Sequence[pulumi.Input['UserNodebalancerGrantArgs']]] nodebalancer_grants: The NodeBalancers the user has permissions access to.
289
- :param pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]] placement_group_grants: The Placement Groups the user has permissions access to.
290
272
  :param pulumi.Input[_builtins.bool] restricted: If true, this user will only have explicit permissions granted.
291
273
 
292
274
  * `global_grants` - (optional) A structure containing the Account-level grants a User has.
@@ -316,8 +298,6 @@ class _UserState:
316
298
  pulumi.set(__self__, "longview_grants", longview_grants)
317
299
  if nodebalancer_grants is not None:
318
300
  pulumi.set(__self__, "nodebalancer_grants", nodebalancer_grants)
319
- if placement_group_grants is not None:
320
- pulumi.set(__self__, "placement_group_grants", placement_group_grants)
321
301
  if restricted is not None:
322
302
  pulumi.set(__self__, "restricted", restricted)
323
303
  if ssh_keys is not None:
@@ -431,18 +411,6 @@ class _UserState:
431
411
  def nodebalancer_grants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserNodebalancerGrantArgs']]]]):
432
412
  pulumi.set(self, "nodebalancer_grants", value)
433
413
 
434
- @_builtins.property
435
- @pulumi.getter(name="placementGroupGrants")
436
- def placement_group_grants(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]]]:
437
- """
438
- The Placement Groups the user has permissions access to.
439
- """
440
- return pulumi.get(self, "placement_group_grants")
441
-
442
- @placement_group_grants.setter
443
- def placement_group_grants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserPlacementGroupGrantArgs']]]]):
444
- pulumi.set(self, "placement_group_grants", value)
445
-
446
414
  @_builtins.property
447
415
  @pulumi.getter
448
416
  def restricted(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -558,7 +526,6 @@ class User(pulumi.CustomResource):
558
526
  linode_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserLinodeGrantArgs', 'UserLinodeGrantArgsDict']]]]] = None,
559
527
  longview_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserLongviewGrantArgs', 'UserLongviewGrantArgsDict']]]]] = None,
560
528
  nodebalancer_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserNodebalancerGrantArgs', 'UserNodebalancerGrantArgsDict']]]]] = None,
561
- placement_group_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserPlacementGroupGrantArgs', 'UserPlacementGroupGrantArgsDict']]]]] = None,
562
529
  restricted: Optional[pulumi.Input[_builtins.bool]] = None,
563
530
  stackscript_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserStackscriptGrantArgs', 'UserStackscriptGrantArgsDict']]]]] = None,
564
531
  username: Optional[pulumi.Input[_builtins.str]] = None,
@@ -620,8 +587,6 @@ class User(pulumi.CustomResource):
620
587
 
621
588
  * `add_nodebalancers` - (optional) If true, this User may add NodeBalancers.
622
589
 
623
- * `add_placement_groups` - (optional) If true, this User may add Placement Groups.
624
-
625
590
  * `add_stackscripts` - (optional) If true, this User may add StackScripts.
626
591
 
627
592
  * `add_vpcs` - (optional) If true, this User may add Virtual Private Clouds (VPCs).
@@ -646,7 +611,6 @@ class User(pulumi.CustomResource):
646
611
  :param pulumi.Input[Sequence[pulumi.Input[Union['UserLinodeGrantArgs', 'UserLinodeGrantArgsDict']]]] linode_grants: The Linodes the user has permissions access to.
647
612
  :param pulumi.Input[Sequence[pulumi.Input[Union['UserLongviewGrantArgs', 'UserLongviewGrantArgsDict']]]] longview_grants: The longview the user has permissions access to.
648
613
  :param pulumi.Input[Sequence[pulumi.Input[Union['UserNodebalancerGrantArgs', 'UserNodebalancerGrantArgsDict']]]] nodebalancer_grants: The NodeBalancers the user has permissions access to.
649
- :param pulumi.Input[Sequence[pulumi.Input[Union['UserPlacementGroupGrantArgs', 'UserPlacementGroupGrantArgsDict']]]] placement_group_grants: The Placement Groups the user has permissions access to.
650
614
  :param pulumi.Input[_builtins.bool] restricted: If true, this user will only have explicit permissions granted.
651
615
 
652
616
  * `global_grants` - (optional) A structure containing the Account-level grants a User has.
@@ -718,8 +682,6 @@ class User(pulumi.CustomResource):
718
682
 
719
683
  * `add_nodebalancers` - (optional) If true, this User may add NodeBalancers.
720
684
 
721
- * `add_placement_groups` - (optional) If true, this User may add Placement Groups.
722
-
723
685
  * `add_stackscripts` - (optional) If true, this User may add StackScripts.
724
686
 
725
687
  * `add_vpcs` - (optional) If true, this User may add Virtual Private Clouds (VPCs).
@@ -757,7 +719,6 @@ class User(pulumi.CustomResource):
757
719
  linode_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserLinodeGrantArgs', 'UserLinodeGrantArgsDict']]]]] = None,
758
720
  longview_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserLongviewGrantArgs', 'UserLongviewGrantArgsDict']]]]] = None,
759
721
  nodebalancer_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserNodebalancerGrantArgs', 'UserNodebalancerGrantArgsDict']]]]] = None,
760
- placement_group_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserPlacementGroupGrantArgs', 'UserPlacementGroupGrantArgsDict']]]]] = None,
761
722
  restricted: Optional[pulumi.Input[_builtins.bool]] = None,
762
723
  stackscript_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserStackscriptGrantArgs', 'UserStackscriptGrantArgsDict']]]]] = None,
763
724
  username: Optional[pulumi.Input[_builtins.str]] = None,
@@ -782,7 +743,6 @@ class User(pulumi.CustomResource):
782
743
  __props__.__dict__["linode_grants"] = linode_grants
783
744
  __props__.__dict__["longview_grants"] = longview_grants
784
745
  __props__.__dict__["nodebalancer_grants"] = nodebalancer_grants
785
- __props__.__dict__["placement_group_grants"] = placement_group_grants
786
746
  __props__.__dict__["restricted"] = restricted
787
747
  __props__.__dict__["stackscript_grants"] = stackscript_grants
788
748
  if username is None and not opts.urn:
@@ -811,7 +771,6 @@ class User(pulumi.CustomResource):
811
771
  linode_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserLinodeGrantArgs', 'UserLinodeGrantArgsDict']]]]] = None,
812
772
  longview_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserLongviewGrantArgs', 'UserLongviewGrantArgsDict']]]]] = None,
813
773
  nodebalancer_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserNodebalancerGrantArgs', 'UserNodebalancerGrantArgsDict']]]]] = None,
814
- placement_group_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserPlacementGroupGrantArgs', 'UserPlacementGroupGrantArgsDict']]]]] = None,
815
774
  restricted: Optional[pulumi.Input[_builtins.bool]] = None,
816
775
  ssh_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
817
776
  stackscript_grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserStackscriptGrantArgs', 'UserStackscriptGrantArgsDict']]]]] = None,
@@ -835,7 +794,6 @@ class User(pulumi.CustomResource):
835
794
  :param pulumi.Input[Sequence[pulumi.Input[Union['UserLinodeGrantArgs', 'UserLinodeGrantArgsDict']]]] linode_grants: The Linodes the user has permissions access to.
836
795
  :param pulumi.Input[Sequence[pulumi.Input[Union['UserLongviewGrantArgs', 'UserLongviewGrantArgsDict']]]] longview_grants: The longview the user has permissions access to.
837
796
  :param pulumi.Input[Sequence[pulumi.Input[Union['UserNodebalancerGrantArgs', 'UserNodebalancerGrantArgsDict']]]] nodebalancer_grants: The NodeBalancers the user has permissions access to.
838
- :param pulumi.Input[Sequence[pulumi.Input[Union['UserPlacementGroupGrantArgs', 'UserPlacementGroupGrantArgsDict']]]] placement_group_grants: The Placement Groups the user has permissions access to.
839
797
  :param pulumi.Input[_builtins.bool] restricted: If true, this user will only have explicit permissions granted.
840
798
 
841
799
  * `global_grants` - (optional) A structure containing the Account-level grants a User has.
@@ -861,7 +819,6 @@ class User(pulumi.CustomResource):
861
819
  __props__.__dict__["linode_grants"] = linode_grants
862
820
  __props__.__dict__["longview_grants"] = longview_grants
863
821
  __props__.__dict__["nodebalancer_grants"] = nodebalancer_grants
864
- __props__.__dict__["placement_group_grants"] = placement_group_grants
865
822
  __props__.__dict__["restricted"] = restricted
866
823
  __props__.__dict__["ssh_keys"] = ssh_keys
867
824
  __props__.__dict__["stackscript_grants"] = stackscript_grants
@@ -936,14 +893,6 @@ class User(pulumi.CustomResource):
936
893
  """
937
894
  return pulumi.get(self, "nodebalancer_grants")
938
895
 
939
- @_builtins.property
940
- @pulumi.getter(name="placementGroupGrants")
941
- def placement_group_grants(self) -> pulumi.Output[Sequence['outputs.UserPlacementGroupGrant']]:
942
- """
943
- The Placement Groups the user has permissions access to.
944
- """
945
- return pulumi.get(self, "placement_group_grants")
946
-
947
896
  @_builtins.property
948
897
  @pulumi.getter
949
898
  def restricted(self) -> pulumi.Output[Optional[_builtins.bool]]:
pulumi_linode/vpc.py CHANGED
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
16
18
 
17
19
  __all__ = ['VpcArgs', 'Vpc']
18
20
 
@@ -21,17 +23,23 @@ class VpcArgs:
21
23
  def __init__(__self__, *,
22
24
  label: pulumi.Input[_builtins.str],
23
25
  region: pulumi.Input[_builtins.str],
24
- description: Optional[pulumi.Input[_builtins.str]] = None):
26
+ description: Optional[pulumi.Input[_builtins.str]] = None,
27
+ ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]]] = None):
25
28
  """
26
29
  The set of arguments for constructing a Vpc resource.
27
30
  :param pulumi.Input[_builtins.str] label: The label of the VPC. This field can only contain ASCII letters, digits and dashes.
28
31
  :param pulumi.Input[_builtins.str] region: The region of the VPC.
29
32
  :param pulumi.Input[_builtins.str] description: The user-defined description of this VPC.
33
+
34
+ * `ipv6` - (Optional) A list of IPv6 allocations under this VPC.
35
+ :param pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]] ipv6s: The IPv6 configuration of this VPC.
30
36
  """
31
37
  pulumi.set(__self__, "label", label)
32
38
  pulumi.set(__self__, "region", region)
33
39
  if description is not None:
34
40
  pulumi.set(__self__, "description", description)
41
+ if ipv6s is not None:
42
+ pulumi.set(__self__, "ipv6s", ipv6s)
35
43
 
36
44
  @_builtins.property
37
45
  @pulumi.getter
@@ -62,6 +70,8 @@ class VpcArgs:
62
70
  def description(self) -> Optional[pulumi.Input[_builtins.str]]:
63
71
  """
64
72
  The user-defined description of this VPC.
73
+
74
+ * `ipv6` - (Optional) A list of IPv6 allocations under this VPC.
65
75
  """
66
76
  return pulumi.get(self, "description")
67
77
 
@@ -69,12 +79,25 @@ class VpcArgs:
69
79
  def description(self, value: Optional[pulumi.Input[_builtins.str]]):
70
80
  pulumi.set(self, "description", value)
71
81
 
82
+ @_builtins.property
83
+ @pulumi.getter
84
+ def ipv6s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]]]:
85
+ """
86
+ The IPv6 configuration of this VPC.
87
+ """
88
+ return pulumi.get(self, "ipv6s")
89
+
90
+ @ipv6s.setter
91
+ def ipv6s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]]]):
92
+ pulumi.set(self, "ipv6s", value)
93
+
72
94
 
73
95
  @pulumi.input_type
74
96
  class _VpcState:
75
97
  def __init__(__self__, *,
76
98
  created: Optional[pulumi.Input[_builtins.str]] = None,
77
99
  description: Optional[pulumi.Input[_builtins.str]] = None,
100
+ ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]]] = None,
78
101
  label: Optional[pulumi.Input[_builtins.str]] = None,
79
102
  region: Optional[pulumi.Input[_builtins.str]] = None,
80
103
  updated: Optional[pulumi.Input[_builtins.str]] = None):
@@ -82,6 +105,9 @@ class _VpcState:
82
105
  Input properties used for looking up and filtering Vpc resources.
83
106
  :param pulumi.Input[_builtins.str] created: The date and time when the VPC was created.
84
107
  :param pulumi.Input[_builtins.str] description: The user-defined description of this VPC.
108
+
109
+ * `ipv6` - (Optional) A list of IPv6 allocations under this VPC.
110
+ :param pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]] ipv6s: The IPv6 configuration of this VPC.
85
111
  :param pulumi.Input[_builtins.str] label: The label of the VPC. This field can only contain ASCII letters, digits and dashes.
86
112
  :param pulumi.Input[_builtins.str] region: The region of the VPC.
87
113
  :param pulumi.Input[_builtins.str] updated: The date and time when the VPC was last updated.
@@ -90,6 +116,8 @@ class _VpcState:
90
116
  pulumi.set(__self__, "created", created)
91
117
  if description is not None:
92
118
  pulumi.set(__self__, "description", description)
119
+ if ipv6s is not None:
120
+ pulumi.set(__self__, "ipv6s", ipv6s)
93
121
  if label is not None:
94
122
  pulumi.set(__self__, "label", label)
95
123
  if region is not None:
@@ -114,6 +142,8 @@ class _VpcState:
114
142
  def description(self) -> Optional[pulumi.Input[_builtins.str]]:
115
143
  """
116
144
  The user-defined description of this VPC.
145
+
146
+ * `ipv6` - (Optional) A list of IPv6 allocations under this VPC.
117
147
  """
118
148
  return pulumi.get(self, "description")
119
149
 
@@ -121,6 +151,18 @@ class _VpcState:
121
151
  def description(self, value: Optional[pulumi.Input[_builtins.str]]):
122
152
  pulumi.set(self, "description", value)
123
153
 
154
+ @_builtins.property
155
+ @pulumi.getter
156
+ def ipv6s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]]]:
157
+ """
158
+ The IPv6 configuration of this VPC.
159
+ """
160
+ return pulumi.get(self, "ipv6s")
161
+
162
+ @ipv6s.setter
163
+ def ipv6s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcIpv6Args']]]]):
164
+ pulumi.set(self, "ipv6s", value)
165
+
124
166
  @_builtins.property
125
167
  @pulumi.getter
126
168
  def label(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -165,6 +207,7 @@ class Vpc(pulumi.CustomResource):
165
207
  resource_name: str,
166
208
  opts: Optional[pulumi.ResourceOptions] = None,
167
209
  description: Optional[pulumi.Input[_builtins.str]] = None,
210
+ ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcIpv6Args', 'VpcIpv6ArgsDict']]]]] = None,
168
211
  label: Optional[pulumi.Input[_builtins.str]] = None,
169
212
  region: Optional[pulumi.Input[_builtins.str]] = None,
170
213
  __props__=None):
@@ -188,9 +231,39 @@ class Vpc(pulumi.CustomResource):
188
231
  description="My first VPC.")
189
232
  ```
190
233
 
234
+ Create a VPC with a `/52` IPv6 range prefix:
235
+
236
+ ```python
237
+ import pulumi
238
+ import pulumi_linode as linode
239
+
240
+ # NOTE: IPv6 VPCs may not currently be available to all users.
241
+ test = linode.Vpc("test",
242
+ label="test-vpc",
243
+ region="us-iad",
244
+ ipv6s=[{
245
+ "range": "/52",
246
+ }])
247
+ ```
248
+
249
+ ## IPv6
250
+
251
+ > **Limited Availability** IPv6 VPCs may not currently be available to all users.
252
+
253
+ Configures a single IPv6 range under this VPC.
254
+
255
+ * `range` - (Optional) An existing IPv6 prefix owned by the current account or a forward slash (/) followed by a valid prefix length. If unspecified, a range with the default prefix will be allocated for this VPC.
256
+
257
+ * `allocation_class` - (Optional) Indicates the labeled IPv6 Inventory that the VPC Prefix should be allocated from.
258
+
259
+ * `allocated_range` - (Read-Only) The value of range computed by the API. This is necessary when needing to access the range for an implicit allocation.
260
+
191
261
  :param str resource_name: The name of the resource.
192
262
  :param pulumi.ResourceOptions opts: Options for the resource.
193
263
  :param pulumi.Input[_builtins.str] description: The user-defined description of this VPC.
264
+
265
+ * `ipv6` - (Optional) A list of IPv6 allocations under this VPC.
266
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VpcIpv6Args', 'VpcIpv6ArgsDict']]]] ipv6s: The IPv6 configuration of this VPC.
194
267
  :param pulumi.Input[_builtins.str] label: The label of the VPC. This field can only contain ASCII letters, digits and dashes.
195
268
  :param pulumi.Input[_builtins.str] region: The region of the VPC.
196
269
  """
@@ -220,6 +293,33 @@ class Vpc(pulumi.CustomResource):
220
293
  description="My first VPC.")
221
294
  ```
222
295
 
296
+ Create a VPC with a `/52` IPv6 range prefix:
297
+
298
+ ```python
299
+ import pulumi
300
+ import pulumi_linode as linode
301
+
302
+ # NOTE: IPv6 VPCs may not currently be available to all users.
303
+ test = linode.Vpc("test",
304
+ label="test-vpc",
305
+ region="us-iad",
306
+ ipv6s=[{
307
+ "range": "/52",
308
+ }])
309
+ ```
310
+
311
+ ## IPv6
312
+
313
+ > **Limited Availability** IPv6 VPCs may not currently be available to all users.
314
+
315
+ Configures a single IPv6 range under this VPC.
316
+
317
+ * `range` - (Optional) An existing IPv6 prefix owned by the current account or a forward slash (/) followed by a valid prefix length. If unspecified, a range with the default prefix will be allocated for this VPC.
318
+
319
+ * `allocation_class` - (Optional) Indicates the labeled IPv6 Inventory that the VPC Prefix should be allocated from.
320
+
321
+ * `allocated_range` - (Read-Only) The value of range computed by the API. This is necessary when needing to access the range for an implicit allocation.
322
+
223
323
  :param str resource_name: The name of the resource.
224
324
  :param VpcArgs args: The arguments to use to populate this resource's properties.
225
325
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -236,6 +336,7 @@ class Vpc(pulumi.CustomResource):
236
336
  resource_name: str,
237
337
  opts: Optional[pulumi.ResourceOptions] = None,
238
338
  description: Optional[pulumi.Input[_builtins.str]] = None,
339
+ ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcIpv6Args', 'VpcIpv6ArgsDict']]]]] = None,
239
340
  label: Optional[pulumi.Input[_builtins.str]] = None,
240
341
  region: Optional[pulumi.Input[_builtins.str]] = None,
241
342
  __props__=None):
@@ -248,6 +349,7 @@ class Vpc(pulumi.CustomResource):
248
349
  __props__ = VpcArgs.__new__(VpcArgs)
249
350
 
250
351
  __props__.__dict__["description"] = description
352
+ __props__.__dict__["ipv6s"] = ipv6s
251
353
  if label is None and not opts.urn:
252
354
  raise TypeError("Missing required property 'label'")
253
355
  __props__.__dict__["label"] = label
@@ -268,6 +370,7 @@ class Vpc(pulumi.CustomResource):
268
370
  opts: Optional[pulumi.ResourceOptions] = None,
269
371
  created: Optional[pulumi.Input[_builtins.str]] = None,
270
372
  description: Optional[pulumi.Input[_builtins.str]] = None,
373
+ ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcIpv6Args', 'VpcIpv6ArgsDict']]]]] = None,
271
374
  label: Optional[pulumi.Input[_builtins.str]] = None,
272
375
  region: Optional[pulumi.Input[_builtins.str]] = None,
273
376
  updated: Optional[pulumi.Input[_builtins.str]] = None) -> 'Vpc':
@@ -280,6 +383,9 @@ class Vpc(pulumi.CustomResource):
280
383
  :param pulumi.ResourceOptions opts: Options for the resource.
281
384
  :param pulumi.Input[_builtins.str] created: The date and time when the VPC was created.
282
385
  :param pulumi.Input[_builtins.str] description: The user-defined description of this VPC.
386
+
387
+ * `ipv6` - (Optional) A list of IPv6 allocations under this VPC.
388
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VpcIpv6Args', 'VpcIpv6ArgsDict']]]] ipv6s: The IPv6 configuration of this VPC.
283
389
  :param pulumi.Input[_builtins.str] label: The label of the VPC. This field can only contain ASCII letters, digits and dashes.
284
390
  :param pulumi.Input[_builtins.str] region: The region of the VPC.
285
391
  :param pulumi.Input[_builtins.str] updated: The date and time when the VPC was last updated.
@@ -290,6 +396,7 @@ class Vpc(pulumi.CustomResource):
290
396
 
291
397
  __props__.__dict__["created"] = created
292
398
  __props__.__dict__["description"] = description
399
+ __props__.__dict__["ipv6s"] = ipv6s
293
400
  __props__.__dict__["label"] = label
294
401
  __props__.__dict__["region"] = region
295
402
  __props__.__dict__["updated"] = updated
@@ -308,9 +415,19 @@ class Vpc(pulumi.CustomResource):
308
415
  def description(self) -> pulumi.Output[_builtins.str]:
309
416
  """
310
417
  The user-defined description of this VPC.
418
+
419
+ * `ipv6` - (Optional) A list of IPv6 allocations under this VPC.
311
420
  """
312
421
  return pulumi.get(self, "description")
313
422
 
423
+ @_builtins.property
424
+ @pulumi.getter
425
+ def ipv6s(self) -> pulumi.Output[Optional[Sequence['outputs.VpcIpv6']]]:
426
+ """
427
+ The IPv6 configuration of this VPC.
428
+ """
429
+ return pulumi.get(self, "ipv6s")
430
+
314
431
  @_builtins.property
315
432
  @pulumi.getter
316
433
  def label(self) -> pulumi.Output[_builtins.str]: