cdktf-cdktf-provider-upcloud 15.2.1__py3-none-any.whl → 15.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cdktf-cdktf-provider-upcloud might be problematic. Click here for more details.

Files changed (69) hide show
  1. cdktf_cdktf_provider_upcloud/__init__.py +3 -3
  2. cdktf_cdktf_provider_upcloud/_jsii/__init__.py +2 -2
  3. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@15.3.0.jsii.tgz +0 -0
  4. cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +9 -9
  5. cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +12 -7
  6. cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +7 -7
  7. cdktf_cdktf_provider_upcloud/data_upcloud_load_balancer_dns_challenge_domain/__init__.py +4 -4
  8. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_mysql_sessions/__init__.py +22 -22
  9. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +13 -13
  10. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_postgresql_sessions/__init__.py +30 -30
  11. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_redis_sessions/__init__.py +22 -22
  12. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_valkey_sessions/__init__.py +22 -22
  13. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_policies/__init__.py +10 -10
  14. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_regions/__init__.py +7 -7
  15. cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +13 -13
  16. cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +28 -28
  17. cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +7 -7
  18. cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +10 -10
  19. cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +7 -7
  20. cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +38 -38
  21. cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +63 -16
  22. cdktf_cdktf_provider_upcloud/gateway/__init__.py +37 -37
  23. cdktf_cdktf_provider_upcloud/gateway_connection/__init__.py +34 -34
  24. cdktf_cdktf_provider_upcloud/gateway_connection_tunnel/__init__.py +61 -61
  25. cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +34 -34
  26. cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +72 -72
  27. cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +392 -39
  28. cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +46 -46
  29. cdktf_cdktf_provider_upcloud/loadbalancer_backend_tls_config/__init__.py +13 -13
  30. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +25 -25
  31. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +13 -13
  32. cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +33 -33
  33. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +228 -228
  34. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +13 -13
  35. cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +16 -16
  36. cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +28 -28
  37. cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +25 -25
  38. cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +19 -19
  39. cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +210 -210
  40. cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +594 -594
  41. cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +366 -366
  42. cdktf_cdktf_provider_upcloud/managed_database_redis/__init__.py +132 -132
  43. cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +65 -65
  44. cdktf_cdktf_provider_upcloud/managed_database_valkey/__init__.py +135 -135
  45. cdktf_cdktf_provider_upcloud/managed_object_storage/__init__.py +30 -30
  46. cdktf_cdktf_provider_upcloud/managed_object_storage_bucket/__init__.py +10 -10
  47. cdktf_cdktf_provider_upcloud/managed_object_storage_custom_domain/__init__.py +13 -13
  48. cdktf_cdktf_provider_upcloud/managed_object_storage_policy/__init__.py +16 -16
  49. cdktf_cdktf_provider_upcloud/managed_object_storage_user/__init__.py +13 -13
  50. cdktf_cdktf_provider_upcloud/managed_object_storage_user_access_key/__init__.py +16 -16
  51. cdktf_cdktf_provider_upcloud/managed_object_storage_user_policy/__init__.py +16 -16
  52. cdktf_cdktf_provider_upcloud/network/__init__.py +33 -33
  53. cdktf_cdktf_provider_upcloud/network_peering/__init__.py +23 -23
  54. cdktf_cdktf_provider_upcloud/object_storage/__init__.py +30 -30
  55. cdktf_cdktf_provider_upcloud/provider/__init__.py +28 -28
  56. cdktf_cdktf_provider_upcloud/router/__init__.py +19 -19
  57. cdktf_cdktf_provider_upcloud/server/__init__.py +139 -139
  58. cdktf_cdktf_provider_upcloud/server_group/__init__.py +19 -19
  59. cdktf_cdktf_provider_upcloud/storage/__init__.py +51 -51
  60. cdktf_cdktf_provider_upcloud/storage_backup/__init__.py +13 -13
  61. cdktf_cdktf_provider_upcloud/storage_template/__init__.py +13 -13
  62. cdktf_cdktf_provider_upcloud/tag/__init__.py +16 -16
  63. {cdktf_cdktf_provider_upcloud-15.2.1.dist-info → cdktf_cdktf_provider_upcloud-15.3.0.dist-info}/METADATA +5 -5
  64. cdktf_cdktf_provider_upcloud-15.3.0.dist-info/RECORD +68 -0
  65. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@15.2.1.jsii.tgz +0 -0
  66. cdktf_cdktf_provider_upcloud-15.2.1.dist-info/RECORD +0 -68
  67. {cdktf_cdktf_provider_upcloud-15.2.1.dist-info → cdktf_cdktf_provider_upcloud-15.3.0.dist-info}/LICENSE +0 -0
  68. {cdktf_cdktf_provider_upcloud-15.2.1.dist-info → cdktf_cdktf_provider_upcloud-15.3.0.dist-info}/WHEEL +0 -0
  69. {cdktf_cdktf_provider_upcloud-15.2.1.dist-info → cdktf_cdktf_provider_upcloud-15.3.0.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  r'''
2
2
  # `upcloud_loadbalancer`
3
3
 
4
- Refer to the Terraform Registry for docs: [`upcloud_loadbalancer`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer).
4
+ Refer to the Terraform Registry for docs: [`upcloud_loadbalancer`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer).
5
5
  '''
6
6
  from pkgutil import extend_path
7
7
  __path__ = extend_path(__path__, __name__)
@@ -44,7 +44,7 @@ class Loadbalancer(
44
44
  metaclass=jsii.JSIIMeta,
45
45
  jsii_type="@cdktf/provider-upcloud.loadbalancer.Loadbalancer",
46
46
  ):
47
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer upcloud_loadbalancer}.'''
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer upcloud_loadbalancer}.'''
48
48
 
