cdktf-cdktf-provider-upcloud 15.8.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.
Files changed (66) hide show
  1. cdktf_cdktf_provider_upcloud/__init__.py +247 -0
  2. cdktf_cdktf_provider_upcloud/_jsii/__init__.py +45 -0
  3. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@15.8.0.jsii.tgz +0 -0
  4. cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +894 -0
  5. cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +633 -0
  6. cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +384 -0
  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 +853 -0
  9. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +717 -0
  10. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_postgresql_sessions/__init__.py +1084 -0
  11. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_valkey_sessions/__init__.py +898 -0
  12. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_policies/__init__.py +647 -0
  13. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_regions/__init__.py +600 -0
  14. cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +1093 -0
  15. cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +725 -0
  16. cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +558 -0
  17. cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +421 -0
  18. cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +364 -0
  19. cdktf_cdktf_provider_upcloud/file_storage/__init__.py +1683 -0
  20. cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +1233 -0
  21. cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +552 -0
  22. cdktf_cdktf_provider_upcloud/gateway/__init__.py +1167 -0
  23. cdktf_cdktf_provider_upcloud/gateway_connection/__init__.py +1299 -0
  24. cdktf_cdktf_provider_upcloud/gateway_connection_tunnel/__init__.py +1357 -0
  25. cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +801 -0
  26. cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +2674 -0
  27. cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +2113 -0
  28. cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +1426 -0
  29. cdktf_cdktf_provider_upcloud/loadbalancer_backend_tls_config/__init__.py +442 -0
  30. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +633 -0
  31. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +459 -0
  32. cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +1290 -0
  33. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +11486 -0
  34. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +442 -0
  35. cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +504 -0
  36. cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +659 -0
  37. cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +633 -0
  38. cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +536 -0
  39. cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +4644 -0
  40. cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +13812 -0
  41. cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +7734 -0
  42. cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +1541 -0
  43. cdktf_cdktf_provider_upcloud/managed_database_valkey/__init__.py +3355 -0
  44. cdktf_cdktf_provider_upcloud/managed_object_storage/__init__.py +1198 -0
  45. cdktf_cdktf_provider_upcloud/managed_object_storage_bucket/__init__.py +409 -0
  46. cdktf_cdktf_provider_upcloud/managed_object_storage_custom_domain/__init__.py +446 -0
  47. cdktf_cdktf_provider_upcloud/managed_object_storage_policy/__init__.py +521 -0
  48. cdktf_cdktf_provider_upcloud/managed_object_storage_user/__init__.py +454 -0
  49. cdktf_cdktf_provider_upcloud/managed_object_storage_user_access_key/__init__.py +505 -0
  50. cdktf_cdktf_provider_upcloud/managed_object_storage_user_policy/__init__.py +485 -0
  51. cdktf_cdktf_provider_upcloud/network/__init__.py +1554 -0
  52. cdktf_cdktf_provider_upcloud/network_peering/__init__.py +1084 -0
  53. cdktf_cdktf_provider_upcloud/provider/__init__.py +544 -0
  54. cdktf_cdktf_provider_upcloud/py.typed +1 -0
  55. cdktf_cdktf_provider_upcloud/router/__init__.py +1030 -0
  56. cdktf_cdktf_provider_upcloud/server/__init__.py +4542 -0
  57. cdktf_cdktf_provider_upcloud/server_group/__init__.py +571 -0
  58. cdktf_cdktf_provider_upcloud/storage/__init__.py +1850 -0
  59. cdktf_cdktf_provider_upcloud/storage_backup/__init__.py +483 -0
  60. cdktf_cdktf_provider_upcloud/storage_template/__init__.py +478 -0
  61. cdktf_cdktf_provider_upcloud/tag/__init__.py +493 -0
  62. cdktf_cdktf_provider_upcloud-15.8.0.dist-info/LICENSE +355 -0
  63. cdktf_cdktf_provider_upcloud-15.8.0.dist-info/METADATA +120 -0
  64. cdktf_cdktf_provider_upcloud-15.8.0.dist-info/RECORD +66 -0
  65. cdktf_cdktf_provider_upcloud-15.8.0.dist-info/WHEEL +5 -0
  66. cdktf_cdktf_provider_upcloud-15.8.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,552 @@
