cdktf-cdktf-provider-upcloud 14.14.0__py3-none-any.whl → 14.16.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.

Potentially problematic release.


This version of cdktf-cdktf-provider-upcloud might be problematic. Click here for more details.

Files changed (68) hide show
  1. cdktf_cdktf_provider_upcloud/__init__.py +9 -3
  2. cdktf_cdktf_provider_upcloud/_jsii/__init__.py +2 -2
  3. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.16.0.jsii.tgz +0 -0
  4. cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +7 -7
  5. cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +7 -7
  6. cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +7 -7
  7. cdktf_cdktf_provider_upcloud/data_upcloud_load_balancer_dns_challenge_domain/__init__.py +4 -4
  8. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_mysql_sessions/__init__.py +22 -22
  9. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +13 -13
  10. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_postgresql_sessions/__init__.py +30 -30
  11. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_redis_sessions/__init__.py +22 -22
  12. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_valkey_sessions/__init__.py +898 -0
  13. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_policies/__init__.py +10 -10
  14. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_regions/__init__.py +7 -7
  15. cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +13 -13
  16. cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +28 -28
  17. cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +7 -7
  18. cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +10 -10
  19. cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +7 -7
  20. cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +41 -41
  21. cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +16 -16
  22. cdktf_cdktf_provider_upcloud/gateway/__init__.py +37 -37
  23. cdktf_cdktf_provider_upcloud/gateway_connection/__init__.py +34 -34
  24. cdktf_cdktf_provider_upcloud/gateway_connection_tunnel/__init__.py +61 -61
  25. cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +31 -31
  26. cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +58 -58
  27. cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +39 -39
  28. cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +46 -46
  29. cdktf_cdktf_provider_upcloud/loadbalancer_backend_tls_config/__init__.py +13 -13
  30. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +25 -25
  31. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +13 -13
  32. cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +33 -33
  33. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +226 -226
  34. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +13 -13
  35. cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +16 -16
  36. cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +28 -28
  37. cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +25 -25
  38. cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +19 -19
  39. cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +301 -199
  40. cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +4203 -1016
  41. cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +365 -309
  42. cdktf_cdktf_provider_upcloud/managed_database_redis/__init__.py +275 -123
  43. cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +371 -50
  44. cdktf_cdktf_provider_upcloud/managed_database_valkey/__init__.py +3203 -0
  45. cdktf_cdktf_provider_upcloud/managed_object_storage/__init__.py +30 -30
  46. cdktf_cdktf_provider_upcloud/managed_object_storage_bucket/__init__.py +409 -0
  47. cdktf_cdktf_provider_upcloud/managed_object_storage_custom_domain/__init__.py +13 -13
  48. cdktf_cdktf_provider_upcloud/managed_object_storage_policy/__init__.py +16 -16
  49. cdktf_cdktf_provider_upcloud/managed_object_storage_user/__init__.py +13 -13
  50. cdktf_cdktf_provider_upcloud/managed_object_storage_user_access_key/__init__.py +16 -16
  51. cdktf_cdktf_provider_upcloud/managed_object_storage_user_policy/__init__.py +16 -16
  52. cdktf_cdktf_provider_upcloud/network/__init__.py +33 -33
  53. cdktf_cdktf_provider_upcloud/network_peering/__init__.py +23 -23
  54. cdktf_cdktf_provider_upcloud/object_storage/__init__.py +30 -30
  55. cdktf_cdktf_provider_upcloud/provider/__init__.py +25 -25
  56. cdktf_cdktf_provider_upcloud/router/__init__.py +19 -19
  57. cdktf_cdktf_provider_upcloud/server/__init__.py +196 -153
  58. cdktf_cdktf_provider_upcloud/server_group/__init__.py +19 -19
  59. cdktf_cdktf_provider_upcloud/storage/__init__.py +51 -51
  60. cdktf_cdktf_provider_upcloud/storage_template/__init__.py +13 -13
  61. cdktf_cdktf_provider_upcloud/tag/__init__.py +16 -16
  62. {cdktf_cdktf_provider_upcloud-14.14.0.dist-info → cdktf_cdktf_provider_upcloud-14.16.0.dist-info}/METADATA +5 -5
  63. cdktf_cdktf_provider_upcloud-14.16.0.dist-info/RECORD +67 -0
  64. {cdktf_cdktf_provider_upcloud-14.14.0.dist-info → cdktf_cdktf_provider_upcloud-14.16.0.dist-info}/WHEEL +1 -1
  65. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.14.0.jsii.tgz +0 -0
  66. cdktf_cdktf_provider_upcloud-14.14.0.dist-info/RECORD +0 -64
  67. {cdktf_cdktf_provider_upcloud-14.14.0.dist-info → cdktf_cdktf_provider_upcloud-14.16.0.dist-info}/LICENSE +0 -0
  68. {cdktf_cdktf_provider_upcloud-14.14.0.dist-info → cdktf_cdktf_provider_upcloud-14.16.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3203 @@
1
+ r'''
2
+ # `upcloud_managed_database_valkey`
3
+
4
+ Refer to the Terraform Registry for docs: [`upcloud_managed_database_valkey`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey).
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 ManagedDatabaseValkey(
43
+ _cdktf_9a9027ec.TerraformResource,
44
+ metaclass=jsii.JSIIMeta,
45
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkey",
46
+ ):
47
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey upcloud_managed_database_valkey}.'''
48
+
49
+ def __init__(
50
+ self,
51
+ scope: _constructs_77d1e7e8.Construct,
52
+ id_: builtins.str,
53
+ *,
54
+ name: builtins.str,
55
+ plan: builtins.str,
56
+ title: builtins.str,
57
+ zone: builtins.str,
58
+ id: typing.Optional[builtins.str] = None,
59
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
60
+ maintenance_window_dow: typing.Optional[builtins.str] = None,
61
+ maintenance_window_time: typing.Optional[builtins.str] = None,
62
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ManagedDatabaseValkeyNetwork", typing.Dict[builtins.str, typing.Any]]]]] = None,
63
+ powered: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
64
+ properties: typing.Optional[typing.Union["ManagedDatabaseValkeyProperties", typing.Dict[builtins.str, typing.Any]]] = None,
65
+ termination_protection: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
66
+ 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,
67
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
68
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
69
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
70
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
71
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
72
+ 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,
73
+ ) -> None:
74
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey upcloud_managed_database_valkey} Resource.
75
+
76
+ :param scope: The scope in which to define this construct.
77
+ :param id_: The scoped construct ID. Must be unique amongst siblings in the same scope
78
+ :param name: Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#name ManagedDatabaseValkey#name}
79
+ :param plan: Service plan to use. This determines how much resources the instance will have. You can list available plans with ``upctl database plans <type>``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#plan ManagedDatabaseValkey#plan}
80
+ :param title: Title of a managed database instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#title ManagedDatabaseValkey#title}
81
+ :param zone: Zone where the instance resides, 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.16.0/docs/resources/managed_database_valkey#zone ManagedDatabaseValkey#zone}
82
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#id ManagedDatabaseValkey#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
83
+ :param labels: User defined key-value pairs to classify the managed database. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#labels ManagedDatabaseValkey#labels}
84
+ :param maintenance_window_dow: Maintenance window day of week. Lower case weekday name (monday, tuesday, ...). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#maintenance_window_dow ManagedDatabaseValkey#maintenance_window_dow}
85
+ :param maintenance_window_time: Maintenance window UTC time in hh:mm:ss format. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#maintenance_window_time ManagedDatabaseValkey#maintenance_window_time}
86
+ :param network: network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#network ManagedDatabaseValkey#network}
87
+ :param powered: The administrative power state of the service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#powered ManagedDatabaseValkey#powered}
88
+ :param properties: properties block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#properties ManagedDatabaseValkey#properties}
89
+ :param termination_protection: If set to true, prevents the managed service from being powered off, or deleted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#termination_protection ManagedDatabaseValkey#termination_protection}
90
+ :param connection:
91
+ :param count:
92
+ :param depends_on:
93
+ :param for_each:
94
+ :param lifecycle:
95
+ :param provider:
96
+ :param provisioners:
97
+ '''
98
+ if __debug__:
99
+ type_hints = typing.get_type_hints(_typecheckingstub__e9ca96a3d0255aab5bd629d642e8855d0ea99f8657e2d22de939cb10aa9e11a4)
100
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
101
+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"])
102
+ config = ManagedDatabaseValkeyConfig(
103
+ name=name,
104
+ plan=plan,
105
+ title=title,
106
+ zone=zone,
107
+ id=id,
108
+ labels=labels,
109
+ maintenance_window_dow=maintenance_window_dow,
110
+ maintenance_window_time=maintenance_window_time,
111
+ network=network,
112
+ powered=powered,
113
+ properties=properties,
114
+ termination_protection=termination_protection,
115
+ connection=connection,
116
+ count=count,
117
+ depends_on=depends_on,
118
+ for_each=for_each,
119
+ lifecycle=lifecycle,
120
+ provider=provider,
121
+ provisioners=provisioners,
122
+ )
123
+
124
+ jsii.create(self.__class__, self, [scope, id_, config])
125
+
126
+ @jsii.member(jsii_name="generateConfigForImport")
127
+ @builtins.classmethod
128
+ def generate_config_for_import(
129
+ cls,
130
+ scope: _constructs_77d1e7e8.Construct,
131
+ import_to_id: builtins.str,
132
+ import_from_id: builtins.str,
133
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
134
+ ) -> _cdktf_9a9027ec.ImportableResource:
135
+ '''Generates CDKTF code for importing a ManagedDatabaseValkey resource upon running "cdktf plan ".
136
+
137
+ :param scope: The scope in which to define this construct.
138
+ :param import_to_id: The construct id used in the generated config for the ManagedDatabaseValkey to import.
139
+ :param import_from_id: The id of the existing ManagedDatabaseValkey that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#import import section} in the documentation of this resource for the id to use
140
+ :param provider: ? Optional instance of the provider where the ManagedDatabaseValkey to import is found.
141
+ '''
142
+ if __debug__:
143
+ type_hints = typing.get_type_hints(_typecheckingstub__9aedfd54b5c8b1f9918c7d3df38964719bab01ca5620baa0cdacd432478b79a7)
144
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
145
+ check_type(argname="argument import_to_id", value=import_to_id, expected_type=type_hints["import_to_id"])
146
+ check_type(argname="argument import_from_id", value=import_from_id, expected_type=type_hints["import_from_id"])
147
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
148
+ return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
149
+
150
+ @jsii.member(jsii_name="putNetwork")
151
+ def put_network(
152
+ self,
153
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ManagedDatabaseValkeyNetwork", typing.Dict[builtins.str, typing.Any]]]],
154
+ ) -> None:
155
+ '''
156
+ :param value: -
157
+ '''
158
+ if __debug__:
159
+ type_hints = typing.get_type_hints(_typecheckingstub__d39301ce9e83b0c46471cc2e091a974add7699ff0499897b02f5890d167025c6)
160
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
161
+ return typing.cast(None, jsii.invoke(self, "putNetwork", [value]))
162
+
163
+ @jsii.member(jsii_name="putProperties")
164
+ def put_properties(
165
+ self,
166
+ *,
167
+ automatic_utility_network_ip_filter: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
168
+ backup_hour: typing.Optional[jsii.Number] = None,
169
+ backup_minute: typing.Optional[jsii.Number] = None,
170
+ ip_filter: typing.Optional[typing.Sequence[builtins.str]] = None,
171
+ migration: typing.Optional[typing.Union["ManagedDatabaseValkeyPropertiesMigration", typing.Dict[builtins.str, typing.Any]]] = None,
172
+ public_access: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
173
+ service_log: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
174
+ valkey_acl_channels_default: typing.Optional[builtins.str] = None,
175
+ valkey_io_threads: typing.Optional[jsii.Number] = None,
176
+ valkey_lfu_decay_time: typing.Optional[jsii.Number] = None,
177
+ valkey_lfu_log_factor: typing.Optional[jsii.Number] = None,
178
+ valkey_maxmemory_policy: typing.Optional[builtins.str] = None,
179
+ valkey_notify_keyspace_events: typing.Optional[builtins.str] = None,
180
+ valkey_number_of_databases: typing.Optional[jsii.Number] = None,
181
+ valkey_persistence: typing.Optional[builtins.str] = None,
182
+ valkey_pubsub_client_output_buffer_limit: typing.Optional[jsii.Number] = None,
183
+ valkey_ssl: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
184
+ valkey_timeout: typing.Optional[jsii.Number] = None,
185
+ ) -> None:
186
+ '''
187
+ :param automatic_utility_network_ip_filter: Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#automatic_utility_network_ip_filter ManagedDatabaseValkey#automatic_utility_network_ip_filter}
188
+ :param backup_hour: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#backup_hour ManagedDatabaseValkey#backup_hour}
189
+ :param backup_minute: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#backup_minute ManagedDatabaseValkey#backup_minute}
190
+ :param ip_filter: IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ip_filter ManagedDatabaseValkey#ip_filter}
191
+ :param migration: migration block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#migration ManagedDatabaseValkey#migration}
192
+ :param public_access: Public Access. Allow access to the service from the public Internet. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#public_access ManagedDatabaseValkey#public_access}
193
+ :param service_log: Service logging. Store logs for the service so that they are available in the HTTP API and console. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#service_log ManagedDatabaseValkey#service_log}
194
+ :param valkey_acl_channels_default: Default ACL for pub/sub channels used when a Valkey user is created. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_acl_channels_default ManagedDatabaseValkey#valkey_acl_channels_default}
195
+ :param valkey_io_threads: Valkey IO thread count. Set Valkey IO thread count. Changing this will cause a restart of the Valkey service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_io_threads ManagedDatabaseValkey#valkey_io_threads}
196
+ :param valkey_lfu_decay_time: LFU maxmemory-policy counter decay time in minutes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_lfu_decay_time ManagedDatabaseValkey#valkey_lfu_decay_time}
197
+ :param valkey_lfu_log_factor: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_lfu_log_factor ManagedDatabaseValkey#valkey_lfu_log_factor}
198
+ :param valkey_maxmemory_policy: Valkey maxmemory-policy. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_maxmemory_policy ManagedDatabaseValkey#valkey_maxmemory_policy}
199
+ :param valkey_notify_keyspace_events: Set notify-keyspace-events option. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_notify_keyspace_events ManagedDatabaseValkey#valkey_notify_keyspace_events}
200
+ :param valkey_number_of_databases: Number of Valkey databases. Set number of Valkey databases. Changing this will cause a restart of the Valkey service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_number_of_databases ManagedDatabaseValkey#valkey_number_of_databases}
201
+ :param valkey_persistence: Valkey persistence. When persistence is 'rdb', Valkey does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_persistence ManagedDatabaseValkey#valkey_persistence}
202
+ :param valkey_pubsub_client_output_buffer_limit: Pub/sub client output buffer hard limit in MB. Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_pubsub_client_output_buffer_limit ManagedDatabaseValkey#valkey_pubsub_client_output_buffer_limit}
203
+ :param valkey_ssl: Require SSL to access Valkey. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_ssl ManagedDatabaseValkey#valkey_ssl}
204
+ :param valkey_timeout: Valkey idle connection timeout in seconds. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_timeout ManagedDatabaseValkey#valkey_timeout}
205
+ '''
206
+ value = ManagedDatabaseValkeyProperties(
207
+ automatic_utility_network_ip_filter=automatic_utility_network_ip_filter,
208
+ backup_hour=backup_hour,
209
+ backup_minute=backup_minute,
210
+ ip_filter=ip_filter,
211
+ migration=migration,
212
+ public_access=public_access,
213
+ service_log=service_log,
214
+ valkey_acl_channels_default=valkey_acl_channels_default,
215
+ valkey_io_threads=valkey_io_threads,
216
+ valkey_lfu_decay_time=valkey_lfu_decay_time,
217
+ valkey_lfu_log_factor=valkey_lfu_log_factor,
218
+ valkey_maxmemory_policy=valkey_maxmemory_policy,
219
+ valkey_notify_keyspace_events=valkey_notify_keyspace_events,
220
+ valkey_number_of_databases=valkey_number_of_databases,
221
+ valkey_persistence=valkey_persistence,
222
+ valkey_pubsub_client_output_buffer_limit=valkey_pubsub_client_output_buffer_limit,
223
+ valkey_ssl=valkey_ssl,
224
+ valkey_timeout=valkey_timeout,
225
+ )
226
+
227
+ return typing.cast(None, jsii.invoke(self, "putProperties", [value]))
228
+
229
+ @jsii.member(jsii_name="resetId")
230
+ def reset_id(self) -> None:
231
+ return typing.cast(None, jsii.invoke(self, "resetId", []))
232
+
233
+ @jsii.member(jsii_name="resetLabels")
234
+ def reset_labels(self) -> None:
235
+ return typing.cast(None, jsii.invoke(self, "resetLabels", []))
236
+
237
+ @jsii.member(jsii_name="resetMaintenanceWindowDow")
238
+ def reset_maintenance_window_dow(self) -> None:
239
+ return typing.cast(None, jsii.invoke(self, "resetMaintenanceWindowDow", []))
240
+
241
+ @jsii.member(jsii_name="resetMaintenanceWindowTime")
242
+ def reset_maintenance_window_time(self) -> None:
243
+ return typing.cast(None, jsii.invoke(self, "resetMaintenanceWindowTime", []))
244
+
245
+ @jsii.member(jsii_name="resetNetwork")
246
+ def reset_network(self) -> None:
247
+ return typing.cast(None, jsii.invoke(self, "resetNetwork", []))
248
+
249
+ @jsii.member(jsii_name="resetPowered")
250
+ def reset_powered(self) -> None:
251
+ return typing.cast(None, jsii.invoke(self, "resetPowered", []))
252
+
253
+ @jsii.member(jsii_name="resetProperties")
254
+ def reset_properties(self) -> None:
255
+ return typing.cast(None, jsii.invoke(self, "resetProperties", []))
256
+
257
+ @jsii.member(jsii_name="resetTerminationProtection")
258
+ def reset_termination_protection(self) -> None:
259
+ return typing.cast(None, jsii.invoke(self, "resetTerminationProtection", []))
260
+
261
+ @jsii.member(jsii_name="synthesizeAttributes")
262
+ def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
263
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
264
+
265
+ @jsii.member(jsii_name="synthesizeHclAttributes")
266
+ def _synthesize_hcl_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
267
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeHclAttributes", []))
268
+
269
+ @jsii.python.classproperty
270
+ @jsii.member(jsii_name="tfResourceType")
271
+ def TF_RESOURCE_TYPE(cls) -> builtins.str:
272
+ return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
273
+
274
+ @builtins.property
275
+ @jsii.member(jsii_name="components")
276
+ def components(self) -> "ManagedDatabaseValkeyComponentsList":
277
+ return typing.cast("ManagedDatabaseValkeyComponentsList", jsii.get(self, "components"))
278
+
279
+ @builtins.property
280
+ @jsii.member(jsii_name="network")
281
+ def network(self) -> "ManagedDatabaseValkeyNetworkList":
282
+ return typing.cast("ManagedDatabaseValkeyNetworkList", jsii.get(self, "network"))
283
+
284
+ @builtins.property
285
+ @jsii.member(jsii_name="nodeStates")
286
+ def node_states(self) -> "ManagedDatabaseValkeyNodeStatesList":
287
+ return typing.cast("ManagedDatabaseValkeyNodeStatesList", jsii.get(self, "nodeStates"))
288
+
289
+ @builtins.property
290
+ @jsii.member(jsii_name="primaryDatabase")
291
+ def primary_database(self) -> builtins.str:
292
+ return typing.cast(builtins.str, jsii.get(self, "primaryDatabase"))
293
+
294
+ @builtins.property
295
+ @jsii.member(jsii_name="properties")
296
+ def properties(self) -> "ManagedDatabaseValkeyPropertiesOutputReference":
297
+ return typing.cast("ManagedDatabaseValkeyPropertiesOutputReference", jsii.get(self, "properties"))
298
+
299
+ @builtins.property
300
+ @jsii.member(jsii_name="serviceHost")
301
+ def service_host(self) -> builtins.str:
302
+ return typing.cast(builtins.str, jsii.get(self, "serviceHost"))
303
+
304
+ @builtins.property
305
+ @jsii.member(jsii_name="servicePassword")
306
+ def service_password(self) -> builtins.str:
307
+ return typing.cast(builtins.str, jsii.get(self, "servicePassword"))
308
+
309
+ @builtins.property
310
+ @jsii.member(jsii_name="servicePort")
311
+ def service_port(self) -> builtins.str:
312
+ return typing.cast(builtins.str, jsii.get(self, "servicePort"))
313
+
314
+ @builtins.property
315
+ @jsii.member(jsii_name="serviceUri")
316
+ def service_uri(self) -> builtins.str:
317
+ return typing.cast(builtins.str, jsii.get(self, "serviceUri"))
318
+
319
+ @builtins.property
320
+ @jsii.member(jsii_name="serviceUsername")
321
+ def service_username(self) -> builtins.str:
322
+ return typing.cast(builtins.str, jsii.get(self, "serviceUsername"))
323
+
324
+ @builtins.property
325
+ @jsii.member(jsii_name="state")
326
+ def state(self) -> builtins.str:
327
+ return typing.cast(builtins.str, jsii.get(self, "state"))
328
+
329
+ @builtins.property
330
+ @jsii.member(jsii_name="type")
331
+ def type(self) -> builtins.str:
332
+ return typing.cast(builtins.str, jsii.get(self, "type"))
333
+
334
+ @builtins.property
335
+ @jsii.member(jsii_name="idInput")
336
+ def id_input(self) -> typing.Optional[builtins.str]:
337
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "idInput"))
338
+
339
+ @builtins.property
340
+ @jsii.member(jsii_name="labelsInput")
341
+ def labels_input(
342
+ self,
343
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
344
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "labelsInput"))
345
+
346
+ @builtins.property
347
+ @jsii.member(jsii_name="maintenanceWindowDowInput")
348
+ def maintenance_window_dow_input(self) -> typing.Optional[builtins.str]:
349
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "maintenanceWindowDowInput"))
350
+
351
+ @builtins.property
352
+ @jsii.member(jsii_name="maintenanceWindowTimeInput")
353
+ def maintenance_window_time_input(self) -> typing.Optional[builtins.str]:
354
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "maintenanceWindowTimeInput"))
355
+
356
+ @builtins.property
357
+ @jsii.member(jsii_name="nameInput")
358
+ def name_input(self) -> typing.Optional[builtins.str]:
359
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
360
+
361
+ @builtins.property
362
+ @jsii.member(jsii_name="networkInput")
363
+ def network_input(
364
+ self,
365
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseValkeyNetwork"]]]:
366
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseValkeyNetwork"]]], jsii.get(self, "networkInput"))
367
+
368
+ @builtins.property
369
+ @jsii.member(jsii_name="planInput")
370
+ def plan_input(self) -> typing.Optional[builtins.str]:
371
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "planInput"))
372
+
373
+ @builtins.property
374
+ @jsii.member(jsii_name="poweredInput")
375
+ def powered_input(
376
+ self,
377
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
378
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "poweredInput"))
379
+
380
+ @builtins.property
381
+ @jsii.member(jsii_name="propertiesInput")
382
+ def properties_input(self) -> typing.Optional["ManagedDatabaseValkeyProperties"]:
383
+ return typing.cast(typing.Optional["ManagedDatabaseValkeyProperties"], jsii.get(self, "propertiesInput"))
384
+
385
+ @builtins.property
386
+ @jsii.member(jsii_name="terminationProtectionInput")
387
+ def termination_protection_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, "terminationProtectionInput"))
391
+
392
+ @builtins.property
393
+ @jsii.member(jsii_name="titleInput")
394
+ def title_input(self) -> typing.Optional[builtins.str]:
395
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "titleInput"))
396
+
397
+ @builtins.property
398
+ @jsii.member(jsii_name="zoneInput")
399
+ def zone_input(self) -> typing.Optional[builtins.str]:
400
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "zoneInput"))
401
+
402
+ @builtins.property
403
+ @jsii.member(jsii_name="id")
404
+ def id(self) -> builtins.str:
405
+ return typing.cast(builtins.str, jsii.get(self, "id"))
406
+
407
+ @id.setter
408
+ def id(self, value: builtins.str) -> None:
409
+ if __debug__:
410
+ type_hints = typing.get_type_hints(_typecheckingstub__b41fe74abf03b1ee4f0b5f521d5e3e995ded4c72f89438f83df1a19a755cf210)
411
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
412
+ jsii.set(self, "id", value) # pyright: ignore[reportArgumentType]
413
+
414
+ @builtins.property
415
+ @jsii.member(jsii_name="labels")
416
+ def labels(self) -> typing.Mapping[builtins.str, builtins.str]:
417
+ return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "labels"))
418
+
419
+ @labels.setter
420
+ def labels(self, value: typing.Mapping[builtins.str, builtins.str]) -> None:
421
+ if __debug__:
422
+ type_hints = typing.get_type_hints(_typecheckingstub__582e5d19d5e9e322b330c3b5bede9c40c98cc138fef81206fe5627e535dff1bb)
423
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
424
+ jsii.set(self, "labels", value) # pyright: ignore[reportArgumentType]
425
+
426
+ @builtins.property
427
+ @jsii.member(jsii_name="maintenanceWindowDow")
428
+ def maintenance_window_dow(self) -> builtins.str:
429
+ return typing.cast(builtins.str, jsii.get(self, "maintenanceWindowDow"))
430
+
431
+ @maintenance_window_dow.setter
432
+ def maintenance_window_dow(self, value: builtins.str) -> None:
433
+ if __debug__:
434
+ type_hints = typing.get_type_hints(_typecheckingstub__143dbf09447146d1251e1d077d8d015a4d72185c65356c2cbc926407d4a9d66d)
435
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
436
+ jsii.set(self, "maintenanceWindowDow", value) # pyright: ignore[reportArgumentType]
437
+
438
+ @builtins.property
439
+ @jsii.member(jsii_name="maintenanceWindowTime")
440
+ def maintenance_window_time(self) -> builtins.str:
441
+ return typing.cast(builtins.str, jsii.get(self, "maintenanceWindowTime"))
442
+
443
+ @maintenance_window_time.setter
444
+ def maintenance_window_time(self, value: builtins.str) -> None:
445
+ if __debug__:
446
+ type_hints = typing.get_type_hints(_typecheckingstub__94bc5c33c77b831f6591e0bd7fc829f250e2b41e491c36b6e70fba5c7fca15f8)
447
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
448
+ jsii.set(self, "maintenanceWindowTime", value) # pyright: ignore[reportArgumentType]
449
+
450
+ @builtins.property
451
+ @jsii.member(jsii_name="name")
452
+ def name(self) -> builtins.str:
453
+ return typing.cast(builtins.str, jsii.get(self, "name"))
454
+
455
+ @name.setter
456
+ def name(self, value: builtins.str) -> None:
457
+ if __debug__:
458
+ type_hints = typing.get_type_hints(_typecheckingstub__2558e1f521ac9d42f41277e188f9b3916e911b33d98c46eba7b35837f9d5e5aa)
459
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
460
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
461
+
462
+ @builtins.property
463
+ @jsii.member(jsii_name="plan")
464
+ def plan(self) -> builtins.str:
465
+ return typing.cast(builtins.str, jsii.get(self, "plan"))
466
+
467
+ @plan.setter
468
+ def plan(self, value: builtins.str) -> None:
469
+ if __debug__:
470
+ type_hints = typing.get_type_hints(_typecheckingstub__d03add559c3e5c8300d41809a9579ab79a30ac2280a9116b12f9e956f5b176e7)
471
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
472
+ jsii.set(self, "plan", value) # pyright: ignore[reportArgumentType]
473
+
474
+ @builtins.property
475
+ @jsii.member(jsii_name="powered")
476
+ def powered(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
477
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "powered"))
478
+
479
+ @powered.setter
480
+ def powered(
481
+ self,
482
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
483
+ ) -> None:
484
+ if __debug__:
485
+ type_hints = typing.get_type_hints(_typecheckingstub__8bad55e55d8452abe892cea5a4bec66a6ab86e9bc3d56b0a36cfe63e18325c01)
486
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
487
+ jsii.set(self, "powered", value) # pyright: ignore[reportArgumentType]
488
+
489
+ @builtins.property
490
+ @jsii.member(jsii_name="terminationProtection")
491
+ def termination_protection(
492
+ self,
493
+ ) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
494
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "terminationProtection"))
495
+
496
+ @termination_protection.setter
497
+ def termination_protection(
498
+ self,
499
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
500
+ ) -> None:
501
+ if __debug__:
502
+ type_hints = typing.get_type_hints(_typecheckingstub__2e2a35e3062885d4364913bf8f82e9adbc5cf8ee7b9a4712ac632c0c18444667)
503
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
504
+ jsii.set(self, "terminationProtection", value) # pyright: ignore[reportArgumentType]
505
+
506
+ @builtins.property
507
+ @jsii.member(jsii_name="title")
508
+ def title(self) -> builtins.str:
509
+ return typing.cast(builtins.str, jsii.get(self, "title"))
510
+
511
+ @title.setter
512
+ def title(self, value: builtins.str) -> None:
513
+ if __debug__:
514
+ type_hints = typing.get_type_hints(_typecheckingstub__587e4697953225f3226603c43b6632073e29e531cd8559a516447b2f279761f1)
515
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
516
+ jsii.set(self, "title", value) # pyright: ignore[reportArgumentType]
517
+
518
+ @builtins.property
519
+ @jsii.member(jsii_name="zone")
520
+ def zone(self) -> builtins.str:
521
+ return typing.cast(builtins.str, jsii.get(self, "zone"))
522
+
523
+ @zone.setter
524
+ def zone(self, value: builtins.str) -> None:
525
+ if __debug__:
526
+ type_hints = typing.get_type_hints(_typecheckingstub__d784cbad4812d74571ea6bd4f345ded5999d60288344c5b7666a672de8ab4f93)
527
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
528
+ jsii.set(self, "zone", value) # pyright: ignore[reportArgumentType]
529
+
530
+
531
+ @jsii.data_type(
532
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyComponents",
533
+ jsii_struct_bases=[],
534
+ name_mapping={},
535
+ )
536
+ class ManagedDatabaseValkeyComponents:
537
+ def __init__(self) -> None:
538
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
539
+
540
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
541
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
542
+
543
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
544
+ return not (rhs == self)
545
+
546
+ def __repr__(self) -> str:
547
+ return "ManagedDatabaseValkeyComponents(%s)" % ", ".join(
548
+ k + "=" + repr(v) for k, v in self._values.items()
549
+ )
550
+
551
+
552
+ class ManagedDatabaseValkeyComponentsList(
553
+ _cdktf_9a9027ec.ComplexList,
554
+ metaclass=jsii.JSIIMeta,
555
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyComponentsList",
556
+ ):
557
+ def __init__(
558
+ self,
559
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
560
+ terraform_attribute: builtins.str,
561
+ wraps_set: builtins.bool,
562
+ ) -> None:
563
+ '''
564
+ :param terraform_resource: The parent resource.
565
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
566
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
567
+ '''
568
+ if __debug__:
569
+ type_hints = typing.get_type_hints(_typecheckingstub__cf4f52898b75a9b0604cb414405e6251854854d6b3965a6524b46da5002b3322)
570
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
571
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
572
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
573
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
574
+
575
+ @jsii.member(jsii_name="get")
576
+ def get(
577
+ self,
578
+ index: jsii.Number,
579
+ ) -> "ManagedDatabaseValkeyComponentsOutputReference":
580
+ '''
581
+ :param index: the index of the item to return.
582
+ '''
583
+ if __debug__:
584
+ type_hints = typing.get_type_hints(_typecheckingstub__f4252d9db585952153c1c7b4ab9959c5e9735acd2eacc7718a173e3af9b63655)
585
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
586
+ return typing.cast("ManagedDatabaseValkeyComponentsOutputReference", jsii.invoke(self, "get", [index]))
587
+
588
+ @builtins.property
589
+ @jsii.member(jsii_name="terraformAttribute")
590
+ def _terraform_attribute(self) -> builtins.str:
591
+ '''The attribute on the parent resource this class is referencing.'''
592
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
593
+
594
+ @_terraform_attribute.setter
595
+ def _terraform_attribute(self, value: builtins.str) -> None:
596
+ if __debug__:
597
+ type_hints = typing.get_type_hints(_typecheckingstub__8d6e320ee08cff87cf383a49d240e7b08cc1cde188220b5ebbaa1aa01276cd47)
598
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
599
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
600
+
601
+ @builtins.property
602
+ @jsii.member(jsii_name="terraformResource")
603
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
604
+ '''The parent resource.'''
605
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
606
+
607
+ @_terraform_resource.setter
608
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
609
+ if __debug__:
610
+ type_hints = typing.get_type_hints(_typecheckingstub__d01ad4104711108a61bfe60b65ce72760f44f64c48e6d32829e0cd80c705aae2)
611
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
612
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
613
+
614
+ @builtins.property
615
+ @jsii.member(jsii_name="wrapsSet")
616
+ def _wraps_set(self) -> builtins.bool:
617
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
618
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
619
+
620
+ @_wraps_set.setter
621
+ def _wraps_set(self, value: builtins.bool) -> None:
622
+ if __debug__:
623
+ type_hints = typing.get_type_hints(_typecheckingstub__9717b3417f02063948e02cb67f4622cbd85be8020fbdec4526701605c0e76db8)
624
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
625
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
626
+
627
+
628
+ class ManagedDatabaseValkeyComponentsOutputReference(
629
+ _cdktf_9a9027ec.ComplexObject,
630
+ metaclass=jsii.JSIIMeta,
631
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyComponentsOutputReference",
632
+ ):
633
+ def __init__(
634
+ self,
635
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
636
+ terraform_attribute: builtins.str,
637
+ complex_object_index: jsii.Number,
638
+ complex_object_is_from_set: builtins.bool,
639
+ ) -> None:
640
+ '''
641
+ :param terraform_resource: The parent resource.
642
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
643
+ :param complex_object_index: the index of this item in the list.
644
+ :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).
645
+ '''
646
+ if __debug__:
647
+ type_hints = typing.get_type_hints(_typecheckingstub__74486c446b4bb4d03113a6716ef1ae8d4f578400c1889d35913c174dcca771eb)
648
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
649
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
650
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
651
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
652
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
653
+
654
+ @builtins.property
655
+ @jsii.member(jsii_name="component")
656
+ def component(self) -> builtins.str:
657
+ return typing.cast(builtins.str, jsii.get(self, "component"))
658
+
659
+ @builtins.property
660
+ @jsii.member(jsii_name="host")
661
+ def host(self) -> builtins.str:
662
+ return typing.cast(builtins.str, jsii.get(self, "host"))
663
+
664
+ @builtins.property
665
+ @jsii.member(jsii_name="port")
666
+ def port(self) -> jsii.Number:
667
+ return typing.cast(jsii.Number, jsii.get(self, "port"))
668
+
669
+ @builtins.property
670
+ @jsii.member(jsii_name="route")
671
+ def route(self) -> builtins.str:
672
+ return typing.cast(builtins.str, jsii.get(self, "route"))
673
+
674
+ @builtins.property
675
+ @jsii.member(jsii_name="usage")
676
+ def usage(self) -> builtins.str:
677
+ return typing.cast(builtins.str, jsii.get(self, "usage"))
678
+
679
+ @builtins.property
680
+ @jsii.member(jsii_name="internalValue")
681
+ def internal_value(self) -> typing.Optional[ManagedDatabaseValkeyComponents]:
682
+ return typing.cast(typing.Optional[ManagedDatabaseValkeyComponents], jsii.get(self, "internalValue"))
683
+
684
+ @internal_value.setter
685
+ def internal_value(
686
+ self,
687
+ value: typing.Optional[ManagedDatabaseValkeyComponents],
688
+ ) -> None:
689
+ if __debug__:
690
+ type_hints = typing.get_type_hints(_typecheckingstub__f8aac1a49ad50d49df4e2f2de04bd60a6f054eeff1e57e01b8130b16417b58c3)
691
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
692
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
693
+
694
+
695
+ @jsii.data_type(
696
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyConfig",
697
+ jsii_struct_bases=[_cdktf_9a9027ec.TerraformMetaArguments],
698
+ name_mapping={
699
+ "connection": "connection",
700
+ "count": "count",
701
+ "depends_on": "dependsOn",
702
+ "for_each": "forEach",
703
+ "lifecycle": "lifecycle",
704
+ "provider": "provider",
705
+ "provisioners": "provisioners",
706
+ "name": "name",
707
+ "plan": "plan",
708
+ "title": "title",
709
+ "zone": "zone",
710
+ "id": "id",
711
+ "labels": "labels",
712
+ "maintenance_window_dow": "maintenanceWindowDow",
713
+ "maintenance_window_time": "maintenanceWindowTime",
714
+ "network": "network",
715
+ "powered": "powered",
716
+ "properties": "properties",
717
+ "termination_protection": "terminationProtection",
718
+ },
719
+ )
720
+ class ManagedDatabaseValkeyConfig(_cdktf_9a9027ec.TerraformMetaArguments):
721
+ def __init__(
722
+ self,
723
+ *,
724
+ 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,
725
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
726
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
727
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
728
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
729
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
730
+ 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,
731
+ name: builtins.str,
732
+ plan: builtins.str,
733
+ title: builtins.str,
734
+ zone: builtins.str,
735
+ id: typing.Optional[builtins.str] = None,
736
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
737
+ maintenance_window_dow: typing.Optional[builtins.str] = None,
738
+ maintenance_window_time: typing.Optional[builtins.str] = None,
739
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ManagedDatabaseValkeyNetwork", typing.Dict[builtins.str, typing.Any]]]]] = None,
740
+ powered: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
741
+ properties: typing.Optional[typing.Union["ManagedDatabaseValkeyProperties", typing.Dict[builtins.str, typing.Any]]] = None,
742
+ termination_protection: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
743
+ ) -> None:
744
+ '''
745
+ :param connection:
746
+ :param count:
747
+ :param depends_on:
748
+ :param for_each:
749
+ :param lifecycle:
750
+ :param provider:
751
+ :param provisioners:
752
+ :param name: Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#name ManagedDatabaseValkey#name}
753
+ :param plan: Service plan to use. This determines how much resources the instance will have. You can list available plans with ``upctl database plans <type>``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#plan ManagedDatabaseValkey#plan}
754
+ :param title: Title of a managed database instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#title ManagedDatabaseValkey#title}
755
+ :param zone: Zone where the instance resides, 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.16.0/docs/resources/managed_database_valkey#zone ManagedDatabaseValkey#zone}
756
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#id ManagedDatabaseValkey#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
757
+ :param labels: User defined key-value pairs to classify the managed database. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#labels ManagedDatabaseValkey#labels}
758
+ :param maintenance_window_dow: Maintenance window day of week. Lower case weekday name (monday, tuesday, ...). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#maintenance_window_dow ManagedDatabaseValkey#maintenance_window_dow}
759
+ :param maintenance_window_time: Maintenance window UTC time in hh:mm:ss format. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#maintenance_window_time ManagedDatabaseValkey#maintenance_window_time}
760
+ :param network: network block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#network ManagedDatabaseValkey#network}
761
+ :param powered: The administrative power state of the service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#powered ManagedDatabaseValkey#powered}
762
+ :param properties: properties block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#properties ManagedDatabaseValkey#properties}
763
+ :param termination_protection: If set to true, prevents the managed service from being powered off, or deleted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#termination_protection ManagedDatabaseValkey#termination_protection}
764
+ '''
765
+ if isinstance(lifecycle, dict):
766
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
767
+ if isinstance(properties, dict):
768
+ properties = ManagedDatabaseValkeyProperties(**properties)
769
+ if __debug__:
770
+ type_hints = typing.get_type_hints(_typecheckingstub__572e81ffbdca76e6a311042e02f5f60989357be28c5c9418094954727f2b5e84)
771
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
772
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
773
+ check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
774
+ check_type(argname="argument for_each", value=for_each, expected_type=type_hints["for_each"])
775
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
776
+ check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
777
+ check_type(argname="argument provisioners", value=provisioners, expected_type=type_hints["provisioners"])
778
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
779
+ check_type(argname="argument plan", value=plan, expected_type=type_hints["plan"])
780
+ check_type(argname="argument title", value=title, expected_type=type_hints["title"])
781
+ check_type(argname="argument zone", value=zone, expected_type=type_hints["zone"])
782
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
783
+ check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
784
+ check_type(argname="argument maintenance_window_dow", value=maintenance_window_dow, expected_type=type_hints["maintenance_window_dow"])
785
+ check_type(argname="argument maintenance_window_time", value=maintenance_window_time, expected_type=type_hints["maintenance_window_time"])
786
+ check_type(argname="argument network", value=network, expected_type=type_hints["network"])
787
+ check_type(argname="argument powered", value=powered, expected_type=type_hints["powered"])
788
+ check_type(argname="argument properties", value=properties, expected_type=type_hints["properties"])
789
+ check_type(argname="argument termination_protection", value=termination_protection, expected_type=type_hints["termination_protection"])
790
+ self._values: typing.Dict[builtins.str, typing.Any] = {
791
+ "name": name,
792
+ "plan": plan,
793
+ "title": title,
794
+ "zone": zone,
795
+ }
796
+ if connection is not None:
797
+ self._values["connection"] = connection
798
+ if count is not None:
799
+ self._values["count"] = count
800
+ if depends_on is not None:
801
+ self._values["depends_on"] = depends_on
802
+ if for_each is not None:
803
+ self._values["for_each"] = for_each
804
+ if lifecycle is not None:
805
+ self._values["lifecycle"] = lifecycle
806
+ if provider is not None:
807
+ self._values["provider"] = provider
808
+ if provisioners is not None:
809
+ self._values["provisioners"] = provisioners
810
+ if id is not None:
811
+ self._values["id"] = id
812
+ if labels is not None:
813
+ self._values["labels"] = labels
814
+ if maintenance_window_dow is not None:
815
+ self._values["maintenance_window_dow"] = maintenance_window_dow
816
+ if maintenance_window_time is not None:
817
+ self._values["maintenance_window_time"] = maintenance_window_time
818
+ if network is not None:
819
+ self._values["network"] = network
820
+ if powered is not None:
821
+ self._values["powered"] = powered
822
+ if properties is not None:
823
+ self._values["properties"] = properties
824
+ if termination_protection is not None:
825
+ self._values["termination_protection"] = termination_protection
826
+
827
+ @builtins.property
828
+ def connection(
829
+ self,
830
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]]:
831
+ '''
832
+ :stability: experimental
833
+ '''
834
+ result = self._values.get("connection")
835
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, _cdktf_9a9027ec.WinrmProvisionerConnection]], result)
836
+
837
+ @builtins.property
838
+ def count(
839
+ self,
840
+ ) -> typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]]:
841
+ '''
842
+ :stability: experimental
843
+ '''
844
+ result = self._values.get("count")
845
+ return typing.cast(typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]], result)
846
+
847
+ @builtins.property
848
+ def depends_on(
849
+ self,
850
+ ) -> typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]]:
851
+ '''
852
+ :stability: experimental
853
+ '''
854
+ result = self._values.get("depends_on")
855
+ return typing.cast(typing.Optional[typing.List[_cdktf_9a9027ec.ITerraformDependable]], result)
856
+
857
+ @builtins.property
858
+ def for_each(self) -> typing.Optional[_cdktf_9a9027ec.ITerraformIterator]:
859
+ '''
860
+ :stability: experimental
861
+ '''
862
+ result = self._values.get("for_each")
863
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.ITerraformIterator], result)
864
+
865
+ @builtins.property
866
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
867
+ '''
868
+ :stability: experimental
869
+ '''
870
+ result = self._values.get("lifecycle")
871
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
872
+
873
+ @builtins.property
874
+ def provider(self) -> typing.Optional[_cdktf_9a9027ec.TerraformProvider]:
875
+ '''
876
+ :stability: experimental
877
+ '''
878
+ result = self._values.get("provider")
879
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformProvider], result)
880
+
881
+ @builtins.property
882
+ def provisioners(
883
+ self,
884
+ ) -> typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]]:
885
+ '''
886
+ :stability: experimental
887
+ '''
888
+ result = self._values.get("provisioners")
889
+ return typing.cast(typing.Optional[typing.List[typing.Union[_cdktf_9a9027ec.FileProvisioner, _cdktf_9a9027ec.LocalExecProvisioner, _cdktf_9a9027ec.RemoteExecProvisioner]]], result)
890
+
891
+ @builtins.property
892
+ def name(self) -> builtins.str:
893
+ '''Name of the service.
894
+
895
+ The name is used as a prefix for the logical hostname. Must be unique within an account
896
+
897
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#name ManagedDatabaseValkey#name}
898
+ '''
899
+ result = self._values.get("name")
900
+ assert result is not None, "Required property 'name' is missing"
901
+ return typing.cast(builtins.str, result)
902
+
903
+ @builtins.property
904
+ def plan(self) -> builtins.str:
905
+ '''Service plan to use.
906
+
907
+ This determines how much resources the instance will have. You can list available plans with ``upctl database plans <type>``.
908
+
909
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#plan ManagedDatabaseValkey#plan}
910
+ '''
911
+ result = self._values.get("plan")
912
+ assert result is not None, "Required property 'plan' is missing"
913
+ return typing.cast(builtins.str, result)
914
+
915
+ @builtins.property
916
+ def title(self) -> builtins.str:
917
+ '''Title of a managed database instance.
918
+
919
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#title ManagedDatabaseValkey#title}
920
+ '''
921
+ result = self._values.get("title")
922
+ assert result is not None, "Required property 'title' is missing"
923
+ return typing.cast(builtins.str, result)
924
+
925
+ @builtins.property
926
+ def zone(self) -> builtins.str:
927
+ '''Zone where the instance resides, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``.
928
+
929
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#zone ManagedDatabaseValkey#zone}
930
+ '''
931
+ result = self._values.get("zone")
932
+ assert result is not None, "Required property 'zone' is missing"
933
+ return typing.cast(builtins.str, result)
934
+
935
+ @builtins.property
936
+ def id(self) -> typing.Optional[builtins.str]:
937
+ '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#id ManagedDatabaseValkey#id}.
938
+
939
+ Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
940
+ If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
941
+ '''
942
+ result = self._values.get("id")
943
+ return typing.cast(typing.Optional[builtins.str], result)
944
+
945
+ @builtins.property
946
+ def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
947
+ '''User defined key-value pairs to classify the managed database.
948
+
949
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#labels ManagedDatabaseValkey#labels}
950
+ '''
951
+ result = self._values.get("labels")
952
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
953
+
954
+ @builtins.property
955
+ def maintenance_window_dow(self) -> typing.Optional[builtins.str]:
956
+ '''Maintenance window day of week. Lower case weekday name (monday, tuesday, ...).
957
+
958
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#maintenance_window_dow ManagedDatabaseValkey#maintenance_window_dow}
959
+ '''
960
+ result = self._values.get("maintenance_window_dow")
961
+ return typing.cast(typing.Optional[builtins.str], result)
962
+
963
+ @builtins.property
964
+ def maintenance_window_time(self) -> typing.Optional[builtins.str]:
965
+ '''Maintenance window UTC time in hh:mm:ss format.
966
+
967
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#maintenance_window_time ManagedDatabaseValkey#maintenance_window_time}
968
+ '''
969
+ result = self._values.get("maintenance_window_time")
970
+ return typing.cast(typing.Optional[builtins.str], result)
971
+
972
+ @builtins.property
973
+ def network(
974
+ self,
975
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseValkeyNetwork"]]]:
976
+ '''network block.
977
+
978
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#network ManagedDatabaseValkey#network}
979
+ '''
980
+ result = self._values.get("network")
981
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseValkeyNetwork"]]], result)
982
+
983
+ @builtins.property
984
+ def powered(
985
+ self,
986
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
987
+ '''The administrative power state of the service.
988
+
989
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#powered ManagedDatabaseValkey#powered}
990
+ '''
991
+ result = self._values.get("powered")
992
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
993
+
994
+ @builtins.property
995
+ def properties(self) -> typing.Optional["ManagedDatabaseValkeyProperties"]:
996
+ '''properties block.
997
+
998
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#properties ManagedDatabaseValkey#properties}
999
+ '''
1000
+ result = self._values.get("properties")
1001
+ return typing.cast(typing.Optional["ManagedDatabaseValkeyProperties"], result)
1002
+
1003
+ @builtins.property
1004
+ def termination_protection(
1005
+ self,
1006
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1007
+ '''If set to true, prevents the managed service from being powered off, or deleted.
1008
+
1009
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#termination_protection ManagedDatabaseValkey#termination_protection}
1010
+ '''
1011
+ result = self._values.get("termination_protection")
1012
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1013
+
1014
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1015
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1016
+
1017
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1018
+ return not (rhs == self)
1019
+
1020
+ def __repr__(self) -> str:
1021
+ return "ManagedDatabaseValkeyConfig(%s)" % ", ".join(
1022
+ k + "=" + repr(v) for k, v in self._values.items()
1023
+ )
1024
+
1025
+
1026
+ @jsii.data_type(
1027
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNetwork",
1028
+ jsii_struct_bases=[],
1029
+ name_mapping={"family": "family", "name": "name", "type": "type", "uuid": "uuid"},
1030
+ )
1031
+ class ManagedDatabaseValkeyNetwork:
1032
+ def __init__(
1033
+ self,
1034
+ *,
1035
+ family: builtins.str,
1036
+ name: builtins.str,
1037
+ type: builtins.str,
1038
+ uuid: builtins.str,
1039
+ ) -> None:
1040
+ '''
1041
+ :param family: Network family. Currently only ``IPv4`` is supported. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#family ManagedDatabaseValkey#family}
1042
+ :param name: The name of the network. Must be unique within the service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#name ManagedDatabaseValkey#name}
1043
+ :param type: The type of the network. Must be private. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#type ManagedDatabaseValkey#type}
1044
+ :param uuid: Private network UUID. Must reside in the same zone as the database. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#uuid ManagedDatabaseValkey#uuid}
1045
+ '''
1046
+ if __debug__:
1047
+ type_hints = typing.get_type_hints(_typecheckingstub__86bc6cfbeb2b0d724aae3cd0dc476ec5f0060e413bec0604ca6101e019eba72f)
1048
+ check_type(argname="argument family", value=family, expected_type=type_hints["family"])
1049
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1050
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
1051
+ check_type(argname="argument uuid", value=uuid, expected_type=type_hints["uuid"])
1052
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1053
+ "family": family,
1054
+ "name": name,
1055
+ "type": type,
1056
+ "uuid": uuid,
1057
+ }
1058
+
1059
+ @builtins.property
1060
+ def family(self) -> builtins.str:
1061
+ '''Network family. Currently only ``IPv4`` is supported.
1062
+
1063
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#family ManagedDatabaseValkey#family}
1064
+ '''
1065
+ result = self._values.get("family")
1066
+ assert result is not None, "Required property 'family' is missing"
1067
+ return typing.cast(builtins.str, result)
1068
+
1069
+ @builtins.property
1070
+ def name(self) -> builtins.str:
1071
+ '''The name of the network. Must be unique within the service.
1072
+
1073
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#name ManagedDatabaseValkey#name}
1074
+ '''
1075
+ result = self._values.get("name")
1076
+ assert result is not None, "Required property 'name' is missing"
1077
+ return typing.cast(builtins.str, result)
1078
+
1079
+ @builtins.property
1080
+ def type(self) -> builtins.str:
1081
+ '''The type of the network. Must be private.
1082
+
1083
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#type ManagedDatabaseValkey#type}
1084
+ '''
1085
+ result = self._values.get("type")
1086
+ assert result is not None, "Required property 'type' is missing"
1087
+ return typing.cast(builtins.str, result)
1088
+
1089
+ @builtins.property
1090
+ def uuid(self) -> builtins.str:
1091
+ '''Private network UUID. Must reside in the same zone as the database.
1092
+
1093
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#uuid ManagedDatabaseValkey#uuid}
1094
+ '''
1095
+ result = self._values.get("uuid")
1096
+ assert result is not None, "Required property 'uuid' is missing"
1097
+ return typing.cast(builtins.str, result)
1098
+
1099
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1100
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1101
+
1102
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1103
+ return not (rhs == self)
1104
+
1105
+ def __repr__(self) -> str:
1106
+ return "ManagedDatabaseValkeyNetwork(%s)" % ", ".join(
1107
+ k + "=" + repr(v) for k, v in self._values.items()
1108
+ )
1109
+
1110
+
1111
+ class ManagedDatabaseValkeyNetworkList(
1112
+ _cdktf_9a9027ec.ComplexList,
1113
+ metaclass=jsii.JSIIMeta,
1114
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNetworkList",
1115
+ ):
1116
+ def __init__(
1117
+ self,
1118
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1119
+ terraform_attribute: builtins.str,
1120
+ wraps_set: builtins.bool,
1121
+ ) -> None:
1122
+ '''
1123
+ :param terraform_resource: The parent resource.
1124
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1125
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
1126
+ '''
1127
+ if __debug__:
1128
+ type_hints = typing.get_type_hints(_typecheckingstub__3f387effda8c16fde9966811ccf787b3d56271088a5b593d10bd528d49165c7f)
1129
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1130
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1131
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
1132
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
1133
+
1134
+ @jsii.member(jsii_name="get")
1135
+ def get(self, index: jsii.Number) -> "ManagedDatabaseValkeyNetworkOutputReference":
1136
+ '''
1137
+ :param index: the index of the item to return.
1138
+ '''
1139
+ if __debug__:
1140
+ type_hints = typing.get_type_hints(_typecheckingstub__b2cc2c3d970c95aa4a181f20ece6cae2da769925316379879259191e890fc425)
1141
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
1142
+ return typing.cast("ManagedDatabaseValkeyNetworkOutputReference", jsii.invoke(self, "get", [index]))
1143
+
1144
+ @builtins.property
1145
+ @jsii.member(jsii_name="terraformAttribute")
1146
+ def _terraform_attribute(self) -> builtins.str:
1147
+ '''The attribute on the parent resource this class is referencing.'''
1148
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
1149
+
1150
+ @_terraform_attribute.setter
1151
+ def _terraform_attribute(self, value: builtins.str) -> None:
1152
+ if __debug__:
1153
+ type_hints = typing.get_type_hints(_typecheckingstub__b1f288935f98f823df0793a078e8de29a92298eeac83e277d79e6f5b6e9c6819)
1154
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1155
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
1156
+
1157
+ @builtins.property
1158
+ @jsii.member(jsii_name="terraformResource")
1159
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
1160
+ '''The parent resource.'''
1161
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
1162
+
1163
+ @_terraform_resource.setter
1164
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
1165
+ if __debug__:
1166
+ type_hints = typing.get_type_hints(_typecheckingstub__1ce318a3e6e190673efb3cff247a30d8c50c2a72993e57587a0a7bbac9667ca3)
1167
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1168
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
1169
+
1170
+ @builtins.property
1171
+ @jsii.member(jsii_name="wrapsSet")
1172
+ def _wraps_set(self) -> builtins.bool:
1173
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
1174
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
1175
+
1176
+ @_wraps_set.setter
1177
+ def _wraps_set(self, value: builtins.bool) -> None:
1178
+ if __debug__:
1179
+ type_hints = typing.get_type_hints(_typecheckingstub__481786a55a2dc14dc3f4da44e7f8873f8427ecce80d885eb17eeee0c53c32a87)
1180
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1181
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
1182
+
1183
+ @builtins.property
1184
+ @jsii.member(jsii_name="internalValue")
1185
+ def internal_value(
1186
+ self,
1187
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseValkeyNetwork]]]:
1188
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseValkeyNetwork]]], jsii.get(self, "internalValue"))
1189
+
1190
+ @internal_value.setter
1191
+ def internal_value(
1192
+ self,
1193
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseValkeyNetwork]]],
1194
+ ) -> None:
1195
+ if __debug__:
1196
+ type_hints = typing.get_type_hints(_typecheckingstub__b13648ea5908387b35158d29883e52641c749981675ab65432e63968b8ef75a5)
1197
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1198
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1199
+
1200
+
1201
+ class ManagedDatabaseValkeyNetworkOutputReference(
1202
+ _cdktf_9a9027ec.ComplexObject,
1203
+ metaclass=jsii.JSIIMeta,
1204
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNetworkOutputReference",
1205
+ ):
1206
+ def __init__(
1207
+ self,
1208
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1209
+ terraform_attribute: builtins.str,
1210
+ complex_object_index: jsii.Number,
1211
+ complex_object_is_from_set: builtins.bool,
1212
+ ) -> None:
1213
+ '''
1214
+ :param terraform_resource: The parent resource.
1215
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1216
+ :param complex_object_index: the index of this item in the list.
1217
+ :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).
1218
+ '''
1219
+ if __debug__:
1220
+ type_hints = typing.get_type_hints(_typecheckingstub__2824d1ded7fae4598e64b29704860b7e65e1f60cc8c2ba18af6f88b9c393faff)
1221
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1222
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1223
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
1224
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
1225
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
1226
+
1227
+ @builtins.property
1228
+ @jsii.member(jsii_name="familyInput")
1229
+ def family_input(self) -> typing.Optional[builtins.str]:
1230
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "familyInput"))
1231
+
1232
+ @builtins.property
1233
+ @jsii.member(jsii_name="nameInput")
1234
+ def name_input(self) -> typing.Optional[builtins.str]:
1235
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
1236
+
1237
+ @builtins.property
1238
+ @jsii.member(jsii_name="typeInput")
1239
+ def type_input(self) -> typing.Optional[builtins.str]:
1240
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeInput"))
1241
+
1242
+ @builtins.property
1243
+ @jsii.member(jsii_name="uuidInput")
1244
+ def uuid_input(self) -> typing.Optional[builtins.str]:
1245
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "uuidInput"))
1246
+
1247
+ @builtins.property
1248
+ @jsii.member(jsii_name="family")
1249
+ def family(self) -> builtins.str:
1250
+ return typing.cast(builtins.str, jsii.get(self, "family"))
1251
+
1252
+ @family.setter
1253
+ def family(self, value: builtins.str) -> None:
1254
+ if __debug__:
1255
+ type_hints = typing.get_type_hints(_typecheckingstub__4fa688fb44a82433ca388090b8249ad71a4bc831cce3794d229093b4b56293f6)
1256
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1257
+ jsii.set(self, "family", value) # pyright: ignore[reportArgumentType]
1258
+
1259
+ @builtins.property
1260
+ @jsii.member(jsii_name="name")
1261
+ def name(self) -> builtins.str:
1262
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1263
+
1264
+ @name.setter
1265
+ def name(self, value: builtins.str) -> None:
1266
+ if __debug__:
1267
+ type_hints = typing.get_type_hints(_typecheckingstub__5b54ca25e12af584a57e78a38206ab3436c3e1bac4eee6604e90f51def133755)
1268
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1269
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
1270
+
1271
+ @builtins.property
1272
+ @jsii.member(jsii_name="type")
1273
+ def type(self) -> builtins.str:
1274
+ return typing.cast(builtins.str, jsii.get(self, "type"))
1275
+
1276
+ @type.setter
1277
+ def type(self, value: builtins.str) -> None:
1278
+ if __debug__:
1279
+ type_hints = typing.get_type_hints(_typecheckingstub__1226f980d40c87f8397fe48cb9cc06bf941eea21e26fac7b5530ae632e3503b4)
1280
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1281
+ jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
1282
+
1283
+ @builtins.property
1284
+ @jsii.member(jsii_name="uuid")
1285
+ def uuid(self) -> builtins.str:
1286
+ return typing.cast(builtins.str, jsii.get(self, "uuid"))
1287
+
1288
+ @uuid.setter
1289
+ def uuid(self, value: builtins.str) -> None:
1290
+ if __debug__:
1291
+ type_hints = typing.get_type_hints(_typecheckingstub__12fdc41f27c6b4f2b911ddd6aba5ce7018770875b804e05212b99416e015528d)
1292
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1293
+ jsii.set(self, "uuid", value) # pyright: ignore[reportArgumentType]
1294
+
1295
+ @builtins.property
1296
+ @jsii.member(jsii_name="internalValue")
1297
+ def internal_value(
1298
+ self,
1299
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ManagedDatabaseValkeyNetwork]]:
1300
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ManagedDatabaseValkeyNetwork]], jsii.get(self, "internalValue"))
1301
+
1302
+ @internal_value.setter
1303
+ def internal_value(
1304
+ self,
1305
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ManagedDatabaseValkeyNetwork]],
1306
+ ) -> None:
1307
+ if __debug__:
1308
+ type_hints = typing.get_type_hints(_typecheckingstub__1bf6882d93a48e5aa568b7df8ec4368202184ba0e5546a39a063fbf8b69e0628)
1309
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1310
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1311
+
1312
+
1313
+ @jsii.data_type(
1314
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNodeStates",
1315
+ jsii_struct_bases=[],
1316
+ name_mapping={},
1317
+ )
1318
+ class ManagedDatabaseValkeyNodeStates:
1319
+ def __init__(self) -> None:
1320
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1321
+
1322
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1323
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1324
+
1325
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1326
+ return not (rhs == self)
1327
+
1328
+ def __repr__(self) -> str:
1329
+ return "ManagedDatabaseValkeyNodeStates(%s)" % ", ".join(
1330
+ k + "=" + repr(v) for k, v in self._values.items()
1331
+ )
1332
+
1333
+
1334
+ class ManagedDatabaseValkeyNodeStatesList(
1335
+ _cdktf_9a9027ec.ComplexList,
1336
+ metaclass=jsii.JSIIMeta,
1337
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNodeStatesList",
1338
+ ):
1339
+ def __init__(
1340
+ self,
1341
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1342
+ terraform_attribute: builtins.str,
1343
+ wraps_set: builtins.bool,
1344
+ ) -> None:
1345
+ '''
1346
+ :param terraform_resource: The parent resource.
1347
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1348
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
1349
+ '''
1350
+ if __debug__:
1351
+ type_hints = typing.get_type_hints(_typecheckingstub__b36a07f4f6613a569fb00669f4dff53d81c6ac0bf2755480fb4e80a1743c29ef)
1352
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1353
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1354
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
1355
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
1356
+
1357
+ @jsii.member(jsii_name="get")
1358
+ def get(
1359
+ self,
1360
+ index: jsii.Number,
1361
+ ) -> "ManagedDatabaseValkeyNodeStatesOutputReference":
1362
+ '''
1363
+ :param index: the index of the item to return.
1364
+ '''
1365
+ if __debug__:
1366
+ type_hints = typing.get_type_hints(_typecheckingstub__d7c171b3c8fbf5cf7cde17ad2a04170148cb54b6d4df2b7940c311e02710b1f9)
1367
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
1368
+ return typing.cast("ManagedDatabaseValkeyNodeStatesOutputReference", jsii.invoke(self, "get", [index]))
1369
+
1370
+ @builtins.property
1371
+ @jsii.member(jsii_name="terraformAttribute")
1372
+ def _terraform_attribute(self) -> builtins.str:
1373
+ '''The attribute on the parent resource this class is referencing.'''
1374
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
1375
+
1376
+ @_terraform_attribute.setter
1377
+ def _terraform_attribute(self, value: builtins.str) -> None:
1378
+ if __debug__:
1379
+ type_hints = typing.get_type_hints(_typecheckingstub__a84231c9993c80153c365716c8c01dab8e9bea7cb1687ec9ffe5a59e4b2a6324)
1380
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1381
+ jsii.set(self, "terraformAttribute", value) # pyright: ignore[reportArgumentType]
1382
+
1383
+ @builtins.property
1384
+ @jsii.member(jsii_name="terraformResource")
1385
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
1386
+ '''The parent resource.'''
1387
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
1388
+
1389
+ @_terraform_resource.setter
1390
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
1391
+ if __debug__:
1392
+ type_hints = typing.get_type_hints(_typecheckingstub__33024060d747d6f3e2c9b75456197397a7aef2d57295c92716c794d24de628a0)
1393
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1394
+ jsii.set(self, "terraformResource", value) # pyright: ignore[reportArgumentType]
1395
+
1396
+ @builtins.property
1397
+ @jsii.member(jsii_name="wrapsSet")
1398
+ def _wraps_set(self) -> builtins.bool:
1399
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
1400
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
1401
+
1402
+ @_wraps_set.setter
1403
+ def _wraps_set(self, value: builtins.bool) -> None:
1404
+ if __debug__:
1405
+ type_hints = typing.get_type_hints(_typecheckingstub__5b4b326613b451e91b53641f7d027967e6b69bfef13702d5adde4da4e2e83459)
1406
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1407
+ jsii.set(self, "wrapsSet", value) # pyright: ignore[reportArgumentType]
1408
+
1409
+
1410
+ class ManagedDatabaseValkeyNodeStatesOutputReference(
1411
+ _cdktf_9a9027ec.ComplexObject,
1412
+ metaclass=jsii.JSIIMeta,
1413
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNodeStatesOutputReference",
1414
+ ):
1415
+ def __init__(
1416
+ self,
1417
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1418
+ terraform_attribute: builtins.str,
1419
+ complex_object_index: jsii.Number,
1420
+ complex_object_is_from_set: builtins.bool,
1421
+ ) -> None:
1422
+ '''
1423
+ :param terraform_resource: The parent resource.
1424
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
1425
+ :param complex_object_index: the index of this item in the list.
1426
+ :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).
1427
+ '''
1428
+ if __debug__:
1429
+ type_hints = typing.get_type_hints(_typecheckingstub__3584d0fded5a72760262405f68d64086374d1b0be18591d1e84bb4af5db5c06f)
1430
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1431
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1432
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
1433
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
1434
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
1435
+
1436
+ @builtins.property
1437
+ @jsii.member(jsii_name="name")
1438
+ def name(self) -> builtins.str:
1439
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1440
+
1441
+ @builtins.property
1442
+ @jsii.member(jsii_name="role")
1443
+ def role(self) -> builtins.str:
1444
+ return typing.cast(builtins.str, jsii.get(self, "role"))
1445
+
1446
+ @builtins.property
1447
+ @jsii.member(jsii_name="state")
1448
+ def state(self) -> builtins.str:
1449
+ return typing.cast(builtins.str, jsii.get(self, "state"))
1450
+
1451
+ @builtins.property
1452
+ @jsii.member(jsii_name="internalValue")
1453
+ def internal_value(self) -> typing.Optional[ManagedDatabaseValkeyNodeStates]:
1454
+ return typing.cast(typing.Optional[ManagedDatabaseValkeyNodeStates], jsii.get(self, "internalValue"))
1455
+
1456
+ @internal_value.setter
1457
+ def internal_value(
1458
+ self,
1459
+ value: typing.Optional[ManagedDatabaseValkeyNodeStates],
1460
+ ) -> None:
1461
+ if __debug__:
1462
+ type_hints = typing.get_type_hints(_typecheckingstub__23d6fd61468e82793403951f52c6440df44471673eda077d3768f80950de87be)
1463
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1464
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
1465
+
1466
+
1467
+ @jsii.data_type(
1468
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyProperties",
1469
+ jsii_struct_bases=[],
1470
+ name_mapping={
1471
+ "automatic_utility_network_ip_filter": "automaticUtilityNetworkIpFilter",
1472
+ "backup_hour": "backupHour",
1473
+ "backup_minute": "backupMinute",
1474
+ "ip_filter": "ipFilter",
1475
+ "migration": "migration",
1476
+ "public_access": "publicAccess",
1477
+ "service_log": "serviceLog",
1478
+ "valkey_acl_channels_default": "valkeyAclChannelsDefault",
1479
+ "valkey_io_threads": "valkeyIoThreads",
1480
+ "valkey_lfu_decay_time": "valkeyLfuDecayTime",
1481
+ "valkey_lfu_log_factor": "valkeyLfuLogFactor",
1482
+ "valkey_maxmemory_policy": "valkeyMaxmemoryPolicy",
1483
+ "valkey_notify_keyspace_events": "valkeyNotifyKeyspaceEvents",
1484
+ "valkey_number_of_databases": "valkeyNumberOfDatabases",
1485
+ "valkey_persistence": "valkeyPersistence",
1486
+ "valkey_pubsub_client_output_buffer_limit": "valkeyPubsubClientOutputBufferLimit",
1487
+ "valkey_ssl": "valkeySsl",
1488
+ "valkey_timeout": "valkeyTimeout",
1489
+ },
1490
+ )
1491
+ class ManagedDatabaseValkeyProperties:
1492
+ def __init__(
1493
+ self,
1494
+ *,
1495
+ automatic_utility_network_ip_filter: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1496
+ backup_hour: typing.Optional[jsii.Number] = None,
1497
+ backup_minute: typing.Optional[jsii.Number] = None,
1498
+ ip_filter: typing.Optional[typing.Sequence[builtins.str]] = None,
1499
+ migration: typing.Optional[typing.Union["ManagedDatabaseValkeyPropertiesMigration", typing.Dict[builtins.str, typing.Any]]] = None,
1500
+ public_access: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1501
+ service_log: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1502
+ valkey_acl_channels_default: typing.Optional[builtins.str] = None,
1503
+ valkey_io_threads: typing.Optional[jsii.Number] = None,
1504
+ valkey_lfu_decay_time: typing.Optional[jsii.Number] = None,
1505
+ valkey_lfu_log_factor: typing.Optional[jsii.Number] = None,
1506
+ valkey_maxmemory_policy: typing.Optional[builtins.str] = None,
1507
+ valkey_notify_keyspace_events: typing.Optional[builtins.str] = None,
1508
+ valkey_number_of_databases: typing.Optional[jsii.Number] = None,
1509
+ valkey_persistence: typing.Optional[builtins.str] = None,
1510
+ valkey_pubsub_client_output_buffer_limit: typing.Optional[jsii.Number] = None,
1511
+ valkey_ssl: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1512
+ valkey_timeout: typing.Optional[jsii.Number] = None,
1513
+ ) -> None:
1514
+ '''
1515
+ :param automatic_utility_network_ip_filter: Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#automatic_utility_network_ip_filter ManagedDatabaseValkey#automatic_utility_network_ip_filter}
1516
+ :param backup_hour: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#backup_hour ManagedDatabaseValkey#backup_hour}
1517
+ :param backup_minute: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#backup_minute ManagedDatabaseValkey#backup_minute}
1518
+ :param ip_filter: IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ip_filter ManagedDatabaseValkey#ip_filter}
1519
+ :param migration: migration block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#migration ManagedDatabaseValkey#migration}
1520
+ :param public_access: Public Access. Allow access to the service from the public Internet. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#public_access ManagedDatabaseValkey#public_access}
1521
+ :param service_log: Service logging. Store logs for the service so that they are available in the HTTP API and console. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#service_log ManagedDatabaseValkey#service_log}
1522
+ :param valkey_acl_channels_default: Default ACL for pub/sub channels used when a Valkey user is created. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_acl_channels_default ManagedDatabaseValkey#valkey_acl_channels_default}
1523
+ :param valkey_io_threads: Valkey IO thread count. Set Valkey IO thread count. Changing this will cause a restart of the Valkey service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_io_threads ManagedDatabaseValkey#valkey_io_threads}
1524
+ :param valkey_lfu_decay_time: LFU maxmemory-policy counter decay time in minutes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_lfu_decay_time ManagedDatabaseValkey#valkey_lfu_decay_time}
1525
+ :param valkey_lfu_log_factor: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_lfu_log_factor ManagedDatabaseValkey#valkey_lfu_log_factor}
1526
+ :param valkey_maxmemory_policy: Valkey maxmemory-policy. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_maxmemory_policy ManagedDatabaseValkey#valkey_maxmemory_policy}
1527
+ :param valkey_notify_keyspace_events: Set notify-keyspace-events option. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_notify_keyspace_events ManagedDatabaseValkey#valkey_notify_keyspace_events}
1528
+ :param valkey_number_of_databases: Number of Valkey databases. Set number of Valkey databases. Changing this will cause a restart of the Valkey service. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_number_of_databases ManagedDatabaseValkey#valkey_number_of_databases}
1529
+ :param valkey_persistence: Valkey persistence. When persistence is 'rdb', Valkey does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_persistence ManagedDatabaseValkey#valkey_persistence}
1530
+ :param valkey_pubsub_client_output_buffer_limit: Pub/sub client output buffer hard limit in MB. Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_pubsub_client_output_buffer_limit ManagedDatabaseValkey#valkey_pubsub_client_output_buffer_limit}
1531
+ :param valkey_ssl: Require SSL to access Valkey. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_ssl ManagedDatabaseValkey#valkey_ssl}
1532
+ :param valkey_timeout: Valkey idle connection timeout in seconds. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_timeout ManagedDatabaseValkey#valkey_timeout}
1533
+ '''
1534
+ if isinstance(migration, dict):
1535
+ migration = ManagedDatabaseValkeyPropertiesMigration(**migration)
1536
+ if __debug__:
1537
+ type_hints = typing.get_type_hints(_typecheckingstub__130504794befd55a7bc90ab03ca53c94a25f9b733cdd13efed4a51695da4b995)
1538
+ check_type(argname="argument automatic_utility_network_ip_filter", value=automatic_utility_network_ip_filter, expected_type=type_hints["automatic_utility_network_ip_filter"])
1539
+ check_type(argname="argument backup_hour", value=backup_hour, expected_type=type_hints["backup_hour"])
1540
+ check_type(argname="argument backup_minute", value=backup_minute, expected_type=type_hints["backup_minute"])
1541
+ check_type(argname="argument ip_filter", value=ip_filter, expected_type=type_hints["ip_filter"])
1542
+ check_type(argname="argument migration", value=migration, expected_type=type_hints["migration"])
1543
+ check_type(argname="argument public_access", value=public_access, expected_type=type_hints["public_access"])
1544
+ check_type(argname="argument service_log", value=service_log, expected_type=type_hints["service_log"])
1545
+ check_type(argname="argument valkey_acl_channels_default", value=valkey_acl_channels_default, expected_type=type_hints["valkey_acl_channels_default"])
1546
+ check_type(argname="argument valkey_io_threads", value=valkey_io_threads, expected_type=type_hints["valkey_io_threads"])
1547
+ check_type(argname="argument valkey_lfu_decay_time", value=valkey_lfu_decay_time, expected_type=type_hints["valkey_lfu_decay_time"])
1548
+ check_type(argname="argument valkey_lfu_log_factor", value=valkey_lfu_log_factor, expected_type=type_hints["valkey_lfu_log_factor"])
1549
+ check_type(argname="argument valkey_maxmemory_policy", value=valkey_maxmemory_policy, expected_type=type_hints["valkey_maxmemory_policy"])
1550
+ check_type(argname="argument valkey_notify_keyspace_events", value=valkey_notify_keyspace_events, expected_type=type_hints["valkey_notify_keyspace_events"])
1551
+ check_type(argname="argument valkey_number_of_databases", value=valkey_number_of_databases, expected_type=type_hints["valkey_number_of_databases"])
1552
+ check_type(argname="argument valkey_persistence", value=valkey_persistence, expected_type=type_hints["valkey_persistence"])
1553
+ check_type(argname="argument valkey_pubsub_client_output_buffer_limit", value=valkey_pubsub_client_output_buffer_limit, expected_type=type_hints["valkey_pubsub_client_output_buffer_limit"])
1554
+ check_type(argname="argument valkey_ssl", value=valkey_ssl, expected_type=type_hints["valkey_ssl"])
1555
+ check_type(argname="argument valkey_timeout", value=valkey_timeout, expected_type=type_hints["valkey_timeout"])
1556
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1557
+ if automatic_utility_network_ip_filter is not None:
1558
+ self._values["automatic_utility_network_ip_filter"] = automatic_utility_network_ip_filter
1559
+ if backup_hour is not None:
1560
+ self._values["backup_hour"] = backup_hour
1561
+ if backup_minute is not None:
1562
+ self._values["backup_minute"] = backup_minute
1563
+ if ip_filter is not None:
1564
+ self._values["ip_filter"] = ip_filter
1565
+ if migration is not None:
1566
+ self._values["migration"] = migration
1567
+ if public_access is not None:
1568
+ self._values["public_access"] = public_access
1569
+ if service_log is not None:
1570
+ self._values["service_log"] = service_log
1571
+ if valkey_acl_channels_default is not None:
1572
+ self._values["valkey_acl_channels_default"] = valkey_acl_channels_default
1573
+ if valkey_io_threads is not None:
1574
+ self._values["valkey_io_threads"] = valkey_io_threads
1575
+ if valkey_lfu_decay_time is not None:
1576
+ self._values["valkey_lfu_decay_time"] = valkey_lfu_decay_time
1577
+ if valkey_lfu_log_factor is not None:
1578
+ self._values["valkey_lfu_log_factor"] = valkey_lfu_log_factor
1579
+ if valkey_maxmemory_policy is not None:
1580
+ self._values["valkey_maxmemory_policy"] = valkey_maxmemory_policy
1581
+ if valkey_notify_keyspace_events is not None:
1582
+ self._values["valkey_notify_keyspace_events"] = valkey_notify_keyspace_events
1583
+ if valkey_number_of_databases is not None:
1584
+ self._values["valkey_number_of_databases"] = valkey_number_of_databases
1585
+ if valkey_persistence is not None:
1586
+ self._values["valkey_persistence"] = valkey_persistence
1587
+ if valkey_pubsub_client_output_buffer_limit is not None:
1588
+ self._values["valkey_pubsub_client_output_buffer_limit"] = valkey_pubsub_client_output_buffer_limit
1589
+ if valkey_ssl is not None:
1590
+ self._values["valkey_ssl"] = valkey_ssl
1591
+ if valkey_timeout is not None:
1592
+ self._values["valkey_timeout"] = valkey_timeout
1593
+
1594
+ @builtins.property
1595
+ def automatic_utility_network_ip_filter(
1596
+ self,
1597
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1598
+ '''Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone.
1599
+
1600
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#automatic_utility_network_ip_filter ManagedDatabaseValkey#automatic_utility_network_ip_filter}
1601
+ '''
1602
+ result = self._values.get("automatic_utility_network_ip_filter")
1603
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1604
+
1605
+ @builtins.property
1606
+ def backup_hour(self) -> typing.Optional[jsii.Number]:
1607
+ '''The hour of day (in UTC) when backup for the service is started.
1608
+
1609
+ New backup is only started if previous backup has already completed.
1610
+
1611
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#backup_hour ManagedDatabaseValkey#backup_hour}
1612
+ '''
1613
+ result = self._values.get("backup_hour")
1614
+ return typing.cast(typing.Optional[jsii.Number], result)
1615
+
1616
+ @builtins.property
1617
+ def backup_minute(self) -> typing.Optional[jsii.Number]:
1618
+ '''The minute of an hour when backup for the service is started.
1619
+
1620
+ New backup is only started if previous backup has already completed.
1621
+
1622
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#backup_minute ManagedDatabaseValkey#backup_minute}
1623
+ '''
1624
+ result = self._values.get("backup_minute")
1625
+ return typing.cast(typing.Optional[jsii.Number], result)
1626
+
1627
+ @builtins.property
1628
+ def ip_filter(self) -> typing.Optional[typing.List[builtins.str]]:
1629
+ '''IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
1630
+
1631
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ip_filter ManagedDatabaseValkey#ip_filter}
1632
+ '''
1633
+ result = self._values.get("ip_filter")
1634
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1635
+
1636
+ @builtins.property
1637
+ def migration(self) -> typing.Optional["ManagedDatabaseValkeyPropertiesMigration"]:
1638
+ '''migration block.
1639
+
1640
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#migration ManagedDatabaseValkey#migration}
1641
+ '''
1642
+ result = self._values.get("migration")
1643
+ return typing.cast(typing.Optional["ManagedDatabaseValkeyPropertiesMigration"], result)
1644
+
1645
+ @builtins.property
1646
+ def public_access(
1647
+ self,
1648
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1649
+ '''Public Access. Allow access to the service from the public Internet.
1650
+
1651
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#public_access ManagedDatabaseValkey#public_access}
1652
+ '''
1653
+ result = self._values.get("public_access")
1654
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1655
+
1656
+ @builtins.property
1657
+ def service_log(
1658
+ self,
1659
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1660
+ '''Service logging. Store logs for the service so that they are available in the HTTP API and console.
1661
+
1662
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#service_log ManagedDatabaseValkey#service_log}
1663
+ '''
1664
+ result = self._values.get("service_log")
1665
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1666
+
1667
+ @builtins.property
1668
+ def valkey_acl_channels_default(self) -> typing.Optional[builtins.str]:
1669
+ '''Default ACL for pub/sub channels used when a Valkey user is created.
1670
+
1671
+ Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default.
1672
+
1673
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_acl_channels_default ManagedDatabaseValkey#valkey_acl_channels_default}
1674
+ '''
1675
+ result = self._values.get("valkey_acl_channels_default")
1676
+ return typing.cast(typing.Optional[builtins.str], result)
1677
+
1678
+ @builtins.property
1679
+ def valkey_io_threads(self) -> typing.Optional[jsii.Number]:
1680
+ '''Valkey IO thread count. Set Valkey IO thread count. Changing this will cause a restart of the Valkey service.
1681
+
1682
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_io_threads ManagedDatabaseValkey#valkey_io_threads}
1683
+ '''
1684
+ result = self._values.get("valkey_io_threads")
1685
+ return typing.cast(typing.Optional[jsii.Number], result)
1686
+
1687
+ @builtins.property
1688
+ def valkey_lfu_decay_time(self) -> typing.Optional[jsii.Number]:
1689
+ '''LFU maxmemory-policy counter decay time in minutes.
1690
+
1691
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_lfu_decay_time ManagedDatabaseValkey#valkey_lfu_decay_time}
1692
+ '''
1693
+ result = self._values.get("valkey_lfu_decay_time")
1694
+ return typing.cast(typing.Optional[jsii.Number], result)
1695
+
1696
+ @builtins.property
1697
+ def valkey_lfu_log_factor(self) -> typing.Optional[jsii.Number]:
1698
+ '''Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies.
1699
+
1700
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_lfu_log_factor ManagedDatabaseValkey#valkey_lfu_log_factor}
1701
+ '''
1702
+ result = self._values.get("valkey_lfu_log_factor")
1703
+ return typing.cast(typing.Optional[jsii.Number], result)
1704
+
1705
+ @builtins.property
1706
+ def valkey_maxmemory_policy(self) -> typing.Optional[builtins.str]:
1707
+ '''Valkey maxmemory-policy.
1708
+
1709
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_maxmemory_policy ManagedDatabaseValkey#valkey_maxmemory_policy}
1710
+ '''
1711
+ result = self._values.get("valkey_maxmemory_policy")
1712
+ return typing.cast(typing.Optional[builtins.str], result)
1713
+
1714
+ @builtins.property
1715
+ def valkey_notify_keyspace_events(self) -> typing.Optional[builtins.str]:
1716
+ '''Set notify-keyspace-events option.
1717
+
1718
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_notify_keyspace_events ManagedDatabaseValkey#valkey_notify_keyspace_events}
1719
+ '''
1720
+ result = self._values.get("valkey_notify_keyspace_events")
1721
+ return typing.cast(typing.Optional[builtins.str], result)
1722
+
1723
+ @builtins.property
1724
+ def valkey_number_of_databases(self) -> typing.Optional[jsii.Number]:
1725
+ '''Number of Valkey databases. Set number of Valkey databases. Changing this will cause a restart of the Valkey service.
1726
+
1727
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_number_of_databases ManagedDatabaseValkey#valkey_number_of_databases}
1728
+ '''
1729
+ result = self._values.get("valkey_number_of_databases")
1730
+ return typing.cast(typing.Optional[jsii.Number], result)
1731
+
1732
+ @builtins.property
1733
+ def valkey_persistence(self) -> typing.Optional[builtins.str]:
1734
+ '''Valkey persistence.
1735
+
1736
+ When persistence is 'rdb', Valkey does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
1737
+
1738
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_persistence ManagedDatabaseValkey#valkey_persistence}
1739
+ '''
1740
+ result = self._values.get("valkey_persistence")
1741
+ return typing.cast(typing.Optional[builtins.str], result)
1742
+
1743
+ @builtins.property
1744
+ def valkey_pubsub_client_output_buffer_limit(self) -> typing.Optional[jsii.Number]:
1745
+ '''Pub/sub client output buffer hard limit in MB.
1746
+
1747
+ Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
1748
+
1749
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_pubsub_client_output_buffer_limit ManagedDatabaseValkey#valkey_pubsub_client_output_buffer_limit}
1750
+ '''
1751
+ result = self._values.get("valkey_pubsub_client_output_buffer_limit")
1752
+ return typing.cast(typing.Optional[jsii.Number], result)
1753
+
1754
+ @builtins.property
1755
+ def valkey_ssl(
1756
+ self,
1757
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1758
+ '''Require SSL to access Valkey.
1759
+
1760
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_ssl ManagedDatabaseValkey#valkey_ssl}
1761
+ '''
1762
+ result = self._values.get("valkey_ssl")
1763
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1764
+
1765
+ @builtins.property
1766
+ def valkey_timeout(self) -> typing.Optional[jsii.Number]:
1767
+ '''Valkey idle connection timeout in seconds.
1768
+
1769
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#valkey_timeout ManagedDatabaseValkey#valkey_timeout}
1770
+ '''
1771
+ result = self._values.get("valkey_timeout")
1772
+ return typing.cast(typing.Optional[jsii.Number], result)
1773
+
1774
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1775
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1776
+
1777
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1778
+ return not (rhs == self)
1779
+
1780
+ def __repr__(self) -> str:
1781
+ return "ManagedDatabaseValkeyProperties(%s)" % ", ".join(
1782
+ k + "=" + repr(v) for k, v in self._values.items()
1783
+ )
1784
+
1785
+
1786
+ @jsii.data_type(
1787
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyPropertiesMigration",
1788
+ jsii_struct_bases=[],
1789
+ name_mapping={
1790
+ "dbname": "dbname",
1791
+ "host": "host",
1792
+ "ignore_dbs": "ignoreDbs",
1793
+ "ignore_roles": "ignoreRoles",
1794
+ "method": "method",
1795
+ "password": "password",
1796
+ "port": "port",
1797
+ "ssl": "ssl",
1798
+ "username": "username",
1799
+ },
1800
+ )
1801
+ class ManagedDatabaseValkeyPropertiesMigration:
1802
+ def __init__(
1803
+ self,
1804
+ *,
1805
+ dbname: typing.Optional[builtins.str] = None,
1806
+ host: typing.Optional[builtins.str] = None,
1807
+ ignore_dbs: typing.Optional[builtins.str] = None,
1808
+ ignore_roles: typing.Optional[builtins.str] = None,
1809
+ method: typing.Optional[builtins.str] = None,
1810
+ password: typing.Optional[builtins.str] = None,
1811
+ port: typing.Optional[jsii.Number] = None,
1812
+ ssl: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1813
+ username: typing.Optional[builtins.str] = None,
1814
+ ) -> None:
1815
+ '''
1816
+ :param dbname: Database name for bootstrapping the initial connection. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#dbname ManagedDatabaseValkey#dbname}
1817
+ :param host: Hostname or IP address of the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#host ManagedDatabaseValkey#host}
1818
+ :param ignore_dbs: Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ignore_dbs ManagedDatabaseValkey#ignore_dbs}
1819
+ :param ignore_roles: Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ignore_roles ManagedDatabaseValkey#ignore_roles}
1820
+ :param method: The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#method ManagedDatabaseValkey#method}
1821
+ :param password: Password for authentication with the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#password ManagedDatabaseValkey#password}
1822
+ :param port: Port number of the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#port ManagedDatabaseValkey#port}
1823
+ :param ssl: The server where to migrate data from is secured with SSL. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ssl ManagedDatabaseValkey#ssl}
1824
+ :param username: User name for authentication with the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#username ManagedDatabaseValkey#username}
1825
+ '''
1826
+ if __debug__:
1827
+ type_hints = typing.get_type_hints(_typecheckingstub__79d93789bda00eb59095ff4b93fc8d576f547960656fc2c2b20cdd46b3842774)
1828
+ check_type(argname="argument dbname", value=dbname, expected_type=type_hints["dbname"])
1829
+ check_type(argname="argument host", value=host, expected_type=type_hints["host"])
1830
+ check_type(argname="argument ignore_dbs", value=ignore_dbs, expected_type=type_hints["ignore_dbs"])
1831
+ check_type(argname="argument ignore_roles", value=ignore_roles, expected_type=type_hints["ignore_roles"])
1832
+ check_type(argname="argument method", value=method, expected_type=type_hints["method"])
1833
+ check_type(argname="argument password", value=password, expected_type=type_hints["password"])
1834
+ check_type(argname="argument port", value=port, expected_type=type_hints["port"])
1835
+ check_type(argname="argument ssl", value=ssl, expected_type=type_hints["ssl"])
1836
+ check_type(argname="argument username", value=username, expected_type=type_hints["username"])
1837
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1838
+ if dbname is not None:
1839
+ self._values["dbname"] = dbname
1840
+ if host is not None:
1841
+ self._values["host"] = host
1842
+ if ignore_dbs is not None:
1843
+ self._values["ignore_dbs"] = ignore_dbs
1844
+ if ignore_roles is not None:
1845
+ self._values["ignore_roles"] = ignore_roles
1846
+ if method is not None:
1847
+ self._values["method"] = method
1848
+ if password is not None:
1849
+ self._values["password"] = password
1850
+ if port is not None:
1851
+ self._values["port"] = port
1852
+ if ssl is not None:
1853
+ self._values["ssl"] = ssl
1854
+ if username is not None:
1855
+ self._values["username"] = username
1856
+
1857
+ @builtins.property
1858
+ def dbname(self) -> typing.Optional[builtins.str]:
1859
+ '''Database name for bootstrapping the initial connection.
1860
+
1861
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#dbname ManagedDatabaseValkey#dbname}
1862
+ '''
1863
+ result = self._values.get("dbname")
1864
+ return typing.cast(typing.Optional[builtins.str], result)
1865
+
1866
+ @builtins.property
1867
+ def host(self) -> typing.Optional[builtins.str]:
1868
+ '''Hostname or IP address of the server where to migrate data from.
1869
+
1870
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#host ManagedDatabaseValkey#host}
1871
+ '''
1872
+ result = self._values.get("host")
1873
+ return typing.cast(typing.Optional[builtins.str], result)
1874
+
1875
+ @builtins.property
1876
+ def ignore_dbs(self) -> typing.Optional[builtins.str]:
1877
+ '''Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment).
1878
+
1879
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ignore_dbs ManagedDatabaseValkey#ignore_dbs}
1880
+ '''
1881
+ result = self._values.get("ignore_dbs")
1882
+ return typing.cast(typing.Optional[builtins.str], result)
1883
+
1884
+ @builtins.property
1885
+ def ignore_roles(self) -> typing.Optional[builtins.str]:
1886
+ '''Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment).
1887
+
1888
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ignore_roles ManagedDatabaseValkey#ignore_roles}
1889
+ '''
1890
+ result = self._values.get("ignore_roles")
1891
+ return typing.cast(typing.Optional[builtins.str], result)
1892
+
1893
+ @builtins.property
1894
+ def method(self) -> typing.Optional[builtins.str]:
1895
+ '''The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).
1896
+
1897
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#method ManagedDatabaseValkey#method}
1898
+ '''
1899
+ result = self._values.get("method")
1900
+ return typing.cast(typing.Optional[builtins.str], result)
1901
+
1902
+ @builtins.property
1903
+ def password(self) -> typing.Optional[builtins.str]:
1904
+ '''Password for authentication with the server where to migrate data from.
1905
+
1906
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#password ManagedDatabaseValkey#password}
1907
+ '''
1908
+ result = self._values.get("password")
1909
+ return typing.cast(typing.Optional[builtins.str], result)
1910
+
1911
+ @builtins.property
1912
+ def port(self) -> typing.Optional[jsii.Number]:
1913
+ '''Port number of the server where to migrate data from.
1914
+
1915
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#port ManagedDatabaseValkey#port}
1916
+ '''
1917
+ result = self._values.get("port")
1918
+ return typing.cast(typing.Optional[jsii.Number], result)
1919
+
1920
+ @builtins.property
1921
+ def ssl(
1922
+ self,
1923
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
1924
+ '''The server where to migrate data from is secured with SSL.
1925
+
1926
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ssl ManagedDatabaseValkey#ssl}
1927
+ '''
1928
+ result = self._values.get("ssl")
1929
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
1930
+
1931
+ @builtins.property
1932
+ def username(self) -> typing.Optional[builtins.str]:
1933
+ '''User name for authentication with the server where to migrate data from.
1934
+
1935
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#username ManagedDatabaseValkey#username}
1936
+ '''
1937
+ result = self._values.get("username")
1938
+ return typing.cast(typing.Optional[builtins.str], result)
1939
+
1940
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1941
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1942
+
1943
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1944
+ return not (rhs == self)
1945
+
1946
+ def __repr__(self) -> str:
1947
+ return "ManagedDatabaseValkeyPropertiesMigration(%s)" % ", ".join(
1948
+ k + "=" + repr(v) for k, v in self._values.items()
1949
+ )
1950
+
1951
+
1952
+ class ManagedDatabaseValkeyPropertiesMigrationOutputReference(
1953
+ _cdktf_9a9027ec.ComplexObject,
1954
+ metaclass=jsii.JSIIMeta,
1955
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyPropertiesMigrationOutputReference",
1956
+ ):
1957
+ def __init__(
1958
+ self,
1959
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1960
+ terraform_attribute: builtins.str,
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
+ '''
1966
+ if __debug__:
1967
+ type_hints = typing.get_type_hints(_typecheckingstub__653b9500142dcaaa00ba3451c2ff31751e33552cb8092bcd3c7cdc2da14e47cd)
1968
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
1969
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
1970
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute])
1971
+
1972
+ @jsii.member(jsii_name="resetDbname")
1973
+ def reset_dbname(self) -> None:
1974
+ return typing.cast(None, jsii.invoke(self, "resetDbname", []))
1975
+
1976
+ @jsii.member(jsii_name="resetHost")
1977
+ def reset_host(self) -> None:
1978
+ return typing.cast(None, jsii.invoke(self, "resetHost", []))
1979
+
1980
+ @jsii.member(jsii_name="resetIgnoreDbs")
1981
+ def reset_ignore_dbs(self) -> None:
1982
+ return typing.cast(None, jsii.invoke(self, "resetIgnoreDbs", []))
1983
+
1984
+ @jsii.member(jsii_name="resetIgnoreRoles")
1985
+ def reset_ignore_roles(self) -> None:
1986
+ return typing.cast(None, jsii.invoke(self, "resetIgnoreRoles", []))
1987
+
1988
+ @jsii.member(jsii_name="resetMethod")
1989
+ def reset_method(self) -> None:
1990
+ return typing.cast(None, jsii.invoke(self, "resetMethod", []))
1991
+
1992
+ @jsii.member(jsii_name="resetPassword")
1993
+ def reset_password(self) -> None:
1994
+ return typing.cast(None, jsii.invoke(self, "resetPassword", []))
1995
+
1996
+ @jsii.member(jsii_name="resetPort")
1997
+ def reset_port(self) -> None:
1998
+ return typing.cast(None, jsii.invoke(self, "resetPort", []))
1999
+
2000
+ @jsii.member(jsii_name="resetSsl")
2001
+ def reset_ssl(self) -> None:
2002
+ return typing.cast(None, jsii.invoke(self, "resetSsl", []))
2003
+
2004
+ @jsii.member(jsii_name="resetUsername")
2005
+ def reset_username(self) -> None:
2006
+ return typing.cast(None, jsii.invoke(self, "resetUsername", []))
2007
+
2008
+ @builtins.property
2009
+ @jsii.member(jsii_name="dbnameInput")
2010
+ def dbname_input(self) -> typing.Optional[builtins.str]:
2011
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "dbnameInput"))
2012
+
2013
+ @builtins.property
2014
+ @jsii.member(jsii_name="hostInput")
2015
+ def host_input(self) -> typing.Optional[builtins.str]:
2016
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "hostInput"))
2017
+
2018
+ @builtins.property
2019
+ @jsii.member(jsii_name="ignoreDbsInput")
2020
+ def ignore_dbs_input(self) -> typing.Optional[builtins.str]:
2021
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ignoreDbsInput"))
2022
+
2023
+ @builtins.property
2024
+ @jsii.member(jsii_name="ignoreRolesInput")
2025
+ def ignore_roles_input(self) -> typing.Optional[builtins.str]:
2026
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ignoreRolesInput"))
2027
+
2028
+ @builtins.property
2029
+ @jsii.member(jsii_name="methodInput")
2030
+ def method_input(self) -> typing.Optional[builtins.str]:
2031
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "methodInput"))
2032
+
2033
+ @builtins.property
2034
+ @jsii.member(jsii_name="passwordInput")
2035
+ def password_input(self) -> typing.Optional[builtins.str]:
2036
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "passwordInput"))
2037
+
2038
+ @builtins.property
2039
+ @jsii.member(jsii_name="portInput")
2040
+ def port_input(self) -> typing.Optional[jsii.Number]:
2041
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "portInput"))
2042
+
2043
+ @builtins.property
2044
+ @jsii.member(jsii_name="sslInput")
2045
+ def ssl_input(
2046
+ self,
2047
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2048
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "sslInput"))
2049
+
2050
+ @builtins.property
2051
+ @jsii.member(jsii_name="usernameInput")
2052
+ def username_input(self) -> typing.Optional[builtins.str]:
2053
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "usernameInput"))
2054
+
2055
+ @builtins.property
2056
+ @jsii.member(jsii_name="dbname")
2057
+ def dbname(self) -> builtins.str:
2058
+ return typing.cast(builtins.str, jsii.get(self, "dbname"))
2059
+
2060
+ @dbname.setter
2061
+ def dbname(self, value: builtins.str) -> None:
2062
+ if __debug__:
2063
+ type_hints = typing.get_type_hints(_typecheckingstub__1314b6cb90839f64d1e6b134d07633136410e75b81032064900446b8247729d5)
2064
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2065
+ jsii.set(self, "dbname", value) # pyright: ignore[reportArgumentType]
2066
+
2067
+ @builtins.property
2068
+ @jsii.member(jsii_name="host")
2069
+ def host(self) -> builtins.str:
2070
+ return typing.cast(builtins.str, jsii.get(self, "host"))
2071
+
2072
+ @host.setter
2073
+ def host(self, value: builtins.str) -> None:
2074
+ if __debug__:
2075
+ type_hints = typing.get_type_hints(_typecheckingstub__76243e98f6cb500875bf56e8d226c15068248549c3ecd1b38c8ae49ffcdd0c65)
2076
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2077
+ jsii.set(self, "host", value) # pyright: ignore[reportArgumentType]
2078
+
2079
+ @builtins.property
2080
+ @jsii.member(jsii_name="ignoreDbs")
2081
+ def ignore_dbs(self) -> builtins.str:
2082
+ return typing.cast(builtins.str, jsii.get(self, "ignoreDbs"))
2083
+
2084
+ @ignore_dbs.setter
2085
+ def ignore_dbs(self, value: builtins.str) -> None:
2086
+ if __debug__:
2087
+ type_hints = typing.get_type_hints(_typecheckingstub__162cd0275fe93ffc0222678a946ecd079acd01731fd60103ce60dd5b536809be)
2088
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2089
+ jsii.set(self, "ignoreDbs", value) # pyright: ignore[reportArgumentType]
2090
+
2091
+ @builtins.property
2092
+ @jsii.member(jsii_name="ignoreRoles")
2093
+ def ignore_roles(self) -> builtins.str:
2094
+ return typing.cast(builtins.str, jsii.get(self, "ignoreRoles"))
2095
+
2096
+ @ignore_roles.setter
2097
+ def ignore_roles(self, value: builtins.str) -> None:
2098
+ if __debug__:
2099
+ type_hints = typing.get_type_hints(_typecheckingstub__a6fdf035c2bfaaf78851ed75b4776ecfc0280916d034d8d88e5c518b4d31606e)
2100
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2101
+ jsii.set(self, "ignoreRoles", value) # pyright: ignore[reportArgumentType]
2102
+
2103
+ @builtins.property
2104
+ @jsii.member(jsii_name="method")
2105
+ def method(self) -> builtins.str:
2106
+ return typing.cast(builtins.str, jsii.get(self, "method"))
2107
+
2108
+ @method.setter
2109
+ def method(self, value: builtins.str) -> None:
2110
+ if __debug__:
2111
+ type_hints = typing.get_type_hints(_typecheckingstub__e35e85c39397173d3e45859019af030a0c6b4ceaa3a4e544f90652fddaec8daf)
2112
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2113
+ jsii.set(self, "method", value) # pyright: ignore[reportArgumentType]
2114
+
2115
+ @builtins.property
2116
+ @jsii.member(jsii_name="password")
2117
+ def password(self) -> builtins.str:
2118
+ return typing.cast(builtins.str, jsii.get(self, "password"))
2119
+
2120
+ @password.setter
2121
+ def password(self, value: builtins.str) -> None:
2122
+ if __debug__:
2123
+ type_hints = typing.get_type_hints(_typecheckingstub__662e37d640a89c81978ab1bc6760bef1547ed14b8359ccf76d5f8c5ba2c1ca85)
2124
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2125
+ jsii.set(self, "password", value) # pyright: ignore[reportArgumentType]
2126
+
2127
+ @builtins.property
2128
+ @jsii.member(jsii_name="port")
2129
+ def port(self) -> jsii.Number:
2130
+ return typing.cast(jsii.Number, jsii.get(self, "port"))
2131
+
2132
+ @port.setter
2133
+ def port(self, value: jsii.Number) -> None:
2134
+ if __debug__:
2135
+ type_hints = typing.get_type_hints(_typecheckingstub__af55c31711e4f7afee55e9eb3357116e63b64c1178aa20a3b34caff9e7d36c63)
2136
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2137
+ jsii.set(self, "port", value) # pyright: ignore[reportArgumentType]
2138
+
2139
+ @builtins.property
2140
+ @jsii.member(jsii_name="ssl")
2141
+ def ssl(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
2142
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "ssl"))
2143
+
2144
+ @ssl.setter
2145
+ def ssl(
2146
+ self,
2147
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2148
+ ) -> None:
2149
+ if __debug__:
2150
+ type_hints = typing.get_type_hints(_typecheckingstub__f483e3934be4c35439acb518122bb176bb613a0bb411d2384a025b2fe6dbaa40)
2151
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2152
+ jsii.set(self, "ssl", value) # pyright: ignore[reportArgumentType]
2153
+
2154
+ @builtins.property
2155
+ @jsii.member(jsii_name="username")
2156
+ def username(self) -> builtins.str:
2157
+ return typing.cast(builtins.str, jsii.get(self, "username"))
2158
+
2159
+ @username.setter
2160
+ def username(self, value: builtins.str) -> None:
2161
+ if __debug__:
2162
+ type_hints = typing.get_type_hints(_typecheckingstub__6a34f9da5159916189640a32002175c4e592ba0b30620af992ca26e34a7aa9aa)
2163
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2164
+ jsii.set(self, "username", value) # pyright: ignore[reportArgumentType]
2165
+
2166
+ @builtins.property
2167
+ @jsii.member(jsii_name="internalValue")
2168
+ def internal_value(
2169
+ self,
2170
+ ) -> typing.Optional[ManagedDatabaseValkeyPropertiesMigration]:
2171
+ return typing.cast(typing.Optional[ManagedDatabaseValkeyPropertiesMigration], jsii.get(self, "internalValue"))
2172
+
2173
+ @internal_value.setter
2174
+ def internal_value(
2175
+ self,
2176
+ value: typing.Optional[ManagedDatabaseValkeyPropertiesMigration],
2177
+ ) -> None:
2178
+ if __debug__:
2179
+ type_hints = typing.get_type_hints(_typecheckingstub__1793c40b292b55abd22e900135f7fb7177ba88955948317e0f8e1140a8fd6bb9)
2180
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2181
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2182
+
2183
+
2184
+ class ManagedDatabaseValkeyPropertiesOutputReference(
2185
+ _cdktf_9a9027ec.ComplexObject,
2186
+ metaclass=jsii.JSIIMeta,
2187
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyPropertiesOutputReference",
2188
+ ):
2189
+ def __init__(
2190
+ self,
2191
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2192
+ terraform_attribute: builtins.str,
2193
+ ) -> None:
2194
+ '''
2195
+ :param terraform_resource: The parent resource.
2196
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
2197
+ '''
2198
+ if __debug__:
2199
+ type_hints = typing.get_type_hints(_typecheckingstub__55792d3e90a4aee66c1699f91bdcfb7f0f4fdd7ccf76213d91486a87ffeb6e7f)
2200
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
2201
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
2202
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute])
2203
+
2204
+ @jsii.member(jsii_name="putMigration")
2205
+ def put_migration(
2206
+ self,
2207
+ *,
2208
+ dbname: typing.Optional[builtins.str] = None,
2209
+ host: typing.Optional[builtins.str] = None,
2210
+ ignore_dbs: typing.Optional[builtins.str] = None,
2211
+ ignore_roles: typing.Optional[builtins.str] = None,
2212
+ method: typing.Optional[builtins.str] = None,
2213
+ password: typing.Optional[builtins.str] = None,
2214
+ port: typing.Optional[jsii.Number] = None,
2215
+ ssl: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2216
+ username: typing.Optional[builtins.str] = None,
2217
+ ) -> None:
2218
+ '''
2219
+ :param dbname: Database name for bootstrapping the initial connection. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#dbname ManagedDatabaseValkey#dbname}
2220
+ :param host: Hostname or IP address of the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#host ManagedDatabaseValkey#host}
2221
+ :param ignore_dbs: Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ignore_dbs ManagedDatabaseValkey#ignore_dbs}
2222
+ :param ignore_roles: Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ignore_roles ManagedDatabaseValkey#ignore_roles}
2223
+ :param method: The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#method ManagedDatabaseValkey#method}
2224
+ :param password: Password for authentication with the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#password ManagedDatabaseValkey#password}
2225
+ :param port: Port number of the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#port ManagedDatabaseValkey#port}
2226
+ :param ssl: The server where to migrate data from is secured with SSL. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#ssl ManagedDatabaseValkey#ssl}
2227
+ :param username: User name for authentication with the server where to migrate data from. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.16.0/docs/resources/managed_database_valkey#username ManagedDatabaseValkey#username}
2228
+ '''
2229
+ value = ManagedDatabaseValkeyPropertiesMigration(
2230
+ dbname=dbname,
2231
+ host=host,
2232
+ ignore_dbs=ignore_dbs,
2233
+ ignore_roles=ignore_roles,
2234
+ method=method,
2235
+ password=password,
2236
+ port=port,
2237
+ ssl=ssl,
2238
+ username=username,
2239
+ )
2240
+
2241
+ return typing.cast(None, jsii.invoke(self, "putMigration", [value]))
2242
+
2243
+ @jsii.member(jsii_name="resetAutomaticUtilityNetworkIpFilter")
2244
+ def reset_automatic_utility_network_ip_filter(self) -> None:
2245
+ return typing.cast(None, jsii.invoke(self, "resetAutomaticUtilityNetworkIpFilter", []))
2246
+
2247
+ @jsii.member(jsii_name="resetBackupHour")
2248
+ def reset_backup_hour(self) -> None:
2249
+ return typing.cast(None, jsii.invoke(self, "resetBackupHour", []))
2250
+
2251
+ @jsii.member(jsii_name="resetBackupMinute")
2252
+ def reset_backup_minute(self) -> None:
2253
+ return typing.cast(None, jsii.invoke(self, "resetBackupMinute", []))
2254
+
2255
+ @jsii.member(jsii_name="resetIpFilter")
2256
+ def reset_ip_filter(self) -> None:
2257
+ return typing.cast(None, jsii.invoke(self, "resetIpFilter", []))
2258
+
2259
+ @jsii.member(jsii_name="resetMigration")
2260
+ def reset_migration(self) -> None:
2261
+ return typing.cast(None, jsii.invoke(self, "resetMigration", []))
2262
+
2263
+ @jsii.member(jsii_name="resetPublicAccess")
2264
+ def reset_public_access(self) -> None:
2265
+ return typing.cast(None, jsii.invoke(self, "resetPublicAccess", []))
2266
+
2267
+ @jsii.member(jsii_name="resetServiceLog")
2268
+ def reset_service_log(self) -> None:
2269
+ return typing.cast(None, jsii.invoke(self, "resetServiceLog", []))
2270
+
2271
+ @jsii.member(jsii_name="resetValkeyAclChannelsDefault")
2272
+ def reset_valkey_acl_channels_default(self) -> None:
2273
+ return typing.cast(None, jsii.invoke(self, "resetValkeyAclChannelsDefault", []))
2274
+
2275
+ @jsii.member(jsii_name="resetValkeyIoThreads")
2276
+ def reset_valkey_io_threads(self) -> None:
2277
+ return typing.cast(None, jsii.invoke(self, "resetValkeyIoThreads", []))
2278
+
2279
+ @jsii.member(jsii_name="resetValkeyLfuDecayTime")
2280
+ def reset_valkey_lfu_decay_time(self) -> None:
2281
+ return typing.cast(None, jsii.invoke(self, "resetValkeyLfuDecayTime", []))
2282
+
2283
+ @jsii.member(jsii_name="resetValkeyLfuLogFactor")
2284
+ def reset_valkey_lfu_log_factor(self) -> None:
2285
+ return typing.cast(None, jsii.invoke(self, "resetValkeyLfuLogFactor", []))
2286
+
2287
+ @jsii.member(jsii_name="resetValkeyMaxmemoryPolicy")
2288
+ def reset_valkey_maxmemory_policy(self) -> None:
2289
+ return typing.cast(None, jsii.invoke(self, "resetValkeyMaxmemoryPolicy", []))
2290
+
2291
+ @jsii.member(jsii_name="resetValkeyNotifyKeyspaceEvents")
2292
+ def reset_valkey_notify_keyspace_events(self) -> None:
2293
+ return typing.cast(None, jsii.invoke(self, "resetValkeyNotifyKeyspaceEvents", []))
2294
+
2295
+ @jsii.member(jsii_name="resetValkeyNumberOfDatabases")
2296
+ def reset_valkey_number_of_databases(self) -> None:
2297
+ return typing.cast(None, jsii.invoke(self, "resetValkeyNumberOfDatabases", []))
2298
+
2299
+ @jsii.member(jsii_name="resetValkeyPersistence")
2300
+ def reset_valkey_persistence(self) -> None:
2301
+ return typing.cast(None, jsii.invoke(self, "resetValkeyPersistence", []))
2302
+
2303
+ @jsii.member(jsii_name="resetValkeyPubsubClientOutputBufferLimit")
2304
+ def reset_valkey_pubsub_client_output_buffer_limit(self) -> None:
2305
+ return typing.cast(None, jsii.invoke(self, "resetValkeyPubsubClientOutputBufferLimit", []))
2306
+
2307
+ @jsii.member(jsii_name="resetValkeySsl")
2308
+ def reset_valkey_ssl(self) -> None:
2309
+ return typing.cast(None, jsii.invoke(self, "resetValkeySsl", []))
2310
+
2311
+ @jsii.member(jsii_name="resetValkeyTimeout")
2312
+ def reset_valkey_timeout(self) -> None:
2313
+ return typing.cast(None, jsii.invoke(self, "resetValkeyTimeout", []))
2314
+
2315
+ @builtins.property
2316
+ @jsii.member(jsii_name="migration")
2317
+ def migration(self) -> ManagedDatabaseValkeyPropertiesMigrationOutputReference:
2318
+ return typing.cast(ManagedDatabaseValkeyPropertiesMigrationOutputReference, jsii.get(self, "migration"))
2319
+
2320
+ @builtins.property
2321
+ @jsii.member(jsii_name="automaticUtilityNetworkIpFilterInput")
2322
+ def automatic_utility_network_ip_filter_input(
2323
+ self,
2324
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2325
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "automaticUtilityNetworkIpFilterInput"))
2326
+
2327
+ @builtins.property
2328
+ @jsii.member(jsii_name="backupHourInput")
2329
+ def backup_hour_input(self) -> typing.Optional[jsii.Number]:
2330
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "backupHourInput"))
2331
+
2332
+ @builtins.property
2333
+ @jsii.member(jsii_name="backupMinuteInput")
2334
+ def backup_minute_input(self) -> typing.Optional[jsii.Number]:
2335
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "backupMinuteInput"))
2336
+
2337
+ @builtins.property
2338
+ @jsii.member(jsii_name="ipFilterInput")
2339
+ def ip_filter_input(self) -> typing.Optional[typing.List[builtins.str]]:
2340
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "ipFilterInput"))
2341
+
2342
+ @builtins.property
2343
+ @jsii.member(jsii_name="migrationInput")
2344
+ def migration_input(
2345
+ self,
2346
+ ) -> typing.Optional[ManagedDatabaseValkeyPropertiesMigration]:
2347
+ return typing.cast(typing.Optional[ManagedDatabaseValkeyPropertiesMigration], jsii.get(self, "migrationInput"))
2348
+
2349
+ @builtins.property
2350
+ @jsii.member(jsii_name="publicAccessInput")
2351
+ def public_access_input(
2352
+ self,
2353
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2354
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "publicAccessInput"))
2355
+
2356
+ @builtins.property
2357
+ @jsii.member(jsii_name="serviceLogInput")
2358
+ def service_log_input(
2359
+ self,
2360
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2361
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "serviceLogInput"))
2362
+
2363
+ @builtins.property
2364
+ @jsii.member(jsii_name="valkeyAclChannelsDefaultInput")
2365
+ def valkey_acl_channels_default_input(self) -> typing.Optional[builtins.str]:
2366
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "valkeyAclChannelsDefaultInput"))
2367
+
2368
+ @builtins.property
2369
+ @jsii.member(jsii_name="valkeyIoThreadsInput")
2370
+ def valkey_io_threads_input(self) -> typing.Optional[jsii.Number]:
2371
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "valkeyIoThreadsInput"))
2372
+
2373
+ @builtins.property
2374
+ @jsii.member(jsii_name="valkeyLfuDecayTimeInput")
2375
+ def valkey_lfu_decay_time_input(self) -> typing.Optional[jsii.Number]:
2376
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "valkeyLfuDecayTimeInput"))
2377
+
2378
+ @builtins.property
2379
+ @jsii.member(jsii_name="valkeyLfuLogFactorInput")
2380
+ def valkey_lfu_log_factor_input(self) -> typing.Optional[jsii.Number]:
2381
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "valkeyLfuLogFactorInput"))
2382
+
2383
+ @builtins.property
2384
+ @jsii.member(jsii_name="valkeyMaxmemoryPolicyInput")
2385
+ def valkey_maxmemory_policy_input(self) -> typing.Optional[builtins.str]:
2386
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "valkeyMaxmemoryPolicyInput"))
2387
+
2388
+ @builtins.property
2389
+ @jsii.member(jsii_name="valkeyNotifyKeyspaceEventsInput")
2390
+ def valkey_notify_keyspace_events_input(self) -> typing.Optional[builtins.str]:
2391
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "valkeyNotifyKeyspaceEventsInput"))
2392
+
2393
+ @builtins.property
2394
+ @jsii.member(jsii_name="valkeyNumberOfDatabasesInput")
2395
+ def valkey_number_of_databases_input(self) -> typing.Optional[jsii.Number]:
2396
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "valkeyNumberOfDatabasesInput"))
2397
+
2398
+ @builtins.property
2399
+ @jsii.member(jsii_name="valkeyPersistenceInput")
2400
+ def valkey_persistence_input(self) -> typing.Optional[builtins.str]:
2401
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "valkeyPersistenceInput"))
2402
+
2403
+ @builtins.property
2404
+ @jsii.member(jsii_name="valkeyPubsubClientOutputBufferLimitInput")
2405
+ def valkey_pubsub_client_output_buffer_limit_input(
2406
+ self,
2407
+ ) -> typing.Optional[jsii.Number]:
2408
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "valkeyPubsubClientOutputBufferLimitInput"))
2409
+
2410
+ @builtins.property
2411
+ @jsii.member(jsii_name="valkeySslInput")
2412
+ def valkey_ssl_input(
2413
+ self,
2414
+ ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
2415
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "valkeySslInput"))
2416
+
2417
+ @builtins.property
2418
+ @jsii.member(jsii_name="valkeyTimeoutInput")
2419
+ def valkey_timeout_input(self) -> typing.Optional[jsii.Number]:
2420
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "valkeyTimeoutInput"))
2421
+
2422
+ @builtins.property
2423
+ @jsii.member(jsii_name="automaticUtilityNetworkIpFilter")
2424
+ def automatic_utility_network_ip_filter(
2425
+ self,
2426
+ ) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
2427
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "automaticUtilityNetworkIpFilter"))
2428
+
2429
+ @automatic_utility_network_ip_filter.setter
2430
+ def automatic_utility_network_ip_filter(
2431
+ self,
2432
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2433
+ ) -> None:
2434
+ if __debug__:
2435
+ type_hints = typing.get_type_hints(_typecheckingstub__9c44d89cc2ed32723b08157526a381420fa119892c564fdedde7987c627d199b)
2436
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2437
+ jsii.set(self, "automaticUtilityNetworkIpFilter", value) # pyright: ignore[reportArgumentType]
2438
+
2439
+ @builtins.property
2440
+ @jsii.member(jsii_name="backupHour")
2441
+ def backup_hour(self) -> jsii.Number:
2442
+ return typing.cast(jsii.Number, jsii.get(self, "backupHour"))
2443
+
2444
+ @backup_hour.setter
2445
+ def backup_hour(self, value: jsii.Number) -> None:
2446
+ if __debug__:
2447
+ type_hints = typing.get_type_hints(_typecheckingstub__97fa6c9348419174573baa4a126b6a8e3f160ce4b9144a878e9c0157547f9cc1)
2448
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2449
+ jsii.set(self, "backupHour", value) # pyright: ignore[reportArgumentType]
2450
+
2451
+ @builtins.property
2452
+ @jsii.member(jsii_name="backupMinute")
2453
+ def backup_minute(self) -> jsii.Number:
2454
+ return typing.cast(jsii.Number, jsii.get(self, "backupMinute"))
2455
+
2456
+ @backup_minute.setter
2457
+ def backup_minute(self, value: jsii.Number) -> None:
2458
+ if __debug__:
2459
+ type_hints = typing.get_type_hints(_typecheckingstub__811ddadc48f4551492d04783df1afbc040352a53ea4bee82d0508e3280c3c005)
2460
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2461
+ jsii.set(self, "backupMinute", value) # pyright: ignore[reportArgumentType]
2462
+
2463
+ @builtins.property
2464
+ @jsii.member(jsii_name="ipFilter")
2465
+ def ip_filter(self) -> typing.List[builtins.str]:
2466
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "ipFilter"))
2467
+
2468
+ @ip_filter.setter
2469
+ def ip_filter(self, value: typing.List[builtins.str]) -> None:
2470
+ if __debug__:
2471
+ type_hints = typing.get_type_hints(_typecheckingstub__ef2b45dbaf8564a5828368af43f39e9e9b46f8662d13ce44cef40b45ec56f7db)
2472
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2473
+ jsii.set(self, "ipFilter", value) # pyright: ignore[reportArgumentType]
2474
+
2475
+ @builtins.property
2476
+ @jsii.member(jsii_name="publicAccess")
2477
+ def public_access(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
2478
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "publicAccess"))
2479
+
2480
+ @public_access.setter
2481
+ def public_access(
2482
+ self,
2483
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2484
+ ) -> None:
2485
+ if __debug__:
2486
+ type_hints = typing.get_type_hints(_typecheckingstub__61f81631eb5f8dd781126f6a71849383ca6cb5c401a058533d0c001fdd87e963)
2487
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2488
+ jsii.set(self, "publicAccess", value) # pyright: ignore[reportArgumentType]
2489
+
2490
+ @builtins.property
2491
+ @jsii.member(jsii_name="serviceLog")
2492
+ def service_log(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
2493
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "serviceLog"))
2494
+
2495
+ @service_log.setter
2496
+ def service_log(
2497
+ self,
2498
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2499
+ ) -> None:
2500
+ if __debug__:
2501
+ type_hints = typing.get_type_hints(_typecheckingstub__f875fc8095f055f0ecdfe6f2ab3f46d09111243c7ea6f03961499925bb56f00f)
2502
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2503
+ jsii.set(self, "serviceLog", value) # pyright: ignore[reportArgumentType]
2504
+
2505
+ @builtins.property
2506
+ @jsii.member(jsii_name="valkeyAclChannelsDefault")
2507
+ def valkey_acl_channels_default(self) -> builtins.str:
2508
+ return typing.cast(builtins.str, jsii.get(self, "valkeyAclChannelsDefault"))
2509
+
2510
+ @valkey_acl_channels_default.setter
2511
+ def valkey_acl_channels_default(self, value: builtins.str) -> None:
2512
+ if __debug__:
2513
+ type_hints = typing.get_type_hints(_typecheckingstub__2fe20994370fab9130ba3ce108940f96e8805127e4d82f5b2696c1c8ed479423)
2514
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2515
+ jsii.set(self, "valkeyAclChannelsDefault", value) # pyright: ignore[reportArgumentType]
2516
+
2517
+ @builtins.property
2518
+ @jsii.member(jsii_name="valkeyIoThreads")
2519
+ def valkey_io_threads(self) -> jsii.Number:
2520
+ return typing.cast(jsii.Number, jsii.get(self, "valkeyIoThreads"))
2521
+
2522
+ @valkey_io_threads.setter
2523
+ def valkey_io_threads(self, value: jsii.Number) -> None:
2524
+ if __debug__:
2525
+ type_hints = typing.get_type_hints(_typecheckingstub__36712e3e7fe0a856cf4cdb0e99d545b70df6ff8cb75d1732956a23af8faec9e8)
2526
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2527
+ jsii.set(self, "valkeyIoThreads", value) # pyright: ignore[reportArgumentType]
2528
+
2529
+ @builtins.property
2530
+ @jsii.member(jsii_name="valkeyLfuDecayTime")
2531
+ def valkey_lfu_decay_time(self) -> jsii.Number:
2532
+ return typing.cast(jsii.Number, jsii.get(self, "valkeyLfuDecayTime"))
2533
+
2534
+ @valkey_lfu_decay_time.setter
2535
+ def valkey_lfu_decay_time(self, value: jsii.Number) -> None:
2536
+ if __debug__:
2537
+ type_hints = typing.get_type_hints(_typecheckingstub__15b6c8ce90519918204fdd1183efa1a627bb95b3268a6503b277d9da7d723c8b)
2538
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2539
+ jsii.set(self, "valkeyLfuDecayTime", value) # pyright: ignore[reportArgumentType]
2540
+
2541
+ @builtins.property
2542
+ @jsii.member(jsii_name="valkeyLfuLogFactor")
2543
+ def valkey_lfu_log_factor(self) -> jsii.Number:
2544
+ return typing.cast(jsii.Number, jsii.get(self, "valkeyLfuLogFactor"))
2545
+
2546
+ @valkey_lfu_log_factor.setter
2547
+ def valkey_lfu_log_factor(self, value: jsii.Number) -> None:
2548
+ if __debug__:
2549
+ type_hints = typing.get_type_hints(_typecheckingstub__3e243578f8d78eab75cc755766a8e4f4fcb788de8b816bb45a1718db182b8ec4)
2550
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2551
+ jsii.set(self, "valkeyLfuLogFactor", value) # pyright: ignore[reportArgumentType]
2552
+
2553
+ @builtins.property
2554
+ @jsii.member(jsii_name="valkeyMaxmemoryPolicy")
2555
+ def valkey_maxmemory_policy(self) -> builtins.str:
2556
+ return typing.cast(builtins.str, jsii.get(self, "valkeyMaxmemoryPolicy"))
2557
+
2558
+ @valkey_maxmemory_policy.setter
2559
+ def valkey_maxmemory_policy(self, value: builtins.str) -> None:
2560
+ if __debug__:
2561
+ type_hints = typing.get_type_hints(_typecheckingstub__58d2a600744f7ded9d19d6d64758106e5dd26bf9bdefb7de08c43c6d281af215)
2562
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2563
+ jsii.set(self, "valkeyMaxmemoryPolicy", value) # pyright: ignore[reportArgumentType]
2564
+
2565
+ @builtins.property
2566
+ @jsii.member(jsii_name="valkeyNotifyKeyspaceEvents")
2567
+ def valkey_notify_keyspace_events(self) -> builtins.str:
2568
+ return typing.cast(builtins.str, jsii.get(self, "valkeyNotifyKeyspaceEvents"))
2569
+
2570
+ @valkey_notify_keyspace_events.setter
2571
+ def valkey_notify_keyspace_events(self, value: builtins.str) -> None:
2572
+ if __debug__:
2573
+ type_hints = typing.get_type_hints(_typecheckingstub__c11e8e05f6c742e65ebab02abf104aef2a997d1558d32e6d01bbe3f4af5ea10c)
2574
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2575
+ jsii.set(self, "valkeyNotifyKeyspaceEvents", value) # pyright: ignore[reportArgumentType]
2576
+
2577
+ @builtins.property
2578
+ @jsii.member(jsii_name="valkeyNumberOfDatabases")
2579
+ def valkey_number_of_databases(self) -> jsii.Number:
2580
+ return typing.cast(jsii.Number, jsii.get(self, "valkeyNumberOfDatabases"))
2581
+
2582
+ @valkey_number_of_databases.setter
2583
+ def valkey_number_of_databases(self, value: jsii.Number) -> None:
2584
+ if __debug__:
2585
+ type_hints = typing.get_type_hints(_typecheckingstub__10762b45ffd584091d6e5c546b00dc514e09029433109616a18715a1f850ad7d)
2586
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2587
+ jsii.set(self, "valkeyNumberOfDatabases", value) # pyright: ignore[reportArgumentType]
2588
+
2589
+ @builtins.property
2590
+ @jsii.member(jsii_name="valkeyPersistence")
2591
+ def valkey_persistence(self) -> builtins.str:
2592
+ return typing.cast(builtins.str, jsii.get(self, "valkeyPersistence"))
2593
+
2594
+ @valkey_persistence.setter
2595
+ def valkey_persistence(self, value: builtins.str) -> None:
2596
+ if __debug__:
2597
+ type_hints = typing.get_type_hints(_typecheckingstub__3df38d43378b5c11dc6050c05dde117eecd487d129fac6402013aeed9ae8cd65)
2598
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2599
+ jsii.set(self, "valkeyPersistence", value) # pyright: ignore[reportArgumentType]
2600
+
2601
+ @builtins.property
2602
+ @jsii.member(jsii_name="valkeyPubsubClientOutputBufferLimit")
2603
+ def valkey_pubsub_client_output_buffer_limit(self) -> jsii.Number:
2604
+ return typing.cast(jsii.Number, jsii.get(self, "valkeyPubsubClientOutputBufferLimit"))
2605
+
2606
+ @valkey_pubsub_client_output_buffer_limit.setter
2607
+ def valkey_pubsub_client_output_buffer_limit(self, value: jsii.Number) -> None:
2608
+ if __debug__:
2609
+ type_hints = typing.get_type_hints(_typecheckingstub__0dbcafcb27e6d3915244903e1e717c58586f72ad8034de91b6484a17f6a8b7a5)
2610
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2611
+ jsii.set(self, "valkeyPubsubClientOutputBufferLimit", value) # pyright: ignore[reportArgumentType]
2612
+
2613
+ @builtins.property
2614
+ @jsii.member(jsii_name="valkeySsl")
2615
+ def valkey_ssl(self) -> typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]:
2616
+ return typing.cast(typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable], jsii.get(self, "valkeySsl"))
2617
+
2618
+ @valkey_ssl.setter
2619
+ def valkey_ssl(
2620
+ self,
2621
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2622
+ ) -> None:
2623
+ if __debug__:
2624
+ type_hints = typing.get_type_hints(_typecheckingstub__2de1b44225297c589501a1169672e24a61f63a2250c403c2043fac2c3d51453b)
2625
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2626
+ jsii.set(self, "valkeySsl", value) # pyright: ignore[reportArgumentType]
2627
+
2628
+ @builtins.property
2629
+ @jsii.member(jsii_name="valkeyTimeout")
2630
+ def valkey_timeout(self) -> jsii.Number:
2631
+ return typing.cast(jsii.Number, jsii.get(self, "valkeyTimeout"))
2632
+
2633
+ @valkey_timeout.setter
2634
+ def valkey_timeout(self, value: jsii.Number) -> None:
2635
+ if __debug__:
2636
+ type_hints = typing.get_type_hints(_typecheckingstub__eb3af04522bbfd913260c5a68eacc426646fd40c2d829645b45ec90d5496c7d0)
2637
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2638
+ jsii.set(self, "valkeyTimeout", value) # pyright: ignore[reportArgumentType]
2639
+
2640
+ @builtins.property
2641
+ @jsii.member(jsii_name="internalValue")
2642
+ def internal_value(self) -> typing.Optional[ManagedDatabaseValkeyProperties]:
2643
+ return typing.cast(typing.Optional[ManagedDatabaseValkeyProperties], jsii.get(self, "internalValue"))
2644
+
2645
+ @internal_value.setter
2646
+ def internal_value(
2647
+ self,
2648
+ value: typing.Optional[ManagedDatabaseValkeyProperties],
2649
+ ) -> None:
2650
+ if __debug__:
2651
+ type_hints = typing.get_type_hints(_typecheckingstub__8e856dbf1220e8ba94728c6777bc94aa3e02eb3316a2fe713db6fc687015a748)
2652
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2653
+ jsii.set(self, "internalValue", value) # pyright: ignore[reportArgumentType]
2654
+
2655
+
2656
+ __all__ = [
2657
+ "ManagedDatabaseValkey",
2658
+ "ManagedDatabaseValkeyComponents",
2659
+ "ManagedDatabaseValkeyComponentsList",
2660
+ "ManagedDatabaseValkeyComponentsOutputReference",
2661
+ "ManagedDatabaseValkeyConfig",
2662
+ "ManagedDatabaseValkeyNetwork",
2663
+ "ManagedDatabaseValkeyNetworkList",
2664
+ "ManagedDatabaseValkeyNetworkOutputReference",
2665
+ "ManagedDatabaseValkeyNodeStates",
2666
+ "ManagedDatabaseValkeyNodeStatesList",
2667
+ "ManagedDatabaseValkeyNodeStatesOutputReference",
2668
+ "ManagedDatabaseValkeyProperties",
2669
+ "ManagedDatabaseValkeyPropertiesMigration",
2670
+ "ManagedDatabaseValkeyPropertiesMigrationOutputReference",
2671
+ "ManagedDatabaseValkeyPropertiesOutputReference",
2672
+ ]
2673
+
2674
+ publication.publish()
2675
+
2676
+ def _typecheckingstub__e9ca96a3d0255aab5bd629d642e8855d0ea99f8657e2d22de939cb10aa9e11a4(
2677
+ scope: _constructs_77d1e7e8.Construct,
2678
+ id_: builtins.str,
2679
+ *,
2680
+ name: builtins.str,
2681
+ plan: builtins.str,
2682
+ title: builtins.str,
2683
+ zone: builtins.str,
2684
+ id: typing.Optional[builtins.str] = None,
2685
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2686
+ maintenance_window_dow: typing.Optional[builtins.str] = None,
2687
+ maintenance_window_time: typing.Optional[builtins.str] = None,
2688
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ManagedDatabaseValkeyNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
2689
+ powered: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2690
+ properties: typing.Optional[typing.Union[ManagedDatabaseValkeyProperties, typing.Dict[builtins.str, typing.Any]]] = None,
2691
+ termination_protection: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2692
+ 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,
2693
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
2694
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
2695
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
2696
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
2697
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
2698
+ 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,
2699
+ ) -> None:
2700
+ """Type checking stubs"""
2701
+ pass
2702
+
2703
+ def _typecheckingstub__9aedfd54b5c8b1f9918c7d3df38964719bab01ca5620baa0cdacd432478b79a7(
2704
+ scope: _constructs_77d1e7e8.Construct,
2705
+ import_to_id: builtins.str,
2706
+ import_from_id: builtins.str,
2707
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
2708
+ ) -> None:
2709
+ """Type checking stubs"""
2710
+ pass
2711
+
2712
+ def _typecheckingstub__d39301ce9e83b0c46471cc2e091a974add7699ff0499897b02f5890d167025c6(
2713
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ManagedDatabaseValkeyNetwork, typing.Dict[builtins.str, typing.Any]]]],
2714
+ ) -> None:
2715
+ """Type checking stubs"""
2716
+ pass
2717
+
2718
+ def _typecheckingstub__b41fe74abf03b1ee4f0b5f521d5e3e995ded4c72f89438f83df1a19a755cf210(
2719
+ value: builtins.str,
2720
+ ) -> None:
2721
+ """Type checking stubs"""
2722
+ pass
2723
+
2724
+ def _typecheckingstub__582e5d19d5e9e322b330c3b5bede9c40c98cc138fef81206fe5627e535dff1bb(
2725
+ value: typing.Mapping[builtins.str, builtins.str],
2726
+ ) -> None:
2727
+ """Type checking stubs"""
2728
+ pass
2729
+
2730
+ def _typecheckingstub__143dbf09447146d1251e1d077d8d015a4d72185c65356c2cbc926407d4a9d66d(
2731
+ value: builtins.str,
2732
+ ) -> None:
2733
+ """Type checking stubs"""
2734
+ pass
2735
+
2736
+ def _typecheckingstub__94bc5c33c77b831f6591e0bd7fc829f250e2b41e491c36b6e70fba5c7fca15f8(
2737
+ value: builtins.str,
2738
+ ) -> None:
2739
+ """Type checking stubs"""
2740
+ pass
2741
+
2742
+ def _typecheckingstub__2558e1f521ac9d42f41277e188f9b3916e911b33d98c46eba7b35837f9d5e5aa(
2743
+ value: builtins.str,
2744
+ ) -> None:
2745
+ """Type checking stubs"""
2746
+ pass
2747
+
2748
+ def _typecheckingstub__d03add559c3e5c8300d41809a9579ab79a30ac2280a9116b12f9e956f5b176e7(
2749
+ value: builtins.str,
2750
+ ) -> None:
2751
+ """Type checking stubs"""
2752
+ pass
2753
+
2754
+ def _typecheckingstub__8bad55e55d8452abe892cea5a4bec66a6ab86e9bc3d56b0a36cfe63e18325c01(
2755
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2756
+ ) -> None:
2757
+ """Type checking stubs"""
2758
+ pass
2759
+
2760
+ def _typecheckingstub__2e2a35e3062885d4364913bf8f82e9adbc5cf8ee7b9a4712ac632c0c18444667(
2761
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
2762
+ ) -> None:
2763
+ """Type checking stubs"""
2764
+ pass
2765
+
2766
+ def _typecheckingstub__587e4697953225f3226603c43b6632073e29e531cd8559a516447b2f279761f1(
2767
+ value: builtins.str,
2768
+ ) -> None:
2769
+ """Type checking stubs"""
2770
+ pass
2771
+
2772
+ def _typecheckingstub__d784cbad4812d74571ea6bd4f345ded5999d60288344c5b7666a672de8ab4f93(
2773
+ value: builtins.str,
2774
+ ) -> None:
2775
+ """Type checking stubs"""
2776
+ pass
2777
+
2778
+ def _typecheckingstub__cf4f52898b75a9b0604cb414405e6251854854d6b3965a6524b46da5002b3322(
2779
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2780
+ terraform_attribute: builtins.str,
2781
+ wraps_set: builtins.bool,
2782
+ ) -> None:
2783
+ """Type checking stubs"""
2784
+ pass
2785
+
2786
+ def _typecheckingstub__f4252d9db585952153c1c7b4ab9959c5e9735acd2eacc7718a173e3af9b63655(
2787
+ index: jsii.Number,
2788
+ ) -> None:
2789
+ """Type checking stubs"""
2790
+ pass
2791
+
2792
+ def _typecheckingstub__8d6e320ee08cff87cf383a49d240e7b08cc1cde188220b5ebbaa1aa01276cd47(
2793
+ value: builtins.str,
2794
+ ) -> None:
2795
+ """Type checking stubs"""
2796
+ pass
2797
+
2798
+ def _typecheckingstub__d01ad4104711108a61bfe60b65ce72760f44f64c48e6d32829e0cd80c705aae2(
2799
+ value: _cdktf_9a9027ec.IInterpolatingParent,
2800
+ ) -> None:
2801
+ """Type checking stubs"""
2802
+ pass
2803
+
2804
+ def _typecheckingstub__9717b3417f02063948e02cb67f4622cbd85be8020fbdec4526701605c0e76db8(
2805
+ value: builtins.bool,
2806
+ ) -> None:
2807
+ """Type checking stubs"""
2808
+ pass
2809
+
2810
+ def _typecheckingstub__74486c446b4bb4d03113a6716ef1ae8d4f578400c1889d35913c174dcca771eb(
2811
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2812
+ terraform_attribute: builtins.str,
2813
+ complex_object_index: jsii.Number,
2814
+ complex_object_is_from_set: builtins.bool,
2815
+ ) -> None:
2816
+ """Type checking stubs"""
2817
+ pass
2818
+
2819
+ def _typecheckingstub__f8aac1a49ad50d49df4e2f2de04bd60a6f054eeff1e57e01b8130b16417b58c3(
2820
+ value: typing.Optional[ManagedDatabaseValkeyComponents],
2821
+ ) -> None:
2822
+ """Type checking stubs"""
2823
+ pass
2824
+
2825
+ def _typecheckingstub__572e81ffbdca76e6a311042e02f5f60989357be28c5c9418094954727f2b5e84(
2826
+ *,
2827
+ 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,
2828
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
2829
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
2830
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
2831
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
2832
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
2833
+ 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,
2834
+ name: builtins.str,
2835
+ plan: builtins.str,
2836
+ title: builtins.str,
2837
+ zone: builtins.str,
2838
+ id: typing.Optional[builtins.str] = None,
2839
+ labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2840
+ maintenance_window_dow: typing.Optional[builtins.str] = None,
2841
+ maintenance_window_time: typing.Optional[builtins.str] = None,
2842
+ network: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ManagedDatabaseValkeyNetwork, typing.Dict[builtins.str, typing.Any]]]]] = None,
2843
+ powered: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2844
+ properties: typing.Optional[typing.Union[ManagedDatabaseValkeyProperties, typing.Dict[builtins.str, typing.Any]]] = None,
2845
+ termination_protection: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2846
+ ) -> None:
2847
+ """Type checking stubs"""
2848
+ pass
2849
+
2850
+ def _typecheckingstub__86bc6cfbeb2b0d724aae3cd0dc476ec5f0060e413bec0604ca6101e019eba72f(
2851
+ *,
2852
+ family: builtins.str,
2853
+ name: builtins.str,
2854
+ type: builtins.str,
2855
+ uuid: builtins.str,
2856
+ ) -> None:
2857
+ """Type checking stubs"""
2858
+ pass
2859
+
2860
+ def _typecheckingstub__3f387effda8c16fde9966811ccf787b3d56271088a5b593d10bd528d49165c7f(
2861
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2862
+ terraform_attribute: builtins.str,
2863
+ wraps_set: builtins.bool,
2864
+ ) -> None:
2865
+ """Type checking stubs"""
2866
+ pass
2867
+
2868
+ def _typecheckingstub__b2cc2c3d970c95aa4a181f20ece6cae2da769925316379879259191e890fc425(
2869
+ index: jsii.Number,
2870
+ ) -> None:
2871
+ """Type checking stubs"""
2872
+ pass
2873
+
2874
+ def _typecheckingstub__b1f288935f98f823df0793a078e8de29a92298eeac83e277d79e6f5b6e9c6819(
2875
+ value: builtins.str,
2876
+ ) -> None:
2877
+ """Type checking stubs"""
2878
+ pass
2879
+
2880
+ def _typecheckingstub__1ce318a3e6e190673efb3cff247a30d8c50c2a72993e57587a0a7bbac9667ca3(
2881
+ value: _cdktf_9a9027ec.IInterpolatingParent,
2882
+ ) -> None:
2883
+ """Type checking stubs"""
2884
+ pass
2885
+
2886
+ def _typecheckingstub__481786a55a2dc14dc3f4da44e7f8873f8427ecce80d885eb17eeee0c53c32a87(
2887
+ value: builtins.bool,
2888
+ ) -> None:
2889
+ """Type checking stubs"""
2890
+ pass
2891
+
2892
+ def _typecheckingstub__b13648ea5908387b35158d29883e52641c749981675ab65432e63968b8ef75a5(
2893
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseValkeyNetwork]]],
2894
+ ) -> None:
2895
+ """Type checking stubs"""
2896
+ pass
2897
+
2898
+ def _typecheckingstub__2824d1ded7fae4598e64b29704860b7e65e1f60cc8c2ba18af6f88b9c393faff(
2899
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2900
+ terraform_attribute: builtins.str,
2901
+ complex_object_index: jsii.Number,
2902
+ complex_object_is_from_set: builtins.bool,
2903
+ ) -> None:
2904
+ """Type checking stubs"""
2905
+ pass
2906
+
2907
+ def _typecheckingstub__4fa688fb44a82433ca388090b8249ad71a4bc831cce3794d229093b4b56293f6(
2908
+ value: builtins.str,
2909
+ ) -> None:
2910
+ """Type checking stubs"""
2911
+ pass
2912
+
2913
+ def _typecheckingstub__5b54ca25e12af584a57e78a38206ab3436c3e1bac4eee6604e90f51def133755(
2914
+ value: builtins.str,
2915
+ ) -> None:
2916
+ """Type checking stubs"""
2917
+ pass
2918
+
2919
+ def _typecheckingstub__1226f980d40c87f8397fe48cb9cc06bf941eea21e26fac7b5530ae632e3503b4(
2920
+ value: builtins.str,
2921
+ ) -> None:
2922
+ """Type checking stubs"""
2923
+ pass
2924
+
2925
+ def _typecheckingstub__12fdc41f27c6b4f2b911ddd6aba5ce7018770875b804e05212b99416e015528d(
2926
+ value: builtins.str,
2927
+ ) -> None:
2928
+ """Type checking stubs"""
2929
+ pass
2930
+
2931
+ def _typecheckingstub__1bf6882d93a48e5aa568b7df8ec4368202184ba0e5546a39a063fbf8b69e0628(
2932
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, ManagedDatabaseValkeyNetwork]],
2933
+ ) -> None:
2934
+ """Type checking stubs"""
2935
+ pass
2936
+
2937
+ def _typecheckingstub__b36a07f4f6613a569fb00669f4dff53d81c6ac0bf2755480fb4e80a1743c29ef(
2938
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2939
+ terraform_attribute: builtins.str,
2940
+ wraps_set: builtins.bool,
2941
+ ) -> None:
2942
+ """Type checking stubs"""
2943
+ pass
2944
+
2945
+ def _typecheckingstub__d7c171b3c8fbf5cf7cde17ad2a04170148cb54b6d4df2b7940c311e02710b1f9(
2946
+ index: jsii.Number,
2947
+ ) -> None:
2948
+ """Type checking stubs"""
2949
+ pass
2950
+
2951
+ def _typecheckingstub__a84231c9993c80153c365716c8c01dab8e9bea7cb1687ec9ffe5a59e4b2a6324(
2952
+ value: builtins.str,
2953
+ ) -> None:
2954
+ """Type checking stubs"""
2955
+ pass
2956
+
2957
+ def _typecheckingstub__33024060d747d6f3e2c9b75456197397a7aef2d57295c92716c794d24de628a0(
2958
+ value: _cdktf_9a9027ec.IInterpolatingParent,
2959
+ ) -> None:
2960
+ """Type checking stubs"""
2961
+ pass
2962
+
2963
+ def _typecheckingstub__5b4b326613b451e91b53641f7d027967e6b69bfef13702d5adde4da4e2e83459(
2964
+ value: builtins.bool,
2965
+ ) -> None:
2966
+ """Type checking stubs"""
2967
+ pass
2968
+
2969
+ def _typecheckingstub__3584d0fded5a72760262405f68d64086374d1b0be18591d1e84bb4af5db5c06f(
2970
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
2971
+ terraform_attribute: builtins.str,
2972
+ complex_object_index: jsii.Number,
2973
+ complex_object_is_from_set: builtins.bool,
2974
+ ) -> None:
2975
+ """Type checking stubs"""
2976
+ pass
2977
+
2978
+ def _typecheckingstub__23d6fd61468e82793403951f52c6440df44471673eda077d3768f80950de87be(
2979
+ value: typing.Optional[ManagedDatabaseValkeyNodeStates],
2980
+ ) -> None:
2981
+ """Type checking stubs"""
2982
+ pass
2983
+
2984
+ def _typecheckingstub__130504794befd55a7bc90ab03ca53c94a25f9b733cdd13efed4a51695da4b995(
2985
+ *,
2986
+ automatic_utility_network_ip_filter: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2987
+ backup_hour: typing.Optional[jsii.Number] = None,
2988
+ backup_minute: typing.Optional[jsii.Number] = None,
2989
+ ip_filter: typing.Optional[typing.Sequence[builtins.str]] = None,
2990
+ migration: typing.Optional[typing.Union[ManagedDatabaseValkeyPropertiesMigration, typing.Dict[builtins.str, typing.Any]]] = None,
2991
+ public_access: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2992
+ service_log: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
2993
+ valkey_acl_channels_default: typing.Optional[builtins.str] = None,
2994
+ valkey_io_threads: typing.Optional[jsii.Number] = None,
2995
+ valkey_lfu_decay_time: typing.Optional[jsii.Number] = None,
2996
+ valkey_lfu_log_factor: typing.Optional[jsii.Number] = None,
2997
+ valkey_maxmemory_policy: typing.Optional[builtins.str] = None,
2998
+ valkey_notify_keyspace_events: typing.Optional[builtins.str] = None,
2999
+ valkey_number_of_databases: typing.Optional[jsii.Number] = None,
3000
+ valkey_persistence: typing.Optional[builtins.str] = None,
3001
+ valkey_pubsub_client_output_buffer_limit: typing.Optional[jsii.Number] = None,
3002
+ valkey_ssl: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3003
+ valkey_timeout: typing.Optional[jsii.Number] = None,
3004
+ ) -> None:
3005
+ """Type checking stubs"""
3006
+ pass
3007
+
3008
+ def _typecheckingstub__79d93789bda00eb59095ff4b93fc8d576f547960656fc2c2b20cdd46b3842774(
3009
+ *,
3010
+ dbname: typing.Optional[builtins.str] = None,
3011
+ host: typing.Optional[builtins.str] = None,
3012
+ ignore_dbs: typing.Optional[builtins.str] = None,
3013
+ ignore_roles: typing.Optional[builtins.str] = None,
3014
+ method: typing.Optional[builtins.str] = None,
3015
+ password: typing.Optional[builtins.str] = None,
3016
+ port: typing.Optional[jsii.Number] = None,
3017
+ ssl: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
3018
+ username: typing.Optional[builtins.str] = None,
3019
+ ) -> None:
3020
+ """Type checking stubs"""
3021
+ pass
3022
+
3023
+ def _typecheckingstub__653b9500142dcaaa00ba3451c2ff31751e33552cb8092bcd3c7cdc2da14e47cd(
3024
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3025
+ terraform_attribute: builtins.str,
3026
+ ) -> None:
3027
+ """Type checking stubs"""
3028
+ pass
3029
+
3030
+ def _typecheckingstub__1314b6cb90839f64d1e6b134d07633136410e75b81032064900446b8247729d5(
3031
+ value: builtins.str,
3032
+ ) -> None:
3033
+ """Type checking stubs"""
3034
+ pass
3035
+
3036
+ def _typecheckingstub__76243e98f6cb500875bf56e8d226c15068248549c3ecd1b38c8ae49ffcdd0c65(
3037
+ value: builtins.str,
3038
+ ) -> None:
3039
+ """Type checking stubs"""
3040
+ pass
3041
+
3042
+ def _typecheckingstub__162cd0275fe93ffc0222678a946ecd079acd01731fd60103ce60dd5b536809be(
3043
+ value: builtins.str,
3044
+ ) -> None:
3045
+ """Type checking stubs"""
3046
+ pass
3047
+
3048
+ def _typecheckingstub__a6fdf035c2bfaaf78851ed75b4776ecfc0280916d034d8d88e5c518b4d31606e(
3049
+ value: builtins.str,
3050
+ ) -> None:
3051
+ """Type checking stubs"""
3052
+ pass
3053
+
3054
+ def _typecheckingstub__e35e85c39397173d3e45859019af030a0c6b4ceaa3a4e544f90652fddaec8daf(
3055
+ value: builtins.str,
3056
+ ) -> None:
3057
+ """Type checking stubs"""
3058
+ pass
3059
+
3060
+ def _typecheckingstub__662e37d640a89c81978ab1bc6760bef1547ed14b8359ccf76d5f8c5ba2c1ca85(
3061
+ value: builtins.str,
3062
+ ) -> None:
3063
+ """Type checking stubs"""
3064
+ pass
3065
+
3066
+ def _typecheckingstub__af55c31711e4f7afee55e9eb3357116e63b64c1178aa20a3b34caff9e7d36c63(
3067
+ value: jsii.Number,
3068
+ ) -> None:
3069
+ """Type checking stubs"""
3070
+ pass
3071
+
3072
+ def _typecheckingstub__f483e3934be4c35439acb518122bb176bb613a0bb411d2384a025b2fe6dbaa40(
3073
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3074
+ ) -> None:
3075
+ """Type checking stubs"""
3076
+ pass
3077
+
3078
+ def _typecheckingstub__6a34f9da5159916189640a32002175c4e592ba0b30620af992ca26e34a7aa9aa(
3079
+ value: builtins.str,
3080
+ ) -> None:
3081
+ """Type checking stubs"""
3082
+ pass
3083
+
3084
+ def _typecheckingstub__1793c40b292b55abd22e900135f7fb7177ba88955948317e0f8e1140a8fd6bb9(
3085
+ value: typing.Optional[ManagedDatabaseValkeyPropertiesMigration],
3086
+ ) -> None:
3087
+ """Type checking stubs"""
3088
+ pass
3089
+
3090
+ def _typecheckingstub__55792d3e90a4aee66c1699f91bdcfb7f0f4fdd7ccf76213d91486a87ffeb6e7f(
3091
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
3092
+ terraform_attribute: builtins.str,
3093
+ ) -> None:
3094
+ """Type checking stubs"""
3095
+ pass
3096
+
3097
+ def _typecheckingstub__9c44d89cc2ed32723b08157526a381420fa119892c564fdedde7987c627d199b(
3098
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3099
+ ) -> None:
3100
+ """Type checking stubs"""
3101
+ pass
3102
+
3103
+ def _typecheckingstub__97fa6c9348419174573baa4a126b6a8e3f160ce4b9144a878e9c0157547f9cc1(
3104
+ value: jsii.Number,
3105
+ ) -> None:
3106
+ """Type checking stubs"""
3107
+ pass
3108
+
3109
+ def _typecheckingstub__811ddadc48f4551492d04783df1afbc040352a53ea4bee82d0508e3280c3c005(
3110
+ value: jsii.Number,
3111
+ ) -> None:
3112
+ """Type checking stubs"""
3113
+ pass
3114
+
3115
+ def _typecheckingstub__ef2b45dbaf8564a5828368af43f39e9e9b46f8662d13ce44cef40b45ec56f7db(
3116
+ value: typing.List[builtins.str],
3117
+ ) -> None:
3118
+ """Type checking stubs"""
3119
+ pass
3120
+
3121
+ def _typecheckingstub__61f81631eb5f8dd781126f6a71849383ca6cb5c401a058533d0c001fdd87e963(
3122
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3123
+ ) -> None:
3124
+ """Type checking stubs"""
3125
+ pass
3126
+
3127
+ def _typecheckingstub__f875fc8095f055f0ecdfe6f2ab3f46d09111243c7ea6f03961499925bb56f00f(
3128
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3129
+ ) -> None:
3130
+ """Type checking stubs"""
3131
+ pass
3132
+
3133
+ def _typecheckingstub__2fe20994370fab9130ba3ce108940f96e8805127e4d82f5b2696c1c8ed479423(
3134
+ value: builtins.str,
3135
+ ) -> None:
3136
+ """Type checking stubs"""
3137
+ pass
3138
+
3139
+ def _typecheckingstub__36712e3e7fe0a856cf4cdb0e99d545b70df6ff8cb75d1732956a23af8faec9e8(
3140
+ value: jsii.Number,
3141
+ ) -> None:
3142
+ """Type checking stubs"""
3143
+ pass
3144
+
3145
+ def _typecheckingstub__15b6c8ce90519918204fdd1183efa1a627bb95b3268a6503b277d9da7d723c8b(
3146
+ value: jsii.Number,
3147
+ ) -> None:
3148
+ """Type checking stubs"""
3149
+ pass
3150
+
3151
+ def _typecheckingstub__3e243578f8d78eab75cc755766a8e4f4fcb788de8b816bb45a1718db182b8ec4(
3152
+ value: jsii.Number,
3153
+ ) -> None:
3154
+ """Type checking stubs"""
3155
+ pass
3156
+
3157
+ def _typecheckingstub__58d2a600744f7ded9d19d6d64758106e5dd26bf9bdefb7de08c43c6d281af215(
3158
+ value: builtins.str,
3159
+ ) -> None:
3160
+ """Type checking stubs"""
3161
+ pass
3162
+
3163
+ def _typecheckingstub__c11e8e05f6c742e65ebab02abf104aef2a997d1558d32e6d01bbe3f4af5ea10c(
3164
+ value: builtins.str,
3165
+ ) -> None:
3166
+ """Type checking stubs"""
3167
+ pass
3168
+
3169
+ def _typecheckingstub__10762b45ffd584091d6e5c546b00dc514e09029433109616a18715a1f850ad7d(
3170
+ value: jsii.Number,
3171
+ ) -> None:
3172
+ """Type checking stubs"""
3173
+ pass
3174
+
3175
+ def _typecheckingstub__3df38d43378b5c11dc6050c05dde117eecd487d129fac6402013aeed9ae8cd65(
3176
+ value: builtins.str,
3177
+ ) -> None:
3178
+ """Type checking stubs"""
3179
+ pass
3180
+
3181
+ def _typecheckingstub__0dbcafcb27e6d3915244903e1e717c58586f72ad8034de91b6484a17f6a8b7a5(
3182
+ value: jsii.Number,
3183
+ ) -> None:
3184
+ """Type checking stubs"""
3185
+ pass
3186
+
3187
+ def _typecheckingstub__2de1b44225297c589501a1169672e24a61f63a2250c403c2043fac2c3d51453b(
3188
+ value: typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable],
3189
+ ) -> None:
3190
+ """Type checking stubs"""
3191
+ pass
3192
+
3193
+ def _typecheckingstub__eb3af04522bbfd913260c5a68eacc426646fd40c2d829645b45ec90d5496c7d0(
3194
+ value: jsii.Number,
3195
+ ) -> None:
3196
+ """Type checking stubs"""
3197
+ pass
3198
+
3199
+ def _typecheckingstub__8e856dbf1220e8ba94728c6777bc94aa3e02eb3316a2fe713db6fc687015a748(
3200
+ value: typing.Optional[ManagedDatabaseValkeyProperties],
3201
+ ) -> None:
3202
+ """Type checking stubs"""
3203
+ pass