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