49
49
  def __init__(
50
50
  self,
@@ -55,6 +55,7 @@ class Loadbalancer(
55
55
  plan: builtins.str,
56
56
  zone: builtins.str,
57
57
  configured_status: typing.Optional[builtins.str] = None,
58
+ ip_addresses: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["LoadbalancerIpAddresses", typing.Dict[builtins.str, typing.Any]]]]] = None,
58
59
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
59
60
  maintenance_dow: typing.Optional[builtins.str] = None,
60
61
  maintenance_time: typing.Optional[builtins.str] = None,
@@ -68,19 +69,20 @@ class Loadbalancer(
68
69
  provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
69
70
  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,
70
71
  ) -> None:
71
- '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer upcloud_loadbalancer} Resource.
72
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer upcloud_loadbalancer} Resource.
72
73
 
73
74
  :param scope: The scope in which to define this construct.
74
75
  :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
75
- :param name: The name of the service. Must be unique within customer account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#name Loadbalancer#name}
76
- :param plan: Plan which the service will have. You can list available load balancer plans with ``upctl loadbalancer plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#plan Loadbalancer#plan}
77
- :param zone: Zone in which the service will be hosted, e.g. ``fi-hel1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#zone Loadbalancer#zone}
78
- :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#configured_status Loadbalancer#configured_status}
79
- :param labels: User defined key-value pairs to classify the load balancer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#labels Loadbalancer#labels}
80
- :param maintenance_dow: The day of the week on which maintenance will be performed. If not provided, we will randomly select a weekend day. Valid values ``monday|tuesday|wednesday|thursday|friday|saturday|sunday``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#maintenance_dow Loadbalancer#maintenance_dow}
81
- :param maintenance_time: The time at which the maintenance will begin in UTC. A 2-hour timeframe has been allocated for maintenance. During this period, the multi-node production plans will not experience any downtime, while the one-node plans will have a downtime of 1-2 minutes. If not provided, we will randomly select an off-peak time. Needs to be a valid time format in UTC HH:MM:SSZ, for example ``20:01:01Z``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#maintenance_time Loadbalancer#maintenance_time}
82
- :param network: Private network UUID where traffic will be routed. Must reside in load balancer zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#network Loadbalancer#network}
83
- :param networks: networks block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#networks Loadbalancer#networks}
76
+ :param name: The name of the service. Must be unique within customer account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#name Loadbalancer#name}
77
+ :param plan: Plan which the service will have. You can list available load balancer plans with ``upctl loadbalancer plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#plan Loadbalancer#plan}
78
+ :param zone: Zone in which the service will be hosted, e.g. ``fi-hel1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#zone Loadbalancer#zone}
79
+ :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#configured_status Loadbalancer#configured_status}
80
+ :param ip_addresses: Floating IP addresses connected to the load balancer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#ip_addresses Loadbalancer#ip_addresses}
81
+ :param labels: User defined key-value pairs to classify the load balancer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#labels Loadbalancer#labels}
82
+ :param maintenance_dow: The day of the week on which maintenance will be performed. If not provided, we will randomly select a weekend day. Valid values ``monday|tuesday|wednesday|thursday|friday|saturday|sunday``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#maintenance_dow Loadbalancer#maintenance_dow}
83
+ :param maintenance_time: The time at which the maintenance will begin in UTC. A 2-hour timeframe has been allocated for maintenance. During this period, the multi-node production plans will not experience any downtime, while the one-node plans will have a downtime of 1-2 minutes. If not provided, we will randomly select an off-peak time. Needs to be a valid time format in UTC HH:MM:SSZ, for example ``20:01:01Z``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#maintenance_time Loadbalancer#maintenance_time}
84
+ :param network: Private network UUID where traffic will be routed. Must reside in load balancer zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#network Loadbalancer#network}
85
+ :param networks: networks block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#networks Loadbalancer#networks}
84
86
  :param connection:
85
87
  :param count:
86
88
  :param depends_on:
