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