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
  # `data_upcloud_zone`
3
3
 
4
- Refer to the Terraform Registry for docs: [`data_upcloud_zone`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone).
4
+ Refer to the Terraform Registry for docs: [`data_upcloud_zone`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone).
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 DataUpcloudZone(
29
44
  metaclass=jsii.JSIIMeta,
30
45
  jsii_type="@cdktf/provider-upcloud.dataUpcloudZone.DataUpcloudZone",
31
46
  ):
32
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone upcloud_zone}.'''
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone upcloud_zone}.'''
33
48
 
34
49
  def __init__(
35
50
  self,
@@ -46,12 +61,12 @@ class DataUpcloudZone(
46
61
  provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
47
62
  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,
48
63
  ) -> None:
49
- '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone upcloud_zone} Data Source.
64
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone upcloud_zone} Data Source.
50
65
 
51
66
  :param scope: The scope in which to define this construct.
52
67
  :param id_: The scoped construct ID. Must be unique amongst siblings in the same scope
53
- :param id: Identifier of the zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone#id DataUpcloudZone#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.
54
- :param name: Identifier of the zone. Contains the same value as ``id``. If both ``id`` and ``name`` are set, ``id`` takes precedence. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone#name DataUpcloudZone#name}
68
+ :param id: Identifier of the zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone#id DataUpcloudZone#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.
69
+ :param name: Identifier of the zone. Contains the same value as ``id``. If both ``id`` and ``name`` are set, ``id`` takes precedence. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone#name DataUpcloudZone#name}
55
70
  :param connection:
56
71
  :param count:
57
72
  :param depends_on:
@@ -91,7 +106,7 @@ class DataUpcloudZone(
91
106
 
92
107
  :param scope: The scope in which to define this construct.
93
108
  :param import_to_id: The construct id used in the generated config for the DataUpcloudZone to import.
94
- :param import_from_id: The id of the existing DataUpcloudZone that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone#import import section} in the documentation of this resource for the id to use
109
+ :param import_from_id: The id of the existing DataUpcloudZone that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone#import import section} in the documentation of this resource for the id to use
95
110
  :param provider: ? Optional instance of the provider where the DataUpcloudZone to import is found.
96
111
  '''
97
112
  if __debug__:
@@ -210,8 +225,8 @@ class DataUpcloudZoneConfig(_cdktf_9a9027ec.TerraformMetaArguments):
210
225
  :param lifecycle:
211
226
  :param provider:
212
227
  :param provisioners:
213
- :param id: Identifier of the zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone#id DataUpcloudZone#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.
214
- :param name: Identifier of the zone. Contains the same value as ``id``. If both ``id`` and ``name`` are set, ``id`` takes precedence. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone#name DataUpcloudZone#name}
228
+ :param id: Identifier of the zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone#id DataUpcloudZone#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.
229
+ :param name: Identifier of the zone. Contains the same value as ``id``. If both ``id`` and ``name`` are set, ``id`` takes precedence. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone#name DataUpcloudZone#name}
215
230
  '''
216
231
  if isinstance(lifecycle, dict):
217
232
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
@@ -314,7 +329,7 @@ class DataUpcloudZoneConfig(_cdktf_9a9027ec.TerraformMetaArguments):
314
329
  def id(self) -> typing.Optional[builtins.str]:
315
330
  '''Identifier of the zone.
316
331
 
317
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone#id DataUpcloudZone#id}
332
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone#id DataUpcloudZone#id}
318
333
 
319
334
  Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
320
335
  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.
@@ -328,7 +343,7 @@ class DataUpcloudZoneConfig(_cdktf_9a9027ec.TerraformMetaArguments):
328
343
 
329
344
  Contains the same value as ``id``. If both ``id`` and ``name`` are set, ``id`` takes precedence.
330
345
 
331
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zone#name DataUpcloudZone#name}
346
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zone#name DataUpcloudZone#name}
332
347
  '''
333
348
  result = self._values.get("name")
334
349
  return typing.cast(typing.Optional[builtins.str], result)
@@ -1,7 +1,7 @@
1
1
  r'''
2
2
  # `data_upcloud_zones`
3
3
 
4
- Refer to the Terraform Registry for docs: [`data_upcloud_zones`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zones).
4
+ Refer to the Terraform Registry for docs: [`data_upcloud_zones`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zones).
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 DataUpcloudZones(
29
44
  metaclass=jsii.JSIIMeta,
30
45
  jsii_type="@cdktf/provider-upcloud.dataUpcloudZones.DataUpcloudZones",
31
46
  ):
32
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zones upcloud_zones}.'''
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zones upcloud_zones}.'''
33
48
 
34
49
  def __init__(
35
50
  self,
@@ -45,11 +60,11 @@ class DataUpcloudZones(
45
60
  provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
46
61
  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,
47
62
  ) -> None:
48
- '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zones upcloud_zones} Data Source.
63
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zones upcloud_zones} Data Source.
49
64
 
50
65
  :param scope: The scope in which to define this construct.
51
66
  :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
52
- :param filter_type: Filter zones by type. Possible values are "all", "public" and "private". Default is "public". Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zones#filter_type DataUpcloudZones#filter_type}
67
+ :param filter_type: Filter zones by type. Possible values are "all", "public" and "private". Default is "public". Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zones#filter_type DataUpcloudZones#filter_type}
53
68
  :param connection:
54
69
  :param count:
55
70
  :param depends_on:
@@ -88,7 +103,7 @@ class DataUpcloudZones(
88
103
 
89
104
  :param scope: The scope in which to define this construct.
90
105
  :param import_to_id: The construct id used in the generated config for the DataUpcloudZones to import.
91
- :param import_from_id: The id of the existing DataUpcloudZones that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zones#import import section} in the documentation of this resource for the id to use
106
+ :param import_from_id: The id of the existing DataUpcloudZones that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zones#import import section} in the documentation of this resource for the id to use
92
107
  :param provider: ? Optional instance of the provider where the DataUpcloudZones to import is found.
93
108
  '''
