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,4542 @@
1
+ r'''
2
+ # `upcloud_server`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_server`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server).
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 Server(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.server.Server",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server upcloud_server}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ hostname: builtins.str,
55
+ zone: builtins.str,
56
+ boot_order: typing.Optional[builtins.str] = None,
57
+ cpu: typing.Optional[jsii.Number] = None,
58
+ firewall: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
59
+ host: typing.Optional[jsii.Number] = None,
60
+ hot_resize: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
61
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
62
+ login: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerLogin", typing.Dict[builtins.str, typing.Any]]]]] = None,
63
+ mem: typing.Optional[jsii.Number] = None,
64
+ metadata: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
65
+ network_interface: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerNetworkInterface", typing.Dict[builtins.str, typing.Any]]]]] = None,
66
+ nic_model: typing.Optional[builtins.str] = None,
67
+ plan: typing.Optional[builtins.str] = None,
68
+ server_group: typing.Optional[builtins.str] = None,
69
+ simple_backup: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerSimpleBackup", typing.Dict[builtins.str, typing.Any]]]]] = None,
70
+ storage_devices: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerStorageDevices", typing.Dict[builtins.str, typing.Any]]]]] = None,
71
+ tags: typing.Optional[typing.Sequence[builtins.str]] = None,
72
+ template: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerTemplate", typing.Dict[builtins.str, typing.Any]]]]] = None,
73
+ timezone: typing.Optional[builtins.str] = None,
74
+ title: typing.Optional[builtins.str] = None,
75
+ user_data: typing.Optional[builtins.str] = None,
76
+ video_model: typing.Optional[builtins.str] = None,
77
+ 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,
78
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
79
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
80
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
81
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
82
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
83
+ 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,
84
+ ) -> None:
85
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server upcloud_server} Resource.
86
+
87
+ :param scope: The scope in which to define this construct.
88
+ :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
89
+ :param hostname: The hostname of the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#hostname Server#hostname}
90
+ :param zone: The zone in which the server will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#zone Server#zone}
91
+ :param boot_order: The boot device order, ``cdrom``|``disk``|``network`` or comma separated combination of those values. Defaults to ``disk``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#boot_order Server#boot_order}
92
+ :param cpu: The number of CPU cores for the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#cpu Server#cpu}
93
+ :param firewall: Are firewall rules active for the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#firewall Server#firewall}
94
+ :param host: Use this to start the VM on a specific host. Refers to value from host -attribute. Only available for private cloud hosts Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#host Server#host}
95
+ :param hot_resize: If set to true, allows changing the server plan without requiring a reboot. This enables hot resizing of the server. If hot resizing fails, the apply operation will fail. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#hot_resize Server#hot_resize}
96
+ :param labels: User defined key-value pairs to classify the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#labels Server#labels}
97
+ :param login: login block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#login Server#login}
98
+ :param mem: The amount of memory for the server (in megabytes). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#mem Server#mem}
99
+ :param metadata: Is metadata service active for the server. The metadata service must be enabled when using recent cloud-init based templates. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#metadata Server#metadata}
100
+ :param network_interface: network_interface block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#network_interface Server#network_interface}
101
+ :param nic_model: The model of the server's network interfaces. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#nic_model Server#nic_model}
102
+ :param plan: The pricing plan used for the server. You can list available server plans with ``upctl server plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#plan Server#plan}
103
+ :param server_group: The UUID of a server group to attach this server to. Note that the server can also be attached to a server group via the ``members`` property of ``upcloud_server_group``. Only one of the these should be defined at a time. This value is only updated if it has been set to non-zero value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#server_group Server#server_group}
104
+ :param simple_backup: simple_backup block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#simple_backup Server#simple_backup}
105
+ :param storage_devices: storage_devices block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#storage_devices Server#storage_devices}
106
+ :param tags: The server related tags. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#tags Server#tags}
107
+ :param template: template block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#template Server#template}
108
+ :param timezone: The timezone of the server. The timezone must be a valid timezone string, e.g. ``Europe/Helsinki``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#timezone Server#timezone}
109
+ :param title: A short, informational description of the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#title Server#title}
110
+ :param user_data: Defines URL for a server setup script, or the script body itself. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#user_data Server#user_data}
111
+ :param video_model: The model of the server's video interface. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#video_model Server#video_model}
112
+ :param connection:
113
+ :param count:
114
+ :param depends_on:
115
+ :param for_each:
116
+ :param lifecycle:
117
+ :param provider:
118
+ :param provisioners:
119
+ '''
120
+ if __debug__:
121
+ type_hints = typing.get_type_hints(_typecheckingstub__6b83690e478f8730a1b183dfb2bf71b179dc55ba8028fd8cc73841eff54172a9)
122
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
123
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
124
+ config = ServerConfig(
125
+ hostname=hostname,
126
+ zone=zone,
127
+ boot_order=boot_order,
128
+ cpu=cpu,
129
+ firewall=firewall,
130
+ host=host,
131
+ hot_resize=hot_resize,
132
+ labels=labels,
133
+ login=login,
134
+ mem=mem,
135
+ metadata=metadata,
136
+ network_interface=network_interface,
137
+ nic_model=nic_model,
138
+ plan=plan,
139
+ server_group=server_group,
140
+ simple_backup=simple_backup,
141
+ storage_devices=storage_devices,
142
+ tags=tags,
143
+ template=template,
144
+ timezone=timezone,
145
+ title=title,
146
+ user_data=user_data,
147
+ video_model=video_model,
148
+ connection=connection,
149
+ count=count,
150
+ depends_on=depends_on,
151
+ for_each=for_each,
152
+ lifecycle=lifecycle,
153
+ provider=provider,
154
+ provisioners=provisioners,
155
+ )
156
+
157
+ jsii.create(self.__class__, self, [scope, id, config])
158
+
159
+ @jsii.member(jsii_name="generateConfigForImport")
160
+ @builtins.classmethod
161
+ def generate_config_for_import(
162
+ cls,
163
+ scope: _constructs_77d1e7e8.Construct,
164
+ import_to_id: builtins.str,
165
+ import_from_id: builtins.str,
166
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
167
+ ) -> _cdktf_9a9027ec.ImportableResource:
168
+ '''Generates CDKTF code for importing a Server resource upon running "cdktf plan ".
169
+
170
+ :param scope: The scope in which to define this construct.
171
+ :param import_to_id: The construct id used in the generated config for the Server to import.
172
+ :param import_from_id: The id of the existing Server that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#import import section} in the documentation of this resource for the id to use
173
+ :param provider: ? Optional instance of the provider where the Server to import is found.
174
+ '''
175
+ if __debug__:
176
+ type_hints = typing.get_type_hints(_typecheckingstub__28c7cee3cc840d65b6bc102d95f2931d82b3aefb8a79339458a82e6bd09d337c)
177
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
178
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
179
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
180
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
181
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
182
+
183
+ @jsii.member(jsii_name="putLogin")
184
+ def put_login(
185
+ self,
186
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerLogin", typing.Dict[builtins.str, typing.Any]]]],
187
+ ) -> None:
188
+ '''
189
+ :param value: -
190
+ '''
191
+ if __debug__:
192
+ type_hints = typing.get_type_hints(_typecheckingstub__490f22a0cad848cb278fe5943c1379db07f317157bbed237d4a276b686019b4f)
193
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
194
+ return typing.cast(None, jsii.invoke(self, "putLogin", [value]))
195
+
196
+ @jsii.member(jsii_name="putNetworkInterface")
197
+ def put_network_interface(
198
+ self,
199
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerNetworkInterface", typing.Dict[builtins.str, typing.Any]]]],
200
+ ) -> None:
201
+ '''
202
+ :param value: -
203
+ '''
204
+ if __debug__:
205
+ type_hints = typing.get_type_hints(_typecheckingstub__2784a2f8e61298bcd760c00280858e93027365e3107df743c65e925390d065ff)
206
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
207
+ return typing.cast(None, jsii.invoke(self, "putNetworkInterface", [value]))
208
+
209
+ @jsii.member(jsii_name="putSimpleBackup")
210
+ def put_simple_backup(
211
+ self,
212
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerSimpleBackup", typing.Dict[builtins.str, typing.Any]]]],
213
+ ) -> None:
214
+ '''
215
+ :param value: -
216
+ '''
217
+ if __debug__:
218
+ type_hints = typing.get_type_hints(_typecheckingstub__2473c5d20588446793f53015ab62c61ad46df9fac03399584f460799254ecaef)
219
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
220
+ return typing.cast(None, jsii.invoke(self, "putSimpleBackup", [value]))
221
+
222
+ @jsii.member(jsii_name="putStorageDevices")
223
+ def put_storage_devices(
224
+ self,
225
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerStorageDevices", typing.Dict[builtins.str, typing.Any]]]],
226
+ ) -> None:
227
+ '''
228
+ :param value: -
229
+ '''
230
+ if __debug__:
231
+ type_hints = typing.get_type_hints(_typecheckingstub__e2c4cd707e662e8744252abfd6f62940a96bcdfc90c7389a218eb5a2acab2006)
232
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
233
+ return typing.cast(None, jsii.invoke(self, "putStorageDevices", [value]))
234
+
235
+ @jsii.member(jsii_name="putTemplate")
236
+ def put_template(
237
+ self,
238
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerTemplate", typing.Dict[builtins.str, typing.Any]]]],
239
+ ) -> None:
240
+ '''
241
+ :param value: -
242
+ '''
243
+ if __debug__:
244
+ type_hints = typing.get_type_hints(_typecheckingstub__8e6618d82a6e3f04079510015b7e45ddc3974b7b3a19e932ef378e303678b595)
245
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
246
+ return typing.cast(None, jsii.invoke(self, "putTemplate", [value]))
247
+
248
+ @jsii.member(jsii_name="resetBootOrder")
249
+ def reset_boot_order(self) -> None:
250
+ return typing.cast(None, jsii.invoke(self, "resetBootOrder", []))
251
+
252
+ @jsii.member(jsii_name="resetCpu")
253
+ def reset_cpu(self) -> None:
254
+ return typing.cast(None, jsii.invoke(self, "resetCpu", []))
255
+
256
+ @jsii.member(jsii_name="resetFirewall")
257
+ def reset_firewall(self) -> None:
258
+ return typing.cast(None, jsii.invoke(self, "resetFirewall", []))
259
+
260
+ @jsii.member(jsii_name="resetHost")
261
+ def reset_host(self) -> None:
262
+ return typing.cast(None, jsii.invoke(self, "resetHost", []))
263
+
264
+ @jsii.member(jsii_name="resetHotResize")
265
+ def reset_hot_resize(self) -> None:
266
+ return typing.cast(None, jsii.invoke(self, "resetHotResize", []))
267
+
268
+ @jsii.member(jsii_name="resetLabels")
269
+ def reset_labels(self) -> None:
270
+ return typing.cast(None, jsii.invoke(self, "resetLabels", []))
271
+
272
+ @jsii.member(jsii_name="resetLogin")
273
+ def reset_login(self) -> None:
274
+ return typing.cast(None, jsii.invoke(self, "resetLogin", []))
275
+
276
+ @jsii.member(jsii_name="resetMem")
277
+ def reset_mem(self) -> None:
278
+ return typing.cast(None, jsii.invoke(self, "resetMem", []))
279
+
280
+ @jsii.member(jsii_name="resetMetadata")
281
+ def reset_metadata(self) -> None:
282
+ return typing.cast(None, jsii.invoke(self, "resetMetadata", []))
283
+
284
+ @jsii.member(jsii_name="resetNetworkInterface")
285
+ def reset_network_interface(self) -> None:
286
+ return typing.cast(None, jsii.invoke(self, "resetNetworkInterface", []))
287
+
288
+ @jsii.member(jsii_name="resetNicModel")
289
+ def reset_nic_model(self) -> None:
290
+ return typing.cast(None, jsii.invoke(self, "resetNicModel", []))
291
+
292
+ @jsii.member(jsii_name="resetPlan")
293
+ def reset_plan(self) -> None:
294
+ return typing.cast(None, jsii.invoke(self, "resetPlan", []))
295
+
296
+ @jsii.member(jsii_name="resetServerGroup")
297
+ def reset_server_group(self) -> None:
298
+ return typing.cast(None, jsii.invoke(self, "resetServerGroup", []))
299
+
300
+ @jsii.member(jsii_name="resetSimpleBackup")
301
+ def reset_simple_backup(self) -> None:
302
+ return typing.cast(None, jsii.invoke(self, "resetSimpleBackup", []))
303
+
304
+ @jsii.member(jsii_name="resetStorageDevices")
305
+ def reset_storage_devices(self) -> None:
306
+ return typing.cast(None, jsii.invoke(self, "resetStorageDevices", []))
307
+
308
+ @jsii.member(jsii_name="resetTags")
309
+ def reset_tags(self) -> None:
310
+ return typing.cast(None, jsii.invoke(self, "resetTags", []))
311
+
312
+ @jsii.member(jsii_name="resetTemplate")
313
+ def reset_template(self) -> None:
314
+ return typing.cast(None, jsii.invoke(self, "resetTemplate", []))
315
+
316
+ @jsii.member(jsii_name="resetTimezone")
317
+ def reset_timezone(self) -> None:
318
+ return typing.cast(None, jsii.invoke(self, "resetTimezone", []))
319
+
320
+ @jsii.member(jsii_name="resetTitle")
321
+ def reset_title(self) -> None:
322
+ return typing.cast(None, jsii.invoke(self, "resetTitle", []))
323
+
324
+ @jsii.member(jsii_name="resetUserData")
325
+ def reset_user_data(self) -> None:
326
+ return typing.cast(None, jsii.invoke(self, "resetUserData", []))
327
+
328
+ @jsii.member(jsii_name="resetVideoModel")
329
+ def reset_video_model(self) -> None:
330
+ return typing.cast(None, jsii.invoke(self, "resetVideoModel", []))
331
+
332
+ @jsii.member(jsii_name="synthesizeAttributes")
333
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
334
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
335
+
336
+ @jsii.member(jsii_name="synthesizeHclAttributes")
337
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
338
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
339
+
340
+ @jsii.python.classproperty
341
+ @jsii.member(jsii_name="tfResourceType")
342
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
343
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
344
+
345
+ @builtins.property
346
+ @jsii.member(jsii_name="id")
347
+ def id(self) -> builtins.str:
348
+ return typing.cast(builtins.str, jsii.get(self, "id"))
349
+
350
+ @builtins.property
351
+ @jsii.member(jsii_name="login")
352
+ def login(self) -> "ServerLoginList":
353
+ return typing.cast("ServerLoginList", jsii.get(self, "login"))
354
+
355
+ @builtins.property
356
+ @jsii.member(jsii_name="networkInterface")
357
+ def network_interface(self) -> "ServerNetworkInterfaceList":
358
+ return typing.cast("ServerNetworkInterfaceList", jsii.get(self, "networkInterface"))
359
+
360
+ @builtins.property
361
+ @jsii.member(jsii_name="simpleBackup")
362
+ def simple_backup(self) -> "ServerSimpleBackupList":
363
+ return typing.cast("ServerSimpleBackupList", jsii.get(self, "simpleBackup"))
364
+
365
+ @builtins.property
366
+ @jsii.member(jsii_name="storageDevices")
367
+ def storage_devices(self) -> "ServerStorageDevicesList":
368
+ return typing.cast("ServerStorageDevicesList", jsii.get(self, "storageDevices"))
369
+
370
+ @builtins.property
371
+ @jsii.member(jsii_name="template")
372
+ def template(self) -> "ServerTemplateList":
373
+ return typing.cast("ServerTemplateList", jsii.get(self, "template"))
374
+
375
+ @builtins.property
376
+ @jsii.member(jsii_name="bootOrderInput")
377
+ def boot_order_input(self) -> typing.Optional[builtins.str]:
378
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "bootOrderInput"))
379
+
380
+ @builtins.property
381
+ @jsii.member(jsii_name="cpuInput")
382
+ def cpu_input(self) -> typing.Optional[jsii.Number]:
383
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "cpuInput"))
384
+
385
+ @builtins.property
386
+ @jsii.member(jsii_name="firewallInput")
387
+ def firewall_input(
388
+ self,
389
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
390
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "firewallInput"))
391
+
392
+ @builtins.property
393
+ @jsii.member(jsii_name="hostInput")
394
+ def host_input(self) -> typing.Optional[jsii.Number]:
395
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "hostInput"))
396
+
397
+ @builtins.property
398
+ @jsii.member(jsii_name="hostnameInput")
399
+ def hostname_input(self) -> typing.Optional[builtins.str]:
400
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "hostnameInput"))
401
+
402
+ @builtins.property
403
+ @jsii.member(jsii_name="hotResizeInput")
404
+ def hot_resize_input(
405
+ self,
406
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
407
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "hotResizeInput"))
408
+
409
+ @builtins.property
410
+ @jsii.member(jsii_name="labelsInput")
411
+ def labels_input(
412
+ self,
413
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
414
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "labelsInput"))
415
+
416
+ @builtins.property
417
+ @jsii.member(jsii_name="loginInput")
418
+ def login_input(
419
+ self,
420
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerLogin"]]]:
421
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerLogin"]]], jsii.get(self, "loginInput"))
422
+
423
+ @builtins.property
424
+ @jsii.member(jsii_name="memInput")
425
+ def mem_input(self) -> typing.Optional[jsii.Number]:
426
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "memInput"))
427
+
428
+ @builtins.property
429
+ @jsii.member(jsii_name="metadataInput")
430
+ def metadata_input(
431
+ self,
432
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
433
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "metadataInput"))
434
+
435
+ @builtins.property
436
+ @jsii.member(jsii_name="networkInterfaceInput")
437
+ def network_interface_input(
438
+ self,
439
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerNetworkInterface"]]]:
440
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerNetworkInterface"]]], jsii.get(self, "networkInterfaceInput"))
441
+
442
+ @builtins.property
443
+ @jsii.member(jsii_name="nicModelInput")
444
+ def nic_model_input(self) -> typing.Optional[builtins.str]:
445
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nicModelInput"))
446
+
447
+ @builtins.property
448
+ @jsii.member(jsii_name="planInput")
449
+ def plan_input(self) -> typing.Optional[builtins.str]:
450
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "planInput"))
451
+
452
+ @builtins.property
453
+ @jsii.member(jsii_name="serverGroupInput")
454
+ def server_group_input(self) -> typing.Optional[builtins.str]:
455
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverGroupInput"))
456
+
457
+ @builtins.property
458
+ @jsii.member(jsii_name="simpleBackupInput")
459
+ def simple_backup_input(
460
+ self,
461
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerSimpleBackup"]]]:
462
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerSimpleBackup"]]], jsii.get(self, "simpleBackupInput"))
463
+
464
+ @builtins.property
465
+ @jsii.member(jsii_name="storageDevicesInput")
466
+ def storage_devices_input(
467
+ self,
468
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerStorageDevices"]]]:
469
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerStorageDevices"]]], jsii.get(self, "storageDevicesInput"))
470
+
471
+ @builtins.property
472
+ @jsii.member(jsii_name="tagsInput")
473
+ def tags_input(self) -> typing.Optional[typing.List[builtins.str]]:
474
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "tagsInput"))
475
+
476
+ @builtins.property
477
+ @jsii.member(jsii_name="templateInput")
478
+ def template_input(
479
+ self,
480
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerTemplate"]]]:
481
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerTemplate"]]], jsii.get(self, "templateInput"))
482
+
483
+ @builtins.property
484
+ @jsii.member(jsii_name="timezoneInput")
485
+ def timezone_input(self) -> typing.Optional[builtins.str]:
486
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "timezoneInput"))
487
+
488
+ @builtins.property
489
+ @jsii.member(jsii_name="titleInput")
490
+ def title_input(self) -> typing.Optional[builtins.str]:
491
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "titleInput"))
492
+
493
+ @builtins.property
494
+ @jsii.member(jsii_name="userDataInput")
495
+ def user_data_input(self) -> typing.Optional[builtins.str]:
496
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "userDataInput"))
497
+
498
+ @builtins.property
499
+ @jsii.member(jsii_name="videoModelInput")
500
+ def video_model_input(self) -> typing.Optional[builtins.str]:
501
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "videoModelInput"))
502
+
503
+ @builtins.property
504
+ @jsii.member(jsii_name="zoneInput")
505
+ def zone_input(self) -> typing.Optional[builtins.str]:
506
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "zoneInput"))
507
+
508
+ @builtins.property
509
+ @jsii.member(jsii_name="bootOrder")
510
+ def boot_order(self) -> builtins.str:
511
+ return typing.cast(builtins.str, jsii.get(self, "bootOrder"))
512
+
513
+ @boot_order.setter
514
+ def boot_order(self, value: builtins.str) -> None:
515
+ if __debug__:
516
+ type_hints = typing.get_type_hints(_typecheckingstub__f3c840f2e6e25ab81a562249038283c68d1c9227ca4e4942e8d91d710b04c5bf)
517
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
518
+ jsii.set(self, "bootOrder", value) # pyright: ignore[reportArgumentType]
519
+
520
+ @builtins.property
521
+ @jsii.member(jsii_name="cpu")
522
+ def cpu(self) -> jsii.Number:
523
+ return typing.cast(jsii.Number, jsii.get(self, "cpu"))
524
+
525
+ @cpu.setter
526
+ def cpu(self, value: jsii.Number) -> None:
527
+ if __debug__:
528
+ type_hints = typing.get_type_hints(_typecheckingstub__c0bf29acd3dd45353eecfc5a63f6040bd66f55ef883a41491d92f1bdbe810a40)
529
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
530
+ jsii.set(self, "cpu", value) # pyright: ignore[reportArgumentType]
531
+
532
+ @builtins.property
533
+ @jsii.member(jsii_name="firewall")
534
+ def firewall(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
535
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "firewall"))
536
+
537
+ @firewall.setter
538
+ def firewall(
539
+ self,
540
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
541
+ ) -> None:
542
+ if __debug__:
543
+ type_hints = typing.get_type_hints(_typecheckingstub__faf5fe2f1617d856951894b09503ce986b9b9e75f119670e34925d2d45d2e9ed)
544
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
545
+ jsii.set(self, "firewall", value) # pyright: ignore[reportArgumentType]
546
+
547
+ @builtins.property
548
+ @jsii.member(jsii_name="host")
549
+ def host(self) -> jsii.Number:
550
+ return typing.cast(jsii.Number, jsii.get(self, "host"))
551
+
552
+ @host.setter
553
+ def host(self, value: jsii.Number) -> None:
554
+ if __debug__:
555
+ type_hints = typing.get_type_hints(_typecheckingstub__cb33c3002695f65e8de16860ddf00ce31ac89ba44e937051e0add8e77bb120c2)
556
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
557
+ jsii.set(self, "host", value) # pyright: ignore[reportArgumentType]
558
+
559
+ @builtins.property
560
+ @jsii.member(jsii_name="hostname")
561
+ def hostname(self) -> builtins.str:
562
+ return typing.cast(builtins.str, jsii.get(self, "hostname"))
563
+
564
+ @hostname.setter
565
+ def hostname(self, value: builtins.str) -> None:
566
+ if __debug__:
567
+ type_hints = typing.get_type_hints(_typecheckingstub__f4bd72ca4af6dd9b479c0262e490984bdbd3191d9b6e06c6924b98a95b88a2ce)
568
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
569
+ jsii.set(self, "hostname", value) # pyright: ignore[reportArgumentType]
570
+
571
+ @builtins.property
572
+ @jsii.member(jsii_name="hotResize")
573
+ def hot_resize(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
574
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "hotResize"))
575
+
576
+ @hot_resize.setter
577
+ def hot_resize(
578
+ self,
579
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
580
+ ) -> None:
581
+ if __debug__:
582
+ type_hints = typing.get_type_hints(_typecheckingstub__91f07f7d3a6fb43c7397c3dbf0feddc66f6480ddb81c3a61a380f7c2f88d69bf)
583
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
584
+ jsii.set(self, "hotResize", value) # pyright: ignore[reportArgumentType]
585
+
586
+ @builtins.property
587
+ @jsii.member(jsii_name="labels")
588
+ def labels(self) -> typing.Mapping[builtins.str, builtins.str]:
589
+ return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "labels"))
590
+
591
+ @labels.setter
592
+ def labels(self, value: typing.Mapping[builtins.str, builtins.str]) -> None:
593
+ if __debug__:
594
+ type_hints = typing.get_type_hints(_typecheckingstub__3a7892fe5de8b838249765679a48d6de643cd5ca2b10527938954d152ae696ef)
595
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
596
+ jsii.set(self, "labels", value) # pyright: ignore[reportArgumentType]
597
+
598
+ @builtins.property
599
+ @jsii.member(jsii_name="mem")
600
+ def mem(self) -> jsii.Number:
601
+ return typing.cast(jsii.Number, jsii.get(self, "mem"))
602
+
603
+ @mem.setter
604
+ def mem(self, value: jsii.Number) -> None:
605
+ if __debug__:
606
+ type_hints = typing.get_type_hints(_typecheckingstub__124e11a99805e080ae09bb64a779c4f3bf94f05876de9f8f9b682c9fe74e79e6)
607
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
608
+ jsii.set(self, "mem", value) # pyright: ignore[reportArgumentType]
609
+
610
+ @builtins.property
611
+ @jsii.member(jsii_name="metadata")
612
+ def metadata(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
613
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "metadata"))
614
+
615
+ @metadata.setter
616
+ def metadata(
617
+ self,
618
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
619
+ ) -> None:
620
+ if __debug__:
621
+ type_hints = typing.get_type_hints(_typecheckingstub__64fa85207ab264b6f079b98afe3eef4ec2bf20d249f7caa10f6ab31566841844)
622
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
623
+ jsii.set(self, "metadata", value) # pyright: ignore[reportArgumentType]
624
+
625
+ @builtins.property
626
+ @jsii.member(jsii_name="nicModel")
627
+ def nic_model(self) -> builtins.str:
628
+ return typing.cast(builtins.str, jsii.get(self, "nicModel"))
629
+
630
+ @nic_model.setter
631
+ def nic_model(self, value: builtins.str) -> None:
632
+ if __debug__:
633
+ type_hints = typing.get_type_hints(_typecheckingstub__73873c9b847e096c8d36928cf5ffb48b31ddda7a6e2e85ff16060721788d964a)
634
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
635
+ jsii.set(self, "nicModel", value) # pyright: ignore[reportArgumentType]
636
+
637
+ @builtins.property
638
+ @jsii.member(jsii_name="plan")
639
+ def plan(self) -> builtins.str:
640
+ return typing.cast(builtins.str, jsii.get(self, "plan"))
641
+
642
+ @plan.setter
643
+ def plan(self, value: builtins.str) -> None:
644
+ if __debug__:
645
+ type_hints = typing.get_type_hints(_typecheckingstub__2da76f679e87688e11b6f83fb15ba717554341797b152012a0fb49e67140b935)
646
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
647
+ jsii.set(self, "plan", value) # pyright: ignore[reportArgumentType]
648
+
649
+ @builtins.property
650
+ @jsii.member(jsii_name="serverGroup")
651
+ def server_group(self) -> builtins.str:
652
+ return typing.cast(builtins.str, jsii.get(self, "serverGroup"))
653
+
654
+ @server_group.setter
655
+ def server_group(self, value: builtins.str) -> None:
656
+ if __debug__:
657
+ type_hints = typing.get_type_hints(_typecheckingstub__51f9146cea8a8c10f6036dc84f9aeeba44ddaf4014a5b9c76b6db3a83541f508)
658
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
659
+ jsii.set(self, "serverGroup", value) # pyright: ignore[reportArgumentType]
660
+
661
+ @builtins.property
662
+ @jsii.member(jsii_name="tags")
663
+ def tags(self) -> typing.List[builtins.str]:
664
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "tags"))
665
+
666
+ @tags.setter
667
+ def tags(self, value: typing.List[builtins.str]) -> None:
668
+ if __debug__:
669
+ type_hints = typing.get_type_hints(_typecheckingstub__6e7175151be1c034f617e5043b4a582fa7a23b63257729e9f6b6957e2b922bfb)
670
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
671
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
672
+
673
+ @builtins.property
674
+ @jsii.member(jsii_name="timezone")
675
+ def timezone(self) -> builtins.str:
676
+ return typing.cast(builtins.str, jsii.get(self, "timezone"))
677
+
678
+ @timezone.setter
679
+ def timezone(self, value: builtins.str) -> None:
680
+ if __debug__:
681
+ type_hints = typing.get_type_hints(_typecheckingstub__8b526366a4bae8de79997344422703026d48dfdf7c13035edfebf4e00122087f)
682
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
683
+ jsii.set(self, "timezone", value) # pyright: ignore[reportArgumentType]
684
+
685
+ @builtins.property
686
+ @jsii.member(jsii_name="title")
687
+ def title(self) -> builtins.str:
688
+ return typing.cast(builtins.str, jsii.get(self, "title"))
689
+
690
+ @title.setter
691
+ def title(self, value: builtins.str) -> None:
692
+ if __debug__:
693
+ type_hints = typing.get_type_hints(_typecheckingstub__ae9bce333377a9eba2c28adc33c40c562a185ced6585b2a01045577d13004430)
694
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
695
+ jsii.set(self, "title", value) # pyright: ignore[reportArgumentType]
696
+
697
+ @builtins.property
698
+ @jsii.member(jsii_name="userData")
699
+ def user_data(self) -> builtins.str:
700
+ return typing.cast(builtins.str, jsii.get(self, "userData"))
701
+
702
+ @user_data.setter
703
+ def user_data(self, value: builtins.str) -> None:
704
+ if __debug__:
705
+ type_hints = typing.get_type_hints(_typecheckingstub__64b2aea0b37c12d0056c07c0c4281a978b335a3259b4e52cc2e9287e80bfa864)
706
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
707
+ jsii.set(self, "userData", value) # pyright: ignore[reportArgumentType]
708
+
709
+ @builtins.property
710
+ @jsii.member(jsii_name="videoModel")
711
+ def video_model(self) -> builtins.str:
712
+ return typing.cast(builtins.str, jsii.get(self, "videoModel"))
713
+
714
+ @video_model.setter
715
+ def video_model(self, value: builtins.str) -> None:
716
+ if __debug__:
717
+ type_hints = typing.get_type_hints(_typecheckingstub__9f359cdaa0371668935e486d8df757ecf8422ace07256bfdf4b1dc470679de35)
718
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
719
+ jsii.set(self, "videoModel", value) # pyright: ignore[reportArgumentType]
720
+
721
+ @builtins.property
722
+ @jsii.member(jsii_name="zone")
723
+ def zone(self) -> builtins.str:
724
+ return typing.cast(builtins.str, jsii.get(self, "zone"))
725
+
726
+ @zone.setter
727
+ def zone(self, value: builtins.str) -> None:
728
+ if __debug__:
729
+ type_hints = typing.get_type_hints(_typecheckingstub__189f51a8a94e7de544c3857c63fb20bd2ee94539e95189dafb4bab5cb85e9236)
730
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
731
+ jsii.set(self, "zone", value) # pyright: ignore[reportArgumentType]
732
+
733
+
734
+ @jsii.data_type(
735
+ jsii_type="@cdktf/provider-upcloud.server.ServerConfig",
736
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
737
+ name_mapping={
738
+ "connection": "connection",
739
+ "count": "count",
740
+ "depends_on": "dependsOn",
741
+ "for_each": "forEach",
742
+ "lifecycle": "lifecycle",
743
+ "provider": "provider",
744
+ "provisioners": "provisioners",
745
+ "hostname": "hostname",
746
+ "zone": "zone",
747
+ "boot_order": "bootOrder",
748
+ "cpu": "cpu",
749
+ "firewall": "firewall",
750
+ "host": "host",
751
+ "hot_resize": "hotResize",
752
+ "labels": "labels",
753
+ "login": "login",
754
+ "mem": "mem",
755
+ "metadata": "metadata",
756
+ "network_interface": "networkInterface",
757
+ "nic_model": "nicModel",
758
+ "plan": "plan",
759
+ "server_group": "serverGroup",
760
+ "simple_backup": "simpleBackup",
761
+ "storage_devices": "storageDevices",
762
+ "tags": "tags",
763
+ "template": "template",
764
+ "timezone": "timezone",
765
+ "title": "title",
766
+ "user_data": "userData",
767
+ "video_model": "videoModel",
768
+ },
769
+ )
770
+ class ServerConfig(_cdktf_9a9027ec.TerraformMetaArguments):
771
+ def __init__(
772
+ self,
773
+ *,
774
+ 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,
775
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
776
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
777
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
778
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
779
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
780
+ 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,
781
+ hostname: builtins.str,
782
+ zone: builtins.str,
783
+ boot_order: typing.Optional[builtins.str] = None,
784
+ cpu: typing.Optional[jsii.Number] = None,
785
+ firewall: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
786
+ host: typing.Optional[jsii.Number] = None,
787
+ hot_resize: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
788
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
789
+ login: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerLogin", typing.Dict[builtins.str, typing.Any]]]]] = None,
790
+ mem: typing.Optional[jsii.Number] = None,
791
+ metadata: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
792
+ network_interface: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerNetworkInterface", typing.Dict[builtins.str, typing.Any]]]]] = None,
793
+ nic_model: typing.Optional[builtins.str] = None,
794
+ plan: typing.Optional[builtins.str] = None,
795
+ server_group: typing.Optional[builtins.str] = None,
796
+ simple_backup: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerSimpleBackup", typing.Dict[builtins.str, typing.Any]]]]] = None,
797
+ storage_devices: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerStorageDevices", typing.Dict[builtins.str, typing.Any]]]]] = None,
798
+ tags: typing.Optional[typing.Sequence[builtins.str]] = None,
799
+ template: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerTemplate", typing.Dict[builtins.str, typing.Any]]]]] = None,
800
+ timezone: typing.Optional[builtins.str] = None,
801
+ title: typing.Optional[builtins.str] = None,
802
+ user_data: typing.Optional[builtins.str] = None,
803
+ video_model: typing.Optional[builtins.str] = None,
804
+ ) -> None:
805
+ '''
806
+ :param connection:
807
+ :param count:
808
+ :param depends_on:
809
+ :param for_each:
810
+ :param lifecycle:
811
+ :param provider:
812
+ :param provisioners:
813
+ :param hostname: The hostname of the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#hostname Server#hostname}
814
+ :param zone: The zone in which the server will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#zone Server#zone}
815
+ :param boot_order: The boot device order, ``cdrom``|``disk``|``network`` or comma separated combination of those values. Defaults to ``disk``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#boot_order Server#boot_order}
816
+ :param cpu: The number of CPU cores for the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#cpu Server#cpu}
817
+ :param firewall: Are firewall rules active for the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#firewall Server#firewall}
818
+ :param host: Use this to start the VM on a specific host. Refers to value from host -attribute. Only available for private cloud hosts Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#host Server#host}
819
+ :param hot_resize: If set to true, allows changing the server plan without requiring a reboot. This enables hot resizing of the server. If hot resizing fails, the apply operation will fail. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#hot_resize Server#hot_resize}
820
+ :param labels: User defined key-value pairs to classify the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#labels Server#labels}
821
+ :param login: login block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#login Server#login}
822
+ :param mem: The amount of memory for the server (in megabytes). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#mem Server#mem}
823
+ :param metadata: Is metadata service active for the server. The metadata service must be enabled when using recent cloud-init based templates. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#metadata Server#metadata}
824
+ :param network_interface: network_interface block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#network_interface Server#network_interface}
825
+ :param nic_model: The model of the server's network interfaces. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#nic_model Server#nic_model}
826
+ :param plan: The pricing plan used for the server. You can list available server plans with ``upctl server plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#plan Server#plan}
827
+ :param server_group: The UUID of a server group to attach this server to. Note that the server can also be attached to a server group via the ``members`` property of ``upcloud_server_group``. Only one of the these should be defined at a time. This value is only updated if it has been set to non-zero value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#server_group Server#server_group}
828
+ :param simple_backup: simple_backup block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#simple_backup Server#simple_backup}
829
+ :param storage_devices: storage_devices block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#storage_devices Server#storage_devices}
830
+ :param tags: The server related tags. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#tags Server#tags}
831
+ :param template: template block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#template Server#template}
832
+ :param timezone: The timezone of the server. The timezone must be a valid timezone string, e.g. ``Europe/Helsinki``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#timezone Server#timezone}
833
+ :param title: A short, informational description of the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#title Server#title}
834
+ :param user_data: Defines URL for a server setup script, or the script body itself. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#user_data Server#user_data}
835
+ :param video_model: The model of the server's video interface. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#video_model Server#video_model}
836
+ '''
837
+ if isinstance(lifecycle, dict):
838
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
839
+ if __debug__:
840
+ type_hints = typing.get_type_hints(_typecheckingstub__ea0c30195fdb4e86d473d86dcc3b49fe1de4f105b946dcc2035464e29e243e2a)
841
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
842
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
843
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
844
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
845
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
846
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
847
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
848
+ check_type(argname="argument hostname", value=hostname, expected_type=type_hints["hostname"])
849
+ check_type(argname="argument zone", value=zone, expected_type=type_hints["zone"])
850
+ check_type(argname="argument boot_order", value=boot_order, expected_type=type_hints["boot_order"])
851
+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
852
+ check_type(argname="argument firewall", value=firewall, expected_type=type_hints["firewall"])
853
+ check_type(argname="argument host", value=host, expected_type=type_hints["host"])
854
+ check_type(argname="argument hot_resize", value=hot_resize, expected_type=type_hints["hot_resize"])
855
+ check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
856
+ check_type(argname="argument login", value=login, expected_type=type_hints["login"])
857
+ check_type(argname="argument mem", value=mem, expected_type=type_hints["mem"])
858
+ check_type(argname="argument metadata", value=metadata, expected_type=type_hints["metadata"])
859
+ check_type(argname="argument network_interface", value=network_interface, expected_type=type_hints["network_interface"])
860
+ check_type(argname="argument nic_model", value=nic_model, expected_type=type_hints["nic_model"])
861
+ check_type(argname="argument plan", value=plan, expected_type=type_hints["plan"])
862
+ check_type(argname="argument server_group", value=server_group, expected_type=type_hints["server_group"])
863
+ check_type(argname="argument simple_backup", value=simple_backup, expected_type=type_hints["simple_backup"])
864
+ check_type(argname="argument storage_devices", value=storage_devices, expected_type=type_hints["storage_devices"])
865
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
866
+ check_type(argname="argument template", value=template, expected_type=type_hints["template"])
867
+ check_type(argname="argument timezone", value=timezone, expected_type=type_hints["timezone"])
868
+ check_type(argname="argument title", value=title, expected_type=type_hints["title"])
869
+ check_type(argname="argument user_data", value=user_data, expected_type=type_hints["user_data"])
870
+ check_type(argname="argument video_model", value=video_model, expected_type=type_hints["video_model"])
871
+ self._values: typing.Dict[builtins.str, typing.Any] = {
872
+ "hostname": hostname,
873
+ "zone": zone,
874
+ }
875
+ if connection is not None:
876
+ self._values["connection"] = connection
877
+ if count is not None:
878
+ self._values["count"] = count
879
+ if depends_on is not None:
880
+ self._values["depends_on"] = depends_on
881
+ if for_each is not None:
882
+ self._values["for_each"] = for_each
883
+ if lifecycle is not None:
884
+ self._values["lifecycle"] = lifecycle
885
+ if provider is not None:
886
+ self._values["provider"] = provider
887
+ if provisioners is not None:
888
+ self._values["provisioners"] = provisioners
889
+ if boot_order is not None:
890
+ self._values["boot_order"] = boot_order
891
+ if cpu is not None:
892
+ self._values["cpu"] = cpu
893
+ if firewall is not None:
894
+ self._values["firewall"] = firewall
895
+ if host is not None:
896
+ self._values["host"] = host
897
+ if hot_resize is not None:
898
+ self._values["hot_resize"] = hot_resize
899
+ if labels is not None:
900
+ self._values["labels"] = labels
901
+ if login is not None:
902
+ self._values["login"] = login
903
+ if mem is not None:
904
+ self._values["mem"] = mem
905
+ if metadata is not None:
906
+ self._values["metadata"] = metadata
907
+ if network_interface is not None:
908
+ self._values["network_interface"] = network_interface
909
+ if nic_model is not None:
910
+ self._values["nic_model"] = nic_model
911
+ if plan is not None:
912
+ self._values["plan"] = plan
913
+ if server_group is not None:
914
+ self._values["server_group"] = server_group
915
+ if simple_backup is not None:
916
+ self._values["simple_backup"] = simple_backup
917
+ if storage_devices is not None:
918
+ self._values["storage_devices"] = storage_devices
919
+ if tags is not None:
920
+ self._values["tags"] = tags
921
+ if template is not None:
922
+ self._values["template"] = template
923
+ if timezone is not None:
924
+ self._values["timezone"] = timezone
925
+ if title is not None:
926
+ self._values["title"] = title
927
+ if user_data is not None:
928
+ self._values["user_data"] = user_data
929
+ if video_model is not None:
930
+ self._values["video_model"] = video_model
931
+
932
+ @builtins.property
933
+ def connection(
934
+ self,
935
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
936
+ '''
937
+ :stability: experimental
938
+ '''
939
+ result = self._values.get("connection")
940
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
941
+
942
+ @builtins.property
943
+ def count(
944
+ self,
945
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
946
+ '''
947
+ :stability: experimental
948
+ '''
949
+ result = self._values.get("count")
950
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
951
+
952
+ @builtins.property
953
+ def depends_on(
954
+ self,
955
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
956
+ '''
957
+ :stability: experimental
958
+ '''
959
+ result = self._values.get("depends_on")
960
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
961
+
962
+ @builtins.property
963
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
964
+ '''
965
+ :stability: experimental
966
+ '''
967
+ result = self._values.get("for_each")
968
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
969
+
970
+ @builtins.property
971
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
972
+ '''
973
+ :stability: experimental
974
+ '''
975
+ result = self._values.get("lifecycle")
976
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
977
+
978
+ @builtins.property
979
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
980
+ '''
981
+ :stability: experimental
982
+ '''
983
+ result = self._values.get("provider")
984
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
985
+
986
+ @builtins.property
987
+ def provisioners(
988
+ self,
989
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
990
+ '''
991
+ :stability: experimental
992
+ '''
993
+ result = self._values.get("provisioners")
994
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
995
+
996
+ @builtins.property
997
+ def hostname(self) -> builtins.str:
998
+ '''The hostname of the server.
999
+
1000
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#hostname Server#hostname}
1001
+ '''
1002
+ result = self._values.get("hostname")
1003
+ assert result is not None, "Required property 'hostname' is missing"
1004
+ return typing.cast(builtins.str, result)
1005
+
1006
+ @builtins.property
1007
+ def zone(self) -> builtins.str:
1008
+ '''The zone in which the server will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``.
1009
+
1010
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#zone Server#zone}
1011
+ '''
1012
+ result = self._values.get("zone")
1013
+ assert result is not None, "Required property 'zone' is missing"
1014
+ return typing.cast(builtins.str, result)
1015
+
1016
+ @builtins.property
1017
+ def boot_order(self) -> typing.Optional[builtins.str]:
1018
+ '''The boot device order, ``cdrom``|``disk``|``network`` or comma separated combination of those values. Defaults to ``disk``.
1019
+
1020
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#boot_order Server#boot_order}
1021
+ '''
1022
+ result = self._values.get("boot_order")
1023
+ return typing.cast(typing.Optional[builtins.str], result)
1024
+
1025
+ @builtins.property
1026
+ def cpu(self) -> typing.Optional[jsii.Number]:
1027
+ '''The number of CPU cores for the server.
1028
+
1029
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#cpu Server#cpu}
1030
+ '''
1031
+ result = self._values.get("cpu")
1032
+ return typing.cast(typing.Optional[jsii.Number], result)
1033
+
1034
+ @builtins.property
1035
+ def firewall(
1036
+ self,
1037
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1038
+ '''Are firewall rules active for the server.
1039
+
1040
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#firewall Server#firewall}
1041
+ '''
1042
+ result = self._values.get("firewall")
1043
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1044
+
1045
+ @builtins.property
1046
+ def host(self) -> typing.Optional[jsii.Number]:
1047
+ '''Use this to start the VM on a specific host.
1048
+
1049
+ Refers to value from host -attribute. Only available for private cloud hosts
1050
+
1051
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#host Server#host}
1052
+ '''
1053
+ result = self._values.get("host")
1054
+ return typing.cast(typing.Optional[jsii.Number], result)
1055
+
1056
+ @builtins.property
1057
+ def hot_resize(
1058
+ self,
1059
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1060
+ '''If set to true, allows changing the server plan without requiring a reboot.
1061
+
1062
+ This enables hot resizing of the server. If hot resizing fails, the apply operation will fail.
1063
+
1064
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#hot_resize Server#hot_resize}
1065
+ '''
1066
+ result = self._values.get("hot_resize")
1067
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1068
+
1069
+ @builtins.property
1070
+ def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
1071
+ '''User defined key-value pairs to classify the server.
1072
+
1073
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#labels Server#labels}
1074
+ '''
1075
+ result = self._values.get("labels")
1076
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
1077
+
1078
+ @builtins.property
1079
+ def login(
1080
+ self,
1081
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerLogin"]]]:
1082
+ '''login block.
1083
+
1084
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#login Server#login}
1085
+ '''
1086
+ result = self._values.get("login")
1087
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerLogin"]]], result)
1088
+
1089
+ @builtins.property
1090
+ def mem(self) -> typing.Optional[jsii.Number]:
1091
+ '''The amount of memory for the server (in megabytes).
1092
+
1093
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#mem Server#mem}
1094
+ '''
1095
+ result = self._values.get("mem")
1096
+ return typing.cast(typing.Optional[jsii.Number], result)
1097
+
1098
+ @builtins.property
1099
+ def metadata(
1100
+ self,
1101
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1102
+ '''Is metadata service active for the server. The metadata service must be enabled when using recent cloud-init based templates.
1103
+
1104
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#metadata Server#metadata}
1105
+ '''
1106
+ result = self._values.get("metadata")
1107
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1108
+
1109
+ @builtins.property
1110
+ def network_interface(
1111
+ self,
1112
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerNetworkInterface"]]]:
1113
+ '''network_interface block.
1114
+
1115
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#network_interface Server#network_interface}
1116
+ '''
1117
+ result = self._values.get("network_interface")
1118
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerNetworkInterface"]]], result)
1119
+
1120
+ @builtins.property
1121
+ def nic_model(self) -> typing.Optional[builtins.str]:
1122
+ '''The model of the server's network interfaces.
1123
+
1124
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#nic_model Server#nic_model}
1125
+ '''
1126
+ result = self._values.get("nic_model")
1127
+ return typing.cast(typing.Optional[builtins.str], result)
1128
+
1129
+ @builtins.property
1130
+ def plan(self) -> typing.Optional[builtins.str]:
1131
+ '''The pricing plan used for the server. You can list available server plans with ``upctl server plans``.
1132
+
1133
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#plan Server#plan}
1134
+ '''
1135
+ result = self._values.get("plan")
1136
+ return typing.cast(typing.Optional[builtins.str], result)
1137
+
1138
+ @builtins.property
1139
+ def server_group(self) -> typing.Optional[builtins.str]:
1140
+ '''The UUID of a server group to attach this server to.
1141
+
1142
+ Note that the server can also be attached to a server group via the ``members`` property of ``upcloud_server_group``. Only one of the these should be defined at a time. This value is only updated if it has been set to non-zero value.
1143
+
1144
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#server_group Server#server_group}
1145
+ '''
1146
+ result = self._values.get("server_group")
1147
+ return typing.cast(typing.Optional[builtins.str], result)
1148
+
1149
+ @builtins.property
1150
+ def simple_backup(
1151
+ self,
1152
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerSimpleBackup"]]]:
1153
+ '''simple_backup block.
1154
+
1155
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#simple_backup Server#simple_backup}
1156
+ '''
1157
+ result = self._values.get("simple_backup")
1158
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerSimpleBackup"]]], result)
1159
+
1160
+ @builtins.property
1161
+ def storage_devices(
1162
+ self,
1163
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerStorageDevices"]]]:
1164
+ '''storage_devices block.
1165
+
1166
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#storage_devices Server#storage_devices}
1167
+ '''
1168
+ result = self._values.get("storage_devices")
1169
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerStorageDevices"]]], result)
1170
+
1171
+ @builtins.property
1172
+ def tags(self) -> typing.Optional[typing.List[builtins.str]]:
1173
+ '''The server related tags.
1174
+
1175
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#tags Server#tags}
1176
+ '''
1177
+ result = self._values.get("tags")
1178
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1179
+
1180
+ @builtins.property
1181
+ def template(
1182
+ self,
1183
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerTemplate"]]]:
1184
+ '''template block.
1185
+
1186
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#template Server#template}
1187
+ '''
1188
+ result = self._values.get("template")
1189
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerTemplate"]]], result)
1190
+
1191
+ @builtins.property
1192
+ def timezone(self) -> typing.Optional[builtins.str]:
1193
+ '''The timezone of the server. The timezone must be a valid timezone string, e.g. ``Europe/Helsinki``.
1194
+
1195
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#timezone Server#timezone}
1196
+ '''
1197
+ result = self._values.get("timezone")
1198
+ return typing.cast(typing.Optional[builtins.str], result)
1199
+
1200
+ @builtins.property
1201
+ def title(self) -> typing.Optional[builtins.str]:
1202
+ '''A short, informational description of the server.
1203
+
1204
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#title Server#title}
1205
+ '''
1206
+ result = self._values.get("title")
1207
+ return typing.cast(typing.Optional[builtins.str], result)
1208
+
1209
+ @builtins.property
1210
+ def user_data(self) -> typing.Optional[builtins.str]:
1211
+ '''Defines URL for a server setup script, or the script body itself.
1212
+
1213
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#user_data Server#user_data}
1214
+ '''
1215
+ result = self._values.get("user_data")
1216
+ return typing.cast(typing.Optional[builtins.str], result)
1217
+
1218
+ @builtins.property
1219
+ def video_model(self) -> typing.Optional[builtins.str]:
1220
+ '''The model of the server's video interface.
1221
+
1222
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#video_model Server#video_model}
1223
+ '''
1224
+ result = self._values.get("video_model")
1225
+ return typing.cast(typing.Optional[builtins.str], result)
1226
+
1227
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1228
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1229
+
1230
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1231
+ return not (rhs == self)
1232
+
1233
+ def __repr__(self) -> str:
1234
+ return "ServerConfig(%s)" % ", ".join(
1235
+ k + "=" + repr(v) for k, v in self._values.items()
1236
+ )
1237
+
1238
+
1239
+ @jsii.data_type(
1240
+ jsii_type="@cdktf/provider-upcloud.server.ServerLogin",
1241
+ jsii_struct_bases=[],
1242
+ name_mapping={
1243
+ "create_password": "createPassword",
1244
+ "keys": "keys",
1245
+ "password_delivery": "passwordDelivery",
1246
+ "user": "user",
1247
+ },
1248
+ )
1249
+ class ServerLogin:
1250
+ def __init__(
1251
+ self,
1252
+ *,
1253
+ create_password: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1254
+ keys: typing.Optional[typing.Sequence[builtins.str]] = None,
1255
+ password_delivery: typing.Optional[builtins.str] = None,
1256
+ user: typing.Optional[builtins.str] = None,
1257
+ ) -> None:
1258
+ '''
1259
+ :param create_password: Indicates a password should be create to allow access. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#create_password Server#create_password}
1260
+ :param keys: A list of ssh keys to access the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#keys Server#keys}
1261
+ :param password_delivery: The delivery method for the server's root password (one of ``none``, ``email`` or ``sms``). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#password_delivery Server#password_delivery}
1262
+ :param user: Username to be create to access the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#user Server#user}
1263
+ '''
1264
+ if __debug__:
1265
+ type_hints = typing.get_type_hints(_typecheckingstub__ba39a2ee1d911b76fb74554613ea114a5a572a0bf44aae12941ef4644ef7377a)
1266
+ check_type(argname="argument create_password", value=create_password, expected_type=type_hints["create_password"])
1267
+ check_type(argname="argument keys", value=keys, expected_type=type_hints["keys"])
1268
+ check_type(argname="argument password_delivery", value=password_delivery, expected_type=type_hints["password_delivery"])
1269
+ check_type(argname="argument user", value=user, expected_type=type_hints["user"])
1270
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1271
+ if create_password is not None:
1272
+ self._values["create_password"] = create_password
1273
+ if keys is not None:
1274
+ self._values["keys"] = keys
1275
+ if password_delivery is not None:
1276
+ self._values["password_delivery"] = password_delivery
1277
+ if user is not None:
1278
+ self._values["user"] = user
1279
+
1280
+ @builtins.property
1281
+ def create_password(
1282
+ self,
1283
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1284
+ '''Indicates a password should be create to allow access.
1285
+
1286
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#create_password Server#create_password}
1287
+ '''
1288
+ result = self._values.get("create_password")
1289
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1290
+
1291
+ @builtins.property
1292
+ def keys(self) -> typing.Optional[typing.List[builtins.str]]:
1293
+ '''A list of ssh keys to access the server.
1294
+
1295
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#keys Server#keys}
1296
+ '''
1297
+ result = self._values.get("keys")
1298
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1299
+
1300
+ @builtins.property
1301
+ def password_delivery(self) -> typing.Optional[builtins.str]:
1302
+ '''The delivery method for the server's root password (one of ``none``, ``email`` or ``sms``).
1303
+
1304
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#password_delivery Server#password_delivery}
1305
+ '''
1306
+ result = self._values.get("password_delivery")
1307
+ return typing.cast(typing.Optional[builtins.str], result)
1308
+
1309
+ @builtins.property
1310
+ def user(self) -> typing.Optional[builtins.str]:
1311
+ '''Username to be create to access the server.
1312
+
1313
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#user Server#user}
1314
+ '''
1315
+ result = self._values.get("user")
1316
+ return typing.cast(typing.Optional[builtins.str], result)
1317
+
1318
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1319
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1320
+
1321
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1322
+ return not (rhs == self)
1323
+
1324
+ def __repr__(self) -> str:
1325
+ return "ServerLogin(%s)" % ", ".join(
1326
+ k + "=" + repr(v) for k, v in self._values.items()
1327
+ )
1328
+
1329
+
1330
+ class ServerLoginList(
1331
+ _cdktf_9a9027ec.ComplexList,
1332
+ metaclass=jsii.JSIIMeta,
1333
+ jsii_type="@cdktf/provider-upcloud.server.ServerLoginList",
1334
+ ):
1335
+ def __init__(
1336
+ self,
1337
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1338
+ terraform_attribute: builtins.str,
1339
+ wraps_set: builtins.bool,
1340
+ ) -> None:
1341
+ '''
1342
+ :param terraform_resource: The parent resource.
1343
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1344
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
1345
+ '''
1346
+ if __debug__:
1347
+ type_hints = typing.get_type_hints(_typecheckingstub__fb03a79d03ab141be1cadd4f8b35544e42fdf474cb721eaceed4d99cd543137a)
1348
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1349
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1350
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
1351
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
1352
+
1353
+ @jsii.member(jsii_name="get")
1354
+ def get(self, index: jsii.Number) -> "ServerLoginOutputReference":
1355
+ '''
1356
+ :param index: the index of the item to return.
1357
+ '''
1358
+ if __debug__:
1359
+ type_hints = typing.get_type_hints(_typecheckingstub__d0481abc20ad310759cbe2f28f10c094b5a5d751a61674ea1910af4cd52a0553)
1360
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
1361
+ return typing.cast("ServerLoginOutputReference", jsii.invoke(self, "get", [index]))
1362
+
1363
+ @builtins.property
1364
+ @jsii.member(jsii_name="terraformAttribute")
1365
+ def _terraform_attribute(self) -> builtins.str:
1366
+ '''The attribute on the parent resource this class is referencing.'''
1367
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
1368
+
1369
+ @_terraform_attribute.setter
1370
+ def _terraform_attribute(self, value: builtins.str) -> None:
1371
+ if __debug__:
1372
+ type_hints = typing.get_type_hints(_typecheckingstub__f132c1614c9b5ba1ba5b19ab717b2469460fa2427499b457d6df94a3ecd32ad3)
1373
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1374
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
1375
+
1376
+ @builtins.property
1377
+ @jsii.member(jsii_name="terraformResource")
1378
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
1379
+ '''The parent resource.'''
1380
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
1381
+
1382
+ @_terraform_resource.setter
1383
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
1384
+ if __debug__:
1385
+ type_hints = typing.get_type_hints(_typecheckingstub__19fbe734a6b0e38e5289cc8fe824275160a50fb2585cf0d51ef68b976dea61c6)
1386
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1387
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
1388
+
1389
+ @builtins.property
1390
+ @jsii.member(jsii_name="wrapsSet")
1391
+ def _wraps_set(self) -> builtins.bool:
1392
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
1393
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
1394
+
1395
+ @_wraps_set.setter
1396
+ def _wraps_set(self, value: builtins.bool) -> None:
1397
+ if __debug__:
1398
+ type_hints = typing.get_type_hints(_typecheckingstub__eaeef62da438caf9575e9c49eef5839c2d85d328d845ce461169c3db3d91756e)
1399
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1400
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
1401
+
1402
+ @builtins.property
1403
+ @jsii.member(jsii_name="internalValue")
1404
+ def internal_value(
1405
+ self,
1406
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerLogin]]]:
1407
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerLogin]]], jsii.get(self, "internalValue"))
1408
+
1409
+ @internal_value.setter
1410
+ def internal_value(
1411
+ self,
1412
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerLogin]]],
1413
+ ) -> None:
1414
+ if __debug__:
1415
+ type_hints = typing.get_type_hints(_typecheckingstub__e67a467069e4676293f1f5918b73243b8eb7133d888bd7f11cebf870f3426f49)
1416
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1417
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1418
+
1419
+
1420
+ class ServerLoginOutputReference(
1421
+ _cdktf_9a9027ec.ComplexObject,
1422
+ metaclass=jsii.JSIIMeta,
1423
+ jsii_type="@cdktf/provider-upcloud.server.ServerLoginOutputReference",
1424
+ ):
1425
+ def __init__(
1426
+ self,
1427
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1428
+ terraform_attribute: builtins.str,
1429
+ complex_object_index: jsii.Number,
1430
+ complex_object_is_from_set: builtins.bool,
1431
+ ) -> None:
1432
+ '''
1433
+ :param terraform_resource: The parent resource.
1434
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1435
+ :param complex_object_index: the index of this item in the list.
1436
+ :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).
1437
+ '''
1438
+ if __debug__:
1439
+ type_hints = typing.get_type_hints(_typecheckingstub__cb37b4e00c78f37c38cbba42c725d341426cd4846a37328a858efbce8e63b347)
1440
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1441
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1442
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
1443
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
1444
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
1445
+
1446
+ @jsii.member(jsii_name="resetCreatePassword")
1447
+ def reset_create_password(self) -> None:
1448
+ return typing.cast(None, jsii.invoke(self, "resetCreatePassword", []))
1449
+
1450
+ @jsii.member(jsii_name="resetKeys")
1451
+ def reset_keys(self) -> None:
1452
+ return typing.cast(None, jsii.invoke(self, "resetKeys", []))
1453
+
1454
+ @jsii.member(jsii_name="resetPasswordDelivery")
1455
+ def reset_password_delivery(self) -> None:
1456
+ return typing.cast(None, jsii.invoke(self, "resetPasswordDelivery", []))
1457
+
1458
+ @jsii.member(jsii_name="resetUser")
1459
+ def reset_user(self) -> None:
1460
+ return typing.cast(None, jsii.invoke(self, "resetUser", []))
1461
+
1462
+ @builtins.property
1463
+ @jsii.member(jsii_name="createPasswordInput")
1464
+ def create_password_input(
1465
+ self,
1466
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1467
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "createPasswordInput"))
1468
+
1469
+ @builtins.property
1470
+ @jsii.member(jsii_name="keysInput")
1471
+ def keys_input(self) -> typing.Optional[typing.List[builtins.str]]:
1472
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "keysInput"))
1473
+
1474
+ @builtins.property
1475
+ @jsii.member(jsii_name="passwordDeliveryInput")
1476
+ def password_delivery_input(self) -> typing.Optional[builtins.str]:
1477
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "passwordDeliveryInput"))
1478
+
1479
+ @builtins.property
1480
+ @jsii.member(jsii_name="userInput")
1481
+ def user_input(self) -> typing.Optional[builtins.str]:
1482
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "userInput"))
1483
+
1484
+ @builtins.property
1485
+ @jsii.member(jsii_name="createPassword")
1486
+ def create_password(
1487
+ self,
1488
+ ) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
1489
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "createPassword"))
1490
+
1491
+ @create_password.setter
1492
+ def create_password(
1493
+ self,
1494
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
1495
+ ) -> None:
1496
+ if __debug__:
1497
+ type_hints = typing.get_type_hints(_typecheckingstub__52fef0f21493a08a9b1120b5e06665743a76af6b2c68ad33657352e375d30f83)
1498
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1499
+ jsii.set(self, "createPassword", value) # pyright: ignore[reportArgumentType]
1500
+
1501
+ @builtins.property
1502
+ @jsii.member(jsii_name="keys")
1503
+ def keys(self) -> typing.List[builtins.str]:
1504
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "keys"))
1505
+
1506
+ @keys.setter
1507
+ def keys(self, value: typing.List[builtins.str]) -> None:
1508
+ if __debug__:
1509
+ type_hints = typing.get_type_hints(_typecheckingstub__6b692749540d070af5a9539957a6fb3b45c73bf325a279cde1ce841cb2b3a368)
1510
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1511
+ jsii.set(self, "keys", value) # pyright: ignore[reportArgumentType]
1512
+
1513
+ @builtins.property
1514
+ @jsii.member(jsii_name="passwordDelivery")
1515
+ def password_delivery(self) -> builtins.str:
1516
+ return typing.cast(builtins.str, jsii.get(self, "passwordDelivery"))
1517
+
1518
+ @password_delivery.setter
1519
+ def password_delivery(self, value: builtins.str) -> None:
1520
+ if __debug__:
1521
+ type_hints = typing.get_type_hints(_typecheckingstub__0cb6ee9476d3d13341856fea701d89ab77f7390a5c83899ab22e0865a2cfaf45)
1522
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1523
+ jsii.set(self, "passwordDelivery", value) # pyright: ignore[reportArgumentType]
1524
+
1525
+ @builtins.property
1526
+ @jsii.member(jsii_name="user")
1527
+ def user(self) -> builtins.str:
1528
+ return typing.cast(builtins.str, jsii.get(self, "user"))
1529
+
1530
+ @user.setter
1531
+ def user(self, value: builtins.str) -> None:
1532
+ if __debug__:
1533
+ type_hints = typing.get_type_hints(_typecheckingstub__f5428294ae30fe53a9c3e6f59c5d7345c00077d52ca2969ca46d13b15b72bcf2)
1534
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1535
+ jsii.set(self, "user", value) # pyright: ignore[reportArgumentType]
1536
+
1537
+ @builtins.property
1538
+ @jsii.member(jsii_name="internalValue")
1539
+ def internal_value(
1540
+ self,
1541
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerLogin]]:
1542
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerLogin]], jsii.get(self, "internalValue"))
1543
+
1544
+ @internal_value.setter
1545
+ def internal_value(
1546
+ self,
1547
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerLogin]],
1548
+ ) -> None:
1549
+ if __debug__:
1550
+ type_hints = typing.get_type_hints(_typecheckingstub__c5a2e407880016cbd5838a509393761434aa730eb60add2b4b29eadad0776d3b)
1551
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1552
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1553
+
1554
+
1555
+ @jsii.data_type(
1556
+ jsii_type="@cdktf/provider-upcloud.server.ServerNetworkInterface",
1557
+ jsii_struct_bases=[],
1558
+ name_mapping={
1559
+ "type": "type",
1560
+ "additional_ip_address": "additionalIpAddress",
1561
+ "bootable": "bootable",
1562
+ "index": "index",
1563
+ "ip_address": "ipAddress",
1564
+ "ip_address_family": "ipAddressFamily",
1565
+ "network": "network",
1566
+ "source_ip_filtering": "sourceIpFiltering",
1567
+ },
1568
+ )
1569
+ class ServerNetworkInterface:
1570
+ def __init__(
1571
+ self,
1572
+ *,
1573
+ type: builtins.str,
1574
+ additional_ip_address: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerNetworkInterfaceAdditionalIpAddress", typing.Dict[builtins.str, typing.Any]]]]] = None,
1575
+ bootable: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1576
+ index: typing.Optional[jsii.Number] = None,
1577
+ ip_address: typing.Optional[builtins.str] = None,
1578
+ ip_address_family: typing.Optional[builtins.str] = None,
1579
+ network: typing.Optional[builtins.str] = None,
1580
+ source_ip_filtering: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1581
+ ) -> None:
1582
+ '''
1583
+ :param type: Network interface type. For private network interfaces, a network must be specified with an existing network id. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#type Server#type}
1584
+ :param additional_ip_address: additional_ip_address block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#additional_ip_address Server#additional_ip_address}
1585
+ :param bootable: ``true`` if this interface should be used for network booting. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#bootable Server#bootable}
1586
+ :param index: The interface index. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#index Server#index}
1587
+ :param ip_address: The primary IP address of this interface. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address Server#ip_address}
1588
+ :param ip_address_family: The type of the primary IP address of this interface (one of ``IPv4`` or ``IPv6``). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address_family Server#ip_address_family}
1589
+ :param network: The UUID of the network to attach this interface to. Required for private network interfaces. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#network Server#network}
1590
+ :param source_ip_filtering: ``true`` if source IP should be filtered. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#source_ip_filtering Server#source_ip_filtering}
1591
+ '''
1592
+ if __debug__:
1593
+ type_hints = typing.get_type_hints(_typecheckingstub__fd495e0f43b555636347e658837821c13810606782b5f840f155acbfbcf8b7ea)
1594
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
1595
+ check_type(argname="argument additional_ip_address", value=additional_ip_address, expected_type=type_hints["additional_ip_address"])
1596
+ check_type(argname="argument bootable", value=bootable, expected_type=type_hints["bootable"])
1597
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
1598
+ check_type(argname="argument ip_address", value=ip_address, expected_type=type_hints["ip_address"])
1599
+ check_type(argname="argument ip_address_family", value=ip_address_family, expected_type=type_hints["ip_address_family"])
1600
+ check_type(argname="argument network", value=network, expected_type=type_hints["network"])
1601
+ check_type(argname="argument source_ip_filtering", value=source_ip_filtering, expected_type=type_hints["source_ip_filtering"])
1602
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1603
+ "type": type,
1604
+ }
1605
+ if additional_ip_address is not None:
1606
+ self._values["additional_ip_address"] = additional_ip_address
1607
+ if bootable is not None:
1608
+ self._values["bootable"] = bootable
1609
+ if index is not None:
1610
+ self._values["index"] = index
1611
+ if ip_address is not None:
1612
+ self._values["ip_address"] = ip_address
1613
+ if ip_address_family is not None:
1614
+ self._values["ip_address_family"] = ip_address_family
1615
+ if network is not None:
1616
+ self._values["network"] = network
1617
+ if source_ip_filtering is not None:
1618
+ self._values["source_ip_filtering"] = source_ip_filtering
1619
+
1620
+ @builtins.property
1621
+ def type(self) -> builtins.str:
1622
+ '''Network interface type. For private network interfaces, a network must be specified with an existing network id.
1623
+
1624
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#type Server#type}
1625
+ '''
1626
+ result = self._values.get("type")
1627
+ assert result is not None, "Required property 'type' is missing"
1628
+ return typing.cast(builtins.str, result)
1629
+
1630
+ @builtins.property
1631
+ def additional_ip_address(
1632
+ self,
1633
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerNetworkInterfaceAdditionalIpAddress"]]]:
1634
+ '''additional_ip_address block.
1635
+
1636
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#additional_ip_address Server#additional_ip_address}
1637
+ '''
1638
+ result = self._values.get("additional_ip_address")
1639
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerNetworkInterfaceAdditionalIpAddress"]]], result)
1640
+
1641
+ @builtins.property
1642
+ def bootable(
1643
+ self,
1644
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1645
+ '''``true`` if this interface should be used for network booting.
1646
+
1647
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#bootable Server#bootable}
1648
+ '''
1649
+ result = self._values.get("bootable")
1650
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1651
+
1652
+ @builtins.property
1653
+ def index(self) -> typing.Optional[jsii.Number]:
1654
+ '''The interface index.
1655
+
1656
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#index Server#index}
1657
+ '''
1658
+ result = self._values.get("index")
1659
+ return typing.cast(typing.Optional[jsii.Number], result)
1660
+
1661
+ @builtins.property
1662
+ def ip_address(self) -> typing.Optional[builtins.str]:
1663
+ '''The primary IP address of this interface.
1664
+
1665
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address Server#ip_address}
1666
+ '''
1667
+ result = self._values.get("ip_address")
1668
+ return typing.cast(typing.Optional[builtins.str], result)
1669
+
1670
+ @builtins.property
1671
+ def ip_address_family(self) -> typing.Optional[builtins.str]:
1672
+ '''The type of the primary IP address of this interface (one of ``IPv4`` or ``IPv6``).
1673
+
1674
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address_family Server#ip_address_family}
1675
+ '''
1676
+ result = self._values.get("ip_address_family")
1677
+ return typing.cast(typing.Optional[builtins.str], result)
1678
+
1679
+ @builtins.property
1680
+ def network(self) -> typing.Optional[builtins.str]:
1681
+ '''The UUID of the network to attach this interface to. Required for private network interfaces.
1682
+
1683
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#network Server#network}
1684
+ '''
1685
+ result = self._values.get("network")
1686
+ return typing.cast(typing.Optional[builtins.str], result)
1687
+
1688
+ @builtins.property
1689
+ def source_ip_filtering(
1690
+ self,
1691
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1692
+ '''``true`` if source IP should be filtered.
1693
+
1694
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#source_ip_filtering Server#source_ip_filtering}
1695
+ '''
1696
+ result = self._values.get("source_ip_filtering")
1697
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1698
+
1699
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1700
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1701
+
1702
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1703
+ return not (rhs == self)
1704
+
1705
+ def __repr__(self) -> str:
1706
+ return "ServerNetworkInterface(%s)" % ", ".join(
1707
+ k + "=" + repr(v) for k, v in self._values.items()
1708
+ )
1709
+
1710
+
1711
+ @jsii.data_type(
1712
+ jsii_type="@cdktf/provider-upcloud.server.ServerNetworkInterfaceAdditionalIpAddress",
1713
+ jsii_struct_bases=[],
1714
+ name_mapping={"ip_address": "ipAddress", "ip_address_family": "ipAddressFamily"},
1715
+ )
1716
+ class ServerNetworkInterfaceAdditionalIpAddress:
1717
+ def __init__(
1718
+ self,
1719
+ *,
1720
+ ip_address: typing.Optional[builtins.str] = None,
1721
+ ip_address_family: typing.Optional[builtins.str] = None,
1722
+ ) -> None:
1723
+ '''
1724
+ :param ip_address: An additional IP address for this interface. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address Server#ip_address}
1725
+ :param ip_address_family: The type of the additional IP address of this interface (one of ``IPv4`` or ``IPv6``). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address_family Server#ip_address_family}
1726
+ '''
1727
+ if __debug__:
1728
+ type_hints = typing.get_type_hints(_typecheckingstub__0b6048ebfe8d4aeae43994c82a3e7294ab414eb1a49571fd3fff63238f2a288c)
1729
+ check_type(argname="argument ip_address", value=ip_address, expected_type=type_hints["ip_address"])
1730
+ check_type(argname="argument ip_address_family", value=ip_address_family, expected_type=type_hints["ip_address_family"])
1731
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1732
+ if ip_address is not None:
1733
+ self._values["ip_address"] = ip_address
1734
+ if ip_address_family is not None:
1735
+ self._values["ip_address_family"] = ip_address_family
1736
+
1737
+ @builtins.property
1738
+ def ip_address(self) -> typing.Optional[builtins.str]:
1739
+ '''An additional IP address for this interface.
1740
+
1741
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address Server#ip_address}
1742
+ '''
1743
+ result = self._values.get("ip_address")
1744
+ return typing.cast(typing.Optional[builtins.str], result)
1745
+
1746
+ @builtins.property
1747
+ def ip_address_family(self) -> typing.Optional[builtins.str]:
1748
+ '''The type of the additional IP address of this interface (one of ``IPv4`` or ``IPv6``).
1749
+
1750
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#ip_address_family Server#ip_address_family}
1751
+ '''
1752
+ result = self._values.get("ip_address_family")
1753
+ return typing.cast(typing.Optional[builtins.str], result)
1754
+
1755
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1756
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1757
+
1758
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1759
+ return not (rhs == self)
1760
+
1761
+ def __repr__(self) -> str:
1762
+ return "ServerNetworkInterfaceAdditionalIpAddress(%s)" % ", ".join(
1763
+ k + "=" + repr(v) for k, v in self._values.items()
1764
+ )
1765
+
1766
+
1767
+ class ServerNetworkInterfaceAdditionalIpAddressList(
1768
+ _cdktf_9a9027ec.ComplexList,
1769
+ metaclass=jsii.JSIIMeta,
1770
+ jsii_type="@cdktf/provider-upcloud.server.ServerNetworkInterfaceAdditionalIpAddressList",
1771
+ ):
1772
+ def __init__(
1773
+ self,
1774
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1775
+ terraform_attribute: builtins.str,
1776
+ wraps_set: builtins.bool,
1777
+ ) -> None:
1778
+ '''
1779
+ :param terraform_resource: The parent resource.
1780
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1781
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
1782
+ '''
1783
+ if __debug__:
1784
+ type_hints = typing.get_type_hints(_typecheckingstub__c89b4cdfc5939236d1e9fc94c384f611793f43a4c91f76c668bcf6e8920983da)
1785
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1786
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1787
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
1788
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
1789
+
1790
+ @jsii.member(jsii_name="get")
1791
+ def get(
1792
+ self,
1793
+ index: jsii.Number,
1794
+ ) -> "ServerNetworkInterfaceAdditionalIpAddressOutputReference":
1795
+ '''
1796
+ :param index: the index of the item to return.
1797
+ '''
1798
+ if __debug__:
1799
+ type_hints = typing.get_type_hints(_typecheckingstub__fe600652bfba5fc59a4726212c2fa122256244a2cec86e2b2e06070db8c1d984)
1800
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
1801
+ return typing.cast("ServerNetworkInterfaceAdditionalIpAddressOutputReference", jsii.invoke(self, "get", [index]))
1802
+
1803
+ @builtins.property
1804
+ @jsii.member(jsii_name="terraformAttribute")
1805
+ def _terraform_attribute(self) -> builtins.str:
1806
+ '''The attribute on the parent resource this class is referencing.'''
1807
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
1808
+
1809
+ @_terraform_attribute.setter
1810
+ def _terraform_attribute(self, value: builtins.str) -> None:
1811
+ if __debug__:
1812
+ type_hints = typing.get_type_hints(_typecheckingstub__e6809907a581b5b3f9e20b9babc436747ce0b3ea6a13648ac92d3c70b10d2dfc)
1813
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1814
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
1815
+
1816
+ @builtins.property
1817
+ @jsii.member(jsii_name="terraformResource")
1818
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
1819
+ '''The parent resource.'''
1820
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
1821
+
1822
+ @_terraform_resource.setter
1823
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
1824
+ if __debug__:
1825
+ type_hints = typing.get_type_hints(_typecheckingstub__36f7c9cde4988785a40830d569a548a483243af9c6bd0873ff940529f6b4b585)
1826
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1827
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
1828
+
1829
+ @builtins.property
1830
+ @jsii.member(jsii_name="wrapsSet")
1831
+ def _wraps_set(self) -> builtins.bool:
1832
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
1833
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
1834
+
1835
+ @_wraps_set.setter
1836
+ def _wraps_set(self, value: builtins.bool) -> None:
1837
+ if __debug__:
1838
+ type_hints = typing.get_type_hints(_typecheckingstub__644944fcfc32d93265d478713d73010561f8478c3e1ffa1f2c553bd86640c038)
1839
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1840
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
1841
+
1842
+ @builtins.property
1843
+ @jsii.member(jsii_name="internalValue")
1844
+ def internal_value(
1845
+ self,
1846
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterfaceAdditionalIpAddress]]]:
1847
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterfaceAdditionalIpAddress]]], jsii.get(self, "internalValue"))
1848
+
1849
+ @internal_value.setter
1850
+ def internal_value(
1851
+ self,
1852
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterfaceAdditionalIpAddress]]],
1853
+ ) -> None:
1854
+ if __debug__:
1855
+ type_hints = typing.get_type_hints(_typecheckingstub__45575bc52539ed3b5b2359cb867fcb8d243b1038ceb2f8bcfb25d1c549b97311)
1856
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1857
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1858
+
1859
+
1860
+ class ServerNetworkInterfaceAdditionalIpAddressOutputReference(
1861
+ _cdktf_9a9027ec.ComplexObject,
1862
+ metaclass=jsii.JSIIMeta,
1863
+ jsii_type="@cdktf/provider-upcloud.server.ServerNetworkInterfaceAdditionalIpAddressOutputReference",
1864
+ ):
1865
+ def __init__(
1866
+ self,
1867
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1868
+ terraform_attribute: builtins.str,
1869
+ complex_object_index: jsii.Number,
1870
+ complex_object_is_from_set: builtins.bool,
1871
+ ) -> None:
1872
+ '''
1873
+ :param terraform_resource: The parent resource.
1874
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1875
+ :param complex_object_index: the index of this item in the list.
1876
+ :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).
1877
+ '''
1878
+ if __debug__:
1879
+ type_hints = typing.get_type_hints(_typecheckingstub__4810e97a66fec22fb3dd09271c828afd76cb05fc43770f256ae7b23ed9da0815)
1880
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1881
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1882
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
1883
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
1884
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
1885
+
1886
+ @jsii.member(jsii_name="resetIpAddress")
1887
+ def reset_ip_address(self) -> None:
1888
+ return typing.cast(None, jsii.invoke(self, "resetIpAddress", []))
1889
+
1890
+ @jsii.member(jsii_name="resetIpAddressFamily")
1891
+ def reset_ip_address_family(self) -> None:
1892
+ return typing.cast(None, jsii.invoke(self, "resetIpAddressFamily", []))
1893
+
1894
+ @builtins.property
1895
+ @jsii.member(jsii_name="ipAddressFloating")
1896
+ def ip_address_floating(self) -> _cdktf_9a9027ec.IResolvable:
1897
+ return typing.cast(_cdktf_9a9027ec.IResolvable, jsii.get(self, "ipAddressFloating"))
1898
+
1899
+ @builtins.property
1900
+ @jsii.member(jsii_name="ipAddressFamilyInput")
1901
+ def ip_address_family_input(self) -> typing.Optional[builtins.str]:
1902
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressFamilyInput"))
1903
+
1904
+ @builtins.property
1905
+ @jsii.member(jsii_name="ipAddressInput")
1906
+ def ip_address_input(self) -> typing.Optional[builtins.str]:
1907
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressInput"))
1908
+
1909
+ @builtins.property
1910
+ @jsii.member(jsii_name="ipAddress")
1911
+ def ip_address(self) -> builtins.str:
1912
+ return typing.cast(builtins.str, jsii.get(self, "ipAddress"))
1913
+
1914
+ @ip_address.setter
1915
+ def ip_address(self, value: builtins.str) -> None:
1916
+ if __debug__:
1917
+ type_hints = typing.get_type_hints(_typecheckingstub__d0fc5e2f66e9fb36b7182fe1e3ac63b505553c4d12c85e38dc9931ca117fc764)
1918
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1919
+ jsii.set(self, "ipAddress", value) # pyright: ignore[reportArgumentType]
1920
+
1921
+ @builtins.property
1922
+ @jsii.member(jsii_name="ipAddressFamily")
1923
+ def ip_address_family(self) -> builtins.str:
1924
+ return typing.cast(builtins.str, jsii.get(self, "ipAddressFamily"))
1925
+
1926
+ @ip_address_family.setter
1927
+ def ip_address_family(self, value: builtins.str) -> None:
1928
+ if __debug__:
1929
+ type_hints = typing.get_type_hints(_typecheckingstub__4526d2405b2bec0bc8fbc830fb0bcc3fca2f040b51eda99c592f63ea38a4a8f0)
1930
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1931
+ jsii.set(self, "ipAddressFamily", value) # pyright: ignore[reportArgumentType]
1932
+
1933
+ @builtins.property
1934
+ @jsii.member(jsii_name="internalValue")
1935
+ def internal_value(
1936
+ self,
1937
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterfaceAdditionalIpAddress]]:
1938
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterfaceAdditionalIpAddress]], jsii.get(self, "internalValue"))
1939
+
1940
+ @internal_value.setter
1941
+ def internal_value(
1942
+ self,
1943
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterfaceAdditionalIpAddress]],
1944
+ ) -> None:
1945
+ if __debug__:
1946
+ type_hints = typing.get_type_hints(_typecheckingstub__2ec9c6ee49d971ad506ddb057f8f31a2aa27ea1e520ca44123a2e905e640c982)
1947
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1948
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1949
+
1950
+
1951
+ class ServerNetworkInterfaceList(
1952
+ _cdktf_9a9027ec.ComplexList,
1953
+ metaclass=jsii.JSIIMeta,
1954
+ jsii_type="@cdktf/provider-upcloud.server.ServerNetworkInterfaceList",
1955
+ ):
1956
+ def __init__(
1957
+ self,
1958
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1959
+ terraform_attribute: builtins.str,
1960
+ wraps_set: builtins.bool,
1961
+ ) -> None:
1962
+ '''
1963
+ :param terraform_resource: The parent resource.
1964
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1965
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
1966
+ '''
1967
+ if __debug__:
1968
+ type_hints = typing.get_type_hints(_typecheckingstub__fc54b91b5d0d7c97de16d571e1bd39a117d649214c8689ebf9994e4e990fd340)
1969
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1970
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1971
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
1972
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
1973
+
1974
+ @jsii.member(jsii_name="get")
1975
+ def get(self, index: jsii.Number) -> "ServerNetworkInterfaceOutputReference":
1976
+ '''
1977
+ :param index: the index of the item to return.
1978
+ '''
1979
+ if __debug__:
1980
+ type_hints = typing.get_type_hints(_typecheckingstub__33afd8f34658cdde16c336c0c57cf4773e6fec818004f2ef62f5737777f120ea)
1981
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
1982
+ return typing.cast("ServerNetworkInterfaceOutputReference", jsii.invoke(self, "get", [index]))
1983
+
1984
+ @builtins.property
1985
+ @jsii.member(jsii_name="terraformAttribute")
1986
+ def _terraform_attribute(self) -> builtins.str:
1987
+ '''The attribute on the parent resource this class is referencing.'''
1988
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
1989
+
1990
+ @_terraform_attribute.setter
1991
+ def _terraform_attribute(self, value: builtins.str) -> None:
1992
+ if __debug__:
1993
+ type_hints = typing.get_type_hints(_typecheckingstub__964638e95b9eb64f9888fef8669fefd3199a22770bc88f1e9e55385ffcf19266)
1994
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1995
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
1996
+
1997
+ @builtins.property
1998
+ @jsii.member(jsii_name="terraformResource")
1999
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
2000
+ '''The parent resource.'''
2001
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
2002
+
2003
+ @_terraform_resource.setter
2004
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
2005
+ if __debug__:
2006
+ type_hints = typing.get_type_hints(_typecheckingstub__4f425debfe0fca1e3b8c8cd983ff8f17a5cee4a67bedbf8b9045e682766c159c)
2007
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2008
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
2009
+
2010
+ @builtins.property
2011
+ @jsii.member(jsii_name="wrapsSet")
2012
+ def _wraps_set(self) -> builtins.bool:
2013
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
2014
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
2015
+
2016
+ @_wraps_set.setter
2017
+ def _wraps_set(self, value: builtins.bool) -> None:
2018
+ if __debug__:
2019
+ type_hints = typing.get_type_hints(_typecheckingstub__ecc2284e90d7a1c3606d00ad08be4fb4481c645e68a00a279e10ebf0666a6875)
2020
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2021
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
2022
+
2023
+ @builtins.property
2024
+ @jsii.member(jsii_name="internalValue")
2025
+ def internal_value(
2026
+ self,
2027
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterface]]]:
2028
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterface]]], jsii.get(self, "internalValue"))
2029
+
2030
+ @internal_value.setter
2031
+ def internal_value(
2032
+ self,
2033
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterface]]],
2034
+ ) -> None:
2035
+ if __debug__:
2036
+ type_hints = typing.get_type_hints(_typecheckingstub__05c518a721134139fda2b2f95e72e1fc5c01453ef555dec5b958772b12cc8b9c)
2037
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2038
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2039
+
2040
+
2041
+ class ServerNetworkInterfaceOutputReference(
2042
+ _cdktf_9a9027ec.ComplexObject,
2043
+ metaclass=jsii.JSIIMeta,
2044
+ jsii_type="@cdktf/provider-upcloud.server.ServerNetworkInterfaceOutputReference",
2045
+ ):
2046
+ def __init__(
2047
+ self,
2048
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2049
+ terraform_attribute: builtins.str,
2050
+ complex_object_index: jsii.Number,
2051
+ complex_object_is_from_set: builtins.bool,
2052
+ ) -> None:
2053
+ '''
2054
+ :param terraform_resource: The parent resource.
2055
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
2056
+ :param complex_object_index: the index of this item in the list.
2057
+ :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).
2058
+ '''
2059
+ if __debug__:
2060
+ type_hints = typing.get_type_hints(_typecheckingstub__f351e78b8ed148a38258a4e1044dee8183c1dc0faa0e2ff98d6538a768811b64)
2061
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
2062
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
2063
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
2064
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
2065
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
2066
+
2067
+ @jsii.member(jsii_name="putAdditionalIpAddress")
2068
+ def put_additional_ip_address(
2069
+ self,
2070
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerNetworkInterfaceAdditionalIpAddress, typing.Dict[builtins.str, typing.Any]]]],
2071
+ ) -> None:
2072
+ '''
2073
+ :param value: -
2074
+ '''
2075
+ if __debug__:
2076
+ type_hints = typing.get_type_hints(_typecheckingstub__368dac4f3634a09c66a3ae7e88a47843ad59c6921904b64e48b246bca21f0781)
2077
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2078
+ return typing.cast(None, jsii.invoke(self, "putAdditionalIpAddress", [value]))
2079
+
2080
+ @jsii.member(jsii_name="resetAdditionalIpAddress")
2081
+ def reset_additional_ip_address(self) -> None:
2082
+ return typing.cast(None, jsii.invoke(self, "resetAdditionalIpAddress", []))
2083
+
2084
+ @jsii.member(jsii_name="resetBootable")
2085
+ def reset_bootable(self) -> None:
2086
+ return typing.cast(None, jsii.invoke(self, "resetBootable", []))
2087
+
2088
+ @jsii.member(jsii_name="resetIndex")
2089
+ def reset_index(self) -> None:
2090
+ return typing.cast(None, jsii.invoke(self, "resetIndex", []))
2091
+
2092
+ @jsii.member(jsii_name="resetIpAddress")
2093
+ def reset_ip_address(self) -> None:
2094
+ return typing.cast(None, jsii.invoke(self, "resetIpAddress", []))
2095
+
2096
+ @jsii.member(jsii_name="resetIpAddressFamily")
2097
+ def reset_ip_address_family(self) -> None:
2098
+ return typing.cast(None, jsii.invoke(self, "resetIpAddressFamily", []))
2099
+
2100
+ @jsii.member(jsii_name="resetNetwork")
2101
+ def reset_network(self) -> None:
2102
+ return typing.cast(None, jsii.invoke(self, "resetNetwork", []))
2103
+
2104
+ @jsii.member(jsii_name="resetSourceIpFiltering")
2105
+ def reset_source_ip_filtering(self) -> None:
2106
+ return typing.cast(None, jsii.invoke(self, "resetSourceIpFiltering", []))
2107
+
2108
+ @builtins.property
2109
+ @jsii.member(jsii_name="additionalIpAddress")
2110
+ def additional_ip_address(self) -> ServerNetworkInterfaceAdditionalIpAddressList:
2111
+ return typing.cast(ServerNetworkInterfaceAdditionalIpAddressList, jsii.get(self, "additionalIpAddress"))
2112
+
2113
+ @builtins.property
2114
+ @jsii.member(jsii_name="ipAddressFloating")
2115
+ def ip_address_floating(self) -> _cdktf_9a9027ec.IResolvable:
2116
+ return typing.cast(_cdktf_9a9027ec.IResolvable, jsii.get(self, "ipAddressFloating"))
2117
+
2118
+ @builtins.property
2119
+ @jsii.member(jsii_name="macAddress")
2120
+ def mac_address(self) -> builtins.str:
2121
+ return typing.cast(builtins.str, jsii.get(self, "macAddress"))
2122
+
2123
+ @builtins.property
2124
+ @jsii.member(jsii_name="additionalIpAddressInput")
2125
+ def additional_ip_address_input(
2126
+ self,
2127
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterfaceAdditionalIpAddress]]]:
2128
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterfaceAdditionalIpAddress]]], jsii.get(self, "additionalIpAddressInput"))
2129
+
2130
+ @builtins.property
2131
+ @jsii.member(jsii_name="bootableInput")
2132
+ def bootable_input(
2133
+ self,
2134
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2135
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "bootableInput"))
2136
+
2137
+ @builtins.property
2138
+ @jsii.member(jsii_name="indexInput")
2139
+ def index_input(self) -> typing.Optional[jsii.Number]:
2140
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "indexInput"))
2141
+
2142
+ @builtins.property
2143
+ @jsii.member(jsii_name="ipAddressFamilyInput")
2144
+ def ip_address_family_input(self) -> typing.Optional[builtins.str]:
2145
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressFamilyInput"))
2146
+
2147
+ @builtins.property
2148
+ @jsii.member(jsii_name="ipAddressInput")
2149
+ def ip_address_input(self) -> typing.Optional[builtins.str]:
2150
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressInput"))
2151
+
2152
+ @builtins.property
2153
+ @jsii.member(jsii_name="networkInput")
2154
+ def network_input(self) -> typing.Optional[builtins.str]:
2155
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "networkInput"))
2156
+
2157
+ @builtins.property
2158
+ @jsii.member(jsii_name="sourceIpFilteringInput")
2159
+ def source_ip_filtering_input(
2160
+ self,
2161
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2162
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "sourceIpFilteringInput"))
2163
+
2164
+ @builtins.property
2165
+ @jsii.member(jsii_name="typeInput")
2166
+ def type_input(self) -> typing.Optional[builtins.str]:
2167
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeInput"))
2168
+
2169
+ @builtins.property
2170
+ @jsii.member(jsii_name="bootable")
2171
+ def bootable(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
2172
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "bootable"))
2173
+
2174
+ @bootable.setter
2175
+ def bootable(
2176
+ self,
2177
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2178
+ ) -> None:
2179
+ if __debug__:
2180
+ type_hints = typing.get_type_hints(_typecheckingstub__47ed0e3d16bdd5428b4c7adf673350899ade00d8859059ed0f26439a53c0b519)
2181
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2182
+ jsii.set(self, "bootable", value) # pyright: ignore[reportArgumentType]
2183
+
2184
+ @builtins.property
2185
+ @jsii.member(jsii_name="index")
2186
+ def index(self) -> jsii.Number:
2187
+ return typing.cast(jsii.Number, jsii.get(self, "index"))
2188
+
2189
+ @index.setter
2190
+ def index(self, value: jsii.Number) -> None:
2191
+ if __debug__:
2192
+ type_hints = typing.get_type_hints(_typecheckingstub__fdbcdae3ed9796bc912ec8884fdad7902fba09438df21f8c4b45f4765d8623c2)
2193
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2194
+ jsii.set(self, "index", value) # pyright: ignore[reportArgumentType]
2195
+
2196
+ @builtins.property
2197
+ @jsii.member(jsii_name="ipAddress")
2198
+ def ip_address(self) -> builtins.str:
2199
+ return typing.cast(builtins.str, jsii.get(self, "ipAddress"))
2200
+
2201
+ @ip_address.setter
2202
+ def ip_address(self, value: builtins.str) -> None:
2203
+ if __debug__:
2204
+ type_hints = typing.get_type_hints(_typecheckingstub__97b4cbf583d41648739b128bd01df2684cfe29bc55efc08b02280697b7207be3)
2205
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2206
+ jsii.set(self, "ipAddress", value) # pyright: ignore[reportArgumentType]
2207
+
2208
+ @builtins.property
2209
+ @jsii.member(jsii_name="ipAddressFamily")
2210
+ def ip_address_family(self) -> builtins.str:
2211
+ return typing.cast(builtins.str, jsii.get(self, "ipAddressFamily"))
2212
+
2213
+ @ip_address_family.setter
2214
+ def ip_address_family(self, value: builtins.str) -> None:
2215
+ if __debug__:
2216
+ type_hints = typing.get_type_hints(_typecheckingstub__27ca96659b5cf24779fba934b13768313666a313e1ec402934147d93b04c671d)
2217
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2218
+ jsii.set(self, "ipAddressFamily", value) # pyright: ignore[reportArgumentType]
2219
+
2220
+ @builtins.property
2221
+ @jsii.member(jsii_name="network")
2222
+ def network(self) -> builtins.str:
2223
+ return typing.cast(builtins.str, jsii.get(self, "network"))
2224
+
2225
+ @network.setter
2226
+ def network(self, value: builtins.str) -> None:
2227
+ if __debug__:
2228
+ type_hints = typing.get_type_hints(_typecheckingstub__4455383f612dd1e5e7b829b5df56c87f6147838c2bd408299074c0fe1fcb3457)
2229
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2230
+ jsii.set(self, "network", value) # pyright: ignore[reportArgumentType]
2231
+
2232
+ @builtins.property
2233
+ @jsii.member(jsii_name="sourceIpFiltering")
2234
+ def source_ip_filtering(
2235
+ self,
2236
+ ) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
2237
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "sourceIpFiltering"))
2238
+
2239
+ @source_ip_filtering.setter
2240
+ def source_ip_filtering(
2241
+ self,
2242
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2243
+ ) -> None:
2244
+ if __debug__:
2245
+ type_hints = typing.get_type_hints(_typecheckingstub__67715c977e47025dc675151bb1733aeb13846dd9b753760e7f626bb21f196235)
2246
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2247
+ jsii.set(self, "sourceIpFiltering", value) # pyright: ignore[reportArgumentType]
2248
+
2249
+ @builtins.property
2250
+ @jsii.member(jsii_name="type")
2251
+ def type(self) -> builtins.str:
2252
+ return typing.cast(builtins.str, jsii.get(self, "type"))
2253
+
2254
+ @type.setter
2255
+ def type(self, value: builtins.str) -> None:
2256
+ if __debug__:
2257
+ type_hints = typing.get_type_hints(_typecheckingstub__21f40dacaedad9009711ae5ffd3910b0ae85807a8cec83e69f5f166a7cf791ec)
2258
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2259
+ jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
2260
+
2261
+ @builtins.property
2262
+ @jsii.member(jsii_name="internalValue")
2263
+ def internal_value(
2264
+ self,
2265
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterface]]:
2266
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterface]], jsii.get(self, "internalValue"))
2267
+
2268
+ @internal_value.setter
2269
+ def internal_value(
2270
+ self,
2271
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterface]],
2272
+ ) -> None:
2273
+ if __debug__:
2274
+ type_hints = typing.get_type_hints(_typecheckingstub__8653f81da3a79a9a2fd0667eb122024a0e78b7183d06eaf233aa6b039ab88013)
2275
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2276
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2277
+
2278
+
2279
+ @jsii.data_type(
2280
+ jsii_type="@cdktf/provider-upcloud.server.ServerSimpleBackup",
2281
+ jsii_struct_bases=[],
2282
+ name_mapping={"plan": "plan", "time": "time"},
2283
+ )
2284
+ class ServerSimpleBackup:
2285
+ def __init__(
2286
+ self,
2287
+ *,
2288
+ plan: typing.Optional[builtins.str] = None,
2289
+ time: typing.Optional[builtins.str] = None,
2290
+ ) -> None:
2291
+ '''
2292
+ :param plan: Simple backup plan. Accepted values: daily, dailies, weeklies, monthlies. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#plan Server#plan}
2293
+ :param time: Time of the day at which backup will be taken. Should be provided in a hhmm format (e.g. 2230). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#time Server#time}
2294
+ '''
2295
+ if __debug__:
2296
+ type_hints = typing.get_type_hints(_typecheckingstub__e0bd20cac4bdde3b91171ae0bf44e53e9583617261eaf0793a175a7d8da3cee3)
2297
+ check_type(argname="argument plan", value=plan, expected_type=type_hints["plan"])
2298
+ check_type(argname="argument time", value=time, expected_type=type_hints["time"])
2299
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2300
+ if plan is not None:
2301
+ self._values["plan"] = plan
2302
+ if time is not None:
2303
+ self._values["time"] = time
2304
+
2305
+ @builtins.property
2306
+ def plan(self) -> typing.Optional[builtins.str]:
2307
+ '''Simple backup plan. Accepted values: daily, dailies, weeklies, monthlies.
2308
+
2309
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#plan Server#plan}
2310
+ '''
2311
+ result = self._values.get("plan")
2312
+ return typing.cast(typing.Optional[builtins.str], result)
2313
+
2314
+ @builtins.property
2315
+ def time(self) -> typing.Optional[builtins.str]:
2316
+ '''Time of the day at which backup will be taken. Should be provided in a hhmm format (e.g. 2230).
2317
+
2318
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#time Server#time}
2319
+ '''
2320
+ result = self._values.get("time")
2321
+ return typing.cast(typing.Optional[builtins.str], result)
2322
+
2323
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2324
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2325
+
2326
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2327
+ return not (rhs == self)
2328
+
2329
+ def __repr__(self) -> str:
2330
+ return "ServerSimpleBackup(%s)" % ", ".join(
2331
+ k + "=" + repr(v) for k, v in self._values.items()
2332
+ )
2333
+
2334
+
2335
+ class ServerSimpleBackupList(
2336
+ _cdktf_9a9027ec.ComplexList,
2337
+ metaclass=jsii.JSIIMeta,
2338
+ jsii_type="@cdktf/provider-upcloud.server.ServerSimpleBackupList",
2339
+ ):
2340
+ def __init__(
2341
+ self,
2342
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2343
+ terraform_attribute: builtins.str,
2344
+ wraps_set: builtins.bool,
2345
+ ) -> None:
2346
+ '''
2347
+ :param terraform_resource: The parent resource.
2348
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
2349
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
2350
+ '''
2351
+ if __debug__:
2352
+ type_hints = typing.get_type_hints(_typecheckingstub__d5bc799dd20317cd73a9978f93c9cd6a9ea8fd88acd763183b836b6eddd20d62)
2353
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
2354
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
2355
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
2356
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
2357
+
2358
+ @jsii.member(jsii_name="get")
2359
+ def get(self, index: jsii.Number) -> "ServerSimpleBackupOutputReference":
2360
+ '''
2361
+ :param index: the index of the item to return.
2362
+ '''
2363
+ if __debug__:
2364
+ type_hints = typing.get_type_hints(_typecheckingstub__c50b5bf6c21c58214becf2e9e5e6e334430c4c27c6557540fae04ae21e102c92)
2365
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
2366
+ return typing.cast("ServerSimpleBackupOutputReference", jsii.invoke(self, "get", [index]))
2367
+
2368
+ @builtins.property
2369
+ @jsii.member(jsii_name="terraformAttribute")
2370
+ def _terraform_attribute(self) -> builtins.str:
2371
+ '''The attribute on the parent resource this class is referencing.'''
2372
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
2373
+
2374
+ @_terraform_attribute.setter
2375
+ def _terraform_attribute(self, value: builtins.str) -> None:
2376
+ if __debug__:
2377
+ type_hints = typing.get_type_hints(_typecheckingstub__8ada2344e2be9cf11d5892b47601e5ccbe84e1fe73623f0fe28918eff6b656fe)
2378
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2379
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
2380
+
2381
+ @builtins.property
2382
+ @jsii.member(jsii_name="terraformResource")
2383
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
2384
+ '''The parent resource.'''
2385
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
2386
+
2387
+ @_terraform_resource.setter
2388
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
2389
+ if __debug__:
2390
+ type_hints = typing.get_type_hints(_typecheckingstub__80ac01001775f9091e90876610cfbadfba3c0bd897bcd725fbdebf70436d1b1c)
2391
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2392
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
2393
+
2394
+ @builtins.property
2395
+ @jsii.member(jsii_name="wrapsSet")
2396
+ def _wraps_set(self) -> builtins.bool:
2397
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
2398
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
2399
+
2400
+ @_wraps_set.setter
2401
+ def _wraps_set(self, value: builtins.bool) -> None:
2402
+ if __debug__:
2403
+ type_hints = typing.get_type_hints(_typecheckingstub__8b09a06daff97f70b9cda1eb1be8f02b060130ccbabb3a8764635911bab83554)
2404
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2405
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
2406
+
2407
+ @builtins.property
2408
+ @jsii.member(jsii_name="internalValue")
2409
+ def internal_value(
2410
+ self,
2411
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerSimpleBackup]]]:
2412
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerSimpleBackup]]], jsii.get(self, "internalValue"))
2413
+
2414
+ @internal_value.setter
2415
+ def internal_value(
2416
+ self,
2417
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerSimpleBackup]]],
2418
+ ) -> None:
2419
+ if __debug__:
2420
+ type_hints = typing.get_type_hints(_typecheckingstub__af359ef04adfda4ddc712b398d407bb32fa5497d8f06474f907f793398e3a518)
2421
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2422
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2423
+
2424
+
2425
+ class ServerSimpleBackupOutputReference(
2426
+ _cdktf_9a9027ec.ComplexObject,
2427
+ metaclass=jsii.JSIIMeta,
2428
+ jsii_type="@cdktf/provider-upcloud.server.ServerSimpleBackupOutputReference",
2429
+ ):
2430
+ def __init__(
2431
+ self,
2432
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2433
+ terraform_attribute: builtins.str,
2434
+ complex_object_index: jsii.Number,
2435
+ complex_object_is_from_set: builtins.bool,
2436
+ ) -> None:
2437
+ '''
2438
+ :param terraform_resource: The parent resource.
2439
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
2440
+ :param complex_object_index: the index of this item in the list.
2441
+ :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).
2442
+ '''
2443
+ if __debug__:
2444
+ type_hints = typing.get_type_hints(_typecheckingstub__543283afc6e5dcbaed6d63b62679b76fe001c3a94535d560e5ee698bde877d12)
2445
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
2446
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
2447
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
2448
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
2449
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
2450
+
2451
+ @jsii.member(jsii_name="resetPlan")
2452
+ def reset_plan(self) -> None:
2453
+ return typing.cast(None, jsii.invoke(self, "resetPlan", []))
2454
+
2455
+ @jsii.member(jsii_name="resetTime")
2456
+ def reset_time(self) -> None:
2457
+ return typing.cast(None, jsii.invoke(self, "resetTime", []))
2458
+
2459
+ @builtins.property
2460
+ @jsii.member(jsii_name="planInput")
2461
+ def plan_input(self) -> typing.Optional[builtins.str]:
2462
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "planInput"))
2463
+
2464
+ @builtins.property
2465
+ @jsii.member(jsii_name="timeInput")
2466
+ def time_input(self) -> typing.Optional[builtins.str]:
2467
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "timeInput"))
2468
+
2469
+ @builtins.property
2470
+ @jsii.member(jsii_name="plan")
2471
+ def plan(self) -> builtins.str:
2472
+ return typing.cast(builtins.str, jsii.get(self, "plan"))
2473
+
2474
+ @plan.setter
2475
+ def plan(self, value: builtins.str) -> None:
2476
+ if __debug__:
2477
+ type_hints = typing.get_type_hints(_typecheckingstub__3fcfd10d4cc42b7a124d6deb709aed8a84109c8a6ccf87e6ea1c1446e290e765)
2478
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2479
+ jsii.set(self, "plan", value) # pyright: ignore[reportArgumentType]
2480
+
2481
+ @builtins.property
2482
+ @jsii.member(jsii_name="time")
2483
+ def time(self) -> builtins.str:
2484
+ return typing.cast(builtins.str, jsii.get(self, "time"))
2485
+
2486
+ @time.setter
2487
+ def time(self, value: builtins.str) -> None:
2488
+ if __debug__:
2489
+ type_hints = typing.get_type_hints(_typecheckingstub__d2a12363cbec7f1b1136e6a05c23fd0826a6915ccf0b0b64f9f4fccc66a7b1da)
2490
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2491
+ jsii.set(self, "time", value) # pyright: ignore[reportArgumentType]
2492
+
2493
+ @builtins.property
2494
+ @jsii.member(jsii_name="internalValue")
2495
+ def internal_value(
2496
+ self,
2497
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerSimpleBackup]]:
2498
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerSimpleBackup]], jsii.get(self, "internalValue"))
2499
+
2500
+ @internal_value.setter
2501
+ def internal_value(
2502
+ self,
2503
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerSimpleBackup]],
2504
+ ) -> None:
2505
+ if __debug__:
2506
+ type_hints = typing.get_type_hints(_typecheckingstub__047ada69f3d10e42273140f60146f8fdf26e9f7c5b02497edf7ff0b3533062bd)
2507
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2508
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2509
+
2510
+
2511
+ @jsii.data_type(
2512
+ jsii_type="@cdktf/provider-upcloud.server.ServerStorageDevices",
2513
+ jsii_struct_bases=[],
2514
+ name_mapping={
2515
+ "address": "address",
2516
+ "address_position": "addressPosition",
2517
+ "storage": "storage",
2518
+ "type": "type",
2519
+ },
2520
+ )
2521
+ class ServerStorageDevices:
2522
+ def __init__(
2523
+ self,
2524
+ *,
2525
+ address: typing.Optional[builtins.str] = None,
2526
+ address_position: typing.Optional[builtins.str] = None,
2527
+ storage: typing.Optional[builtins.str] = None,
2528
+ type: typing.Optional[builtins.str] = None,
2529
+ ) -> None:
2530
+ '''
2531
+ :param address: The device address the storage will be attached to (``scsi``|``virtio``|``ide``). Leave ``address_position`` field empty to auto-select next available address from that bus. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address Server#address}
2532
+ :param address_position: The device position in the given bus (defined via field ``address``). Valid values for address ``virtio`` are ``0-15`` (``0``, for example). Valid values for ``scsi`` or ``ide`` are ``0-1:0-1`` (``0:0``, for example). Leave empty to auto-select next available address in the given bus. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address_position Server#address_position}
2533
+ :param storage: The UUID of the storage to attach to the server. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#storage Server#storage}
2534
+ :param type: The device type the storage will be attached as. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#type Server#type}
2535
+ '''
2536
+ if __debug__:
2537
+ type_hints = typing.get_type_hints(_typecheckingstub__deefc3ca26ddd4529dd49d665d0a7e4d178ed9e318d7a6ed318fe000f57713ea)
2538
+ check_type(argname="argument address", value=address, expected_type=type_hints["address"])
2539
+ check_type(argname="argument address_position", value=address_position, expected_type=type_hints["address_position"])
2540
+ check_type(argname="argument storage", value=storage, expected_type=type_hints["storage"])
2541
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
2542
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2543
+ if address is not None:
2544
+ self._values["address"] = address
2545
+ if address_position is not None:
2546
+ self._values["address_position"] = address_position
2547
+ if storage is not None:
2548
+ self._values["storage"] = storage
2549
+ if type is not None:
2550
+ self._values["type"] = type
2551
+
2552
+ @builtins.property
2553
+ def address(self) -> typing.Optional[builtins.str]:
2554
+ '''The device address the storage will be attached to (``scsi``|``virtio``|``ide``).
2555
+
2556
+ Leave ``address_position`` field empty to auto-select next available address from that bus.
2557
+
2558
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address Server#address}
2559
+ '''
2560
+ result = self._values.get("address")
2561
+ return typing.cast(typing.Optional[builtins.str], result)
2562
+
2563
+ @builtins.property
2564
+ def address_position(self) -> typing.Optional[builtins.str]:
2565
+ '''The device position in the given bus (defined via field ``address``).
2566
+
2567
+ Valid values for address ``virtio`` are ``0-15`` (``0``, for example). Valid values for ``scsi`` or ``ide`` are ``0-1:0-1`` (``0:0``, for example). Leave empty to auto-select next available address in the given bus.
2568
+
2569
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address_position Server#address_position}
2570
+ '''
2571
+ result = self._values.get("address_position")
2572
+ return typing.cast(typing.Optional[builtins.str], result)
2573
+
2574
+ @builtins.property
2575
+ def storage(self) -> typing.Optional[builtins.str]:
2576
+ '''The UUID of the storage to attach to the server.
2577
+
2578
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#storage Server#storage}
2579
+ '''
2580
+ result = self._values.get("storage")
2581
+ return typing.cast(typing.Optional[builtins.str], result)
2582
+
2583
+ @builtins.property
2584
+ def type(self) -> typing.Optional[builtins.str]:
2585
+ '''The device type the storage will be attached as.
2586
+
2587
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#type Server#type}
2588
+ '''
2589
+ result = self._values.get("type")
2590
+ return typing.cast(typing.Optional[builtins.str], result)
2591
+
2592
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2593
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2594
+
2595
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2596
+ return not (rhs == self)
2597
+
2598
+ def __repr__(self) -> str:
2599
+ return "ServerStorageDevices(%s)" % ", ".join(
2600
+ k + "=" + repr(v) for k, v in self._values.items()
2601
+ )
2602
+
2603
+
2604
+ class ServerStorageDevicesList(
2605
+ _cdktf_9a9027ec.ComplexList,
2606
+ metaclass=jsii.JSIIMeta,
2607
+ jsii_type="@cdktf/provider-upcloud.server.ServerStorageDevicesList",
2608
+ ):
2609
+ def __init__(
2610
+ self,
2611
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2612
+ terraform_attribute: builtins.str,
2613
+ wraps_set: builtins.bool,
2614
+ ) -> None:
2615
+ '''
2616
+ :param terraform_resource: The parent resource.
2617
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
2618
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
2619
+ '''
2620
+ if __debug__:
2621
+ type_hints = typing.get_type_hints(_typecheckingstub__1b1a8309ae0e42008d4d9a04fa384232a242ebf581bdfe667b3d4d9318c423e1)
2622
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
2623
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
2624
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
2625
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
2626
+
2627
+ @jsii.member(jsii_name="get")
2628
+ def get(self, index: jsii.Number) -> "ServerStorageDevicesOutputReference":
2629
+ '''
2630
+ :param index: the index of the item to return.
2631
+ '''
2632
+ if __debug__:
2633
+ type_hints = typing.get_type_hints(_typecheckingstub__0cd494dc7b3e8661672bce1c045c252c6330d80b0f7be6bfd03cb3eab0419cfc)
2634
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
2635
+ return typing.cast("ServerStorageDevicesOutputReference", jsii.invoke(self, "get", [index]))
2636
+
2637
+ @builtins.property
2638
+ @jsii.member(jsii_name="terraformAttribute")
2639
+ def _terraform_attribute(self) -> builtins.str:
2640
+ '''The attribute on the parent resource this class is referencing.'''
2641
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
2642
+
2643
+ @_terraform_attribute.setter
2644
+ def _terraform_attribute(self, value: builtins.str) -> None:
2645
+ if __debug__:
2646
+ type_hints = typing.get_type_hints(_typecheckingstub__5c36a029bc93903864475ea526a1d5d88d1c38739833442c25954cc78734d073)
2647
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2648
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
2649
+
2650
+ @builtins.property
2651
+ @jsii.member(jsii_name="terraformResource")
2652
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
2653
+ '''The parent resource.'''
2654
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
2655
+
2656
+ @_terraform_resource.setter
2657
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
2658
+ if __debug__:
2659
+ type_hints = typing.get_type_hints(_typecheckingstub__c6106531b80754e3450342cca25dccc97ecca94111c0beac393fdf0cc5992ba2)
2660
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2661
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
2662
+
2663
+ @builtins.property
2664
+ @jsii.member(jsii_name="wrapsSet")
2665
+ def _wraps_set(self) -> builtins.bool:
2666
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
2667
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
2668
+
2669
+ @_wraps_set.setter
2670
+ def _wraps_set(self, value: builtins.bool) -> None:
2671
+ if __debug__:
2672
+ type_hints = typing.get_type_hints(_typecheckingstub__404155dd5b9ae6ef51ecbd295a6258fba082b02c4edde041ed4e3fdd0e39479f)
2673
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2674
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
2675
+
2676
+ @builtins.property
2677
+ @jsii.member(jsii_name="internalValue")
2678
+ def internal_value(
2679
+ self,
2680
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerStorageDevices]]]:
2681
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerStorageDevices]]], jsii.get(self, "internalValue"))
2682
+
2683
+ @internal_value.setter
2684
+ def internal_value(
2685
+ self,
2686
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerStorageDevices]]],
2687
+ ) -> None:
2688
+ if __debug__:
2689
+ type_hints = typing.get_type_hints(_typecheckingstub__2d8da2a7cdb20f04a3d3e26873cb26f1bad3c31fb192cec0590a5630aa8934c6)
2690
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2691
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2692
+
2693
+
2694
+ class ServerStorageDevicesOutputReference(
2695
+ _cdktf_9a9027ec.ComplexObject,
2696
+ metaclass=jsii.JSIIMeta,
2697
+ jsii_type="@cdktf/provider-upcloud.server.ServerStorageDevicesOutputReference",
2698
+ ):
2699
+ def __init__(
2700
+ self,
2701
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2702
+ terraform_attribute: builtins.str,
2703
+ complex_object_index: jsii.Number,
2704
+ complex_object_is_from_set: builtins.bool,
2705
+ ) -> None:
2706
+ '''
2707
+ :param terraform_resource: The parent resource.
2708
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
2709
+ :param complex_object_index: the index of this item in the list.
2710
+ :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).
2711
+ '''
2712
+ if __debug__:
2713
+ type_hints = typing.get_type_hints(_typecheckingstub__aa16490722cfc16de5acf5abd8405741b021c9e9aed0265729c5cee56a81c760)
2714
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
2715
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
2716
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
2717
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
2718
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
2719
+
2720
+ @jsii.member(jsii_name="resetAddress")
2721
+ def reset_address(self) -> None:
2722
+ return typing.cast(None, jsii.invoke(self, "resetAddress", []))
2723
+
2724
+ @jsii.member(jsii_name="resetAddressPosition")
2725
+ def reset_address_position(self) -> None:
2726
+ return typing.cast(None, jsii.invoke(self, "resetAddressPosition", []))
2727
+
2728
+ @jsii.member(jsii_name="resetStorage")
2729
+ def reset_storage(self) -> None:
2730
+ return typing.cast(None, jsii.invoke(self, "resetStorage", []))
2731
+
2732
+ @jsii.member(jsii_name="resetType")
2733
+ def reset_type(self) -> None:
2734
+ return typing.cast(None, jsii.invoke(self, "resetType", []))
2735
+
2736
+ @builtins.property
2737
+ @jsii.member(jsii_name="addressInput")
2738
+ def address_input(self) -> typing.Optional[builtins.str]:
2739
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "addressInput"))
2740
+
2741
+ @builtins.property
2742
+ @jsii.member(jsii_name="addressPositionInput")
2743
+ def address_position_input(self) -> typing.Optional[builtins.str]:
2744
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "addressPositionInput"))
2745
+
2746
+ @builtins.property
2747
+ @jsii.member(jsii_name="storageInput")
2748
+ def storage_input(self) -> typing.Optional[builtins.str]:
2749
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "storageInput"))
2750
+
2751
+ @builtins.property
2752
+ @jsii.member(jsii_name="typeInput")
2753
+ def type_input(self) -> typing.Optional[builtins.str]:
2754
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeInput"))
2755
+
2756
+ @builtins.property
2757
+ @jsii.member(jsii_name="address")
2758
+ def address(self) -> builtins.str:
2759
+ return typing.cast(builtins.str, jsii.get(self, "address"))
2760
+
2761
+ @address.setter
2762
+ def address(self, value: builtins.str) -> None:
2763
+ if __debug__:
2764
+ type_hints = typing.get_type_hints(_typecheckingstub__77d5b7c93220faaf6dd9467054774e5725fd8a75225556068d9412f7776111ea)
2765
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2766
+ jsii.set(self, "address", value) # pyright: ignore[reportArgumentType]
2767
+
2768
+ @builtins.property
2769
+ @jsii.member(jsii_name="addressPosition")
2770
+ def address_position(self) -> builtins.str:
2771
+ return typing.cast(builtins.str, jsii.get(self, "addressPosition"))
2772
+
2773
+ @address_position.setter
2774
+ def address_position(self, value: builtins.str) -> None:
2775
+ if __debug__:
2776
+ type_hints = typing.get_type_hints(_typecheckingstub__e9594909c5df17e870cfac7d21659b828b0ba741b08d1e83df1ec3cd1122f262)
2777
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2778
+ jsii.set(self, "addressPosition", value) # pyright: ignore[reportArgumentType]
2779
+
2780
+ @builtins.property
2781
+ @jsii.member(jsii_name="storage")
2782
+ def storage(self) -> builtins.str:
2783
+ return typing.cast(builtins.str, jsii.get(self, "storage"))
2784
+
2785
+ @storage.setter
2786
+ def storage(self, value: builtins.str) -> None:
2787
+ if __debug__:
2788
+ type_hints = typing.get_type_hints(_typecheckingstub__9014362108e66a3d08ae0f2e9738528cfc887bea97394f5c9b3dbc053ab6d4e5)
2789
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2790
+ jsii.set(self, "storage", value) # pyright: ignore[reportArgumentType]
2791
+
2792
+ @builtins.property
2793
+ @jsii.member(jsii_name="type")
2794
+ def type(self) -> builtins.str:
2795
+ return typing.cast(builtins.str, jsii.get(self, "type"))
2796
+
2797
+ @type.setter
2798
+ def type(self, value: builtins.str) -> None:
2799
+ if __debug__:
2800
+ type_hints = typing.get_type_hints(_typecheckingstub__427c05296edc8e6c494743347b21ce68fe3ff0196dbcfb139503e9399ed4639b)
2801
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2802
+ jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
2803
+
2804
+ @builtins.property
2805
+ @jsii.member(jsii_name="internalValue")
2806
+ def internal_value(
2807
+ self,
2808
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerStorageDevices]]:
2809
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerStorageDevices]], jsii.get(self, "internalValue"))
2810
+
2811
+ @internal_value.setter
2812
+ def internal_value(
2813
+ self,
2814
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerStorageDevices]],
2815
+ ) -> None:
2816
+ if __debug__:
2817
+ type_hints = typing.get_type_hints(_typecheckingstub__963c88004521ac2a561739e84d699c5d8a33bbce0a64a04986268a9aeb455593)
2818
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2819
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2820
+
2821
+
2822
+ @jsii.data_type(
2823
+ jsii_type="@cdktf/provider-upcloud.server.ServerTemplate",
2824
+ jsii_struct_bases=[],
2825
+ name_mapping={
2826
+ "address": "address",
2827
+ "address_position": "addressPosition",
2828
+ "backup_rule": "backupRule",
2829
+ "delete_autoresize_backup": "deleteAutoresizeBackup",
2830
+ "encrypt": "encrypt",
2831
+ "filesystem_autoresize": "filesystemAutoresize",
2832
+ "size": "size",
2833
+ "storage": "storage",
2834
+ "tier": "tier",
2835
+ "title": "title",
2836
+ },
2837
+ )
2838
+ class ServerTemplate:
2839
+ def __init__(
2840
+ self,
2841
+ *,
2842
+ address: typing.Optional[builtins.str] = None,
2843
+ address_position: typing.Optional[builtins.str] = None,
2844
+ backup_rule: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ServerTemplateBackupRule", typing.Dict[builtins.str, typing.Any]]]]] = None,
2845
+ delete_autoresize_backup: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2846
+ encrypt: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2847
+ filesystem_autoresize: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2848
+ size: typing.Optional[jsii.Number] = None,
2849
+ storage: typing.Optional[builtins.str] = None,
2850
+ tier: typing.Optional[builtins.str] = None,
2851
+ title: typing.Optional[builtins.str] = None,
2852
+ ) -> None:
2853
+ '''
2854
+ :param address: The device address the storage will be attached to (``scsi``|``virtio``|``ide``). Leave ``address_position`` field empty to auto-select next available address from that bus. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address Server#address}
2855
+ :param address_position: The device position in the given bus (defined via field ``address``). For example ``0:0``, or ``0``. Leave empty to auto-select next available address in the given bus. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address_position Server#address_position}
2856
+ :param backup_rule: backup_rule block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#backup_rule Server#backup_rule}
2857
+ :param delete_autoresize_backup: If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#delete_autoresize_backup Server#delete_autoresize_backup}
2858
+ :param encrypt: Sets if the storage is encrypted at rest. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#encrypt Server#encrypt}
2859
+ :param filesystem_autoresize: If set to true, provider will attempt to resize partition and filesystem when the size of template storage changes. Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless delete_autoresize_backup option is set to true). Taking and keeping backups incure costs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#filesystem_autoresize Server#filesystem_autoresize}
2860
+ :param size: The size of the storage in gigabytes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#size Server#size}
2861
+ :param storage: A valid storage UUID or template name. You can list available public templates with ``upctl storage list --public --template`` and available private templates with ``upctl storage list --template``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#storage Server#storage}
2862
+ :param tier: The storage tier to use. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#tier Server#tier}
2863
+ :param title: A short, informative description. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#title Server#title}
2864
+ '''
2865
+ if __debug__:
2866
+ type_hints = typing.get_type_hints(_typecheckingstub__2a85c384316c005f9127a81fcbc356ef71508b188a9b9433bf88b08a22e08cad)
2867
+ check_type(argname="argument address", value=address, expected_type=type_hints["address"])
2868
+ check_type(argname="argument address_position", value=address_position, expected_type=type_hints["address_position"])
2869
+ check_type(argname="argument backup_rule", value=backup_rule, expected_type=type_hints["backup_rule"])
2870
+ check_type(argname="argument delete_autoresize_backup", value=delete_autoresize_backup, expected_type=type_hints["delete_autoresize_backup"])
2871
+ check_type(argname="argument encrypt", value=encrypt, expected_type=type_hints["encrypt"])
2872
+ check_type(argname="argument filesystem_autoresize", value=filesystem_autoresize, expected_type=type_hints["filesystem_autoresize"])
2873
+ check_type(argname="argument size", value=size, expected_type=type_hints["size"])
2874
+ check_type(argname="argument storage", value=storage, expected_type=type_hints["storage"])
2875
+ check_type(argname="argument tier", value=tier, expected_type=type_hints["tier"])
2876
+ check_type(argname="argument title", value=title, expected_type=type_hints["title"])
2877
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2878
+ if address is not None:
2879
+ self._values["address"] = address
2880
+ if address_position is not None:
2881
+ self._values["address_position"] = address_position
2882
+ if backup_rule is not None:
2883
+ self._values["backup_rule"] = backup_rule
2884
+ if delete_autoresize_backup is not None:
2885
+ self._values["delete_autoresize_backup"] = delete_autoresize_backup
2886
+ if encrypt is not None:
2887
+ self._values["encrypt"] = encrypt
2888
+ if filesystem_autoresize is not None:
2889
+ self._values["filesystem_autoresize"] = filesystem_autoresize
2890
+ if size is not None:
2891
+ self._values["size"] = size
2892
+ if storage is not None:
2893
+ self._values["storage"] = storage
2894
+ if tier is not None:
2895
+ self._values["tier"] = tier
2896
+ if title is not None:
2897
+ self._values["title"] = title
2898
+
2899
+ @builtins.property
2900
+ def address(self) -> typing.Optional[builtins.str]:
2901
+ '''The device address the storage will be attached to (``scsi``|``virtio``|``ide``).
2902
+
2903
+ Leave ``address_position`` field empty to auto-select next available address from that bus.
2904
+
2905
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address Server#address}
2906
+ '''
2907
+ result = self._values.get("address")
2908
+ return typing.cast(typing.Optional[builtins.str], result)
2909
+
2910
+ @builtins.property
2911
+ def address_position(self) -> typing.Optional[builtins.str]:
2912
+ '''The device position in the given bus (defined via field ``address``).
2913
+
2914
+ For example ``0:0``, or ``0``. Leave empty to auto-select next available address in the given bus.
2915
+
2916
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#address_position Server#address_position}
2917
+ '''
2918
+ result = self._values.get("address_position")
2919
+ return typing.cast(typing.Optional[builtins.str], result)
2920
+
2921
+ @builtins.property
2922
+ def backup_rule(
2923
+ self,
2924
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerTemplateBackupRule"]]]:
2925
+ '''backup_rule block.
2926
+
2927
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#backup_rule Server#backup_rule}
2928
+ '''
2929
+ result = self._values.get("backup_rule")
2930
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ServerTemplateBackupRule"]]], result)
2931
+
2932
+ @builtins.property
2933
+ def delete_autoresize_backup(
2934
+ self,
2935
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2936
+ '''If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success.
2937
+
2938
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#delete_autoresize_backup Server#delete_autoresize_backup}
2939
+ '''
2940
+ result = self._values.get("delete_autoresize_backup")
2941
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
2942
+
2943
+ @builtins.property
2944
+ def encrypt(
2945
+ self,
2946
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2947
+ '''Sets if the storage is encrypted at rest.
2948
+
2949
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#encrypt Server#encrypt}
2950
+ '''
2951
+ result = self._values.get("encrypt")
2952
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
2953
+
2954
+ @builtins.property
2955
+ def filesystem_autoresize(
2956
+ self,
2957
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2958
+ '''If set to true, provider will attempt to resize partition and filesystem when the size of template storage changes.
2959
+
2960
+ Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used
2961
+ to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless delete_autoresize_backup option is set to true).
2962
+ Taking and keeping backups incure costs.
2963
+
2964
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#filesystem_autoresize Server#filesystem_autoresize}
2965
+ '''
2966
+ result = self._values.get("filesystem_autoresize")
2967
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
2968
+
2969
+ @builtins.property
2970
+ def size(self) -> typing.Optional[jsii.Number]:
2971
+ '''The size of the storage in gigabytes.
2972
+
2973
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#size Server#size}
2974
+ '''
2975
+ result = self._values.get("size")
2976
+ return typing.cast(typing.Optional[jsii.Number], result)
2977
+
2978
+ @builtins.property
2979
+ def storage(self) -> typing.Optional[builtins.str]:
2980
+ '''A valid storage UUID or template name.
2981
+
2982
+ You can list available public templates with ``upctl storage list --public --template`` and available private templates with ``upctl storage list --template``.
2983
+
2984
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#storage Server#storage}
2985
+ '''
2986
+ result = self._values.get("storage")
2987
+ return typing.cast(typing.Optional[builtins.str], result)
2988
+
2989
+ @builtins.property
2990
+ def tier(self) -> typing.Optional[builtins.str]:
2991
+ '''The storage tier to use.
2992
+
2993
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#tier Server#tier}
2994
+ '''
2995
+ result = self._values.get("tier")
2996
+ return typing.cast(typing.Optional[builtins.str], result)
2997
+
2998
+ @builtins.property
2999
+ def title(self) -> typing.Optional[builtins.str]:
3000
+ '''A short, informative description.
3001
+
3002
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#title Server#title}
3003
+ '''
3004
+ result = self._values.get("title")
3005
+ return typing.cast(typing.Optional[builtins.str], result)
3006
+
3007
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3008
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3009
+
3010
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3011
+ return not (rhs == self)
3012
+
3013
+ def __repr__(self) -> str:
3014
+ return "ServerTemplate(%s)" % ", ".join(
3015
+ k + "=" + repr(v) for k, v in self._values.items()
3016
+ )
3017
+
3018
+
3019
+ @jsii.data_type(
3020
+ jsii_type="@cdktf/provider-upcloud.server.ServerTemplateBackupRule",
3021
+ jsii_struct_bases=[],
3022
+ name_mapping={"interval": "interval", "retention": "retention", "time": "time"},
3023
+ )
3024
+ class ServerTemplateBackupRule:
3025
+ def __init__(
3026
+ self,
3027
+ *,
3028
+ interval: builtins.str,
3029
+ retention: jsii.Number,
3030
+ time: builtins.str,
3031
+ ) -> None:
3032
+ '''
3033
+ :param interval: The weekday when the backup is created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#interval Server#interval}
3034
+ :param retention: The number of days before a backup is automatically deleted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#retention Server#retention}
3035
+ :param time: The time of day (UTC) when the backup is created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#time Server#time}
3036
+ '''
3037
+ if __debug__:
3038
+ type_hints = typing.get_type_hints(_typecheckingstub__0da849dc75d0030fd1866a13a6da5cd60acc32df054d4b38c21875c14c699895)
3039
+ check_type(argname="argument interval", value=interval, expected_type=type_hints["interval"])
3040
+ check_type(argname="argument retention", value=retention, expected_type=type_hints["retention"])
3041
+ check_type(argname="argument time", value=time, expected_type=type_hints["time"])
3042
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3043
+ "interval": interval,
3044
+ "retention": retention,
3045
+ "time": time,
3046
+ }
3047
+
3048
+ @builtins.property
3049
+ def interval(self) -> builtins.str:
3050
+ '''The weekday when the backup is created.
3051
+
3052
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#interval Server#interval}
3053
+ '''
3054
+ result = self._values.get("interval")
3055
+ assert result is not None, "Required property 'interval' is missing"
3056
+ return typing.cast(builtins.str, result)
3057
+
3058
+ @builtins.property
3059
+ def retention(self) -> jsii.Number:
3060
+ '''The number of days before a backup is automatically deleted.
3061
+
3062
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#retention Server#retention}
3063
+ '''
3064
+ result = self._values.get("retention")
3065
+ assert result is not None, "Required property 'retention' is missing"
3066
+ return typing.cast(jsii.Number, result)
3067
+
3068
+ @builtins.property
3069
+ def time(self) -> builtins.str:
3070
+ '''The time of day (UTC) when the backup is created.
3071
+
3072
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/server#time Server#time}
3073
+ '''
3074
+ result = self._values.get("time")
3075
+ assert result is not None, "Required property 'time' is missing"
3076
+ return typing.cast(builtins.str, result)
3077
+
3078
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3079
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3080
+
3081
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3082
+ return not (rhs == self)
3083
+
3084
+ def __repr__(self) -> str:
3085
+ return "ServerTemplateBackupRule(%s)" % ", ".join(
3086
+ k + "=" + repr(v) for k, v in self._values.items()
3087
+ )
3088
+
3089
+
3090
+ class ServerTemplateBackupRuleList(
3091
+ _cdktf_9a9027ec.ComplexList,
3092
+ metaclass=jsii.JSIIMeta,
3093
+ jsii_type="@cdktf/provider-upcloud.server.ServerTemplateBackupRuleList",
3094
+ ):
3095
+ def __init__(
3096
+ self,
3097
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3098
+ terraform_attribute: builtins.str,
3099
+ wraps_set: builtins.bool,
3100
+ ) -> None:
3101
+ '''
3102
+ :param terraform_resource: The parent resource.
3103
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
3104
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
3105
+ '''
3106
+ if __debug__:
3107
+ type_hints = typing.get_type_hints(_typecheckingstub__188550760ed568ed6581febedc871d4f68c536a0ef956d28240ed9bda458adf5)
3108
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
3109
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
3110
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
3111
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
3112
+
3113
+ @jsii.member(jsii_name="get")
3114
+ def get(self, index: jsii.Number) -> "ServerTemplateBackupRuleOutputReference":
3115
+ '''
3116
+ :param index: the index of the item to return.
3117
+ '''
3118
+ if __debug__:
3119
+ type_hints = typing.get_type_hints(_typecheckingstub__4cae08414d6ad18bf638d6afb49fc2b40fd3c15819052470c3bcf3963c2d2581)
3120
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
3121
+ return typing.cast("ServerTemplateBackupRuleOutputReference", jsii.invoke(self, "get", [index]))
3122
+
3123
+ @builtins.property
3124
+ @jsii.member(jsii_name="terraformAttribute")
3125
+ def _terraform_attribute(self) -> builtins.str:
3126
+ '''The attribute on the parent resource this class is referencing.'''
3127
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
3128
+
3129
+ @_terraform_attribute.setter
3130
+ def _terraform_attribute(self, value: builtins.str) -> None:
3131
+ if __debug__:
3132
+ type_hints = typing.get_type_hints(_typecheckingstub__8712aabf4c6c876b1bd5cc8dfc44ae5e5381459120c477489bea27b5fd254cb6)
3133
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3134
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
3135
+
3136
+ @builtins.property
3137
+ @jsii.member(jsii_name="terraformResource")
3138
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
3139
+ '''The parent resource.'''
3140
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
3141
+
3142
+ @_terraform_resource.setter
3143
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
3144
+ if __debug__:
3145
+ type_hints = typing.get_type_hints(_typecheckingstub__e3480c301bba6d4069388fbc33f3a3999c09b4323f2b7f61ac8041430042f58b)
3146
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3147
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
3148
+
3149
+ @builtins.property
3150
+ @jsii.member(jsii_name="wrapsSet")
3151
+ def _wraps_set(self) -> builtins.bool:
3152
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
3153
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
3154
+
3155
+ @_wraps_set.setter
3156
+ def _wraps_set(self, value: builtins.bool) -> None:
3157
+ if __debug__:
3158
+ type_hints = typing.get_type_hints(_typecheckingstub__4f05d9321f6f3ed2cecfeadeb0e457ca65dbf7f22081d204c4892ddf9b06b90c)
3159
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3160
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
3161
+
3162
+ @builtins.property
3163
+ @jsii.member(jsii_name="internalValue")
3164
+ def internal_value(
3165
+ self,
3166
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplateBackupRule]]]:
3167
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplateBackupRule]]], jsii.get(self, "internalValue"))
3168
+
3169
+ @internal_value.setter
3170
+ def internal_value(
3171
+ self,
3172
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplateBackupRule]]],
3173
+ ) -> None:
3174
+ if __debug__:
3175
+ type_hints = typing.get_type_hints(_typecheckingstub__4fa1dc014c8c00cf951ae6beb492e38cf32c74b273e59788ba20cfe1640394af)
3176
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3177
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
3178
+
3179
+
3180
+ class ServerTemplateBackupRuleOutputReference(
3181
+ _cdktf_9a9027ec.ComplexObject,
3182
+ metaclass=jsii.JSIIMeta,
3183
+ jsii_type="@cdktf/provider-upcloud.server.ServerTemplateBackupRuleOutputReference",
3184
+ ):
3185
+ def __init__(
3186
+ self,
3187
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3188
+ terraform_attribute: builtins.str,
3189
+ complex_object_index: jsii.Number,
3190
+ complex_object_is_from_set: builtins.bool,
3191
+ ) -> None:
3192
+ '''
3193
+ :param terraform_resource: The parent resource.
3194
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
3195
+ :param complex_object_index: the index of this item in the list.
3196
+ :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).
3197
+ '''
3198
+ if __debug__:
3199
+ type_hints = typing.get_type_hints(_typecheckingstub__8f25fb81968507d7e0b08a8dae5389ce95f026c45c28659add975e29c3404498)
3200
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
3201
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
3202
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
3203
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
3204
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
3205
+
3206
+ @builtins.property
3207
+ @jsii.member(jsii_name="intervalInput")
3208
+ def interval_input(self) -> typing.Optional[builtins.str]:
3209
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "intervalInput"))
3210
+
3211
+ @builtins.property
3212
+ @jsii.member(jsii_name="retentionInput")
3213
+ def retention_input(self) -> typing.Optional[jsii.Number]:
3214
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "retentionInput"))
3215
+
3216
+ @builtins.property
3217
+ @jsii.member(jsii_name="timeInput")
3218
+ def time_input(self) -> typing.Optional[builtins.str]:
3219
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "timeInput"))
3220
+
3221
+ @builtins.property
3222
+ @jsii.member(jsii_name="interval")
3223
+ def interval(self) -> builtins.str:
3224
+ return typing.cast(builtins.str, jsii.get(self, "interval"))
3225
+
3226
+ @interval.setter
3227
+ def interval(self, value: builtins.str) -> None:
3228
+ if __debug__:
3229
+ type_hints = typing.get_type_hints(_typecheckingstub__e8cd2c8f9ea443c20df23e85c3d00b8531501ef9634bd80450d111108f50be9d)
3230
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3231
+ jsii.set(self, "interval", value) # pyright: ignore[reportArgumentType]
3232
+
3233
+ @builtins.property
3234
+ @jsii.member(jsii_name="retention")
3235
+ def retention(self) -> jsii.Number:
3236
+ return typing.cast(jsii.Number, jsii.get(self, "retention"))
3237
+
3238
+ @retention.setter
3239
+ def retention(self, value: jsii.Number) -> None:
3240
+ if __debug__:
3241
+ type_hints = typing.get_type_hints(_typecheckingstub__8a0b6af220df68085dcd97fccc4054a701b00b30a71638fbb4622b6b58f40373)
3242
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3243
+ jsii.set(self, "retention", value) # pyright: ignore[reportArgumentType]
3244
+
3245
+ @builtins.property
3246
+ @jsii.member(jsii_name="time")
3247
+ def time(self) -> builtins.str:
3248
+ return typing.cast(builtins.str, jsii.get(self, "time"))
3249
+
3250
+ @time.setter
3251
+ def time(self, value: builtins.str) -> None:
3252
+ if __debug__:
3253
+ type_hints = typing.get_type_hints(_typecheckingstub__42394eda9846bee43e13e31d1369893420594a1dbd33748f0f779d28b0dcb636)
3254
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3255
+ jsii.set(self, "time", value) # pyright: ignore[reportArgumentType]
3256
+
3257
+ @builtins.property
3258
+ @jsii.member(jsii_name="internalValue")
3259
+ def internal_value(
3260
+ self,
3261
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplateBackupRule]]:
3262
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplateBackupRule]], jsii.get(self, "internalValue"))
3263
+
3264
+ @internal_value.setter
3265
+ def internal_value(
3266
+ self,
3267
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplateBackupRule]],
3268
+ ) -> None:
3269
+ if __debug__:
3270
+ type_hints = typing.get_type_hints(_typecheckingstub__68c5ccec377ad7d0ea9393f2fef6f5c45854a0e7848329cc404b17ecd5b941f9)
3271
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3272
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
3273
+
3274
+
3275
+ class ServerTemplateList(
3276
+ _cdktf_9a9027ec.ComplexList,
3277
+ metaclass=jsii.JSIIMeta,
3278
+ jsii_type="@cdktf/provider-upcloud.server.ServerTemplateList",
3279
+ ):
3280
+ def __init__(
3281
+ self,
3282
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3283
+ terraform_attribute: builtins.str,
3284
+ wraps_set: builtins.bool,
3285
+ ) -> None:
3286
+ '''
3287
+ :param terraform_resource: The parent resource.
3288
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
3289
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
3290
+ '''
3291
+ if __debug__:
3292
+ type_hints = typing.get_type_hints(_typecheckingstub__417531aeef2efb16462b20737a95db9cf042fa662b8fcaab769ff0b9d1b8e25c)
3293
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
3294
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
3295
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
3296
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
3297
+
3298
+ @jsii.member(jsii_name="get")
3299
+ def get(self, index: jsii.Number) -> "ServerTemplateOutputReference":
3300
+ '''
3301
+ :param index: the index of the item to return.
3302
+ '''
3303
+ if __debug__:
3304
+ type_hints = typing.get_type_hints(_typecheckingstub__be7be5804c6a532923fd092f0105ff836482807352e9ef15bdfea4809505500c)
3305
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
3306
+ return typing.cast("ServerTemplateOutputReference", jsii.invoke(self, "get", [index]))
3307
+
3308
+ @builtins.property
3309
+ @jsii.member(jsii_name="terraformAttribute")
3310
+ def _terraform_attribute(self) -> builtins.str:
3311
+ '''The attribute on the parent resource this class is referencing.'''
3312
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
3313
+
3314
+ @_terraform_attribute.setter
3315
+ def _terraform_attribute(self, value: builtins.str) -> None:
3316
+ if __debug__:
3317
+ type_hints = typing.get_type_hints(_typecheckingstub__2600ed34b9a4305987d9b76ebc785d4e17796b3e6537dea345e153dbbc18670e)
3318
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3319
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
3320
+
3321
+ @builtins.property
3322
+ @jsii.member(jsii_name="terraformResource")
3323
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
3324
+ '''The parent resource.'''
3325
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
3326
+
3327
+ @_terraform_resource.setter
3328
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
3329
+ if __debug__:
3330
+ type_hints = typing.get_type_hints(_typecheckingstub__daa1e25262a44ca2ec305ebd7cb9f554dfd57e76e7c67078c6d0556bdc5b73b8)
3331
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3332
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
3333
+
3334
+ @builtins.property
3335
+ @jsii.member(jsii_name="wrapsSet")
3336
+ def _wraps_set(self) -> builtins.bool:
3337
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
3338
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
3339
+
3340
+ @_wraps_set.setter
3341
+ def _wraps_set(self, value: builtins.bool) -> None:
3342
+ if __debug__:
3343
+ type_hints = typing.get_type_hints(_typecheckingstub__32caa1859dfb31f793d3ea44c65797e580c134f31f7d4fdc81805112038a081a)
3344
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3345
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
3346
+
3347
+ @builtins.property
3348
+ @jsii.member(jsii_name="internalValue")
3349
+ def internal_value(
3350
+ self,
3351
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplate]]]:
3352
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplate]]], jsii.get(self, "internalValue"))
3353
+
3354
+ @internal_value.setter
3355
+ def internal_value(
3356
+ self,
3357
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplate]]],
3358
+ ) -> None:
3359
+ if __debug__:
3360
+ type_hints = typing.get_type_hints(_typecheckingstub__55370e3d07092c716ffd4a14cfd85c84f24c38da0da15bac2a9dec92ace6bd3c)
3361
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3362
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
3363
+
3364
+
3365
+ class ServerTemplateOutputReference(
3366
+ _cdktf_9a9027ec.ComplexObject,
3367
+ metaclass=jsii.JSIIMeta,
3368
+ jsii_type="@cdktf/provider-upcloud.server.ServerTemplateOutputReference",
3369
+ ):
3370
+ def __init__(
3371
+ self,
3372
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3373
+ terraform_attribute: builtins.str,
3374
+ complex_object_index: jsii.Number,
3375
+ complex_object_is_from_set: builtins.bool,
3376
+ ) -> None:
3377
+ '''
3378
+ :param terraform_resource: The parent resource.
3379
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
3380
+ :param complex_object_index: the index of this item in the list.
3381
+ :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).
3382
+ '''
3383
+ if __debug__:
3384
+ type_hints = typing.get_type_hints(_typecheckingstub__3c497b3f58769bfb15770786b38a0d3cab824f167e30d427dd79147063221ef9)
3385
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
3386
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
3387
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
3388
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
3389
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
3390
+
3391
+ @jsii.member(jsii_name="putBackupRule")
3392
+ def put_backup_rule(
3393
+ self,
3394
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerTemplateBackupRule, typing.Dict[builtins.str, typing.Any]]]],
3395
+ ) -> None:
3396
+ '''
3397
+ :param value: -
3398
+ '''
3399
+ if __debug__:
3400
+ type_hints = typing.get_type_hints(_typecheckingstub__9697a227422e7b8f90588127fa3e2f505574b7f312f1cf50ff023104102a0644)
3401
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3402
+ return typing.cast(None, jsii.invoke(self, "putBackupRule", [value]))
3403
+
3404
+ @jsii.member(jsii_name="resetAddress")
3405
+ def reset_address(self) -> None:
3406
+ return typing.cast(None, jsii.invoke(self, "resetAddress", []))
3407
+
3408
+ @jsii.member(jsii_name="resetAddressPosition")
3409
+ def reset_address_position(self) -> None:
3410
+ return typing.cast(None, jsii.invoke(self, "resetAddressPosition", []))
3411
+
3412
+ @jsii.member(jsii_name="resetBackupRule")
3413
+ def reset_backup_rule(self) -> None:
3414
+ return typing.cast(None, jsii.invoke(self, "resetBackupRule", []))
3415
+
3416
+ @jsii.member(jsii_name="resetDeleteAutoresizeBackup")
3417
+ def reset_delete_autoresize_backup(self) -> None:
3418
+ return typing.cast(None, jsii.invoke(self, "resetDeleteAutoresizeBackup", []))
3419
+
3420
+ @jsii.member(jsii_name="resetEncrypt")
3421
+ def reset_encrypt(self) -> None:
3422
+ return typing.cast(None, jsii.invoke(self, "resetEncrypt", []))
3423
+
3424
+ @jsii.member(jsii_name="resetFilesystemAutoresize")
3425
+ def reset_filesystem_autoresize(self) -> None:
3426
+ return typing.cast(None, jsii.invoke(self, "resetFilesystemAutoresize", []))
3427
+
3428
+ @jsii.member(jsii_name="resetSize")
3429
+ def reset_size(self) -> None:
3430
+ return typing.cast(None, jsii.invoke(self, "resetSize", []))
3431
+
3432
+ @jsii.member(jsii_name="resetStorage")
3433
+ def reset_storage(self) -> None:
3434
+ return typing.cast(None, jsii.invoke(self, "resetStorage", []))
3435
+
3436
+ @jsii.member(jsii_name="resetTier")
3437
+ def reset_tier(self) -> None:
3438
+ return typing.cast(None, jsii.invoke(self, "resetTier", []))
3439
+
3440
+ @jsii.member(jsii_name="resetTitle")
3441
+ def reset_title(self) -> None:
3442
+ return typing.cast(None, jsii.invoke(self, "resetTitle", []))
3443
+
3444
+ @builtins.property
3445
+ @jsii.member(jsii_name="backupRule")
3446
+ def backup_rule(self) -> ServerTemplateBackupRuleList:
3447
+ return typing.cast(ServerTemplateBackupRuleList, jsii.get(self, "backupRule"))
3448
+
3449
+ @builtins.property
3450
+ @jsii.member(jsii_name="id")
3451
+ def id(self) -> builtins.str:
3452
+ return typing.cast(builtins.str, jsii.get(self, "id"))
3453
+
3454
+ @builtins.property
3455
+ @jsii.member(jsii_name="addressInput")
3456
+ def address_input(self) -> typing.Optional[builtins.str]:
3457
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "addressInput"))
3458
+
3459
+ @builtins.property
3460
+ @jsii.member(jsii_name="addressPositionInput")
3461
+ def address_position_input(self) -> typing.Optional[builtins.str]:
3462
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "addressPositionInput"))
3463
+
3464
+ @builtins.property
3465
+ @jsii.member(jsii_name="backupRuleInput")
3466
+ def backup_rule_input(
3467
+ self,
3468
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplateBackupRule]]]:
3469
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplateBackupRule]]], jsii.get(self, "backupRuleInput"))
3470
+
3471
+ @builtins.property
3472
+ @jsii.member(jsii_name="deleteAutoresizeBackupInput")
3473
+ def delete_autoresize_backup_input(
3474
+ self,
3475
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
3476
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "deleteAutoresizeBackupInput"))
3477
+
3478
+ @builtins.property
3479
+ @jsii.member(jsii_name="encryptInput")
3480
+ def encrypt_input(
3481
+ self,
3482
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
3483
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "encryptInput"))
3484
+
3485
+ @builtins.property
3486
+ @jsii.member(jsii_name="filesystemAutoresizeInput")
3487
+ def filesystem_autoresize_input(
3488
+ self,
3489
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
3490
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "filesystemAutoresizeInput"))
3491
+
3492
+ @builtins.property
3493
+ @jsii.member(jsii_name="sizeInput")
3494
+ def size_input(self) -> typing.Optional[jsii.Number]:
3495
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "sizeInput"))
3496
+
3497
+ @builtins.property
3498
+ @jsii.member(jsii_name="storageInput")
3499
+ def storage_input(self) -> typing.Optional[builtins.str]:
3500
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "storageInput"))
3501
+
3502
+ @builtins.property
3503
+ @jsii.member(jsii_name="tierInput")
3504
+ def tier_input(self) -> typing.Optional[builtins.str]:
3505
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "tierInput"))
3506
+
3507
+ @builtins.property
3508
+ @jsii.member(jsii_name="titleInput")
3509
+ def title_input(self) -> typing.Optional[builtins.str]:
3510
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "titleInput"))
3511
+
3512
+ @builtins.property
3513
+ @jsii.member(jsii_name="address")
3514
+ def address(self) -> builtins.str:
3515
+ return typing.cast(builtins.str, jsii.get(self, "address"))
3516
+
3517
+ @address.setter
3518
+ def address(self, value: builtins.str) -> None:
3519
+ if __debug__:
3520
+ type_hints = typing.get_type_hints(_typecheckingstub__8ec88e6f0117f5a01bf0be4edaac88182f98191d5898e18968a024f2c7eca1a0)
3521
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3522
+ jsii.set(self, "address", value) # pyright: ignore[reportArgumentType]
3523
+
3524
+ @builtins.property
3525
+ @jsii.member(jsii_name="addressPosition")
3526
+ def address_position(self) -> builtins.str:
3527
+ return typing.cast(builtins.str, jsii.get(self, "addressPosition"))
3528
+
3529
+ @address_position.setter
3530
+ def address_position(self, value: builtins.str) -> None:
3531
+ if __debug__:
3532
+ type_hints = typing.get_type_hints(_typecheckingstub__d7f194b15a6e592fba7d22facc1980c421e81ee6e2c1c3fff097e573cbe6b7be)
3533
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3534
+ jsii.set(self, "addressPosition", value) # pyright: ignore[reportArgumentType]
3535
+
3536
+ @builtins.property
3537
+ @jsii.member(jsii_name="deleteAutoresizeBackup")
3538
+ def delete_autoresize_backup(
3539
+ self,
3540
+ ) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
3541
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "deleteAutoresizeBackup"))
3542
+
3543
+ @delete_autoresize_backup.setter
3544
+ def delete_autoresize_backup(
3545
+ self,
3546
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3547
+ ) -> None:
3548
+ if __debug__:
3549
+ type_hints = typing.get_type_hints(_typecheckingstub__c856e0710f9cda94f9f1271c085ee9d4a1499307057c893c123eafc72fc313e7)
3550
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3551
+ jsii.set(self, "deleteAutoresizeBackup", value) # pyright: ignore[reportArgumentType]
3552
+
3553
+ @builtins.property
3554
+ @jsii.member(jsii_name="encrypt")
3555
+ def encrypt(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
3556
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "encrypt"))
3557
+
3558
+ @encrypt.setter
3559
+ def encrypt(
3560
+ self,
3561
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3562
+ ) -> None:
3563
+ if __debug__:
3564
+ type_hints = typing.get_type_hints(_typecheckingstub__c227bc52b67e619c9e3e9ea6946b8fa1ed64ed6384a330f6f6e7587987cbaec9)
3565
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3566
+ jsii.set(self, "encrypt", value) # pyright: ignore[reportArgumentType]
3567
+
3568
+ @builtins.property
3569
+ @jsii.member(jsii_name="filesystemAutoresize")
3570
+ def filesystem_autoresize(
3571
+ self,
3572
+ ) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
3573
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "filesystemAutoresize"))
3574
+
3575
+ @filesystem_autoresize.setter
3576
+ def filesystem_autoresize(
3577
+ self,
3578
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3579
+ ) -> None:
3580
+ if __debug__:
3581
+ type_hints = typing.get_type_hints(_typecheckingstub__15a41032ac46233b165e6594cff61432ce1029e197ad6bac634749812056291b)
3582
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3583
+ jsii.set(self, "filesystemAutoresize", value) # pyright: ignore[reportArgumentType]
3584
+
3585
+ @builtins.property
3586
+ @jsii.member(jsii_name="size")
3587
+ def size(self) -> jsii.Number:
3588
+ return typing.cast(jsii.Number, jsii.get(self, "size"))
3589
+
3590
+ @size.setter
3591
+ def size(self, value: jsii.Number) -> None:
3592
+ if __debug__:
3593
+ type_hints = typing.get_type_hints(_typecheckingstub__bdfb49737c8824193509f7b4f8be69cc4f8f53b26b54e65c015fca12ea711265)
3594
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3595
+ jsii.set(self, "size", value) # pyright: ignore[reportArgumentType]
3596
+
3597
+ @builtins.property
3598
+ @jsii.member(jsii_name="storage")
3599
+ def storage(self) -> builtins.str:
3600
+ return typing.cast(builtins.str, jsii.get(self, "storage"))
3601
+
3602
+ @storage.setter
3603
+ def storage(self, value: builtins.str) -> None:
3604
+ if __debug__:
3605
+ type_hints = typing.get_type_hints(_typecheckingstub__0f908c7d0cd75d51f9555bfd6ab8e64de276cac6a09657d4f952345bcf403779)
3606
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3607
+ jsii.set(self, "storage", value) # pyright: ignore[reportArgumentType]
3608
+
3609
+ @builtins.property
3610
+ @jsii.member(jsii_name="tier")
3611
+ def tier(self) -> builtins.str:
3612
+ return typing.cast(builtins.str, jsii.get(self, "tier"))
3613
+
3614
+ @tier.setter
3615
+ def tier(self, value: builtins.str) -> None:
3616
+ if __debug__:
3617
+ type_hints = typing.get_type_hints(_typecheckingstub__1abf053442c468a52b84325f2d8c37de69edd47be641ca350e5f89c8292757ee)
3618
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3619
+ jsii.set(self, "tier", value) # pyright: ignore[reportArgumentType]
3620
+
3621
+ @builtins.property
3622
+ @jsii.member(jsii_name="title")
3623
+ def title(self) -> builtins.str:
3624
+ return typing.cast(builtins.str, jsii.get(self, "title"))
3625
+
3626
+ @title.setter
3627
+ def title(self, value: builtins.str) -> None:
3628
+ if __debug__:
3629
+ type_hints = typing.get_type_hints(_typecheckingstub__64f0d7019cf74d0117aacc7a12f88f6a61c491221ba27a95745ec4a01a80eec4)
3630
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3631
+ jsii.set(self, "title", value) # pyright: ignore[reportArgumentType]
3632
+
3633
+ @builtins.property
3634
+ @jsii.member(jsii_name="internalValue")
3635
+ def internal_value(
3636
+ self,
3637
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplate]]:
3638
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplate]], jsii.get(self, "internalValue"))
3639
+
3640
+ @internal_value.setter
3641
+ def internal_value(
3642
+ self,
3643
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplate]],
3644
+ ) -> None:
3645
+ if __debug__:
3646
+ type_hints = typing.get_type_hints(_typecheckingstub__cd8f4ccfba9e26748588ee2d5a223525d90da38d9c2cb1de9bf069079f9853f4)
3647
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3648
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
3649
+
3650
+
3651
+ __all__ = [
3652
+ "Server",
3653
+ "ServerConfig",
3654
+ "ServerLogin",
3655
+ "ServerLoginList",
3656
+ "ServerLoginOutputReference",
3657
+ "ServerNetworkInterface",
3658
+ "ServerNetworkInterfaceAdditionalIpAddress",
3659
+ "ServerNetworkInterfaceAdditionalIpAddressList",
3660
+ "ServerNetworkInterfaceAdditionalIpAddressOutputReference",
3661
+ "ServerNetworkInterfaceList",
3662
+ "ServerNetworkInterfaceOutputReference",
3663
+ "ServerSimpleBackup",
3664
+ "ServerSimpleBackupList",
3665
+ "ServerSimpleBackupOutputReference",
3666
+ "ServerStorageDevices",
3667
+ "ServerStorageDevicesList",
3668
+ "ServerStorageDevicesOutputReference",
3669
+ "ServerTemplate",
3670
+ "ServerTemplateBackupRule",
3671
+ "ServerTemplateBackupRuleList",
3672
+ "ServerTemplateBackupRuleOutputReference",
3673
+ "ServerTemplateList",
3674
+ "ServerTemplateOutputReference",
3675
+ ]
3676
+
3677
+ publication.publish()
3678
+
3679
+ def _typecheckingstub__6b83690e478f8730a1b183dfb2bf71b179dc55ba8028fd8cc73841eff54172a9(
3680
+ scope: _constructs_77d1e7e8.Construct,
3681
+ id: builtins.str,
3682
+ *,
3683
+ hostname: builtins.str,
3684
+ zone: builtins.str,
3685
+ boot_order: typing.Optional[builtins.str] = None,
3686
+ cpu: typing.Optional[jsii.Number] = None,
3687
+ firewall: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3688
+ host: typing.Optional[jsii.Number] = None,
3689
+ hot_resize: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3690
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3691
+ login: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerLogin, typing.Dict[builtins.str, typing.Any]]]]] = None,
3692
+ mem: typing.Optional[jsii.Number] = None,
3693
+ metadata: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3694
+ network_interface: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerNetworkInterface, typing.Dict[builtins.str, typing.Any]]]]] = None,
3695
+ nic_model: typing.Optional[builtins.str] = None,
3696
+ plan: typing.Optional[builtins.str] = None,
3697
+ server_group: typing.Optional[builtins.str] = None,
3698
+ simple_backup: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerSimpleBackup, typing.Dict[builtins.str, typing.Any]]]]] = None,
3699
+ storage_devices: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerStorageDevices, typing.Dict[builtins.str, typing.Any]]]]] = None,
3700
+ tags: typing.Optional[typing.Sequence[builtins.str]] = None,
3701
+ template: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerTemplate, typing.Dict[builtins.str, typing.Any]]]]] = None,
3702
+ timezone: typing.Optional[builtins.str] = None,
3703
+ title: typing.Optional[builtins.str] = None,
3704
+ user_data: typing.Optional[builtins.str] = None,
3705
+ video_model: typing.Optional[builtins.str] = None,
3706
+ 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,
3707
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
3708
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
3709
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
3710
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
3711
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
3712
+ 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,
3713
+ ) -> None:
3714
+ """Type checking stubs"""
3715
+ pass
3716
+
3717
+ def _typecheckingstub__28c7cee3cc840d65b6bc102d95f2931d82b3aefb8a79339458a82e6bd09d337c(
3718
+ scope: _constructs_77d1e7e8.Construct,
3719
+ import_to_id: builtins.str,
3720
+ import_from_id: builtins.str,
3721
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
3722
+ ) -> None:
3723
+ """Type checking stubs"""
3724
+ pass
3725
+
3726
+ def _typecheckingstub__490f22a0cad848cb278fe5943c1379db07f317157bbed237d4a276b686019b4f(
3727
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerLogin, typing.Dict[builtins.str, typing.Any]]]],
3728
+ ) -> None:
3729
+ """Type checking stubs"""
3730
+ pass
3731
+
3732
+ def _typecheckingstub__2784a2f8e61298bcd760c00280858e93027365e3107df743c65e925390d065ff(
3733
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerNetworkInterface, typing.Dict[builtins.str, typing.Any]]]],
3734
+ ) -> None:
3735
+ """Type checking stubs"""
3736
+ pass
3737
+
3738
+ def _typecheckingstub__2473c5d20588446793f53015ab62c61ad46df9fac03399584f460799254ecaef(
3739
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerSimpleBackup, typing.Dict[builtins.str, typing.Any]]]],
3740
+ ) -> None:
3741
+ """Type checking stubs"""
3742
+ pass
3743
+
3744
+ def _typecheckingstub__e2c4cd707e662e8744252abfd6f62940a96bcdfc90c7389a218eb5a2acab2006(
3745
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerStorageDevices, typing.Dict[builtins.str, typing.Any]]]],
3746
+ ) -> None:
3747
+ """Type checking stubs"""
3748
+ pass
3749
+
3750
+ def _typecheckingstub__8e6618d82a6e3f04079510015b7e45ddc3974b7b3a19e932ef378e303678b595(
3751
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerTemplate, typing.Dict[builtins.str, typing.Any]]]],
3752
+ ) -> None:
3753
+ """Type checking stubs"""
3754
+ pass
3755
+
3756
+ def _typecheckingstub__f3c840f2e6e25ab81a562249038283c68d1c9227ca4e4942e8d91d710b04c5bf(
3757
+ value: builtins.str,
3758
+ ) -> None:
3759
+ """Type checking stubs"""
3760
+ pass
3761
+
3762
+ def _typecheckingstub__c0bf29acd3dd45353eecfc5a63f6040bd66f55ef883a41491d92f1bdbe810a40(
3763
+ value: jsii.Number,
3764
+ ) -> None:
3765
+ """Type checking stubs"""
3766
+ pass
3767
+
3768
+ def _typecheckingstub__faf5fe2f1617d856951894b09503ce986b9b9e75f119670e34925d2d45d2e9ed(
3769
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3770
+ ) -> None:
3771
+ """Type checking stubs"""
3772
+ pass
3773
+
3774
+ def _typecheckingstub__cb33c3002695f65e8de16860ddf00ce31ac89ba44e937051e0add8e77bb120c2(
3775
+ value: jsii.Number,
3776
+ ) -> None:
3777
+ """Type checking stubs"""
3778
+ pass
3779
+
3780
+ def _typecheckingstub__f4bd72ca4af6dd9b479c0262e490984bdbd3191d9b6e06c6924b98a95b88a2ce(
3781
+ value: builtins.str,
3782
+ ) -> None:
3783
+ """Type checking stubs"""
3784
+ pass
3785
+
3786
+ def _typecheckingstub__91f07f7d3a6fb43c7397c3dbf0feddc66f6480ddb81c3a61a380f7c2f88d69bf(
3787
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3788
+ ) -> None:
3789
+ """Type checking stubs"""
3790
+ pass
3791
+
3792
+ def _typecheckingstub__3a7892fe5de8b838249765679a48d6de643cd5ca2b10527938954d152ae696ef(
3793
+ value: typing.Mapping[builtins.str, builtins.str],
3794
+ ) -> None:
3795
+ """Type checking stubs"""
3796
+ pass
3797
+
3798
+ def _typecheckingstub__124e11a99805e080ae09bb64a779c4f3bf94f05876de9f8f9b682c9fe74e79e6(
3799
+ value: jsii.Number,
3800
+ ) -> None:
3801
+ """Type checking stubs"""
3802
+ pass
3803
+
3804
+ def _typecheckingstub__64fa85207ab264b6f079b98afe3eef4ec2bf20d249f7caa10f6ab31566841844(
3805
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3806
+ ) -> None:
3807
+ """Type checking stubs"""
3808
+ pass
3809
+
3810
+ def _typecheckingstub__73873c9b847e096c8d36928cf5ffb48b31ddda7a6e2e85ff16060721788d964a(
3811
+ value: builtins.str,
3812
+ ) -> None:
3813
+ """Type checking stubs"""
3814
+ pass
3815
+
3816
+ def _typecheckingstub__2da76f679e87688e11b6f83fb15ba717554341797b152012a0fb49e67140b935(
3817
+ value: builtins.str,
3818
+ ) -> None:
3819
+ """Type checking stubs"""
3820
+ pass
3821
+
3822
+ def _typecheckingstub__51f9146cea8a8c10f6036dc84f9aeeba44ddaf4014a5b9c76b6db3a83541f508(
3823
+ value: builtins.str,
3824
+ ) -> None:
3825
+ """Type checking stubs"""
3826
+ pass
3827
+
3828
+ def _typecheckingstub__6e7175151be1c034f617e5043b4a582fa7a23b63257729e9f6b6957e2b922bfb(
3829
+ value: typing.List[builtins.str],
3830
+ ) -> None:
3831
+ """Type checking stubs"""
3832
+ pass
3833
+
3834
+ def _typecheckingstub__8b526366a4bae8de79997344422703026d48dfdf7c13035edfebf4e00122087f(
3835
+ value: builtins.str,
3836
+ ) -> None:
3837
+ """Type checking stubs"""
3838
+ pass
3839
+
3840
+ def _typecheckingstub__ae9bce333377a9eba2c28adc33c40c562a185ced6585b2a01045577d13004430(
3841
+ value: builtins.str,
3842
+ ) -> None:
3843
+ """Type checking stubs"""
3844
+ pass
3845
+
3846
+ def _typecheckingstub__64b2aea0b37c12d0056c07c0c4281a978b335a3259b4e52cc2e9287e80bfa864(
3847
+ value: builtins.str,
3848
+ ) -> None:
3849
+ """Type checking stubs"""
3850
+ pass
3851
+
3852
+ def _typecheckingstub__9f359cdaa0371668935e486d8df757ecf8422ace07256bfdf4b1dc470679de35(
3853
+ value: builtins.str,
3854
+ ) -> None:
3855
+ """Type checking stubs"""
3856
+ pass
3857
+
3858
+ def _typecheckingstub__189f51a8a94e7de544c3857c63fb20bd2ee94539e95189dafb4bab5cb85e9236(
3859
+ value: builtins.str,
3860
+ ) -> None:
3861
+ """Type checking stubs"""
3862
+ pass
3863
+
3864
+ def _typecheckingstub__ea0c30195fdb4e86d473d86dcc3b49fe1de4f105b946dcc2035464e29e243e2a(
3865
+ *,
3866
+ 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,
3867
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
3868
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
3869
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
3870
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
3871
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
3872
+ 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,
3873
+ hostname: builtins.str,
3874
+ zone: builtins.str,
3875
+ boot_order: typing.Optional[builtins.str] = None,
3876
+ cpu: typing.Optional[jsii.Number] = None,
3877
+ firewall: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3878
+ host: typing.Optional[jsii.Number] = None,
3879
+ hot_resize: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3880
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3881
+ login: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerLogin, typing.Dict[builtins.str, typing.Any]]]]] = None,
3882
+ mem: typing.Optional[jsii.Number] = None,
3883
+ metadata: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3884
+ network_interface: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerNetworkInterface, typing.Dict[builtins.str, typing.Any]]]]] = None,
3885
+ nic_model: typing.Optional[builtins.str] = None,
3886
+ plan: typing.Optional[builtins.str] = None,
3887
+ server_group: typing.Optional[builtins.str] = None,
3888
+ simple_backup: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerSimpleBackup, typing.Dict[builtins.str, typing.Any]]]]] = None,
3889
+ storage_devices: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerStorageDevices, typing.Dict[builtins.str, typing.Any]]]]] = None,
3890
+ tags: typing.Optional[typing.Sequence[builtins.str]] = None,
3891
+ template: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerTemplate, typing.Dict[builtins.str, typing.Any]]]]] = None,
3892
+ timezone: typing.Optional[builtins.str] = None,
3893
+ title: typing.Optional[builtins.str] = None,
3894
+ user_data: typing.Optional[builtins.str] = None,
3895
+ video_model: typing.Optional[builtins.str] = None,
3896
+ ) -> None:
3897
+ """Type checking stubs"""
3898
+ pass
3899
+
3900
+ def _typecheckingstub__ba39a2ee1d911b76fb74554613ea114a5a572a0bf44aae12941ef4644ef7377a(
3901
+ *,
3902
+ create_password: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3903
+ keys: typing.Optional[typing.Sequence[builtins.str]] = None,
3904
+ password_delivery: typing.Optional[builtins.str] = None,
3905
+ user: typing.Optional[builtins.str] = None,
3906
+ ) -> None:
3907
+ """Type checking stubs"""
3908
+ pass
3909
+
3910
+ def _typecheckingstub__fb03a79d03ab141be1cadd4f8b35544e42fdf474cb721eaceed4d99cd543137a(
3911
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3912
+ terraform_attribute: builtins.str,
3913
+ wraps_set: builtins.bool,
3914
+ ) -> None:
3915
+ """Type checking stubs"""
3916
+ pass
3917
+
3918
+ def _typecheckingstub__d0481abc20ad310759cbe2f28f10c094b5a5d751a61674ea1910af4cd52a0553(
3919
+ index: jsii.Number,
3920
+ ) -> None:
3921
+ """Type checking stubs"""
3922
+ pass
3923
+
3924
+ def _typecheckingstub__f132c1614c9b5ba1ba5b19ab717b2469460fa2427499b457d6df94a3ecd32ad3(
3925
+ value: builtins.str,
3926
+ ) -> None:
3927
+ """Type checking stubs"""
3928
+ pass
3929
+
3930
+ def _typecheckingstub__19fbe734a6b0e38e5289cc8fe824275160a50fb2585cf0d51ef68b976dea61c6(
3931
+ value: _cdktf_9a9027ec.IInterpolatingParent,
3932
+ ) -> None:
3933
+ """Type checking stubs"""
3934
+ pass
3935
+
3936
+ def _typecheckingstub__eaeef62da438caf9575e9c49eef5839c2d85d328d845ce461169c3db3d91756e(
3937
+ value: builtins.bool,
3938
+ ) -> None:
3939
+ """Type checking stubs"""
3940
+ pass
3941
+
3942
+ def _typecheckingstub__e67a467069e4676293f1f5918b73243b8eb7133d888bd7f11cebf870f3426f49(
3943
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerLogin]]],
3944
+ ) -> None:
3945
+ """Type checking stubs"""
3946
+ pass
3947
+
3948
+ def _typecheckingstub__cb37b4e00c78f37c38cbba42c725d341426cd4846a37328a858efbce8e63b347(
3949
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3950
+ terraform_attribute: builtins.str,
3951
+ complex_object_index: jsii.Number,
3952
+ complex_object_is_from_set: builtins.bool,
3953
+ ) -> None:
3954
+ """Type checking stubs"""
3955
+ pass
3956
+
3957
+ def _typecheckingstub__52fef0f21493a08a9b1120b5e06665743a76af6b2c68ad33657352e375d30f83(
3958
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3959
+ ) -> None:
3960
+ """Type checking stubs"""
3961
+ pass
3962
+
3963
+ def _typecheckingstub__6b692749540d070af5a9539957a6fb3b45c73bf325a279cde1ce841cb2b3a368(
3964
+ value: typing.List[builtins.str],
3965
+ ) -> None:
3966
+ """Type checking stubs"""
3967
+ pass
3968
+
3969
+ def _typecheckingstub__0cb6ee9476d3d13341856fea701d89ab77f7390a5c83899ab22e0865a2cfaf45(
3970
+ value: builtins.str,
3971
+ ) -> None:
3972
+ """Type checking stubs"""
3973
+ pass
3974
+
3975
+ def _typecheckingstub__f5428294ae30fe53a9c3e6f59c5d7345c00077d52ca2969ca46d13b15b72bcf2(
3976
+ value: builtins.str,
3977
+ ) -> None:
3978
+ """Type checking stubs"""
3979
+ pass
3980
+
3981
+ def _typecheckingstub__c5a2e407880016cbd5838a509393761434aa730eb60add2b4b29eadad0776d3b(
3982
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerLogin]],
3983
+ ) -> None:
3984
+ """Type checking stubs"""
3985
+ pass
3986
+
3987
+ def _typecheckingstub__fd495e0f43b555636347e658837821c13810606782b5f840f155acbfbcf8b7ea(
3988
+ *,
3989
+ type: builtins.str,
3990
+ additional_ip_address: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerNetworkInterfaceAdditionalIpAddress, typing.Dict[builtins.str, typing.Any]]]]] = None,
3991
+ bootable: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3992
+ index: typing.Optional[jsii.Number] = None,
3993
+ ip_address: typing.Optional[builtins.str] = None,
3994
+ ip_address_family: typing.Optional[builtins.str] = None,
3995
+ network: typing.Optional[builtins.str] = None,
3996
+ source_ip_filtering: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3997
+ ) -> None:
3998
+ """Type checking stubs"""
3999
+ pass
4000
+
4001
+ def _typecheckingstub__0b6048ebfe8d4aeae43994c82a3e7294ab414eb1a49571fd3fff63238f2a288c(
4002
+ *,
4003
+ ip_address: typing.Optional[builtins.str] = None,
4004
+ ip_address_family: typing.Optional[builtins.str] = None,
4005
+ ) -> None:
4006
+ """Type checking stubs"""
4007
+ pass
4008
+
4009
+ def _typecheckingstub__c89b4cdfc5939236d1e9fc94c384f611793f43a4c91f76c668bcf6e8920983da(
4010
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4011
+ terraform_attribute: builtins.str,
4012
+ wraps_set: builtins.bool,
4013
+ ) -> None:
4014
+ """Type checking stubs"""
4015
+ pass
4016
+
4017
+ def _typecheckingstub__fe600652bfba5fc59a4726212c2fa122256244a2cec86e2b2e06070db8c1d984(
4018
+ index: jsii.Number,
4019
+ ) -> None:
4020
+ """Type checking stubs"""
4021
+ pass
4022
+
4023
+ def _typecheckingstub__e6809907a581b5b3f9e20b9babc436747ce0b3ea6a13648ac92d3c70b10d2dfc(
4024
+ value: builtins.str,
4025
+ ) -> None:
4026
+ """Type checking stubs"""
4027
+ pass
4028
+
4029
+ def _typecheckingstub__36f7c9cde4988785a40830d569a548a483243af9c6bd0873ff940529f6b4b585(
4030
+ value: _cdktf_9a9027ec.IInterpolatingParent,
4031
+ ) -> None:
4032
+ """Type checking stubs"""
4033
+ pass
4034
+
4035
+ def _typecheckingstub__644944fcfc32d93265d478713d73010561f8478c3e1ffa1f2c553bd86640c038(
4036
+ value: builtins.bool,
4037
+ ) -> None:
4038
+ """Type checking stubs"""
4039
+ pass
4040
+
4041
+ def _typecheckingstub__45575bc52539ed3b5b2359cb867fcb8d243b1038ceb2f8bcfb25d1c549b97311(
4042
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterfaceAdditionalIpAddress]]],
4043
+ ) -> None:
4044
+ """Type checking stubs"""
4045
+ pass
4046
+
4047
+ def _typecheckingstub__4810e97a66fec22fb3dd09271c828afd76cb05fc43770f256ae7b23ed9da0815(
4048
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4049
+ terraform_attribute: builtins.str,
4050
+ complex_object_index: jsii.Number,
4051
+ complex_object_is_from_set: builtins.bool,
4052
+ ) -> None:
4053
+ """Type checking stubs"""
4054
+ pass
4055
+
4056
+ def _typecheckingstub__d0fc5e2f66e9fb36b7182fe1e3ac63b505553c4d12c85e38dc9931ca117fc764(
4057
+ value: builtins.str,
4058
+ ) -> None:
4059
+ """Type checking stubs"""
4060
+ pass
4061
+
4062
+ def _typecheckingstub__4526d2405b2bec0bc8fbc830fb0bcc3fca2f040b51eda99c592f63ea38a4a8f0(
4063
+ value: builtins.str,
4064
+ ) -> None:
4065
+ """Type checking stubs"""
4066
+ pass
4067
+
4068
+ def _typecheckingstub__2ec9c6ee49d971ad506ddb057f8f31a2aa27ea1e520ca44123a2e905e640c982(
4069
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterfaceAdditionalIpAddress]],
4070
+ ) -> None:
4071
+ """Type checking stubs"""
4072
+ pass
4073
+
4074
+ def _typecheckingstub__fc54b91b5d0d7c97de16d571e1bd39a117d649214c8689ebf9994e4e990fd340(
4075
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4076
+ terraform_attribute: builtins.str,
4077
+ wraps_set: builtins.bool,
4078
+ ) -> None:
4079
+ """Type checking stubs"""
4080
+ pass
4081
+
4082
+ def _typecheckingstub__33afd8f34658cdde16c336c0c57cf4773e6fec818004f2ef62f5737777f120ea(
4083
+ index: jsii.Number,
4084
+ ) -> None:
4085
+ """Type checking stubs"""
4086
+ pass
4087
+
4088
+ def _typecheckingstub__964638e95b9eb64f9888fef8669fefd3199a22770bc88f1e9e55385ffcf19266(
4089
+ value: builtins.str,
4090
+ ) -> None:
4091
+ """Type checking stubs"""
4092
+ pass
4093
+
4094
+ def _typecheckingstub__4f425debfe0fca1e3b8c8cd983ff8f17a5cee4a67bedbf8b9045e682766c159c(
4095
+ value: _cdktf_9a9027ec.IInterpolatingParent,
4096
+ ) -> None:
4097
+ """Type checking stubs"""
4098
+ pass
4099
+
4100
+ def _typecheckingstub__ecc2284e90d7a1c3606d00ad08be4fb4481c645e68a00a279e10ebf0666a6875(
4101
+ value: builtins.bool,
4102
+ ) -> None:
4103
+ """Type checking stubs"""
4104
+ pass
4105
+
4106
+ def _typecheckingstub__05c518a721134139fda2b2f95e72e1fc5c01453ef555dec5b958772b12cc8b9c(
4107
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerNetworkInterface]]],
4108
+ ) -> None:
4109
+ """Type checking stubs"""
4110
+ pass
4111
+
4112
+ def _typecheckingstub__f351e78b8ed148a38258a4e1044dee8183c1dc0faa0e2ff98d6538a768811b64(
4113
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4114
+ terraform_attribute: builtins.str,
4115
+ complex_object_index: jsii.Number,
4116
+ complex_object_is_from_set: builtins.bool,
4117
+ ) -> None:
4118
+ """Type checking stubs"""
4119
+ pass
4120
+
4121
+ def _typecheckingstub__368dac4f3634a09c66a3ae7e88a47843ad59c6921904b64e48b246bca21f0781(
4122
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerNetworkInterfaceAdditionalIpAddress, typing.Dict[builtins.str, typing.Any]]]],
4123
+ ) -> None:
4124
+ """Type checking stubs"""
4125
+ pass
4126
+
4127
+ def _typecheckingstub__47ed0e3d16bdd5428b4c7adf673350899ade00d8859059ed0f26439a53c0b519(
4128
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
4129
+ ) -> None:
4130
+ """Type checking stubs"""
4131
+ pass
4132
+
4133
+ def _typecheckingstub__fdbcdae3ed9796bc912ec8884fdad7902fba09438df21f8c4b45f4765d8623c2(
4134
+ value: jsii.Number,
4135
+ ) -> None:
4136
+ """Type checking stubs"""
4137
+ pass
4138
+
4139
+ def _typecheckingstub__97b4cbf583d41648739b128bd01df2684cfe29bc55efc08b02280697b7207be3(
4140
+ value: builtins.str,
4141
+ ) -> None:
4142
+ """Type checking stubs"""
4143
+ pass
4144
+
4145
+ def _typecheckingstub__27ca96659b5cf24779fba934b13768313666a313e1ec402934147d93b04c671d(
4146
+ value: builtins.str,
4147
+ ) -> None:
4148
+ """Type checking stubs"""
4149
+ pass
4150
+
4151
+ def _typecheckingstub__4455383f612dd1e5e7b829b5df56c87f6147838c2bd408299074c0fe1fcb3457(
4152
+ value: builtins.str,
4153
+ ) -> None:
4154
+ """Type checking stubs"""
4155
+ pass
4156
+
4157
+ def _typecheckingstub__67715c977e47025dc675151bb1733aeb13846dd9b753760e7f626bb21f196235(
4158
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
4159
+ ) -> None:
4160
+ """Type checking stubs"""
4161
+ pass
4162
+
4163
+ def _typecheckingstub__21f40dacaedad9009711ae5ffd3910b0ae85807a8cec83e69f5f166a7cf791ec(
4164
+ value: builtins.str,
4165
+ ) -> None:
4166
+ """Type checking stubs"""
4167
+ pass
4168
+
4169
+ def _typecheckingstub__8653f81da3a79a9a2fd0667eb122024a0e78b7183d06eaf233aa6b039ab88013(
4170
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerNetworkInterface]],
4171
+ ) -> None:
4172
+ """Type checking stubs"""
4173
+ pass
4174
+
4175
+ def _typecheckingstub__e0bd20cac4bdde3b91171ae0bf44e53e9583617261eaf0793a175a7d8da3cee3(
4176
+ *,
4177
+ plan: typing.Optional[builtins.str] = None,
4178
+ time: typing.Optional[builtins.str] = None,
4179
+ ) -> None:
4180
+ """Type checking stubs"""
4181
+ pass
4182
+
4183
+ def _typecheckingstub__d5bc799dd20317cd73a9978f93c9cd6a9ea8fd88acd763183b836b6eddd20d62(
4184
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4185
+ terraform_attribute: builtins.str,
4186
+ wraps_set: builtins.bool,
4187
+ ) -> None:
4188
+ """Type checking stubs"""
4189
+ pass
4190
+
4191
+ def _typecheckingstub__c50b5bf6c21c58214becf2e9e5e6e334430c4c27c6557540fae04ae21e102c92(
4192
+ index: jsii.Number,
4193
+ ) -> None:
4194
+ """Type checking stubs"""
4195
+ pass
4196
+
4197
+ def _typecheckingstub__8ada2344e2be9cf11d5892b47601e5ccbe84e1fe73623f0fe28918eff6b656fe(
4198
+ value: builtins.str,
4199
+ ) -> None:
4200
+ """Type checking stubs"""
4201
+ pass
4202
+
4203
+ def _typecheckingstub__80ac01001775f9091e90876610cfbadfba3c0bd897bcd725fbdebf70436d1b1c(
4204
+ value: _cdktf_9a9027ec.IInterpolatingParent,
4205
+ ) -> None:
4206
+ """Type checking stubs"""
4207
+ pass
4208
+
4209
+ def _typecheckingstub__8b09a06daff97f70b9cda1eb1be8f02b060130ccbabb3a8764635911bab83554(
4210
+ value: builtins.bool,
4211
+ ) -> None:
4212
+ """Type checking stubs"""
4213
+ pass
4214
+
4215
+ def _typecheckingstub__af359ef04adfda4ddc712b398d407bb32fa5497d8f06474f907f793398e3a518(
4216
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerSimpleBackup]]],
4217
+ ) -> None:
4218
+ """Type checking stubs"""
4219
+ pass
4220
+
4221
+ def _typecheckingstub__543283afc6e5dcbaed6d63b62679b76fe001c3a94535d560e5ee698bde877d12(
4222
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4223
+ terraform_attribute: builtins.str,
4224
+ complex_object_index: jsii.Number,
4225
+ complex_object_is_from_set: builtins.bool,
4226
+ ) -> None:
4227
+ """Type checking stubs"""
4228
+ pass
4229
+
4230
+ def _typecheckingstub__3fcfd10d4cc42b7a124d6deb709aed8a84109c8a6ccf87e6ea1c1446e290e765(
4231
+ value: builtins.str,
4232
+ ) -> None:
4233
+ """Type checking stubs"""
4234
+ pass
4235
+
4236
+ def _typecheckingstub__d2a12363cbec7f1b1136e6a05c23fd0826a6915ccf0b0b64f9f4fccc66a7b1da(
4237
+ value: builtins.str,
4238
+ ) -> None:
4239
+ """Type checking stubs"""
4240
+ pass
4241
+
4242
+ def _typecheckingstub__047ada69f3d10e42273140f60146f8fdf26e9f7c5b02497edf7ff0b3533062bd(
4243
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerSimpleBackup]],
4244
+ ) -> None:
4245
+ """Type checking stubs"""
4246
+ pass
4247
+
4248
+ def _typecheckingstub__deefc3ca26ddd4529dd49d665d0a7e4d178ed9e318d7a6ed318fe000f57713ea(
4249
+ *,
4250
+ address: typing.Optional[builtins.str] = None,
4251
+ address_position: typing.Optional[builtins.str] = None,
4252
+ storage: typing.Optional[builtins.str] = None,
4253
+ type: typing.Optional[builtins.str] = None,
4254
+ ) -> None:
4255
+ """Type checking stubs"""
4256
+ pass
4257
+
4258
+ def _typecheckingstub__1b1a8309ae0e42008d4d9a04fa384232a242ebf581bdfe667b3d4d9318c423e1(
4259
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4260
+ terraform_attribute: builtins.str,
4261
+ wraps_set: builtins.bool,
4262
+ ) -> None:
4263
+ """Type checking stubs"""
4264
+ pass
4265
+
4266
+ def _typecheckingstub__0cd494dc7b3e8661672bce1c045c252c6330d80b0f7be6bfd03cb3eab0419cfc(
4267
+ index: jsii.Number,
4268
+ ) -> None:
4269
+ """Type checking stubs"""
4270
+ pass
4271
+
4272
+ def _typecheckingstub__5c36a029bc93903864475ea526a1d5d88d1c38739833442c25954cc78734d073(
4273
+ value: builtins.str,
4274
+ ) -> None:
4275
+ """Type checking stubs"""
4276
+ pass
4277
+
4278
+ def _typecheckingstub__c6106531b80754e3450342cca25dccc97ecca94111c0beac393fdf0cc5992ba2(
4279
+ value: _cdktf_9a9027ec.IInterpolatingParent,
4280
+ ) -> None:
4281
+ """Type checking stubs"""
4282
+ pass
4283
+
4284
+ def _typecheckingstub__404155dd5b9ae6ef51ecbd295a6258fba082b02c4edde041ed4e3fdd0e39479f(
4285
+ value: builtins.bool,
4286
+ ) -> None:
4287
+ """Type checking stubs"""
4288
+ pass
4289
+
4290
+ def _typecheckingstub__2d8da2a7cdb20f04a3d3e26873cb26f1bad3c31fb192cec0590a5630aa8934c6(
4291
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerStorageDevices]]],
4292
+ ) -> None:
4293
+ """Type checking stubs"""
4294
+ pass
4295
+
4296
+ def _typecheckingstub__aa16490722cfc16de5acf5abd8405741b021c9e9aed0265729c5cee56a81c760(
4297
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4298
+ terraform_attribute: builtins.str,
4299
+ complex_object_index: jsii.Number,
4300
+ complex_object_is_from_set: builtins.bool,
4301
+ ) -> None:
4302
+ """Type checking stubs"""
4303
+ pass
4304
+
4305
+ def _typecheckingstub__77d5b7c93220faaf6dd9467054774e5725fd8a75225556068d9412f7776111ea(
4306
+ value: builtins.str,
4307
+ ) -> None:
4308
+ """Type checking stubs"""
4309
+ pass
4310
+
4311
+ def _typecheckingstub__e9594909c5df17e870cfac7d21659b828b0ba741b08d1e83df1ec3cd1122f262(
4312
+ value: builtins.str,
4313
+ ) -> None:
4314
+ """Type checking stubs"""
4315
+ pass
4316
+
4317
+ def _typecheckingstub__9014362108e66a3d08ae0f2e9738528cfc887bea97394f5c9b3dbc053ab6d4e5(
4318
+ value: builtins.str,
4319
+ ) -> None:
4320
+ """Type checking stubs"""
4321
+ pass
4322
+
4323
+ def _typecheckingstub__427c05296edc8e6c494743347b21ce68fe3ff0196dbcfb139503e9399ed4639b(
4324
+ value: builtins.str,
4325
+ ) -> None:
4326
+ """Type checking stubs"""
4327
+ pass
4328
+
4329
+ def _typecheckingstub__963c88004521ac2a561739e84d699c5d8a33bbce0a64a04986268a9aeb455593(
4330
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerStorageDevices]],
4331
+ ) -> None:
4332
+ """Type checking stubs"""
4333
+ pass
4334
+
4335
+ def _typecheckingstub__2a85c384316c005f9127a81fcbc356ef71508b188a9b9433bf88b08a22e08cad(
4336
+ *,
4337
+ address: typing.Optional[builtins.str] = None,
4338
+ address_position: typing.Optional[builtins.str] = None,
4339
+ backup_rule: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerTemplateBackupRule, typing.Dict[builtins.str, typing.Any]]]]] = None,
4340
+ delete_autoresize_backup: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
4341
+ encrypt: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
4342
+ filesystem_autoresize: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
4343
+ size: typing.Optional[jsii.Number] = None,
4344
+ storage: typing.Optional[builtins.str] = None,
4345
+ tier: typing.Optional[builtins.str] = None,
4346
+ title: typing.Optional[builtins.str] = None,
4347
+ ) -> None:
4348
+ """Type checking stubs"""
4349
+ pass
4350
+
4351
+ def _typecheckingstub__0da849dc75d0030fd1866a13a6da5cd60acc32df054d4b38c21875c14c699895(
4352
+ *,
4353
+ interval: builtins.str,
4354
+ retention: jsii.Number,
4355
+ time: builtins.str,
4356
+ ) -> None:
4357
+ """Type checking stubs"""
4358
+ pass
4359
+
4360
+ def _typecheckingstub__188550760ed568ed6581febedc871d4f68c536a0ef956d28240ed9bda458adf5(
4361
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4362
+ terraform_attribute: builtins.str,
4363
+ wraps_set: builtins.bool,
4364
+ ) -> None:
4365
+ """Type checking stubs"""
4366
+ pass
4367
+
4368
+ def _typecheckingstub__4cae08414d6ad18bf638d6afb49fc2b40fd3c15819052470c3bcf3963c2d2581(
4369
+ index: jsii.Number,
4370
+ ) -> None:
4371
+ """Type checking stubs"""
4372
+ pass
4373
+
4374
+ def _typecheckingstub__8712aabf4c6c876b1bd5cc8dfc44ae5e5381459120c477489bea27b5fd254cb6(
4375
+ value: builtins.str,
4376
+ ) -> None:
4377
+ """Type checking stubs"""
4378
+ pass
4379
+
4380
+ def _typecheckingstub__e3480c301bba6d4069388fbc33f3a3999c09b4323f2b7f61ac8041430042f58b(
4381
+ value: _cdktf_9a9027ec.IInterpolatingParent,
4382
+ ) -> None:
4383
+ """Type checking stubs"""
4384
+ pass
4385
+
4386
+ def _typecheckingstub__4f05d9321f6f3ed2cecfeadeb0e457ca65dbf7f22081d204c4892ddf9b06b90c(
4387
+ value: builtins.bool,
4388
+ ) -> None:
4389
+ """Type checking stubs"""
4390
+ pass
4391
+
4392
+ def _typecheckingstub__4fa1dc014c8c00cf951ae6beb492e38cf32c74b273e59788ba20cfe1640394af(
4393
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplateBackupRule]]],
4394
+ ) -> None:
4395
+ """Type checking stubs"""
4396
+ pass
4397
+
4398
+ def _typecheckingstub__8f25fb81968507d7e0b08a8dae5389ce95f026c45c28659add975e29c3404498(
4399
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4400
+ terraform_attribute: builtins.str,
4401
+ complex_object_index: jsii.Number,
4402
+ complex_object_is_from_set: builtins.bool,
4403
+ ) -> None:
4404
+ """Type checking stubs"""
4405
+ pass
4406
+
4407
+ def _typecheckingstub__e8cd2c8f9ea443c20df23e85c3d00b8531501ef9634bd80450d111108f50be9d(
4408
+ value: builtins.str,
4409
+ ) -> None:
4410
+ """Type checking stubs"""
4411
+ pass
4412
+
4413
+ def _typecheckingstub__8a0b6af220df68085dcd97fccc4054a701b00b30a71638fbb4622b6b58f40373(
4414
+ value: jsii.Number,
4415
+ ) -> None:
4416
+ """Type checking stubs"""
4417
+ pass
4418
+
4419
+ def _typecheckingstub__42394eda9846bee43e13e31d1369893420594a1dbd33748f0f779d28b0dcb636(
4420
+ value: builtins.str,
4421
+ ) -> None:
4422
+ """Type checking stubs"""
4423
+ pass
4424
+
4425
+ def _typecheckingstub__68c5ccec377ad7d0ea9393f2fef6f5c45854a0e7848329cc404b17ecd5b941f9(
4426
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplateBackupRule]],
4427
+ ) -> None:
4428
+ """Type checking stubs"""
4429
+ pass
4430
+
4431
+ def _typecheckingstub__417531aeef2efb16462b20737a95db9cf042fa662b8fcaab769ff0b9d1b8e25c(
4432
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4433
+ terraform_attribute: builtins.str,
4434
+ wraps_set: builtins.bool,
4435
+ ) -> None:
4436
+ """Type checking stubs"""
4437
+ pass
4438
+
4439
+ def _typecheckingstub__be7be5804c6a532923fd092f0105ff836482807352e9ef15bdfea4809505500c(
4440
+ index: jsii.Number,
4441
+ ) -> None:
4442
+ """Type checking stubs"""
4443
+ pass
4444
+
4445
+ def _typecheckingstub__2600ed34b9a4305987d9b76ebc785d4e17796b3e6537dea345e153dbbc18670e(
4446
+ value: builtins.str,
4447
+ ) -> None:
4448
+ """Type checking stubs"""
4449
+ pass
4450
+
4451
+ def _typecheckingstub__daa1e25262a44ca2ec305ebd7cb9f554dfd57e76e7c67078c6d0556bdc5b73b8(
4452
+ value: _cdktf_9a9027ec.IInterpolatingParent,
4453
+ ) -> None:
4454
+ """Type checking stubs"""
4455
+ pass
4456
+
4457
+ def _typecheckingstub__32caa1859dfb31f793d3ea44c65797e580c134f31f7d4fdc81805112038a081a(
4458
+ value: builtins.bool,
4459
+ ) -> None:
4460
+ """Type checking stubs"""
4461
+ pass
4462
+
4463
+ def _typecheckingstub__55370e3d07092c716ffd4a14cfd85c84f24c38da0da15bac2a9dec92ace6bd3c(
4464
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ServerTemplate]]],
4465
+ ) -> None:
4466
+ """Type checking stubs"""
4467
+ pass
4468
+
4469
+ def _typecheckingstub__3c497b3f58769bfb15770786b38a0d3cab824f167e30d427dd79147063221ef9(
4470
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
4471
+ terraform_attribute: builtins.str,
4472
+ complex_object_index: jsii.Number,
4473
+ complex_object_is_from_set: builtins.bool,
4474
+ ) -> None:
4475
+ """Type checking stubs"""
4476
+ pass
4477
+
4478
+ def _typecheckingstub__9697a227422e7b8f90588127fa3e2f505574b7f312f1cf50ff023104102a0644(
4479
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ServerTemplateBackupRule, typing.Dict[builtins.str, typing.Any]]]],
4480
+ ) -> None:
4481
+ """Type checking stubs"""
4482
+ pass
4483
+
4484
+ def _typecheckingstub__8ec88e6f0117f5a01bf0be4edaac88182f98191d5898e18968a024f2c7eca1a0(
4485
+ value: builtins.str,
4486
+ ) -> None:
4487
+ """Type checking stubs"""
4488
+ pass
4489
+
4490
+ def _typecheckingstub__d7f194b15a6e592fba7d22facc1980c421e81ee6e2c1c3fff097e573cbe6b7be(
4491
+ value: builtins.str,
4492
+ ) -> None:
4493
+ """Type checking stubs"""
4494
+ pass
4495
+
4496
+ def _typecheckingstub__c856e0710f9cda94f9f1271c085ee9d4a1499307057c893c123eafc72fc313e7(
4497
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
4498
+ ) -> None:
4499
+ """Type checking stubs"""
4500
+ pass
4501
+
4502
+ def _typecheckingstub__c227bc52b67e619c9e3e9ea6946b8fa1ed64ed6384a330f6f6e7587987cbaec9(
4503
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
4504
+ ) -> None:
4505
+ """Type checking stubs"""
4506
+ pass
4507
+
4508
+ def _typecheckingstub__15a41032ac46233b165e6594cff61432ce1029e197ad6bac634749812056291b(
4509
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
4510
+ ) -> None:
4511
+ """Type checking stubs"""
4512
+ pass
4513
+
4514
+ def _typecheckingstub__bdfb49737c8824193509f7b4f8be69cc4f8f53b26b54e65c015fca12ea711265(
4515
+ value: jsii.Number,
4516
+ ) -> None:
4517
+ """Type checking stubs"""
4518
+ pass
4519
+
4520
+ def _typecheckingstub__0f908c7d0cd75d51f9555bfd6ab8e64de276cac6a09657d4f952345bcf403779(
4521
+ value: builtins.str,
4522
+ ) -> None:
4523
+ """Type checking stubs"""
4524
+ pass
4525
+
4526
+ def _typecheckingstub__1abf053442c468a52b84325f2d8c37de69edd47be641ca350e5f89c8292757ee(
4527
+ value: builtins.str,
4528
+ ) -> None:
4529
+ """Type checking stubs"""
4530
+ pass
4531
+
4532
+ def _typecheckingstub__64f0d7019cf74d0117aacc7a12f88f6a61c491221ba27a95745ec4a01a80eec4(
4533
+ value: builtins.str,
4534
+ ) -> None:
4535
+ """Type checking stubs"""
4536
+ pass
4537
+
4538
+ def _typecheckingstub__cd8f4ccfba9e26748588ee2d5a223525d90da38d9c2cb1de9bf069079f9853f4(
4539
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ServerTemplate]],
4540
+ ) -> None:
4541
+ """Type checking stubs"""
4542
+ pass