@@ -98,6 +100,7 @@ class Loadbalancer(
98
100
  plan=plan,
99
101
  zone=zone,
100
102
  configured_status=configured_status,
103
+ ip_addresses=ip_addresses,
101
104
  labels=labels,
102
105
  maintenance_dow=maintenance_dow,
103
106
  maintenance_time=maintenance_time,
@@ -127,7 +130,7 @@ class Loadbalancer(
127
130
 
128
131
  :param scope: The scope in which to define this construct.
129
132
  :param import_to_id: The construct id used in the generated config for the Loadbalancer to import.
130
- :param import_from_id: The id of the existing Loadbalancer that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#import import section} in the documentation of this resource for the id to use
133
+ :param import_from_id: The id of the existing Loadbalancer that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#import import section} in the documentation of this resource for the id to use
131
134
  :param provider: ? Optional instance of the provider where the Loadbalancer to import is found.
132
135
  '''
133
136
  if __debug__:
@@ -138,6 +141,19 @@ class Loadbalancer(
138
141
  check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
139
142
  return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
140
143
 
144
+ @jsii.member(jsii_name="putIpAddresses")
145
+ def put_ip_addresses(
146
+ self,
147
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["LoadbalancerIpAddresses", typing.Dict[builtins.str, typing.Any]]]],
148
+ ) -> None:
149
+ '''
150
+ :param value: -
151
+ '''
152
+ if __debug__:
153
+ type_hints = typing.get_type_hints(_typecheckingstub__15183ab3718e8b7643cad5b4cfb95ef70693eb9465cb728984c231199de93f4b)
154
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
155
+ return typing.cast(None, jsii.invoke(self, "putIpAddresses", [value]))
156
+
141
157
  @jsii.member(jsii_name="putNetworks")
142
158
  def put_networks(
143
159
  self,
@@ -155,6 +171,10 @@ class Loadbalancer(
155
171
  def reset_configured_status(self) -> None:
156
172
  return typing.cast(None, jsii.invoke(self, "resetConfiguredStatus", []))
157
173
 
174
+ @jsii.member(jsii_name="resetIpAddresses")
175
+ def reset_ip_addresses(self) -> None:
176
+ return typing.cast(None, jsii.invoke(self, "resetIpAddresses", []))
177
+
158
178
  @jsii.member(jsii_name="resetLabels")
159
179
  def reset_labels(self) -> None:
160
180
  return typing.cast(None, jsii.invoke(self, "resetLabels", []))
@@ -208,6 +228,11 @@ class Loadbalancer(
208
228
  def id(self) -> builtins.str:
209
229
  return typing.cast(builtins.str, jsii.get(self, "id"))
210
230
 
231
+ @builtins.property
232
+ @jsii.member(jsii_name="ipAddresses")
233
+ def ip_addresses(self) -> "LoadbalancerIpAddressesList":
234
+ return typing.cast("LoadbalancerIpAddressesList", jsii.get(self, "ipAddresses"))
235
+
211
236
  @builtins.property
212
237
  @jsii.member(jsii_name="networks")
213
238
  def networks(self) -> "LoadbalancerNetworksList":
@@ -233,6 +258,13 @@ class Loadbalancer(
233
258
  def configured_status_input(self) -> typing.Optional[builtins.str]:
234
259
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "configuredStatusInput"))
235
260
 
261
+ @builtins.property
262
+ @jsii.member(jsii_name="ipAddressesInput")
263
+ def ip_addresses_input(
264
+ self,
265
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["LoadbalancerIpAddresses"]]]:
266
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["LoadbalancerIpAddresses"]]], jsii.get(self, "ipAddressesInput"))
267
+
236
268
  @builtins.property
237
269
  @jsii.member(jsii_name="labelsInput")
238
270
  def labels_input(
@@ -389,6 +421,7 @@ class Loadbalancer(
389
421
  "plan": "plan",
390
422
  "zone": "zone",
391
423
  "configured_status": "configuredStatus",
424
+ "ip_addresses": "ipAddresses",
392
425
  "labels": "labels",
393
426
  "maintenance_dow": "maintenanceDow",
394
427
  "maintenance_time": "maintenanceTime",
@@ -411,6 +444,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
411
444
  plan: builtins.str,
412
445
  zone: builtins.str,
413
446
  configured_status: typing.Optional[builtins.str] = None,
447
+ ip_addresses: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["LoadbalancerIpAddresses", typing.Dict[builtins.str, typing.Any]]]]] = None,
414
448
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
415
449
  maintenance_dow: typing.Optional[builtins.str] = None,
416
450
  maintenance_time: typing.Optional[builtins.str] = None,
@@ -425,15 +459,16 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
425
459
  :param lifecycle:
426
460
  :param provider:
427
461
  :param provisioners:
428
- :param name: The name of the service. Must be unique within customer account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#name Loadbalancer#name}
429
- :param plan: Plan which the service will have. You can list available load balancer plans with ``upctl loadbalancer plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#plan Loadbalancer#plan}
430
- :param zone: Zone in which the service will be hosted, e.g. ``fi-hel1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#zone Loadbalancer#zone}
431
- :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#configured_status Loadbalancer#configured_status}
432
- :param labels: User defined key-value pairs to classify the load balancer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#labels Loadbalancer#labels}
433
- :param maintenance_dow: The day of the week on which maintenance will be performed. If not provided, we will randomly select a weekend day. Valid values ``monday|tuesday|wednesday|thursday|friday|saturday|sunday``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#maintenance_dow Loadbalancer#maintenance_dow}
434
- :param maintenance_time: The time at which the maintenance will begin in UTC. A 2-hour timeframe has been allocated for maintenance. During this period, the multi-node production plans will not experience any downtime, while the one-node plans will have a downtime of 1-2 minutes. If not provided, we will randomly select an off-peak time. Needs to be a valid time format in UTC HH:MM:SSZ, for example ``20:01:01Z``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#maintenance_time Loadbalancer#maintenance_time}
435
- :param network: Private network UUID where traffic will be routed. Must reside in load balancer zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#network Loadbalancer#network}
436
- :param networks: networks block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#networks Loadbalancer#networks}
462
+ :param name: The name of the service. Must be unique within customer account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#name Loadbalancer#name}
463
+ :param plan: Plan which the service will have. You can list available load balancer plans with ``upctl loadbalancer plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#plan Loadbalancer#plan}
464
+ :param zone: Zone in which the service will be hosted, e.g. ``fi-hel1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#zone Loadbalancer#zone}
465
+ :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#configured_status Loadbalancer#configured_status}
466
+ :param ip_addresses: Floating IP addresses connected to the load balancer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#ip_addresses Loadbalancer#ip_addresses}
467
+ :param labels: User defined key-value pairs to classify the load balancer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#labels Loadbalancer#labels}
468
+ :param maintenance_dow: The day of the week on which maintenance will be performed. If not provided, we will randomly select a weekend day. Valid values ``monday|tuesday|wednesday|thursday|friday|saturday|sunday``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#maintenance_dow Loadbalancer#maintenance_dow}
469
+ :param maintenance_time: The time at which the maintenance will begin in UTC. A 2-hour timeframe has been allocated for maintenance. During this period, the multi-node production plans will not experience any downtime, while the one-node plans will have a downtime of 1-2 minutes. If not provided, we will randomly select an off-peak time. Needs to be a valid time format in UTC HH:MM:SSZ, for example ``20:01:01Z``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#maintenance_time Loadbalancer#maintenance_time}
470
+ :param network: Private network UUID where traffic will be routed. Must reside in load balancer zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#network Loadbalancer#network}
471
+ :param networks: networks block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#networks Loadbalancer#networks}
437
472
  '''
438
473
  if isinstance(lifecycle, dict):
439
474
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
@@ -450,6 +485,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
450
485
  check_type(argname="argument plan", value=plan, expected_type=type_hints["plan"])
451
486
  check_type(argname="argument zone", value=zone, expected_type=type_hints["zone"])
452
487
  check_type(argname="argument configured_status", value=configured_status, expected_type=type_hints["configured_status"])
488
+ check_type(argname="argument ip_addresses", value=ip_addresses, expected_type=type_hints["ip_addresses"])
453
489
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
454
490
  check_type(argname="argument maintenance_dow", value=maintenance_dow, expected_type=type_hints["maintenance_dow"])
455
491
  check_type(argname="argument maintenance_time", value=maintenance_time, expected_type=type_hints["maintenance_time"])
@@ -476,6 +512,8 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
476
512
  self._values["provisioners"] = provisioners
477
513
  if configured_status is not None:
478
514
  self._values["configured_status"] = configured_status
515
+ if ip_addresses is not None:
516
+ self._values["ip_addresses"] = ip_addresses
479
517
  if labels is not None:
480
518
  self._values["labels"] = labels
481
519
  if maintenance_dow is not None:
@@ -555,7 +593,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
555
593
  def name(self) -> builtins.str:
556
594
  '''The name of the service. Must be unique within customer account.
557
595
 
558
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#name Loadbalancer#name}
596
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#name Loadbalancer#name}
559
597
  '''
560
598
  result = self._values.get("name")
561
599
  assert result is not None, "Required property 'name' is missing"
@@ -565,7 +603,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
565
603
  def plan(self) -> builtins.str:
566
604
  '''Plan which the service will have. You can list available load balancer plans with ``upctl loadbalancer plans``.
567
605
 
568
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#plan Loadbalancer#plan}
606
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#plan Loadbalancer#plan}
569
607
  '''
570
608
  result = self._values.get("plan")
571
609
  assert result is not None, "Required property 'plan' is missing"
@@ -575,7 +613,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
575
613
  def zone(self) -> builtins.str:
576
614
  '''Zone in which the service will be hosted, e.g. ``fi-hel1``. You can list available zones with ``upctl zone list``.
577
615
 
578
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#zone Loadbalancer#zone}
616
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#zone Loadbalancer#zone}
579
617
  '''
580
618
  result = self._values.get("zone")
581
619
  assert result is not None, "Required property 'zone' is missing"
@@ -585,16 +623,27 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
585
623
  def configured_status(self) -> typing.Optional[builtins.str]:
586
624
  '''The service configured status indicates the service's current intended status. Managed by the customer.
587
625
 
588
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#configured_status Loadbalancer#configured_status}
626
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#configured_status Loadbalancer#configured_status}
589
627
  '''
590
628
  result = self._values.get("configured_status")
591
629
  return typing.cast(typing.Optional[builtins.str], result)
592
630
 
631
+ @builtins.property
632
+ def ip_addresses(
633
+ self,
634
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["LoadbalancerIpAddresses"]]]:
635
+ '''Floating IP addresses connected to the load balancer.
636
+
637
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#ip_addresses Loadbalancer#ip_addresses}
638
+ '''
639
+ result = self._values.get("ip_addresses")
640
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["LoadbalancerIpAddresses"]]], result)
641
+
593
642
  @builtins.property