94
109
  if __debug__:
@@ -179,7 +194,7 @@ class DataUpcloudZonesConfig(_cdktf_9a9027ec.TerraformMetaArguments):
179
194
  :param lifecycle:
180
195
  :param provider:
181
196
  :param provisioners:
182
- :param filter_type: Filter zones by type. Possible values are "all", "public" and "private". Default is "public". Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zones#filter_type DataUpcloudZones#filter_type}
197
+ :param filter_type: Filter zones by type. Possible values are "all", "public" and "private". Default is "public". Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zones#filter_type DataUpcloudZones#filter_type}
183
198
  '''
184
199
  if isinstance(lifecycle, dict):
185
200
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
@@ -279,7 +294,7 @@ class DataUpcloudZonesConfig(_cdktf_9a9027ec.TerraformMetaArguments):
279
294
  def filter_type(self) -> typing.Optional[builtins.str]:
280
295
  '''Filter zones by type. Possible values are "all", "public" and "private". Default is "public".
281
296
 
282
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/data-sources/zones#filter_type DataUpcloudZones#filter_type}
297
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/data-sources/zones#filter_type DataUpcloudZones#filter_type}
283
298
  '''
284
299
  result = self._values.get("filter_type")
285
300
  return typing.cast(typing.Optional[builtins.str], result)
@@ -1,7 +1,7 @@
1
1
  r'''
2
2
  # `upcloud_firewall_rules`
3
3
 
4
- Refer to the Terraform Registry for docs: [`upcloud_firewall_rules`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules).
4
+ Refer to the Terraform Registry for docs: [`upcloud_firewall_rules`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules).
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 FirewallRules(
29
44
  metaclass=jsii.JSIIMeta,
30
45
  jsii_type="@cdktf/provider-upcloud.firewallRules.FirewallRules",
31
46
  ):
32
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules upcloud_firewall_rules}.'''
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules upcloud_firewall_rules}.'''
33
48
 
34
49
  def __init__(
35
50
  self,
@@ -47,13 +62,13 @@ class FirewallRules(
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/firewall_rules upcloud_firewall_rules} Resource.
65
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules upcloud_firewall_rules} 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 firewall_rule: firewall_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
55
- :param server_id: The unique id of the server to be protected the firewall rules. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
56
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#id FirewallRules#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.
69
+ :param firewall_rule: firewall_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
70
+ :param server_id: The unique id of the server to be protected the firewall rules. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
71
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#id FirewallRules#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.
57
72
  :param connection:
58
73
  :param count:
59
74
  :param depends_on:
