pulumi-linode 5.2.0a1756506768__py3-none-any.whl → 5.3.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.

@@ -21,17 +21,21 @@ class AccountSettingsArgs:
21
21
  def __init__(__self__, *,
22
22
  backups_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
23
23
  longview_subscription: Optional[pulumi.Input[_builtins.str]] = None,
24
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
24
25
  network_helper: Optional[pulumi.Input[_builtins.bool]] = None):
25
26
  """
26
27
  The set of arguments for constructing a AccountSettings resource.
27
28
  :param pulumi.Input[_builtins.bool] backups_enabled: The account-wide backups default. If true, all Linodes created will automatically be enrolled in the Backups service. If false, Linodes will not be enrolled by default, but may still be enrolled on creation or later.
28
29
  :param pulumi.Input[_builtins.str] longview_subscription: The Longview Pro tier you are currently subscribed to. The value must be a [Longview Subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or null for Longview Free.
30
+ :param pulumi.Input[_builtins.str] maintenance_policy: The default maintenance policy for this account. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to `"linode/migrate"`. (**Note: v4beta only.**)
29
31
  :param pulumi.Input[_builtins.bool] network_helper: Enables network helper across all users by default for new Linodes and Linode Configs.
30
32
  """
31
33
  if backups_enabled is not None:
32
34
  pulumi.set(__self__, "backups_enabled", backups_enabled)
33
35
  if longview_subscription is not None:
34
36
  pulumi.set(__self__, "longview_subscription", longview_subscription)
37
+ if maintenance_policy is not None:
38
+ pulumi.set(__self__, "maintenance_policy", maintenance_policy)
35
39
  if network_helper is not None:
36
40
  pulumi.set(__self__, "network_helper", network_helper)
37
41
 
@@ -59,6 +63,18 @@ class AccountSettingsArgs:
59
63
  def longview_subscription(self, value: Optional[pulumi.Input[_builtins.str]]):
60
64
  pulumi.set(self, "longview_subscription", value)
61
65
 
66
+ @_builtins.property
67
+ @pulumi.getter(name="maintenancePolicy")
68
+ def maintenance_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
69
+ """
70
+ The default maintenance policy for this account. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to `"linode/migrate"`. (**Note: v4beta only.**)
71
+ """
72
+ return pulumi.get(self, "maintenance_policy")
73
+
74
+ @maintenance_policy.setter
75
+ def maintenance_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
76
+ pulumi.set(self, "maintenance_policy", value)
77
+
62
78
  @_builtins.property
63
79
  @pulumi.getter(name="networkHelper")