594
643
  def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
595
644
  '''User defined key-value pairs to classify the load balancer.
596
645
 
597
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#labels Loadbalancer#labels}
646
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#labels Loadbalancer#labels}
598
647
  '''
599
648
  result = self._values.get("labels")
600
649
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
@@ -605,7 +654,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
605
654
 
606
655
  If not provided, we will randomly select a weekend day. Valid values ``monday|tuesday|wednesday|thursday|friday|saturday|sunday``.
607
656
 
608
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#maintenance_dow Loadbalancer#maintenance_dow}
657
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#maintenance_dow Loadbalancer#maintenance_dow}
609
658
  '''
610
659
  result = self._values.get("maintenance_dow")
611
660
  return typing.cast(typing.Optional[builtins.str], result)
@@ -616,7 +665,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
616
665
 
617
666
  A 2-hour timeframe has been allocated for maintenance. During this period, the multi-node production plans will not experience any downtime, while the one-node plans will have a downtime of 1-2 minutes. If not provided, we will randomly select an off-peak time. Needs to be a valid time format in UTC HH:MM:SSZ, for example ``20:01:01Z``.
618
667
 
619
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#maintenance_time Loadbalancer#maintenance_time}
668
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#maintenance_time Loadbalancer#maintenance_time}
620
669
  '''
