pulumi-linode 5.3.0a1757052548__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.

@@ -28,7 +28,7 @@ class GetLkeClusterResult:
28
28
  """
29
29
  A collection of values returned by getLkeCluster.
30
30
  """
31
- def __init__(__self__, api_endpoints=None, apl_enabled=None, control_planes=None, created=None, dashboard_url=None, id=None, k8s_version=None, kubeconfig=None, label=None, pools=None, region=None, status=None, tags=None, tier=None, updated=None):
31
+ def __init__(__self__, api_endpoints=None, apl_enabled=None, control_planes=None, created=None, dashboard_url=None, id=None, k8s_version=None, kubeconfig=None, label=None, pools=None, region=None, stack_type=None, status=None, subnet_id=None, tags=None, tier=None, updated=None, vpc_id=None):
32
32
  if api_endpoints and not isinstance(api_endpoints, list):
33
33
  raise TypeError("Expected argument 'api_endpoints' to be a list")
34
34
  pulumi.set(__self__, "api_endpoints", api_endpoints)
@@ -62,9 +62,15 @@ class GetLkeClusterResult:
62
62
  if region and not isinstance(region, str):
63
63
  raise TypeError("Expected argument 'region' to be a str")
64
64
  pulumi.set(__self__, "region", region)
65
+ if stack_type and not isinstance(stack_type, str):
66
+ raise TypeError("Expected argument 'stack_type' to be a str")
67
+ pulumi.set(__self__, "stack_type", stack_type)
65
68
  if status and not isinstance(status, str):
66
69
  raise TypeError("Expected argument 'status' to be a str")
67
70
  pulumi.set(__self__, "status", status)
71
+ if subnet_id and not isinstance(subnet_id, int):
72
+ raise TypeError("Expected argument 'subnet_id' to be a int")
73
+ pulumi.set(__self__, "subnet_id", subnet_id)
68
74
  if tags and not isinstance(tags, list):
69
75
  raise TypeError("Expected argument 'tags' to be a list")
70
76
  pulumi.set(__self__, "tags", tags)
@@ -74,6 +80,9 @@ class GetLkeClusterResult:
74
80
  if updated and not isinstance(updated, str):
75
81
  raise TypeError("Expected argument 'updated' to be a str")
76
82
  pulumi.set(__self__, "updated", updated)
83
+ if vpc_id and not isinstance(vpc_id, int):
84
+ raise TypeError("Expected argument 'vpc_id' to be a int")
85
+ pulumi.set(__self__, "vpc_id", vpc_id)
77
86
 
78
87
  @_builtins.property
79
88
  @pulumi.getter(name="apiEndpoints")
@@ -163,6 +172,14 @@ class GetLkeClusterResult:
163
172
  """
164
173
  return pulumi.get(self, "region")
165
174
 
175
+ @_builtins.property
176
+ @pulumi.getter(name="stackType")
177
+ def stack_type(self) -> _builtins.str:
178
+ """
179
+ The networking stack type of the Kubernetes cluster.
180
+ """
181
+ return pulumi.get(self, "stack_type")
182
+
166
183
  @_builtins.property
167
184
  @pulumi.getter
168
185
  def status(self) -> _builtins.str:
@@ -171,6 +188,14 @@ class GetLkeClusterResult:
171
188
  """
172
189
  return pulumi.get(self, "status")
173
190
 
191
+ @_builtins.property
192
+ @pulumi.getter(name="subnetId")
193
+ def subnet_id(self) -> _builtins.int:
194
+ """
195
+ The ID of the VPC subnet to use for the Kubernetes cluster. This subnet must be dual stack (IPv4 and IPv6 should both be enabled).
196
+ """
197
+ return pulumi.get(self, "subnet_id")
198
+
174
199
  @_builtins.property
175
200
  @pulumi.getter
176
201
  def tags(self) -> Sequence[_builtins.str]:
