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,1030 @@
1
+ r'''
2
+ # `upcloud_router`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_router`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router).
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 Router(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.router.Router",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router upcloud_router}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ name: builtins.str,
55
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
56
+ static_route: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["RouterStaticRoute", typing.Dict[builtins.str, typing.Any]]]]] = None,
57
+ 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,
58
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
59
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
60
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
61
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
62
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
63
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
64
+ ) -> None:
65
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router upcloud_router} Resource.
66
+
67
+ :param scope: The scope in which to define this construct.
68
+ :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
69
+ :param name: Name of the router. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#name Router#name}
70
+ :param labels: User defined key-value pairs to classify the router. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#labels Router#labels}
71
+ :param static_route: static_route block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#static_route Router#static_route}
72
+ :param connection:
73
+ :param count:
74
+ :param depends_on:
75
+ :param for_each:
76
+ :param lifecycle:
77
+ :param provider:
78
+ :param provisioners:
79
+ '''
80
+ if __debug__:
81
+ type_hints = typing.get_type_hints(_typecheckingstub__fcbc922e8974bdea9213754a0aa8997809c48606375ca248bcb2cda4a08b7c56)
82
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
83
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
84
+ config = RouterConfig(
85
+ name=name,
86
+ labels=labels,
87
+ static_route=static_route,
88
+ connection=connection,
89
+ count=count,
90
+ depends_on=depends_on,
91
+ for_each=for_each,
92
+ lifecycle=lifecycle,
93
+ provider=provider,
94
+ provisioners=provisioners,
95
+ )
96
+
97
+ jsii.create(self.__class__, self, [scope, id, config])
98
+
99
+ @jsii.member(jsii_name="generateConfigForImport")
100
+ @builtins.classmethod
101
+ def generate_config_for_import(
102
+ cls,
103
+ scope: _constructs_77d1e7e8.Construct,
104
+ import_to_id: builtins.str,
105
+ import_from_id: builtins.str,
106
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
107
+ ) -> _cdktf_9a9027ec.ImportableResource:
108
+ '''Generates CDKTF code for importing a Router resource upon running "cdktf plan ".
109
+
110
+ :param scope: The scope in which to define this construct.
111
+ :param import_to_id: The construct id used in the generated config for the Router to import.
112
+ :param import_from_id: The id of the existing Router that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#import import section} in the documentation of this resource for the id to use
113
+ :param provider: ? Optional instance of the provider where the Router to import is found.
114
+ '''
115
+ if __debug__:
116
+ type_hints = typing.get_type_hints(_typecheckingstub__af7ae9f3cb13813166c80bf3475292d6da4bc572da4a74d839edacd016ad562e)
117
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
118
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
119
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
120
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
121
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
122
+
123
+ @jsii.member(jsii_name="putStaticRoute")
124
+ def put_static_route(
125
+ self,
126
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["RouterStaticRoute", typing.Dict[builtins.str, typing.Any]]]],
127
+ ) -> None:
128
+ '''
129
+ :param value: -
130
+ '''
131
+ if __debug__:
132
+ type_hints = typing.get_type_hints(_typecheckingstub__960cdb38754a0d32ae0383c60827d88c422b9f7a82cb9d479f750ab21737fc35)
133
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
134
+ return typing.cast(None, jsii.invoke(self, "putStaticRoute", [value]))
135
+
136
+ @jsii.member(jsii_name="resetLabels")
137
+ def reset_labels(self) -> None:
138
+ return typing.cast(None, jsii.invoke(self, "resetLabels", []))
139
+
140
+ @jsii.member(jsii_name="resetStaticRoute")
141
+ def reset_static_route(self) -> None:
142
+ return typing.cast(None, jsii.invoke(self, "resetStaticRoute", []))
143
+
144
+ @jsii.member(jsii_name="synthesizeAttributes")
145
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
146
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
147
+
148
+ @jsii.member(jsii_name="synthesizeHclAttributes")
149
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
150
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
151
+
152
+ @jsii.python.classproperty
153
+ @jsii.member(jsii_name="tfResourceType")
154
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
155
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
156
+
157
+ @builtins.property
158
+ @jsii.member(jsii_name="attachedNetworks")
159
+ def attached_networks(self) -> typing.List[builtins.str]:
160
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attachedNetworks"))
161
+
162
+ @builtins.property
163
+ @jsii.member(jsii_name="id")
164
+ def id(self) -> builtins.str:
165
+ return typing.cast(builtins.str, jsii.get(self, "id"))
166
+
167
+ @builtins.property
168
+ @jsii.member(jsii_name="staticRoute")
169
+ def static_route(self) -> "RouterStaticRouteList":
170
+ return typing.cast("RouterStaticRouteList", jsii.get(self, "staticRoute"))
171
+
172
+ @builtins.property
173
+ @jsii.member(jsii_name="staticRoutes")
174
+ def static_routes(self) -> "RouterStaticRoutesList":
175
+ return typing.cast("RouterStaticRoutesList", jsii.get(self, "staticRoutes"))
176
+
177
+ @builtins.property
178
+ @jsii.member(jsii_name="type")
179
+ def type(self) -> builtins.str:
180
+ return typing.cast(builtins.str, jsii.get(self, "type"))
181
+
182
+ @builtins.property
183
+ @jsii.member(jsii_name="labelsInput")
184
+ def labels_input(
185
+ self,
186
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
187
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "labelsInput"))
188
+
189
+ @builtins.property
190
+ @jsii.member(jsii_name="nameInput")
191
+ def name_input(self) -> typing.Optional[builtins.str]:
192
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
193
+
194
+ @builtins.property
195
+ @jsii.member(jsii_name="staticRouteInput")
196
+ def static_route_input(
197
+ self,
198
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["RouterStaticRoute"]]]:
199
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["RouterStaticRoute"]]], jsii.get(self, "staticRouteInput"))
200
+
201
+ @builtins.property
202
+ @jsii.member(jsii_name="labels")
203
+ def labels(self) -> typing.Mapping[builtins.str, builtins.str]:
204
+ return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "labels"))
205
+
206
+ @labels.setter
207
+ def labels(self, value: typing.Mapping[builtins.str, builtins.str]) -> None:
208
+ if __debug__:
209
+ type_hints = typing.get_type_hints(_typecheckingstub__aa3747a3d78e5368cd4ad74ed7e0d7f94dd99ac2913c729bea9c6861d4564789)
210
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
211
+ jsii.set(self, "labels", value) # pyright: ignore[reportArgumentType]
212
+
213
+ @builtins.property
214
+ @jsii.member(jsii_name="name")
215
+ def name(self) -> builtins.str:
216
+ return typing.cast(builtins.str, jsii.get(self, "name"))
217
+
218
+ @name.setter
219
+ def name(self, value: builtins.str) -> None:
220
+ if __debug__:
221
+ type_hints = typing.get_type_hints(_typecheckingstub__bf1ff546e26877dfe75feb1a16a4a12a959c48a991ddbf5b854def4ab5f6cb90)
222
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
223
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
224
+
225
+
226
+ @jsii.data_type(
227
+ jsii_type="@cdktf/provider-upcloud.router.RouterConfig",
228
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
229
+ name_mapping={
230
+ "connection": "connection",
231
+ "count": "count",
232
+ "depends_on": "dependsOn",
233
+ "for_each": "forEach",
234
+ "lifecycle": "lifecycle",
235
+ "provider": "provider",
236
+ "provisioners": "provisioners",
237
+ "name": "name",
238
+ "labels": "labels",
239
+ "static_route": "staticRoute",
240
+ },
241
+ )
242
+ class RouterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
243
+ def __init__(
244
+ self,
245
+ *,
246
+ 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,
247
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
248
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
249
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
250
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
251
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
252
+ 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,
253
+ name: builtins.str,
254
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
255
+ static_route: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["RouterStaticRoute", typing.Dict[builtins.str, typing.Any]]]]] = None,
256
+ ) -> None:
257
+ '''
258
+ :param connection:
259
+ :param count:
260
+ :param depends_on:
261
+ :param for_each:
262
+ :param lifecycle:
263
+ :param provider:
264
+ :param provisioners:
265
+ :param name: Name of the router. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#name Router#name}
266
+ :param labels: User defined key-value pairs to classify the router. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#labels Router#labels}
267
+ :param static_route: static_route block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#static_route Router#static_route}
268
+ '''
269
+ if isinstance(lifecycle, dict):
270
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
271
+ if __debug__:
272
+ type_hints = typing.get_type_hints(_typecheckingstub__4a9ab8951f24f843f6ac7aa3295c3140b760a79db02562259208fc8963cc7c7e)
273
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
274
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
275
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
276
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
277
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
278
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
279
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
280
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
281
+ check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
282
+ check_type(argname="argument static_route", value=static_route, expected_type=type_hints["static_route"])
283
+ self._values: typing.Dict[builtins.str, typing.Any] = {
284
+ "name": name,
285
+ }
286
+ if connection is not None:
287
+ self._values["connection"] = connection
288
+ if count is not None:
289
+ self._values["count"] = count
290
+ if depends_on is not None:
291
+ self._values["depends_on"] = depends_on
292
+ if for_each is not None:
293
+ self._values["for_each"] = for_each
294
+ if lifecycle is not None:
295
+ self._values["lifecycle"] = lifecycle
296
+ if provider is not None:
297
+ self._values["provider"] = provider
298
+ if provisioners is not None:
299
+ self._values["provisioners"] = provisioners
300
+ if labels is not None:
301
+ self._values["labels"] = labels
302
+ if static_route is not None:
303
+ self._values["static_route"] = static_route
304
+
305
+ @builtins.property
306
+ def connection(
307
+ self,
308
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
309
+ '''
310
+ :stability: experimental
311
+ '''
312
+ result = self._values.get("connection")
313
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
314
+
315
+ @builtins.property
316
+ def count(
317
+ self,
318
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
319
+ '''
320
+ :stability: experimental
321
+ '''
322
+ result = self._values.get("count")
323
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
324
+
325
+ @builtins.property
326
+ def depends_on(
327
+ self,
328
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
329
+ '''
330
+ :stability: experimental
331
+ '''
332
+ result = self._values.get("depends_on")
333
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
334
+
335
+ @builtins.property
336
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
337
+ '''
338
+ :stability: experimental
339
+ '''
340
+ result = self._values.get("for_each")
341
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
342
+
343
+ @builtins.property
344
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
345
+ '''
346
+ :stability: experimental
347
+ '''
348
+ result = self._values.get("lifecycle")
349
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
350
+
351
+ @builtins.property
352
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
353
+ '''
354
+ :stability: experimental
355
+ '''
356
+ result = self._values.get("provider")
357
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
358
+
359
+ @builtins.property
360
+ def provisioners(
361
+ self,
362
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
363
+ '''
364
+ :stability: experimental
365
+ '''
366
+ result = self._values.get("provisioners")
367
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
368
+
369
+ @builtins.property
370
+ def name(self) -> builtins.str:
371
+ '''Name of the router.
372
+
373
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#name Router#name}
374
+ '''
375
+ result = self._values.get("name")
376
+ assert result is not None, "Required property 'name' is missing"
377
+ return typing.cast(builtins.str, result)
378
+
379
+ @builtins.property
380
+ def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
381
+ '''User defined key-value pairs to classify the router.
382
+
383
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#labels Router#labels}
384
+ '''
385
+ result = self._values.get("labels")
386
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
387
+
388
+ @builtins.property
389
+ def static_route(
390
+ self,
391
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["RouterStaticRoute"]]]:
392
+ '''static_route block.
393
+
394
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#static_route Router#static_route}
395
+ '''
396
+ result = self._values.get("static_route")
397
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["RouterStaticRoute"]]], result)
398
+
399
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
400
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
401
+
402
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
403
+ return not (rhs == self)
404
+
405
+ def __repr__(self) -> str:
406
+ return "RouterConfig(%s)" % ", ".join(
407
+ k + "=" + repr(v) for k, v in self._values.items()
408
+ )
409
+
410
+
411
+ @jsii.data_type(
412
+ jsii_type="@cdktf/provider-upcloud.router.RouterStaticRoute",
413
+ jsii_struct_bases=[],
414
+ name_mapping={"nexthop": "nexthop", "route": "route", "name": "name"},
415
+ )
416
+ class RouterStaticRoute:
417
+ def __init__(
418
+ self,
419
+ *,
420
+ nexthop: builtins.str,
421
+ route: builtins.str,
422
+ name: typing.Optional[builtins.str] = None,
423
+ ) -> None:
424
+ '''
425
+ :param nexthop: Next hop address. NOTE: For static route to be active the next hop has to be an address of a reachable running Cloud Server in one of the Private Networks attached to the router. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#nexthop Router#nexthop}
426
+ :param route: Destination prefix of the route. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#route Router#route}
427
+ :param name: Name or description of the route. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#name Router#name}
428
+ '''
429
+ if __debug__:
430
+ type_hints = typing.get_type_hints(_typecheckingstub__19b50b7b811b7df94d19dfa751de09cba910b32f96dd6f76cdfde0ef1ed80121)
431
+ check_type(argname="argument nexthop", value=nexthop, expected_type=type_hints["nexthop"])
432
+ check_type(argname="argument route", value=route, expected_type=type_hints["route"])
433
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
434
+ self._values: typing.Dict[builtins.str, typing.Any] = {
435
+ "nexthop": nexthop,
436
+ "route": route,
437
+ }
438
+ if name is not None:
439
+ self._values["name"] = name
440
+
441
+ @builtins.property
442
+ def nexthop(self) -> builtins.str:
443
+ '''Next hop address.
444
+
445
+ NOTE: For static route to be active the next hop has to be an address of a reachable running Cloud Server in one of the Private Networks attached to the router.
446
+
447
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#nexthop Router#nexthop}
448
+ '''
449
+ result = self._values.get("nexthop")
450
+ assert result is not None, "Required property 'nexthop' is missing"
451
+ return typing.cast(builtins.str, result)
452
+
453
+ @builtins.property
454
+ def route(self) -> builtins.str:
455
+ '''Destination prefix of the route.
456
+
457
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#route Router#route}
458
+ '''
459
+ result = self._values.get("route")
460
+ assert result is not None, "Required property 'route' is missing"
461
+ return typing.cast(builtins.str, result)
462
+
463
+ @builtins.property
464
+ def name(self) -> typing.Optional[builtins.str]:
465
+ '''Name or description of the route.
466
+
467
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/router#name Router#name}
468
+ '''
469
+ result = self._values.get("name")
470
+ return typing.cast(typing.Optional[builtins.str], result)
471
+
472
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
473
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
474
+
475
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
476
+ return not (rhs == self)
477
+
478
+ def __repr__(self) -> str:
479
+ return "RouterStaticRoute(%s)" % ", ".join(
480
+ k + "=" + repr(v) for k, v in self._values.items()
481
+ )
482
+
483
+
484
+ class RouterStaticRouteList(
485
+ _cdktf_9a9027ec.ComplexList,
486
+ metaclass=jsii.JSIIMeta,
487
+ jsii_type="@cdktf/provider-upcloud.router.RouterStaticRouteList",
488
+ ):
489
+ def __init__(
490
+ self,
491
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
492
+ terraform_attribute: builtins.str,
493
+ wraps_set: builtins.bool,
494
+ ) -> None:
495
+ '''
496
+ :param terraform_resource: The parent resource.
497
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
498
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
499
+ '''
500
+ if __debug__:
501
+ type_hints = typing.get_type_hints(_typecheckingstub__83118738177789179d83f1d89534d6b162d957aa1e08fc2d0eec1622a3afc19c)
502
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
503
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
504
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
505
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
506
+
507
+ @jsii.member(jsii_name="get")
508
+ def get(self, index: jsii.Number) -> "RouterStaticRouteOutputReference":
509
+ '''
510
+ :param index: the index of the item to return.
511
+ '''
512
+ if __debug__:
513
+ type_hints = typing.get_type_hints(_typecheckingstub__2180aafdec06f19fdd32fd4770815a71f5c0d1f71faf34a23323c118af3a4418)
514
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
515
+ return typing.cast("RouterStaticRouteOutputReference", jsii.invoke(self, "get", [index]))
516
+
517
+ @builtins.property
518
+ @jsii.member(jsii_name="terraformAttribute")
519
+ def _terraform_attribute(self) -> builtins.str:
520
+ '''The attribute on the parent resource this class is referencing.'''
521
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
522
+
523
+ @_terraform_attribute.setter
524
+ def _terraform_attribute(self, value: builtins.str) -> None:
525
+ if __debug__:
526
+ type_hints = typing.get_type_hints(_typecheckingstub__444415ae8ef20fa398ab68de55df664705bb5f798e2c016becd6cc0fa07abd8e)
527
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
528
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
529
+
530
+ @builtins.property
531
+ @jsii.member(jsii_name="terraformResource")
532
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
533
+ '''The parent resource.'''
534
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
535
+
536
+ @_terraform_resource.setter
537
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
538
+ if __debug__:
539
+ type_hints = typing.get_type_hints(_typecheckingstub__de83d9ccce70beb4d4101ccabd551c2cb6f710397462adf2db9dc4d03d5fd4bc)
540
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
541
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
542
+
543
+ @builtins.property
544
+ @jsii.member(jsii_name="wrapsSet")
545
+ def _wraps_set(self) -> builtins.bool:
546
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
547
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
548
+
549
+ @_wraps_set.setter
550
+ def _wraps_set(self, value: builtins.bool) -> None:
551
+ if __debug__:
552
+ type_hints = typing.get_type_hints(_typecheckingstub__def4378fc48832f0bd2370f056df4e2a7383698bc8af8b9ba7f493d8b4268efb)
553
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
554
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
555
+
556
+ @builtins.property
557
+ @jsii.member(jsii_name="internalValue")
558
+ def internal_value(
559
+ self,
560
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[RouterStaticRoute]]]:
561
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[RouterStaticRoute]]], jsii.get(self, "internalValue"))
562
+
563
+ @internal_value.setter
564
+ def internal_value(
565
+ self,
566
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[RouterStaticRoute]]],
567
+ ) -> None:
568
+ if __debug__:
569
+ type_hints = typing.get_type_hints(_typecheckingstub__46a1ec10d6a3502e5f87475a12f052406a99383a3e88ea17f230a5e20674dd43)
570
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
571
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
572
+
573
+
574
+ class RouterStaticRouteOutputReference(
575
+ _cdktf_9a9027ec.ComplexObject,
576
+ metaclass=jsii.JSIIMeta,
577
+ jsii_type="@cdktf/provider-upcloud.router.RouterStaticRouteOutputReference",
578
+ ):
579
+ def __init__(
580
+ self,
581
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
582
+ terraform_attribute: builtins.str,
583
+ complex_object_index: jsii.Number,
584
+ complex_object_is_from_set: builtins.bool,
585
+ ) -> None:
586
+ '''
587
+ :param terraform_resource: The parent resource.
588
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
589
+ :param complex_object_index: the index of this item in the list.
590
+ :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).
591
+ '''
592
+ if __debug__:
593
+ type_hints = typing.get_type_hints(_typecheckingstub__fb6040803b812ece78fe70470c9c9aea60e18a37ab4d7308286c87c8e38b0b85)
594
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
595
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
596
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
597
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
598
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
599
+
600
+ @jsii.member(jsii_name="resetName")
601
+ def reset_name(self) -> None:
602
+ return typing.cast(None, jsii.invoke(self, "resetName", []))
603
+
604
+ @builtins.property
605
+ @jsii.member(jsii_name="type")
606
+ def type(self) -> builtins.str:
607
+ return typing.cast(builtins.str, jsii.get(self, "type"))
608
+
609
+ @builtins.property
610
+ @jsii.member(jsii_name="nameInput")
611
+ def name_input(self) -> typing.Optional[builtins.str]:
612
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
613
+
614
+ @builtins.property
615
+ @jsii.member(jsii_name="nexthopInput")
616
+ def nexthop_input(self) -> typing.Optional[builtins.str]:
617
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nexthopInput"))
618
+
619
+ @builtins.property
620
+ @jsii.member(jsii_name="routeInput")
621
+ def route_input(self) -> typing.Optional[builtins.str]:
622
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "routeInput"))
623
+
624
+ @builtins.property
625
+ @jsii.member(jsii_name="name")
626
+ def name(self) -> builtins.str:
627
+ return typing.cast(builtins.str, jsii.get(self, "name"))
628
+
629
+ @name.setter
630
+ def name(self, value: builtins.str) -> None:
631
+ if __debug__:
632
+ type_hints = typing.get_type_hints(_typecheckingstub__e75a9d60361fee4e477d37352a49977c71b56886000022f34c76c4fa8e2e6d15)
633
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
634
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
635
+
636
+ @builtins.property
637
+ @jsii.member(jsii_name="nexthop")
638
+ def nexthop(self) -> builtins.str:
639
+ return typing.cast(builtins.str, jsii.get(self, "nexthop"))
640
+
641
+ @nexthop.setter
642
+ def nexthop(self, value: builtins.str) -> None:
643
+ if __debug__:
644
+ type_hints = typing.get_type_hints(_typecheckingstub__77ce156d73f4d76365611feaed75ba8cb91fe8c3976b0312ae6cdc67e0d64009)
645
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
646
+ jsii.set(self, "nexthop", value) # pyright: ignore[reportArgumentType]
647
+
648
+ @builtins.property
649
+ @jsii.member(jsii_name="route")
650
+ def route(self) -> builtins.str:
651
+ return typing.cast(builtins.str, jsii.get(self, "route"))
652
+
653
+ @route.setter
654
+ def route(self, value: builtins.str) -> None:
655
+ if __debug__:
656
+ type_hints = typing.get_type_hints(_typecheckingstub__251242a60a5f0cdde9b57b2ca563798600c7398d114281c7c4980145f69762ea)
657
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
658
+ jsii.set(self, "route", value) # pyright: ignore[reportArgumentType]
659
+
660
+ @builtins.property
661
+ @jsii.member(jsii_name="internalValue")
662
+ def internal_value(
663
+ self,
664
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, RouterStaticRoute]]:
665
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, RouterStaticRoute]], jsii.get(self, "internalValue"))
666
+
667
+ @internal_value.setter
668
+ def internal_value(
669
+ self,
670
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, RouterStaticRoute]],
671
+ ) -> None:
672
+ if __debug__:
673
+ type_hints = typing.get_type_hints(_typecheckingstub__8316b5465e8e47cf60c6f5c3862798064ee68a61bc316d39a44bb7c5b63bc391)
674
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
675
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
676
+
677
+
678
+ @jsii.data_type(
679
+ jsii_type="@cdktf/provider-upcloud.router.RouterStaticRoutes",
680
+ jsii_struct_bases=[],
681
+ name_mapping={},
682
+ )
683
+ class RouterStaticRoutes:
684
+ def __init__(self) -> None:
685
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
686
+
687
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
688
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
689
+
690
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
691
+ return not (rhs == self)
692
+
693
+ def __repr__(self) -> str:
694
+ return "RouterStaticRoutes(%s)" % ", ".join(
695
+ k + "=" + repr(v) for k, v in self._values.items()
696
+ )
697
+
698
+
699
+ class RouterStaticRoutesList(
700
+ _cdktf_9a9027ec.ComplexList,
701
+ metaclass=jsii.JSIIMeta,
702
+ jsii_type="@cdktf/provider-upcloud.router.RouterStaticRoutesList",
703
+ ):
704
+ def __init__(
705
+ self,
706
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
707
+ terraform_attribute: builtins.str,
708
+ wraps_set: builtins.bool,
709
+ ) -> None:
710
+ '''
711
+ :param terraform_resource: The parent resource.
712
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
713
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
714
+ '''
715
+ if __debug__:
716
+ type_hints = typing.get_type_hints(_typecheckingstub__ab499dc0aa47db395d5ae3bc84765b9f4c0ffb4f2a842dbe1e1aa4e9287c88d5)
717
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
718
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
719
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
720
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
721
+
722
+ @jsii.member(jsii_name="get")
723
+ def get(self, index: jsii.Number) -> "RouterStaticRoutesOutputReference":
724
+ '''
725
+ :param index: the index of the item to return.
726
+ '''
727
+ if __debug__:
728
+ type_hints = typing.get_type_hints(_typecheckingstub__6a83daad6c382917ba4d61f18eb7d5d9ddebff883509806e28bd0d6955fe1655)
729
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
730
+ return typing.cast("RouterStaticRoutesOutputReference", jsii.invoke(self, "get", [index]))
731
+
732
+ @builtins.property
733
+ @jsii.member(jsii_name="terraformAttribute")
734
+ def _terraform_attribute(self) -> builtins.str:
735
+ '''The attribute on the parent resource this class is referencing.'''
736
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
737
+
738
+ @_terraform_attribute.setter
739
+ def _terraform_attribute(self, value: builtins.str) -> None:
740
+ if __debug__:
741
+ type_hints = typing.get_type_hints(_typecheckingstub__d23437c8568b7529d5fed7b4162bb335f72f2577bf41fa94ced0234d5c3a1c36)
742
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
743
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
744
+
745
+ @builtins.property
746
+ @jsii.member(jsii_name="terraformResource")
747
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
748
+ '''The parent resource.'''
749
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
750
+
751
+ @_terraform_resource.setter
752
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
753
+ if __debug__:
754
+ type_hints = typing.get_type_hints(_typecheckingstub__9fb4be083f72125e926b75c844044393907d7283469c8f6e720496b265fbed1f)
755
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
756
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
757
+
758
+ @builtins.property
759
+ @jsii.member(jsii_name="wrapsSet")
760
+ def _wraps_set(self) -> builtins.bool:
761
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
762
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
763
+
764
+ @_wraps_set.setter
765
+ def _wraps_set(self, value: builtins.bool) -> None:
766
+ if __debug__:
767
+ type_hints = typing.get_type_hints(_typecheckingstub__96d7e7e56aa23c11cb51fd76392d60b115fb42d68a2bbe6d09747c3f563b38aa)
768
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
769
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
770
+
771
+
772
+ class RouterStaticRoutesOutputReference(
773
+ _cdktf_9a9027ec.ComplexObject,
774
+ metaclass=jsii.JSIIMeta,
775
+ jsii_type="@cdktf/provider-upcloud.router.RouterStaticRoutesOutputReference",
776
+ ):
777
+ def __init__(
778
+ self,
779
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
780
+ terraform_attribute: builtins.str,
781
+ complex_object_index: jsii.Number,
782
+ complex_object_is_from_set: builtins.bool,
783
+ ) -> None:
784
+ '''
785
+ :param terraform_resource: The parent resource.
786
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
787
+ :param complex_object_index: the index of this item in the list.
788
+ :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).
789
+ '''
790
+ if __debug__:
791
+ type_hints = typing.get_type_hints(_typecheckingstub__0b96ac2e7140084f3bc461e86f48bb8c49f22f744a63d7a142e1c83d84551b89)
792
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
793
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
794
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
795
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
796
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
797
+
798
+ @builtins.property
799
+ @jsii.member(jsii_name="name")
800
+ def name(self) -> builtins.str:
801
+ return typing.cast(builtins.str, jsii.get(self, "name"))
802
+
803
+ @builtins.property
804
+ @jsii.member(jsii_name="nexthop")
805
+ def nexthop(self) -> builtins.str:
806
+ return typing.cast(builtins.str, jsii.get(self, "nexthop"))
807
+
808
+ @builtins.property
809
+ @jsii.member(jsii_name="route")
810
+ def route(self) -> builtins.str:
811
+ return typing.cast(builtins.str, jsii.get(self, "route"))
812
+
813
+ @builtins.property
814
+ @jsii.member(jsii_name="type")
815
+ def type(self) -> builtins.str:
816
+ return typing.cast(builtins.str, jsii.get(self, "type"))
817
+
818
+ @builtins.property
819
+ @jsii.member(jsii_name="internalValue")
820
+ def internal_value(self) -> typing.Optional[RouterStaticRoutes]:
821
+ return typing.cast(typing.Optional[RouterStaticRoutes], jsii.get(self, "internalValue"))
822
+
823
+ @internal_value.setter
824
+ def internal_value(self, value: typing.Optional[RouterStaticRoutes]) -> None:
825
+ if __debug__:
826
+ type_hints = typing.get_type_hints(_typecheckingstub__b67533cce2986109bac7670d8ffc2e281ea0386aa18577bd131445707e0ec5e7)
827
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
828
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
829
+
830
+
831
+ __all__ = [
832
+ "Router",
833
+ "RouterConfig",
834
+ "RouterStaticRoute",
835
+ "RouterStaticRouteList",
836
+ "RouterStaticRouteOutputReference",
837
+ "RouterStaticRoutes",
838
+ "RouterStaticRoutesList",
839
+ "RouterStaticRoutesOutputReference",
840
+ ]
841
+
842
+ publication.publish()
843
+
844
+ def _typecheckingstub__fcbc922e8974bdea9213754a0aa8997809c48606375ca248bcb2cda4a08b7c56(
845
+ scope: _constructs_77d1e7e8.Construct,
846
+ id: builtins.str,
847
+ *,
848
+ name: builtins.str,
849
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
850
+ static_route: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[RouterStaticRoute, typing.Dict[builtins.str, typing.Any]]]]] = None,
851
+ 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,
852
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
853
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
854
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
855
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
856
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
857
+ 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,
858
+ ) -> None:
859
+ """Type checking stubs"""
860
+ pass
861
+
862
+ def _typecheckingstub__af7ae9f3cb13813166c80bf3475292d6da4bc572da4a74d839edacd016ad562e(
863
+ scope: _constructs_77d1e7e8.Construct,
864
+ import_to_id: builtins.str,
865
+ import_from_id: builtins.str,
866
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
867
+ ) -> None:
868
+ """Type checking stubs"""
869
+ pass
870
+
871
+ def _typecheckingstub__960cdb38754a0d32ae0383c60827d88c422b9f7a82cb9d479f750ab21737fc35(
872
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[RouterStaticRoute, typing.Dict[builtins.str, typing.Any]]]],
873
+ ) -> None:
874
+ """Type checking stubs"""
875
+ pass
876
+
877
+ def _typecheckingstub__aa3747a3d78e5368cd4ad74ed7e0d7f94dd99ac2913c729bea9c6861d4564789(
878
+ value: typing.Mapping[builtins.str, builtins.str],
879
+ ) -> None:
880
+ """Type checking stubs"""
881
+ pass
882
+
883
+ def _typecheckingstub__bf1ff546e26877dfe75feb1a16a4a12a959c48a991ddbf5b854def4ab5f6cb90(
884
+ value: builtins.str,
885
+ ) -> None:
886
+ """Type checking stubs"""
887
+ pass
888
+
889
+ def _typecheckingstub__4a9ab8951f24f843f6ac7aa3295c3140b760a79db02562259208fc8963cc7c7e(
890
+ *,
891
+ 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,
892
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
893
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
894
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
895
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
896
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
897
+ 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,
898
+ name: builtins.str,
899
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
900
+ static_route: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[RouterStaticRoute, typing.Dict[builtins.str, typing.Any]]]]] = None,
901
+ ) -> None:
902
+ """Type checking stubs"""
903
+ pass
904
+
905
+ def _typecheckingstub__19b50b7b811b7df94d19dfa751de09cba910b32f96dd6f76cdfde0ef1ed80121(
906
+ *,
907
+ nexthop: builtins.str,
908
+ route: builtins.str,
909
+ name: typing.Optional[builtins.str] = None,
910
+ ) -> None:
911
+ """Type checking stubs"""
912
+ pass
913
+
914
+ def _typecheckingstub__83118738177789179d83f1d89534d6b162d957aa1e08fc2d0eec1622a3afc19c(
915
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
916
+ terraform_attribute: builtins.str,
917
+ wraps_set: builtins.bool,
918
+ ) -> None:
919
+ """Type checking stubs"""
920
+ pass
921
+
922
+ def _typecheckingstub__2180aafdec06f19fdd32fd4770815a71f5c0d1f71faf34a23323c118af3a4418(
923
+ index: jsii.Number,
924
+ ) -> None:
925
+ """Type checking stubs"""
926
+ pass
927
+
928
+ def _typecheckingstub__444415ae8ef20fa398ab68de55df664705bb5f798e2c016becd6cc0fa07abd8e(
929
+ value: builtins.str,
930
+ ) -> None:
931
+ """Type checking stubs"""
932
+ pass
933
+
934
+ def _typecheckingstub__de83d9ccce70beb4d4101ccabd551c2cb6f710397462adf2db9dc4d03d5fd4bc(
935
+ value: _cdktf_9a9027ec.IInterpolatingParent,
936
+ ) -> None:
937
+ """Type checking stubs"""
938
+ pass
939
+
940
+ def _typecheckingstub__def4378fc48832f0bd2370f056df4e2a7383698bc8af8b9ba7f493d8b4268efb(
941
+ value: builtins.bool,
942
+ ) -> None:
943
+ """Type checking stubs"""
944
+ pass
945
+
946
+ def _typecheckingstub__46a1ec10d6a3502e5f87475a12f052406a99383a3e88ea17f230a5e20674dd43(
947
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[RouterStaticRoute]]],
948
+ ) -> None:
949
+ """Type checking stubs"""
950
+ pass
951
+
952
+ def _typecheckingstub__fb6040803b812ece78fe70470c9c9aea60e18a37ab4d7308286c87c8e38b0b85(
953
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
954
+ terraform_attribute: builtins.str,
955
+ complex_object_index: jsii.Number,
956
+ complex_object_is_from_set: builtins.bool,
957
+ ) -> None:
958
+ """Type checking stubs"""
959
+ pass
960
+
961
+ def _typecheckingstub__e75a9d60361fee4e477d37352a49977c71b56886000022f34c76c4fa8e2e6d15(
962
+ value: builtins.str,
963
+ ) -> None:
964
+ """Type checking stubs"""
965
+ pass
966
+
967
+ def _typecheckingstub__77ce156d73f4d76365611feaed75ba8cb91fe8c3976b0312ae6cdc67e0d64009(
968
+ value: builtins.str,
969
+ ) -> None:
970
+ """Type checking stubs"""
971
+ pass
972
+
973
+ def _typecheckingstub__251242a60a5f0cdde9b57b2ca563798600c7398d114281c7c4980145f69762ea(
974
+ value: builtins.str,
975
+ ) -> None:
976
+ """Type checking stubs"""
977
+ pass
978
+
979
+ def _typecheckingstub__8316b5465e8e47cf60c6f5c3862798064ee68a61bc316d39a44bb7c5b63bc391(
980
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, RouterStaticRoute]],
981
+ ) -> None:
982
+ """Type checking stubs"""
983
+ pass
984
+
985
+ def _typecheckingstub__ab499dc0aa47db395d5ae3bc84765b9f4c0ffb4f2a842dbe1e1aa4e9287c88d5(
986
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
987
+ terraform_attribute: builtins.str,
988
+ wraps_set: builtins.bool,
989
+ ) -> None:
990
+ """Type checking stubs"""
991
+ pass
992
+
993
+ def _typecheckingstub__6a83daad6c382917ba4d61f18eb7d5d9ddebff883509806e28bd0d6955fe1655(
994
+ index: jsii.Number,
995
+ ) -> None:
996
+ """Type checking stubs"""
997
+ pass
998
+
999
+ def _typecheckingstub__d23437c8568b7529d5fed7b4162bb335f72f2577bf41fa94ced0234d5c3a1c36(
1000
+ value: builtins.str,
1001
+ ) -> None:
1002
+ """Type checking stubs"""
1003
+ pass
1004
+
1005
+ def _typecheckingstub__9fb4be083f72125e926b75c844044393907d7283469c8f6e720496b265fbed1f(
1006
+ value: _cdktf_9a9027ec.IInterpolatingParent,
1007
+ ) -> None:
1008
+ """Type checking stubs"""
1009
+ pass
1010
+
1011
+ def _typecheckingstub__96d7e7e56aa23c11cb51fd76392d60b115fb42d68a2bbe6d09747c3f563b38aa(
1012
+ value: builtins.bool,
1013
+ ) -> None:
1014
+ """Type checking stubs"""
1015
+ pass
1016
+
1017
+ def _typecheckingstub__0b96ac2e7140084f3bc461e86f48bb8c49f22f744a63d7a142e1c83d84551b89(
1018
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1019
+ terraform_attribute: builtins.str,
1020
+ complex_object_index: jsii.Number,
1021
+ complex_object_is_from_set: builtins.bool,
1022
+ ) -> None:
1023
+ """Type checking stubs"""
1024
+ pass
1025
+
1026
+ def _typecheckingstub__b67533cce2986109bac7670d8ffc2e281ea0386aa18577bd131445707e0ec5e7(
1027
+ value: typing.Optional[RouterStaticRoutes],
1028
+ ) -> None:
1029
+ """Type checking stubs"""
1030
+ pass