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,1554 @@
1
+ r'''
2
+ # `upcloud_network`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_network`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network).
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 Network(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.network.Network",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network upcloud_network}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ name: builtins.str,
55
+ zone: builtins.str,
56
+ ip_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkIpNetwork", typing.Dict[builtins.str, typing.Any]]]]] = None,
57
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
58
+ router: typing.Optional[builtins.str] = None,
59
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
60
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
61
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
62
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
63
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
64
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
65
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
66
+ ) -> None:
67
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network upcloud_network} Resource.
68
+
69
+ :param scope: The scope in which to define this construct.
70
+ :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
71
+ :param name: Name of the network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#name Network#name}
72
+ :param zone: The zone the network is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#zone Network#zone}
73
+ :param ip_network: ip_network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#ip_network Network#ip_network}
74
+ :param labels: User defined key-value pairs to classify the network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#labels Network#labels}
75
+ :param router: UUID of a router to attach to this network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#router Network#router}
76
+ :param connection:
77
+ :param count:
78
+ :param depends_on:
79
+ :param for_each:
80
+ :param lifecycle:
81
+ :param provider:
82
+ :param provisioners:
83
+ '''
84
+ if __debug__:
85
+ type_hints = typing.get_type_hints(_typecheckingstub__fc3c34873f1a44cebcb9435310e62bfc7abed9c849834686c99e43fdc9dc5dfe)
86
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
87
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
88
+ config = NetworkConfig(
89
+ name=name,
90
+ zone=zone,
91
+ ip_network=ip_network,
92
+ labels=labels,
93
+ router=router,
94
+ connection=connection,
95
+ count=count,
96
+ depends_on=depends_on,
97
+ for_each=for_each,
98
+ lifecycle=lifecycle,
99
+ provider=provider,
100
+ provisioners=provisioners,
101
+ )
102
+
103
+ jsii.create(self.__class__, self, [scope, id, config])
104
+
105
+ @jsii.member(jsii_name="generateConfigForImport")
106
+ @builtins.classmethod
107
+ def generate_config_for_import(
108
+ cls,
109
+ scope: _constructs_77d1e7e8.Construct,
110
+ import_to_id: builtins.str,
111
+ import_from_id: builtins.str,
112
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
113
+ ) -> _cdktf_9a9027ec.ImportableResource:
114
+ '''Generates CDKTF code for importing a Network resource upon running "cdktf plan ".
115
+
116
+ :param scope: The scope in which to define this construct.
117
+ :param import_to_id: The construct id used in the generated config for the Network to import.
118
+ :param import_from_id: The id of the existing Network that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#import import section} in the documentation of this resource for the id to use
119
+ :param provider: ? Optional instance of the provider where the Network to import is found.
120
+ '''
121
+ if __debug__:
122
+ type_hints = typing.get_type_hints(_typecheckingstub__34d350c769978d0c9ab3237f53446732ef5d38ad7d552c3bc28796d75189efd4)
123
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
124
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
125
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
126
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
127
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
128
+
129
+ @jsii.member(jsii_name="putIpNetwork")
130
+ def put_ip_network(
131
+ self,
132
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkIpNetwork", typing.Dict[builtins.str, typing.Any]]]],
133
+ ) -> None:
134
+ '''
135
+ :param value: -
136
+ '''
137
+ if __debug__:
138
+ type_hints = typing.get_type_hints(_typecheckingstub__772f1f7aac799c8c1bc1c2a4a8ab58540d306d5db2324b89b1ca5f214a272a9c)
139
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
140
+ return typing.cast(None, jsii.invoke(self, "putIpNetwork", [value]))
141
+
142
+ @jsii.member(jsii_name="resetIpNetwork")
143
+ def reset_ip_network(self) -> None:
144
+ return typing.cast(None, jsii.invoke(self, "resetIpNetwork", []))
145
+
146
+ @jsii.member(jsii_name="resetLabels")
147
+ def reset_labels(self) -> None:
148
+ return typing.cast(None, jsii.invoke(self, "resetLabels", []))
149
+
150
+ @jsii.member(jsii_name="resetRouter")
151
+ def reset_router(self) -> None:
152
+ return typing.cast(None, jsii.invoke(self, "resetRouter", []))
153
+
154
+ @jsii.member(jsii_name="synthesizeAttributes")
155
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
156
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
157
+
158
+ @jsii.member(jsii_name="synthesizeHclAttributes")
159
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
160
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
161
+
162
+ @jsii.python.classproperty
163
+ @jsii.member(jsii_name="tfResourceType")
164
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
165
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
166
+
167
+ @builtins.property
168
+ @jsii.member(jsii_name="id")
169
+ def id(self) -> builtins.str:
170
+ return typing.cast(builtins.str, jsii.get(self, "id"))
171
+
172
+ @builtins.property
173
+ @jsii.member(jsii_name="ipNetwork")
174
+ def ip_network(self) -> "NetworkIpNetworkList":
175
+ return typing.cast("NetworkIpNetworkList", jsii.get(self, "ipNetwork"))
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="ipNetworkInput")
184
+ def ip_network_input(
185
+ self,
186
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkIpNetwork"]]]:
187
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkIpNetwork"]]], jsii.get(self, "ipNetworkInput"))
188
+
189
+ @builtins.property
190
+ @jsii.member(jsii_name="labelsInput")
191
+ def labels_input(
192
+ self,
193
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
194
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "labelsInput"))
195
+
196
+ @builtins.property
197
+ @jsii.member(jsii_name="nameInput")
198
+ def name_input(self) -> typing.Optional[builtins.str]:
199
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
200
+
201
+ @builtins.property
202
+ @jsii.member(jsii_name="routerInput")
203
+ def router_input(self) -> typing.Optional[builtins.str]:
204
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "routerInput"))
205
+
206
+ @builtins.property
207
+ @jsii.member(jsii_name="zoneInput")
208
+ def zone_input(self) -> typing.Optional[builtins.str]:
209
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "zoneInput"))
210
+
211
+ @builtins.property
212
+ @jsii.member(jsii_name="labels")
213
+ def labels(self) -> typing.Mapping[builtins.str, builtins.str]:
214
+ return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "labels"))
215
+
216
+ @labels.setter
217
+ def labels(self, value: typing.Mapping[builtins.str, builtins.str]) -> None:
218
+ if __debug__:
219
+ type_hints = typing.get_type_hints(_typecheckingstub__81e78eda5431ea989e2edd953d34dd2a12002ef6076d910d4178f59a5ee22c7a)
220
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
221
+ jsii.set(self, "labels", value) # pyright: ignore[reportArgumentType]
222
+
223
+ @builtins.property
224
+ @jsii.member(jsii_name="name")
225
+ def name(self) -> builtins.str:
226
+ return typing.cast(builtins.str, jsii.get(self, "name"))
227
+
228
+ @name.setter
229
+ def name(self, value: builtins.str) -> None:
230
+ if __debug__:
231
+ type_hints = typing.get_type_hints(_typecheckingstub__84e72289cbf1ce6c5ab78af9551fa465bd832bd8c3f79bf52354f50f5ddd8a59)
232
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
233
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
234
+
235
+ @builtins.property
236
+ @jsii.member(jsii_name="router")
237
+ def router(self) -> builtins.str:
238
+ return typing.cast(builtins.str, jsii.get(self, "router"))
239
+
240
+ @router.setter
241
+ def router(self, value: builtins.str) -> None:
242
+ if __debug__:
243
+ type_hints = typing.get_type_hints(_typecheckingstub__b363c388f29555759f9bfc023a62f02e9e31db101945f26ca309a666598e36c3)
244
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
245
+ jsii.set(self, "router", value) # pyright: ignore[reportArgumentType]
246
+
247
+ @builtins.property
248
+ @jsii.member(jsii_name="zone")
249
+ def zone(self) -> builtins.str:
250
+ return typing.cast(builtins.str, jsii.get(self, "zone"))
251
+
252
+ @zone.setter
253
+ def zone(self, value: builtins.str) -> None:
254
+ if __debug__:
255
+ type_hints = typing.get_type_hints(_typecheckingstub__0369c3114cc8a8bbb10817e6ef2033fabad50e3ea7e55de529898b0bcc6e7197)
256
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
257
+ jsii.set(self, "zone", value) # pyright: ignore[reportArgumentType]
258
+
259
+
260
+ @jsii.data_type(
261
+ jsii_type="@cdktf/provider-upcloud.network.NetworkConfig",
262
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
263
+ name_mapping={
264
+ "connection": "connection",
265
+ "count": "count",
266
+ "depends_on": "dependsOn",
267
+ "for_each": "forEach",
268
+ "lifecycle": "lifecycle",
269
+ "provider": "provider",
270
+ "provisioners": "provisioners",
271
+ "name": "name",
272
+ "zone": "zone",
273
+ "ip_network": "ipNetwork",
274
+ "labels": "labels",
275
+ "router": "router",
276
+ },
277
+ )
278
+ class NetworkConfig(_cdktf_9a9027ec.TerraformMetaArguments):
279
+ def __init__(
280
+ self,
281
+ *,
282
+ 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,
283
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
284
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
285
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
286
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
287
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
288
+ 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,
289
+ name: builtins.str,
290
+ zone: builtins.str,
291
+ ip_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkIpNetwork", typing.Dict[builtins.str, typing.Any]]]]] = None,
292
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
293
+ router: typing.Optional[builtins.str] = None,
294
+ ) -> None:
295
+ '''
296
+ :param connection:
297
+ :param count:
298
+ :param depends_on:
299
+ :param for_each:
300
+ :param lifecycle:
301
+ :param provider:
302
+ :param provisioners:
303
+ :param name: Name of the network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#name Network#name}
304
+ :param zone: The zone the network is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#zone Network#zone}
305
+ :param ip_network: ip_network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#ip_network Network#ip_network}
306
+ :param labels: User defined key-value pairs to classify the network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#labels Network#labels}
307
+ :param router: UUID of a router to attach to this network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#router Network#router}
308
+ '''
309
+ if isinstance(lifecycle, dict):
310
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
311
+ if __debug__:
312
+ type_hints = typing.get_type_hints(_typecheckingstub__4cc92d326e1ef59bd0e2ec2f892be6fcdb6c8e18178d334cdf36f1a0c82e48f6)
313
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
314
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
315
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
316
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
317
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
318
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
319
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
320
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
321
+ check_type(argname="argument zone", value=zone, expected_type=type_hints["zone"])
322
+ check_type(argname="argument ip_network", value=ip_network, expected_type=type_hints["ip_network"])
323
+ check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
324
+ check_type(argname="argument router", value=router, expected_type=type_hints["router"])
325
+ self._values: typing.Dict[builtins.str, typing.Any] = {
326
+ "name": name,
327
+ "zone": zone,
328
+ }
329
+ if connection is not None:
330
+ self._values["connection"] = connection
331
+ if count is not None:
332
+ self._values["count"] = count
333
+ if depends_on is not None:
334
+ self._values["depends_on"] = depends_on
335
+ if for_each is not None:
336
+ self._values["for_each"] = for_each
337
+ if lifecycle is not None:
338
+ self._values["lifecycle"] = lifecycle
339
+ if provider is not None:
340
+ self._values["provider"] = provider
341
+ if provisioners is not None:
342
+ self._values["provisioners"] = provisioners
343
+ if ip_network is not None:
344
+ self._values["ip_network"] = ip_network
345
+ if labels is not None:
346
+ self._values["labels"] = labels
347
+ if router is not None:
348
+ self._values["router"] = router
349
+
350
+ @builtins.property
351
+ def connection(
352
+ self,
353
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
354
+ '''
355
+ :stability: experimental
356
+ '''
357
+ result = self._values.get("connection")
358
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
359
+
360
+ @builtins.property
361
+ def count(
362
+ self,
363
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
364
+ '''
365
+ :stability: experimental
366
+ '''
367
+ result = self._values.get("count")
368
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
369
+
370
+ @builtins.property
371
+ def depends_on(
372
+ self,
373
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
374
+ '''
375
+ :stability: experimental
376
+ '''
377
+ result = self._values.get("depends_on")
378
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
379
+
380
+ @builtins.property
381
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
382
+ '''
383
+ :stability: experimental
384
+ '''
385
+ result = self._values.get("for_each")
386
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
387
+
388
+ @builtins.property
389
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
390
+ '''
391
+ :stability: experimental
392
+ '''
393
+ result = self._values.get("lifecycle")
394
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
395
+
396
+ @builtins.property
397
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
398
+ '''
399
+ :stability: experimental
400
+ '''
401
+ result = self._values.get("provider")
402
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
403
+
404
+ @builtins.property
405
+ def provisioners(
406
+ self,
407
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
408
+ '''
409
+ :stability: experimental
410
+ '''
411
+ result = self._values.get("provisioners")
412
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
413
+
414
+ @builtins.property
415
+ def name(self) -> builtins.str:
416
+ '''Name of the network.
417
+
418
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#name Network#name}
419
+ '''
420
+ result = self._values.get("name")
421
+ assert result is not None, "Required property 'name' is missing"
422
+ return typing.cast(builtins.str, result)
423
+
424
+ @builtins.property
425
+ def zone(self) -> builtins.str:
426
+ '''The zone the network is in, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``.
427
+
428
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#zone Network#zone}
429
+ '''
430
+ result = self._values.get("zone")
431
+ assert result is not None, "Required property 'zone' is missing"
432
+ return typing.cast(builtins.str, result)
433
+
434
+ @builtins.property
435
+ def ip_network(
436
+ self,
437
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkIpNetwork"]]]:
438
+ '''ip_network block.
439
+
440
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#ip_network Network#ip_network}
441
+ '''
442
+ result = self._values.get("ip_network")
443
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkIpNetwork"]]], result)
444
+
445
+ @builtins.property
446
+ def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
447
+ '''User defined key-value pairs to classify the network.
448
+
449
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#labels Network#labels}
450
+ '''
451
+ result = self._values.get("labels")
452
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
453
+
454
+ @builtins.property
455
+ def router(self) -> typing.Optional[builtins.str]:
456
+ '''UUID of a router to attach to this network.
457
+
458
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#router Network#router}
459
+ '''
460
+ result = self._values.get("router")
461
+ return typing.cast(typing.Optional[builtins.str], result)
462
+
463
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
464
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
465
+
466
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
467
+ return not (rhs == self)
468
+
469
+ def __repr__(self) -> str:
470
+ return "NetworkConfig(%s)" % ", ".join(
471
+ k + "=" + repr(v) for k, v in self._values.items()
472
+ )
473
+
474
+
475
+ @jsii.data_type(
476
+ jsii_type="@cdktf/provider-upcloud.network.NetworkIpNetwork",
477
+ jsii_struct_bases=[],
478
+ name_mapping={
479
+ "address": "address",
480
+ "dhcp": "dhcp",
481
+ "family": "family",
482
+ "dhcp_default_route": "dhcpDefaultRoute",
483
+ "dhcp_dns": "dhcpDns",
484
+ "dhcp_routes": "dhcpRoutes",
485
+ "dhcp_routes_configuration": "dhcpRoutesConfiguration",
486
+ "gateway": "gateway",
487
+ },
488
+ )
489
+ class NetworkIpNetwork:
490
+ def __init__(
491
+ self,
492
+ *,
493
+ address: builtins.str,
494
+ dhcp: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
495
+ family: builtins.str,
496
+ dhcp_default_route: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
497
+ dhcp_dns: typing.Optional[typing.Sequence[builtins.str]] = None,
498
+ dhcp_routes: typing.Optional[typing.Sequence[builtins.str]] = None,
499
+ dhcp_routes_configuration: typing.Optional[typing.Union["NetworkIpNetworkDhcpRoutesConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
500
+ gateway: typing.Optional[builtins.str] = None,
501
+ ) -> None:
502
+ '''
503
+ :param address: The CIDR range of the subnet. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#address Network#address}
504
+ :param dhcp: Is DHCP enabled? Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp Network#dhcp}
505
+ :param family: IP address family. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#family Network#family}
506
+ :param dhcp_default_route: Is the gateway the DHCP default route? Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_default_route Network#dhcp_default_route}
507
+ :param dhcp_dns: The DNS servers given by DHCP. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_dns Network#dhcp_dns}
508
+ :param dhcp_routes: The additional DHCP classless static routes given by DHCP. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_routes Network#dhcp_routes}
509
+ :param dhcp_routes_configuration: DHCP routes auto-population configuration. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_routes_configuration Network#dhcp_routes_configuration}
510
+ :param gateway: Gateway address given by DHCP. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#gateway Network#gateway}
511
+ '''
512
+ if isinstance(dhcp_routes_configuration, dict):
513
+ dhcp_routes_configuration = NetworkIpNetworkDhcpRoutesConfiguration(**dhcp_routes_configuration)
514
+ if __debug__:
515
+ type_hints = typing.get_type_hints(_typecheckingstub__a0ad6fbb444600379383ae462fe5ae2d8f24c848db9a320e7d111545c9b44b65)
516
+ check_type(argname="argument address", value=address, expected_type=type_hints["address"])
517
+ check_type(argname="argument dhcp", value=dhcp, expected_type=type_hints["dhcp"])
518
+ check_type(argname="argument family", value=family, expected_type=type_hints["family"])
519
+ check_type(argname="argument dhcp_default_route", value=dhcp_default_route, expected_type=type_hints["dhcp_default_route"])
520
+ check_type(argname="argument dhcp_dns", value=dhcp_dns, expected_type=type_hints["dhcp_dns"])
521
+ check_type(argname="argument dhcp_routes", value=dhcp_routes, expected_type=type_hints["dhcp_routes"])
522
+ check_type(argname="argument dhcp_routes_configuration", value=dhcp_routes_configuration, expected_type=type_hints["dhcp_routes_configuration"])
523
+ check_type(argname="argument gateway", value=gateway, expected_type=type_hints["gateway"])
524
+ self._values: typing.Dict[builtins.str, typing.Any] = {
525
+ "address": address,
526
+ "dhcp": dhcp,
527
+ "family": family,
528
+ }
529
+ if dhcp_default_route is not None:
530
+ self._values["dhcp_default_route"] = dhcp_default_route
531
+ if dhcp_dns is not None:
532
+ self._values["dhcp_dns"] = dhcp_dns
533
+ if dhcp_routes is not None:
534
+ self._values["dhcp_routes"] = dhcp_routes
535
+ if dhcp_routes_configuration is not None:
536
+ self._values["dhcp_routes_configuration"] = dhcp_routes_configuration
537
+ if gateway is not None:
538
+ self._values["gateway"] = gateway
539
+
540
+ @builtins.property
541
+ def address(self) -> builtins.str:
542
+ '''The CIDR range of the subnet.
543
+
544
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#address Network#address}
545
+ '''
546
+ result = self._values.get("address")
547
+ assert result is not None, "Required property 'address' is missing"
548
+ return typing.cast(builtins.str, result)
549
+
550
+ @builtins.property
551
+ def dhcp(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
552
+ '''Is DHCP enabled?
553
+
554
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp Network#dhcp}
555
+ '''
556
+ result = self._values.get("dhcp")
557
+ assert result is not None, "Required property 'dhcp' is missing"
558
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], result)
559
+
560
+ @builtins.property
561
+ def family(self) -> builtins.str:
562
+ '''IP address family.
563
+
564
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#family Network#family}
565
+ '''
566
+ result = self._values.get("family")
567
+ assert result is not None, "Required property 'family' is missing"
568
+ return typing.cast(builtins.str, result)
569
+
570
+ @builtins.property
571
+ def dhcp_default_route(
572
+ self,
573
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
574
+ '''Is the gateway the DHCP default route?
575
+
576
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_default_route Network#dhcp_default_route}
577
+ '''
578
+ result = self._values.get("dhcp_default_route")
579
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
580
+
581
+ @builtins.property
582
+ def dhcp_dns(self) -> typing.Optional[typing.List[builtins.str]]:
583
+ '''The DNS servers given by DHCP.
584
+
585
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_dns Network#dhcp_dns}
586
+ '''
587
+ result = self._values.get("dhcp_dns")
588
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
589
+
590
+ @builtins.property
591
+ def dhcp_routes(self) -> typing.Optional[typing.List[builtins.str]]:
592
+ '''The additional DHCP classless static routes given by DHCP.
593
+
594
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_routes Network#dhcp_routes}
595
+ '''
596
+ result = self._values.get("dhcp_routes")
597
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
598
+
599
+ @builtins.property
600
+ def dhcp_routes_configuration(
601
+ self,
602
+ ) -> typing.Optional["NetworkIpNetworkDhcpRoutesConfiguration"]:
603
+ '''DHCP routes auto-population configuration.
604
+
605
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#dhcp_routes_configuration Network#dhcp_routes_configuration}
606
+ '''
607
+ result = self._values.get("dhcp_routes_configuration")
608
+ return typing.cast(typing.Optional["NetworkIpNetworkDhcpRoutesConfiguration"], result)
609
+
610
+ @builtins.property
611
+ def gateway(self) -> typing.Optional[builtins.str]:
612
+ '''Gateway address given by DHCP.
613
+
614
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#gateway Network#gateway}
615
+ '''
616
+ result = self._values.get("gateway")
617
+ return typing.cast(typing.Optional[builtins.str], result)
618
+
619
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
620
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
621
+
622
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
623
+ return not (rhs == self)
624
+
625
+ def __repr__(self) -> str:
626
+ return "NetworkIpNetwork(%s)" % ", ".join(
627
+ k + "=" + repr(v) for k, v in self._values.items()
628
+ )
629
+
630
+
631
+ @jsii.data_type(
632
+ jsii_type="@cdktf/provider-upcloud.network.NetworkIpNetworkDhcpRoutesConfiguration",
633
+ jsii_struct_bases=[],
634
+ name_mapping={"effective_routes_auto_population": "effectiveRoutesAutoPopulation"},
635
+ )
636
+ class NetworkIpNetworkDhcpRoutesConfiguration:
637
+ def __init__(
638
+ self,
639
+ *,
640
+ effective_routes_auto_population: typing.Optional[typing.Union["NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation", typing.Dict[builtins.str, typing.Any]]] = None,
641
+ ) -> None:
642
+ '''
643
+ :param effective_routes_auto_population: Automatically populate effective routes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#effective_routes_auto_population Network#effective_routes_auto_population}
644
+ '''
645
+ if isinstance(effective_routes_auto_population, dict):
646
+ effective_routes_auto_population = NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation(**effective_routes_auto_population)
647
+ if __debug__:
648
+ type_hints = typing.get_type_hints(_typecheckingstub__e093a663a7e17f847af4e4e7eae4c852310875eafb27f4a72edc8348705011fd)
649
+ check_type(argname="argument effective_routes_auto_population", value=effective_routes_auto_population, expected_type=type_hints["effective_routes_auto_population"])
650
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
651
+ if effective_routes_auto_population is not None:
652
+ self._values["effective_routes_auto_population"] = effective_routes_auto_population
653
+
654
+ @builtins.property
655
+ def effective_routes_auto_population(
656
+ self,
657
+ ) -> typing.Optional["NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation"]:
658
+ '''Automatically populate effective routes.
659
+
660
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#effective_routes_auto_population Network#effective_routes_auto_population}
661
+ '''
662
+ result = self._values.get("effective_routes_auto_population")
663
+ return typing.cast(typing.Optional["NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation"], result)
664
+
665
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
666
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
667
+
668
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
669
+ return not (rhs == self)
670
+
671
+ def __repr__(self) -> str:
672
+ return "NetworkIpNetworkDhcpRoutesConfiguration(%s)" % ", ".join(
673
+ k + "=" + repr(v) for k, v in self._values.items()
674
+ )
675
+
676
+
677
+ @jsii.data_type(
678
+ jsii_type="@cdktf/provider-upcloud.network.NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation",
679
+ jsii_struct_bases=[],
680
+ name_mapping={
681
+ "enabled": "enabled",
682
+ "exclude_by_source": "excludeBySource",
683
+ "filter_by_destination": "filterByDestination",
684
+ "filter_by_route_type": "filterByRouteType",
685
+ },
686
+ )
687
+ class NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation:
688
+ def __init__(
689
+ self,
690
+ *,
691
+ enabled: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
692
+ exclude_by_source: typing.Optional[typing.Sequence[builtins.str]] = None,
693
+ filter_by_destination: typing.Optional[typing.Sequence[builtins.str]] = None,
694
+ filter_by_route_type: typing.Optional[typing.Sequence[builtins.str]] = None,
695
+ ) -> None:
696
+ '''
697
+ :param enabled: Enable or disable route auto-population. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#enabled Network#enabled}
698
+ :param exclude_by_source: Exclude routes coming from specific sources (router-connected-networks, static-route). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#exclude_by_source Network#exclude_by_source}
699
+ :param filter_by_destination: CIDR destinations to include when auto-populating routes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#filter_by_destination Network#filter_by_destination}
700
+ :param filter_by_route_type: Include only routes of given types (service, user). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#filter_by_route_type Network#filter_by_route_type}
701
+ '''
702
+ if __debug__:
703
+ type_hints = typing.get_type_hints(_typecheckingstub__a6023eec1db2445dd43f37ead4e02235e6ec46568998841c16890561375dd178)
704
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
705
+ check_type(argname="argument exclude_by_source", value=exclude_by_source, expected_type=type_hints["exclude_by_source"])
706
+ check_type(argname="argument filter_by_destination", value=filter_by_destination, expected_type=type_hints["filter_by_destination"])
707
+ check_type(argname="argument filter_by_route_type", value=filter_by_route_type, expected_type=type_hints["filter_by_route_type"])
708
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
709
+ if enabled is not None:
710
+ self._values["enabled"] = enabled
711
+ if exclude_by_source is not None:
712
+ self._values["exclude_by_source"] = exclude_by_source
713
+ if filter_by_destination is not None:
714
+ self._values["filter_by_destination"] = filter_by_destination
715
+ if filter_by_route_type is not None:
716
+ self._values["filter_by_route_type"] = filter_by_route_type
717
+
718
+ @builtins.property
719
+ def enabled(
720
+ self,
721
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
722
+ '''Enable or disable route auto-population.
723
+
724
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#enabled Network#enabled}
725
+ '''
726
+ result = self._values.get("enabled")
727
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
728
+
729
+ @builtins.property
730
+ def exclude_by_source(self) -> typing.Optional[typing.List[builtins.str]]:
731
+ '''Exclude routes coming from specific sources (router-connected-networks, static-route).
732
+
733
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#exclude_by_source Network#exclude_by_source}
734
+ '''
735
+ result = self._values.get("exclude_by_source")
736
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
737
+
738
+ @builtins.property
739
+ def filter_by_destination(self) -> typing.Optional[typing.List[builtins.str]]:
740
+ '''CIDR destinations to include when auto-populating routes.
741
+
742
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#filter_by_destination Network#filter_by_destination}
743
+ '''
744
+ result = self._values.get("filter_by_destination")
745
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
746
+
747
+ @builtins.property
748
+ def filter_by_route_type(self) -> typing.Optional[typing.List[builtins.str]]:
749
+ '''Include only routes of given types (service, user).
750
+
751
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#filter_by_route_type Network#filter_by_route_type}
752
+ '''
753
+ result = self._values.get("filter_by_route_type")
754
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
755
+
756
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
757
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
758
+
759
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
760
+ return not (rhs == self)
761
+
762
+ def __repr__(self) -> str:
763
+ return "NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation(%s)" % ", ".join(
764
+ k + "=" + repr(v) for k, v in self._values.items()
765
+ )
766
+
767
+
768
+ class NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationOutputReference(
769
+ _cdktf_9a9027ec.ComplexObject,
770
+ metaclass=jsii.JSIIMeta,
771
+ jsii_type="@cdktf/provider-upcloud.network.NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationOutputReference",
772
+ ):
773
+ def __init__(
774
+ self,
775
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
776
+ terraform_attribute: builtins.str,
777
+ ) -> None:
778
+ '''
779
+ :param terraform_resource: The parent resource.
780
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
781
+ '''
782
+ if __debug__:
783
+ type_hints = typing.get_type_hints(_typecheckingstub__5154725e134af25091da6fe15aec50b950f3ec115b4275a8daaf555f42d7bef3)
784
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
785
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
786
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute])
787
+
788
+ @jsii.member(jsii_name="resetEnabled")
789
+ def reset_enabled(self) -> None:
790
+ return typing.cast(None, jsii.invoke(self, "resetEnabled", []))
791
+
792
+ @jsii.member(jsii_name="resetExcludeBySource")
793
+ def reset_exclude_by_source(self) -> None:
794
+ return typing.cast(None, jsii.invoke(self, "resetExcludeBySource", []))
795
+
796
+ @jsii.member(jsii_name="resetFilterByDestination")
797
+ def reset_filter_by_destination(self) -> None:
798
+ return typing.cast(None, jsii.invoke(self, "resetFilterByDestination", []))
799
+
800
+ @jsii.member(jsii_name="resetFilterByRouteType")
801
+ def reset_filter_by_route_type(self) -> None:
802
+ return typing.cast(None, jsii.invoke(self, "resetFilterByRouteType", []))
803
+
804
+ @builtins.property
805
+ @jsii.member(jsii_name="enabledInput")
806
+ def enabled_input(
807
+ self,
808
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
809
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "enabledInput"))
810
+
811
+ @builtins.property
812
+ @jsii.member(jsii_name="excludeBySourceInput")
813
+ def exclude_by_source_input(self) -> typing.Optional[typing.List[builtins.str]]:
814
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "excludeBySourceInput"))
815
+
816
+ @builtins.property
817
+ @jsii.member(jsii_name="filterByDestinationInput")
818
+ def filter_by_destination_input(self) -> typing.Optional[typing.List[builtins.str]]:
819
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "filterByDestinationInput"))
820
+
821
+ @builtins.property
822
+ @jsii.member(jsii_name="filterByRouteTypeInput")
823
+ def filter_by_route_type_input(self) -> typing.Optional[typing.List[builtins.str]]:
824
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "filterByRouteTypeInput"))
825
+
826
+ @builtins.property
827
+ @jsii.member(jsii_name="enabled")
828
+ def enabled(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
829
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "enabled"))
830
+
831
+ @enabled.setter
832
+ def enabled(
833
+ self,
834
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
835
+ ) -> None:
836
+ if __debug__:
837
+ type_hints = typing.get_type_hints(_typecheckingstub__eb632c0e7bc51fc09c3c5a300ef5673385f19718a84dd01eb25d5d086d85129b)
838
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
839
+ jsii.set(self, "enabled", value) # pyright: ignore[reportArgumentType]
840
+
841
+ @builtins.property
842
+ @jsii.member(jsii_name="excludeBySource")
843
+ def exclude_by_source(self) -> typing.List[builtins.str]:
844
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "excludeBySource"))
845
+
846
+ @exclude_by_source.setter
847
+ def exclude_by_source(self, value: typing.List[builtins.str]) -> None:
848
+ if __debug__:
849
+ type_hints = typing.get_type_hints(_typecheckingstub__d1b462c5215dd6903264ae102fcffcffe99df9fcc2f60b855c473ce63f0a6db0)
850
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
851
+ jsii.set(self, "excludeBySource", value) # pyright: ignore[reportArgumentType]
852
+
853
+ @builtins.property
854
+ @jsii.member(jsii_name="filterByDestination")
855
+ def filter_by_destination(self) -> typing.List[builtins.str]:
856
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "filterByDestination"))
857
+
858
+ @filter_by_destination.setter
859
+ def filter_by_destination(self, value: typing.List[builtins.str]) -> None:
860
+ if __debug__:
861
+ type_hints = typing.get_type_hints(_typecheckingstub__729ada18fe84088b56efb0dc585bbe0cd533f9fca0b15a0a000cd56d4867e75f)
862
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
863
+ jsii.set(self, "filterByDestination", value) # pyright: ignore[reportArgumentType]
864
+
865
+ @builtins.property
866
+ @jsii.member(jsii_name="filterByRouteType")
867
+ def filter_by_route_type(self) -> typing.List[builtins.str]:
868
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "filterByRouteType"))
869
+
870
+ @filter_by_route_type.setter
871
+ def filter_by_route_type(self, value: typing.List[builtins.str]) -> None:
872
+ if __debug__:
873
+ type_hints = typing.get_type_hints(_typecheckingstub__0ea604314bfdc380cb27e6f1e43132d5e390385ac5a57746a6aa96e64b75482c)
874
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
875
+ jsii.set(self, "filterByRouteType", value) # pyright: ignore[reportArgumentType]
876
+
877
+ @builtins.property
878
+ @jsii.member(jsii_name="internalValue")
879
+ def internal_value(
880
+ self,
881
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation]]:
882
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation]], jsii.get(self, "internalValue"))
883
+
884
+ @internal_value.setter
885
+ def internal_value(
886
+ self,
887
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation]],
888
+ ) -> None:
889
+ if __debug__:
890
+ type_hints = typing.get_type_hints(_typecheckingstub__6b09fc8a571d92e94a092e6c95e332bfd1bf3163485b318f9949b0ffc4190f93)
891
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
892
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
893
+
894
+
895
+ class NetworkIpNetworkDhcpRoutesConfigurationOutputReference(
896
+ _cdktf_9a9027ec.ComplexObject,
897
+ metaclass=jsii.JSIIMeta,
898
+ jsii_type="@cdktf/provider-upcloud.network.NetworkIpNetworkDhcpRoutesConfigurationOutputReference",
899
+ ):
900
+ def __init__(
901
+ self,
902
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
903
+ terraform_attribute: builtins.str,
904
+ ) -> None:
905
+ '''
906
+ :param terraform_resource: The parent resource.
907
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
908
+ '''
909
+ if __debug__:
910
+ type_hints = typing.get_type_hints(_typecheckingstub__0e4f8479329456b927c893ac19827b372c450c70ba1fc959464d32e247c375a1)
911
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
912
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
913
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute])
914
+
915
+ @jsii.member(jsii_name="putEffectiveRoutesAutoPopulation")
916
+ def put_effective_routes_auto_population(
917
+ self,
918
+ *,
919
+ enabled: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
920
+ exclude_by_source: typing.Optional[typing.Sequence[builtins.str]] = None,
921
+ filter_by_destination: typing.Optional[typing.Sequence[builtins.str]] = None,
922
+ filter_by_route_type: typing.Optional[typing.Sequence[builtins.str]] = None,
923
+ ) -> None:
924
+ '''
925
+ :param enabled: Enable or disable route auto-population. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#enabled Network#enabled}
926
+ :param exclude_by_source: Exclude routes coming from specific sources (router-connected-networks, static-route). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#exclude_by_source Network#exclude_by_source}
927
+ :param filter_by_destination: CIDR destinations to include when auto-populating routes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#filter_by_destination Network#filter_by_destination}
928
+ :param filter_by_route_type: Include only routes of given types (service, user). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#filter_by_route_type Network#filter_by_route_type}
929
+ '''
930
+ value = NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation(
931
+ enabled=enabled,
932
+ exclude_by_source=exclude_by_source,
933
+ filter_by_destination=filter_by_destination,
934
+ filter_by_route_type=filter_by_route_type,
935
+ )
936
+
937
+ return typing.cast(None, jsii.invoke(self, "putEffectiveRoutesAutoPopulation", [value]))
938
+
939
+ @jsii.member(jsii_name="resetEffectiveRoutesAutoPopulation")
940
+ def reset_effective_routes_auto_population(self) -> None:
941
+ return typing.cast(None, jsii.invoke(self, "resetEffectiveRoutesAutoPopulation", []))
942
+
943
+ @builtins.property
944
+ @jsii.member(jsii_name="effectiveRoutesAutoPopulation")
945
+ def effective_routes_auto_population(
946
+ self,
947
+ ) -> NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationOutputReference:
948
+ return typing.cast(NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationOutputReference, jsii.get(self, "effectiveRoutesAutoPopulation"))
949
+
950
+ @builtins.property
951
+ @jsii.member(jsii_name="effectiveRoutesAutoPopulationInput")
952
+ def effective_routes_auto_population_input(
953
+ self,
954
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation]]:
955
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation]], jsii.get(self, "effectiveRoutesAutoPopulationInput"))
956
+
957
+ @builtins.property
958
+ @jsii.member(jsii_name="internalValue")
959
+ def internal_value(
960
+ self,
961
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfiguration]]:
962
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfiguration]], jsii.get(self, "internalValue"))
963
+
964
+ @internal_value.setter
965
+ def internal_value(
966
+ self,
967
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfiguration]],
968
+ ) -> None:
969
+ if __debug__:
970
+ type_hints = typing.get_type_hints(_typecheckingstub__aec9916471abe705733f917c52d9aa147f3905fe68e15f94c8dfeea2115a2f87)
971
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
972
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
973
+
974
+
975
+ class NetworkIpNetworkList(
976
+ _cdktf_9a9027ec.ComplexList,
977
+ metaclass=jsii.JSIIMeta,
978
+ jsii_type="@cdktf/provider-upcloud.network.NetworkIpNetworkList",
979
+ ):
980
+ def __init__(
981
+ self,
982
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
983
+ terraform_attribute: builtins.str,
984
+ wraps_set: builtins.bool,
985
+ ) -> None:
986
+ '''
987
+ :param terraform_resource: The parent resource.
988
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
989
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
990
+ '''
991
+ if __debug__:
992
+ type_hints = typing.get_type_hints(_typecheckingstub__d075c5e124ac073e3ebfbc4057a65313dec6e4845a13341f7cf80b6c0d2c183c)
993
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
994
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
995
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
996
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
997
+
998
+ @jsii.member(jsii_name="get")
999
+ def get(self, index: jsii.Number) -> "NetworkIpNetworkOutputReference":
1000
+ '''
1001
+ :param index: the index of the item to return.
1002
+ '''
1003
+ if __debug__:
1004
+ type_hints = typing.get_type_hints(_typecheckingstub__a7d85699481e6b13c867cf958a4cce2973b18c4db26aa8989818d2a0968b8740)
1005
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
1006
+ return typing.cast("NetworkIpNetworkOutputReference", jsii.invoke(self, "get", [index]))
1007
+
1008
+ @builtins.property
1009
+ @jsii.member(jsii_name="terraformAttribute")
1010
+ def _terraform_attribute(self) -> builtins.str:
1011
+ '''The attribute on the parent resource this class is referencing.'''
1012
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
1013
+
1014
+ @_terraform_attribute.setter
1015
+ def _terraform_attribute(self, value: builtins.str) -> None:
1016
+ if __debug__:
1017
+ type_hints = typing.get_type_hints(_typecheckingstub__1c85bf15d1657bb96cf2ef12a9b6207e6c9ab4a2e345a8bbd127e71fa75ea49d)
1018
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1019
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
1020
+
1021
+ @builtins.property
1022
+ @jsii.member(jsii_name="terraformResource")
1023
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
1024
+ '''The parent resource.'''
1025
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
1026
+
1027
+ @_terraform_resource.setter
1028
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
1029
+ if __debug__:
1030
+ type_hints = typing.get_type_hints(_typecheckingstub__b28c3bdd0ec7fa14db2b4d6060016bddf190bd71a49e3ed5973f3e98448cfe9c)
1031
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1032
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
1033
+
1034
+ @builtins.property
1035
+ @jsii.member(jsii_name="wrapsSet")
1036
+ def _wraps_set(self) -> builtins.bool:
1037
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
1038
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
1039
+
1040
+ @_wraps_set.setter
1041
+ def _wraps_set(self, value: builtins.bool) -> None:
1042
+ if __debug__:
1043
+ type_hints = typing.get_type_hints(_typecheckingstub__5e3e4fd3fa56c5c742e15eab7d901779a9ea715f6723d07b8df3724bf88bfb8a)
1044
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1045
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
1046
+
1047
+ @builtins.property
1048
+ @jsii.member(jsii_name="internalValue")
1049
+ def internal_value(
1050
+ self,
1051
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkIpNetwork]]]:
1052
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkIpNetwork]]], jsii.get(self, "internalValue"))
1053
+
1054
+ @internal_value.setter
1055
+ def internal_value(
1056
+ self,
1057
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkIpNetwork]]],
1058
+ ) -> None:
1059
+ if __debug__:
1060
+ type_hints = typing.get_type_hints(_typecheckingstub__41ee6f00009a56057ce68aadd9a41df0ff2176a1af2ca17891a9f2a37b263110)
1061
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1062
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1063
+
1064
+
1065
+ class NetworkIpNetworkOutputReference(
1066
+ _cdktf_9a9027ec.ComplexObject,
1067
+ metaclass=jsii.JSIIMeta,
1068
+ jsii_type="@cdktf/provider-upcloud.network.NetworkIpNetworkOutputReference",
1069
+ ):
1070
+ def __init__(
1071
+ self,
1072
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1073
+ terraform_attribute: builtins.str,
1074
+ complex_object_index: jsii.Number,
1075
+ complex_object_is_from_set: builtins.bool,
1076
+ ) -> None:
1077
+ '''
1078
+ :param terraform_resource: The parent resource.
1079
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1080
+ :param complex_object_index: the index of this item in the list.
1081
+ :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).
1082
+ '''
1083
+ if __debug__:
1084
+ type_hints = typing.get_type_hints(_typecheckingstub__2a12f361ef69a87d82a3e09aad2d4c09d101a558a1be10f0c16c249cd75f062b)
1085
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1086
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1087
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
1088
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
1089
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
1090
+
1091
+ @jsii.member(jsii_name="putDhcpRoutesConfiguration")
1092
+ def put_dhcp_routes_configuration(
1093
+ self,
1094
+ *,
1095
+ effective_routes_auto_population: typing.Optional[typing.Union[NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation, typing.Dict[builtins.str, typing.Any]]] = None,
1096
+ ) -> None:
1097
+ '''
1098
+ :param effective_routes_auto_population: Automatically populate effective routes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network#effective_routes_auto_population Network#effective_routes_auto_population}
1099
+ '''
1100
+ value = NetworkIpNetworkDhcpRoutesConfiguration(
1101
+ effective_routes_auto_population=effective_routes_auto_population
1102
+ )
1103
+
1104
+ return typing.cast(None, jsii.invoke(self, "putDhcpRoutesConfiguration", [value]))
1105
+
1106
+ @jsii.member(jsii_name="resetDhcpDefaultRoute")
1107
+ def reset_dhcp_default_route(self) -> None:
1108
+ return typing.cast(None, jsii.invoke(self, "resetDhcpDefaultRoute", []))
1109
+
1110
+ @jsii.member(jsii_name="resetDhcpDns")
1111
+ def reset_dhcp_dns(self) -> None:
1112
+ return typing.cast(None, jsii.invoke(self, "resetDhcpDns", []))
1113
+
1114
+ @jsii.member(jsii_name="resetDhcpRoutes")
1115
+ def reset_dhcp_routes(self) -> None:
1116
+ return typing.cast(None, jsii.invoke(self, "resetDhcpRoutes", []))
1117
+
1118
+ @jsii.member(jsii_name="resetDhcpRoutesConfiguration")
1119
+ def reset_dhcp_routes_configuration(self) -> None:
1120
+ return typing.cast(None, jsii.invoke(self, "resetDhcpRoutesConfiguration", []))
1121
+
1122
+ @jsii.member(jsii_name="resetGateway")
1123
+ def reset_gateway(self) -> None:
1124
+ return typing.cast(None, jsii.invoke(self, "resetGateway", []))
1125
+
1126
+ @builtins.property
1127
+ @jsii.member(jsii_name="dhcpRoutesConfiguration")
1128
+ def dhcp_routes_configuration(
1129
+ self,
1130
+ ) -> NetworkIpNetworkDhcpRoutesConfigurationOutputReference:
1131
+ return typing.cast(NetworkIpNetworkDhcpRoutesConfigurationOutputReference, jsii.get(self, "dhcpRoutesConfiguration"))
1132
+
1133
+ @builtins.property
1134
+ @jsii.member(jsii_name="addressInput")
1135
+ def address_input(self) -> typing.Optional[builtins.str]:
1136
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "addressInput"))
1137
+
1138
+ @builtins.property
1139
+ @jsii.member(jsii_name="dhcpDefaultRouteInput")
1140
+ def dhcp_default_route_input(
1141
+ self,
1142
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1143
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "dhcpDefaultRouteInput"))
1144
+
1145
+ @builtins.property
1146
+ @jsii.member(jsii_name="dhcpDnsInput")
1147
+ def dhcp_dns_input(self) -> typing.Optional[typing.List[builtins.str]]:
1148
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "dhcpDnsInput"))
1149
+
1150
+ @builtins.property
1151
+ @jsii.member(jsii_name="dhcpInput")
1152
+ def dhcp_input(
1153
+ self,
1154
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1155
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "dhcpInput"))
1156
+
1157
+ @builtins.property
1158
+ @jsii.member(jsii_name="dhcpRoutesConfigurationInput")
1159
+ def dhcp_routes_configuration_input(
1160
+ self,
1161
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfiguration]]:
1162
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfiguration]], jsii.get(self, "dhcpRoutesConfigurationInput"))
1163
+
1164
+ @builtins.property
1165
+ @jsii.member(jsii_name="dhcpRoutesInput")
1166
+ def dhcp_routes_input(self) -> typing.Optional[typing.List[builtins.str]]:
1167
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "dhcpRoutesInput"))
1168
+
1169
+ @builtins.property
1170
+ @jsii.member(jsii_name="familyInput")
1171
+ def family_input(self) -> typing.Optional[builtins.str]:
1172
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "familyInput"))
1173
+
1174
+ @builtins.property
1175
+ @jsii.member(jsii_name="gatewayInput")
1176
+ def gateway_input(self) -> typing.Optional[builtins.str]:
1177
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "gatewayInput"))
1178
+
1179
+ @builtins.property
1180
+ @jsii.member(jsii_name="address")
1181
+ def address(self) -> builtins.str:
1182
+ return typing.cast(builtins.str, jsii.get(self, "address"))
1183
+
1184
+ @address.setter
1185
+ def address(self, value: builtins.str) -> None:
1186
+ if __debug__:
1187
+ type_hints = typing.get_type_hints(_typecheckingstub__b6a98e691a6c6b6b9491ee9a7712a3ff9d685e12c525cd35df38782bc9813b05)
1188
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1189
+ jsii.set(self, "address", value) # pyright: ignore[reportArgumentType]
1190
+
1191
+ @builtins.property
1192
+ @jsii.member(jsii_name="dhcp")
1193
+ def dhcp(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
1194
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "dhcp"))
1195
+
1196
+ @dhcp.setter
1197
+ def dhcp(
1198
+ self,
1199
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
1200
+ ) -> None:
1201
+ if __debug__:
1202
+ type_hints = typing.get_type_hints(_typecheckingstub__d20fab6189c7b85db51a5861ac41f6b489e7f8e5ad81355e6c02c79e3ae41773)
1203
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1204
+ jsii.set(self, "dhcp", value) # pyright: ignore[reportArgumentType]
1205
+
1206
+ @builtins.property
1207
+ @jsii.member(jsii_name="dhcpDefaultRoute")
1208
+ def dhcp_default_route(
1209
+ self,
1210
+ ) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
1211
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "dhcpDefaultRoute"))
1212
+
1213
+ @dhcp_default_route.setter
1214
+ def dhcp_default_route(
1215
+ self,
1216
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
1217
+ ) -> None:
1218
+ if __debug__:
1219
+ type_hints = typing.get_type_hints(_typecheckingstub__9ea3923c81643e6285fdb0c4093fc0271db1e6c342eb83665095efea93f4c7ec)
1220
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1221
+ jsii.set(self, "dhcpDefaultRoute", value) # pyright: ignore[reportArgumentType]
1222
+
1223
+ @builtins.property
1224
+ @jsii.member(jsii_name="dhcpDns")
1225
+ def dhcp_dns(self) -> typing.List[builtins.str]:
1226
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "dhcpDns"))
1227
+
1228
+ @dhcp_dns.setter
1229
+ def dhcp_dns(self, value: typing.List[builtins.str]) -> None:
1230
+ if __debug__:
1231
+ type_hints = typing.get_type_hints(_typecheckingstub__5373e8bde56ab2a4dfd28be72c7740984795e19631e0ba63051fff9b7b96e398)
1232
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1233
+ jsii.set(self, "dhcpDns", value) # pyright: ignore[reportArgumentType]
1234
+
1235
+ @builtins.property
1236
+ @jsii.member(jsii_name="dhcpRoutes")
1237
+ def dhcp_routes(self) -> typing.List[builtins.str]:
1238
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "dhcpRoutes"))
1239
+
1240
+ @dhcp_routes.setter
1241
+ def dhcp_routes(self, value: typing.List[builtins.str]) -> None:
1242
+ if __debug__:
1243
+ type_hints = typing.get_type_hints(_typecheckingstub__33e9e800fdd19e524f0ce968b65f0d8ad3d15d6df60b7566ed7052a92691284c)
1244
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1245
+ jsii.set(self, "dhcpRoutes", value) # pyright: ignore[reportArgumentType]
1246
+
1247
+ @builtins.property
1248
+ @jsii.member(jsii_name="family")
1249
+ def family(self) -> builtins.str:
1250
+ return typing.cast(builtins.str, jsii.get(self, "family"))
1251
+
1252
+ @family.setter
1253
+ def family(self, value: builtins.str) -> None:
1254
+ if __debug__:
1255
+ type_hints = typing.get_type_hints(_typecheckingstub__da754048e039b79b7b49e49141c87becd4b7be60d9070dce0fae07b59e62905a)
1256
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1257
+ jsii.set(self, "family", value) # pyright: ignore[reportArgumentType]
1258
+
1259
+ @builtins.property
1260
+ @jsii.member(jsii_name="gateway")
1261
+ def gateway(self) -> builtins.str:
1262
+ return typing.cast(builtins.str, jsii.get(self, "gateway"))
1263
+
1264
+ @gateway.setter
1265
+ def gateway(self, value: builtins.str) -> None:
1266
+ if __debug__:
1267
+ type_hints = typing.get_type_hints(_typecheckingstub__85fbb1fa23b5ade0741c3445f03ff27b197d489175a64995ecf629777431ffbe)
1268
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1269
+ jsii.set(self, "gateway", value) # pyright: ignore[reportArgumentType]
1270
+
1271
+ @builtins.property
1272
+ @jsii.member(jsii_name="internalValue")
1273
+ def internal_value(
1274
+ self,
1275
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetwork]]:
1276
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetwork]], jsii.get(self, "internalValue"))
1277
+
1278
+ @internal_value.setter
1279
+ def internal_value(
1280
+ self,
1281
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetwork]],
1282
+ ) -> None:
1283
+ if __debug__:
1284
+ type_hints = typing.get_type_hints(_typecheckingstub__6f3d5daace718b26b0329feea7bc156a63f953ccc7782c7c71ccd92c60d09747)
1285
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1286
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1287
+
1288
+
1289
+ __all__ = [
1290
+ "Network",
1291
+ "NetworkConfig",
1292
+ "NetworkIpNetwork",
1293
+ "NetworkIpNetworkDhcpRoutesConfiguration",
1294
+ "NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation",
1295
+ "NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationOutputReference",
1296
+ "NetworkIpNetworkDhcpRoutesConfigurationOutputReference",
1297
+ "NetworkIpNetworkList",
1298
+ "NetworkIpNetworkOutputReference",
1299
+ ]
1300
+
1301
+ publication.publish()
1302
+
1303
+ def _typecheckingstub__fc3c34873f1a44cebcb9435310e62bfc7abed9c849834686c99e43fdc9dc5dfe(
1304
+ scope: _constructs_77d1e7e8.Construct,
1305
+ id: builtins.str,
1306
+ *,
1307
+ name: builtins.str,
1308
+ zone: builtins.str,
1309
+ ip_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkIpNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
1310
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1311
+ router: typing.Optional[builtins.str] = None,
1312
+ 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,
1313
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1314
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1315
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1316
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1317
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1318
+ 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,
1319
+ ) -> None:
1320
+ """Type checking stubs"""
1321
+ pass
1322
+
1323
+ def _typecheckingstub__34d350c769978d0c9ab3237f53446732ef5d38ad7d552c3bc28796d75189efd4(
1324
+ scope: _constructs_77d1e7e8.Construct,
1325
+ import_to_id: builtins.str,
1326
+ import_from_id: builtins.str,
1327
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1328
+ ) -> None:
1329
+ """Type checking stubs"""
1330
+ pass
1331
+
1332
+ def _typecheckingstub__772f1f7aac799c8c1bc1c2a4a8ab58540d306d5db2324b89b1ca5f214a272a9c(
1333
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkIpNetwork, typing.Dict[builtins.str, typing.Any]]]],
1334
+ ) -> None:
1335
+ """Type checking stubs"""
1336
+ pass
1337
+
1338
+ def _typecheckingstub__81e78eda5431ea989e2edd953d34dd2a12002ef6076d910d4178f59a5ee22c7a(
1339
+ value: typing.Mapping[builtins.str, builtins.str],
1340
+ ) -> None:
1341
+ """Type checking stubs"""
1342
+ pass
1343
+
1344
+ def _typecheckingstub__84e72289cbf1ce6c5ab78af9551fa465bd832bd8c3f79bf52354f50f5ddd8a59(
1345
+ value: builtins.str,
1346
+ ) -> None:
1347
+ """Type checking stubs"""
1348
+ pass
1349
+
1350
+ def _typecheckingstub__b363c388f29555759f9bfc023a62f02e9e31db101945f26ca309a666598e36c3(
1351
+ value: builtins.str,
1352
+ ) -> None:
1353
+ """Type checking stubs"""
1354
+ pass
1355
+
1356
+ def _typecheckingstub__0369c3114cc8a8bbb10817e6ef2033fabad50e3ea7e55de529898b0bcc6e7197(
1357
+ value: builtins.str,
1358
+ ) -> None:
1359
+ """Type checking stubs"""
1360
+ pass
1361
+
1362
+ def _typecheckingstub__4cc92d326e1ef59bd0e2ec2f892be6fcdb6c8e18178d334cdf36f1a0c82e48f6(
1363
+ *,
1364
+ 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,
1365
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1366
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1367
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1368
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1369
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1370
+ 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,
1371
+ name: builtins.str,
1372
+ zone: builtins.str,
1373
+ ip_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkIpNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
1374
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1375
+ router: typing.Optional[builtins.str] = None,
1376
+ ) -> None:
1377
+ """Type checking stubs"""
1378
+ pass
1379
+
1380
+ def _typecheckingstub__a0ad6fbb444600379383ae462fe5ae2d8f24c848db9a320e7d111545c9b44b65(
1381
+ *,
1382
+ address: builtins.str,
1383
+ dhcp: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
1384
+ family: builtins.str,
1385
+ dhcp_default_route: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1386
+ dhcp_dns: typing.Optional[typing.Sequence[builtins.str]] = None,
1387
+ dhcp_routes: typing.Optional[typing.Sequence[builtins.str]] = None,
1388
+ dhcp_routes_configuration: typing.Optional[typing.Union[NetworkIpNetworkDhcpRoutesConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
1389
+ gateway: typing.Optional[builtins.str] = None,
1390
+ ) -> None:
1391
+ """Type checking stubs"""
1392
+ pass
1393
+
1394
+ def _typecheckingstub__e093a663a7e17f847af4e4e7eae4c852310875eafb27f4a72edc8348705011fd(
1395
+ *,
1396
+ effective_routes_auto_population: typing.Optional[typing.Union[NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation, typing.Dict[builtins.str, typing.Any]]] = None,
1397
+ ) -> None:
1398
+ """Type checking stubs"""
1399
+ pass
1400
+
1401
+ def _typecheckingstub__a6023eec1db2445dd43f37ead4e02235e6ec46568998841c16890561375dd178(
1402
+ *,
1403
+ enabled: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1404
+ exclude_by_source: typing.Optional[typing.Sequence[builtins.str]] = None,
1405
+ filter_by_destination: typing.Optional[typing.Sequence[builtins.str]] = None,
1406
+ filter_by_route_type: typing.Optional[typing.Sequence[builtins.str]] = None,
1407
+ ) -> None:
1408
+ """Type checking stubs"""
1409
+ pass
1410
+
1411
+ def _typecheckingstub__5154725e134af25091da6fe15aec50b950f3ec115b4275a8daaf555f42d7bef3(
1412
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1413
+ terraform_attribute: builtins.str,
1414
+ ) -> None:
1415
+ """Type checking stubs"""
1416
+ pass
1417
+
1418
+ def _typecheckingstub__eb632c0e7bc51fc09c3c5a300ef5673385f19718a84dd01eb25d5d086d85129b(
1419
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
1420
+ ) -> None:
1421
+ """Type checking stubs"""
1422
+ pass
1423
+
1424
+ def _typecheckingstub__d1b462c5215dd6903264ae102fcffcffe99df9fcc2f60b855c473ce63f0a6db0(
1425
+ value: typing.List[builtins.str],
1426
+ ) -> None:
1427
+ """Type checking stubs"""
1428
+ pass
1429
+
1430
+ def _typecheckingstub__729ada18fe84088b56efb0dc585bbe0cd533f9fca0b15a0a000cd56d4867e75f(
1431
+ value: typing.List[builtins.str],
1432
+ ) -> None:
1433
+ """Type checking stubs"""
1434
+ pass
1435
+
1436
+ def _typecheckingstub__0ea604314bfdc380cb27e6f1e43132d5e390385ac5a57746a6aa96e64b75482c(
1437
+ value: typing.List[builtins.str],
1438
+ ) -> None:
1439
+ """Type checking stubs"""
1440
+ pass
1441
+
1442
+ def _typecheckingstub__6b09fc8a571d92e94a092e6c95e332bfd1bf3163485b318f9949b0ffc4190f93(
1443
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation]],
1444
+ ) -> None:
1445
+ """Type checking stubs"""
1446
+ pass
1447
+
1448
+ def _typecheckingstub__0e4f8479329456b927c893ac19827b372c450c70ba1fc959464d32e247c375a1(
1449
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1450
+ terraform_attribute: builtins.str,
1451
+ ) -> None:
1452
+ """Type checking stubs"""
1453
+ pass
1454
+
1455
+ def _typecheckingstub__aec9916471abe705733f917c52d9aa147f3905fe68e15f94c8dfeea2115a2f87(
1456
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetworkDhcpRoutesConfiguration]],
1457
+ ) -> None:
1458
+ """Type checking stubs"""
1459
+ pass
1460
+
1461
+ def _typecheckingstub__d075c5e124ac073e3ebfbc4057a65313dec6e4845a13341f7cf80b6c0d2c183c(
1462
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1463
+ terraform_attribute: builtins.str,
1464
+ wraps_set: builtins.bool,
1465
+ ) -> None:
1466
+ """Type checking stubs"""
1467
+ pass
1468
+
1469
+ def _typecheckingstub__a7d85699481e6b13c867cf958a4cce2973b18c4db26aa8989818d2a0968b8740(
1470
+ index: jsii.Number,
1471
+ ) -> None:
1472
+ """Type checking stubs"""
1473
+ pass
1474
+
1475
+ def _typecheckingstub__1c85bf15d1657bb96cf2ef12a9b6207e6c9ab4a2e345a8bbd127e71fa75ea49d(
1476
+ value: builtins.str,
1477
+ ) -> None:
1478
+ """Type checking stubs"""
1479
+ pass
1480
+
1481
+ def _typecheckingstub__b28c3bdd0ec7fa14db2b4d6060016bddf190bd71a49e3ed5973f3e98448cfe9c(
1482
+ value: _cdktf_9a9027ec.IInterpolatingParent,
1483
+ ) -> None:
1484
+ """Type checking stubs"""
1485
+ pass
1486
+
1487
+ def _typecheckingstub__5e3e4fd3fa56c5c742e15eab7d901779a9ea715f6723d07b8df3724bf88bfb8a(
1488
+ value: builtins.bool,
1489
+ ) -> None:
1490
+ """Type checking stubs"""
1491
+ pass
1492
+
1493
+ def _typecheckingstub__41ee6f00009a56057ce68aadd9a41df0ff2176a1af2ca17891a9f2a37b263110(
1494
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkIpNetwork]]],
1495
+ ) -> None:
1496
+ """Type checking stubs"""
1497
+ pass
1498
+
1499
+ def _typecheckingstub__2a12f361ef69a87d82a3e09aad2d4c09d101a558a1be10f0c16c249cd75f062b(
1500
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1501
+ terraform_attribute: builtins.str,
1502
+ complex_object_index: jsii.Number,
1503
+ complex_object_is_from_set: builtins.bool,
1504
+ ) -> None:
1505
+ """Type checking stubs"""
1506
+ pass
1507
+
1508
+ def _typecheckingstub__b6a98e691a6c6b6b9491ee9a7712a3ff9d685e12c525cd35df38782bc9813b05(
1509
+ value: builtins.str,
1510
+ ) -> None:
1511
+ """Type checking stubs"""
1512
+ pass
1513
+
1514
+ def _typecheckingstub__d20fab6189c7b85db51a5861ac41f6b489e7f8e5ad81355e6c02c79e3ae41773(
1515
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
1516
+ ) -> None:
1517
+ """Type checking stubs"""
1518
+ pass
1519
+
1520
+ def _typecheckingstub__9ea3923c81643e6285fdb0c4093fc0271db1e6c342eb83665095efea93f4c7ec(
1521
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
1522
+ ) -> None:
1523
+ """Type checking stubs"""
1524
+ pass
1525
+
1526
+ def _typecheckingstub__5373e8bde56ab2a4dfd28be72c7740984795e19631e0ba63051fff9b7b96e398(
1527
+ value: typing.List[builtins.str],
1528
+ ) -> None:
1529
+ """Type checking stubs"""
1530
+ pass
1531
+
1532
+ def _typecheckingstub__33e9e800fdd19e524f0ce968b65f0d8ad3d15d6df60b7566ed7052a92691284c(
1533
+ value: typing.List[builtins.str],
1534
+ ) -> None:
1535
+ """Type checking stubs"""
1536
+ pass
1537
+
1538
+ def _typecheckingstub__da754048e039b79b7b49e49141c87becd4b7be60d9070dce0fae07b59e62905a(
1539
+ value: builtins.str,
1540
+ ) -> None:
1541
+ """Type checking stubs"""
1542
+ pass
1543
+
1544
+ def _typecheckingstub__85fbb1fa23b5ade0741c3445f03ff27b197d489175a64995ecf629777431ffbe(
1545
+ value: builtins.str,
1546
+ ) -> None:
1547
+ """Type checking stubs"""
1548
+ pass
1549
+
1550
+ def _typecheckingstub__6f3d5daace718b26b0329feea7bc156a63f953ccc7782c7c71ccd92c60d09747(
1551
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkIpNetwork]],
1552
+ ) -> None:
1553
+ """Type checking stubs"""
1554
+ pass