@@ -195,6 +220,14 @@ class GetLkeClusterResult:
195
220
  """
196
221
  return pulumi.get(self, "updated")
197
222
 
223
+ @_builtins.property
224
+ @pulumi.getter(name="vpcId")
225
+ def vpc_id(self) -> _builtins.int:
226
+ """
227
+ The ID of the VPC to use for the Kubernetes cluster.
228
+ """
229
+ return pulumi.get(self, "vpc_id")
230
+
198
231
 
199
232
  class AwaitableGetLkeClusterResult(GetLkeClusterResult):
200
233
  # pylint: disable=using-constant-test
@@ -213,10 +246,13 @@ class AwaitableGetLkeClusterResult(GetLkeClusterResult):
213
246
  label=self.label,
214
247
  pools=self.pools,
215
248
  region=self.region,
249
+ stack_type=self.stack_type,
216
250
  status=self.status,
251
+ subnet_id=self.subnet_id,
217
252
  tags=self.tags,
218
253
  tier=self.tier,
219
- updated=self.updated)
254
+ updated=self.updated,
255
+ vpc_id=self.vpc_id)
220
256
 
221
257
 
222
258
  def get_lke_cluster(control_planes: Optional[Sequence[Union['GetLkeClusterControlPlaneArgs', 'GetLkeClusterControlPlaneArgsDict']]] = None,
@@ -260,10 +296,13 @@ def get_lke_cluster(control_planes: Optional[Sequence[Union['GetLkeClusterContro
260
296
  label=pulumi.get(__ret__, 'label'),
261
297
  pools=pulumi.get(__ret__, 'pools'),
262
298
  region=pulumi.get(__ret__, 'region'),
299
+ stack_type=pulumi.get(__ret__, 'stack_type'),
263
300
  status=pulumi.get(__ret__, 'status'),
301
+ subnet_id=pulumi.get(__ret__, 'subnet_id'),
264
302
  tags=pulumi.get(__ret__, 'tags'),
265
303
  tier=pulumi.get(__ret__, 'tier'),
266
- updated=pulumi.get(__ret__, 'updated'))
304
+ updated=pulumi.get(__ret__, 'updated'),
305
+ vpc_id=pulumi.get(__ret__, 'vpc_id'))
267
306
  def get_lke_cluster_output(control_planes: Optional[pulumi.Input[Optional[Sequence[Union['GetLkeClusterControlPlaneArgs', 'GetLkeClusterControlPlaneArgsDict']]]]] = None,
268
307
  id: Optional[pulumi.Input[_builtins.int]] = None,
269
308
  pools: Optional[pulumi.Input[Optional[Sequence[Union['GetLkeClusterPoolArgs', 'GetLkeClusterPoolArgsDict']]]]] = None,
@@ -304,7 +343,10 @@ def get_lke_cluster_output(control_planes: Optional[pulumi.Input[Optional[Sequen
304
343
  label=pulumi.get(__response__, 'label'),
305
344
  pools=pulumi.get(__response__, 'pools'),
306
345
  region=pulumi.get(__response__, 'region'),
346
+ stack_type=pulumi.get(__response__, 'stack_type'),
307
347
  status=pulumi.get(__response__, 'status'),
348
+ subnet_id=pulumi.get(__response__, 'subnet_id'),
308
349
  tags=pulumi.get(__response__, 'tags'),
309
350
  tier=pulumi.get(__response__, 'tier'),
310
- updated=pulumi.get(__response__, 'updated')))
351
+ updated=pulumi.get(__response__, 'updated'),
352
+ vpc_id=pulumi.get(__response__, 'vpc_id')))
@@ -28,7 +28,7 @@ class GetNodeBalancerResult:
28
28
  """
29
29
  A collection of values returned by getNodeBalancer.
30
30
  """
31
- def __init__(__self__, client_conn_throttle=None, client_udp_sess_throttle=None, created=None, firewalls=None, hostname=None, id=None, ipv4=None, ipv6=None, label=None, region=None, tags=None, transfers=None, updated=None):
31
+ def __init__(__self__, client_conn_throttle=None, client_udp_sess_throttle=None, created=None, firewalls=None, hostname=None, id=None, ipv4=None, ipv6=None, label=None, region=None, tags=None, transfers=None, updated=None, vpcs=None):
32
32
  if client_conn_throttle and not isinstance(client_conn_throttle, int):
33
33
  raise TypeError("Expected argument 'client_conn_throttle' to be a int")
34
34
  pulumi.set(__self__, "client_conn_throttle", client_conn_throttle)
@@ -68,6 +68,9 @@ class GetNodeBalancerResult:
68
68
  if updated and not isinstance(updated, str):
69
69
  raise TypeError("Expected argument 'updated' to be a str")
70
70
  pulumi.set(__self__, "updated", updated)
71
+ if vpcs and not isinstance(vpcs, list):
72
+ raise TypeError("Expected argument 'vpcs' to be a list")
73
+ pulumi.set(__self__, "vpcs", vpcs)
71
74
 
72
75
  @_builtins.property
73
76
  @pulumi.getter(name="clientConnThrottle")
@@ -167,6 +170,11 @@ class GetNodeBalancerResult:
167
170
  """