621
670
  result = self._values.get("maintenance_time")
622
671
  return typing.cast(typing.Optional[builtins.str], result)
@@ -625,7 +674,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
625
674
  def network(self) -> typing.Optional[builtins.str]:
626
675
  '''Private network UUID where traffic will be routed. Must reside in load balancer zone.
627
676
 
628
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#network Loadbalancer#network}
677
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#network Loadbalancer#network}
629
678
  '''
630
679
  result = self._values.get("network")
631
680
  return typing.cast(typing.Optional[builtins.str], result)
@@ -636,7 +685,7 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
636
685
  ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["LoadbalancerNetworks"]]]:
637
686
  '''networks block.
638
687
 
639
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#networks Loadbalancer#networks}
688
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#networks Loadbalancer#networks}
640
689
  '''
641
690
  result = self._values.get("networks")
642
691
  return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["LoadbalancerNetworks"]]], result)
@@ -653,6 +702,226 @@ class LoadbalancerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
653
702
  )
654
703
 
655
704
 
705
+ @jsii.data_type(
706
+ jsii_type="@cdktf/provider-upcloud.loadbalancer.LoadbalancerIpAddresses",
707
+ jsii_struct_bases=[],
708
+ name_mapping={"address": "address", "network_name": "networkName"},
709
+ )
710
+ class LoadbalancerIpAddresses:
711
+ def __init__(self, *, address: builtins.str, network_name: builtins.str) -> None:
712
+ '''
713
+ :param address: Floating IP address to attach to the load balancer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#address Loadbalancer#address}
714
+ :param network_name: Name of the network where to attach the IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#network_name Loadbalancer#network_name}
715
+ '''
716
+ if __debug__:
717
+ type_hints = typing.get_type_hints(_typecheckingstub__ce75b402b9b445bf208d353f67271a9c8b0a5b6d262366abe7b2128c091c8484)
718
+ check_type(argname="argument address", value=address, expected_type=type_hints["address"])
719
+ check_type(argname="argument network_name", value=network_name, expected_type=type_hints["network_name"])
720
+ self._values: typing.Dict[builtins.str, typing.Any] = {
721
+ "address": address,
722
+ "network_name": network_name,
723
+ }
724
+
725
+ @builtins.property
726
+ def address(self) -> builtins.str:
727
+ '''Floating IP address to attach to the load balancer.
728
+
729
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#address Loadbalancer#address}
730
+ '''
731
+ result = self._values.get("address")
732
+ assert result is not None, "Required property 'address' is missing"
733
+ return typing.cast(builtins.str, result)
734
+
735
+ @builtins.property
736
+ def network_name(self) -> builtins.str:
737
+ '''Name of the network where to attach the IP address.
738
+
739
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#network_name Loadbalancer#network_name}
740
+ '''
741
+ result = self._values.get("network_name")
742
+ assert result is not None, "Required property 'network_name' is missing"
743
+ return typing.cast(builtins.str, result)
744
+
745
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
746
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
747
+
748
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
749
+ return not (rhs == self)
750
+
751
+ def __repr__(self) -> str:
752
+ return "LoadbalancerIpAddresses(%s)" % ", ".join(
753
+ k + "=" + repr(v) for k, v in self._values.items()
754
+ )
755
+
756
+
757
+ class LoadbalancerIpAddressesList(
758
+ _cdktf_9a9027ec.ComplexList,
759
+ metaclass=jsii.JSIIMeta,
760
+ jsii_type="@cdktf/provider-upcloud.loadbalancer.LoadbalancerIpAddressesList",
761
+ ):
762
+ def __init__(
763
+ self,
764
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
765
+ terraform_attribute: builtins.str,
766
+ wraps_set: builtins.bool,
767
+ ) -> None:
768
+ '''
769
+ :param terraform_resource: The parent resource.
770
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
771
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
772
+ '''
773
+ if __debug__:
774
+ type_hints = typing.get_type_hints(_typecheckingstub__f02af0b454439c0c9d5dc21d84e6300bc87a531f60cfb4c82bbecb09d2d977e9)
775
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
776
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
777
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
778
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
779
+
780
+ @jsii.member(jsii_name="get")
781
+ def get(self, index: jsii.Number) -> "LoadbalancerIpAddressesOutputReference":
782
+ '''
783
+ :param index: the index of the item to return.
784
+ '''
785
+ if __debug__:
786
+ type_hints = typing.get_type_hints(_typecheckingstub__2d9524384ac26faecd34939defe9ce0e85e80861c29684ea2ce5c67450a9f3ec)
787
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
788
+ return typing.cast("LoadbalancerIpAddressesOutputReference", jsii.invoke(self, "get", [index]))
789
+
790
+ @builtins.property
791
+ @jsii.member(jsii_name="terraformAttribute")
792
+ def _terraform_attribute(self) -> builtins.str:
793
+ '''The attribute on the parent resource this class is referencing.'''
794
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
795
+
796
+ @_terraform_attribute.setter
797
+ def _terraform_attribute(self, value: builtins.str) -> None:
798
+ if __debug__:
799
+ type_hints = typing.get_type_hints(_typecheckingstub__0d086bd51cc1912b29ed32c8f058ec769fed8ff8031af3f2951a130318bf194f)
800
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
801
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
802
+
803
+ @builtins.property
804
+ @jsii.member(jsii_name="terraformResource")
805
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
806
+ '''The parent resource.'''
807
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
808
+
809
+ @_terraform_resource.setter
810
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
811
+ if __debug__:
812
+ type_hints = typing.get_type_hints(_typecheckingstub__e4a1afc83cc3f256ab317cae59f6ea76a50de98128ce23b691dc9488cea01e98)
813
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
814
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
815
+
816
+ @builtins.property
817
+ @jsii.member(jsii_name="wrapsSet")
818
+ def _wraps_set(self) -> builtins.bool:
819
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
820
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
821
+
822
+ @_wraps_set.setter
823
+ def _wraps_set(self, value: builtins.bool) -> None:
824
+ if __debug__:
825
+ type_hints = typing.get_type_hints(_typecheckingstub__6f1a9d964249420a1551ef1d4e41b7cd4eaea86ea2d89c54265473e3da03b662)
826
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
827
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
828
+
829
+ @builtins.property
830
+ @jsii.member(jsii_name="internalValue")
831
+ def internal_value(
832
+ self,
833
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[LoadbalancerIpAddresses]]]:
834
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[LoadbalancerIpAddresses]]], jsii.get(self, "internalValue"))
835
+
836
+ @internal_value.setter
837
+ def internal_value(
838
+ self,
839
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[LoadbalancerIpAddresses]]],
840
+ ) -> None:
841
+ if __debug__:
842
+ type_hints = typing.get_type_hints(_typecheckingstub__7f43c3005f9a58d9f6eebf02d9c867242db10f1b27c199fad87a3a0b97c67363)
843
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
844
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
845
+
846
+
847
+ class LoadbalancerIpAddressesOutputReference(
848
+ _cdktf_9a9027ec.ComplexObject,
849
+ metaclass=jsii.JSIIMeta,
850
+ jsii_type="@cdktf/provider-upcloud.loadbalancer.LoadbalancerIpAddressesOutputReference",
851
+ ):
852
+ def __init__(
853
+ self,
854
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
855
+ terraform_attribute: builtins.str,
856
+ complex_object_index: jsii.Number,
857
+ complex_object_is_from_set: builtins.bool,
858
+ ) -> None:
859
+ '''
860
+ :param terraform_resource: The parent resource.
861
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
862
+ :param complex_object_index: the index of this item in the list.
863
+ :param complex_object_is_from_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
864
+ '''
865
+ if __debug__:
866
+ type_hints = typing.get_type_hints(_typecheckingstub__3c765a7717fcf849730a03a5a582308e630407d00a928026e5a7cb461a750cb7)
867
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
868
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
869
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
870
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
871
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
872
+
873
+ @builtins.property
874
+ @jsii.member(jsii_name="addressInput")
875
+ def address_input(self) -> typing.Optional[builtins.str]:
876
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "addressInput"))
877
+
878
+ @builtins.property
879
+ @jsii.member(jsii_name="networkNameInput")
880
+ def network_name_input(self) -> typing.Optional[builtins.str]:
881
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "networkNameInput"))
882
+
883
+ @builtins.property
884
+ @jsii.member(jsii_name="address")
885
+ def address(self) -> builtins.str:
886
+ return typing.cast(builtins.str, jsii.get(self, "address"))
887
+
888
+ @address.setter
889
+ def address(self, value: builtins.str) -> None:
890
+ if __debug__:
891
+ type_hints = typing.get_type_hints(_typecheckingstub__c4aa11035f1f5ff1f8a07413c95bcf0a2977ee12aec55bf533ef2635a1491ed8)
892
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
893
+ jsii.set(self, "address", value) # pyright: ignore[reportArgumentType]
894
+
895
+ @builtins.property
896
+ @jsii.member(jsii_name="networkName")
897
+ def network_name(self) -> builtins.str:
898
+ return typing.cast(builtins.str, jsii.get(self, "networkName"))
899
+
900
+ @network_name.setter
901
+ def network_name(self, value: builtins.str) -> None:
902
+ if __debug__:
903
+ type_hints = typing.get_type_hints(_typecheckingstub__390c5d6b38a2fa66e43b947f09e1a5db505af26586f714a73c6de31ff58d4d66)
904
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
905
+ jsii.set(self, "networkName", value) # pyright: ignore[reportArgumentType]
906
+
907
+ @builtins.property
908
+ @jsii.member(jsii_name="internalValue")
909
+ def internal_value(
910
+ self,
911
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, LoadbalancerIpAddresses]]:
912
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, LoadbalancerIpAddresses]], jsii.get(self, "internalValue"))
913
+
914
+ @internal_value.setter
915
+ def internal_value(
916
+ self,
917
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, LoadbalancerIpAddresses]],
918
+ ) -> None:
919
+ if __debug__:
920
+ type_hints = typing.get_type_hints(_typecheckingstub__0079fce14c5d632978d9fc85a39b38951590a039ca99d93b8b8f873c37132c2a)
921
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
922
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
923
+
924
+
656
925
  @jsii.data_type(
657
926
  jsii_type="@cdktf/provider-upcloud.loadbalancer.LoadbalancerNetworks",
658
927
  jsii_struct_bases=[],
@@ -673,10 +942,10 @@ class LoadbalancerNetworks:
673
942
  network: typing.Optional[builtins.str] = None,
674
943
  ) -> None:
