cdktf-cdktf-provider-upcloud 14.10.0__py3-none-any.whl → 14.11.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 cdktf-cdktf-provider-upcloud might be problematic. Click here for more details.
- cdktf_cdktf_provider_upcloud/__init__.py +23 -4
- cdktf_cdktf_provider_upcloud/_jsii/__init__.py +18 -3
- cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.11.0.jsii.tgz +0 -0
- cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +23 -8
- cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +23 -8
- cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +23 -8
- cdktf_cdktf_provider_upcloud/data_upcloud_load_balancer_dns_challenge_domain/__init__.py +319 -0
- cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_mysql_sessions/__init__.py +38 -23
- cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +29 -14
- cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_postgresql_sessions/__init__.py +46 -31
- cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_redis_sessions/__init__.py +38 -23
- cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_policies/__init__.py +26 -11
- cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_regions/__init__.py +23 -8
- cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +29 -14
- cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +131 -54
- cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +23 -8
- cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +26 -11
- cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +23 -8
- cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +57 -42
- cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +32 -17
- cdktf_cdktf_provider_upcloud/gateway/__init__.py +53 -38
- cdktf_cdktf_provider_upcloud/gateway_connection/__init__.py +50 -35
- cdktf_cdktf_provider_upcloud/gateway_connection_tunnel/__init__.py +77 -62
- cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +47 -32
- cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +74 -59
- cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +58 -43
- cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +245 -175
- cdktf_cdktf_provider_upcloud/loadbalancer_backend_tls_config/__init__.py +29 -14
- cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +44 -29
- cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +29 -14
- cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +49 -34
- cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +209 -194
- cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +29 -14
- cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +32 -17
- cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +47 -32
- cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +44 -29
- cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +35 -20
- cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +211 -196
- cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +457 -442
- cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +325 -310
- cdktf_cdktf_provider_upcloud/managed_database_redis/__init__.py +139 -124
- cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +66 -51
- cdktf_cdktf_provider_upcloud/managed_object_storage/__init__.py +46 -31
- cdktf_cdktf_provider_upcloud/managed_object_storage_custom_domain/__init__.py +446 -0
- cdktf_cdktf_provider_upcloud/managed_object_storage_policy/__init__.py +32 -17
- cdktf_cdktf_provider_upcloud/managed_object_storage_user/__init__.py +29 -14
- cdktf_cdktf_provider_upcloud/managed_object_storage_user_access_key/__init__.py +32 -17
- cdktf_cdktf_provider_upcloud/managed_object_storage_user_policy/__init__.py +32 -17
- cdktf_cdktf_provider_upcloud/network/__init__.py +49 -34
- cdktf_cdktf_provider_upcloud/network_peering/__init__.py +39 -24
- cdktf_cdktf_provider_upcloud/object_storage/__init__.py +46 -31
- cdktf_cdktf_provider_upcloud/provider/__init__.py +41 -26
- cdktf_cdktf_provider_upcloud/router/__init__.py +35 -20
- cdktf_cdktf_provider_upcloud/server/__init__.py +169 -154
- cdktf_cdktf_provider_upcloud/server_group/__init__.py +35 -20
- cdktf_cdktf_provider_upcloud/storage/__init__.py +70 -53
- cdktf_cdktf_provider_upcloud/storage_template/__init__.py +29 -14
- cdktf_cdktf_provider_upcloud/tag/__init__.py +32 -17
- {cdktf_cdktf_provider_upcloud-14.10.0.dist-info → cdktf_cdktf_provider_upcloud-14.11.0.dist-info}/METADATA +6 -6
- cdktf_cdktf_provider_upcloud-14.11.0.dist-info/RECORD +64 -0
- cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.10.0.jsii.tgz +0 -0
- cdktf_cdktf_provider_upcloud-14.10.0.dist-info/RECORD +0 -62
- {cdktf_cdktf_provider_upcloud-14.10.0.dist-info → cdktf_cdktf_provider_upcloud-14.11.0.dist-info}/LICENSE +0 -0
- {cdktf_cdktf_provider_upcloud-14.10.0.dist-info → cdktf_cdktf_provider_upcloud-14.11.0.dist-info}/WHEEL +0 -0
- {cdktf_cdktf_provider_upcloud-14.10.0.dist-info → cdktf_cdktf_provider_upcloud-14.11.0.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
r'''
|
|
2
2
|
# `upcloud_server_group`
|
|
3
3
|
|
|
4
|
-
Refer to the Terraform Registry for docs: [`upcloud_server_group`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
4
|
+
Refer to the Terraform Registry for docs: [`upcloud_server_group`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group).
|
|
5
5
|
'''
|
|
6
6
|
from pkgutil import extend_path
|
|
7
7
|
__path__ = extend_path(__path__, __name__)
|
|
@@ -16,7 +16,22 @@ import jsii
|
|
|
16
16
|
import publication
|
|
17
17
|
import typing_extensions
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
import typeguard
|
|
20
|
+
from importlib.metadata import version as _metadata_package_version
|
|
21
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
22
|
+
|
|
23
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
24
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
25
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
26
|
+
else:
|
|
27
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
28
|
+
pass
|
|
29
|
+
else:
|
|
30
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
31
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
32
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
33
|
+
else:
|
|
34
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
20
35
|
|
|
21
36
|
from .._jsii import *
|
|
22
37
|
|
|
@@ -29,7 +44,7 @@ class ServerGroup(
|
|
|
29
44
|
metaclass=jsii.JSIIMeta,
|
|
30
45
|
jsii_type="@cdktf/provider-upcloud.serverGroup.ServerGroup",
|
|
31
46
|
):
|
|
32
|
-
'''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
47
|
+
'''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group upcloud_server_group}.'''
|
|
33
48
|
|
|
34
49
|
def __init__(
|
|
35
50
|
self,
|
|
@@ -49,15 +64,15 @@ class ServerGroup(
|
|
|
49
64
|
provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
|
|
50
65
|
provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
51
66
|
) -> None:
|
|
52
|
-
'''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
67
|
+
'''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group upcloud_server_group} Resource.
|
|
53
68
|
|
|
54
69
|
:param scope: The scope in which to define this construct.
|
|
55
70
|
:param id: The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
56
|
-
:param title: Title of your server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
57
|
-
:param anti_affinity_policy: Defines if a server group is an anti-affinity group. Setting this to ``strict`` or ``yes`` will result in all servers in the group being placed on separate compute hosts. The value can be ``strict``, ``yes``, or ``no``:: * `strict` policy doesn't allow servers in the same server group to be on the same host * `yes` refers to best-effort policy and tries to put servers on different hosts, but this is not guaranteed * `no` refers to having no policy and thus no effect on server host affinity To verify if the anti-affinity policies are met by requesting a server group details from API. For more information please see UpCloud API documentation on server groups. Plese also note that anti-affinity policies are only applied on server start. This means that if anti-affinity policies in server group are not met, you need to manually restart the servers in said group, for example via API, UpCloud Control Panel or upctl (UpCloud CLI) Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
58
|
-
:param labels: User defined key-value pairs to classify the server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
59
|
-
:param members: UUIDs of the servers that are members of this group. Servers can also be attached to the server group via ``server_group`` property of ``upcloud_server``. See also ``track_members`` property. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
60
|
-
:param track_members: Controls if members of the server group are being tracked in this resource. Set to ``false`` when using ``server_group`` property of ``upcloud_server`` to attach servers to the server group to avoid delayed state updates. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
71
|
+
:param title: Title of your server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#title ServerGroup#title}
|
|
72
|
+
:param anti_affinity_policy: Defines if a server group is an anti-affinity group. Setting this to ``strict`` or ``yes`` will result in all servers in the group being placed on separate compute hosts. The value can be ``strict``, ``yes``, or ``no``:: * `strict` policy doesn't allow servers in the same server group to be on the same host * `yes` refers to best-effort policy and tries to put servers on different hosts, but this is not guaranteed * `no` refers to having no policy and thus no effect on server host affinity To verify if the anti-affinity policies are met by requesting a server group details from API. For more information please see UpCloud API documentation on server groups. Plese also note that anti-affinity policies are only applied on server start. This means that if anti-affinity policies in server group are not met, you need to manually restart the servers in said group, for example via API, UpCloud Control Panel or upctl (UpCloud CLI) Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#anti_affinity_policy ServerGroup#anti_affinity_policy}
|
|
73
|
+
:param labels: User defined key-value pairs to classify the server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#labels ServerGroup#labels}
|
|
74
|
+
:param members: UUIDs of the servers that are members of this group. Servers can also be attached to the server group via ``server_group`` property of ``upcloud_server``. See also ``track_members`` property. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#members ServerGroup#members}
|
|
75
|
+
:param track_members: Controls if members of the server group are being tracked in this resource. Set to ``false`` when using ``server_group`` property of ``upcloud_server`` to attach servers to the server group to avoid delayed state updates. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#track_members ServerGroup#track_members}
|
|
61
76
|
:param connection:
|
|
62
77
|
:param count:
|
|
63
78
|
:param depends_on:
|
|
@@ -100,7 +115,7 @@ class ServerGroup(
|
|
|
100
115
|
|
|
101
116
|
:param scope: The scope in which to define this construct.
|
|
102
117
|
:param import_to_id: The construct id used in the generated config for the ServerGroup to import.
|
|
103
|
-
:param import_from_id: The id of the existing ServerGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
118
|
+
:param import_from_id: The id of the existing ServerGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#import import section} in the documentation of this resource for the id to use
|
|
104
119
|
:param provider: ? Optional instance of the provider where the ServerGroup to import is found.
|
|
105
120
|
'''
|
|
106
121
|
if __debug__:
|
|
@@ -281,11 +296,11 @@ class ServerGroupConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
281
296
|
:param lifecycle:
|
|
282
297
|
:param provider:
|
|
283
298
|
:param provisioners:
|
|
284
|
-
:param title: Title of your server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
285
|
-
:param anti_affinity_policy: Defines if a server group is an anti-affinity group. Setting this to ``strict`` or ``yes`` will result in all servers in the group being placed on separate compute hosts. The value can be ``strict``, ``yes``, or ``no``:: * `strict` policy doesn't allow servers in the same server group to be on the same host * `yes` refers to best-effort policy and tries to put servers on different hosts, but this is not guaranteed * `no` refers to having no policy and thus no effect on server host affinity To verify if the anti-affinity policies are met by requesting a server group details from API. For more information please see UpCloud API documentation on server groups. Plese also note that anti-affinity policies are only applied on server start. This means that if anti-affinity policies in server group are not met, you need to manually restart the servers in said group, for example via API, UpCloud Control Panel or upctl (UpCloud CLI) Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
286
|
-
:param labels: User defined key-value pairs to classify the server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
287
|
-
:param members: UUIDs of the servers that are members of this group. Servers can also be attached to the server group via ``server_group`` property of ``upcloud_server``. See also ``track_members`` property. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
288
|
-
:param track_members: Controls if members of the server group are being tracked in this resource. Set to ``false`` when using ``server_group`` property of ``upcloud_server`` to attach servers to the server group to avoid delayed state updates. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
299
|
+
:param title: Title of your server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#title ServerGroup#title}
|
|
300
|
+
:param anti_affinity_policy: Defines if a server group is an anti-affinity group. Setting this to ``strict`` or ``yes`` will result in all servers in the group being placed on separate compute hosts. The value can be ``strict``, ``yes``, or ``no``:: * `strict` policy doesn't allow servers in the same server group to be on the same host * `yes` refers to best-effort policy and tries to put servers on different hosts, but this is not guaranteed * `no` refers to having no policy and thus no effect on server host affinity To verify if the anti-affinity policies are met by requesting a server group details from API. For more information please see UpCloud API documentation on server groups. Plese also note that anti-affinity policies are only applied on server start. This means that if anti-affinity policies in server group are not met, you need to manually restart the servers in said group, for example via API, UpCloud Control Panel or upctl (UpCloud CLI) Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#anti_affinity_policy ServerGroup#anti_affinity_policy}
|
|
301
|
+
:param labels: User defined key-value pairs to classify the server group. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#labels ServerGroup#labels}
|
|
302
|
+
:param members: UUIDs of the servers that are members of this group. Servers can also be attached to the server group via ``server_group`` property of ``upcloud_server``. See also ``track_members`` property. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#members ServerGroup#members}
|
|
303
|
+
:param track_members: Controls if members of the server group are being tracked in this resource. Set to ``false`` when using ``server_group`` property of ``upcloud_server`` to attach servers to the server group to avoid delayed state updates. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#track_members ServerGroup#track_members}
|
|
289
304
|
'''
|
|
290
305
|
if isinstance(lifecycle, dict):
|
|
291
306
|
lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
|
|
@@ -397,7 +412,7 @@ class ServerGroupConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
397
412
|
def title(self) -> builtins.str:
|
|
398
413
|
'''Title of your server group.
|
|
399
414
|
|
|
400
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
415
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#title ServerGroup#title}
|
|
401
416
|
'''
|
|
402
417
|
result = self._values.get("title")
|
|
403
418
|
assert result is not None, "Required property 'title' is missing"
|
|
@@ -421,7 +436,7 @@ class ServerGroupConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
421
436
|
policies in server group are not met, you need to manually restart the servers in said group,
|
|
422
437
|
for example via API, UpCloud Control Panel or upctl (UpCloud CLI)
|
|
423
438
|
|
|
424
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
439
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#anti_affinity_policy ServerGroup#anti_affinity_policy}
|
|
425
440
|
'''
|
|
426
441
|
result = self._values.get("anti_affinity_policy")
|
|
427
442
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
@@ -430,7 +445,7 @@ class ServerGroupConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
430
445
|
def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
431
446
|
'''User defined key-value pairs to classify the server group.
|
|
432
447
|
|
|
433
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
448
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#labels ServerGroup#labels}
|
|
434
449
|
'''
|
|
435
450
|
result = self._values.get("labels")
|
|
436
451
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
@@ -441,7 +456,7 @@ class ServerGroupConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
441
456
|
|
|
442
457
|
Servers can also be attached to the server group via ``server_group`` property of ``upcloud_server``. See also ``track_members`` property.
|
|
443
458
|
|
|
444
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
459
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#members ServerGroup#members}
|
|
445
460
|
'''
|
|
446
461
|
result = self._values.get("members")
|
|
447
462
|
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
@@ -454,7 +469,7 @@ class ServerGroupConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
454
469
|
|
|
455
470
|
Set to ``false`` when using ``server_group`` property of ``upcloud_server`` to attach servers to the server group to avoid delayed state updates.
|
|
456
471
|
|
|
457
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
472
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/server_group#track_members ServerGroup#track_members}
|
|
458
473
|
'''
|
|
459
474
|
result = self._values.get("track_members")
|
|
460
475
|
return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
r'''
|
|
2
2
|
# `upcloud_storage`
|
|
3
3
|
|
|
4
|
-
Refer to the Terraform Registry for docs: [`upcloud_storage`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
4
|
+
Refer to the Terraform Registry for docs: [`upcloud_storage`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage).
|
|
5
5
|
'''
|
|
6
6
|
from pkgutil import extend_path
|
|
7
7
|
__path__ = extend_path(__path__, __name__)
|
|
@@ -16,7 +16,22 @@ import jsii
|
|
|
16
16
|
import publication
|
|
17
17
|
import typing_extensions
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
import typeguard
|
|
20
|
+
from importlib.metadata import version as _metadata_package_version
|
|
21
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
22
|
+
|
|
23
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
24
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
25
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
26
|
+
else:
|
|
27
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
28
|
+
pass
|
|
29
|
+
else:
|
|
30
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
31
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
32
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
33
|
+
else:
|
|
34
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
20
35
|
|
|
21
36
|
from .._jsii import *
|
|
22
37
|
|
|
@@ -29,7 +44,7 @@ class Storage(
|
|
|
29
44
|
metaclass=jsii.JSIIMeta,
|
|
30
45
|
jsii_type="@cdktf/provider-upcloud.storage.Storage",
|
|
31
46
|
):
|
|
32
|
-
'''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
47
|
+
'''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage upcloud_storage}.'''
|
|
33
48
|
|
|
34
49
|
def __init__(
|
|
35
50
|
self,
|
|
@@ -55,21 +70,21 @@ class Storage(
|
|
|
55
70
|
provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
|
|
56
71
|
provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
57
72
|
) -> None:
|
|
58
|
-
'''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
73
|
+
'''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage upcloud_storage} Resource.
|
|
59
74
|
|
|
60
75
|
:param scope: The scope in which to define this construct.
|
|
61
76
|
:param id: The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
62
|
-
:param size: The size of the storage in gigabytes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
63
|
-
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
64
|
-
:param zone: The zone the storage is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
65
|
-
:param backup_rule: backup_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
66
|
-
:param clone: clone block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
67
|
-
:param delete_autoresize_backup: If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
68
|
-
:param encrypt: Sets if the storage is encrypted at rest. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
69
|
-
:param filesystem_autoresize: If set to true, provider will attempt to resize partition and filesystem when the size of the storage changes. Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless ``delete_autoresize_backup`` option is set to true). Taking and keeping backups incure costs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
70
|
-
:param import_: import block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
71
|
-
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
72
|
-
:param tier: The tier of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
77
|
+
:param size: The size of the storage in gigabytes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#size Storage#size}
|
|
78
|
+
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#title Storage#title}
|
|
79
|
+
:param zone: The zone the storage is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#zone Storage#zone}
|
|
80
|
+
:param backup_rule: backup_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#backup_rule Storage#backup_rule}
|
|
81
|
+
:param clone: clone block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#clone Storage#clone}
|
|
82
|
+
:param delete_autoresize_backup: If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#delete_autoresize_backup Storage#delete_autoresize_backup}
|
|
83
|
+
:param encrypt: Sets if the storage is encrypted at rest. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#encrypt Storage#encrypt}
|
|
84
|
+
:param filesystem_autoresize: If set to true, provider will attempt to resize partition and filesystem when the size of the storage changes. Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless ``delete_autoresize_backup`` option is set to true). Taking and keeping backups incure costs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#filesystem_autoresize Storage#filesystem_autoresize}
|
|
85
|
+
:param import_: import block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#import Storage#import}
|
|
86
|
+
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#labels Storage#labels}
|
|
87
|
+
:param tier: The tier of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#tier Storage#tier}
|
|
73
88
|
:param connection:
|
|
74
89
|
:param count:
|
|
75
90
|
:param depends_on:
|
|
@@ -118,7 +133,7 @@ class Storage(
|
|
|
118
133
|
|
|
119
134
|
:param scope: The scope in which to define this construct.
|
|
120
135
|
:param import_to_id: The construct id used in the generated config for the Storage to import.
|
|
121
|
-
:param import_from_id: The id of the existing Storage that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
136
|
+
:param import_from_id: The id of the existing Storage that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#import import section} in the documentation of this resource for the id to use
|
|
122
137
|
:param provider: ? Optional instance of the provider where the Storage to import is found.
|
|
123
138
|
'''
|
|
124
139
|
if __debug__:
|
|
@@ -436,9 +451,9 @@ class StorageBackupRule:
|
|
|
436
451
|
time: builtins.str,
|
|
437
452
|
) -> None:
|
|
438
453
|
'''
|
|
439
|
-
:param interval: The weekday when the backup is created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
440
|
-
:param retention: The number of days before a backup is automatically deleted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
441
|
-
:param time: The time of day when the backup is created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
454
|
+
:param interval: The weekday when the backup is created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#interval Storage#interval}
|
|
455
|
+
:param retention: The number of days before a backup is automatically deleted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#retention Storage#retention}
|
|
456
|
+
:param time: The time of day when the backup is created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#time Storage#time}
|
|
442
457
|
'''
|
|
443
458
|
if __debug__:
|
|
444
459
|
type_hints = typing.get_type_hints(_typecheckingstub__eee27a48ad2ef9945a89867effeeb18fc1f477a3f16c16ee7e3dc286b6d8319e)
|
|
@@ -455,7 +470,7 @@ class StorageBackupRule:
|
|
|
455
470
|
def interval(self) -> builtins.str:
|
|
456
471
|
'''The weekday when the backup is created.
|
|
457
472
|
|
|
458
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
473
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#interval Storage#interval}
|
|
459
474
|
'''
|
|
460
475
|
result = self._values.get("interval")
|
|
461
476
|
assert result is not None, "Required property 'interval' is missing"
|
|
@@ -465,7 +480,7 @@ class StorageBackupRule:
|
|
|
465
480
|
def retention(self) -> jsii.Number:
|
|
466
481
|
'''The number of days before a backup is automatically deleted.
|
|
467
482
|
|
|
468
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
483
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#retention Storage#retention}
|
|
469
484
|
'''
|
|
470
485
|
result = self._values.get("retention")
|
|
471
486
|
assert result is not None, "Required property 'retention' is missing"
|
|
@@ -475,7 +490,7 @@ class StorageBackupRule:
|
|
|
475
490
|
def time(self) -> builtins.str:
|
|
476
491
|
'''The time of day when the backup is created.
|
|
477
492
|
|
|
478
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
493
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#time Storage#time}
|
|
479
494
|
'''
|
|
480
495
|
result = self._values.get("time")
|
|
481
496
|
assert result is not None, "Required property 'time' is missing"
|
|
@@ -686,7 +701,7 @@ class StorageBackupRuleOutputReference(
|
|
|
686
701
|
class StorageClone:
|
|
687
702
|
def __init__(self, *, id: builtins.str) -> None:
|
|
688
703
|
'''
|
|
689
|
-
:param id: The unique identifier of the storage/template to clone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
704
|
+
:param id: The unique identifier of the storage/template to clone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#id Storage#id} Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
|
|
690
705
|
'''
|
|
691
706
|
if __debug__:
|
|
692
707
|
type_hints = typing.get_type_hints(_typecheckingstub__efe8b26017a7929b77162de356dd088dc3adf3b5cf8edbcdd06aee07e255d1e2)
|
|
@@ -699,7 +714,7 @@ class StorageClone:
|
|
|
699
714
|
def id(self) -> builtins.str:
|
|
700
715
|
'''The unique identifier of the storage/template to clone.
|
|
701
716
|
|
|
702
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
717
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#id Storage#id}
|
|
703
718
|
|
|
704
719
|
Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
|
|
705
720
|
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
|
|
@@ -926,17 +941,17 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
926
941
|
:param lifecycle:
|
|
927
942
|
:param provider:
|
|
928
943
|
:param provisioners:
|
|
929
|
-
:param size: The size of the storage in gigabytes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
930
|
-
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
931
|
-
:param zone: The zone the storage is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
932
|
-
:param backup_rule: backup_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
933
|
-
:param clone: clone block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
934
|
-
:param delete_autoresize_backup: If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
935
|
-
:param encrypt: Sets if the storage is encrypted at rest. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
936
|
-
:param filesystem_autoresize: If set to true, provider will attempt to resize partition and filesystem when the size of the storage changes. Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless ``delete_autoresize_backup`` option is set to true). Taking and keeping backups incure costs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
937
|
-
:param import_: import block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
938
|
-
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
939
|
-
:param tier: The tier of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
944
|
+
:param size: The size of the storage in gigabytes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#size Storage#size}
|
|
945
|
+
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#title Storage#title}
|
|
946
|
+
:param zone: The zone the storage is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#zone Storage#zone}
|
|
947
|
+
:param backup_rule: backup_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#backup_rule Storage#backup_rule}
|
|
948
|
+
:param clone: clone block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#clone Storage#clone}
|
|
949
|
+
:param delete_autoresize_backup: If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#delete_autoresize_backup Storage#delete_autoresize_backup}
|
|
950
|
+
:param encrypt: Sets if the storage is encrypted at rest. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#encrypt Storage#encrypt}
|
|
951
|
+
:param filesystem_autoresize: If set to true, provider will attempt to resize partition and filesystem when the size of the storage changes. Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless ``delete_autoresize_backup`` option is set to true). Taking and keeping backups incure costs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#filesystem_autoresize Storage#filesystem_autoresize}
|
|
952
|
+
:param import_: import block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#import Storage#import}
|
|
953
|
+
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#labels Storage#labels}
|
|
954
|
+
:param tier: The tier of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#tier Storage#tier}
|
|
940
955
|
'''
|
|
941
956
|
if isinstance(lifecycle, dict):
|
|
942
957
|
lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
|
|
@@ -1064,7 +1079,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1064
1079
|
def size(self) -> jsii.Number:
|
|
1065
1080
|
'''The size of the storage in gigabytes.
|
|
1066
1081
|
|
|
1067
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1082
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#size Storage#size}
|
|
1068
1083
|
'''
|
|
1069
1084
|
result = self._values.get("size")
|
|
1070
1085
|
assert result is not None, "Required property 'size' is missing"
|
|
@@ -1074,7 +1089,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1074
1089
|
def title(self) -> builtins.str:
|
|
1075
1090
|
'''The title of the storage.
|
|
1076
1091
|
|
|
1077
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1092
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#title Storage#title}
|
|
1078
1093
|
'''
|
|
1079
1094
|
result = self._values.get("title")
|
|
1080
1095
|
assert result is not None, "Required property 'title' is missing"
|
|
@@ -1084,7 +1099,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1084
1099
|
def zone(self) -> builtins.str:
|
|
1085
1100
|
'''The zone the storage is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``.
|
|
1086
1101
|
|
|
1087
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1102
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#zone Storage#zone}
|
|
1088
1103
|
'''
|
|
1089
1104
|
result = self._values.get("zone")
|
|
1090
1105
|
assert result is not None, "Required property 'zone' is missing"
|
|
@@ -1096,7 +1111,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1096
1111
|
) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[StorageBackupRule]]]:
|
|
1097
1112
|
'''backup_rule block.
|
|
1098
1113
|
|
|
1099
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1114
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#backup_rule Storage#backup_rule}
|
|
1100
1115
|
'''
|
|
1101
1116
|
result = self._values.get("backup_rule")
|
|
1102
1117
|
return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[StorageBackupRule]]], result)
|
|
@@ -1107,7 +1122,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1107
1122
|
) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[StorageClone]]]:
|
|
1108
1123
|
'''clone block.
|
|
1109
1124
|
|
|
1110
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1125
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#clone Storage#clone}
|
|
1111
1126
|
'''
|
|
1112
1127
|
result = self._values.get("clone")
|
|
1113
1128
|
return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[StorageClone]]], result)
|
|
@@ -1118,7 +1133,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1118
1133
|
) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
|
|
1119
1134
|
'''If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success.
|
|
1120
1135
|
|
|
1121
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1136
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#delete_autoresize_backup Storage#delete_autoresize_backup}
|
|
1122
1137
|
'''
|
|
1123
1138
|
result = self._values.get("delete_autoresize_backup")
|
|
1124
1139
|
return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
|
|
@@ -1129,7 +1144,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1129
1144
|
) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
|
|
1130
1145
|
'''Sets if the storage is encrypted at rest.
|
|
1131
1146
|
|
|
1132
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1147
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#encrypt Storage#encrypt}
|
|
1133
1148
|
'''
|
|
1134
1149
|
result = self._values.get("encrypt")
|
|
1135
1150
|
return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
|
|
@@ -1143,7 +1158,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1143
1158
|
Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless ``delete_autoresize_backup`` option is set to true).
|
|
1144
1159
|
Taking and keeping backups incure costs.
|
|
1145
1160
|
|
|
1146
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1161
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#filesystem_autoresize Storage#filesystem_autoresize}
|
|
1147
1162
|
'''
|
|
1148
1163
|
result = self._values.get("filesystem_autoresize")
|
|
1149
1164
|
return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
|
|
@@ -1154,7 +1169,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1154
1169
|
) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["StorageImport"]]]:
|
|
1155
1170
|
'''import block.
|
|
1156
1171
|
|
|
1157
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1172
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#import Storage#import}
|
|
1158
1173
|
'''
|
|
1159
1174
|
result = self._values.get("import_")
|
|
1160
1175
|
return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["StorageImport"]]], result)
|
|
@@ -1163,7 +1178,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1163
1178
|
def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
1164
1179
|
'''User defined key-value pairs to classify the storage.
|
|
1165
1180
|
|
|
1166
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1181
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#labels Storage#labels}
|
|
1167
1182
|
'''
|
|
1168
1183
|
result = self._values.get("labels")
|
|
1169
1184
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
@@ -1172,7 +1187,7 @@ class StorageConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
1172
1187
|
def tier(self) -> typing.Optional[builtins.str]:
|
|
1173
1188
|
'''The tier of the storage.
|
|
1174
1189
|
|
|
1175
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1190
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#tier Storage#tier}
|
|
1176
1191
|
'''
|
|
1177
1192
|
result = self._values.get("tier")
|
|
1178
1193
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
@@ -1207,9 +1222,9 @@ class StorageImport:
|
|
|
1207
1222
|
source_hash: typing.Optional[builtins.str] = None,
|
|
1208
1223
|
) -> None:
|
|
1209
1224
|
'''
|
|
1210
|
-
:param source: The mode of the import task. One of ``http_import`` or ``direct_upload``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1211
|
-
:param source_location: The location of the file to import. For ``http_import`` an accessible URL
|
|
1212
|
-
:param source_hash: SHA256 hash of the source content. This hash is used to verify the integrity of the imported data by comparing it to ``sha256sum`` after the import has completed. Possible filename is automatically removed from the hash before comparison. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1225
|
+
:param source: The mode of the import task. One of ``http_import`` or ``direct_upload``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#source Storage#source}
|
|
1226
|
+
:param source_location: The location of the file to import. For ``http_import`` an accessible URL. For ``direct_upload`` a local file. When direct uploading a compressed image, ``Content-Type`` header of the PUT request is set automatically based on the file extension (``.gz`` or ``.xz``, case-insensitive). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#source_location Storage#source_location}
|
|
1227
|
+
:param source_hash: SHA256 hash of the source content. This hash is used to verify the integrity of the imported data by comparing it to ``sha256sum`` after the import has completed. Possible filename is automatically removed from the hash before comparison. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#source_hash Storage#source_hash}
|
|
1213
1228
|
'''
|
|
1214
1229
|
if __debug__:
|
|
1215
1230
|
type_hints = typing.get_type_hints(_typecheckingstub__57190dc28106231e6a3ad0101dea1fddce123659be23a411969999c2b12e5aef)
|
|
@@ -1227,7 +1242,7 @@ class StorageImport:
|
|
|
1227
1242
|
def source(self) -> builtins.str:
|
|
1228
1243
|
'''The mode of the import task. One of ``http_import`` or ``direct_upload``.
|
|
1229
1244
|
|
|
1230
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1245
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#source Storage#source}
|
|
1231
1246
|
'''
|
|
1232
1247
|
result = self._values.get("source")
|
|
1233
1248
|
assert result is not None, "Required property 'source' is missing"
|
|
@@ -1235,9 +1250,11 @@ class StorageImport:
|
|
|
1235
1250
|
|
|
1236
1251
|
@builtins.property
|
|
1237
1252
|
def source_location(self) -> builtins.str:
|
|
1238
|
-
'''The location of the file to import.
|
|
1253
|
+
'''The location of the file to import.
|
|
1239
1254
|
|
|
1240
|
-
|
|
1255
|
+
For ``http_import`` an accessible URL. For ``direct_upload`` a local file. When direct uploading a compressed image, ``Content-Type`` header of the PUT request is set automatically based on the file extension (``.gz`` or ``.xz``, case-insensitive).
|
|
1256
|
+
|
|
1257
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#source_location Storage#source_location}
|
|
1241
1258
|
'''
|
|
1242
1259
|
result = self._values.get("source_location")
|
|
1243
1260
|
assert result is not None, "Required property 'source_location' is missing"
|
|
@@ -1249,7 +1266,7 @@ class StorageImport:
|
|
|
1249
1266
|
|
|
1250
1267
|
This hash is used to verify the integrity of the imported data by comparing it to ``sha256sum`` after the import has completed. Possible filename is automatically removed from the hash before comparison.
|
|
1251
1268
|
|
|
1252
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
1269
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage#source_hash Storage#source_hash}
|
|
1253
1270
|
'''
|
|
1254
1271
|
result = self._values.get("source_hash")
|
|
1255
1272
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
r'''
|
|
2
2
|
# `upcloud_storage_template`
|
|
3
3
|
|
|
4
|
-
Refer to the Terraform Registry for docs: [`upcloud_storage_template`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
4
|
+
Refer to the Terraform Registry for docs: [`upcloud_storage_template`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template).
|
|
5
5
|
'''
|
|
6
6
|
from pkgutil import extend_path
|
|
7
7
|
__path__ = extend_path(__path__, __name__)
|
|
@@ -16,7 +16,22 @@ import jsii
|
|
|
16
16
|
import publication
|
|
17
17
|
import typing_extensions
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
import typeguard
|
|
20
|
+
from importlib.metadata import version as _metadata_package_version
|
|
21
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
22
|
+
|
|
23
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
24
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
25
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
26
|
+
else:
|
|
27
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
28
|
+
pass
|
|
29
|
+
else:
|
|
30
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
31
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
32
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
33
|
+
else:
|
|
34
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
20
35
|
|
|
21
36
|
from .._jsii import *
|
|
22
37
|
|
|
@@ -29,7 +44,7 @@ class StorageTemplate(
|
|
|
29
44
|
metaclass=jsii.JSIIMeta,
|
|
30
45
|
jsii_type="@cdktf/provider-upcloud.storageTemplate.StorageTemplate",
|
|
31
46
|
):
|
|
32
|
-
'''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
47
|
+
'''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template upcloud_storage_template}.'''
|
|
33
48
|
|
|
34
49
|
def __init__(
|
|
35
50
|
self,
|
|
@@ -47,13 +62,13 @@ class StorageTemplate(
|
|
|
47
62
|
provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
|
|
48
63
|
provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
|
|
49
64
|
) -> None:
|
|
50
|
-
'''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
65
|
+
'''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template upcloud_storage_template} Resource.
|
|
51
66
|
|
|
52
67
|
:param scope: The scope in which to define this construct.
|
|
53
68
|
:param id: The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
54
|
-
:param source_storage: The source storage that is used as a base for this storage template. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
55
|
-
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
56
|
-
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
69
|
+
:param source_storage: The source storage that is used as a base for this storage template. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#source_storage StorageTemplate#source_storage}
|
|
70
|
+
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#title StorageTemplate#title}
|
|
71
|
+
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#labels StorageTemplate#labels}
|
|
57
72
|
:param connection:
|
|
58
73
|
:param count:
|
|
59
74
|
:param depends_on:
|
|
@@ -94,7 +109,7 @@ class StorageTemplate(
|
|
|
94
109
|
|
|
95
110
|
:param scope: The scope in which to define this construct.
|
|
96
111
|
:param import_to_id: The construct id used in the generated config for the StorageTemplate to import.
|
|
97
|
-
:param import_from_id: The id of the existing StorageTemplate that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
112
|
+
:param import_from_id: The id of the existing StorageTemplate that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#import import section} in the documentation of this resource for the id to use
|
|
98
113
|
:param provider: ? Optional instance of the provider where the StorageTemplate to import is found.
|
|
99
114
|
'''
|
|
100
115
|
if __debug__:
|
|
@@ -250,9 +265,9 @@ class StorageTemplateConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
250
265
|
:param lifecycle:
|
|
251
266
|
:param provider:
|
|
252
267
|
:param provisioners:
|
|
253
|
-
:param source_storage: The source storage that is used as a base for this storage template. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
254
|
-
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
255
|
-
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
268
|
+
:param source_storage: The source storage that is used as a base for this storage template. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#source_storage StorageTemplate#source_storage}
|
|
269
|
+
:param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#title StorageTemplate#title}
|
|
270
|
+
:param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#labels StorageTemplate#labels}
|
|
256
271
|
'''
|
|
257
272
|
if isinstance(lifecycle, dict):
|
|
258
273
|
lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
|
|
@@ -357,7 +372,7 @@ class StorageTemplateConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
357
372
|
def source_storage(self) -> builtins.str:
|
|
358
373
|
'''The source storage that is used as a base for this storage template.
|
|
359
374
|
|
|
360
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
375
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#source_storage StorageTemplate#source_storage}
|
|
361
376
|
'''
|
|
362
377
|
result = self._values.get("source_storage")
|
|
363
378
|
assert result is not None, "Required property 'source_storage' is missing"
|
|
@@ -367,7 +382,7 @@ class StorageTemplateConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
367
382
|
def title(self) -> builtins.str:
|
|
368
383
|
'''The title of the storage.
|
|
369
384
|
|
|
370
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
385
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#title StorageTemplate#title}
|
|
371
386
|
'''
|
|
372
387
|
result = self._values.get("title")
|
|
373
388
|
assert result is not None, "Required property 'title' is missing"
|
|
@@ -377,7 +392,7 @@ class StorageTemplateConfig(_cdktf_9a9027ec.TerraformMetaArguments):
|
|
|
377
392
|
def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
378
393
|
'''User defined key-value pairs to classify the storage.
|
|
379
394
|
|
|
380
|
-
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.
|
|
395
|
+
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/storage_template#labels StorageTemplate#labels}
|
|
381
396
|
'''
|
|
382
397
|
result = self._values.get("labels")
|
|
383
398
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|