168
171
  return pulumi.get(self, "updated")
169
172
 
173
+ @_builtins.property
174
+ @pulumi.getter
175
+ def vpcs(self) -> Sequence['outputs.GetNodeBalancerVpcResult']:
176
+ return pulumi.get(self, "vpcs")
177
+
170
178
 
171
179
  class AwaitableGetNodeBalancerResult(GetNodeBalancerResult):
172
180
  # pylint: disable=using-constant-test
@@ -186,7 +194,8 @@ class AwaitableGetNodeBalancerResult(GetNodeBalancerResult):
186
194
  region=self.region,
187
195
  tags=self.tags,
188
196
  transfers=self.transfers,
189
- updated=self.updated)
197
+ updated=self.updated,
198
+ vpcs=self.vpcs)
190
199
 
191
200
 
192
201
  def get_node_balancer(firewalls: Optional[Sequence[Union['GetNodeBalancerFirewallArgs', 'GetNodeBalancerFirewallArgsDict']]] = None,
@@ -227,7 +236,8 @@ def get_node_balancer(firewalls: Optional[Sequence[Union['GetNodeBalancerFirewal
227
236
  region=pulumi.get(__ret__, 'region'),
228
237
  tags=pulumi.get(__ret__, 'tags'),
229
238
  transfers=pulumi.get(__ret__, 'transfers'),
230
- updated=pulumi.get(__ret__, 'updated'))
239
+ updated=pulumi.get(__ret__, 'updated'),
240
+ vpcs=pulumi.get(__ret__, 'vpcs'))
231
241
  def get_node_balancer_output(firewalls: Optional[pulumi.Input[Optional[Sequence[Union['GetNodeBalancerFirewallArgs', 'GetNodeBalancerFirewallArgsDict']]]]] = None,
232
242
  id: Optional[pulumi.Input[_builtins.int]] = None,
233
243
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNodeBalancerResult]:
@@ -265,4 +275,5 @@ def get_node_balancer_output(firewalls: Optional[pulumi.Input[Optional[Sequence[
265
275
  region=pulumi.get(__response__, 'region'),
266
276
  tags=pulumi.get(__response__, 'tags'),
267
277
  transfers=pulumi.get(__response__, 'transfers'),
268
- updated=pulumi.get(__response__, 'updated')))
278
+ updated=pulumi.get(__response__, 'updated'),
279
+ vpcs=pulumi.get(__response__, 'vpcs')))
@@ -26,7 +26,7 @@ class GetNodeBalancerNodeResult:
26
26
  """
27
27
  A collection of values returned by getNodeBalancerNode.
28
28
  """
29
- def __init__(__self__, address=None, config_id=None, id=None, label=None, mode=None, nodebalancer_id=None, status=None, weight=None):
29
+ def __init__(__self__, address=None, config_id=None, id=None, label=None, mode=None, nodebalancer_id=None, status=None, subnet_id=None, vpc_config_id=None, weight=None):
30
30
  if address and not isinstance(address, str):
31
31
  raise TypeError("Expected argument 'address' to be a str")
32
32
  pulumi.set(__self__, "address", address)
@@ -48,6 +48,12 @@ class GetNodeBalancerNodeResult:
48
48
  if status and not isinstance(status, str):
49
49
  raise TypeError("Expected argument 'status' to be a str")
50
50
  pulumi.set(__self__, "status", status)
51
+ if subnet_id and not isinstance(subnet_id, int):
52
+ raise TypeError("Expected argument 'subnet_id' to be a int")
53
+ pulumi.set(__self__, "subnet_id", subnet_id)
54
+ if vpc_config_id and not isinstance(vpc_config_id, int):
55
+ raise TypeError("Expected argument 'vpc_config_id' to be a int")
56
+ pulumi.set(__self__, "vpc_config_id", vpc_config_id)
51
57
  if weight and not isinstance(weight, int):
52
58
  raise TypeError("Expected argument 'weight' to be a int")
53
59
  pulumi.set(__self__, "weight", weight)
@@ -99,6 +105,22 @@ class GetNodeBalancerNodeResult:
99
105
  """
100
106
  return pulumi.get(self, "status")
101
107
 
108
+ @_builtins.property
109
+ @pulumi.getter(name="subnetId")
110
+ def subnet_id(self) -> _builtins.int:
111
+ """
112
+ The ID of the related VPC subnet. This is only set for VPC nodes. NOTE: VPC-attached NodeBalancers may not currently be available to all users and may require the `api_version` provider argument must be set to `v4beta`.
113
+ """
114
+ return pulumi.get(self, "subnet_id")
115
+
116
+ @_builtins.property
117
+ @pulumi.getter(name="vpcConfigId")
118
+ def vpc_config_id(self) -> _builtins.int:
119
+ """
120
+ The ID of the related NodeBalancer-VPC configuration. This is only set for VPC nodes. NOTE: VPC-attached NodeBalancers may not currently be available to all users and may require the `api_version` provider argument must be set to `v4beta`.
121
+ """
122
+ return pulumi.get(self, "vpc_config_id")
123
+
102
124
  @_builtins.property
103
125
  @pulumi.getter
104
126
  def weight(self) -> _builtins.int:
@@ -121,6 +143,8 @@ class AwaitableGetNodeBalancerNodeResult(GetNodeBalancerNodeResult):
121
143
  mode=self.mode,
122
144
  nodebalancer_id=self.nodebalancer_id,
123
145
  status=self.status,
146
+ subnet_id=self.subnet_id,
147
+ vpc_config_id=self.vpc_config_id,
124
148
  weight=self.weight)
125
149
 
126
150
 
@@ -163,6 +187,8 @@ def get_node_balancer_node(config_id: Optional[_builtins.int] = None,
163
187
  mode=pulumi.get(__ret__, 'mode'),
164
188
  nodebalancer_id=pulumi.get(__ret__, 'nodebalancer_id'),
165
189
  status=pulumi.get(__ret__, 'status'),
190
+ subnet_id=pulumi.get(__ret__, 'subnet_id'),
191
+ vpc_config_id=pulumi.get(__ret__, 'vpc_config_id'),
166
192
  weight=pulumi.get(__ret__, 'weight'))
167
193
  def get_node_balancer_node_output(config_id: Optional[pulumi.Input[_builtins.int]] = None,
168
194
  id: Optional[pulumi.Input[_builtins.int]] = None,
@@ -202,4 +228,6 @@ def get_node_balancer_node_output(config_id: Optional[pulumi.Input[_builtins.int
202
228
  mode=pulumi.get(__response__, 'mode'),
203
229
  nodebalancer_id=pulumi.get(__response__, 'nodebalancer_id'),
204
230
  status=pulumi.get(__response__, 'status'),
231
+ subnet_id=pulumi.get(__response__, 'subnet_id'),
232
+ vpc_config_id=pulumi.get(__response__, 'vpc_config_id'),
205
233
  weight=pulumi.get(__response__, 'weight')))
@@ -0,0 +1,166 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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
+
17
+ __all__ = [
18
+ 'GetNodebalancerVpcResult',
19
+ 'AwaitableGetNodebalancerVpcResult',
20
+ 'get_nodebalancer_vpc',
21
+ 'get_nodebalancer_vpc_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetNodebalancerVpcResult:
26
+ """
27
+ A collection of values returned by getNodebalancerVpc.
28
+ """
29
+ def __init__(__self__, id=None, ipv4_range=None, nodebalancer_id=None, subnet_id=None, vpc_id=None):
30
+ if id and not isinstance(id, int):
31
+ raise TypeError("Expected argument 'id' to be a int")
32
+ pulumi.set(__self__, "id", id)
33
+ if ipv4_range and not isinstance(ipv4_range, str):
34
+ raise TypeError("Expected argument 'ipv4_range' to be a str")
35
+ pulumi.set(__self__, "ipv4_range", ipv4_range)
36
+ if nodebalancer_id and not isinstance(nodebalancer_id, int):
37
+ raise TypeError("Expected argument 'nodebalancer_id' to be a int")
38
+ pulumi.set(__self__, "nodebalancer_id", nodebalancer_id)
39
+ if subnet_id and not isinstance(subnet_id, int):
40
+ raise TypeError("Expected argument 'subnet_id' to be a int")
41
+ pulumi.set(__self__, "subnet_id", subnet_id)
42
+ if vpc_id and not isinstance(vpc_id, int):
43
+ raise TypeError("Expected argument 'vpc_id' to be a int")
44
+ pulumi.set(__self__, "vpc_id", vpc_id)
45
+
46
+ @_builtins.property
47
+ @pulumi.getter
48
+ def id(self) -> _builtins.int:
49
+ return pulumi.get(self, "id")
50
+
51
+ @_builtins.property
52
+ @pulumi.getter(name="ipv4Range")
53
+ def ipv4_range(self) -> _builtins.str:
54
+ """
55
+ A CIDR range for the VPC's IPv4 addresses. The NodeBalancer sources IP addresses from this range when routing traffic to the backend VPC nodes.
56
+ """
57
+ return pulumi.get(self, "ipv4_range")
58
+
59
+ @_builtins.property
60
+ @pulumi.getter(name="nodebalancerId")
61
+ def nodebalancer_id(self) -> _builtins.int:
62
+ return pulumi.get(self, "nodebalancer_id")
63
+
64
+ @_builtins.property
65
+ @pulumi.getter(name="subnetId")
66
+ def subnet_id(self) -> _builtins.int:
67
+ """
68
+ The ID of this configuration's VPC subnet.
69
+ """
70
+ return pulumi.get(self, "subnet_id")
71
+
72
+ @_builtins.property
73
+ @pulumi.getter(name="vpcId")
74
+ def vpc_id(self) -> _builtins.int:
75
+ """
76
+ The ID of this configuration's VPC.
77
+ """
78
+ return pulumi.get(self, "vpc_id")
79
+
80
+
81
+ class AwaitableGetNodebalancerVpcResult(GetNodebalancerVpcResult):
82
+ # pylint: disable=using-constant-test
83
+ def __await__(self):
84
+ if False:
85
+ yield self
86
+ return GetNodebalancerVpcResult(
87
+ id=self.id,
88
+ ipv4_range=self.ipv4_range,
89
+ nodebalancer_id=self.nodebalancer_id,
90
+ subnet_id=self.subnet_id,
91
+ vpc_id=self.vpc_id)
92
+
93
+
94
+ def get_nodebalancer_vpc(id: Optional[_builtins.int] = None,
95
+ nodebalancer_id: Optional[_builtins.int] = None,
96
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNodebalancerVpcResult:
97
+ """
98
+ > **Limited Availability** VPC-attached NodeBalancers may not currently be available to all users and may require the `api_version` provider argument must be set to `v4beta`.
99
+
100
+ Provides information about a NodeBalancer VPC configuration.
101
+ For more information, see the corresponding [Linode APIv4 documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpc-config).
102
+
103
+ ## Example Usage
104
+
105
+ Retrieve information about a NodeBalancer VPC configuration:
106
+
107
+ ```python
108
+ import pulumi
109
+ import pulumi_linode as linode
110
+
111
+ vpc_config = linode.get_nodebalancer_vpc(nodebalancer_id=123,
112
+ id=456)
113
+ ```
114
+
115
+
116
+ :param _builtins.int id: The ID of the VPC configuration.
117
+ :param _builtins.int nodebalancer_id: The ID of the parent NodeBalancer of the VPC configuration.
118
+ """
119
+ __args__ = dict()
120
+ __args__['id'] = id
121
+ __args__['nodebalancerId'] = nodebalancer_id
122
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
123
+ __ret__ = pulumi.runtime.invoke('linode:index/getNodebalancerVpc:getNodebalancerVpc', __args__, opts=opts, typ=GetNodebalancerVpcResult).value
124
+
125
+ return AwaitableGetNodebalancerVpcResult(
126
+ id=pulumi.get(__ret__, 'id'),
127
+ ipv4_range=pulumi.get(__ret__, 'ipv4_range'),
128
+ nodebalancer_id=pulumi.get(__ret__, 'nodebalancer_id'),
129
+ subnet_id=pulumi.get(__ret__, 'subnet_id'),
130
+ vpc_id=pulumi.get(__ret__, 'vpc_id'))
131
+ def get_nodebalancer_vpc_output(id: Optional[pulumi.Input[_builtins.int]] = None,
132
+ nodebalancer_id: Optional[pulumi.Input[_builtins.int]] = None,
133
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNodebalancerVpcResult]:
134
+ """
135
+ > **Limited Availability** VPC-attached NodeBalancers may not currently be available to all users and may require the `api_version` provider argument must be set to `v4beta`.
136
+
137
+ Provides information about a NodeBalancer VPC configuration.
138
+ For more information, see the corresponding [Linode APIv4 documentation](https://techdocs.akamai.com/linode-api/reference/get-node-balancer-vpc-config).
139
+
140
+ ## Example Usage
141
+
142
+ Retrieve information about a NodeBalancer VPC configuration:
143
+
144
+ ```python
145
+ import pulumi
146
+ import pulumi_linode as linode
147
+
148
+ vpc_config = linode.get_nodebalancer_vpc(nodebalancer_id=123,
149
+ id=456)
150
+ ```
151
+
152
+
153
+ :param _builtins.int id: The ID of the VPC configuration.
154
+ :param _builtins.int nodebalancer_id: The ID of the parent NodeBalancer of the VPC configuration.
155
+ """
156
+ __args__ = dict()
157
+ __args__['id'] = id
158
+ __args__['nodebalancerId'] = nodebalancer_id
159
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
160
+ __ret__ = pulumi.runtime.invoke_output('linode:index/getNodebalancerVpc:getNodebalancerVpc', __args__, opts=opts, typ=GetNodebalancerVpcResult)
161
+ return __ret__.apply(lambda __response__: GetNodebalancerVpcResult(
162
+ id=pulumi.get(__response__, 'id'),
163
+ ipv4_range=pulumi.get(__response__, 'ipv4_range'),
164
+ nodebalancer_id=pulumi.get(__response__, 'nodebalancer_id'),
165
+ subnet_id=pulumi.get(__response__, 'subnet_id'),
166
+ vpc_id=pulumi.get(__response__, 'vpc_id')))
@@ -0,0 +1,238 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = [
20
+ 'GetNodebalancerVpcsResult',
21
+ 'AwaitableGetNodebalancerVpcsResult',
22
+ 'get_nodebalancer_vpcs',
23
+ 'get_nodebalancer_vpcs_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetNodebalancerVpcsResult:
28
+ """
29
+ A collection of values returned by getNodebalancerVpcs.
30
+ """
31
+ def __init__(__self__, filters=None, id=None, nodebalancer_id=None, order=None, order_by=None, vpc_configs=None):
32
+ if filters and not isinstance(filters, list):
33
+ raise TypeError("Expected argument 'filters' to be a list")
34
+ pulumi.set(__self__, "filters", filters)
35
+ if id and not isinstance(id, str):
36
+ raise TypeError("Expected argument 'id' to be a str")
37
+ pulumi.set(__self__, "id", id)
38
+ if nodebalancer_id and not isinstance(nodebalancer_id, int):
39
+ raise TypeError("Expected argument 'nodebalancer_id' to be a int")
40
+ pulumi.set(__self__, "nodebalancer_id", nodebalancer_id)
41
+ if order and not isinstance(order, str):
42
+ raise TypeError("Expected argument 'order' to be a str")
43
+ pulumi.set(__self__, "order", order)
44
+ if order_by and not isinstance(order_by, str):
45
+ raise TypeError("Expected argument 'order_by' to be a str")
46
+ pulumi.set(__self__, "order_by", order_by)
47
+ if vpc_configs and not isinstance(vpc_configs, list):
48
+ raise TypeError("Expected argument 'vpc_configs' to be a list")
49
+ pulumi.set(__self__, "vpc_configs", vpc_configs)
50
+
51
+ @_builtins.property
52
+ @pulumi.getter
53
+ def filters(self) -> Optional[Sequence['outputs.GetNodebalancerVpcsFilterResult']]:
54
+ return pulumi.get(self, "filters")
55
+
56
+ @_builtins.property
57
+ @pulumi.getter
58
+ def id(self) -> _builtins.str:
59
+ """
60
+ The ID of the VPC configuration.
61
+ """
62
+ return pulumi.get(self, "id")
63
+
64
+ @_builtins.property
65
+ @pulumi.getter(name="nodebalancerId")
66
+ def nodebalancer_id(self) -> _builtins.int:
67
+ """
68
+ The ID of the parent NodeBalancer for this VPC configuration.
69
+ """
70
+ return pulumi.get(self, "nodebalancer_id")
71
+
72
+ @_builtins.property
73
+ @pulumi.getter
74
+ def order(self) -> Optional[_builtins.str]:
75
+ return pulumi.get(self, "order")
76
+
77
+ @_builtins.property
78
+ @pulumi.getter(name="orderBy")
79
+ def order_by(self) -> Optional[_builtins.str]:
80
+ return pulumi.get(self, "order_by")
81
+
82
+ @_builtins.property
83
+ @pulumi.getter(name="vpcConfigs")
84
+ def vpc_configs(self) -> Sequence['outputs.GetNodebalancerVpcsVpcConfigResult']:
85
+ return pulumi.get(self, "vpc_configs")
86
+
87
+
88
+ class AwaitableGetNodebalancerVpcsResult(GetNodebalancerVpcsResult):
89
+ # pylint: disable=using-constant-test
90
+ def __await__(self):
91
+ if False:
92
+ yield self
93
+ return GetNodebalancerVpcsResult(
94
+ filters=self.filters,
95
+ id=self.id,
96
+ nodebalancer_id=self.nodebalancer_id,
97
+ order=self.order,
98
+ order_by=self.order_by,
99
+ vpc_configs=self.vpc_configs)
100
+
101
+
102
+ def get_nodebalancer_vpcs(filters: Optional[Sequence[Union['GetNodebalancerVpcsFilterArgs', 'GetNodebalancerVpcsFilterArgsDict']]] = None,
103
+ nodebalancer_id: Optional[_builtins.int] = None,
104
+ order: Optional[_builtins.str] = None,
105
+ order_by: Optional[_builtins.str] = None,
106
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNodebalancerVpcsResult:
107
+ """
108
+ > **Limited Availability** VPC-attached NodeBalancers may not currently be available to all users and may require the `api_version` provider argument must be set to `v4beta`.
109
+
110
+ Provides information about Linode NodeBalancers VPC configurations that match a set of filters.
111
+ For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-node-balancers).
112
+
113
+ ## Example Usage
114
+
115
+ Retrieve all VPC configurations under a NodeBalancer:
116
+
117
+ ```python
118
+ import pulumi
119
+ import pulumi_linode as linode
120
+
121
+ vpc_configs = linode.get_nodebalancer_vpcs(nodebalancer_id=12345)
122
+ ```
123
+
124
+ Retrieve all VPC configurations under a NodeBalancer with an IPv4 range of "10.0.0.4/30":
125
+
126
+ ```python
127
+ import pulumi
128
+ import pulumi_linode as linode
129
+
130
+ vpc_configs = linode.get_nodebalancer_vpcs(nodebalancer_id=12345,
131
+ filters=[{
132
+ "name": "ipv4_range",
133
+ "values": ["10.0.0.4/30"],
134
+ }])
135
+ ```
136
+
137
+ ## Filterable Fields
138
+
139
+ * `id`
140
+
141
+ * `ipv4_range`
142
+
143
+ * `nodebalancer_id`
144
+
145
+ * `subnet_id`
146
+
147
+ * `vpc_id`
148
+
149
+
150
+ :param _builtins.int nodebalancer_id: The ID of the NodeBalancer to list VPC configurations for.
151
+
152
+ * `filter` - (Optional) A set of filters used to select VPC configurations that meet certain requirements.
153
+ :param _builtins.str order: The order in which results should be returned. (`asc`, `desc`; default `asc`)
154
+ :param _builtins.str order_by: The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
155
+ """
156
+ __args__ = dict()
157
+ __args__['filters'] = filters
158
+ __args__['nodebalancerId'] = nodebalancer_id
159
+ __args__['order'] = order
160
+ __args__['orderBy'] = order_by
161
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
162
+ __ret__ = pulumi.runtime.invoke('linode:index/getNodebalancerVpcs:getNodebalancerVpcs', __args__, opts=opts, typ=GetNodebalancerVpcsResult).value
163
+
164
+ return AwaitableGetNodebalancerVpcsResult(
165
+ filters=pulumi.get(__ret__, 'filters'),
166
+ id=pulumi.get(__ret__, 'id'),
167
+ nodebalancer_id=pulumi.get(__ret__, 'nodebalancer_id'),
168
+ order=pulumi.get(__ret__, 'order'),
169
+ order_by=pulumi.get(__ret__, 'order_by'),
170
+ vpc_configs=pulumi.get(__ret__, 'vpc_configs'))
171
+ def get_nodebalancer_vpcs_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNodebalancerVpcsFilterArgs', 'GetNodebalancerVpcsFilterArgsDict']]]]] = None,
172
+ nodebalancer_id: Optional[pulumi.Input[_builtins.int]] = None,
173
+ order: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
174
+ order_by: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
175
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNodebalancerVpcsResult]:
176
+ """
177
+ > **Limited Availability** VPC-attached NodeBalancers may not currently be available to all users and may require the `api_version` provider argument must be set to `v4beta`.
178
+
179
+ Provides information about Linode NodeBalancers VPC configurations that match a set of filters.
180
+ For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-node-balancers).
181
+
182
+ ## Example Usage
183
+
184
+ Retrieve all VPC configurations under a NodeBalancer:
185
+
186
+ ```python
187
+ import pulumi
188
+ import pulumi_linode as linode
189
+
190
+ vpc_configs = linode.get_nodebalancer_vpcs(nodebalancer_id=12345)
191
+ ```
192
+
193
+ Retrieve all VPC configurations under a NodeBalancer with an IPv4 range of "10.0.0.4/30":
194
+
195
+ ```python
196
+ import pulumi
197
+ import pulumi_linode as linode
198
+
199
+ vpc_configs = linode.get_nodebalancer_vpcs(nodebalancer_id=12345,
200
+ filters=[{
201
+ "name": "ipv4_range",
202
+ "values": ["10.0.0.4/30"],
203
+ }])
204
+ ```
205
+
206
+ ## Filterable Fields
207
+
208
+ * `id`
209
+
210
+ * `ipv4_range`
211
+
212
+ * `nodebalancer_id`
213
+
214
+ * `subnet_id`
215
+
216
+ * `vpc_id`
217
+
218
+
219
+ :param _builtins.int nodebalancer_id: The ID of the NodeBalancer to list VPC configurations for.
220
+
221
+ * `filter` - (Optional) A set of filters used to select VPC configurations that meet certain requirements.
222
+ :param _builtins.str order: The order in which results should be returned. (`asc`, `desc`; default `asc`)
223
+ :param _builtins.str order_by: The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
224
+ """
225
+ __args__ = dict()
226
+ __args__['filters'] = filters
227
+ __args__['nodebalancerId'] = nodebalancer_id
228
+ __args__['order'] = order
229
+ __args__['orderBy'] = order_by
230
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
231
+ __ret__ = pulumi.runtime.invoke_output('linode:index/getNodebalancerVpcs:getNodebalancerVpcs', __args__, opts=opts, typ=GetNodebalancerVpcsResult)
232
+ return __ret__.apply(lambda __response__: GetNodebalancerVpcsResult(
233
+ filters=pulumi.get(__response__, 'filters'),
234
+ id=pulumi.get(__response__, 'id'),
235
+ nodebalancer_id=pulumi.get(__response__, 'nodebalancer_id'),
236
+ order=pulumi.get(__response__, 'order'),
237
+ order_by=pulumi.get(__response__, 'order_by'),
238
+ vpc_configs=pulumi.get(__response__, 'vpc_configs')))