@@ -94,7 +109,7 @@ class FirewallRules(
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 FirewallRules to import.
97
- :param import_from_id: The id of the existing FirewallRules that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#import import section} in the documentation of this resource for the id to use
112
+ :param import_from_id: The id of the existing FirewallRules that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#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 FirewallRules to import is found.
99
114
  '''
100
115
  if __debug__:
@@ -221,9 +236,9 @@ class FirewallRulesConfig(_cdktf_9a9027ec.TerraformMetaArguments):
221
236
  :param lifecycle:
222
237
  :param provider:
223
238
  :param provisioners:
224
- :param firewall_rule: firewall_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
225
- :param server_id: The unique id of the server to be protected the firewall rules. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
226
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#id FirewallRules#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.
239
+ :param firewall_rule: firewall_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
240
+ :param server_id: The unique id of the server to be protected the firewall rules. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
241
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#id FirewallRules#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.
227
242
  '''
228
243
  if isinstance(lifecycle, dict):
229
244
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
@@ -330,7 +345,7 @@ class FirewallRulesConfig(_cdktf_9a9027ec.TerraformMetaArguments):
330
345
  ) -> typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["FirewallRulesFirewallRule"]]:
331
346
  '''firewall_rule block.
332
347
 
333
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
348
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
334
349
  '''
335
350
  result = self._values.get("firewall_rule")
336
351
  assert result is not None, "Required property 'firewall_rule' is missing"
@@ -340,7 +355,7 @@ class FirewallRulesConfig(_cdktf_9a9027ec.TerraformMetaArguments):
340
355
  def server_id(self) -> builtins.str:
341
356
  '''The unique id of the server to be protected the firewall rules.
342
357
 
343
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
358
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
344
359
  '''
345
360
  result = self._values.get("server_id")
346
361
  assert result is not None, "Required property 'server_id' is missing"
@@ -348,7 +363,7 @@ class FirewallRulesConfig(_cdktf_9a9027ec.TerraformMetaArguments):
348
363
 
349
364
  @builtins.property
350
365
  def id(self) -> typing.Optional[builtins.str]:
351
- '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#id FirewallRules#id}.
366
+ '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#id FirewallRules#id}.
352
367
 
353
368
  Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
354
369
  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.
@@ -408,20 +423,20 @@ class FirewallRulesFirewallRule:
408
423
  source_port_start: typing.Optional[builtins.str] = None,
409
424
  ) -> None:
410
425
  '''
411
- :param action: Action to take if the rule conditions are met. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#action FirewallRules#action}
412
- :param direction: The direction of network traffic this rule will be applied to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#direction FirewallRules#direction}
413
- :param comment: Freeform comment string for the rule. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#comment FirewallRules#comment}
414
- :param destination_address_end: The destination address range ends from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_address_end FirewallRules#destination_address_end}
415
- :param destination_address_start: The destination address range starts from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_address_start FirewallRules#destination_address_start}
416
- :param destination_port_end: The destination port range ends from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_port_end FirewallRules#destination_port_end}
417
- :param destination_port_start: The destination port range starts from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_port_start FirewallRules#destination_port_start}
418
- :param family: The address family of new firewall rule. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#family FirewallRules#family}
419
- :param icmp_type: The ICMP type. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#icmp_type FirewallRules#icmp_type}
420
- :param protocol: The protocol this rule will be applied to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#protocol FirewallRules#protocol}
421
- :param source_address_end: The source address range ends from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_address_end FirewallRules#source_address_end}
422
- :param source_address_start: The source address range starts from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_address_start FirewallRules#source_address_start}
423
- :param source_port_end: The source port range ends from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_port_end FirewallRules#source_port_end}
424
- :param source_port_start: The source port range starts from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_port_start FirewallRules#source_port_start}
426
+ :param action: Action to take if the rule conditions are met. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#action FirewallRules#action}
427
+ :param direction: The direction of network traffic this rule will be applied to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#direction FirewallRules#direction}
428
+ :param comment: Freeform comment string for the rule. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#comment FirewallRules#comment}
429
+ :param destination_address_end: The destination address range ends from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_address_end FirewallRules#destination_address_end}
430
+ :param destination_address_start: The destination address range starts from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_address_start FirewallRules#destination_address_start}
431
+ :param destination_port_end: The destination port range ends from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_port_end FirewallRules#destination_port_end}
432
+ :param destination_port_start: The destination port range starts from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_port_start FirewallRules#destination_port_start}
433
+ :param family: The address family of new firewall rule. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#family FirewallRules#family}
434
+ :param icmp_type: The ICMP type. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#icmp_type FirewallRules#icmp_type}
435
+ :param protocol: The protocol this rule will be applied to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#protocol FirewallRules#protocol}
436
+ :param source_address_end: The source address range ends from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_address_end FirewallRules#source_address_end}
437
+ :param source_address_start: The source address range starts from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_address_start FirewallRules#source_address_start}
438
+ :param source_port_end: The source port range ends from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_port_end FirewallRules#source_port_end}
439
+ :param source_port_start: The source port range starts from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_port_start FirewallRules#source_port_start}
425
440
  '''
426
441
  if __debug__:
427
442
  type_hints = typing.get_type_hints(_typecheckingstub__9b77e978fb66d25b46f06da19493b15c4f42527dec58b7335729cf86141901af)
@@ -472,7 +487,7 @@ class FirewallRulesFirewallRule:
472
487
  def action(self) -> builtins.str:
473
488
  '''Action to take if the rule conditions are met.
474
489
 
475
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#action FirewallRules#action}
490
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#action FirewallRules#action}
476
491
  '''
477
492
  result = self._values.get("action")
478
493
  assert result is not None, "Required property 'action' is missing"
@@ -482,7 +497,7 @@ class FirewallRulesFirewallRule:
482
497
  def direction(self) -> builtins.str:
483
498
  '''The direction of network traffic this rule will be applied to.
484
499
 
485
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#direction FirewallRules#direction}
500
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#direction FirewallRules#direction}
486
501
  '''
487
502
  result = self._values.get("direction")
488
503
  assert result is not None, "Required property 'direction' is missing"
@@ -492,7 +507,7 @@ class FirewallRulesFirewallRule:
492
507
  def comment(self) -> typing.Optional[builtins.str]:
493
508
  '''Freeform comment string for the rule.
494
509
 
495
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#comment FirewallRules#comment}
510
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#comment FirewallRules#comment}
496
511
  '''
497
512
  result = self._values.get("comment")
498
513
  return typing.cast(typing.Optional[builtins.str], result)
@@ -501,7 +516,7 @@ class FirewallRulesFirewallRule:
501
516
  def destination_address_end(self) -> typing.Optional[builtins.str]:
502
517
  '''The destination address range ends from this address.
503
518
 
504
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_address_end FirewallRules#destination_address_end}
519
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_address_end FirewallRules#destination_address_end}
505
520
  '''
506
521
  result = self._values.get("destination_address_end")
507
522
  return typing.cast(typing.Optional[builtins.str], result)
@@ -510,7 +525,7 @@ class FirewallRulesFirewallRule:
510
525
  def destination_address_start(self) -> typing.Optional[builtins.str]:
511
526
  '''The destination address range starts from this address.
512
527
 
513
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_address_start FirewallRules#destination_address_start}
528
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_address_start FirewallRules#destination_address_start}
514
529
  '''
515
530
  result = self._values.get("destination_address_start")
516
531
  return typing.cast(typing.Optional[builtins.str], result)
@@ -519,7 +534,7 @@ class FirewallRulesFirewallRule:
519
534
  def destination_port_end(self) -> typing.Optional[builtins.str]:
520
535
  '''The destination port range ends from this port number.
521
536
 
522
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_port_end FirewallRules#destination_port_end}
537
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_port_end FirewallRules#destination_port_end}
523
538
  '''
524
539
  result = self._values.get("destination_port_end")
525
540
  return typing.cast(typing.Optional[builtins.str], result)
@@ -528,7 +543,7 @@ class FirewallRulesFirewallRule:
528
543
  def destination_port_start(self) -> typing.Optional[builtins.str]:
529
544
  '''The destination port range starts from this port number.
530
545
 
531
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#destination_port_start FirewallRules#destination_port_start}
546
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#destination_port_start FirewallRules#destination_port_start}
532
547
  '''
533
548
  result = self._values.get("destination_port_start")
534
549
  return typing.cast(typing.Optional[builtins.str], result)
@@ -537,7 +552,7 @@ class FirewallRulesFirewallRule:
537
552
  def family(self) -> typing.Optional[builtins.str]:
538
553
  '''The address family of new firewall rule.
539
554
 
540
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#family FirewallRules#family}
555
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#family FirewallRules#family}
541
556
  '''
542
557
  result = self._values.get("family")
543
558
  return typing.cast(typing.Optional[builtins.str], result)
@@ -546,7 +561,7 @@ class FirewallRulesFirewallRule:
546
561
  def icmp_type(self) -> typing.Optional[builtins.str]:
547
562
  '''The ICMP type.
548
563
 
549
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#icmp_type FirewallRules#icmp_type}
564
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#icmp_type FirewallRules#icmp_type}
550
565
  '''
551
566
  result = self._values.get("icmp_type")
552
567
  return typing.cast(typing.Optional[builtins.str], result)
@@ -555,7 +570,7 @@ class FirewallRulesFirewallRule:
555
570
  def protocol(self) -> typing.Optional[builtins.str]:
556
571
  '''The protocol this rule will be applied to.
557
572
 
558
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#protocol FirewallRules#protocol}
573
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#protocol FirewallRules#protocol}
559
574
  '''
560
575
  result = self._values.get("protocol")
561
576
  return typing.cast(typing.Optional[builtins.str], result)
@@ -564,7 +579,7 @@ class FirewallRulesFirewallRule:
564
579
  def source_address_end(self) -> typing.Optional[builtins.str]:
565
580
  '''The source address range ends from this address.
566
581
 
567
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_address_end FirewallRules#source_address_end}
582
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_address_end FirewallRules#source_address_end}
568
583
  '''
569
584
  result = self._values.get("source_address_end")
570
585
  return typing.cast(typing.Optional[builtins.str], result)
@@ -573,7 +588,7 @@ class FirewallRulesFirewallRule:
573
588
  def source_address_start(self) -> typing.Optional[builtins.str]:
574
589
  '''The source address range starts from this address.
575
590
 
576
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_address_start FirewallRules#source_address_start}
591
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_address_start FirewallRules#source_address_start}
577
592
  '''
578
593
  result = self._values.get("source_address_start")
579
594
  return typing.cast(typing.Optional[builtins.str], result)
@@ -582,7 +597,7 @@ class FirewallRulesFirewallRule:
582
597
  def source_port_end(self) -> typing.Optional[builtins.str]:
583
598
  '''The source port range ends from this port number.
584
599
 
585
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_port_end FirewallRules#source_port_end}
600
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_port_end FirewallRules#source_port_end}
586
601
  '''
587
602
  result = self._values.get("source_port_end")
588
603
  return typing.cast(typing.Optional[builtins.str], result)
@@ -591,7 +606,7 @@ class FirewallRulesFirewallRule:
591
606
  def source_port_start(self) -> typing.Optional[builtins.str]:
592
607
  '''The source port range starts from this port number.
593
608
 
594
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/firewall_rules#source_port_start FirewallRules#source_port_start}
609
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/firewall_rules#source_port_start FirewallRules#source_port_start}
595
610
  '''
596
611
  result = self._values.get("source_port_start")
597
612
  return typing.cast(typing.Optional[builtins.str], result)
@@ -1,7 +1,7 @@
1
1
  r'''
2
2
  # `upcloud_floating_ip_address`
3
3
 
4
- Refer to the Terraform Registry for docs: [`upcloud_floating_ip_address`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address).
4
+ Refer to the Terraform Registry for docs: [`upcloud_floating_ip_address`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address).
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 FloatingIpAddress(
29
44
  metaclass=jsii.JSIIMeta,
30
45
  jsii_type="@cdktf/provider-upcloud.floatingIpAddress.FloatingIpAddress",
31
46
  ):
32
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address upcloud_floating_ip_address}.'''
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address upcloud_floating_ip_address}.'''
33
48
 
34
49
  def __init__(
35
50
  self,
@@ -48,14 +63,14 @@ class FloatingIpAddress(
48
63
  provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
49
64
  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,
50
65
  ) -> None:
51
- '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address upcloud_floating_ip_address} Resource.
66
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address upcloud_floating_ip_address} Resource.
52
67
 
53
68
  :param scope: The scope in which to define this construct.
54
69
  :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
55
- :param access: Network access for the floating IP address. Supported value: ``public``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
56
- :param family: The address family of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
57
- :param mac_address: MAC address of a server interface to assign address to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
58
- :param zone: Zone of the address, e.g. ``de-fra1``. Required when assigning a detached floating IP address. 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/floating_ip_address#zone FloatingIpAddress#zone}
70
+ :param access: Network access for the floating IP address. Supported value: ``public``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
71
+ :param family: The address family of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
72
+ :param mac_address: MAC address of a server interface to assign address to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
73
+ :param zone: Zone of the address, e.g. ``de-fra1``. Required when assigning a detached floating IP address. 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/floating_ip_address#zone FloatingIpAddress#zone}
59
74
  :param connection:
60
75
  :param count:
61
76
  :param depends_on:
@@ -97,7 +112,7 @@ class FloatingIpAddress(
97
112
 
98
113
  :param scope: The scope in which to define this construct.
99
114
  :param import_to_id: The construct id used in the generated config for the FloatingIpAddress to import.
100
- :param import_from_id: The id of the existing FloatingIpAddress that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#import import section} in the documentation of this resource for the id to use
115
+ :param import_from_id: The id of the existing FloatingIpAddress that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#import import section} in the documentation of this resource for the id to use
101
116
  :param provider: ? Optional instance of the provider where the FloatingIpAddress to import is found.
102
117
  '''
103
118
  if __debug__:
@@ -257,10 +272,10 @@ class FloatingIpAddressConfig(_cdktf_9a9027ec.TerraformMetaArguments):
257
272
  :param lifecycle:
258
273
  :param provider:
259
274
  :param provisioners:
260
- :param access: Network access for the floating IP address. Supported value: ``public``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
261
- :param family: The address family of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
262
- :param mac_address: MAC address of a server interface to assign address to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
263
- :param zone: Zone of the address, e.g. ``de-fra1``. Required when assigning a detached floating IP address. 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/floating_ip_address#zone FloatingIpAddress#zone}
275
+ :param access: Network access for the floating IP address. Supported value: ``public``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
276
+ :param family: The address family of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
277
+ :param mac_address: MAC address of a server interface to assign address to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
278
+ :param zone: Zone of the address, e.g. ``de-fra1``. Required when assigning a detached floating IP address. 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/floating_ip_address#zone FloatingIpAddress#zone}
264
279
  '''
265
280
  if isinstance(lifecycle, dict):
266
281
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
@@ -369,7 +384,7 @@ class FloatingIpAddressConfig(_cdktf_9a9027ec.TerraformMetaArguments):
369
384
  def access(self) -> typing.Optional[builtins.str]:
370
385
  '''Network access for the floating IP address. Supported value: ``public``.
371
386
 
372
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
387
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
373
388
  '''
374
389
  result = self._values.get("access")
375
390
  return typing.cast(typing.Optional[builtins.str], result)
@@ -378,7 +393,7 @@ class FloatingIpAddressConfig(_cdktf_9a9027ec.TerraformMetaArguments):
378
393
  def family(self) -> typing.Optional[builtins.str]:
379
394
  '''The address family of the floating IP address.
380
395
 
381
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
396
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
382
397
  '''
383
398
  result = self._values.get("family")
384
399
  return typing.cast(typing.Optional[builtins.str], result)
@@ -387,7 +402,7 @@ class FloatingIpAddressConfig(_cdktf_9a9027ec.TerraformMetaArguments):
387
402
  def mac_address(self) -> typing.Optional[builtins.str]:
388
403
  '''MAC address of a server interface to assign address to.
389
404
 
390
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
405
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
391
406
  '''
392
407
  result = self._values.get("mac_address")
393
408
  return typing.cast(typing.Optional[builtins.str], result)
@@ -396,7 +411,7 @@ class FloatingIpAddressConfig(_cdktf_9a9027ec.TerraformMetaArguments):
396
411
  def zone(self) -> typing.Optional[builtins.str]:
397
412
  '''Zone of the address, e.g. ``de-fra1``. Required when assigning a detached floating IP address. You can list available zones with ``upctl zone list``.
398
413
 
399
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.10.0/docs/resources/floating_ip_address#zone FloatingIpAddress#zone}
414
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.11.0/docs/resources/floating_ip_address#zone FloatingIpAddress#zone}
400
415
  '''
401
416
  result = self._values.get("zone")
402
417
  return typing.cast(typing.Optional[builtins.str], result)