675
944
  '''
676
- :param family: Network family. Currently only ``IPv4`` is supported. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#family Loadbalancer#family}
677
- :param name: The name of the network. Must be unique within the service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#name Loadbalancer#name}
678
- :param type: The type of the network. Only one public network can be attached and at least one private network must be attached. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#type Loadbalancer#type}
679
- :param network: Private network UUID. Required for private networks and must reside in loadbalancer zone. For public network the field should be omitted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#network Loadbalancer#network}
945
+ :param family: Network family. Currently only ``IPv4`` is supported. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#family Loadbalancer#family}
946
+ :param name: The name of the network. Must be unique within the service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#name Loadbalancer#name}
947
+ :param type: The type of the network. Only one public network can be attached and at least one private network must be attached. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#type Loadbalancer#type}
948
+ :param network: Private network UUID. Required for private networks and must reside in loadbalancer zone. For public network the field should be omitted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#network Loadbalancer#network}
680
949
  '''
681
950
  if __debug__:
682
951
  type_hints = typing.get_type_hints(_typecheckingstub__f7bc3b31db01be8fcdb6dd15ccf511434856f0866752f9ec14fbf89082bb48ed)
@@ -696,7 +965,7 @@ class LoadbalancerNetworks:
696
965
  def family(self) -> builtins.str:
