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