64
80
  def network_helper(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -77,6 +93,7 @@ class _AccountSettingsState:
77
93
  def __init__(__self__, *,
78
94
  backups_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
79
95
  longview_subscription: Optional[pulumi.Input[_builtins.str]] = None,
96
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
80
97
  managed: Optional[pulumi.Input[_builtins.bool]] = None,
81
98
  network_helper: Optional[pulumi.Input[_builtins.bool]] = None,
82
99
  object_storage: Optional[pulumi.Input[_builtins.str]] = None):
@@ -84,6 +101,7 @@ class _AccountSettingsState:
84
101
  Input properties used for looking up and filtering AccountSettings resources.
85
102
  :param pulumi.Input[_builtins.bool] backups_enabled: The account-wide backups default. If true, all Linodes created will automatically be enrolled in the Backups service. If false, Linodes will not be enrolled by default, but may still be enrolled on creation or later.
86
103
  :param pulumi.Input[_builtins.str] longview_subscription: The Longview Pro tier you are currently subscribed to. The value must be a [Longview Subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or null for Longview Free.
104
+ :param pulumi.Input[_builtins.str] maintenance_policy: The default maintenance policy for this account. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to `"linode/migrate"`. (**Note: v4beta only.**)
87
105
  :param pulumi.Input[_builtins.bool] managed: Enables monitoring for connectivity, response, and total request time.
88
106
  :param pulumi.Input[_builtins.bool] network_helper: Enables network helper across all users by default for new Linodes and Linode Configs.
89
107
  :param pulumi.Input[_builtins.str] object_storage: A string describing the status of this account's Object Storage service enrollment.
@@ -92,6 +110,8 @@ class _AccountSettingsState:
92
110
  pulumi.set(__self__, "backups_enabled", backups_enabled)
93
111
  if longview_subscription is not None:
94
112
  pulumi.set(__self__, "longview_subscription", longview_subscription)
113
+ if maintenance_policy is not None:
114
+ pulumi.set(__self__, "maintenance_policy", maintenance_policy)
95
115
  if managed is not None:
96
116
  pulumi.set(__self__, "managed", managed)
97
117
  if network_helper is not None:
@@ -123,6 +143,18 @@ class _AccountSettingsState:
123
143
  def longview_subscription(self, value: Optional[pulumi.Input[_builtins.str]]):
124
144
  pulumi.set(self, "longview_subscription", value)
125
145
 
146
+ @_builtins.property
147
+ @pulumi.getter(name="maintenancePolicy")
148
+ def maintenance_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
149
+ """
150
+ The default maintenance policy for this account. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to `"linode/migrate"`. (**Note: v4beta only.**)
151
+ """
152
+ return pulumi.get(self, "maintenance_policy")
153
+
154
+ @maintenance_policy.setter
155
+ def maintenance_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
156
+ pulumi.set(self, "maintenance_policy", value)
157
+
126
158
  @_builtins.property
127
159
  @pulumi.getter
128
160
  def managed(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -168,6 +200,7 @@ class AccountSettings(pulumi.CustomResource):
168
200
  opts: Optional[pulumi.ResourceOptions] = None,
169
201
  backups_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
170
202
  longview_subscription: Optional[pulumi.Input[_builtins.str]] = None,
203
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
171
204
  network_helper: Optional[pulumi.Input[_builtins.bool]] = None,
172
205
  __props__=None):
173
206
  """
@@ -197,6 +230,7 @@ class AccountSettings(pulumi.CustomResource):
197
230
  :param pulumi.ResourceOptions opts: Options for the resource.
198
231
  :param pulumi.Input[_builtins.bool] backups_enabled: The account-wide backups default. If true, all Linodes created will automatically be enrolled in the Backups service. If false, Linodes will not be enrolled by default, but may still be enrolled on creation or later.
199
232
  :param pulumi.Input[_builtins.str] longview_subscription: The Longview Pro tier you are currently subscribed to. The value must be a [Longview Subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or null for Longview Free.
233
+ :param pulumi.Input[_builtins.str] maintenance_policy: The default maintenance policy for this account. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to `"linode/migrate"`. (**Note: v4beta only.**)
200
234
  :param pulumi.Input[_builtins.bool] network_helper: Enables network helper across all users by default for new Linodes and Linode Configs.
201
235
  """
202
236
  ...
@@ -245,6 +279,7 @@ class AccountSettings(pulumi.CustomResource):
245
279
  opts: Optional[pulumi.ResourceOptions] = None,
246
280
  backups_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
247
281
  longview_subscription: Optional[pulumi.Input[_builtins.str]] = None,
282
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
248
283
  network_helper: Optional[pulumi.Input[_builtins.bool]] = None,
249
284
  __props__=None):
250
285
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -257,6 +292,7 @@ class AccountSettings(pulumi.CustomResource):
257
292
 
258
293
  __props__.__dict__["backups_enabled"] = backups_enabled
259
294
  __props__.__dict__["longview_subscription"] = longview_subscription
295
+ __props__.__dict__["maintenance_policy"] = maintenance_policy
260
296
  __props__.__dict__["network_helper"] = network_helper
261
297
  __props__.__dict__["managed"] = None
262
298
  __props__.__dict__["object_storage"] = None
@@ -272,6 +308,7 @@ class AccountSettings(pulumi.CustomResource):
272
308
  opts: Optional[pulumi.ResourceOptions] = None,
273
309
  backups_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
274
310
  longview_subscription: Optional[pulumi.Input[_builtins.str]] = None,
311
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
275
312
  managed: Optional[pulumi.Input[_builtins.bool]] = None,
276
313
  network_helper: Optional[pulumi.Input[_builtins.bool]] = None,
277
314
  object_storage: Optional[pulumi.Input[_builtins.str]] = None) -> 'AccountSettings':