697
966
  '''Network family. Currently only ``IPv4`` is supported.
698
967
 
699
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#family Loadbalancer#family}
968
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#family Loadbalancer#family}
700
969
  '''
701
970
  result = self._values.get("family")
702
971
  assert result is not None, "Required property 'family' is missing"
@@ -706,7 +975,7 @@ class LoadbalancerNetworks:
706
975
  def name(self) -> builtins.str:
707
976
  '''The name of the network. Must be unique within the service.
708
977
 
709
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#name Loadbalancer#name}
978
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#name Loadbalancer#name}
710
979
  '''
711
980
  result = self._values.get("name")
712
981
  assert result is not None, "Required property 'name' is missing"
@@ -718,7 +987,7 @@ class LoadbalancerNetworks:
718
987
 
719
988
  Only one public network can be attached and at least one private network must be attached.
720
989
 
721
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#type Loadbalancer#type}
990
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#type Loadbalancer#type}
722
991
  '''
723
992
  result = self._values.get("type")
724
993
  assert result is not None, "Required property 'type' is missing"
@@ -730,7 +999,7 @@ class LoadbalancerNetworks:
730
999
 
731
1000
  Required for private networks and must reside in loadbalancer zone. For public network the field should be omitted.
732
1001
 
733
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.24.1/docs/resources/loadbalancer#network Loadbalancer#network}
1002
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.25.0/docs/resources/loadbalancer#network Loadbalancer#network}
734
1003
  '''
735
1004
  result = self._values.get("network")
736
1005
  return typing.cast(typing.Optional[builtins.str], result)
@@ -1406,6 +1675,9 @@ class LoadbalancerNodesOutputReference(
1406
1675
  __all__ = [
1407
1676
  "Loadbalancer",
1408
1677
  "LoadbalancerConfig",
1678
+ "LoadbalancerIpAddresses",
1679
+ "LoadbalancerIpAddressesList",
1680
+ "LoadbalancerIpAddressesOutputReference",
1409
1681
  "LoadbalancerNetworks",
1410
1682
  "LoadbalancerNetworksList",
1411
1683
  "LoadbalancerNetworksOutputReference",
@@ -1430,6 +1702,7 @@ def _typecheckingstub__e082db6bc1d4641fe4f5a8395ca7b260d01349823ad7c840d9b912e17
1430
1702
  plan: builtins.str,
1431
1703
  zone: builtins.str,
1432
1704
  configured_status: typing.Optional[builtins.str] = None,
1705
+ ip_addresses: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[LoadbalancerIpAddresses, typing.Dict[builtins.str, typing.Any]]]]] = None,
1433
1706
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1434
1707
  maintenance_dow: typing.Optional[builtins.str] = None,
1435
1708
  maintenance_time: typing.Optional[builtins.str] = None,
@@ -1455,6 +1728,12 @@ def _typecheckingstub__a06fcb82995d3acc7574b59e5d513376cd60f2da3a90ef6d1363913a4
1455
1728
  """Type checking stubs"""
1456
1729
  pass
1457
1730
 
