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.

Files changed (65) hide show
  1. cdktf_cdktf_provider_upcloud/__init__.py +23 -4
  2. cdktf_cdktf_provider_upcloud/_jsii/__init__.py +18 -3
  3. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.11.0.jsii.tgz +0 -0
  4. cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +23 -8
  5. cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +23 -8
  6. cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +23 -8
  7. cdktf_cdktf_provider_upcloud/data_upcloud_load_balancer_dns_challenge_domain/__init__.py +319 -0
  8. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_mysql_sessions/__init__.py +38 -23
  9. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +29 -14
  10. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_postgresql_sessions/__init__.py +46 -31
  11. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_redis_sessions/__init__.py +38 -23
  12. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_policies/__init__.py +26 -11
  13. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_regions/__init__.py +23 -8
  14. cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +29 -14
  15. cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +131 -54
  16. cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +23 -8
  17. cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +26 -11
  18. cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +23 -8
  19. cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +57 -42
  20. cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +32 -17
  21. cdktf_cdktf_provider_upcloud/gateway/__init__.py +53 -38
  22. cdktf_cdktf_provider_upcloud/gateway_connection/__init__.py +50 -35
  23. cdktf_cdktf_provider_upcloud/gateway_connection_tunnel/__init__.py +77 -62
  24. cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +47 -32
  25. cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +74 -59
  26. cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +58 -43
  27. cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +245 -175
  28. cdktf_cdktf_provider_upcloud/loadbalancer_backend_tls_config/__init__.py +29 -14
  29. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +44 -29
  30. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +29 -14
  31. cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +49 -34
  32. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +209 -194
  33. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +29 -14
  34. cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +32 -17
  35. cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +47 -32
  36. cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +44 -29
  37. cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +35 -20
  38. cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +211 -196
  39. cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +457 -442
  40. cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +325 -310
  41. cdktf_cdktf_provider_upcloud/managed_database_redis/__init__.py +139 -124
  42. cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +66 -51
  43. cdktf_cdktf_provider_upcloud/managed_object_storage/__init__.py +46 -31
  44. cdktf_cdktf_provider_upcloud/managed_object_storage_custom_domain/__init__.py +446 -0
  45. cdktf_cdktf_provider_upcloud/managed_object_storage_policy/__init__.py +32 -17
  46. cdktf_cdktf_provider_upcloud/managed_object_storage_user/__init__.py +29 -14
  47. cdktf_cdktf_provider_upcloud/managed_object_storage_user_access_key/__init__.py +32 -17
  48. cdktf_cdktf_provider_upcloud/managed_object_storage_user_policy/__init__.py +32 -17
  49. cdktf_cdktf_provider_upcloud/network/__init__.py +49 -34
  50. cdktf_cdktf_provider_upcloud/network_peering/__init__.py +39 -24
  51. cdktf_cdktf_provider_upcloud/object_storage/__init__.py +46 -31
  52. cdktf_cdktf_provider_upcloud/provider/__init__.py +41 -26
  53. cdktf_cdktf_provider_upcloud/router/__init__.py +35 -20
  54. cdktf_cdktf_provider_upcloud/server/__init__.py +169 -154
  55. cdktf_cdktf_provider_upcloud/server_group/__init__.py +35 -20
  56. cdktf_cdktf_provider_upcloud/storage/__init__.py +70 -53
  57. cdktf_cdktf_provider_upcloud/storage_template/__init__.py +29 -14
  58. cdktf_cdktf_provider_upcloud/tag/__init__.py +32 -17
  59. {cdktf_cdktf_provider_upcloud-14.10.0.dist-info → cdktf_cdktf_provider_upcloud-14.11.0.dist-info}/METADATA +6 -6
  60. cdktf_cdktf_provider_upcloud-14.11.0.dist-info/RECORD +64 -0
  61. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.10.0.jsii.tgz +0 -0
  62. cdktf_cdktf_provider_upcloud-14.10.0.dist-info/RECORD +0 -62
  63. {cdktf_cdktf_provider_upcloud-14.10.0.dist-info → cdktf_cdktf_provider_upcloud-14.11.0.dist-info}/LICENSE +0 -0
  64. {cdktf_cdktf_provider_upcloud-14.10.0.dist-info → cdktf_cdktf_provider_upcloud-14.11.0.dist-info}/WHEEL +0 -0
  65. {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.10.0/docs/resources/server_group).
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
- from typeguard import check_type
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.10.0/docs/resources/server_group upcloud_server_group}.'''
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.10.0/docs/resources/server_group upcloud_server_group} Resource.
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.10.0/docs/resources/server_group#title ServerGroup#title}
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.10.0/docs/resources/server_group#anti_affinity_policy ServerGroup#anti_affinity_policy}
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.10.0/docs/resources/server_group#labels ServerGroup#labels}
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.10.0/docs/resources/server_group#members ServerGroup#members}
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.10.0/docs/resources/server_group#track_members ServerGroup#track_members}
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.10.0/docs/resources/server_group#import import section} in the documentation of this resource for the id to use
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.10.0/docs/resources/server_group#title ServerGroup#title}
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.10.0/docs/resources/server_group#anti_affinity_policy ServerGroup#anti_affinity_policy}
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.10.0/docs/resources/server_group#labels ServerGroup#labels}
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.10.0/docs/resources/server_group#members ServerGroup#members}
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.10.0/docs/resources/server_group#track_members ServerGroup#track_members}
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.10.0/docs/resources/server_group#title ServerGroup#title}
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.10.0/docs/resources/server_group#anti_affinity_policy ServerGroup#anti_affinity_policy}
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.10.0/docs/resources/server_group#labels ServerGroup#labels}
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.10.0/docs/resources/server_group#members ServerGroup#members}
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.10.0/docs/resources/server_group#track_members ServerGroup#track_members}
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.10.0/docs/resources/storage).
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
- from typeguard import check_type
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.10.0/docs/resources/storage upcloud_storage}.'''
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.10.0/docs/resources/storage upcloud_storage} Resource.
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.10.0/docs/resources/storage#size Storage#size}
63
- :param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#title Storage#title}
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.10.0/docs/resources/storage#zone Storage#zone}
65
- :param backup_rule: backup_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#backup_rule Storage#backup_rule}
66
- :param clone: clone block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#clone Storage#clone}
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.10.0/docs/resources/storage#delete_autoresize_backup Storage#delete_autoresize_backup}
68
- :param encrypt: Sets if the storage is encrypted at rest. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#encrypt Storage#encrypt}
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.10.0/docs/resources/storage#filesystem_autoresize Storage#filesystem_autoresize}
70
- :param import_: import block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#import Storage#import}
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.10.0/docs/resources/storage#labels Storage#labels}
72
- :param tier: The tier of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#tier Storage#tier}
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.10.0/docs/resources/storage#import import section} in the documentation of this resource for the id to use
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.10.0/docs/resources/storage#interval Storage#interval}
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.10.0/docs/resources/storage#retention Storage#retention}
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.10.0/docs/resources/storage#time Storage#time}
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.10.0/docs/resources/storage#interval Storage#interval}
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.10.0/docs/resources/storage#retention Storage#retention}
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.10.0/docs/resources/storage#time Storage#time}
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.10.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.
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.10.0/docs/resources/storage#id Storage#id}
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.10.0/docs/resources/storage#size Storage#size}
930
- :param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#title Storage#title}
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.10.0/docs/resources/storage#zone Storage#zone}
932
- :param backup_rule: backup_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#backup_rule Storage#backup_rule}
933
- :param clone: clone block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#clone Storage#clone}
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.10.0/docs/resources/storage#delete_autoresize_backup Storage#delete_autoresize_backup}
935
- :param encrypt: Sets if the storage is encrypted at rest. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#encrypt Storage#encrypt}
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.10.0/docs/resources/storage#filesystem_autoresize Storage#filesystem_autoresize}
937
- :param import_: import block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#import Storage#import}
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.10.0/docs/resources/storage#labels Storage#labels}
939
- :param tier: The tier of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#tier Storage#tier}
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.10.0/docs/resources/storage#size Storage#size}
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.10.0/docs/resources/storage#title Storage#title}
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.10.0/docs/resources/storage#zone Storage#zone}
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.10.0/docs/resources/storage#backup_rule Storage#backup_rule}
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.10.0/docs/resources/storage#clone Storage#clone}
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.10.0/docs/resources/storage#delete_autoresize_backup Storage#delete_autoresize_backup}
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.10.0/docs/resources/storage#encrypt Storage#encrypt}
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.10.0/docs/resources/storage#filesystem_autoresize Storage#filesystem_autoresize}
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.10.0/docs/resources/storage#import Storage#import}
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.10.0/docs/resources/storage#labels Storage#labels}
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.10.0/docs/resources/storage#tier Storage#tier}
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.10.0/docs/resources/storage#source Storage#source}
1211
- :param source_location: The location of the file to import. For ``http_import`` an accessible URL for ``direct_upload`` a local file. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#source_location Storage#source_location}
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.10.0/docs/resources/storage#source_hash Storage#source_hash}
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.10.0/docs/resources/storage#source Storage#source}
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. For ``http_import`` an accessible URL for ``direct_upload`` a local file.
1253
+ '''The location of the file to import.
1239
1254
 
1240
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage#source_location Storage#source_location}
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.10.0/docs/resources/storage#source_hash Storage#source_hash}
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.10.0/docs/resources/storage_template).
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
- from typeguard import check_type
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.10.0/docs/resources/storage_template upcloud_storage_template}.'''
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.10.0/docs/resources/storage_template upcloud_storage_template} Resource.
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.10.0/docs/resources/storage_template#source_storage StorageTemplate#source_storage}
55
- :param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage_template#title StorageTemplate#title}
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.10.0/docs/resources/storage_template#labels StorageTemplate#labels}
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.10.0/docs/resources/storage_template#import import section} in the documentation of this resource for the id to use
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.10.0/docs/resources/storage_template#source_storage StorageTemplate#source_storage}
254
- :param title: The title of the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/storage_template#title StorageTemplate#title}
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.10.0/docs/resources/storage_template#labels StorageTemplate#labels}
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.10.0/docs/resources/storage_template#source_storage StorageTemplate#source_storage}
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.10.0/docs/resources/storage_template#title StorageTemplate#title}
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.10.0/docs/resources/storage_template#labels StorageTemplate#labels}
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)