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,483 @@
1
+ r'''
2
+ # `upcloud_storage_backup`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_storage_backup`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup).
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 StorageBackup(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.storageBackup.StorageBackup",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup upcloud_storage_backup}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id: builtins.str,
53
+ *,
54
+ source_storage: builtins.str,
55
+ title: builtins.str,
56
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
57
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
58
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
59
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
60
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
61
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
62
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
63
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
64
+ ) -> None:
65
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup upcloud_storage_backup} Resource.
66
+
67
+ :param scope: The scope in which to define this construct.
68
+ :param id: The scoped construct ID. Must be unique amongst siblings in the same scope
69
+ :param source_storage: The UUID of the storage to back up. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#source_storage StorageBackup#source_storage}
70
+ :param title: Title of the backup. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#title StorageBackup#title}
71
+ :param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#labels StorageBackup#labels}
72
+ :param connection:
73
+ :param count:
74
+ :param depends_on:
75
+ :param for_each:
76
+ :param lifecycle:
77
+ :param provider:
78
+ :param provisioners:
79
+ '''
80
+ if __debug__:
81
+ type_hints = typing.get_type_hints(_typecheckingstub__2dc47826dfcdf666f312ee9878e6506154551acd4ae7348f5b6995da1400b606)
82
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
83
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
84
+ config = StorageBackupConfig(
85
+ source_storage=source_storage,
86
+ title=title,
87
+ labels=labels,
88
+ connection=connection,
89
+ count=count,
90
+ depends_on=depends_on,
91
+ for_each=for_each,
92
+ lifecycle=lifecycle,
93
+ provider=provider,
94
+ provisioners=provisioners,
95
+ )
96
+
97
+ jsii.create(self.__class__, self, [scope, id, config])
98
+
99
+ @jsii.member(jsii_name="generateConfigForImport")
100
+ @builtins.classmethod
101
+ def generate_config_for_import(
102
+ cls,
103
+ scope: _constructs_77d1e7e8.Construct,
104
+ import_to_id: builtins.str,
105
+ import_from_id: builtins.str,
106
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
107
+ ) -> _cdktf_9a9027ec.ImportableResource:
108
+ '''Generates CDKTF code for importing a StorageBackup resource upon running "cdktf plan ".
109
+
110
+ :param scope: The scope in which to define this construct.
111
+ :param import_to_id: The construct id used in the generated config for the StorageBackup to import.
112
+ :param import_from_id: The id of the existing StorageBackup that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#import import section} in the documentation of this resource for the id to use
113
+ :param provider: ? Optional instance of the provider where the StorageBackup to import is found.
114
+ '''
115
+ if __debug__:
116
+ type_hints = typing.get_type_hints(_typecheckingstub__ff053d22f251845c9577f66e0d5f3612a9680edb2ad395cb56315ba096a3baf7)
117
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
118
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
119
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
120
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
121
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
122
+
123
+ @jsii.member(jsii_name="resetLabels")
124
+ def reset_labels(self) -> None:
125
+ return typing.cast(None, jsii.invoke(self, "resetLabels", []))
126
+
127
+ @jsii.member(jsii_name="synthesizeAttributes")
128
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
129
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
130
+
131
+ @jsii.member(jsii_name="synthesizeHclAttributes")
132
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
133
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
134
+
135
+ @jsii.python.classproperty
136
+ @jsii.member(jsii_name="tfResourceType")
137
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
138
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
139
+
140
+ @builtins.property
141
+ @jsii.member(jsii_name="createdAt")
142
+ def created_at(self) -> builtins.str:
143
+ return typing.cast(builtins.str, jsii.get(self, "createdAt"))
144
+
145
+ @builtins.property
146
+ @jsii.member(jsii_name="encrypt")
147
+ def encrypt(self) -> _cdktf_9a9027ec.IResolvable:
148
+ return typing.cast(_cdktf_9a9027ec.IResolvable, jsii.get(self, "encrypt"))
149
+
150
+ @builtins.property
151
+ @jsii.member(jsii_name="id")
152
+ def id(self) -> builtins.str:
153
+ return typing.cast(builtins.str, jsii.get(self, "id"))
154
+
155
+ @builtins.property
156
+ @jsii.member(jsii_name="size")
157
+ def size(self) -> jsii.Number:
158
+ return typing.cast(jsii.Number, jsii.get(self, "size"))
159
+
160
+ @builtins.property
161
+ @jsii.member(jsii_name="systemLabels")
162
+ def system_labels(self) -> _cdktf_9a9027ec.StringMap:
163
+ return typing.cast(_cdktf_9a9027ec.StringMap, jsii.get(self, "systemLabels"))
164
+
165
+ @builtins.property
166
+ @jsii.member(jsii_name="tier")
167
+ def tier(self) -> builtins.str:
168
+ return typing.cast(builtins.str, jsii.get(self, "tier"))
169
+
170
+ @builtins.property
171
+ @jsii.member(jsii_name="type")
172
+ def type(self) -> builtins.str:
173
+ return typing.cast(builtins.str, jsii.get(self, "type"))
174
+
175
+ @builtins.property
176
+ @jsii.member(jsii_name="zone")
177
+ def zone(self) -> builtins.str:
178
+ return typing.cast(builtins.str, jsii.get(self, "zone"))
179
+
180
+ @builtins.property
181
+ @jsii.member(jsii_name="labelsInput")
182
+ def labels_input(
183
+ self,
184
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
185
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "labelsInput"))
186
+
187
+ @builtins.property
188
+ @jsii.member(jsii_name="sourceStorageInput")
189
+ def source_storage_input(self) -> typing.Optional[builtins.str]:
190
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourceStorageInput"))
191
+
192
+ @builtins.property
193
+ @jsii.member(jsii_name="titleInput")
194
+ def title_input(self) -> typing.Optional[builtins.str]:
195
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "titleInput"))
196
+
197
+ @builtins.property
198
+ @jsii.member(jsii_name="labels")
199
+ def labels(self) -> typing.Mapping[builtins.str, builtins.str]:
200
+ return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "labels"))
201
+
202
+ @labels.setter
203
+ def labels(self, value: typing.Mapping[builtins.str, builtins.str]) -> None:
204
+ if __debug__:
205
+ type_hints = typing.get_type_hints(_typecheckingstub__8faef14433ff856f3c15f7b7d2b82ff61bda2229065156a73943102b00a0ee8e)
206
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
207
+ jsii.set(self, "labels", value) # pyright: ignore[reportArgumentType]
208
+
209
+ @builtins.property
210
+ @jsii.member(jsii_name="sourceStorage")
211
+ def source_storage(self) -> builtins.str:
212
+ return typing.cast(builtins.str, jsii.get(self, "sourceStorage"))
213
+
214
+ @source_storage.setter
215
+ def source_storage(self, value: builtins.str) -> None:
216
+ if __debug__:
217
+ type_hints = typing.get_type_hints(_typecheckingstub__2fc3812a33a6c54de8c0c1a8066ba5953d2fadf6c9761390137f82c19b9cf5c5)
218
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
219
+ jsii.set(self, "sourceStorage", value) # pyright: ignore[reportArgumentType]
220
+
221
+ @builtins.property
222
+ @jsii.member(jsii_name="title")
223
+ def title(self) -> builtins.str:
224
+ return typing.cast(builtins.str, jsii.get(self, "title"))
225
+
226
+ @title.setter
227
+ def title(self, value: builtins.str) -> None:
228
+ if __debug__:
229
+ type_hints = typing.get_type_hints(_typecheckingstub__1b8bca98b6914beb5c1fc3ce9fce17b287bf66f9158a89006feac028d49378de)
230
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
231
+ jsii.set(self, "title", value) # pyright: ignore[reportArgumentType]
232
+
233
+
234
+ @jsii.data_type(
235
+ jsii_type="@cdktf/provider-upcloud.storageBackup.StorageBackupConfig",
236
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
237
+ name_mapping={
238
+ "connection": "connection",
239
+ "count": "count",
240
+ "depends_on": "dependsOn",
241
+ "for_each": "forEach",
242
+ "lifecycle": "lifecycle",
243
+ "provider": "provider",
244
+ "provisioners": "provisioners",
245
+ "source_storage": "sourceStorage",
246
+ "title": "title",
247
+ "labels": "labels",
248
+ },
249
+ )
250
+ class StorageBackupConfig(_cdktf_9a9027ec.TerraformMetaArguments):
251
+ def __init__(
252
+ self,
253
+ *,
254
+ 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,
255
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
256
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
257
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
258
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
259
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
260
+ 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,
261
+ source_storage: builtins.str,
262
+ title: builtins.str,
263
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
264
+ ) -> None:
265
+ '''
266
+ :param connection:
267
+ :param count:
268
+ :param depends_on:
269
+ :param for_each:
270
+ :param lifecycle:
271
+ :param provider:
272
+ :param provisioners:
273
+ :param source_storage: The UUID of the storage to back up. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#source_storage StorageBackup#source_storage}
274
+ :param title: Title of the backup. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#title StorageBackup#title}
275
+ :param labels: User defined key-value pairs to classify the storage. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#labels StorageBackup#labels}
276
+ '''
277
+ if isinstance(lifecycle, dict):
278
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
279
+ if __debug__:
280
+ type_hints = typing.get_type_hints(_typecheckingstub__d6163b230d48dd10fac57d0260a3b14f818c96539f8dc04c867c9ec3ae47b645)
281
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
282
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
283
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
284
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
285
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
286
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
287
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
288
+ check_type(argname="argument source_storage", value=source_storage, expected_type=type_hints["source_storage"])
289
+ check_type(argname="argument title", value=title, expected_type=type_hints["title"])
290
+ check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
291
+ self._values: typing.Dict[builtins.str, typing.Any] = {
292
+ "source_storage": source_storage,
293
+ "title": title,
294
+ }
295
+ if connection is not None:
296
+ self._values["connection"] = connection
297
+ if count is not None:
298
+ self._values["count"] = count
299
+ if depends_on is not None:
300
+ self._values["depends_on"] = depends_on
301
+ if for_each is not None:
302
+ self._values["for_each"] = for_each
303
+ if lifecycle is not None:
304
+ self._values["lifecycle"] = lifecycle
305
+ if provider is not None:
306
+ self._values["provider"] = provider
307
+ if provisioners is not None:
308
+ self._values["provisioners"] = provisioners
309
+ if labels is not None:
310
+ self._values["labels"] = labels
311
+
312
+ @builtins.property
313
+ def connection(
314
+ self,
315
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
316
+ '''
317
+ :stability: experimental
318
+ '''
319
+ result = self._values.get("connection")
320
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
321
+
322
+ @builtins.property
323
+ def count(
324
+ self,
325
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
326
+ '''
327
+ :stability: experimental
328
+ '''
329
+ result = self._values.get("count")
330
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
331
+
332
+ @builtins.property
333
+ def depends_on(
334
+ self,
335
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
336
+ '''
337
+ :stability: experimental
338
+ '''
339
+ result = self._values.get("depends_on")
340
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
341
+
342
+ @builtins.property
343
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
344
+ '''
345
+ :stability: experimental
346
+ '''
347
+ result = self._values.get("for_each")
348
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
349
+
350
+ @builtins.property
351
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
352
+ '''
353
+ :stability: experimental
354
+ '''
355
+ result = self._values.get("lifecycle")
356
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
357
+
358
+ @builtins.property
359
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
360
+ '''
361
+ :stability: experimental
362
+ '''
363
+ result = self._values.get("provider")
364
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
365
+
366
+ @builtins.property
367
+ def provisioners(
368
+ self,
369
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
370
+ '''
371
+ :stability: experimental
372
+ '''
373
+ result = self._values.get("provisioners")
374
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
375
+
376
+ @builtins.property
377
+ def source_storage(self) -> builtins.str:
378
+ '''The UUID of the storage to back up.
379
+
380
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#source_storage StorageBackup#source_storage}
381
+ '''
382
+ result = self._values.get("source_storage")
383
+ assert result is not None, "Required property 'source_storage' is missing"
384
+ return typing.cast(builtins.str, result)
385
+
386
+ @builtins.property
387
+ def title(self) -> builtins.str:
388
+ '''Title of the backup.
389
+
390
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#title StorageBackup#title}
391
+ '''
392
+ result = self._values.get("title")
393
+ assert result is not None, "Required property 'title' is missing"
394
+ return typing.cast(builtins.str, result)
395
+
396
+ @builtins.property
397
+ def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
398
+ '''User defined key-value pairs to classify the storage.
399
+
400
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.31.0/docs/resources/storage_backup#labels StorageBackup#labels}
401
+ '''
402
+ result = self._values.get("labels")
403
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
404
+
405
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
406
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
407
+
408
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
409
+ return not (rhs == self)
410
+
411
+ def __repr__(self) -> str:
412
+ return "StorageBackupConfig(%s)" % ", ".join(
413
+ k + "=" + repr(v) for k, v in self._values.items()
414
+ )
415
+
416
+
417
+ __all__ = [
418
+ "StorageBackup",
419
+ "StorageBackupConfig",
420
+ ]
421
+
422
+ publication.publish()
423
+
424
+ def _typecheckingstub__2dc47826dfcdf666f312ee9878e6506154551acd4ae7348f5b6995da1400b606(
425
+ scope: _constructs_77d1e7e8.Construct,
426
+ id: builtins.str,
427
+ *,
428
+ source_storage: builtins.str,
429
+ title: builtins.str,
430
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
431
+ 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,
432
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
433
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
434
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
435
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
436
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
437
+ 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,
438
+ ) -> None:
439
+ """Type checking stubs"""
440
+ pass
441
+
442
+ def _typecheckingstub__ff053d22f251845c9577f66e0d5f3612a9680edb2ad395cb56315ba096a3baf7(
443
+ scope: _constructs_77d1e7e8.Construct,
444
+ import_to_id: builtins.str,
445
+ import_from_id: builtins.str,
446
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
447
+ ) -> None:
448
+ """Type checking stubs"""
449
+ pass
450
+
451
+ def _typecheckingstub__8faef14433ff856f3c15f7b7d2b82ff61bda2229065156a73943102b00a0ee8e(
452
+ value: typing.Mapping[builtins.str, builtins.str],
453
+ ) -> None:
454
+ """Type checking stubs"""
455
+ pass
456
+
457
+ def _typecheckingstub__2fc3812a33a6c54de8c0c1a8066ba5953d2fadf6c9761390137f82c19b9cf5c5(
458
+ value: builtins.str,
459
+ ) -> None:
460
+ """Type checking stubs"""
461
+ pass
462
+
463
+ def _typecheckingstub__1b8bca98b6914beb5c1fc3ce9fce17b287bf66f9158a89006feac028d49378de(
464
+ value: builtins.str,
465
+ ) -> None:
466
+ """Type checking stubs"""
467
+ pass
468
+
469
+ def _typecheckingstub__d6163b230d48dd10fac57d0260a3b14f818c96539f8dc04c867c9ec3ae47b645(
470
+ *,
471
+ 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,
472
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
473
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
474
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
475
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
476
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
477
+ 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,
478
+ source_storage: builtins.str,
479
+ title: builtins.str,
480
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
481
+ ) -> None:
482
+ """Type checking stubs"""
483
+ pass