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,633 @@
1
+ r'''
2
+ # `upcloud_loadbalancer_static_backend_member`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_loadbalancer_static_backend_member`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member).
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 LoadbalancerStaticBackendMember(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.loadbalancerStaticBackendMember.LoadbalancerStaticBackendMember",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member upcloud_loadbalancer_static_backend_member}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ backend: builtins.str,
55
+ max_sessions: jsii.Number,
56
+ name: builtins.str,
57
+ weight: jsii.Number,
58
+ enabled: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
59
+ ip: typing.Optional[builtins.str] = None,
60
+ port: typing.Optional[jsii.Number] = None,
61
+ 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,
62
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
63
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
64
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
65
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
66
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
67
+ 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,
68
+ ) -> None:
69
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member upcloud_loadbalancer_static_backend_member} Resource.
70
+
71
+ :param scope: The scope in which to define this construct.
72
+ :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
73
+ :param backend: ID of the load balancer backend to which the member is connected. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#backend LoadbalancerStaticBackendMember#backend}
74
+ :param max_sessions: Maximum number of sessions before queueing. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#max_sessions LoadbalancerStaticBackendMember#max_sessions}
75
+ :param name: The name of the member. Must be unique within within the load balancer backend. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#name LoadbalancerStaticBackendMember#name}
76
+ :param weight: Weight of the member. The higher the weight, the more traffic the member receives. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#weight LoadbalancerStaticBackendMember#weight}
77
+ :param enabled: Indicates if the member is enabled. Disabled members are excluded from load balancing. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#enabled LoadbalancerStaticBackendMember#enabled}
78
+ :param ip: Optional fallback IP address in case of failure on DNS resolving. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#ip LoadbalancerStaticBackendMember#ip}
79
+ :param port: Server port. Port is optional and can be specified in DNS SRV record. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#port LoadbalancerStaticBackendMember#port}
80
+ :param connection:
81
+ :param count:
82
+ :param depends_on:
83
+ :param for_each:
84
+ :param lifecycle:
85
+ :param provider:
86
+ :param provisioners:
87
+ '''
88
+ if __debug__:
89
+ type_hints = typing.get_type_hints(_typecheckingstub__0093c421ecfc42e8e6dd6bf51f82ca5c5c98fde120c10799c3749e9640eabbee)
90
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
91
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
92
+ config = LoadbalancerStaticBackendMemberConfig(
93
+ backend=backend,
94
+ max_sessions=max_sessions,
95
+ name=name,
96
+ weight=weight,
97
+ enabled=enabled,
98
+ ip=ip,
99
+ port=port,
100
+ connection=connection,
101
+ count=count,
102
+ depends_on=depends_on,
103
+ for_each=for_each,
104
+ lifecycle=lifecycle,
105
+ provider=provider,
106
+ provisioners=provisioners,
107
+ )
108
+
109
+ jsii.create(self.__class__, self, [scope, id, config])
110
+
111
+ @jsii.member(jsii_name="generateConfigForImport")
112
+ @builtins.classmethod
113
+ def generate_config_for_import(
114
+ cls,
115
+ scope: _constructs_77d1e7e8.Construct,
116
+ import_to_id: builtins.str,
117
+ import_from_id: builtins.str,
118
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
119
+ ) -> _cdktf_9a9027ec.ImportableResource:
120
+ '''Generates CDKTF code for importing a LoadbalancerStaticBackendMember resource upon running "cdktf plan ".
121
+
122
+ :param scope: The scope in which to define this construct.
123
+ :param import_to_id: The construct id used in the generated config for the LoadbalancerStaticBackendMember to import.
124
+ :param import_from_id: The id of the existing LoadbalancerStaticBackendMember that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#import import section} in the documentation of this resource for the id to use
125
+ :param provider: ? Optional instance of the provider where the LoadbalancerStaticBackendMember to import is found.
126
+ '''
127
+ if __debug__:
128
+ type_hints = typing.get_type_hints(_typecheckingstub__5cdc62ba614f1912735788517ff09703118b30c0c50c8ed7d0e5c37e85d65c16)
129
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
130
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
131
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
132
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
133
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
134
+
135
+ @jsii.member(jsii_name="resetEnabled")
136
+ def reset_enabled(self) -> None:
137
+ return typing.cast(None, jsii.invoke(self, "resetEnabled", []))
138
+
139
+ @jsii.member(jsii_name="resetIp")
140
+ def reset_ip(self) -> None:
141
+ return typing.cast(None, jsii.invoke(self, "resetIp", []))
142
+
143
+ @jsii.member(jsii_name="resetPort")
144
+ def reset_port(self) -> None:
145
+ return typing.cast(None, jsii.invoke(self, "resetPort", []))
146
+
147
+ @jsii.member(jsii_name="synthesizeAttributes")
148
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
149
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
150
+
151
+ @jsii.member(jsii_name="synthesizeHclAttributes")
152
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
153
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
154
+
155
+ @jsii.python.classproperty
156
+ @jsii.member(jsii_name="tfResourceType")
157
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
158
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
159
+
160
+ @builtins.property
161
+ @jsii.member(jsii_name="id")
162
+ def id(self) -> builtins.str:
163
+ return typing.cast(builtins.str, jsii.get(self, "id"))
164
+
165
+ @builtins.property
166
+ @jsii.member(jsii_name="backendInput")
167
+ def backend_input(self) -> typing.Optional[builtins.str]:
168
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "backendInput"))
169
+
170
+ @builtins.property
171
+ @jsii.member(jsii_name="enabledInput")
172
+ def enabled_input(
173
+ self,
174
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
175
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "enabledInput"))
176
+
177
+ @builtins.property
178
+ @jsii.member(jsii_name="ipInput")
179
+ def ip_input(self) -> typing.Optional[builtins.str]:
180
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipInput"))
181
+
182
+ @builtins.property
183
+ @jsii.member(jsii_name="maxSessionsInput")
184
+ def max_sessions_input(self) -> typing.Optional[jsii.Number]:
185
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maxSessionsInput"))
186
+
187
+ @builtins.property
188
+ @jsii.member(jsii_name="nameInput")
189
+ def name_input(self) -> typing.Optional[builtins.str]:
190
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
191
+
192
+ @builtins.property
193
+ @jsii.member(jsii_name="portInput")
194
+ def port_input(self) -> typing.Optional[jsii.Number]:
195
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "portInput"))
196
+
197
+ @builtins.property
198
+ @jsii.member(jsii_name="weightInput")
199
+ def weight_input(self) -> typing.Optional[jsii.Number]:
200
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "weightInput"))
201
+
202
+ @builtins.property
203
+ @jsii.member(jsii_name="backend")
204
+ def backend(self) -> builtins.str:
205
+ return typing.cast(builtins.str, jsii.get(self, "backend"))
206
+
207
+ @backend.setter
208
+ def backend(self, value: builtins.str) -> None:
209
+ if __debug__:
210
+ type_hints = typing.get_type_hints(_typecheckingstub__6a85befa123f0977604415bd7084fef660039bf490b62e67440df5e3b31519a0)
211
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
212
+ jsii.set(self, "backend", value) # pyright: ignore[reportArgumentType]
213
+
214
+ @builtins.property
215
+ @jsii.member(jsii_name="enabled")
216
+ def enabled(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
217
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "enabled"))
218
+
219
+ @enabled.setter
220
+ def enabled(
221
+ self,
222
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
223
+ ) -> None:
224
+ if __debug__:
225
+ type_hints = typing.get_type_hints(_typecheckingstub__0b814a2af3c03084c6098926c658cd82f86a9cf909a5b9e85c63c0279bfe985d)
226
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
227
+ jsii.set(self, "enabled", value) # pyright: ignore[reportArgumentType]
228
+
229
+ @builtins.property
230
+ @jsii.member(jsii_name="ip")
231
+ def ip(self) -> builtins.str:
232
+ return typing.cast(builtins.str, jsii.get(self, "ip"))
233
+
234
+ @ip.setter
235
+ def ip(self, value: builtins.str) -> None:
236
+ if __debug__:
237
+ type_hints = typing.get_type_hints(_typecheckingstub__3c37b73f2180c6b8f47a18e7e2214cde8b42b9ddb0fc1e533e0f703003996887)
238
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
239
+ jsii.set(self, "ip", value) # pyright: ignore[reportArgumentType]
240
+
241
+ @builtins.property
242
+ @jsii.member(jsii_name="maxSessions")
243
+ def max_sessions(self) -> jsii.Number:
244
+ return typing.cast(jsii.Number, jsii.get(self, "maxSessions"))
245
+
246
+ @max_sessions.setter
247
+ def max_sessions(self, value: jsii.Number) -> None:
248
+ if __debug__:
249
+ type_hints = typing.get_type_hints(_typecheckingstub__01d0370daa78a462eb2494d898af4d7a95a510bfffe5256413a933acb9571e8e)
250
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
251
+ jsii.set(self, "maxSessions", value) # pyright: ignore[reportArgumentType]
252
+
253
+ @builtins.property
254
+ @jsii.member(jsii_name="name")
255
+ def name(self) -> builtins.str:
256
+ return typing.cast(builtins.str, jsii.get(self, "name"))
257
+
258
+ @name.setter
259
+ def name(self, value: builtins.str) -> None:
260
+ if __debug__:
261
+ type_hints = typing.get_type_hints(_typecheckingstub__7048e0599376667732eafe50e62926cc664a5daa98d66935b5d0b035622e56de)
262
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
263
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
264
+
265
+ @builtins.property
266
+ @jsii.member(jsii_name="port")
267
+ def port(self) -> jsii.Number:
268
+ return typing.cast(jsii.Number, jsii.get(self, "port"))
269
+
270
+ @port.setter
271
+ def port(self, value: jsii.Number) -> None:
272
+ if __debug__:
273
+ type_hints = typing.get_type_hints(_typecheckingstub__25279ab57e45832c2d6e76b00763463d4e5c66544c473a0b143bcbb6bafa9691)
274
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
275
+ jsii.set(self, "port", value) # pyright: ignore[reportArgumentType]
276
+
277
+ @builtins.property
278
+ @jsii.member(jsii_name="weight")
279
+ def weight(self) -> jsii.Number:
280
+ return typing.cast(jsii.Number, jsii.get(self, "weight"))
281
+
282
+ @weight.setter
283
+ def weight(self, value: jsii.Number) -> None:
284
+ if __debug__:
285
+ type_hints = typing.get_type_hints(_typecheckingstub__d69200f071818b66916b76ed762fa220ace74773e8af2948103bef4a65889525)
286
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
287
+ jsii.set(self, "weight", value) # pyright: ignore[reportArgumentType]
288
+
289
+
290
+ @jsii.data_type(
291
+ jsii_type="@cdktf/provider-upcloud.loadbalancerStaticBackendMember.LoadbalancerStaticBackendMemberConfig",
292
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
293
+ name_mapping={
294
+ "connection": "connection",
295
+ "count": "count",
296
+ "depends_on": "dependsOn",
297
+ "for_each": "forEach",
298
+ "lifecycle": "lifecycle",
299
+ "provider": "provider",
300
+ "provisioners": "provisioners",
301
+ "backend": "backend",
302
+ "max_sessions": "maxSessions",
303
+ "name": "name",
304
+ "weight": "weight",
305
+ "enabled": "enabled",
306
+ "ip": "ip",
307
+ "port": "port",
308
+ },
309
+ )
310
+ class LoadbalancerStaticBackendMemberConfig(_cdktf_9a9027ec.TerraformMetaArguments):
311
+ def __init__(
312
+ self,
313
+ *,
314
+ 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,
315
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
316
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
317
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
318
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
319
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
320
+ 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,
321
+ backend: builtins.str,
322
+ max_sessions: jsii.Number,
323
+ name: builtins.str,
324
+ weight: jsii.Number,
325
+ enabled: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
326
+ ip: typing.Optional[builtins.str] = None,
327
+ port: typing.Optional[jsii.Number] = None,
328
+ ) -> None:
329
+ '''
330
+ :param connection:
331
+ :param count:
332
+ :param depends_on:
333
+ :param for_each:
334
+ :param lifecycle:
335
+ :param provider:
336
+ :param provisioners:
337
+ :param backend: ID of the load balancer backend to which the member is connected. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#backend LoadbalancerStaticBackendMember#backend}
338
+ :param max_sessions: Maximum number of sessions before queueing. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#max_sessions LoadbalancerStaticBackendMember#max_sessions}
339
+ :param name: The name of the member. Must be unique within within the load balancer backend. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#name LoadbalancerStaticBackendMember#name}
340
+ :param weight: Weight of the member. The higher the weight, the more traffic the member receives. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#weight LoadbalancerStaticBackendMember#weight}
341
+ :param enabled: Indicates if the member is enabled. Disabled members are excluded from load balancing. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#enabled LoadbalancerStaticBackendMember#enabled}
342
+ :param ip: Optional fallback IP address in case of failure on DNS resolving. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#ip LoadbalancerStaticBackendMember#ip}
343
+ :param port: Server port. Port is optional and can be specified in DNS SRV record. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#port LoadbalancerStaticBackendMember#port}
344
+ '''
345
+ if isinstance(lifecycle, dict):
346
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
347
+ if __debug__:
348
+ type_hints = typing.get_type_hints(_typecheckingstub__c7fd91b91af980180e27c74a1ffa9d5ee54648adb15fb81bf7f115e7ad236d8f)
349
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
350
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
351
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
352
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
353
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
354
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
355
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
356
+ check_type(argname="argument backend", value=backend, expected_type=type_hints["backend"])
357
+ check_type(argname="argument max_sessions", value=max_sessions, expected_type=type_hints["max_sessions"])
358
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
359
+ check_type(argname="argument weight", value=weight, expected_type=type_hints["weight"])
360
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
361
+ check_type(argname="argument ip", value=ip, expected_type=type_hints["ip"])
362
+ check_type(argname="argument port", value=port, expected_type=type_hints["port"])
363
+ self._values: typing.Dict[builtins.str, typing.Any] = {
364
+ "backend": backend,
365
+ "max_sessions": max_sessions,
366
+ "name": name,
367
+ "weight": weight,
368
+ }
369
+ if connection is not None:
370
+ self._values["connection"] = connection
371
+ if count is not None:
372
+ self._values["count"] = count
373
+ if depends_on is not None:
374
+ self._values["depends_on"] = depends_on
375
+ if for_each is not None:
376
+ self._values["for_each"] = for_each
377
+ if lifecycle is not None:
378
+ self._values["lifecycle"] = lifecycle
379
+ if provider is not None:
380
+ self._values["provider"] = provider
381
+ if provisioners is not None:
382
+ self._values["provisioners"] = provisioners
383
+ if enabled is not None:
384
+ self._values["enabled"] = enabled
385
+ if ip is not None:
386
+ self._values["ip"] = ip
387
+ if port is not None:
388
+ self._values["port"] = port
389
+
390
+ @builtins.property
391
+ def connection(
392
+ self,
393
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
394
+ '''
395
+ :stability: experimental
396
+ '''
397
+ result = self._values.get("connection")
398
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
399
+
400
+ @builtins.property
401
+ def count(
402
+ self,
403
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
404
+ '''
405
+ :stability: experimental
406
+ '''
407
+ result = self._values.get("count")
408
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
409
+
410
+ @builtins.property
411
+ def depends_on(
412
+ self,
413
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
414
+ '''
415
+ :stability: experimental
416
+ '''
417
+ result = self._values.get("depends_on")
418
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
419
+
420
+ @builtins.property
421
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
422
+ '''
423
+ :stability: experimental
424
+ '''
425
+ result = self._values.get("for_each")
426
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
427
+
428
+ @builtins.property
429
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
430
+ '''
431
+ :stability: experimental
432
+ '''
433
+ result = self._values.get("lifecycle")
434
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
435
+
436
+ @builtins.property
437
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
438
+ '''
439
+ :stability: experimental
440
+ '''
441
+ result = self._values.get("provider")
442
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
443
+
444
+ @builtins.property
445
+ def provisioners(
446
+ self,
447
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
448
+ '''
449
+ :stability: experimental
450
+ '''
451
+ result = self._values.get("provisioners")
452
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
453
+
454
+ @builtins.property
455
+ def backend(self) -> builtins.str:
456
+ '''ID of the load balancer backend to which the member is connected.
457
+
458
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#backend LoadbalancerStaticBackendMember#backend}
459
+ '''
460
+ result = self._values.get("backend")
461
+ assert result is not None, "Required property 'backend' is missing"
462
+ return typing.cast(builtins.str, result)
463
+
464
+ @builtins.property
465
+ def max_sessions(self) -> jsii.Number:
466
+ '''Maximum number of sessions before queueing.
467
+
468
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#max_sessions LoadbalancerStaticBackendMember#max_sessions}
469
+ '''
470
+ result = self._values.get("max_sessions")
471
+ assert result is not None, "Required property 'max_sessions' is missing"
472
+ return typing.cast(jsii.Number, result)
473
+
474
+ @builtins.property
475
+ def name(self) -> builtins.str:
476
+ '''The name of the member. Must be unique within within the load balancer backend.
477
+
478
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#name LoadbalancerStaticBackendMember#name}
479
+ '''
480
+ result = self._values.get("name")
481
+ assert result is not None, "Required property 'name' is missing"
482
+ return typing.cast(builtins.str, result)
483
+
484
+ @builtins.property
485
+ def weight(self) -> jsii.Number:
486
+ '''Weight of the member. The higher the weight, the more traffic the member receives.
487
+
488
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#weight LoadbalancerStaticBackendMember#weight}
489
+ '''
490
+ result = self._values.get("weight")
491
+ assert result is not None, "Required property 'weight' is missing"
492
+ return typing.cast(jsii.Number, result)
493
+
494
+ @builtins.property
495
+ def enabled(
496
+ self,
497
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
498
+ '''Indicates if the member is enabled. Disabled members are excluded from load balancing.
499
+
500
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#enabled LoadbalancerStaticBackendMember#enabled}
501
+ '''
502
+ result = self._values.get("enabled")
503
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
504
+
505
+ @builtins.property
506
+ def ip(self) -> typing.Optional[builtins.str]:
507
+ '''Optional fallback IP address in case of failure on DNS resolving.
508
+
509
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#ip LoadbalancerStaticBackendMember#ip}
510
+ '''
511
+ result = self._values.get("ip")
512
+ return typing.cast(typing.Optional[builtins.str], result)
513
+
514
+ @builtins.property
515
+ def port(self) -> typing.Optional[jsii.Number]:
516
+ '''Server port. Port is optional and can be specified in DNS SRV record.
517
+
518
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/loadbalancer_static_backend_member#port LoadbalancerStaticBackendMember#port}
519
+ '''
520
+ result = self._values.get("port")
521
+ return typing.cast(typing.Optional[jsii.Number], result)
522
+
523
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
524
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
525
+
526
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
527
+ return not (rhs == self)
528
+
529
+ def __repr__(self) -> str:
530
+ return "LoadbalancerStaticBackendMemberConfig(%s)" % ", ".join(
531
+ k + "=" + repr(v) for k, v in self._values.items()
532
+ )
533
+
534
+
535
+ __all__ = [
536
+ "LoadbalancerStaticBackendMember",
537
+ "LoadbalancerStaticBackendMemberConfig",
538
+ ]
539
+
540
+ publication.publish()
541
+
542
+ def _typecheckingstub__0093c421ecfc42e8e6dd6bf51f82ca5c5c98fde120c10799c3749e9640eabbee(
543
+ scope: _constructs_77d1e7e8.Construct,
544
+ id: builtins.str,
545
+ *,
546
+ backend: builtins.str,
547
+ max_sessions: jsii.Number,
548
+ name: builtins.str,
549
+ weight: jsii.Number,
550
+ enabled: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
551
+ ip: typing.Optional[builtins.str] = None,
552
+ port: typing.Optional[jsii.Number] = None,
553
+ 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,
554
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
555
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
556
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
557
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
558
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
559
+ 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,
560
+ ) -> None:
561
+ """Type checking stubs"""
562
+ pass
563
+
564
+ def _typecheckingstub__5cdc62ba614f1912735788517ff09703118b30c0c50c8ed7d0e5c37e85d65c16(
565
+ scope: _constructs_77d1e7e8.Construct,
566
+ import_to_id: builtins.str,
567
+ import_from_id: builtins.str,
568
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
569
+ ) -> None:
570
+ """Type checking stubs"""
571
+ pass
572
+
573
+ def _typecheckingstub__6a85befa123f0977604415bd7084fef660039bf490b62e67440df5e3b31519a0(
574
+ value: builtins.str,
575
+ ) -> None:
576
+ """Type checking stubs"""
577
+ pass
578
+
579
+ def _typecheckingstub__0b814a2af3c03084c6098926c658cd82f86a9cf909a5b9e85c63c0279bfe985d(
580
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
581
+ ) -> None:
582
+ """Type checking stubs"""
583
+ pass
584
+
585
+ def _typecheckingstub__3c37b73f2180c6b8f47a18e7e2214cde8b42b9ddb0fc1e533e0f703003996887(
586
+ value: builtins.str,
587
+ ) -> None:
588
+ """Type checking stubs"""
589
+ pass
590
+
591
+ def _typecheckingstub__01d0370daa78a462eb2494d898af4d7a95a510bfffe5256413a933acb9571e8e(
592
+ value: jsii.Number,
593
+ ) -> None:
594
+ """Type checking stubs"""
595
+ pass
596
+
597
+ def _typecheckingstub__7048e0599376667732eafe50e62926cc664a5daa98d66935b5d0b035622e56de(
598
+ value: builtins.str,
599
+ ) -> None:
600
+ """Type checking stubs"""
601
+ pass
602
+
603
+ def _typecheckingstub__25279ab57e45832c2d6e76b00763463d4e5c66544c473a0b143bcbb6bafa9691(
604
+ value: jsii.Number,
605
+ ) -> None:
606
+ """Type checking stubs"""
607
+ pass
608
+
609
+ def _typecheckingstub__d69200f071818b66916b76ed762fa220ace74773e8af2948103bef4a65889525(
610
+ value: jsii.Number,
611
+ ) -> None:
612
+ """Type checking stubs"""
613
+ pass
614
+
615
+ def _typecheckingstub__c7fd91b91af980180e27c74a1ffa9d5ee54648adb15fb81bf7f115e7ad236d8f(
616
+ *,
617
+ 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,
618
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
619
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
620
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
621
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
622
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
623
+ 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,
624
+ backend: builtins.str,
625
+ max_sessions: jsii.Number,
626
+ name: builtins.str,
627
+ weight: jsii.Number,
628
+ enabled: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
629
+ ip: typing.Optional[builtins.str] = None,
630
+ port: typing.Optional[jsii.Number] = None,
631
+ ) -> None:
632
+ """Type checking stubs"""
633
+ pass