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,1233 @@
1
+ r'''
2
+ # `upcloud_firewall_rules`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_firewall_rules`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules).
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 FirewallRules(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.firewallRules.FirewallRules",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules upcloud_firewall_rules}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ server_id: builtins.str,
55
+ firewall_rule: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["FirewallRulesFirewallRule", typing.Dict[builtins.str, typing.Any]]]]] = None,
56
+ 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,
57
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
58
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
59
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
60
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
61
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
62
+ 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,
63
+ ) -> None:
64
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules upcloud_firewall_rules} Resource.
65
+
66
+ :param scope: The scope in which to define this construct.
67
+ :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
68
+ :param server_id: The UUID of the server to be protected with the firewall rules. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
69
+ :param firewall_rule: firewall_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
70
+ :param connection:
71
+ :param count:
72
+ :param depends_on:
73
+ :param for_each:
74
+ :param lifecycle:
75
+ :param provider:
76
+ :param provisioners:
77
+ '''
78
+ if __debug__:
79
+ type_hints = typing.get_type_hints(_typecheckingstub__3dd7e6461a1cb9b9f531749add09b10411da35a685dbccc19e6eae9f39484aba)
80
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
81
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
82
+ config = FirewallRulesConfig(
83
+ server_id=server_id,
84
+ firewall_rule=firewall_rule,
85
+ connection=connection,
86
+ count=count,
87
+ depends_on=depends_on,
88
+ for_each=for_each,
89
+ lifecycle=lifecycle,
90
+ provider=provider,
91
+ provisioners=provisioners,
92
+ )
93
+
94
+ jsii.create(self.__class__, self, [scope, id, config])
95
+
96
+ @jsii.member(jsii_name="generateConfigForImport")
97
+ @builtins.classmethod
98
+ def generate_config_for_import(
99
+ cls,
100
+ scope: _constructs_77d1e7e8.Construct,
101
+ import_to_id: builtins.str,
102
+ import_from_id: builtins.str,
103
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
104
+ ) -> _cdktf_9a9027ec.ImportableResource:
105
+ '''Generates CDKTF code for importing a FirewallRules resource upon running "cdktf plan ".
106
+
107
+ :param scope: The scope in which to define this construct.
108
+ :param import_to_id: The construct id used in the generated config for the FirewallRules to import.
109
+ :param import_from_id: The id of the existing FirewallRules that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#import import section} in the documentation of this resource for the id to use
110
+ :param provider: ? Optional instance of the provider where the FirewallRules to import is found.
111
+ '''
112
+ if __debug__:
113
+ type_hints = typing.get_type_hints(_typecheckingstub__3291f4d6d253a7020d12aa2a547bf6bf9304edc0dc3b1ac8a09e0f89e9294c92)
114
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
115
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
116
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
117
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
118
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
119
+
120
+ @jsii.member(jsii_name="putFirewallRule")
121
+ def put_firewall_rule(
122
+ self,
123
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["FirewallRulesFirewallRule", typing.Dict[builtins.str, typing.Any]]]],
124
+ ) -> None:
125
+ '''
126
+ :param value: -
127
+ '''
128
+ if __debug__:
129
+ type_hints = typing.get_type_hints(_typecheckingstub__a2bed86233110e50c69609c787a79a37508bd2b39f8c7dd910fe89f65bd5f40d)
130
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
131
+ return typing.cast(None, jsii.invoke(self, "putFirewallRule", [value]))
132
+
133
+ @jsii.member(jsii_name="resetFirewallRule")
134
+ def reset_firewall_rule(self) -> None:
135
+ return typing.cast(None, jsii.invoke(self, "resetFirewallRule", []))
136
+
137
+ @jsii.member(jsii_name="synthesizeAttributes")
138
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
139
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
140
+
141
+ @jsii.member(jsii_name="synthesizeHclAttributes")
142
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
143
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
144
+
145
+ @jsii.python.classproperty
146
+ @jsii.member(jsii_name="tfResourceType")
147
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
148
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
149
+
150
+ @builtins.property
151
+ @jsii.member(jsii_name="firewallRule")
152
+ def firewall_rule(self) -> "FirewallRulesFirewallRuleList":
153
+ return typing.cast("FirewallRulesFirewallRuleList", jsii.get(self, "firewallRule"))
154
+
155
+ @builtins.property
156
+ @jsii.member(jsii_name="id")
157
+ def id(self) -> builtins.str:
158
+ return typing.cast(builtins.str, jsii.get(self, "id"))
159
+
160
+ @builtins.property
161
+ @jsii.member(jsii_name="firewallRuleInput")
162
+ def firewall_rule_input(
163
+ self,
164
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["FirewallRulesFirewallRule"]]]:
165
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["FirewallRulesFirewallRule"]]], jsii.get(self, "firewallRuleInput"))
166
+
167
+ @builtins.property
168
+ @jsii.member(jsii_name="serverIdInput")
169
+ def server_id_input(self) -> typing.Optional[builtins.str]:
170
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverIdInput"))
171
+
172
+ @builtins.property
173
+ @jsii.member(jsii_name="serverId")
174
+ def server_id(self) -> builtins.str:
175
+ return typing.cast(builtins.str, jsii.get(self, "serverId"))
176
+
177
+ @server_id.setter
178
+ def server_id(self, value: builtins.str) -> None:
179
+ if __debug__:
180
+ type_hints = typing.get_type_hints(_typecheckingstub__58d36060cbaa53ac44e8eee4a67ae3fb2b894aa4b92b5809a705a5d3073ea15f)
181
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
182
+ jsii.set(self, "serverId", value) # pyright: ignore[reportArgumentType]
183
+
184
+
185
+ @jsii.data_type(
186
+ jsii_type="@cdktf/provider-upcloud.firewallRules.FirewallRulesConfig",
187
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
188
+ name_mapping={
189
+ "connection": "connection",
190
+ "count": "count",
191
+ "depends_on": "dependsOn",
192
+ "for_each": "forEach",
193
+ "lifecycle": "lifecycle",
194
+ "provider": "provider",
195
+ "provisioners": "provisioners",
196
+ "server_id": "serverId",
197
+ "firewall_rule": "firewallRule",
198
+ },
199
+ )
200
+ class FirewallRulesConfig(_cdktf_9a9027ec.TerraformMetaArguments):
201
+ def __init__(
202
+ self,
203
+ *,
204
+ 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,
205
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
206
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
207
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
208
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
209
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
210
+ 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,
211
+ server_id: builtins.str,
212
+ firewall_rule: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["FirewallRulesFirewallRule", typing.Dict[builtins.str, typing.Any]]]]] = None,
213
+ ) -> None:
214
+ '''
215
+ :param connection:
216
+ :param count:
217
+ :param depends_on:
218
+ :param for_each:
219
+ :param lifecycle:
220
+ :param provider:
221
+ :param provisioners:
222
+ :param server_id: The UUID of the server to be protected with the firewall rules. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
223
+ :param firewall_rule: firewall_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
224
+ '''
225
+ if isinstance(lifecycle, dict):
226
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
227
+ if __debug__:
228
+ type_hints = typing.get_type_hints(_typecheckingstub__1ead3fa66c8a64e9f8e657b68d25827ef2a936835b7d7dd2169abd3f3a1e7295)
229
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
230
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
231
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
232
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
233
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
234
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
235
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
236
+ check_type(argname="argument server_id", value=server_id, expected_type=type_hints["server_id"])
237
+ check_type(argname="argument firewall_rule", value=firewall_rule, expected_type=type_hints["firewall_rule"])
238
+ self._values: typing.Dict[builtins.str, typing.Any] = {
239
+ "server_id": server_id,
240
+ }
241
+ if connection is not None:
242
+ self._values["connection"] = connection
243
+ if count is not None:
244
+ self._values["count"] = count
245
+ if depends_on is not None:
246
+ self._values["depends_on"] = depends_on
247
+ if for_each is not None:
248
+ self._values["for_each"] = for_each
249
+ if lifecycle is not None:
250
+ self._values["lifecycle"] = lifecycle
251
+ if provider is not None:
252
+ self._values["provider"] = provider
253
+ if provisioners is not None:
254
+ self._values["provisioners"] = provisioners
255
+ if firewall_rule is not None:
256
+ self._values["firewall_rule"] = firewall_rule
257
+
258
+ @builtins.property
259
+ def connection(
260
+ self,
261
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
262
+ '''
263
+ :stability: experimental
264
+ '''
265
+ result = self._values.get("connection")
266
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
267
+
268
+ @builtins.property
269
+ def count(
270
+ self,
271
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
272
+ '''
273
+ :stability: experimental
274
+ '''
275
+ result = self._values.get("count")
276
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
277
+
278
+ @builtins.property
279
+ def depends_on(
280
+ self,
281
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
282
+ '''
283
+ :stability: experimental
284
+ '''
285
+ result = self._values.get("depends_on")
286
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
287
+
288
+ @builtins.property
289
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
290
+ '''
291
+ :stability: experimental
292
+ '''
293
+ result = self._values.get("for_each")
294
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
295
+
296
+ @builtins.property
297
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
298
+ '''
299
+ :stability: experimental
300
+ '''
301
+ result = self._values.get("lifecycle")
302
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
303
+
304
+ @builtins.property
305
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
306
+ '''
307
+ :stability: experimental
308
+ '''
309
+ result = self._values.get("provider")
310
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
311
+
312
+ @builtins.property
313
+ def provisioners(
314
+ self,
315
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
316
+ '''
317
+ :stability: experimental
318
+ '''
319
+ result = self._values.get("provisioners")
320
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
321
+
322
+ @builtins.property
323
+ def server_id(self) -> builtins.str:
324
+ '''The UUID of the server to be protected with the firewall rules.
325
+
326
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#server_id FirewallRules#server_id}
327
+ '''
328
+ result = self._values.get("server_id")
329
+ assert result is not None, "Required property 'server_id' is missing"
330
+ return typing.cast(builtins.str, result)
331
+
332
+ @builtins.property
333
+ def firewall_rule(
334
+ self,
335
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["FirewallRulesFirewallRule"]]]:
336
+ '''firewall_rule block.
337
+
338
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#firewall_rule FirewallRules#firewall_rule}
339
+ '''
340
+ result = self._values.get("firewall_rule")
341
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["FirewallRulesFirewallRule"]]], result)
342
+
343
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
344
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
345
+
346
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
347
+ return not (rhs == self)
348
+
349
+ def __repr__(self) -> str:
350
+ return "FirewallRulesConfig(%s)" % ", ".join(
351
+ k + "=" + repr(v) for k, v in self._values.items()
352
+ )
353
+
354
+
355
+ @jsii.data_type(
356
+ jsii_type="@cdktf/provider-upcloud.firewallRules.FirewallRulesFirewallRule",
357
+ jsii_struct_bases=[],
358
+ name_mapping={
359
+ "action": "action",
360
+ "direction": "direction",
361
+ "comment": "comment",
362
+ "destination_address_end": "destinationAddressEnd",
363
+ "destination_address_start": "destinationAddressStart",
364
+ "destination_port_end": "destinationPortEnd",
365
+ "destination_port_start": "destinationPortStart",
366
+ "family": "family",
367
+ "icmp_type": "icmpType",
368
+ "protocol": "protocol",
369
+ "source_address_end": "sourceAddressEnd",
370
+ "source_address_start": "sourceAddressStart",
371
+ "source_port_end": "sourcePortEnd",
372
+ "source_port_start": "sourcePortStart",
373
+ },
374
+ )
375
+ class FirewallRulesFirewallRule:
376
+ def __init__(
377
+ self,
378
+ *,
379
+ action: builtins.str,
380
+ direction: builtins.str,
381
+ comment: typing.Optional[builtins.str] = None,
382
+ destination_address_end: typing.Optional[builtins.str] = None,
383
+ destination_address_start: typing.Optional[builtins.str] = None,
384
+ destination_port_end: typing.Optional[builtins.str] = None,
385
+ destination_port_start: typing.Optional[builtins.str] = None,
386
+ family: typing.Optional[builtins.str] = None,
387
+ icmp_type: typing.Optional[builtins.str] = None,
388
+ protocol: typing.Optional[builtins.str] = None,
389
+ source_address_end: typing.Optional[builtins.str] = None,
390
+ source_address_start: typing.Optional[builtins.str] = None,
391
+ source_port_end: typing.Optional[builtins.str] = None,
392
+ source_port_start: typing.Optional[builtins.str] = None,
393
+ ) -> None:
394
+ '''
395
+ :param action: Action to take if the rule conditions are met. Valid values ``accept | drop``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#action FirewallRules#action}
396
+ :param direction: The direction of network traffic this rule will be applied to. Valid values are ``in`` and ``out``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#direction FirewallRules#direction}
397
+ :param comment: A comment for the rule. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#comment FirewallRules#comment}
398
+ :param destination_address_end: The destination address range ends from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_address_end FirewallRules#destination_address_end}
399
+ :param destination_address_start: The destination address range starts from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_address_start FirewallRules#destination_address_start}
400
+ :param destination_port_end: The destination port range ends from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_port_end FirewallRules#destination_port_end}
401
+ :param destination_port_start: The destination port range starts from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_port_start FirewallRules#destination_port_start}
402
+ :param family: The address family of new firewall rule. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#family FirewallRules#family}
403
+ :param icmp_type: The ICMP type of the rule. Only valid if protocol is ICMP. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#icmp_type FirewallRules#icmp_type}
404
+ :param protocol: The protocol of the rule. Possible values are `` (empty), ``tcp``, ``udp``, ``icmp``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#protocol FirewallRules#protocol}
405
+ :param source_address_end: The source address range ends from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_address_end FirewallRules#source_address_end}
406
+ :param source_address_start: The source address range starts from this address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_address_start FirewallRules#source_address_start}
407
+ :param source_port_end: The source port range ends from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_port_end FirewallRules#source_port_end}
408
+ :param source_port_start: The source port range starts from this port number. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_port_start FirewallRules#source_port_start}
409
+ '''
410
+ if __debug__:
411
+ type_hints = typing.get_type_hints(_typecheckingstub__9b77e978fb66d25b46f06da19493b15c4f42527dec58b7335729cf86141901af)
412
+ check_type(argname="argument action", value=action, expected_type=type_hints["action"])
413
+ check_type(argname="argument direction", value=direction, expected_type=type_hints["direction"])
414
+ check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
415
+ check_type(argname="argument destination_address_end", value=destination_address_end, expected_type=type_hints["destination_address_end"])
416
+ check_type(argname="argument destination_address_start", value=destination_address_start, expected_type=type_hints["destination_address_start"])
417
+ check_type(argname="argument destination_port_end", value=destination_port_end, expected_type=type_hints["destination_port_end"])
418
+ check_type(argname="argument destination_port_start", value=destination_port_start, expected_type=type_hints["destination_port_start"])
419
+ check_type(argname="argument family", value=family, expected_type=type_hints["family"])
420
+ check_type(argname="argument icmp_type", value=icmp_type, expected_type=type_hints["icmp_type"])
421
+ check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
422
+ check_type(argname="argument source_address_end", value=source_address_end, expected_type=type_hints["source_address_end"])
423
+ check_type(argname="argument source_address_start", value=source_address_start, expected_type=type_hints["source_address_start"])
424
+ check_type(argname="argument source_port_end", value=source_port_end, expected_type=type_hints["source_port_end"])
425
+ check_type(argname="argument source_port_start", value=source_port_start, expected_type=type_hints["source_port_start"])
426
+ self._values: typing.Dict[builtins.str, typing.Any] = {
427
+ "action": action,
428
+ "direction": direction,
429
+ }
430
+ if comment is not None:
431
+ self._values["comment"] = comment
432
+ if destination_address_end is not None:
433
+ self._values["destination_address_end"] = destination_address_end
434
+ if destination_address_start is not None:
435
+ self._values["destination_address_start"] = destination_address_start
436
+ if destination_port_end is not None:
437
+ self._values["destination_port_end"] = destination_port_end
438
+ if destination_port_start is not None:
439
+ self._values["destination_port_start"] = destination_port_start
440
+ if family is not None:
441
+ self._values["family"] = family
442
+ if icmp_type is not None:
443
+ self._values["icmp_type"] = icmp_type
444
+ if protocol is not None:
445
+ self._values["protocol"] = protocol
446
+ if source_address_end is not None:
447
+ self._values["source_address_end"] = source_address_end
448
+ if source_address_start is not None:
449
+ self._values["source_address_start"] = source_address_start
450
+ if source_port_end is not None:
451
+ self._values["source_port_end"] = source_port_end
452
+ if source_port_start is not None:
453
+ self._values["source_port_start"] = source_port_start
454
+
455
+ @builtins.property
456
+ def action(self) -> builtins.str:
457
+ '''Action to take if the rule conditions are met. Valid values ``accept | drop``.
458
+
459
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#action FirewallRules#action}
460
+ '''
461
+ result = self._values.get("action")
462
+ assert result is not None, "Required property 'action' is missing"
463
+ return typing.cast(builtins.str, result)
464
+
465
+ @builtins.property
466
+ def direction(self) -> builtins.str:
467
+ '''The direction of network traffic this rule will be applied to. Valid values are ``in`` and ``out``.
468
+
469
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#direction FirewallRules#direction}
470
+ '''
471
+ result = self._values.get("direction")
472
+ assert result is not None, "Required property 'direction' is missing"
473
+ return typing.cast(builtins.str, result)
474
+
475
+ @builtins.property
476
+ def comment(self) -> typing.Optional[builtins.str]:
477
+ '''A comment for the rule.
478
+
479
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#comment FirewallRules#comment}
480
+ '''
481
+ result = self._values.get("comment")
482
+ return typing.cast(typing.Optional[builtins.str], result)
483
+
484
+ @builtins.property
485
+ def destination_address_end(self) -> typing.Optional[builtins.str]:
486
+ '''The destination address range ends from this address.
487
+
488
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_address_end FirewallRules#destination_address_end}
489
+ '''
490
+ result = self._values.get("destination_address_end")
491
+ return typing.cast(typing.Optional[builtins.str], result)
492
+
493
+ @builtins.property
494
+ def destination_address_start(self) -> typing.Optional[builtins.str]:
495
+ '''The destination address range starts from this address.
496
+
497
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_address_start FirewallRules#destination_address_start}
498
+ '''
499
+ result = self._values.get("destination_address_start")
500
+ return typing.cast(typing.Optional[builtins.str], result)
501
+
502
+ @builtins.property
503
+ def destination_port_end(self) -> typing.Optional[builtins.str]:
504
+ '''The destination port range ends from this port number.
505
+
506
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_port_end FirewallRules#destination_port_end}
507
+ '''
508
+ result = self._values.get("destination_port_end")
509
+ return typing.cast(typing.Optional[builtins.str], result)
510
+
511
+ @builtins.property
512
+ def destination_port_start(self) -> typing.Optional[builtins.str]:
513
+ '''The destination port range starts from this port number.
514
+
515
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#destination_port_start FirewallRules#destination_port_start}
516
+ '''
517
+ result = self._values.get("destination_port_start")
518
+ return typing.cast(typing.Optional[builtins.str], result)
519
+
520
+ @builtins.property
521
+ def family(self) -> typing.Optional[builtins.str]:
522
+ '''The address family of new firewall rule.
523
+
524
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#family FirewallRules#family}
525
+ '''
526
+ result = self._values.get("family")
527
+ return typing.cast(typing.Optional[builtins.str], result)
528
+
529
+ @builtins.property
530
+ def icmp_type(self) -> typing.Optional[builtins.str]:
531
+ '''The ICMP type of the rule. Only valid if protocol is ICMP.
532
+
533
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#icmp_type FirewallRules#icmp_type}
534
+ '''
535
+ result = self._values.get("icmp_type")
536
+ return typing.cast(typing.Optional[builtins.str], result)
537
+
538
+ @builtins.property
539
+ def protocol(self) -> typing.Optional[builtins.str]:
540
+ '''The protocol of the rule. Possible values are `` (empty), ``tcp``, ``udp``, ``icmp``.
541
+
542
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#protocol FirewallRules#protocol}
543
+ '''
544
+ result = self._values.get("protocol")
545
+ return typing.cast(typing.Optional[builtins.str], result)
546
+
547
+ @builtins.property
548
+ def source_address_end(self) -> typing.Optional[builtins.str]:
549
+ '''The source address range ends from this address.
550
+
551
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_address_end FirewallRules#source_address_end}
552
+ '''
553
+ result = self._values.get("source_address_end")
554
+ return typing.cast(typing.Optional[builtins.str], result)
555
+
556
+ @builtins.property
557
+ def source_address_start(self) -> typing.Optional[builtins.str]:
558
+ '''The source address range starts from this address.
559
+
560
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_address_start FirewallRules#source_address_start}
561
+ '''
562
+ result = self._values.get("source_address_start")
563
+ return typing.cast(typing.Optional[builtins.str], result)
564
+
565
+ @builtins.property
566
+ def source_port_end(self) -> typing.Optional[builtins.str]:
567
+ '''The source port range ends from this port number.
568
+
569
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_port_end FirewallRules#source_port_end}
570
+ '''
571
+ result = self._values.get("source_port_end")
572
+ return typing.cast(typing.Optional[builtins.str], result)
573
+
574
+ @builtins.property
575
+ def source_port_start(self) -> typing.Optional[builtins.str]:
576
+ '''The source port range starts from this port number.
577
+
578
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/firewall_rules#source_port_start FirewallRules#source_port_start}
579
+ '''
580
+ result = self._values.get("source_port_start")
581
+ return typing.cast(typing.Optional[builtins.str], result)
582
+
583
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
584
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
585
+
586
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
587
+ return not (rhs == self)
588
+
589
+ def __repr__(self) -> str:
590
+ return "FirewallRulesFirewallRule(%s)" % ", ".join(
591
+ k + "=" + repr(v) for k, v in self._values.items()
592
+ )
593
+
594
+
595
+ class FirewallRulesFirewallRuleList(
596
+ _cdktf_9a9027ec.ComplexList,
597
+ metaclass=jsii.JSIIMeta,
598
+ jsii_type="@cdktf/provider-upcloud.firewallRules.FirewallRulesFirewallRuleList",
599
+ ):
600
+ def __init__(
601
+ self,
602
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
603
+ terraform_attribute: builtins.str,
604
+ wraps_set: builtins.bool,
605
+ ) -> None:
606
+ '''
607
+ :param terraform_resource: The parent resource.
608
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
609
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
610
+ '''
611
+ if __debug__:
612
+ type_hints = typing.get_type_hints(_typecheckingstub__be9a3286793c7b780c1f2211a4b8454dc7ce78580680fec420e340a7243622a1)
613
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
614
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
615
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
616
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
617
+
618
+ @jsii.member(jsii_name="get")
619
+ def get(self, index: jsii.Number) -> "FirewallRulesFirewallRuleOutputReference":
620
+ '''
621
+ :param index: the index of the item to return.
622
+ '''
623
+ if __debug__:
624
+ type_hints = typing.get_type_hints(_typecheckingstub__279903c33d49c86617e4f2180e58a1a6e251e7f5da5e24a185815a10ca8c71ef)
625
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
626
+ return typing.cast("FirewallRulesFirewallRuleOutputReference", jsii.invoke(self, "get", [index]))
627
+
628
+ @builtins.property
629
+ @jsii.member(jsii_name="terraformAttribute")
630
+ def _terraform_attribute(self) -> builtins.str:
631
+ '''The attribute on the parent resource this class is referencing.'''
632
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
633
+
634
+ @_terraform_attribute.setter
635
+ def _terraform_attribute(self, value: builtins.str) -> None:
636
+ if __debug__:
637
+ type_hints = typing.get_type_hints(_typecheckingstub__b8c0667b5246b36656b65a0197f71b1be7dd4913264b18a8f964bb03d46e0f31)
638
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
639
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
640
+
641
+ @builtins.property
642
+ @jsii.member(jsii_name="terraformResource")
643
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
644
+ '''The parent resource.'''
645
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
646
+
647
+ @_terraform_resource.setter
648
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
649
+ if __debug__:
650
+ type_hints = typing.get_type_hints(_typecheckingstub__2f485ce2be519a06464be51456be1a6082db33afb0dc146c5295a7ce6327267a)
651
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
652
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
653
+
654
+ @builtins.property
655
+ @jsii.member(jsii_name="wrapsSet")
656
+ def _wraps_set(self) -> builtins.bool:
657
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
658
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
659
+
660
+ @_wraps_set.setter
661
+ def _wraps_set(self, value: builtins.bool) -> None:
662
+ if __debug__:
663
+ type_hints = typing.get_type_hints(_typecheckingstub__b5ed2e7c1ca8241abef1bcdfd639eda4a1c8b13b12614419551aba8da56714d1)
664
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
665
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
666
+
667
+ @builtins.property
668
+ @jsii.member(jsii_name="internalValue")
669
+ def internal_value(
670
+ self,
671
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[FirewallRulesFirewallRule]]]:
672
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[FirewallRulesFirewallRule]]], jsii.get(self, "internalValue"))
673
+
674
+ @internal_value.setter
675
+ def internal_value(
676
+ self,
677
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[FirewallRulesFirewallRule]]],
678
+ ) -> None:
679
+ if __debug__:
680
+ type_hints = typing.get_type_hints(_typecheckingstub__86aa44126bbd5ae12ad54058822b7caba978de31968f8df12c8a012a7642896c)
681
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
682
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
683
+
684
+
685
+ class FirewallRulesFirewallRuleOutputReference(
686
+ _cdktf_9a9027ec.ComplexObject,
687
+ metaclass=jsii.JSIIMeta,
688
+ jsii_type="@cdktf/provider-upcloud.firewallRules.FirewallRulesFirewallRuleOutputReference",
689
+ ):
690
+ def __init__(
691
+ self,
692
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
693
+ terraform_attribute: builtins.str,
694
+ complex_object_index: jsii.Number,
695
+ complex_object_is_from_set: builtins.bool,
696
+ ) -> None:
697
+ '''
698
+ :param terraform_resource: The parent resource.
699
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
700
+ :param complex_object_index: the index of this item in the list.
701
+ :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).
702
+ '''
703
+ if __debug__:
704
+ type_hints = typing.get_type_hints(_typecheckingstub__f63ab3f124af332601c8d24ac1dbed88ef0997982f15c6c057a556087d9b15c0)
705
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
706
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
707
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
708
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
709
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
710
+
711
+ @jsii.member(jsii_name="resetComment")
712
+ def reset_comment(self) -> None:
713
+ return typing.cast(None, jsii.invoke(self, "resetComment", []))
714
+
715
+ @jsii.member(jsii_name="resetDestinationAddressEnd")
716
+ def reset_destination_address_end(self) -> None:
717
+ return typing.cast(None, jsii.invoke(self, "resetDestinationAddressEnd", []))
718
+
719
+ @jsii.member(jsii_name="resetDestinationAddressStart")
720
+ def reset_destination_address_start(self) -> None:
721
+ return typing.cast(None, jsii.invoke(self, "resetDestinationAddressStart", []))
722
+
723
+ @jsii.member(jsii_name="resetDestinationPortEnd")
724
+ def reset_destination_port_end(self) -> None:
725
+ return typing.cast(None, jsii.invoke(self, "resetDestinationPortEnd", []))
726
+
727
+ @jsii.member(jsii_name="resetDestinationPortStart")
728
+ def reset_destination_port_start(self) -> None:
729
+ return typing.cast(None, jsii.invoke(self, "resetDestinationPortStart", []))
730
+
731
+ @jsii.member(jsii_name="resetFamily")
732
+ def reset_family(self) -> None:
733
+ return typing.cast(None, jsii.invoke(self, "resetFamily", []))
734
+
735
+ @jsii.member(jsii_name="resetIcmpType")
736
+ def reset_icmp_type(self) -> None:
737
+ return typing.cast(None, jsii.invoke(self, "resetIcmpType", []))
738
+
739
+ @jsii.member(jsii_name="resetProtocol")
740
+ def reset_protocol(self) -> None:
741
+ return typing.cast(None, jsii.invoke(self, "resetProtocol", []))
742
+
743
+ @jsii.member(jsii_name="resetSourceAddressEnd")
744
+ def reset_source_address_end(self) -> None:
745
+ return typing.cast(None, jsii.invoke(self, "resetSourceAddressEnd", []))
746
+
747
+ @jsii.member(jsii_name="resetSourceAddressStart")
748
+ def reset_source_address_start(self) -> None:
749
+ return typing.cast(None, jsii.invoke(self, "resetSourceAddressStart", []))
750
+
751
+ @jsii.member(jsii_name="resetSourcePortEnd")
752
+ def reset_source_port_end(self) -> None:
753
+ return typing.cast(None, jsii.invoke(self, "resetSourcePortEnd", []))
754
+
755
+ @jsii.member(jsii_name="resetSourcePortStart")
756
+ def reset_source_port_start(self) -> None:
757
+ return typing.cast(None, jsii.invoke(self, "resetSourcePortStart", []))
758
+
759
+ @builtins.property
760
+ @jsii.member(jsii_name="actionInput")
761
+ def action_input(self) -> typing.Optional[builtins.str]:
762
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "actionInput"))
763
+
764
+ @builtins.property
765
+ @jsii.member(jsii_name="commentInput")
766
+ def comment_input(self) -> typing.Optional[builtins.str]:
767
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "commentInput"))
768
+
769
+ @builtins.property
770
+ @jsii.member(jsii_name="destinationAddressEndInput")
771
+ def destination_address_end_input(self) -> typing.Optional[builtins.str]:
772
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationAddressEndInput"))
773
+
774
+ @builtins.property
775
+ @jsii.member(jsii_name="destinationAddressStartInput")
776
+ def destination_address_start_input(self) -> typing.Optional[builtins.str]:
777
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationAddressStartInput"))
778
+
779
+ @builtins.property
780
+ @jsii.member(jsii_name="destinationPortEndInput")
781
+ def destination_port_end_input(self) -> typing.Optional[builtins.str]:
782
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationPortEndInput"))
783
+
784
+ @builtins.property
785
+ @jsii.member(jsii_name="destinationPortStartInput")
786
+ def destination_port_start_input(self) -> typing.Optional[builtins.str]:
787
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationPortStartInput"))
788
+
789
+ @builtins.property
790
+ @jsii.member(jsii_name="directionInput")
791
+ def direction_input(self) -> typing.Optional[builtins.str]:
792
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "directionInput"))
793
+
794
+ @builtins.property
795
+ @jsii.member(jsii_name="familyInput")
796
+ def family_input(self) -> typing.Optional[builtins.str]:
797
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "familyInput"))
798
+
799
+ @builtins.property
800
+ @jsii.member(jsii_name="icmpTypeInput")
801
+ def icmp_type_input(self) -> typing.Optional[builtins.str]:
802
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "icmpTypeInput"))
803
+
804
+ @builtins.property
805
+ @jsii.member(jsii_name="protocolInput")
806
+ def protocol_input(self) -> typing.Optional[builtins.str]:
807
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "protocolInput"))
808
+
809
+ @builtins.property
810
+ @jsii.member(jsii_name="sourceAddressEndInput")
811
+ def source_address_end_input(self) -> typing.Optional[builtins.str]:
812
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourceAddressEndInput"))
813
+
814
+ @builtins.property
815
+ @jsii.member(jsii_name="sourceAddressStartInput")
816
+ def source_address_start_input(self) -> typing.Optional[builtins.str]:
817
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourceAddressStartInput"))
818
+
819
+ @builtins.property
820
+ @jsii.member(jsii_name="sourcePortEndInput")
821
+ def source_port_end_input(self) -> typing.Optional[builtins.str]:
822
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourcePortEndInput"))
823
+
824
+ @builtins.property
825
+ @jsii.member(jsii_name="sourcePortStartInput")
826
+ def source_port_start_input(self) -> typing.Optional[builtins.str]:
827
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourcePortStartInput"))
828
+
829
+ @builtins.property
830
+ @jsii.member(jsii_name="action")
831
+ def action(self) -> builtins.str:
832
+ return typing.cast(builtins.str, jsii.get(self, "action"))
833
+
834
+ @action.setter
835
+ def action(self, value: builtins.str) -> None:
836
+ if __debug__:
837
+ type_hints = typing.get_type_hints(_typecheckingstub__cf5d77e9b808a5b2988f3a6654c3e9139819ac431e2f95c9e5cff41dde9c5f94)
838
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
839
+ jsii.set(self, "action", value) # pyright: ignore[reportArgumentType]
840
+
841
+ @builtins.property
842
+ @jsii.member(jsii_name="comment")
843
+ def comment(self) -> builtins.str:
844
+ return typing.cast(builtins.str, jsii.get(self, "comment"))
845
+
846
+ @comment.setter
847
+ def comment(self, value: builtins.str) -> None:
848
+ if __debug__:
849
+ type_hints = typing.get_type_hints(_typecheckingstub__7b91f92cb088fa23c430b161883c5372b64c80e7695a5dc0d56709ff8b250595)
850
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
851
+ jsii.set(self, "comment", value) # pyright: ignore[reportArgumentType]
852
+
853
+ @builtins.property
854
+ @jsii.member(jsii_name="destinationAddressEnd")
855
+ def destination_address_end(self) -> builtins.str:
856
+ return typing.cast(builtins.str, jsii.get(self, "destinationAddressEnd"))
857
+
858
+ @destination_address_end.setter
859
+ def destination_address_end(self, value: builtins.str) -> None:
860
+ if __debug__:
861
+ type_hints = typing.get_type_hints(_typecheckingstub__0f7eb292b90d80a698dd8379cf4a1b7720cbb26f3218dd2c5628a524de2c37d0)
862
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
863
+ jsii.set(self, "destinationAddressEnd", value) # pyright: ignore[reportArgumentType]
864
+
865
+ @builtins.property
866
+ @jsii.member(jsii_name="destinationAddressStart")
867
+ def destination_address_start(self) -> builtins.str:
868
+ return typing.cast(builtins.str, jsii.get(self, "destinationAddressStart"))
869
+
870
+ @destination_address_start.setter
871
+ def destination_address_start(self, value: builtins.str) -> None:
872
+ if __debug__:
873
+ type_hints = typing.get_type_hints(_typecheckingstub__20587ec84eb611c98035fea7ea314b6143d56185b4a64fbc8230a2c4a0fbafa2)
874
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
875
+ jsii.set(self, "destinationAddressStart", value) # pyright: ignore[reportArgumentType]
876
+
877
+ @builtins.property
878
+ @jsii.member(jsii_name="destinationPortEnd")
879
+ def destination_port_end(self) -> builtins.str:
880
+ return typing.cast(builtins.str, jsii.get(self, "destinationPortEnd"))
881
+
882
+ @destination_port_end.setter
883
+ def destination_port_end(self, value: builtins.str) -> None:
884
+ if __debug__:
885
+ type_hints = typing.get_type_hints(_typecheckingstub__dabf172600ce549d515b972b8ea8e7805bd96e407de84a02cf2fceff3f8c3a83)
886
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
887
+ jsii.set(self, "destinationPortEnd", value) # pyright: ignore[reportArgumentType]
888
+
889
+ @builtins.property
890
+ @jsii.member(jsii_name="destinationPortStart")
891
+ def destination_port_start(self) -> builtins.str:
892
+ return typing.cast(builtins.str, jsii.get(self, "destinationPortStart"))
893
+
894
+ @destination_port_start.setter
895
+ def destination_port_start(self, value: builtins.str) -> None:
896
+ if __debug__:
897
+ type_hints = typing.get_type_hints(_typecheckingstub__0d88e34c4e91fb7cdbc15f89e46e2e94fff59570bf5406589c1a3e23f26b49b6)
898
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
899
+ jsii.set(self, "destinationPortStart", value) # pyright: ignore[reportArgumentType]
900
+
901
+ @builtins.property
902
+ @jsii.member(jsii_name="direction")
903
+ def direction(self) -> builtins.str:
904
+ return typing.cast(builtins.str, jsii.get(self, "direction"))
905
+
906
+ @direction.setter
907
+ def direction(self, value: builtins.str) -> None:
908
+ if __debug__:
909
+ type_hints = typing.get_type_hints(_typecheckingstub__532bebe01b1fe3ad35f6fecfcb8b05d23ff4766c67436324b523c33c46172fd1)
910
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
911
+ jsii.set(self, "direction", value) # pyright: ignore[reportArgumentType]
912
+
913
+ @builtins.property
914
+ @jsii.member(jsii_name="family")
915
+ def family(self) -> builtins.str:
916
+ return typing.cast(builtins.str, jsii.get(self, "family"))
917
+
918
+ @family.setter
919
+ def family(self, value: builtins.str) -> None:
920
+ if __debug__:
921
+ type_hints = typing.get_type_hints(_typecheckingstub__bc82326e5f373043d64665f6c6a8a3cf83c2b0bedc6592edef0116bf89ced524)
922
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
923
+ jsii.set(self, "family", value) # pyright: ignore[reportArgumentType]
924
+
925
+ @builtins.property
926
+ @jsii.member(jsii_name="icmpType")
927
+ def icmp_type(self) -> builtins.str:
928
+ return typing.cast(builtins.str, jsii.get(self, "icmpType"))
929
+
930
+ @icmp_type.setter
931
+ def icmp_type(self, value: builtins.str) -> None:
932
+ if __debug__:
933
+ type_hints = typing.get_type_hints(_typecheckingstub__7c98da5a7a41b0a2eb46eaa7d3a966c5f1f56dfa2c275c6ba075aeffa7383fc3)
934
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
935
+ jsii.set(self, "icmpType", value) # pyright: ignore[reportArgumentType]
936
+
937
+ @builtins.property
938
+ @jsii.member(jsii_name="protocol")
939
+ def protocol(self) -> builtins.str:
940
+ return typing.cast(builtins.str, jsii.get(self, "protocol"))
941
+
942
+ @protocol.setter
943
+ def protocol(self, value: builtins.str) -> None:
944
+ if __debug__:
945
+ type_hints = typing.get_type_hints(_typecheckingstub__90dd48388c4582e71016f824db682a0e6badaaa68192d2f75fd11df31454bcec)
946
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
947
+ jsii.set(self, "protocol", value) # pyright: ignore[reportArgumentType]
948
+
949
+ @builtins.property
950
+ @jsii.member(jsii_name="sourceAddressEnd")
951
+ def source_address_end(self) -> builtins.str:
952
+ return typing.cast(builtins.str, jsii.get(self, "sourceAddressEnd"))
953
+
954
+ @source_address_end.setter
955
+ def source_address_end(self, value: builtins.str) -> None:
956
+ if __debug__:
957
+ type_hints = typing.get_type_hints(_typecheckingstub__64e12a12a20cdee9fd9c4ab584665fd7d2c5e0ef17a986482ca1ffc3ccd2e8d5)
958
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
959
+ jsii.set(self, "sourceAddressEnd", value) # pyright: ignore[reportArgumentType]
960
+
961
+ @builtins.property
962
+ @jsii.member(jsii_name="sourceAddressStart")
963
+ def source_address_start(self) -> builtins.str:
964
+ return typing.cast(builtins.str, jsii.get(self, "sourceAddressStart"))
965
+
966
+ @source_address_start.setter
967
+ def source_address_start(self, value: builtins.str) -> None:
968
+ if __debug__:
969
+ type_hints = typing.get_type_hints(_typecheckingstub__65e8b63f6139968901f5dd1be0e577d5020648bf37a8cfc699f60b84ec4f1925)
970
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
971
+ jsii.set(self, "sourceAddressStart", value) # pyright: ignore[reportArgumentType]
972
+
973
+ @builtins.property
974
+ @jsii.member(jsii_name="sourcePortEnd")
975
+ def source_port_end(self) -> builtins.str:
976
+ return typing.cast(builtins.str, jsii.get(self, "sourcePortEnd"))
977
+
978
+ @source_port_end.setter
979
+ def source_port_end(self, value: builtins.str) -> None:
980
+ if __debug__:
981
+ type_hints = typing.get_type_hints(_typecheckingstub__49eacef077b5828707589d620d969195fb255d20caf3d33a2091f58f3d299733)
982
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
983
+ jsii.set(self, "sourcePortEnd", value) # pyright: ignore[reportArgumentType]
984
+
985
+ @builtins.property
986
+ @jsii.member(jsii_name="sourcePortStart")
987
+ def source_port_start(self) -> builtins.str:
988
+ return typing.cast(builtins.str, jsii.get(self, "sourcePortStart"))
989
+
990
+ @source_port_start.setter
991
+ def source_port_start(self, value: builtins.str) -> None:
992
+ if __debug__:
993
+ type_hints = typing.get_type_hints(_typecheckingstub__b4e448528c042dda5a3679431eace4acbc8a79820637256ca64a7cb946c21d9f)
994
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
995
+ jsii.set(self, "sourcePortStart", value) # pyright: ignore[reportArgumentType]
996
+
997
+ @builtins.property
998
+ @jsii.member(jsii_name="internalValue")
999
+ def internal_value(
1000
+ self,
1001
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, FirewallRulesFirewallRule]]:
1002
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, FirewallRulesFirewallRule]], jsii.get(self, "internalValue"))
1003
+
1004
+ @internal_value.setter
1005
+ def internal_value(
1006
+ self,
1007
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, FirewallRulesFirewallRule]],
1008
+ ) -> None:
1009
+ if __debug__:
1010
+ type_hints = typing.get_type_hints(_typecheckingstub__caf76bc209bb05575c5fe33f2a065f78e22a3cad53fce656b4371ab3233464d7)
1011
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1012
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1013
+
1014
+
1015
+ __all__ = [
1016
+ "FirewallRules",
1017
+ "FirewallRulesConfig",
1018
+ "FirewallRulesFirewallRule",
1019
+ "FirewallRulesFirewallRuleList",
1020
+ "FirewallRulesFirewallRuleOutputReference",
1021
+ ]
1022
+
1023
+ publication.publish()
1024
+
1025
+ def _typecheckingstub__3dd7e6461a1cb9b9f531749add09b10411da35a685dbccc19e6eae9f39484aba(
1026
+ scope: _constructs_77d1e7e8.Construct,
1027
+ id: builtins.str,
1028
+ *,
1029
+ server_id: builtins.str,
1030
+ firewall_rule: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[FirewallRulesFirewallRule, typing.Dict[builtins.str, typing.Any]]]]] = None,
1031
+ 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,
1032
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1033
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1034
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1035
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1036
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1037
+ 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,
1038
+ ) -> None:
1039
+ """Type checking stubs"""
1040
+ pass
1041
+
1042
+ def _typecheckingstub__3291f4d6d253a7020d12aa2a547bf6bf9304edc0dc3b1ac8a09e0f89e9294c92(
1043
+ scope: _constructs_77d1e7e8.Construct,
1044
+ import_to_id: builtins.str,
1045
+ import_from_id: builtins.str,
1046
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1047
+ ) -> None:
1048
+ """Type checking stubs"""
1049
+ pass
1050
+
1051
+ def _typecheckingstub__a2bed86233110e50c69609c787a79a37508bd2b39f8c7dd910fe89f65bd5f40d(
1052
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[FirewallRulesFirewallRule, typing.Dict[builtins.str, typing.Any]]]],
1053
+ ) -> None:
1054
+ """Type checking stubs"""
1055
+ pass
1056
+
1057
+ def _typecheckingstub__58d36060cbaa53ac44e8eee4a67ae3fb2b894aa4b92b5809a705a5d3073ea15f(
1058
+ value: builtins.str,
1059
+ ) -> None:
1060
+ """Type checking stubs"""
1061
+ pass
1062
+
1063
+ def _typecheckingstub__1ead3fa66c8a64e9f8e657b68d25827ef2a936835b7d7dd2169abd3f3a1e7295(
1064
+ *,
1065
+ 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,
1066
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1067
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1068
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1069
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1070
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1071
+ 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,
1072
+ server_id: builtins.str,
1073
+ firewall_rule: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[FirewallRulesFirewallRule, typing.Dict[builtins.str, typing.Any]]]]] = None,
1074
+ ) -> None:
1075
+ """Type checking stubs"""
1076
+ pass
1077
+
1078
+ def _typecheckingstub__9b77e978fb66d25b46f06da19493b15c4f42527dec58b7335729cf86141901af(
1079
+ *,
1080
+ action: builtins.str,
1081
+ direction: builtins.str,
1082
+ comment: typing.Optional[builtins.str] = None,
1083
+ destination_address_end: typing.Optional[builtins.str] = None,
1084
+ destination_address_start: typing.Optional[builtins.str] = None,
1085
+ destination_port_end: typing.Optional[builtins.str] = None,
1086
+ destination_port_start: typing.Optional[builtins.str] = None,
1087
+ family: typing.Optional[builtins.str] = None,
1088
+ icmp_type: typing.Optional[builtins.str] = None,
1089
+ protocol: typing.Optional[builtins.str] = None,
1090
+ source_address_end: typing.Optional[builtins.str] = None,
1091
+ source_address_start: typing.Optional[builtins.str] = None,
1092
+ source_port_end: typing.Optional[builtins.str] = None,
1093
+ source_port_start: typing.Optional[builtins.str] = None,
1094
+ ) -> None:
1095
+ """Type checking stubs"""
1096
+ pass
1097
+
1098
+ def _typecheckingstub__be9a3286793c7b780c1f2211a4b8454dc7ce78580680fec420e340a7243622a1(
1099
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1100
+ terraform_attribute: builtins.str,
1101
+ wraps_set: builtins.bool,
1102
+ ) -> None:
1103
+ """Type checking stubs"""
1104
+ pass
1105
+
1106
+ def _typecheckingstub__279903c33d49c86617e4f2180e58a1a6e251e7f5da5e24a185815a10ca8c71ef(
1107
+ index: jsii.Number,
1108
+ ) -> None:
1109
+ """Type checking stubs"""
1110
+ pass
1111
+
1112
+ def _typecheckingstub__b8c0667b5246b36656b65a0197f71b1be7dd4913264b18a8f964bb03d46e0f31(
1113
+ value: builtins.str,
1114
+ ) -> None:
1115
+ """Type checking stubs"""
1116
+ pass
1117
+
1118
+ def _typecheckingstub__2f485ce2be519a06464be51456be1a6082db33afb0dc146c5295a7ce6327267a(
1119
+ value: _cdktf_9a9027ec.IInterpolatingParent,
1120
+ ) -> None:
1121
+ """Type checking stubs"""
1122
+ pass
1123
+
1124
+ def _typecheckingstub__b5ed2e7c1ca8241abef1bcdfd639eda4a1c8b13b12614419551aba8da56714d1(
1125
+ value: builtins.bool,
1126
+ ) -> None:
1127
+ """Type checking stubs"""
1128
+ pass
1129
+
1130
+ def _typecheckingstub__86aa44126bbd5ae12ad54058822b7caba978de31968f8df12c8a012a7642896c(
1131
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[FirewallRulesFirewallRule]]],
1132
+ ) -> None:
1133
+ """Type checking stubs"""
1134
+ pass
1135
+
1136
+ def _typecheckingstub__f63ab3f124af332601c8d24ac1dbed88ef0997982f15c6c057a556087d9b15c0(
1137
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1138
+ terraform_attribute: builtins.str,
1139
+ complex_object_index: jsii.Number,
1140
+ complex_object_is_from_set: builtins.bool,
1141
+ ) -> None:
1142
+ """Type checking stubs"""
1143
+ pass
1144
+
1145
+ def _typecheckingstub__cf5d77e9b808a5b2988f3a6654c3e9139819ac431e2f95c9e5cff41dde9c5f94(
1146
+ value: builtins.str,
1147
+ ) -> None:
1148
+ """Type checking stubs"""
1149
+ pass
1150
+
1151
+ def _typecheckingstub__7b91f92cb088fa23c430b161883c5372b64c80e7695a5dc0d56709ff8b250595(
1152
+ value: builtins.str,
1153
+ ) -> None:
1154
+ """Type checking stubs"""
1155
+ pass
1156
+
1157
+ def _typecheckingstub__0f7eb292b90d80a698dd8379cf4a1b7720cbb26f3218dd2c5628a524de2c37d0(
1158
+ value: builtins.str,
1159
+ ) -> None:
1160
+ """Type checking stubs"""
1161
+ pass
1162
+
1163
+ def _typecheckingstub__20587ec84eb611c98035fea7ea314b6143d56185b4a64fbc8230a2c4a0fbafa2(
1164
+ value: builtins.str,
1165
+ ) -> None:
1166
+ """Type checking stubs"""
1167
+ pass
1168
+
1169
+ def _typecheckingstub__dabf172600ce549d515b972b8ea8e7805bd96e407de84a02cf2fceff3f8c3a83(
1170
+ value: builtins.str,
1171
+ ) -> None:
1172
+ """Type checking stubs"""
1173
+ pass
1174
+
1175
+ def _typecheckingstub__0d88e34c4e91fb7cdbc15f89e46e2e94fff59570bf5406589c1a3e23f26b49b6(
1176
+ value: builtins.str,
1177
+ ) -> None:
1178
+ """Type checking stubs"""
1179
+ pass
1180
+
1181
+ def _typecheckingstub__532bebe01b1fe3ad35f6fecfcb8b05d23ff4766c67436324b523c33c46172fd1(
1182
+ value: builtins.str,
1183
+ ) -> None:
1184
+ """Type checking stubs"""
1185
+ pass
1186
+
1187
+ def _typecheckingstub__bc82326e5f373043d64665f6c6a8a3cf83c2b0bedc6592edef0116bf89ced524(
1188
+ value: builtins.str,
1189
+ ) -> None:
1190
+ """Type checking stubs"""
1191
+ pass
1192
+
1193
+ def _typecheckingstub__7c98da5a7a41b0a2eb46eaa7d3a966c5f1f56dfa2c275c6ba075aeffa7383fc3(
1194
+ value: builtins.str,
1195
+ ) -> None:
1196
+ """Type checking stubs"""
1197
+ pass
1198
+
1199
+ def _typecheckingstub__90dd48388c4582e71016f824db682a0e6badaaa68192d2f75fd11df31454bcec(
1200
+ value: builtins.str,
1201
+ ) -> None:
1202
+ """Type checking stubs"""
1203
+ pass
1204
+
1205
+ def _typecheckingstub__64e12a12a20cdee9fd9c4ab584665fd7d2c5e0ef17a986482ca1ffc3ccd2e8d5(
1206
+ value: builtins.str,
1207
+ ) -> None:
1208
+ """Type checking stubs"""
1209
+ pass
1210
+
1211
+ def _typecheckingstub__65e8b63f6139968901f5dd1be0e577d5020648bf37a8cfc699f60b84ec4f1925(
1212
+ value: builtins.str,
1213
+ ) -> None:
1214
+ """Type checking stubs"""
1215
+ pass
1216
+
1217
+ def _typecheckingstub__49eacef077b5828707589d620d969195fb255d20caf3d33a2091f58f3d299733(
1218
+ value: builtins.str,
1219
+ ) -> None:
1220
+ """Type checking stubs"""
1221
+ pass
1222
+
1223
+ def _typecheckingstub__b4e448528c042dda5a3679431eace4acbc8a79820637256ca64a7cb946c21d9f(
1224
+ value: builtins.str,
1225
+ ) -> None:
1226
+ """Type checking stubs"""
1227
+ pass
1228
+
1229
+ def _typecheckingstub__caf76bc209bb05575c5fe33f2a065f78e22a3cad53fce656b4371ab3233464d7(
1230
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, FirewallRulesFirewallRule]],
1231
+ ) -> None:
1232
+ """Type checking stubs"""
1233
+ pass