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,1084 @@
1
+ r'''
2
+ # `upcloud_network_peering`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_network_peering`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering).
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 NetworkPeering(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeering",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering upcloud_network_peering}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ name: builtins.str,
55
+ configured_status: typing.Optional[builtins.str] = None,
56
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
57
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkPeeringNetwork", typing.Dict[builtins.str, typing.Any]]]]] = None,
58
+ peer_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkPeeringPeerNetwork", typing.Dict[builtins.str, typing.Any]]]]] = 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_peering upcloud_network_peering} 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 peering. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#name NetworkPeering#name}
72
+ :param configured_status: Configured status of the network peering. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#configured_status NetworkPeering#configured_status}
73
+ :param labels: User defined key-value pairs to classify the network peering. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#labels NetworkPeering#labels}
74
+ :param network: network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#network NetworkPeering#network}
75
+ :param peer_network: peer_network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#peer_network NetworkPeering#peer_network}
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__c0a96a5334a78cd22a35a1e2b198b7e542ec2015cd840cad60fa729d1d1d9ae0)
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 = NetworkPeeringConfig(
89
+ name=name,
90
+ configured_status=configured_status,
91
+ labels=labels,
92
+ network=network,
93
+ peer_network=peer_network,
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 NetworkPeering 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 NetworkPeering to import.
118
+ :param import_from_id: The id of the existing NetworkPeering that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#import import section} in the documentation of this resource for the id to use
119
+ :param provider: ? Optional instance of the provider where the NetworkPeering to import is found.
120
+ '''
121
+ if __debug__:
122
+ type_hints = typing.get_type_hints(_typecheckingstub__5841180269cc69be146e56570693687a11e9cd8244d89d2815af83047d699fb9)
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="putNetwork")
130
+ def put_network(
131
+ self,
132
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkPeeringNetwork", typing.Dict[builtins.str, typing.Any]]]],
133
+ ) -> None:
134
+ '''
135
+ :param value: -
136
+ '''
137
+ if __debug__:
138
+ type_hints = typing.get_type_hints(_typecheckingstub__465db4ca9ac80ab90575982ab7dd13b8d6be9e6d7916805211bf15fb9e11122f)
139
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
140
+ return typing.cast(None, jsii.invoke(self, "putNetwork", [value]))
141
+
142
+ @jsii.member(jsii_name="putPeerNetwork")
143
+ def put_peer_network(
144
+ self,
145
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkPeeringPeerNetwork", typing.Dict[builtins.str, typing.Any]]]],
146
+ ) -> None:
147
+ '''
148
+ :param value: -
149
+ '''
150
+ if __debug__:
151
+ type_hints = typing.get_type_hints(_typecheckingstub__2f63371b54c34ddf31997052bac8a75446130e7cb39149f0f540d307ae52862f)
152
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
153
+ return typing.cast(None, jsii.invoke(self, "putPeerNetwork", [value]))
154
+
155
+ @jsii.member(jsii_name="resetConfiguredStatus")
156
+ def reset_configured_status(self) -> None:
157
+ return typing.cast(None, jsii.invoke(self, "resetConfiguredStatus", []))
158
+
159
+ @jsii.member(jsii_name="resetLabels")
160
+ def reset_labels(self) -> None:
161
+ return typing.cast(None, jsii.invoke(self, "resetLabels", []))
162
+
163
+ @jsii.member(jsii_name="resetNetwork")
164
+ def reset_network(self) -> None:
165
+ return typing.cast(None, jsii.invoke(self, "resetNetwork", []))
166
+
167
+ @jsii.member(jsii_name="resetPeerNetwork")
168
+ def reset_peer_network(self) -> None:
169
+ return typing.cast(None, jsii.invoke(self, "resetPeerNetwork", []))
170
+
171
+ @jsii.member(jsii_name="synthesizeAttributes")
172
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
173
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
174
+
175
+ @jsii.member(jsii_name="synthesizeHclAttributes")
176
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
177
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
178
+
179
+ @jsii.python.classproperty
180
+ @jsii.member(jsii_name="tfResourceType")
181
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
182
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
183
+
184
+ @builtins.property
185
+ @jsii.member(jsii_name="id")
186
+ def id(self) -> builtins.str:
187
+ return typing.cast(builtins.str, jsii.get(self, "id"))
188
+
189
+ @builtins.property
190
+ @jsii.member(jsii_name="network")
191
+ def network(self) -> "NetworkPeeringNetworkList":
192
+ return typing.cast("NetworkPeeringNetworkList", jsii.get(self, "network"))
193
+
194
+ @builtins.property
195
+ @jsii.member(jsii_name="peerNetwork")
196
+ def peer_network(self) -> "NetworkPeeringPeerNetworkList":
197
+ return typing.cast("NetworkPeeringPeerNetworkList", jsii.get(self, "peerNetwork"))
198
+
199
+ @builtins.property
200
+ @jsii.member(jsii_name="configuredStatusInput")
201
+ def configured_status_input(self) -> typing.Optional[builtins.str]:
202
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "configuredStatusInput"))
203
+
204
+ @builtins.property
205
+ @jsii.member(jsii_name="labelsInput")
206
+ def labels_input(
207
+ self,
208
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
209
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "labelsInput"))
210
+
211
+ @builtins.property
212
+ @jsii.member(jsii_name="nameInput")
213
+ def name_input(self) -> typing.Optional[builtins.str]:
214
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
215
+
216
+ @builtins.property
217
+ @jsii.member(jsii_name="networkInput")
218
+ def network_input(
219
+ self,
220
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringNetwork"]]]:
221
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringNetwork"]]], jsii.get(self, "networkInput"))
222
+
223
+ @builtins.property
224
+ @jsii.member(jsii_name="peerNetworkInput")
225
+ def peer_network_input(
226
+ self,
227
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringPeerNetwork"]]]:
228
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringPeerNetwork"]]], jsii.get(self, "peerNetworkInput"))
229
+
230
+ @builtins.property
231
+ @jsii.member(jsii_name="configuredStatus")
232
+ def configured_status(self) -> builtins.str:
233
+ return typing.cast(builtins.str, jsii.get(self, "configuredStatus"))
234
+
235
+ @configured_status.setter
236
+ def configured_status(self, value: builtins.str) -> None:
237
+ if __debug__:
238
+ type_hints = typing.get_type_hints(_typecheckingstub__d52e99ad2efc93f92c4f10a717511f8e2b015fe050a36f1f5eaaec3fac3a9662)
239
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
240
+ jsii.set(self, "configuredStatus", value) # pyright: ignore[reportArgumentType]
241
+
242
+ @builtins.property
243
+ @jsii.member(jsii_name="labels")
244
+ def labels(self) -> typing.Mapping[builtins.str, builtins.str]:
245
+ return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "labels"))
246
+
247
+ @labels.setter
248
+ def labels(self, value: typing.Mapping[builtins.str, builtins.str]) -> None:
249
+ if __debug__:
250
+ type_hints = typing.get_type_hints(_typecheckingstub__3f7076c3b603d8ad784a4afe6b2b46a4cd34a2dceeaa06786f52eb4602a9ab99)
251
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
252
+ jsii.set(self, "labels", value) # pyright: ignore[reportArgumentType]
253
+
254
+ @builtins.property
255
+ @jsii.member(jsii_name="name")
256
+ def name(self) -> builtins.str:
257
+ return typing.cast(builtins.str, jsii.get(self, "name"))
258
+
259
+ @name.setter
260
+ def name(self, value: builtins.str) -> None:
261
+ if __debug__:
262
+ type_hints = typing.get_type_hints(_typecheckingstub__b46257d45a014d98fe43ab4776c1928cb8d686a00f13b004b61391be19e4c6cf)
263
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
264
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
265
+
266
+
267
+ @jsii.data_type(
268
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeeringConfig",
269
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
270
+ name_mapping={
271
+ "connection": "connection",
272
+ "count": "count",
273
+ "depends_on": "dependsOn",
274
+ "for_each": "forEach",
275
+ "lifecycle": "lifecycle",
276
+ "provider": "provider",
277
+ "provisioners": "provisioners",
278
+ "name": "name",
279
+ "configured_status": "configuredStatus",
280
+ "labels": "labels",
281
+ "network": "network",
282
+ "peer_network": "peerNetwork",
283
+ },
284
+ )
285
+ class NetworkPeeringConfig(_cdktf_9a9027ec.TerraformMetaArguments):
286
+ def __init__(
287
+ self,
288
+ *,
289
+ 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,
290
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
291
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
292
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
293
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
294
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
295
+ 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,
296
+ name: builtins.str,
297
+ configured_status: typing.Optional[builtins.str] = None,
298
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
299
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkPeeringNetwork", typing.Dict[builtins.str, typing.Any]]]]] = None,
300
+ peer_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["NetworkPeeringPeerNetwork", typing.Dict[builtins.str, typing.Any]]]]] = None,
301
+ ) -> None:
302
+ '''
303
+ :param connection:
304
+ :param count:
305
+ :param depends_on:
306
+ :param for_each:
307
+ :param lifecycle:
308
+ :param provider:
309
+ :param provisioners:
310
+ :param name: Name of the network peering. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#name NetworkPeering#name}
311
+ :param configured_status: Configured status of the network peering. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#configured_status NetworkPeering#configured_status}
312
+ :param labels: User defined key-value pairs to classify the network peering. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#labels NetworkPeering#labels}
313
+ :param network: network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#network NetworkPeering#network}
314
+ :param peer_network: peer_network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#peer_network NetworkPeering#peer_network}
315
+ '''
316
+ if isinstance(lifecycle, dict):
317
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
318
+ if __debug__:
319
+ type_hints = typing.get_type_hints(_typecheckingstub__363420b281dc4d14ee0206055945e6437abf37cafbd1bccbaf44b614e18644db)
320
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
321
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
322
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
323
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
324
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
325
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
326
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
327
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
328
+ check_type(argname="argument configured_status", value=configured_status, expected_type=type_hints["configured_status"])
329
+ check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
330
+ check_type(argname="argument network", value=network, expected_type=type_hints["network"])
331
+ check_type(argname="argument peer_network", value=peer_network, expected_type=type_hints["peer_network"])
332
+ self._values: typing.Dict[builtins.str, typing.Any] = {
333
+ "name": name,
334
+ }
335
+ if connection is not None:
336
+ self._values["connection"] = connection
337
+ if count is not None:
338
+ self._values["count"] = count
339
+ if depends_on is not None:
340
+ self._values["depends_on"] = depends_on
341
+ if for_each is not None:
342
+ self._values["for_each"] = for_each
343
+ if lifecycle is not None:
344
+ self._values["lifecycle"] = lifecycle
345
+ if provider is not None:
346
+ self._values["provider"] = provider
347
+ if provisioners is not None:
348
+ self._values["provisioners"] = provisioners
349
+ if configured_status is not None:
350
+ self._values["configured_status"] = configured_status
351
+ if labels is not None:
352
+ self._values["labels"] = labels
353
+ if network is not None:
354
+ self._values["network"] = network
355
+ if peer_network is not None:
356
+ self._values["peer_network"] = peer_network
357
+
358
+ @builtins.property
359
+ def connection(
360
+ self,
361
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
362
+ '''
363
+ :stability: experimental
364
+ '''
365
+ result = self._values.get("connection")
366
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
367
+
368
+ @builtins.property
369
+ def count(
370
+ self,
371
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
372
+ '''
373
+ :stability: experimental
374
+ '''
375
+ result = self._values.get("count")
376
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
377
+
378
+ @builtins.property
379
+ def depends_on(
380
+ self,
381
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
382
+ '''
383
+ :stability: experimental
384
+ '''
385
+ result = self._values.get("depends_on")
386
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
387
+
388
+ @builtins.property
389
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
390
+ '''
391
+ :stability: experimental
392
+ '''
393
+ result = self._values.get("for_each")
394
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
395
+
396
+ @builtins.property
397
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
398
+ '''
399
+ :stability: experimental
400
+ '''
401
+ result = self._values.get("lifecycle")
402
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
403
+
404
+ @builtins.property
405
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
406
+ '''
407
+ :stability: experimental
408
+ '''
409
+ result = self._values.get("provider")
410
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
411
+
412
+ @builtins.property
413
+ def provisioners(
414
+ self,
415
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
416
+ '''
417
+ :stability: experimental
418
+ '''
419
+ result = self._values.get("provisioners")
420
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
421
+
422
+ @builtins.property
423
+ def name(self) -> builtins.str:
424
+ '''Name of the network peering.
425
+
426
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#name NetworkPeering#name}
427
+ '''
428
+ result = self._values.get("name")
429
+ assert result is not None, "Required property 'name' is missing"
430
+ return typing.cast(builtins.str, result)
431
+
432
+ @builtins.property
433
+ def configured_status(self) -> typing.Optional[builtins.str]:
434
+ '''Configured status of the network peering.
435
+
436
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#configured_status NetworkPeering#configured_status}
437
+ '''
438
+ result = self._values.get("configured_status")
439
+ return typing.cast(typing.Optional[builtins.str], result)
440
+
441
+ @builtins.property
442
+ def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
443
+ '''User defined key-value pairs to classify the network peering.
444
+
445
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#labels NetworkPeering#labels}
446
+ '''
447
+ result = self._values.get("labels")
448
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
449
+
450
+ @builtins.property
451
+ def network(
452
+ self,
453
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringNetwork"]]]:
454
+ '''network block.
455
+
456
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#network NetworkPeering#network}
457
+ '''
458
+ result = self._values.get("network")
459
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringNetwork"]]], result)
460
+
461
+ @builtins.property
462
+ def peer_network(
463
+ self,
464
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringPeerNetwork"]]]:
465
+ '''peer_network block.
466
+
467
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#peer_network NetworkPeering#peer_network}
468
+ '''
469
+ result = self._values.get("peer_network")
470
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["NetworkPeeringPeerNetwork"]]], 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 "NetworkPeeringConfig(%s)" % ", ".join(
480
+ k + "=" + repr(v) for k, v in self._values.items()
481
+ )
482
+
483
+
484
+ @jsii.data_type(
485
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeeringNetwork",
486
+ jsii_struct_bases=[],
487
+ name_mapping={"uuid": "uuid"},
488
+ )
489
+ class NetworkPeeringNetwork:
490
+ def __init__(self, *, uuid: builtins.str) -> None:
491
+ '''
492
+ :param uuid: The UUID of the network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#uuid NetworkPeering#uuid}
493
+ '''
494
+ if __debug__:
495
+ type_hints = typing.get_type_hints(_typecheckingstub__55249435854778696115bf63e5ff3cef0bc5e473ffcdec977686b275ccfa8717)
496
+ check_type(argname="argument uuid", value=uuid, expected_type=type_hints["uuid"])
497
+ self._values: typing.Dict[builtins.str, typing.Any] = {
498
+ "uuid": uuid,
499
+ }
500
+
501
+ @builtins.property
502
+ def uuid(self) -> builtins.str:
503
+ '''The UUID of the network.
504
+
505
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#uuid NetworkPeering#uuid}
506
+ '''
507
+ result = self._values.get("uuid")
508
+ assert result is not None, "Required property 'uuid' is missing"
509
+ return typing.cast(builtins.str, result)
510
+
511
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
512
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
513
+
514
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
515
+ return not (rhs == self)
516
+
517
+ def __repr__(self) -> str:
518
+ return "NetworkPeeringNetwork(%s)" % ", ".join(
519
+ k + "=" + repr(v) for k, v in self._values.items()
520
+ )
521
+
522
+
523
+ class NetworkPeeringNetworkList(
524
+ _cdktf_9a9027ec.ComplexList,
525
+ metaclass=jsii.JSIIMeta,
526
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeeringNetworkList",
527
+ ):
528
+ def __init__(
529
+ self,
530
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
531
+ terraform_attribute: builtins.str,
532
+ wraps_set: builtins.bool,
533
+ ) -> None:
534
+ '''
535
+ :param terraform_resource: The parent resource.
536
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
537
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
538
+ '''
539
+ if __debug__:
540
+ type_hints = typing.get_type_hints(_typecheckingstub__4b055b1a416d9b00623c2243b86befa7a86843b85cffa6715558e2f7b7c17a2e)
541
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
542
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
543
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
544
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
545
+
546
+ @jsii.member(jsii_name="get")
547
+ def get(self, index: jsii.Number) -> "NetworkPeeringNetworkOutputReference":
548
+ '''
549
+ :param index: the index of the item to return.
550
+ '''
551
+ if __debug__:
552
+ type_hints = typing.get_type_hints(_typecheckingstub__c8bae792f76eae4cdc45df41c3782876ee0ac43830243b953df8afa5af74ad0a)
553
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
554
+ return typing.cast("NetworkPeeringNetworkOutputReference", jsii.invoke(self, "get", [index]))
555
+
556
+ @builtins.property
557
+ @jsii.member(jsii_name="terraformAttribute")
558
+ def _terraform_attribute(self) -> builtins.str:
559
+ '''The attribute on the parent resource this class is referencing.'''
560
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
561
+
562
+ @_terraform_attribute.setter
563
+ def _terraform_attribute(self, value: builtins.str) -> None:
564
+ if __debug__:
565
+ type_hints = typing.get_type_hints(_typecheckingstub__44d2d28b1384870b0886c37b6a7b316ae4529776e6fa78d02f074f208c3242d3)
566
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
567
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
568
+
569
+ @builtins.property
570
+ @jsii.member(jsii_name="terraformResource")
571
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
572
+ '''The parent resource.'''
573
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
574
+
575
+ @_terraform_resource.setter
576
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
577
+ if __debug__:
578
+ type_hints = typing.get_type_hints(_typecheckingstub__e574397365f67360a5f9abd52bc5dedbc1f9c429051a21cae0a2c639647e5da5)
579
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
580
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
581
+
582
+ @builtins.property
583
+ @jsii.member(jsii_name="wrapsSet")
584
+ def _wraps_set(self) -> builtins.bool:
585
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
586
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
587
+
588
+ @_wraps_set.setter
589
+ def _wraps_set(self, value: builtins.bool) -> None:
590
+ if __debug__:
591
+ type_hints = typing.get_type_hints(_typecheckingstub__787db8ad64145adde60bf6e32e4a9d36622e65fe4080adc6d5b81f674d231982)
592
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
593
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
594
+
595
+ @builtins.property
596
+ @jsii.member(jsii_name="internalValue")
597
+ def internal_value(
598
+ self,
599
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringNetwork]]]:
600
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringNetwork]]], jsii.get(self, "internalValue"))
601
+
602
+ @internal_value.setter
603
+ def internal_value(
604
+ self,
605
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringNetwork]]],
606
+ ) -> None:
607
+ if __debug__:
608
+ type_hints = typing.get_type_hints(_typecheckingstub__5642fcb72bb8305e61ea8da13720dd602351417b3b2e93936cc60437345bab44)
609
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
610
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
611
+
612
+
613
+ class NetworkPeeringNetworkOutputReference(
614
+ _cdktf_9a9027ec.ComplexObject,
615
+ metaclass=jsii.JSIIMeta,
616
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeeringNetworkOutputReference",
617
+ ):
618
+ def __init__(
619
+ self,
620
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
621
+ terraform_attribute: builtins.str,
622
+ complex_object_index: jsii.Number,
623
+ complex_object_is_from_set: builtins.bool,
624
+ ) -> None:
625
+ '''
626
+ :param terraform_resource: The parent resource.
627
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
628
+ :param complex_object_index: the index of this item in the list.
629
+ :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).
630
+ '''
631
+ if __debug__:
632
+ type_hints = typing.get_type_hints(_typecheckingstub__8a39fa0aefb6da60ac13ceb57285c141dd6c9949aecb3edf1dbeb0a180552a1a)
633
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
634
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
635
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
636
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
637
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
638
+
639
+ @builtins.property
640
+ @jsii.member(jsii_name="uuidInput")
641
+ def uuid_input(self) -> typing.Optional[builtins.str]:
642
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "uuidInput"))
643
+
644
+ @builtins.property
645
+ @jsii.member(jsii_name="uuid")
646
+ def uuid(self) -> builtins.str:
647
+ return typing.cast(builtins.str, jsii.get(self, "uuid"))
648
+
649
+ @uuid.setter
650
+ def uuid(self, value: builtins.str) -> None:
651
+ if __debug__:
652
+ type_hints = typing.get_type_hints(_typecheckingstub__fc335101ef4b4847942d189fc9d957f267d32167fc15dff8c2c424f9a676405e)
653
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
654
+ jsii.set(self, "uuid", value) # pyright: ignore[reportArgumentType]
655
+
656
+ @builtins.property
657
+ @jsii.member(jsii_name="internalValue")
658
+ def internal_value(
659
+ self,
660
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringNetwork]]:
661
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringNetwork]], jsii.get(self, "internalValue"))
662
+
663
+ @internal_value.setter
664
+ def internal_value(
665
+ self,
666
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringNetwork]],
667
+ ) -> None:
668
+ if __debug__:
669
+ type_hints = typing.get_type_hints(_typecheckingstub__02ca276432d2cab25c86dd984f83f4b8213cfbaca1e0dc6be2bcb75fe0a96623)
670
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
671
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
672
+
673
+
674
+ @jsii.data_type(
675
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeeringPeerNetwork",
676
+ jsii_struct_bases=[],
677
+ name_mapping={"uuid": "uuid"},
678
+ )
679
+ class NetworkPeeringPeerNetwork:
680
+ def __init__(self, *, uuid: builtins.str) -> None:
681
+ '''
682
+ :param uuid: The UUID of the network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#uuid NetworkPeering#uuid}
683
+ '''
684
+ if __debug__:
685
+ type_hints = typing.get_type_hints(_typecheckingstub__3d80346f024cbc2ca254e7975912525ac73b543ed8d8c085429350161c6a5c1e)
686
+ check_type(argname="argument uuid", value=uuid, expected_type=type_hints["uuid"])
687
+ self._values: typing.Dict[builtins.str, typing.Any] = {
688
+ "uuid": uuid,
689
+ }
690
+
691
+ @builtins.property
692
+ def uuid(self) -> builtins.str:
693
+ '''The UUID of the network.
694
+
695
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/network_peering#uuid NetworkPeering#uuid}
696
+ '''
697
+ result = self._values.get("uuid")
698
+ assert result is not None, "Required property 'uuid' is missing"
699
+ return typing.cast(builtins.str, result)
700
+
701
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
702
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
703
+
704
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
705
+ return not (rhs == self)
706
+
707
+ def __repr__(self) -> str:
708
+ return "NetworkPeeringPeerNetwork(%s)" % ", ".join(
709
+ k + "=" + repr(v) for k, v in self._values.items()
710
+ )
711
+
712
+
713
+ class NetworkPeeringPeerNetworkList(
714
+ _cdktf_9a9027ec.ComplexList,
715
+ metaclass=jsii.JSIIMeta,
716
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeeringPeerNetworkList",
717
+ ):
718
+ def __init__(
719
+ self,
720
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
721
+ terraform_attribute: builtins.str,
722
+ wraps_set: builtins.bool,
723
+ ) -> None:
724
+ '''
725
+ :param terraform_resource: The parent resource.
726
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
727
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
728
+ '''
729
+ if __debug__:
730
+ type_hints = typing.get_type_hints(_typecheckingstub__db7668f8e724167d0c31dc6f031a7c00d3714b1dbb9cd6ec817008b4d6ebf39b)
731
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
732
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
733
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
734
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
735
+
736
+ @jsii.member(jsii_name="get")
737
+ def get(self, index: jsii.Number) -> "NetworkPeeringPeerNetworkOutputReference":
738
+ '''
739
+ :param index: the index of the item to return.
740
+ '''
741
+ if __debug__:
742
+ type_hints = typing.get_type_hints(_typecheckingstub__48c112b1e251494973a67fba78b6324cb711aa99b3cfb29382f40c441e59f7e6)
743
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
744
+ return typing.cast("NetworkPeeringPeerNetworkOutputReference", jsii.invoke(self, "get", [index]))
745
+
746
+ @builtins.property
747
+ @jsii.member(jsii_name="terraformAttribute")
748
+ def _terraform_attribute(self) -> builtins.str:
749
+ '''The attribute on the parent resource this class is referencing.'''
750
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
751
+
752
+ @_terraform_attribute.setter
753
+ def _terraform_attribute(self, value: builtins.str) -> None:
754
+ if __debug__:
755
+ type_hints = typing.get_type_hints(_typecheckingstub__d280b8fd99ac74249214b913f7c5f8635180d95dcc43d01117acf75becb28fb7)
756
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
757
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
758
+
759
+ @builtins.property
760
+ @jsii.member(jsii_name="terraformResource")
761
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
762
+ '''The parent resource.'''
763
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
764
+
765
+ @_terraform_resource.setter
766
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
767
+ if __debug__:
768
+ type_hints = typing.get_type_hints(_typecheckingstub__b62f8c2831183c8b51fbc33901c17c36e948d265356c4fb5ba04b97a3d05bb11)
769
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
770
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
771
+
772
+ @builtins.property
773
+ @jsii.member(jsii_name="wrapsSet")
774
+ def _wraps_set(self) -> builtins.bool:
775
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
776
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
777
+
778
+ @_wraps_set.setter
779
+ def _wraps_set(self, value: builtins.bool) -> None:
780
+ if __debug__:
781
+ type_hints = typing.get_type_hints(_typecheckingstub__2cd0192ae5348b0a78e446a919c1102b31d82f3ecd6f145badfd2b39ba4a9db1)
782
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
783
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
784
+
785
+ @builtins.property
786
+ @jsii.member(jsii_name="internalValue")
787
+ def internal_value(
788
+ self,
789
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringPeerNetwork]]]:
790
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringPeerNetwork]]], jsii.get(self, "internalValue"))
791
+
792
+ @internal_value.setter
793
+ def internal_value(
794
+ self,
795
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringPeerNetwork]]],
796
+ ) -> None:
797
+ if __debug__:
798
+ type_hints = typing.get_type_hints(_typecheckingstub__77e2f4167de8183af05abc272f18b41ac1f542f980f1c4036fc7f38497ff54bd)
799
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
800
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
801
+
802
+
803
+ class NetworkPeeringPeerNetworkOutputReference(
804
+ _cdktf_9a9027ec.ComplexObject,
805
+ metaclass=jsii.JSIIMeta,
806
+ jsii_type="@cdktf/provider-upcloud.networkPeering.NetworkPeeringPeerNetworkOutputReference",
807
+ ):
808
+ def __init__(
809
+ self,
810
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
811
+ terraform_attribute: builtins.str,
812
+ complex_object_index: jsii.Number,
813
+ complex_object_is_from_set: builtins.bool,
814
+ ) -> None:
815
+ '''
816
+ :param terraform_resource: The parent resource.
817
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
818
+ :param complex_object_index: the index of this item in the list.
819
+ :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).
820
+ '''
821
+ if __debug__:
822
+ type_hints = typing.get_type_hints(_typecheckingstub__931c118dd54712e08d5bba707127057107829f309bad9ef0a91234d62eeae24f)
823
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
824
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
825
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
826
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
827
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
828
+
829
+ @builtins.property
830
+ @jsii.member(jsii_name="uuidInput")
831
+ def uuid_input(self) -> typing.Optional[builtins.str]:
832
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "uuidInput"))
833
+
834
+ @builtins.property
835
+ @jsii.member(jsii_name="uuid")
836
+ def uuid(self) -> builtins.str:
837
+ return typing.cast(builtins.str, jsii.get(self, "uuid"))
838
+
839
+ @uuid.setter
840
+ def uuid(self, value: builtins.str) -> None:
841
+ if __debug__:
842
+ type_hints = typing.get_type_hints(_typecheckingstub__de4aba0fbfe25c02480d1a02641af19e552410a1c7bdace66438257cd49ea872)
843
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
844
+ jsii.set(self, "uuid", value) # pyright: ignore[reportArgumentType]
845
+
846
+ @builtins.property
847
+ @jsii.member(jsii_name="internalValue")
848
+ def internal_value(
849
+ self,
850
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringPeerNetwork]]:
851
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringPeerNetwork]], jsii.get(self, "internalValue"))
852
+
853
+ @internal_value.setter
854
+ def internal_value(
855
+ self,
856
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringPeerNetwork]],
857
+ ) -> None:
858
+ if __debug__:
859
+ type_hints = typing.get_type_hints(_typecheckingstub__a289bb16c42d5525a179f4ac6c5efc53a834567dc52583ad4418d104f7501922)
860
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
861
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
862
+
863
+
864
+ __all__ = [
865
+ "NetworkPeering",
866
+ "NetworkPeeringConfig",
867
+ "NetworkPeeringNetwork",
868
+ "NetworkPeeringNetworkList",
869
+ "NetworkPeeringNetworkOutputReference",
870
+ "NetworkPeeringPeerNetwork",
871
+ "NetworkPeeringPeerNetworkList",
872
+ "NetworkPeeringPeerNetworkOutputReference",
873
+ ]
874
+
875
+ publication.publish()
876
+
877
+ def _typecheckingstub__c0a96a5334a78cd22a35a1e2b198b7e542ec2015cd840cad60fa729d1d1d9ae0(
878
+ scope: _constructs_77d1e7e8.Construct,
879
+ id: builtins.str,
880
+ *,
881
+ name: builtins.str,
882
+ configured_status: typing.Optional[builtins.str] = None,
883
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
884
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkPeeringNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
885
+ peer_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkPeeringPeerNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
886
+ 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,
887
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
888
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
889
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
890
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
891
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
892
+ 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,
893
+ ) -> None:
894
+ """Type checking stubs"""
895
+ pass
896
+
897
+ def _typecheckingstub__5841180269cc69be146e56570693687a11e9cd8244d89d2815af83047d699fb9(
898
+ scope: _constructs_77d1e7e8.Construct,
899
+ import_to_id: builtins.str,
900
+ import_from_id: builtins.str,
901
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
902
+ ) -> None:
903
+ """Type checking stubs"""
904
+ pass
905
+
906
+ def _typecheckingstub__465db4ca9ac80ab90575982ab7dd13b8d6be9e6d7916805211bf15fb9e11122f(
907
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkPeeringNetwork, typing.Dict[builtins.str, typing.Any]]]],
908
+ ) -> None:
909
+ """Type checking stubs"""
910
+ pass
911
+
912
+ def _typecheckingstub__2f63371b54c34ddf31997052bac8a75446130e7cb39149f0f540d307ae52862f(
913
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkPeeringPeerNetwork, typing.Dict[builtins.str, typing.Any]]]],
914
+ ) -> None:
915
+ """Type checking stubs"""
916
+ pass
917
+
918
+ def _typecheckingstub__d52e99ad2efc93f92c4f10a717511f8e2b015fe050a36f1f5eaaec3fac3a9662(
919
+ value: builtins.str,
920
+ ) -> None:
921
+ """Type checking stubs"""
922
+ pass
923
+
924
+ def _typecheckingstub__3f7076c3b603d8ad784a4afe6b2b46a4cd34a2dceeaa06786f52eb4602a9ab99(
925
+ value: typing.Mapping[builtins.str, builtins.str],
926
+ ) -> None:
927
+ """Type checking stubs"""
928
+ pass
929
+
930
+ def _typecheckingstub__b46257d45a014d98fe43ab4776c1928cb8d686a00f13b004b61391be19e4c6cf(
931
+ value: builtins.str,
932
+ ) -> None:
933
+ """Type checking stubs"""
934
+ pass
935
+
936
+ def _typecheckingstub__363420b281dc4d14ee0206055945e6437abf37cafbd1bccbaf44b614e18644db(
937
+ *,
938
+ 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,
939
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
940
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
941
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
942
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
943
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
944
+ 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,
945
+ name: builtins.str,
946
+ configured_status: typing.Optional[builtins.str] = None,
947
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
948
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkPeeringNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
949
+ peer_network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[NetworkPeeringPeerNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
950
+ ) -> None:
951
+ """Type checking stubs"""
952
+ pass
953
+
954
+ def _typecheckingstub__55249435854778696115bf63e5ff3cef0bc5e473ffcdec977686b275ccfa8717(
955
+ *,
956
+ uuid: builtins.str,
957
+ ) -> None:
958
+ """Type checking stubs"""
959
+ pass
960
+
961
+ def _typecheckingstub__4b055b1a416d9b00623c2243b86befa7a86843b85cffa6715558e2f7b7c17a2e(
962
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
963
+ terraform_attribute: builtins.str,
964
+ wraps_set: builtins.bool,
965
+ ) -> None:
966
+ """Type checking stubs"""
967
+ pass
968
+
969
+ def _typecheckingstub__c8bae792f76eae4cdc45df41c3782876ee0ac43830243b953df8afa5af74ad0a(
970
+ index: jsii.Number,
971
+ ) -> None:
972
+ """Type checking stubs"""
973
+ pass
974
+
975
+ def _typecheckingstub__44d2d28b1384870b0886c37b6a7b316ae4529776e6fa78d02f074f208c3242d3(
976
+ value: builtins.str,
977
+ ) -> None:
978
+ """Type checking stubs"""
979
+ pass
980
+
981
+ def _typecheckingstub__e574397365f67360a5f9abd52bc5dedbc1f9c429051a21cae0a2c639647e5da5(
982
+ value: _cdktf_9a9027ec.IInterpolatingParent,
983
+ ) -> None:
984
+ """Type checking stubs"""
985
+ pass
986
+
987
+ def _typecheckingstub__787db8ad64145adde60bf6e32e4a9d36622e65fe4080adc6d5b81f674d231982(
988
+ value: builtins.bool,
989
+ ) -> None:
990
+ """Type checking stubs"""
991
+ pass
992
+
993
+ def _typecheckingstub__5642fcb72bb8305e61ea8da13720dd602351417b3b2e93936cc60437345bab44(
994
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringNetwork]]],
995
+ ) -> None:
996
+ """Type checking stubs"""
997
+ pass
998
+
999
+ def _typecheckingstub__8a39fa0aefb6da60ac13ceb57285c141dd6c9949aecb3edf1dbeb0a180552a1a(
1000
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1001
+ terraform_attribute: builtins.str,
1002
+ complex_object_index: jsii.Number,
1003
+ complex_object_is_from_set: builtins.bool,
1004
+ ) -> None:
1005
+ """Type checking stubs"""
1006
+ pass
1007
+
1008
+ def _typecheckingstub__fc335101ef4b4847942d189fc9d957f267d32167fc15dff8c2c424f9a676405e(
1009
+ value: builtins.str,
1010
+ ) -> None:
1011
+ """Type checking stubs"""
1012
+ pass
1013
+
1014
+ def _typecheckingstub__02ca276432d2cab25c86dd984f83f4b8213cfbaca1e0dc6be2bcb75fe0a96623(
1015
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringNetwork]],
1016
+ ) -> None:
1017
+ """Type checking stubs"""
1018
+ pass
1019
+
1020
+ def _typecheckingstub__3d80346f024cbc2ca254e7975912525ac73b543ed8d8c085429350161c6a5c1e(
1021
+ *,
1022
+ uuid: builtins.str,
1023
+ ) -> None:
1024
+ """Type checking stubs"""
1025
+ pass
1026
+
1027
+ def _typecheckingstub__db7668f8e724167d0c31dc6f031a7c00d3714b1dbb9cd6ec817008b4d6ebf39b(
1028
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1029
+ terraform_attribute: builtins.str,
1030
+ wraps_set: builtins.bool,
1031
+ ) -> None:
1032
+ """Type checking stubs"""
1033
+ pass
1034
+
1035
+ def _typecheckingstub__48c112b1e251494973a67fba78b6324cb711aa99b3cfb29382f40c441e59f7e6(
1036
+ index: jsii.Number,
1037
+ ) -> None:
1038
+ """Type checking stubs"""
1039
+ pass
1040
+
1041
+ def _typecheckingstub__d280b8fd99ac74249214b913f7c5f8635180d95dcc43d01117acf75becb28fb7(
1042
+ value: builtins.str,
1043
+ ) -> None:
1044
+ """Type checking stubs"""
1045
+ pass
1046
+
1047
+ def _typecheckingstub__b62f8c2831183c8b51fbc33901c17c36e948d265356c4fb5ba04b97a3d05bb11(
1048
+ value: _cdktf_9a9027ec.IInterpolatingParent,
1049
+ ) -> None:
1050
+ """Type checking stubs"""
1051
+ pass
1052
+
1053
+ def _typecheckingstub__2cd0192ae5348b0a78e446a919c1102b31d82f3ecd6f145badfd2b39ba4a9db1(
1054
+ value: builtins.bool,
1055
+ ) -> None:
1056
+ """Type checking stubs"""
1057
+ pass
1058
+
1059
+ def _typecheckingstub__77e2f4167de8183af05abc272f18b41ac1f542f980f1c4036fc7f38497ff54bd(
1060
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[NetworkPeeringPeerNetwork]]],
1061
+ ) -> None:
1062
+ """Type checking stubs"""
1063
+ pass
1064
+
1065
+ def _typecheckingstub__931c118dd54712e08d5bba707127057107829f309bad9ef0a91234d62eeae24f(
1066
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1067
+ terraform_attribute: builtins.str,
1068
+ complex_object_index: jsii.Number,
1069
+ complex_object_is_from_set: builtins.bool,
1070
+ ) -> None:
1071
+ """Type checking stubs"""
1072
+ pass
1073
+
1074
+ def _typecheckingstub__de4aba0fbfe25c02480d1a02641af19e552410a1c7bdace66438257cd49ea872(
1075
+ value: builtins.str,
1076
+ ) -> None:
1077
+ """Type checking stubs"""
1078
+ pass
1079
+
1080
+ def _typecheckingstub__a289bb16c42d5525a179f4ac6c5efc53a834567dc52583ad4418d104f7501922(
1081
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, NetworkPeeringPeerNetwork]],
1082
+ ) -> None:
1083
+ """Type checking stubs"""
1084
+ pass