@@ -284,6 +321,7 @@ class AccountSettings(pulumi.CustomResource):
284
321
  :param pulumi.ResourceOptions opts: Options for the resource.
285
322
  :param pulumi.Input[_builtins.bool] backups_enabled: The account-wide backups default. If true, all Linodes created will automatically be enrolled in the Backups service. If false, Linodes will not be enrolled by default, but may still be enrolled on creation or later.
286
323
  :param pulumi.Input[_builtins.str] longview_subscription: The Longview Pro tier you are currently subscribed to. The value must be a [Longview Subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or null for Longview Free.
324
+ :param pulumi.Input[_builtins.str] maintenance_policy: The default maintenance policy for this account. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to `"linode/migrate"`. (**Note: v4beta only.**)
287
325
  :param pulumi.Input[_builtins.bool] managed: Enables monitoring for connectivity, response, and total request time.
288
326
  :param pulumi.Input[_builtins.bool] network_helper: Enables network helper across all users by default for new Linodes and Linode Configs.
289
327
  :param pulumi.Input[_builtins.str] object_storage: A string describing the status of this account's Object Storage service enrollment.
@@ -294,6 +332,7 @@ class AccountSettings(pulumi.CustomResource):
294
332
 
295
333
  __props__.__dict__["backups_enabled"] = backups_enabled
296
334
  __props__.__dict__["longview_subscription"] = longview_subscription
335
+ __props__.__dict__["maintenance_policy"] = maintenance_policy
297
336
  __props__.__dict__["managed"] = managed
298
337
  __props__.__dict__["network_helper"] = network_helper
299
338
  __props__.__dict__["object_storage"] = object_storage
@@ -315,6 +354,14 @@ class AccountSettings(pulumi.CustomResource):
315
354
  """
316
355
  return pulumi.get(self, "longview_subscription")
317
356
 
357
+ @_builtins.property
358
+ @pulumi.getter(name="maintenancePolicy")
359
+ def maintenance_policy(self) -> pulumi.Output[_builtins.str]:
360
+ """
361
+ The default maintenance policy for this account. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to `"linode/migrate"`. (**Note: v4beta only.**)
362
+ """
363
+ return pulumi.get(self, "maintenance_policy")
364
+
318
365
  @_builtins.property
319
366
  @pulumi.getter
320
367
  def managed(self) -> pulumi.Output[_builtins.bool]:
@@ -26,7 +26,7 @@ class GetAccountSettingsResult:
26
26
  """
27
27
  A collection of values returned by getAccountSettings.
28
28
  """
29
- def __init__(__self__, backups_enabled=None, id=None, longview_subscription=None, managed=None, network_helper=None, object_storage=None):
29
+ def __init__(__self__, backups_enabled=None, id=None, longview_subscription=None, maintenance_policy=None, managed=None, network_helper=None, object_storage=None):
30
30
  if backups_enabled and not isinstance(backups_enabled, bool):
31
31
  raise TypeError("Expected argument 'backups_enabled' to be a bool")
32
32
  pulumi.set(__self__, "backups_enabled", backups_enabled)
@@ -36,6 +36,9 @@ class GetAccountSettingsResult:
36
36
  if longview_subscription and not isinstance(longview_subscription, str):
37
37
  raise TypeError("Expected argument 'longview_subscription' to be a str")
38
38
  pulumi.set(__self__, "longview_subscription", longview_subscription)
39
+ if maintenance_policy and not isinstance(maintenance_policy, str):
40
+ raise TypeError("Expected argument 'maintenance_policy' to be a str")
41
+ pulumi.set(__self__, "maintenance_policy", maintenance_policy)
39
42
  if managed and not isinstance(managed, bool):
40
43
  raise TypeError("Expected argument 'managed' to be a bool")
41
44
  pulumi.set(__self__, "managed", managed)
@@ -67,6 +70,14 @@ class GetAccountSettingsResult:
67
70
  """
68
71
  return pulumi.get(self, "longview_subscription")
69
72
 
73
+ @_builtins.property
74
+ @pulumi.getter(name="maintenancePolicy")
75
+ def maintenance_policy(self) -> _builtins.str:
76
+ """
77
+ The default maintenance policy for this account. (**Note: v4beta only.**)
78
+ """
79
+ return pulumi.get(self, "maintenance_policy")
80
+
70
81
  @_builtins.property
71
82
  @pulumi.getter
72
83
  def managed(self) -> _builtins.bool:
@@ -101,6 +112,7 @@ class AwaitableGetAccountSettingsResult(GetAccountSettingsResult):
101
112
  backups_enabled=self.backups_enabled,
102
113
  id=self.id,
103
114
  longview_subscription=self.longview_subscription,
115
+ maintenance_policy=self.maintenance_policy,
104
116
  managed=self.managed,
105
117
  network_helper=self.network_helper,
106
118
  object_storage=self.object_storage)