1731
+ def _typecheckingstub__15183ab3718e8b7643cad5b4cfb95ef70693eb9465cb728984c231199de93f4b(
1732
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[LoadbalancerIpAddresses, typing.Dict[builtins.str, typing.Any]]]],
1733
+ ) -> None:
1734
+ """Type checking stubs"""
1735
+ pass
1736
+
1458
1737
  def _typecheckingstub__7ca67cf47cacc4ff22593553aebd9e6a0d0ede15d0f9f321237571ad1163bb77(
1459
1738
  value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[LoadbalancerNetworks, typing.Dict[builtins.str, typing.Any]]]],
1460
1739
  ) -> None:
@@ -1522,6 +1801,7 @@ def _typecheckingstub__6ad78abeb447854e5bbf7e2b28bbd5ad83ea1471fcd2bfe5ce445ca29
1522
1801
  plan: builtins.str,
1523
1802
  zone: builtins.str,
1524
1803
  configured_status: typing.Optional[builtins.str] = None,
1804
+ ip_addresses: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[LoadbalancerIpAddresses, typing.Dict[builtins.str, typing.Any]]]]] = None,
1525
1805
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1526
1806
  maintenance_dow: typing.Optional[builtins.str] = None,
1527
1807
  maintenance_time: typing.Optional[builtins.str] = None,
@@ -1531,6 +1811,79 @@ def _typecheckingstub__6ad78abeb447854e5bbf7e2b28bbd5ad83ea1471fcd2bfe5ce445ca29
1531
1811
  """Type checking stubs"""
1532
1812
  pass
1533
1813
 
1814
+ def _typecheckingstub__ce75b402b9b445bf208d353f67271a9c8b0a5b6d262366abe7b2128c091c8484(
1815
+ *,
1816
+ address: builtins.str,
1817
+ network_name: builtins.str,
1818
+ ) -> None:
1819
+ """Type checking stubs"""
1820
+ pass
1821
+
1822
+ def _typecheckingstub__f02af0b454439c0c9d5dc21d84e6300bc87a531f60cfb4c82bbecb09d2d977e9(
1823
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1824
+ terraform_attribute: builtins.str,
1825
+ wraps_set: builtins.bool,
1826
+ ) -> None:
1827
+ """Type checking stubs"""
1828
+ pass
1829
+
1830
+ def _typecheckingstub__2d9524384ac26faecd34939defe9ce0e85e80861c29684ea2ce5c67450a9f3ec(
1831
+ index: jsii.Number,
1832
+ ) -> None:
1833
+ """Type checking stubs"""
1834
+ pass
1835
+
1836
+ def _typecheckingstub__0d086bd51cc1912b29ed32c8f058ec769fed8ff8031af3f2951a130318bf194f(
1837
+ value: builtins.str,
1838
+ ) -> None:
1839
+ """Type checking stubs"""
1840
+ pass
1841
+
1842
+ def _typecheckingstub__e4a1afc83cc3f256ab317cae59f6ea76a50de98128ce23b691dc9488cea01e98(
1843
+ value: _cdktf_9a9027ec.IInterpolatingParent,
1844
+ ) -> None:
1845
+ """Type checking stubs"""
1846
+ pass
1847
+
1848
+ def _typecheckingstub__6f1a9d964249420a1551ef1d4e41b7cd4eaea86ea2d89c54265473e3da03b662(
1849
+ value: builtins.bool,
1850
+ ) -> None:
1851
+ """Type checking stubs"""
1852
+ pass
1853
+
1854
+ def _typecheckingstub__7f43c3005f9a58d9f6eebf02d9c867242db10f1b27c199fad87a3a0b97c67363(
1855
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[LoadbalancerIpAddresses]]],
1856
+ ) -> None:
1857
+ """Type checking stubs"""
1858
+ pass
1859
+
1860
+ def _typecheckingstub__3c765a7717fcf849730a03a5a582308e630407d00a928026e5a7cb461a750cb7(
1861
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1862
+ terraform_attribute: builtins.str,
1863
+ complex_object_index: jsii.Number,
1864
+ complex_object_is_from_set: builtins.bool,
1865
+ ) -> None:
1866
+ """Type checking stubs"""
1867
+ pass
1868
+
1869
+ def _typecheckingstub__c4aa11035f1f5ff1f8a07413c95bcf0a2977ee12aec55bf533ef2635a1491ed8(
1870
+ value: builtins.str,
1871
+ ) -> None:
1872
+ """Type checking stubs"""
1873
+ pass
1874
+
1875
+ def _typecheckingstub__390c5d6b38a2fa66e43b947f09e1a5db505af26586f714a73c6de31ff58d4d66(
1876
+ value: builtins.str,
1877
+ ) -> None:
1878
+ """Type checking stubs"""
1879
+ pass
1880
+
1881
+ def _typecheckingstub__0079fce14c5d632978d9fc85a39b38951590a039ca99d93b8b8f873c37132c2a(
1882
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, LoadbalancerIpAddresses]],
1883
+ ) -> None:
1884
+ """Type checking stubs"""
1885
+ pass
1886
+
1534
1887
  def _typecheckingstub__f7bc3b31db01be8fcdb6dd15ccf511434856f0866752f9ec14fbf89082bb48ed(
1535
1888
  *,
1536
1889
  family: builtins.str,