1
+ r'''
2
+ # `upcloud_floating_ip_address`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_floating_ip_address`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address).
5
+ '''
6
+ from pkgutil import extend_path
7
+ __path__ = extend_path(__path__, __name__)
8
+
9
+ import abc
10
+ import builtins
11
+ import datetime
12
+ import enum
13
+ import typing
14
+
15
+ import jsii
16
+ import publication
17
+ import typing_extensions
18
+
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
35
+
36
+ from .._jsii import *
37
+
38
+ import cdktf as _cdktf_9a9027ec
39
+ import constructs as _constructs_77d1e7e8
40
+
41
+
42
+ class FloatingIpAddress(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.floatingIpAddress.FloatingIpAddress",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address upcloud_floating_ip_address}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ access: typing.Optional[builtins.str] = None,
55
+ family: typing.Optional[builtins.str] = None,
56
+ mac_address: typing.Optional[builtins.str] = None,
57
+ release_policy: typing.Optional[builtins.str] = None,
58
+ zone: typing.Optional[builtins.str] = None,
59
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
60
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
61
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
62
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
63
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
64
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
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,
66
+ ) -> None:
67
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address upcloud_floating_ip_address} Resource.
68
+
69
+ :param scope: The scope in which to define this construct.
70
+ :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
71
+ :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.31.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
72
+ :param family: The address family of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
73
+ :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.31.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
74
+ :param release_policy: The release policy of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#release_policy FloatingIpAddress#release_policy}
75
+ :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.31.0/docs/resources/floating_ip_address#zone FloatingIpAddress#zone}
76
+ :param connection:
77
+ :param count:
78
+ :param depends_on:
79
+ :param for_each:
80
+ :param lifecycle:
81
+ :param provider:
82
+ :param provisioners:
83
+ '''
84
+ if __debug__:
85
+ type_hints = typing.get_type_hints(_typecheckingstub__7a3a86334a576ee93e97cd5fa8f741a8da8f869742ea13315b33ceeecf76c4d0)
86
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
87
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
88
+ config = FloatingIpAddressConfig(
89
+ access=access,
90
+ family=family,
91
+ mac_address=mac_address,
92
+ release_policy=release_policy,
93
+ zone=zone,
94
+ connection=connection,
95
+ count=count,
96
+ depends_on=depends_on,
97
+ for_each=for_each,
98
+ lifecycle=lifecycle,
99
+ provider=provider,
100
+ provisioners=provisioners,
101
+ )
102
+
103
+ jsii.create(self.__class__, self, [scope, id, config])
104
+
105
+ @jsii.member(jsii_name="generateConfigForImport")
106
+ @builtins.classmethod
107
+ def generate_config_for_import(
108
+ cls,
109
+ scope: _constructs_77d1e7e8.Construct,
110
+ import_to_id: builtins.str,
111
+ import_from_id: builtins.str,
112
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
113
+ ) -> _cdktf_9a9027ec.ImportableResource:
114
+ '''Generates CDKTF code for importing a FloatingIpAddress resource upon running "cdktf plan ".
115
+
116
+ :param scope: The scope in which to define this construct.
117
+ :param import_to_id: The construct id used in the generated config for the FloatingIpAddress to import.
118
+ :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.31.0/docs/resources/floating_ip_address#import import section} in the documentation of this resource for the id to use
119
+ :param provider: ? Optional instance of the provider where the FloatingIpAddress to import is found.
120
+ '''
121
+ if __debug__:
122
+ type_hints = typing.get_type_hints(_typecheckingstub__1d5282cef449d063b9536f3fe3d31d3472e2788390fa1d5931753efb4e354774)
123
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
124
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
125
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
126
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
127
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
128
+
129
+ @jsii.member(jsii_name="resetAccess")
130
+ def reset_access(self) -> None:
131
+ return typing.cast(None, jsii.invoke(self, "resetAccess", []))
132
+
133
+ @jsii.member(jsii_name="resetFamily")
134
+ def reset_family(self) -> None:
135
+ return typing.cast(None, jsii.invoke(self, "resetFamily", []))
136
+
137
+ @jsii.member(jsii_name="resetMacAddress")
138
+ def reset_mac_address(self) -> None:
139
+ return typing.cast(None, jsii.invoke(self, "resetMacAddress", []))
140
+
141
+ @jsii.member(jsii_name="resetReleasePolicy")
142
+ def reset_release_policy(self) -> None:
143
+ return typing.cast(None, jsii.invoke(self, "resetReleasePolicy", []))
144
+
145
+ @jsii.member(jsii_name="resetZone")
146
+ def reset_zone(self) -> None:
147
+ return typing.cast(None, jsii.invoke(self, "resetZone", []))
148
+
149
+ @jsii.member(jsii_name="synthesizeAttributes")
150
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
151
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
152
+
153
+ @jsii.member(jsii_name="synthesizeHclAttributes")
154
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
155
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
156
+
157
+ @jsii.python.classproperty
158
+ @jsii.member(jsii_name="tfResourceType")
159
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
160
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
161
+
162
+ @builtins.property
163
+ @jsii.member(jsii_name="id")
164
+ def id(self) -> builtins.str:
165
+ return typing.cast(builtins.str, jsii.get(self, "id"))
166
+
167
+ @builtins.property
168
+ @jsii.member(jsii_name="ipAddress")
169
+ def ip_address(self) -> builtins.str:
170
+ return typing.cast(builtins.str, jsii.get(self, "ipAddress"))
171
+
172
+ @builtins.property
173
+ @jsii.member(jsii_name="accessInput")
174
+ def access_input(self) -> typing.Optional[builtins.str]:
175
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "accessInput"))
176
+
177
+ @builtins.property
178
+ @jsii.member(jsii_name="familyInput")
179
+ def family_input(self) -> typing.Optional[builtins.str]:
180
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "familyInput"))
181
+
182
+ @builtins.property
183
+ @jsii.member(jsii_name="macAddressInput")
184
+ def mac_address_input(self) -> typing.Optional[builtins.str]:
185
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "macAddressInput"))
186
+
187
+ @builtins.property
188
+ @jsii.member(jsii_name="releasePolicyInput")
189
+ def release_policy_input(self) -> typing.Optional[builtins.str]:
190
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "releasePolicyInput"))
191
+
192
+ @builtins.property
193
+ @jsii.member(jsii_name="zoneInput")
194
+ def zone_input(self) -> typing.Optional[builtins.str]:
195
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "zoneInput"))
196
+
197
+ @builtins.property
198
+ @jsii.member(jsii_name="access")
199
+ def access(self) -> builtins.str:
200
+ return typing.cast(builtins.str, jsii.get(self, "access"))
201
+
202
+ @access.setter
203
+ def access(self, value: builtins.str) -> None:
204
+ if __debug__:
205
+ type_hints = typing.get_type_hints(_typecheckingstub__4a0fed1fe78dcf61391ee316f018355c051988560df1e6e8dbb17315a7743c1a)
206
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
207
+ jsii.set(self, "access", value) # pyright: ignore[reportArgumentType]
208
+
209
+ @builtins.property
210
+ @jsii.member(jsii_name="family")
211
+ def family(self) -> builtins.str:
212
+ return typing.cast(builtins.str, jsii.get(self, "family"))
213
+
214
+ @family.setter
215
+ def family(self, value: builtins.str) -> None:
216
+ if __debug__:
217
+ type_hints = typing.get_type_hints(_typecheckingstub__ac4d2dcfe2d1d01d7514c7cd7f22d5b4a1cb39d7fcf66b3670b4a5c7d438056d)
218
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
219
+ jsii.set(self, "family", value) # pyright: ignore[reportArgumentType]
220
+
221
+ @builtins.property
222
+ @jsii.member(jsii_name="macAddress")
223
+ def mac_address(self) -> builtins.str:
224
+ return typing.cast(builtins.str, jsii.get(self, "macAddress"))
225
+
226
+ @mac_address.setter
227
+ def mac_address(self, value: builtins.str) -> None:
228
+ if __debug__:
229
+ type_hints = typing.get_type_hints(_typecheckingstub__3a3d0104fe4b695d7b1611f86c494909bc09134ac2baddb967a1813ed3ced4f7)
230
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
231
+ jsii.set(self, "macAddress", value) # pyright: ignore[reportArgumentType]
232
+
233
+ @builtins.property
234
+ @jsii.member(jsii_name="releasePolicy")
235
+ def release_policy(self) -> builtins.str:
236
+ return typing.cast(builtins.str, jsii.get(self, "releasePolicy"))
237
+
238
+ @release_policy.setter
239
+ def release_policy(self, value: builtins.str) -> None:
240
+ if __debug__:
241
+ type_hints = typing.get_type_hints(_typecheckingstub__42859f40a28fa6a19b1a2952d7b0b525adb0b1eb3cb67e389cbc4eb13934cb05)
242
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
243
+ jsii.set(self, "releasePolicy", value) # pyright: ignore[reportArgumentType]
244
+
245
+ @builtins.property
246
+ @jsii.member(jsii_name="zone")
247
+ def zone(self) -> builtins.str:
248
+ return typing.cast(builtins.str, jsii.get(self, "zone"))
249
+
250
+ @zone.setter
251
+ def zone(self, value: builtins.str) -> None:
252
+ if __debug__:
253
+ type_hints = typing.get_type_hints(_typecheckingstub__9fde6c724c2f94096e73a2a357f4481f0bd702fb413194265669772572245090)
254
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
255
+ jsii.set(self, "zone", value) # pyright: ignore[reportArgumentType]
256
+
257
+
258
+ @jsii.data_type(
259
+ jsii_type="@cdktf/provider-upcloud.floatingIpAddress.FloatingIpAddressConfig",
260
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
261
+ name_mapping={
262
+ "connection": "connection",
263
+ "count": "count",
264
+ "depends_on": "dependsOn",
265
+ "for_each": "forEach",
266
+ "lifecycle": "lifecycle",
267
+ "provider": "provider",
268
+ "provisioners": "provisioners",
269
+ "access": "access",
270
+ "family": "family",
271
+ "mac_address": "macAddress",
272
+ "release_policy": "releasePolicy",
273
+ "zone": "zone",
274
+ },
275
+ )
276
+ class FloatingIpAddressConfig(_cdktf_9a9027ec.TerraformMetaArguments):
277
+ def __init__(
278
+ self,
279
+ *,
280
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
281
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
282
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
283
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
284
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
285
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
286
+ 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,
287
+ access: typing.Optional[builtins.str] = None,
288
+ family: typing.Optional[builtins.str] = None,
289
+ mac_address: typing.Optional[builtins.str] = None,
290
+ release_policy: typing.Optional[builtins.str] = None,
291
+ zone: typing.Optional[builtins.str] = None,
292
+ ) -> None:
293
+ '''
294
+ :param connection:
295
+ :param count:
296
+ :param depends_on:
297
+ :param for_each:
298
+ :param lifecycle:
299
+ :param provider:
300
+ :param provisioners:
301
+ :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.31.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
302
+ :param family: The address family of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
303
+ :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.31.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
304
+ :param release_policy: The release policy of the floating IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#release_policy FloatingIpAddress#release_policy}
305
+ :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.31.0/docs/resources/floating_ip_address#zone FloatingIpAddress#zone}
306
+ '''
307
+ if isinstance(lifecycle, dict):
308
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
309
+ if __debug__:
310
+ type_hints = typing.get_type_hints(_typecheckingstub__d77934c8fe141a2f7da0915ddfad6f183a3295e3e3e9c279b458e3a1622de5c6)
311
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
312
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
313
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
314
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
315
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
316
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
317
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
318
+ check_type(argname="argument access", value=access, expected_type=type_hints["access"])
319
+ check_type(argname="argument family", value=family, expected_type=type_hints["family"])
320
+ check_type(argname="argument mac_address", value=mac_address, expected_type=type_hints["mac_address"])
321
+ check_type(argname="argument release_policy", value=release_policy, expected_type=type_hints["release_policy"])
322
+ check_type(argname="argument zone", value=zone, expected_type=type_hints["zone"])
323
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
324
+ if connection is not None:
325
+ self._values["connection"] = connection
326
+ if count is not None:
327
+ self._values["count"] = count
328
+ if depends_on is not None:
329
+ self._values["depends_on"] = depends_on
330
+ if for_each is not None:
331
+ self._values["for_each"] = for_each
332
+ if lifecycle is not None:
333
+ self._values["lifecycle"] = lifecycle
334
+ if provider is not None:
335
+ self._values["provider"] = provider
336
+ if provisioners is not None:
337
+ self._values["provisioners"] = provisioners
338
+ if access is not None:
339
+ self._values["access"] = access
340
+ if family is not None:
341
+ self._values["family"] = family
342
+ if mac_address is not None:
343
+ self._values["mac_address"] = mac_address
344
+ if release_policy is not None:
345
+ self._values["release_policy"] = release_policy
346
+ if zone is not None:
347
+ self._values["zone"] = zone
348
+
349
+ @builtins.property
350
+ def connection(
351
+ self,
352
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
353
+ '''
354
+ :stability: experimental
355
+ '''
356
+ result = self._values.get("connection")
357
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
358
+
359
+ @builtins.property
360
+ def count(
361
+ self,
362
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
363
+ '''
364
+ :stability: experimental
365
+ '''
366
+ result = self._values.get("count")
367
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
368
+
369
+ @builtins.property
370
+ def depends_on(
371
+ self,
372
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
373
+ '''
374
+ :stability: experimental
375
+ '''
376
+ result = self._values.get("depends_on")
377
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
378
+
379
+ @builtins.property
380
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
381
+ '''
382
+ :stability: experimental
383
+ '''
384
+ result = self._values.get("for_each")
385
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
386
+
387
+ @builtins.property
388
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
389
+ '''
390
+ :stability: experimental
391
+ '''
392
+ result = self._values.get("lifecycle")
393
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
394
+
395
+ @builtins.property
396
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
397
+ '''
398
+ :stability: experimental
399
+ '''
400
+ result = self._values.get("provider")
401
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
402
+
403
+ @builtins.property
404
+ def provisioners(
405
+ self,
406
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
407
+ '''
408
+ :stability: experimental
409
+ '''
410
+ result = self._values.get("provisioners")
411
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
412
+
413
+ @builtins.property
414
+ def access(self) -> typing.Optional[builtins.str]:
415
+ '''Network access for the floating IP address. Supported value: ``public``.
416
+
417
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#access FloatingIpAddress#access}
418
+ '''
419
+ result = self._values.get("access")
420
+ return typing.cast(typing.Optional[builtins.str], result)
421
+
422
+ @builtins.property
423
+ def family(self) -> typing.Optional[builtins.str]:
424
+ '''The address family of the floating IP address.
425
+
426
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#family FloatingIpAddress#family}
427
+ '''
428
+ result = self._values.get("family")
429
+ return typing.cast(typing.Optional[builtins.str], result)
430
+
431
+ @builtins.property
432
+ def mac_address(self) -> typing.Optional[builtins.str]:
433
+ '''MAC address of a server interface to assign address to.
434
+
435
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#mac_address FloatingIpAddress#mac_address}
436
+ '''
437
+ result = self._values.get("mac_address")
438
+ return typing.cast(typing.Optional[builtins.str], result)
439
+
440
+ @builtins.property
441
+ def release_policy(self) -> typing.Optional[builtins.str]:
442
+ '''The release policy of the floating IP address.
443
+
444
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#release_policy FloatingIpAddress#release_policy}
445
+ '''
446
+ result = self._values.get("release_policy")
447
+ return typing.cast(typing.Optional[builtins.str], result)
448
+
449
+ @builtins.property
450
+ def zone(self) -> typing.Optional[builtins.str]:
451
+ '''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``.
452
+
453
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/floating_ip_address#zone FloatingIpAddress#zone}
454
+ '''
455
+ result = self._values.get("zone")
456
+ return typing.cast(typing.Optional[builtins.str], result)
457
+
458
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
459
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
460
+
461
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
462
+ return not (rhs == self)
463
+
464
+ def __repr__(self) -> str:
465
+ return "FloatingIpAddressConfig(%s)" % ", ".join(
466
+ k + "=" + repr(v) for k, v in self._values.items()
467
+ )
468
+
469
+
470
+ __all__ = [
471
+ "FloatingIpAddress",
472
+ "FloatingIpAddressConfig",
473
+ ]
474
+
475
+ publication.publish()
476
+
477
+ def _typecheckingstub__7a3a86334a576ee93e97cd5fa8f741a8da8f869742ea13315b33ceeecf76c4d0(
478
+ scope: _constructs_77d1e7e8.Construct,
479
+ id: builtins.str,
480
+ *,
481
+ access: typing.Optional[builtins.str] = None,
482
+ family: typing.Optional[builtins.str] = None,
483
+ mac_address: typing.Optional[builtins.str] = None,
484
+ release_policy: typing.Optional[builtins.str] = None,
485
+ zone: typing.Optional[builtins.str] = None,
486
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
487
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
488
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
489
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
490
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
491
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
492
+ 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,
493
+ ) -> None:
494
+ """Type checking stubs"""
495
+ pass
496
+
497
+ def _typecheckingstub__1d5282cef449d063b9536f3fe3d31d3472e2788390fa1d5931753efb4e354774(
498
+ scope: _constructs_77d1e7e8.Construct,
499
+ import_to_id: builtins.str,
500
+ import_from_id: builtins.str,
501
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
502
+ ) -> None:
503
+ """Type checking stubs"""
504
+ pass
505
+
506
+ def _typecheckingstub__4a0fed1fe78dcf61391ee316f018355c051988560df1e6e8dbb17315a7743c1a(
507
+ value: builtins.str,
508
+ ) -> None:
509
+ """Type checking stubs"""
510
+ pass
511
+
512
+ def _typecheckingstub__ac4d2dcfe2d1d01d7514c7cd7f22d5b4a1cb39d7fcf66b3670b4a5c7d438056d(
513
+ value: builtins.str,
514
+ ) -> None:
515
+ """Type checking stubs"""
516
+ pass
517
+
518
+ def _typecheckingstub__3a3d0104fe4b695d7b1611f86c494909bc09134ac2baddb967a1813ed3ced4f7(
519
+ value: builtins.str,
520
+ ) -> None:
521
+ """Type checking stubs"""
522
+ pass
523
+
524
+ def _typecheckingstub__42859f40a28fa6a19b1a2952d7b0b525adb0b1eb3cb67e389cbc4eb13934cb05(
525
+ value: builtins.str,
526
+ ) -> None:
527
+ """Type checking stubs"""
528
+ pass
529
+
530
+ def _typecheckingstub__9fde6c724c2f94096e73a2a357f4481f0bd702fb413194265669772572245090(
531
+ value: builtins.str,
532
+ ) -> None:
533
+ """Type checking stubs"""
534
+ pass
535
+
536
+ def _typecheckingstub__d77934c8fe141a2f7da0915ddfad6f183a3295e3e3e9c279b458e3a1622de5c6(
537
+ *,
538
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
539
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
540
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
541
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
542
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
543
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
544
+ 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,
545
+ access: typing.Optional[builtins.str] = None,
546
+ family: typing.Optional[builtins.str] = None,
547
+ mac_address: typing.Optional[builtins.str] = None,
548
+ release_policy: typing.Optional[builtins.str] = None,
549
+ zone: typing.Optional[builtins.str] = None,
550
+ ) -> None:
551
+ """Type checking stubs"""
552
+ pass