@@ -130,6 +142,7 @@ def get_account_settings(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitab
130
142
  backups_enabled=pulumi.get(__ret__, 'backups_enabled'),
131
143
  id=pulumi.get(__ret__, 'id'),
132
144
  longview_subscription=pulumi.get(__ret__, 'longview_subscription'),
145
+ maintenance_policy=pulumi.get(__ret__, 'maintenance_policy'),
133
146
  managed=pulumi.get(__ret__, 'managed'),
134
147
  network_helper=pulumi.get(__ret__, 'network_helper'),
135
148
  object_storage=pulumi.get(__ret__, 'object_storage'))
@@ -156,6 +169,7 @@ def get_account_settings_output(opts: Optional[Union[pulumi.InvokeOptions, pulum
156
169
  backups_enabled=pulumi.get(__response__, 'backups_enabled'),
157
170
  id=pulumi.get(__response__, 'id'),
158
171
  longview_subscription=pulumi.get(__response__, 'longview_subscription'),
172
+ maintenance_policy=pulumi.get(__response__, 'maintenance_policy'),
159
173
  managed=pulumi.get(__response__, 'managed'),
160
174
  network_helper=pulumi.get(__response__, 'network_helper'),
161
175
  object_storage=pulumi.get(__response__, 'object_storage')))
@@ -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")
@@ -143,7 +152,7 @@ class GetLkeClusterResult:
143
152
  @pulumi.getter
144
153
  def label(self) -> _builtins.str:
145
154
  """
146
- The unique label for the cluster.
155
+ The label of the Node Pool.
147
156
  """
148
157
  return pulumi.get(self, "label")
149
158
 
@@ -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')))
@@ -0,0 +1,129 @@
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
+ 'GetMaintenancePoliciesResult',
21
+ 'AwaitableGetMaintenancePoliciesResult',
22
+ 'get_maintenance_policies',
23
+ 'get_maintenance_policies_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetMaintenancePoliciesResult:
28
+ """
29
+ A collection of values returned by getMaintenancePolicies.
30
+ """
31
+ def __init__(__self__, filters=None, id=None, maintenance_policies=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 maintenance_policies and not isinstance(maintenance_policies, list):
39
+ raise TypeError("Expected argument 'maintenance_policies' to be a list")
40
+ pulumi.set(__self__, "maintenance_policies", maintenance_policies)
41
+
42
+ @_builtins.property
43
+ @pulumi.getter
44
+ def filters(self) -> Optional[Sequence['outputs.GetMaintenancePoliciesFilterResult']]:
45
+ return pulumi.get(self, "filters")
46
+
47
+ @_builtins.property
48
+ @pulumi.getter
49
+ def id(self) -> _builtins.str:
50
+ return pulumi.get(self, "id")
51
+
52
+ @_builtins.property
53
+ @pulumi.getter(name="maintenancePolicies")
54
+ def maintenance_policies(self) -> Optional[Sequence['outputs.GetMaintenancePoliciesMaintenancePolicyResult']]:
55
+ return pulumi.get(self, "maintenance_policies")
56
+
57
+
58
+ class AwaitableGetMaintenancePoliciesResult(GetMaintenancePoliciesResult):
59
+ # pylint: disable=using-constant-test
60
+ def __await__(self):
61
+ if False:
62
+ yield self
63
+ return GetMaintenancePoliciesResult(
64
+ filters=self.filters,
65
+ id=self.id,
66
+ maintenance_policies=self.maintenance_policies)
67
+
68
+
69
+ def get_maintenance_policies(filters: Optional[Sequence[Union['GetMaintenancePoliciesFilterArgs', 'GetMaintenancePoliciesFilterArgsDict']]] = None,
70
+ maintenance_policies: Optional[Sequence[Union['GetMaintenancePoliciesMaintenancePolicyArgs', 'GetMaintenancePoliciesMaintenancePolicyArgsDict']]] = None,
71
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMaintenancePoliciesResult:
72
+ """
73
+ Provides details about the Maintenance Policies available to apply to Accounts and Instances.
74
+ For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-maintenance-policies). (**Note: v4beta only.**)
75
+
76
+ ## Example Usage
77
+
78
+ The following example shows how one might use this data source to access information about Maintenance Policies:
79
+
80
+ ```python
81
+ import pulumi
82
+ import pulumi_linode as linode
83
+
84
+ example = linode.get_maintenance_policies()
85
+ pulumi.export("exampleOutput", example)
86
+ ```
87
+
88
+ The following example shows how one might use this data source to access information about Maintenance Policies with a certain slug:
89
+ """
90
+ __args__ = dict()
91
+ __args__['filters'] = filters
92
+ __args__['maintenancePolicies'] = maintenance_policies
93
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
94
+ __ret__ = pulumi.runtime.invoke('linode:index/getMaintenancePolicies:getMaintenancePolicies', __args__, opts=opts, typ=GetMaintenancePoliciesResult).value
95
+
96
+ return AwaitableGetMaintenancePoliciesResult(
97
+ filters=pulumi.get(__ret__, 'filters'),
98
+ id=pulumi.get(__ret__, 'id'),
99
+ maintenance_policies=pulumi.get(__ret__, 'maintenance_policies'))
100
+ def get_maintenance_policies_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetMaintenancePoliciesFilterArgs', 'GetMaintenancePoliciesFilterArgsDict']]]]] = None,
101
+ maintenance_policies: Optional[pulumi.Input[Optional[Sequence[Union['GetMaintenancePoliciesMaintenancePolicyArgs', 'GetMaintenancePoliciesMaintenancePolicyArgsDict']]]]] = None,
102
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMaintenancePoliciesResult]:
103
+ """
104
+ Provides details about the Maintenance Policies available to apply to Accounts and Instances.
105
+ For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-maintenance-policies). (**Note: v4beta only.**)
106
+
107
+ ## Example Usage
108
+
109
+ The following example shows how one might use this data source to access information about Maintenance Policies:
110
+
111
+ ```python
112
+ import pulumi
113
+ import pulumi_linode as linode
114
+
115
+ example = linode.get_maintenance_policies()
116
+ pulumi.export("exampleOutput", example)
117
+ ```
118
+
119
+ The following example shows how one might use this data source to access information about Maintenance Policies with a certain slug:
120
+ """
121
+ __args__ = dict()
122
+ __args__['filters'] = filters
123
+ __args__['maintenancePolicies'] = maintenance_policies
124
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
125
+ __ret__ = pulumi.runtime.invoke_output('linode:index/getMaintenancePolicies:getMaintenancePolicies', __args__, opts=opts, typ=GetMaintenancePoliciesResult)
126
+ return __ret__.apply(lambda __response__: GetMaintenancePoliciesResult(
127
+ filters=pulumi.get(__response__, 'filters'),
128
+ id=pulumi.get(__response__, 'id'),
129
+ maintenance_policies=pulumi.get(__response__, 'maintenance_policies')))
pulumi_linode/instance.py CHANGED
@@ -38,6 +38,7 @@ class InstanceArgs:
38
38
  interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceInterfaceArgs']]]] = None,
39
39
  ipv4s: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
40
40
  label: Optional[pulumi.Input[_builtins.str]] = None,
41
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
41
42
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMetadataArgs']]]] = None,
42
43
  migration_type: Optional[pulumi.Input[_builtins.str]] = None,
43
44
  placement_group: Optional[pulumi.Input['InstancePlacementGroupArgs']] = None,
@@ -74,6 +75,7 @@ class InstanceArgs:
74
75
 
75
76
  * **NOTE: IP reservation is not currently available to all users.**
76
77
  :param pulumi.Input[_builtins.str] label: The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
78
+ :param pulumi.Input[_builtins.str] maintenance_policy: The maintenance policy of this Linode instance. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to the default maintenance policy of the account. (**Note: v4beta only.**)
77
79
  :param pulumi.Input[Sequence[pulumi.Input['InstanceMetadataArgs']]] metadatas: Various fields related to the Linode Metadata service.
78
80
  :param pulumi.Input[_builtins.str] migration_type: The type of migration to use when updating the type or region of a Linode. (`cold`, `warm`; default `cold`)
79
81
 
@@ -149,6 +151,8 @@ class InstanceArgs:
149
151
  pulumi.set(__self__, "ipv4s", ipv4s)
150
152
  if label is not None:
151
153
  pulumi.set(__self__, "label", label)
154
+ if maintenance_policy is not None:
155
+ pulumi.set(__self__, "maintenance_policy", maintenance_policy)
152
156
  if metadatas is not None:
153
157
  pulumi.set(__self__, "metadatas", metadatas)
154
158
  if migration_type is not None:
@@ -386,6 +390,18 @@ class InstanceArgs:
386
390
  def label(self, value: Optional[pulumi.Input[_builtins.str]]):
387
391
  pulumi.set(self, "label", value)
388
392
 
393
+ @_builtins.property
394
+ @pulumi.getter(name="maintenancePolicy")
395
+ def maintenance_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
396
+ """
397
+ The maintenance policy of this Linode instance. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to the default maintenance policy of the account. (**Note: v4beta only.**)
398
+ """
399
+ return pulumi.get(self, "maintenance_policy")
400
+
401
+ @maintenance_policy.setter
402
+ def maintenance_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
403
+ pulumi.set(self, "maintenance_policy", value)
404
+
389
405
  @_builtins.property
390
406
  @pulumi.getter
391
407
  def metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMetadataArgs']]]]:
@@ -599,6 +615,7 @@ class _InstanceState:
599
615
  ipv6: Optional[pulumi.Input[_builtins.str]] = None,
600
616
  label: Optional[pulumi.Input[_builtins.str]] = None,
601
617
  lke_cluster_id: Optional[pulumi.Input[_builtins.int]] = None,
618
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
602
619
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMetadataArgs']]]] = None,
603
620
  migration_type: Optional[pulumi.Input[_builtins.str]] = None,
604
621
  placement_group: Optional[pulumi.Input['InstancePlacementGroupArgs']] = None,
@@ -645,6 +662,7 @@ class _InstanceState:
645
662
  :param pulumi.Input[_builtins.str] ipv6: This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (`/128`) is included in this attribute.
646
663
  :param pulumi.Input[_builtins.str] label: The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
647
664
  :param pulumi.Input[_builtins.int] lke_cluster_id: If applicable, the ID of the LKE cluster this instance is a part of.
665
+ :param pulumi.Input[_builtins.str] maintenance_policy: The maintenance policy of this Linode instance. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to the default maintenance policy of the account. (**Note: v4beta only.**)
648
666
  :param pulumi.Input[Sequence[pulumi.Input['InstanceMetadataArgs']]] metadatas: Various fields related to the Linode Metadata service.
649
667
  :param pulumi.Input[_builtins.str] migration_type: The type of migration to use when updating the type or region of a Linode. (`cold`, `warm`; default `cold`)
650
668
 
@@ -740,6 +758,8 @@ class _InstanceState:
740
758
  pulumi.set(__self__, "label", label)
741
759
  if lke_cluster_id is not None:
742
760
  pulumi.set(__self__, "lke_cluster_id", lke_cluster_id)
761
+ if maintenance_policy is not None:
762
+ pulumi.set(__self__, "maintenance_policy", maintenance_policy)
743
763
  if metadatas is not None:
744
764
  pulumi.set(__self__, "metadatas", metadatas)
745
765
  if migration_type is not None:
@@ -1058,6 +1078,18 @@ class _InstanceState:
1058
1078
  def lke_cluster_id(self, value: Optional[pulumi.Input[_builtins.int]]):
1059
1079
  pulumi.set(self, "lke_cluster_id", value)
1060
1080
 
1081
+ @_builtins.property
1082
+ @pulumi.getter(name="maintenancePolicy")
1083
+ def maintenance_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
1084
+ """
1085
+ The maintenance policy of this Linode instance. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to the default maintenance policy of the account. (**Note: v4beta only.**)
1086
+ """
1087
+ return pulumi.get(self, "maintenance_policy")
1088
+
1089
+ @maintenance_policy.setter
1090
+ def maintenance_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
1091
+ pulumi.set(self, "maintenance_policy", value)
1092
+
1061
1093
  @_builtins.property
1062
1094
  @pulumi.getter
1063
1095
  def metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMetadataArgs']]]]:
@@ -1315,6 +1347,7 @@ class Instance(pulumi.CustomResource):
1315
1347
  interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceInterfaceArgs', 'InstanceInterfaceArgsDict']]]]] = None,
1316
1348
  ipv4s: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1317
1349
  label: Optional[pulumi.Input[_builtins.str]] = None,
1350
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
1318
1351
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceMetadataArgs', 'InstanceMetadataArgsDict']]]]] = None,
1319
1352
  migration_type: Optional[pulumi.Input[_builtins.str]] = None,
1320
1353
  placement_group: Optional[pulumi.Input[Union['InstancePlacementGroupArgs', 'InstancePlacementGroupArgsDict']]] = None,
@@ -1442,6 +1475,7 @@ class Instance(pulumi.CustomResource):
1442
1475
 
1443
1476
  * **NOTE: IP reservation is not currently available to all users.**
1444
1477
  :param pulumi.Input[_builtins.str] label: The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
1478
+ :param pulumi.Input[_builtins.str] maintenance_policy: The maintenance policy of this Linode instance. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to the default maintenance policy of the account. (**Note: v4beta only.**)
1445
1479
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceMetadataArgs', 'InstanceMetadataArgsDict']]]] metadatas: Various fields related to the Linode Metadata service.
1446
1480
  :param pulumi.Input[_builtins.str] migration_type: The type of migration to use when updating the type or region of a Linode. (`cold`, `warm`; default `cold`)
1447
1481
 
@@ -1603,6 +1637,7 @@ class Instance(pulumi.CustomResource):
1603
1637
  interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceInterfaceArgs', 'InstanceInterfaceArgsDict']]]]] = None,
1604
1638
  ipv4s: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1605
1639
  label: Optional[pulumi.Input[_builtins.str]] = None,
1640
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
1606
1641
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceMetadataArgs', 'InstanceMetadataArgsDict']]]]] = None,
1607
1642
  migration_type: Optional[pulumi.Input[_builtins.str]] = None,
1608
1643
  placement_group: Optional[pulumi.Input[Union['InstancePlacementGroupArgs', 'InstancePlacementGroupArgsDict']]] = None,
@@ -1643,6 +1678,7 @@ class Instance(pulumi.CustomResource):
1643
1678
  __props__.__dict__["interfaces"] = interfaces
1644
1679
  __props__.__dict__["ipv4s"] = ipv4s
1645
1680
  __props__.__dict__["label"] = label
1681
+ __props__.__dict__["maintenance_policy"] = maintenance_policy
1646
1682
  __props__.__dict__["metadatas"] = metadatas
1647
1683
  __props__.__dict__["migration_type"] = migration_type
1648
1684
  __props__.__dict__["placement_group"] = placement_group
@@ -1705,6 +1741,7 @@ class Instance(pulumi.CustomResource):
1705
1741
  ipv6: Optional[pulumi.Input[_builtins.str]] = None,
1706
1742
  label: Optional[pulumi.Input[_builtins.str]] = None,
1707
1743
  lke_cluster_id: Optional[pulumi.Input[_builtins.int]] = None,
1744
+ maintenance_policy: Optional[pulumi.Input[_builtins.str]] = None,
1708
1745
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceMetadataArgs', 'InstanceMetadataArgsDict']]]]] = None,
1709
1746
  migration_type: Optional[pulumi.Input[_builtins.str]] = None,
1710
1747
  placement_group: Optional[pulumi.Input[Union['InstancePlacementGroupArgs', 'InstancePlacementGroupArgsDict']]] = None,
@@ -1756,6 +1793,7 @@ class Instance(pulumi.CustomResource):
1756
1793
  :param pulumi.Input[_builtins.str] ipv6: This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (`/128`) is included in this attribute.
1757
1794
  :param pulumi.Input[_builtins.str] label: The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
1758
1795
  :param pulumi.Input[_builtins.int] lke_cluster_id: If applicable, the ID of the LKE cluster this instance is a part of.
1796
+ :param pulumi.Input[_builtins.str] maintenance_policy: The maintenance policy of this Linode instance. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to the default maintenance policy of the account. (**Note: v4beta only.**)
1759
1797
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceMetadataArgs', 'InstanceMetadataArgsDict']]]] metadatas: Various fields related to the Linode Metadata service.
1760
1798
  :param pulumi.Input[_builtins.str] migration_type: The type of migration to use when updating the type or region of a Linode. (`cold`, `warm`; default `cold`)
1761
1799
 
@@ -1820,6 +1858,7 @@ class Instance(pulumi.CustomResource):
1820
1858
  __props__.__dict__["ipv6"] = ipv6
1821
1859
  __props__.__dict__["label"] = label
1822
1860
  __props__.__dict__["lke_cluster_id"] = lke_cluster_id
1861
+ __props__.__dict__["maintenance_policy"] = maintenance_policy
1823
1862
  __props__.__dict__["metadatas"] = metadatas
1824
1863
  __props__.__dict__["migration_type"] = migration_type
1825
1864
  __props__.__dict__["placement_group"] = placement_group
@@ -2029,6 +2068,14 @@ class Instance(pulumi.CustomResource):
2029
2068
  """
2030
2069
  return pulumi.get(self, "lke_cluster_id")
2031
2070
 
2071
+ @_builtins.property
2072
+ @pulumi.getter(name="maintenancePolicy")
2073
+ def maintenance_policy(self) -> pulumi.Output[_builtins.str]:
2074
+ """
2075
+ The maintenance policy of this Linode instance. Examples are `"linode/migrate"` and `"linode/power_off_on"`. Defaults to the default maintenance policy of the account. (**Note: v4beta only.**)
2076
+ """
2077
+ return pulumi.get(self, "maintenance_policy")
2078
+
2032
2079
  @_builtins.property
2033
2080
  @pulumi.getter
2034
2081
  def metadatas(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceMetadata']]]: