pulumi-digitalocean 4.49.0a1751946418__py3-none-any.whl → 4.50.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 pulumi-digitalocean might be problematic. Click here for more details.

Files changed (134) hide show
  1. pulumi_digitalocean/__init__.py +81 -1
  2. pulumi_digitalocean/_enums.py +9 -9
  3. pulumi_digitalocean/_inputs.py +11204 -8486
  4. pulumi_digitalocean/app.py +137 -88
  5. pulumi_digitalocean/cdn.py +104 -105
  6. pulumi_digitalocean/certificate.py +137 -138
  7. pulumi_digitalocean/config/__init__.py +1 -1
  8. pulumi_digitalocean/config/__init__.pyi +1 -2
  9. pulumi_digitalocean/config/vars.py +10 -11
  10. pulumi_digitalocean/container_registry.py +88 -89
  11. pulumi_digitalocean/container_registry_docker_credentials.py +70 -71
  12. pulumi_digitalocean/custom_image.py +175 -176
  13. pulumi_digitalocean/database_cluster.py +374 -347
  14. pulumi_digitalocean/database_connection_pool.py +157 -158
  15. pulumi_digitalocean/database_db.py +35 -36
  16. pulumi_digitalocean/database_firewall.py +21 -22
  17. pulumi_digitalocean/database_kafka_config.py +307 -308
  18. pulumi_digitalocean/database_kafka_topic.py +81 -82
  19. pulumi_digitalocean/database_mongodb_config.py +103 -104
  20. pulumi_digitalocean/database_mysql_config.py +477 -478
  21. pulumi_digitalocean/database_online_migration.py +460 -0
  22. pulumi_digitalocean/database_opensearch_config.py +664 -665
  23. pulumi_digitalocean/database_postgresql_config.py +857 -858
  24. pulumi_digitalocean/database_redis_config.py +209 -206
  25. pulumi_digitalocean/database_replica.py +197 -198
  26. pulumi_digitalocean/database_user.py +91 -92
  27. pulumi_digitalocean/database_valkey_config.py +804 -0
  28. pulumi_digitalocean/dns_record.py +180 -181
  29. pulumi_digitalocean/domain.py +53 -54
  30. pulumi_digitalocean/droplet.py +388 -389
  31. pulumi_digitalocean/droplet_autoscale.py +53 -54
  32. pulumi_digitalocean/droplet_snapshot.py +71 -72
  33. pulumi_digitalocean/firewall.py +78 -79
  34. pulumi_digitalocean/floating_ip.py +61 -62
  35. pulumi_digitalocean/floating_ip_assignment.py +35 -36
  36. pulumi_digitalocean/genai_agent.py +452 -453
  37. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  38. pulumi_digitalocean/genai_agent_route.py +354 -0
  39. pulumi_digitalocean/genai_function.py +464 -0
  40. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  41. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  42. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  43. pulumi_digitalocean/get_account.py +17 -18
  44. pulumi_digitalocean/get_app.py +27 -28
  45. pulumi_digitalocean/get_certificate.py +21 -22
  46. pulumi_digitalocean/get_container_registry.py +21 -22
  47. pulumi_digitalocean/get_database_ca.py +11 -12
  48. pulumi_digitalocean/get_database_cluster.py +75 -62
  49. pulumi_digitalocean/get_database_connection_pool.py +35 -36
  50. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  51. pulumi_digitalocean/get_database_replica.py +45 -46
  52. pulumi_digitalocean/get_database_user.py +26 -27
  53. pulumi_digitalocean/get_domain.py +15 -16
  54. pulumi_digitalocean/get_domains.py +6 -7
  55. pulumi_digitalocean/get_droplet.py +71 -72
  56. pulumi_digitalocean/get_droplet_autoscale.py +22 -23
  57. pulumi_digitalocean/get_droplet_snapshot.py +37 -38
  58. pulumi_digitalocean/get_droplets.py +12 -13
  59. pulumi_digitalocean/get_firewall.py +30 -31
  60. pulumi_digitalocean/get_floating_ip.py +15 -16
  61. pulumi_digitalocean/get_genai_agent.py +89 -90
  62. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  63. pulumi_digitalocean/get_genai_agents.py +10 -11
  64. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  65. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  66. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  67. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  68. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  69. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  70. pulumi_digitalocean/get_image.py +49 -50
  71. pulumi_digitalocean/get_images.py +6 -7
  72. pulumi_digitalocean/get_kubernetes_cluster.py +53 -54
  73. pulumi_digitalocean/get_kubernetes_versions.py +13 -14
  74. pulumi_digitalocean/get_load_balancer.py +59 -60
  75. pulumi_digitalocean/get_partner_attachment.py +30 -31
  76. pulumi_digitalocean/get_partner_attachment_service_key.py +13 -14
  77. pulumi_digitalocean/get_project.py +31 -32
  78. pulumi_digitalocean/get_projects.py +6 -7
  79. pulumi_digitalocean/get_record.py +31 -32
  80. pulumi_digitalocean/get_records.py +12 -13
  81. pulumi_digitalocean/get_region.py +17 -18
  82. pulumi_digitalocean/get_regions.py +6 -7
  83. pulumi_digitalocean/get_reserved_ip.py +15 -16
  84. pulumi_digitalocean/get_reserved_ipv6.py +15 -16
  85. pulumi_digitalocean/get_sizes.py +6 -7
  86. pulumi_digitalocean/get_spaces_bucket.py +21 -22
  87. pulumi_digitalocean/get_spaces_bucket_object.py +57 -58
  88. pulumi_digitalocean/get_spaces_bucket_objects.py +45 -46
  89. pulumi_digitalocean/get_spaces_buckets.py +6 -7
  90. pulumi_digitalocean/get_spaces_key.py +14 -15
  91. pulumi_digitalocean/get_ssh_key.py +13 -14
  92. pulumi_digitalocean/get_ssh_keys.py +6 -7
  93. pulumi_digitalocean/get_tag.py +21 -22
  94. pulumi_digitalocean/get_tags.py +6 -7
  95. pulumi_digitalocean/get_volume.py +33 -34
  96. pulumi_digitalocean/get_volume_snapshot.py +39 -40
  97. pulumi_digitalocean/get_vpc.py +29 -30
  98. pulumi_digitalocean/get_vpc_nat_gateway.py +33 -34
  99. pulumi_digitalocean/get_vpc_peering.py +23 -24
  100. pulumi_digitalocean/kubernetes_cluster.py +293 -294
  101. pulumi_digitalocean/kubernetes_node_pool.py +168 -169
  102. pulumi_digitalocean/load_balancer.py +374 -375
  103. pulumi_digitalocean/monitor_alert.py +149 -150
  104. pulumi_digitalocean/outputs.py +20079 -12647
  105. pulumi_digitalocean/partner_attachment.py +150 -151
  106. pulumi_digitalocean/project.py +139 -140
  107. pulumi_digitalocean/project_resources.py +35 -36
  108. pulumi_digitalocean/provider.py +84 -85
  109. pulumi_digitalocean/pulumi-plugin.json +1 -1
  110. pulumi_digitalocean/reserved_ip.py +61 -62
  111. pulumi_digitalocean/reserved_ip_assignment.py +35 -36
  112. pulumi_digitalocean/reserved_ipv6.py +53 -54
  113. pulumi_digitalocean/reserved_ipv6_assignment.py +35 -36
  114. pulumi_digitalocean/spaces_bucket.py +105 -106
  115. pulumi_digitalocean/spaces_bucket_cors_configuration.py +38 -39
  116. pulumi_digitalocean/spaces_bucket_logging.py +69 -70
  117. pulumi_digitalocean/spaces_bucket_object.py +282 -283
  118. pulumi_digitalocean/spaces_bucket_policy.py +52 -53
  119. pulumi_digitalocean/spaces_key.py +48 -49
  120. pulumi_digitalocean/ssh_key.py +44 -45
  121. pulumi_digitalocean/tag.py +72 -73
  122. pulumi_digitalocean/uptime_alert.py +106 -107
  123. pulumi_digitalocean/uptime_check.py +86 -87
  124. pulumi_digitalocean/volume.py +181 -182
  125. pulumi_digitalocean/volume_attachment.py +35 -36
  126. pulumi_digitalocean/volume_snapshot.py +88 -89
  127. pulumi_digitalocean/vpc.py +96 -97
  128. pulumi_digitalocean/vpc_nat_gateway.py +152 -153
  129. pulumi_digitalocean/vpc_peering.py +53 -54
  130. {pulumi_digitalocean-4.49.0a1751946418.dist-info → pulumi_digitalocean-4.50.0.dist-info}/METADATA +1 -1
  131. pulumi_digitalocean-4.50.0.dist-info/RECORD +135 -0
  132. pulumi_digitalocean-4.49.0a1751946418.dist-info/RECORD +0 -119
  133. {pulumi_digitalocean-4.49.0a1751946418.dist-info → pulumi_digitalocean-4.50.0.dist-info}/WHEEL +0 -0
  134. {pulumi_digitalocean-4.49.0a1751946418.dist-info → pulumi_digitalocean-4.50.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,804 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['DatabaseValkeyConfigArgs', 'DatabaseValkeyConfig']
18
+
19
+ @pulumi.input_type
20
+ class DatabaseValkeyConfigArgs:
21
+ def __init__(__self__, *,
22
+ cluster_id: pulumi.Input[_builtins.str],
23
+ acl_channels_default: Optional[pulumi.Input[_builtins.str]] = None,
24
+ frequent_snapshots: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ io_threads: Optional[pulumi.Input[_builtins.int]] = None,
26
+ lfu_decay_time: Optional[pulumi.Input[_builtins.int]] = None,
27
+ lfu_log_factor: Optional[pulumi.Input[_builtins.int]] = None,
28
+ notify_keyspace_events: Optional[pulumi.Input[_builtins.str]] = None,
29
+ number_of_databases: Optional[pulumi.Input[_builtins.int]] = None,
30
+ persistence: Optional[pulumi.Input[_builtins.str]] = None,
31
+ pubsub_client_output_buffer_limit: Optional[pulumi.Input[_builtins.int]] = None,
32
+ ssl: Optional[pulumi.Input[_builtins.bool]] = None,
33
+ timeout: Optional[pulumi.Input[_builtins.int]] = None,
34
+ valkey_active_expire_effort: Optional[pulumi.Input[_builtins.int]] = None):
35
+ """
36
+ The set of arguments for constructing a DatabaseValkeyConfig resource.
37
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Valkey cluster.
38
+ :param pulumi.Input[_builtins.str] acl_channels_default: Determines default pub/sub channels' ACL for new users if an ACL is not supplied. When this option is not defined, `allchannels` is assumed to keep backward compatibility. This option doesn't affect Valkey' `acl-pubsub-default` configuration. Supported values are: `allchannels` and `resetchannels`
39
+ :param pulumi.Input[_builtins.bool] frequent_snapshots: Frequent RDB snapshots. When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only
40
+ take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when
41
+ valkey_persistence is set to off.
42
+ :param pulumi.Input[_builtins.int] io_threads: The Valkey IO thread count.
43
+ :param pulumi.Input[_builtins.int] lfu_decay_time: The LFU maxmemory policy counter decay time in minutes.
44
+ :param pulumi.Input[_builtins.int] lfu_log_factor: The counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory policies.
45
+ :param pulumi.Input[_builtins.str] notify_keyspace_events: The `notify-keyspace-events` option. Requires at least `K` or `E`.
46
+ :param pulumi.Input[_builtins.int] number_of_databases: The number of Valkey databases. Changing this will cause a restart of Valkey service.
47
+ :param pulumi.Input[_builtins.str] 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.
48
+ :param pulumi.Input[_builtins.int] pubsub_client_output_buffer_limit: The 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.
49
+ :param pulumi.Input[_builtins.bool] ssl: A boolean indicating whether to require SSL to access Valkey.
50
+ :param pulumi.Input[_builtins.int] timeout: The Valkey idle connection timeout in seconds.
51
+ :param pulumi.Input[_builtins.int] valkey_active_expire_effort: Active expire effort. Valkey reclaims expired keys both when accessed and in the background. The background process
52
+ scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to
53
+ reclaim expired keys faster, reducing memory usage but potentially increasing latency.
54
+ """
55
+ pulumi.set(__self__, "cluster_id", cluster_id)
56
+ if acl_channels_default is not None:
57
+ pulumi.set(__self__, "acl_channels_default", acl_channels_default)
58
+ if frequent_snapshots is not None:
59
+ pulumi.set(__self__, "frequent_snapshots", frequent_snapshots)
60
+ if io_threads is not None:
61
+ pulumi.set(__self__, "io_threads", io_threads)
62
+ if lfu_decay_time is not None:
63
+ pulumi.set(__self__, "lfu_decay_time", lfu_decay_time)
64
+ if lfu_log_factor is not None:
65
+ pulumi.set(__self__, "lfu_log_factor", lfu_log_factor)
66
+ if notify_keyspace_events is not None:
67
+ pulumi.set(__self__, "notify_keyspace_events", notify_keyspace_events)
68
+ if number_of_databases is not None:
69
+ pulumi.set(__self__, "number_of_databases", number_of_databases)
70
+ if persistence is not None:
71
+ pulumi.set(__self__, "persistence", persistence)
72
+ if pubsub_client_output_buffer_limit is not None:
73
+ pulumi.set(__self__, "pubsub_client_output_buffer_limit", pubsub_client_output_buffer_limit)
74
+ if ssl is not None:
75
+ pulumi.set(__self__, "ssl", ssl)
76
+ if timeout is not None:
77
+ pulumi.set(__self__, "timeout", timeout)
78
+ if valkey_active_expire_effort is not None:
79
+ pulumi.set(__self__, "valkey_active_expire_effort", valkey_active_expire_effort)
80
+
81
+ @_builtins.property
82
+ @pulumi.getter(name="clusterId")
83
+ def cluster_id(self) -> pulumi.Input[_builtins.str]:
84
+ """
85
+ The ID of the target Valkey cluster.
86
+ """
87
+ return pulumi.get(self, "cluster_id")
88
+
89
+ @cluster_id.setter
90
+ def cluster_id(self, value: pulumi.Input[_builtins.str]):
91
+ pulumi.set(self, "cluster_id", value)
92
+
93
+ @_builtins.property
94
+ @pulumi.getter(name="aclChannelsDefault")
95
+ def acl_channels_default(self) -> Optional[pulumi.Input[_builtins.str]]:
96
+ """
97
+ Determines default pub/sub channels' ACL for new users if an ACL is not supplied. When this option is not defined, `allchannels` is assumed to keep backward compatibility. This option doesn't affect Valkey' `acl-pubsub-default` configuration. Supported values are: `allchannels` and `resetchannels`
98
+ """
99
+ return pulumi.get(self, "acl_channels_default")
100
+
101
+ @acl_channels_default.setter
102
+ def acl_channels_default(self, value: Optional[pulumi.Input[_builtins.str]]):
103
+ pulumi.set(self, "acl_channels_default", value)
104
+
105
+ @_builtins.property
106
+ @pulumi.getter(name="frequentSnapshots")
107
+ def frequent_snapshots(self) -> Optional[pulumi.Input[_builtins.bool]]:
108
+ """
109
+ Frequent RDB snapshots. When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only
110
+ take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when
111
+ valkey_persistence is set to off.
112
+ """
113
+ return pulumi.get(self, "frequent_snapshots")
114
+
115
+ @frequent_snapshots.setter
116
+ def frequent_snapshots(self, value: Optional[pulumi.Input[_builtins.bool]]):
117
+ pulumi.set(self, "frequent_snapshots", value)
118
+
119
+ @_builtins.property
120
+ @pulumi.getter(name="ioThreads")
121
+ def io_threads(self) -> Optional[pulumi.Input[_builtins.int]]:
122
+ """
123
+ The Valkey IO thread count.
124
+ """
125
+ return pulumi.get(self, "io_threads")
126
+
127
+ @io_threads.setter
128
+ def io_threads(self, value: Optional[pulumi.Input[_builtins.int]]):
129
+ pulumi.set(self, "io_threads", value)
130
+
131
+ @_builtins.property
132
+ @pulumi.getter(name="lfuDecayTime")
133
+ def lfu_decay_time(self) -> Optional[pulumi.Input[_builtins.int]]:
134
+ """
135
+ The LFU maxmemory policy counter decay time in minutes.
136
+ """
137
+ return pulumi.get(self, "lfu_decay_time")
138
+
139
+ @lfu_decay_time.setter
140
+ def lfu_decay_time(self, value: Optional[pulumi.Input[_builtins.int]]):
141
+ pulumi.set(self, "lfu_decay_time", value)
142
+
143
+ @_builtins.property
144
+ @pulumi.getter(name="lfuLogFactor")
145
+ def lfu_log_factor(self) -> Optional[pulumi.Input[_builtins.int]]:
146
+ """
147
+ The counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory policies.
148
+ """
149
+ return pulumi.get(self, "lfu_log_factor")
150
+
151
+ @lfu_log_factor.setter
152
+ def lfu_log_factor(self, value: Optional[pulumi.Input[_builtins.int]]):
153
+ pulumi.set(self, "lfu_log_factor", value)
154
+
155
+ @_builtins.property
156
+ @pulumi.getter(name="notifyKeyspaceEvents")
157
+ def notify_keyspace_events(self) -> Optional[pulumi.Input[_builtins.str]]:
158
+ """
159
+ The `notify-keyspace-events` option. Requires at least `K` or `E`.
160
+ """
161
+ return pulumi.get(self, "notify_keyspace_events")
162
+
163
+ @notify_keyspace_events.setter
164
+ def notify_keyspace_events(self, value: Optional[pulumi.Input[_builtins.str]]):
165
+ pulumi.set(self, "notify_keyspace_events", value)
166
+
167
+ @_builtins.property
168
+ @pulumi.getter(name="numberOfDatabases")
169
+ def number_of_databases(self) -> Optional[pulumi.Input[_builtins.int]]:
170
+ """
171
+ The number of Valkey databases. Changing this will cause a restart of Valkey service.
172
+ """
173
+ return pulumi.get(self, "number_of_databases")
174
+
175
+ @number_of_databases.setter
176
+ def number_of_databases(self, value: Optional[pulumi.Input[_builtins.int]]):
177
+ pulumi.set(self, "number_of_databases", value)
178
+
179
+ @_builtins.property
180
+ @pulumi.getter
181
+ def persistence(self) -> Optional[pulumi.Input[_builtins.str]]:
182
+ """
183
+ 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.
184
+ """
185
+ return pulumi.get(self, "persistence")
186
+
187
+ @persistence.setter
188
+ def persistence(self, value: Optional[pulumi.Input[_builtins.str]]):
189
+ pulumi.set(self, "persistence", value)
190
+
191
+ @_builtins.property
192
+ @pulumi.getter(name="pubsubClientOutputBufferLimit")
193
+ def pubsub_client_output_buffer_limit(self) -> Optional[pulumi.Input[_builtins.int]]:
194
+ """
195
+ The 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.
196
+ """
197
+ return pulumi.get(self, "pubsub_client_output_buffer_limit")
198
+
199
+ @pubsub_client_output_buffer_limit.setter
200
+ def pubsub_client_output_buffer_limit(self, value: Optional[pulumi.Input[_builtins.int]]):
201
+ pulumi.set(self, "pubsub_client_output_buffer_limit", value)
202
+
203
+ @_builtins.property
204
+ @pulumi.getter
205
+ def ssl(self) -> Optional[pulumi.Input[_builtins.bool]]:
206
+ """
207
+ A boolean indicating whether to require SSL to access Valkey.
208
+ """
209
+ return pulumi.get(self, "ssl")
210
+
211
+ @ssl.setter
212
+ def ssl(self, value: Optional[pulumi.Input[_builtins.bool]]):
213
+ pulumi.set(self, "ssl", value)
214
+
215
+ @_builtins.property
216
+ @pulumi.getter
217
+ def timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
218
+ """
219
+ The Valkey idle connection timeout in seconds.
220
+ """
221
+ return pulumi.get(self, "timeout")
222
+
223
+ @timeout.setter
224
+ def timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
225
+ pulumi.set(self, "timeout", value)
226
+
227
+ @_builtins.property
228
+ @pulumi.getter(name="valkeyActiveExpireEffort")
229
+ def valkey_active_expire_effort(self) -> Optional[pulumi.Input[_builtins.int]]:
230
+ """
231
+ Active expire effort. Valkey reclaims expired keys both when accessed and in the background. The background process
232
+ scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to
233
+ reclaim expired keys faster, reducing memory usage but potentially increasing latency.
234
+ """
235
+ return pulumi.get(self, "valkey_active_expire_effort")
236
+
237
+ @valkey_active_expire_effort.setter
238
+ def valkey_active_expire_effort(self, value: Optional[pulumi.Input[_builtins.int]]):
239
+ pulumi.set(self, "valkey_active_expire_effort", value)
240
+
241
+
242
+ @pulumi.input_type
243
+ class _DatabaseValkeyConfigState:
244
+ def __init__(__self__, *,
245
+ acl_channels_default: Optional[pulumi.Input[_builtins.str]] = None,
246
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
247
+ frequent_snapshots: Optional[pulumi.Input[_builtins.bool]] = None,
248
+ io_threads: Optional[pulumi.Input[_builtins.int]] = None,
249
+ lfu_decay_time: Optional[pulumi.Input[_builtins.int]] = None,
250
+ lfu_log_factor: Optional[pulumi.Input[_builtins.int]] = None,
251
+ notify_keyspace_events: Optional[pulumi.Input[_builtins.str]] = None,
252
+ number_of_databases: Optional[pulumi.Input[_builtins.int]] = None,
253
+ persistence: Optional[pulumi.Input[_builtins.str]] = None,
254
+ pubsub_client_output_buffer_limit: Optional[pulumi.Input[_builtins.int]] = None,
255
+ ssl: Optional[pulumi.Input[_builtins.bool]] = None,
256
+ timeout: Optional[pulumi.Input[_builtins.int]] = None,
257
+ valkey_active_expire_effort: Optional[pulumi.Input[_builtins.int]] = None):
258
+ """
259
+ Input properties used for looking up and filtering DatabaseValkeyConfig resources.
260
+ :param pulumi.Input[_builtins.str] acl_channels_default: Determines default pub/sub channels' ACL for new users if an ACL is not supplied. When this option is not defined, `allchannels` is assumed to keep backward compatibility. This option doesn't affect Valkey' `acl-pubsub-default` configuration. Supported values are: `allchannels` and `resetchannels`
261
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Valkey cluster.
262
+ :param pulumi.Input[_builtins.bool] frequent_snapshots: Frequent RDB snapshots. When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only
263
+ take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when
264
+ valkey_persistence is set to off.
265
+ :param pulumi.Input[_builtins.int] io_threads: The Valkey IO thread count.
266
+ :param pulumi.Input[_builtins.int] lfu_decay_time: The LFU maxmemory policy counter decay time in minutes.
267
+ :param pulumi.Input[_builtins.int] lfu_log_factor: The counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory policies.
268
+ :param pulumi.Input[_builtins.str] notify_keyspace_events: The `notify-keyspace-events` option. Requires at least `K` or `E`.
269
+ :param pulumi.Input[_builtins.int] number_of_databases: The number of Valkey databases. Changing this will cause a restart of Valkey service.
270
+ :param pulumi.Input[_builtins.str] 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.
271
+ :param pulumi.Input[_builtins.int] pubsub_client_output_buffer_limit: The 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.
272
+ :param pulumi.Input[_builtins.bool] ssl: A boolean indicating whether to require SSL to access Valkey.
273
+ :param pulumi.Input[_builtins.int] timeout: The Valkey idle connection timeout in seconds.
274
+ :param pulumi.Input[_builtins.int] valkey_active_expire_effort: Active expire effort. Valkey reclaims expired keys both when accessed and in the background. The background process
275
+ scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to
276
+ reclaim expired keys faster, reducing memory usage but potentially increasing latency.
277
+ """
278
+ if acl_channels_default is not None:
279
+ pulumi.set(__self__, "acl_channels_default", acl_channels_default)
280
+ if cluster_id is not None:
281
+ pulumi.set(__self__, "cluster_id", cluster_id)
282
+ if frequent_snapshots is not None:
283
+ pulumi.set(__self__, "frequent_snapshots", frequent_snapshots)
284
+ if io_threads is not None:
285
+ pulumi.set(__self__, "io_threads", io_threads)
286
+ if lfu_decay_time is not None:
287
+ pulumi.set(__self__, "lfu_decay_time", lfu_decay_time)
288
+ if lfu_log_factor is not None:
289
+ pulumi.set(__self__, "lfu_log_factor", lfu_log_factor)
290
+ if notify_keyspace_events is not None:
291
+ pulumi.set(__self__, "notify_keyspace_events", notify_keyspace_events)
292
+ if number_of_databases is not None:
293
+ pulumi.set(__self__, "number_of_databases", number_of_databases)
294
+ if persistence is not None:
295
+ pulumi.set(__self__, "persistence", persistence)
296
+ if pubsub_client_output_buffer_limit is not None:
297
+ pulumi.set(__self__, "pubsub_client_output_buffer_limit", pubsub_client_output_buffer_limit)
298
+ if ssl is not None:
299
+ pulumi.set(__self__, "ssl", ssl)
300
+ if timeout is not None:
301
+ pulumi.set(__self__, "timeout", timeout)
302
+ if valkey_active_expire_effort is not None:
303
+ pulumi.set(__self__, "valkey_active_expire_effort", valkey_active_expire_effort)
304
+
305
+ @_builtins.property
306
+ @pulumi.getter(name="aclChannelsDefault")
307
+ def acl_channels_default(self) -> Optional[pulumi.Input[_builtins.str]]:
308
+ """
309
+ Determines default pub/sub channels' ACL for new users if an ACL is not supplied. When this option is not defined, `allchannels` is assumed to keep backward compatibility. This option doesn't affect Valkey' `acl-pubsub-default` configuration. Supported values are: `allchannels` and `resetchannels`
310
+ """
311
+ return pulumi.get(self, "acl_channels_default")
312
+
313
+ @acl_channels_default.setter
314
+ def acl_channels_default(self, value: Optional[pulumi.Input[_builtins.str]]):
315
+ pulumi.set(self, "acl_channels_default", value)
316
+
317
+ @_builtins.property
318
+ @pulumi.getter(name="clusterId")
319
+ def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]:
320
+ """
321
+ The ID of the target Valkey cluster.
322
+ """
323
+ return pulumi.get(self, "cluster_id")
324
+
325
+ @cluster_id.setter
326
+ def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]):
327
+ pulumi.set(self, "cluster_id", value)
328
+
329
+ @_builtins.property
330
+ @pulumi.getter(name="frequentSnapshots")
331
+ def frequent_snapshots(self) -> Optional[pulumi.Input[_builtins.bool]]:
332
+ """
333
+ Frequent RDB snapshots. When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only
334
+ take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when
335
+ valkey_persistence is set to off.
336
+ """
337
+ return pulumi.get(self, "frequent_snapshots")
338
+
339
+ @frequent_snapshots.setter
340
+ def frequent_snapshots(self, value: Optional[pulumi.Input[_builtins.bool]]):
341
+ pulumi.set(self, "frequent_snapshots", value)
342
+
343
+ @_builtins.property
344
+ @pulumi.getter(name="ioThreads")
345
+ def io_threads(self) -> Optional[pulumi.Input[_builtins.int]]:
346
+ """
347
+ The Valkey IO thread count.
348
+ """
349
+ return pulumi.get(self, "io_threads")
350
+
351
+ @io_threads.setter
352
+ def io_threads(self, value: Optional[pulumi.Input[_builtins.int]]):
353
+ pulumi.set(self, "io_threads", value)
354
+
355
+ @_builtins.property
356
+ @pulumi.getter(name="lfuDecayTime")
357
+ def lfu_decay_time(self) -> Optional[pulumi.Input[_builtins.int]]:
358
+ """
359
+ The LFU maxmemory policy counter decay time in minutes.
360
+ """
361
+ return pulumi.get(self, "lfu_decay_time")
362
+
363
+ @lfu_decay_time.setter
364
+ def lfu_decay_time(self, value: Optional[pulumi.Input[_builtins.int]]):
365
+ pulumi.set(self, "lfu_decay_time", value)
366
+
367
+ @_builtins.property
368
+ @pulumi.getter(name="lfuLogFactor")
369
+ def lfu_log_factor(self) -> Optional[pulumi.Input[_builtins.int]]:
370
+ """
371
+ The counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory policies.
372
+ """
373
+ return pulumi.get(self, "lfu_log_factor")
374
+
375
+ @lfu_log_factor.setter
376
+ def lfu_log_factor(self, value: Optional[pulumi.Input[_builtins.int]]):
377
+ pulumi.set(self, "lfu_log_factor", value)
378
+
379
+ @_builtins.property
380
+ @pulumi.getter(name="notifyKeyspaceEvents")
381
+ def notify_keyspace_events(self) -> Optional[pulumi.Input[_builtins.str]]:
382
+ """
383
+ The `notify-keyspace-events` option. Requires at least `K` or `E`.
384
+ """
385
+ return pulumi.get(self, "notify_keyspace_events")
386
+
387
+ @notify_keyspace_events.setter
388
+ def notify_keyspace_events(self, value: Optional[pulumi.Input[_builtins.str]]):
389
+ pulumi.set(self, "notify_keyspace_events", value)
390
+
391
+ @_builtins.property
392
+ @pulumi.getter(name="numberOfDatabases")
393
+ def number_of_databases(self) -> Optional[pulumi.Input[_builtins.int]]:
394
+ """
395
+ The number of Valkey databases. Changing this will cause a restart of Valkey service.
396
+ """
397
+ return pulumi.get(self, "number_of_databases")
398
+
399
+ @number_of_databases.setter
400
+ def number_of_databases(self, value: Optional[pulumi.Input[_builtins.int]]):
401
+ pulumi.set(self, "number_of_databases", value)
402
+
403
+ @_builtins.property
404
+ @pulumi.getter
405
+ def persistence(self) -> Optional[pulumi.Input[_builtins.str]]:
406
+ """
407
+ 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.
408
+ """
409
+ return pulumi.get(self, "persistence")
410
+
411
+ @persistence.setter
412
+ def persistence(self, value: Optional[pulumi.Input[_builtins.str]]):
413
+ pulumi.set(self, "persistence", value)
414
+
415
+ @_builtins.property
416
+ @pulumi.getter(name="pubsubClientOutputBufferLimit")
417
+ def pubsub_client_output_buffer_limit(self) -> Optional[pulumi.Input[_builtins.int]]:
418
+ """
419
+ The 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.
420
+ """
421
+ return pulumi.get(self, "pubsub_client_output_buffer_limit")
422
+
423
+ @pubsub_client_output_buffer_limit.setter
424
+ def pubsub_client_output_buffer_limit(self, value: Optional[pulumi.Input[_builtins.int]]):
425
+ pulumi.set(self, "pubsub_client_output_buffer_limit", value)
426
+
427
+ @_builtins.property
428
+ @pulumi.getter
429
+ def ssl(self) -> Optional[pulumi.Input[_builtins.bool]]:
430
+ """
431
+ A boolean indicating whether to require SSL to access Valkey.
432
+ """
433
+ return pulumi.get(self, "ssl")
434
+
435
+ @ssl.setter
436
+ def ssl(self, value: Optional[pulumi.Input[_builtins.bool]]):
437
+ pulumi.set(self, "ssl", value)
438
+
439
+ @_builtins.property
440
+ @pulumi.getter
441
+ def timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
442
+ """
443
+ The Valkey idle connection timeout in seconds.
444
+ """
445
+ return pulumi.get(self, "timeout")
446
+
447
+ @timeout.setter
448
+ def timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
449
+ pulumi.set(self, "timeout", value)
450
+
451
+ @_builtins.property
452
+ @pulumi.getter(name="valkeyActiveExpireEffort")
453
+ def valkey_active_expire_effort(self) -> Optional[pulumi.Input[_builtins.int]]:
454
+ """
455
+ Active expire effort. Valkey reclaims expired keys both when accessed and in the background. The background process
456
+ scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to
457
+ reclaim expired keys faster, reducing memory usage but potentially increasing latency.
458
+ """
459
+ return pulumi.get(self, "valkey_active_expire_effort")
460
+
461
+ @valkey_active_expire_effort.setter
462
+ def valkey_active_expire_effort(self, value: Optional[pulumi.Input[_builtins.int]]):
463
+ pulumi.set(self, "valkey_active_expire_effort", value)
464
+
465
+
466
+ @pulumi.type_token("digitalocean:index/databaseValkeyConfig:DatabaseValkeyConfig")
467
+ class DatabaseValkeyConfig(pulumi.CustomResource):
468
+ @overload
469
+ def __init__(__self__,
470
+ resource_name: str,
471
+ opts: Optional[pulumi.ResourceOptions] = None,
472
+ acl_channels_default: Optional[pulumi.Input[_builtins.str]] = None,
473
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
474
+ frequent_snapshots: Optional[pulumi.Input[_builtins.bool]] = None,
475
+ io_threads: Optional[pulumi.Input[_builtins.int]] = None,
476
+ lfu_decay_time: Optional[pulumi.Input[_builtins.int]] = None,
477
+ lfu_log_factor: Optional[pulumi.Input[_builtins.int]] = None,
478
+ notify_keyspace_events: Optional[pulumi.Input[_builtins.str]] = None,
479
+ number_of_databases: Optional[pulumi.Input[_builtins.int]] = None,
480
+ persistence: Optional[pulumi.Input[_builtins.str]] = None,
481
+ pubsub_client_output_buffer_limit: Optional[pulumi.Input[_builtins.int]] = None,
482
+ ssl: Optional[pulumi.Input[_builtins.bool]] = None,
483
+ timeout: Optional[pulumi.Input[_builtins.int]] = None,
484
+ valkey_active_expire_effort: Optional[pulumi.Input[_builtins.int]] = None,
485
+ __props__=None):
486
+ """
487
+ Provides a virtual resource that can be used to change advanced configuration
488
+ options for a DigitalOcean managed Valkey database cluster.
489
+
490
+ > **Note** Valkey configurations are only removed from state when destroyed. The remote configuration is not unset.
491
+
492
+ ## Example Usage
493
+
494
+ ```python
495
+ import pulumi
496
+ import pulumi_digitalocean as digitalocean
497
+
498
+ example_database_cluster = digitalocean.DatabaseCluster("example",
499
+ name="example-valkey-cluster",
500
+ engine="valkey",
501
+ version="8",
502
+ size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
503
+ region=digitalocean.Region.NYC1,
504
+ node_count=1)
505
+ example = digitalocean.DatabaseValkeyConfig("example",
506
+ cluster_id=example_database_cluster.id,
507
+ notify_keyspace_events="KEA",
508
+ timeout=90)
509
+ ```
510
+
511
+ ## Import
512
+
513
+ A Valkey database cluster's configuration can be imported using the `id` the parent cluster, e.g.
514
+
515
+ ```sh
516
+ $ pulumi import digitalocean:index/databaseValkeyConfig:DatabaseValkeyConfig example 245bcfd0-7f31-4ce6-a2bc-475a116cca97
517
+ ```
518
+
519
+ :param str resource_name: The name of the resource.
520
+ :param pulumi.ResourceOptions opts: Options for the resource.
521
+ :param pulumi.Input[_builtins.str] acl_channels_default: Determines default pub/sub channels' ACL for new users if an ACL is not supplied. When this option is not defined, `allchannels` is assumed to keep backward compatibility. This option doesn't affect Valkey' `acl-pubsub-default` configuration. Supported values are: `allchannels` and `resetchannels`
522
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Valkey cluster.
523
+ :param pulumi.Input[_builtins.bool] frequent_snapshots: Frequent RDB snapshots. When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only
524
+ take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when
525
+ valkey_persistence is set to off.
526
+ :param pulumi.Input[_builtins.int] io_threads: The Valkey IO thread count.
527
+ :param pulumi.Input[_builtins.int] lfu_decay_time: The LFU maxmemory policy counter decay time in minutes.
528
+ :param pulumi.Input[_builtins.int] lfu_log_factor: The counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory policies.
529
+ :param pulumi.Input[_builtins.str] notify_keyspace_events: The `notify-keyspace-events` option. Requires at least `K` or `E`.
530
+ :param pulumi.Input[_builtins.int] number_of_databases: The number of Valkey databases. Changing this will cause a restart of Valkey service.
531
+ :param pulumi.Input[_builtins.str] 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.
532
+ :param pulumi.Input[_builtins.int] pubsub_client_output_buffer_limit: The 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.
533
+ :param pulumi.Input[_builtins.bool] ssl: A boolean indicating whether to require SSL to access Valkey.
534
+ :param pulumi.Input[_builtins.int] timeout: The Valkey idle connection timeout in seconds.
535
+ :param pulumi.Input[_builtins.int] valkey_active_expire_effort: Active expire effort. Valkey reclaims expired keys both when accessed and in the background. The background process
536
+ scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to
537
+ reclaim expired keys faster, reducing memory usage but potentially increasing latency.
538
+ """
539
+ ...
540
+ @overload
541
+ def __init__(__self__,
542
+ resource_name: str,
543
+ args: DatabaseValkeyConfigArgs,
544
+ opts: Optional[pulumi.ResourceOptions] = None):
545
+ """
546
+ Provides a virtual resource that can be used to change advanced configuration
547
+ options for a DigitalOcean managed Valkey database cluster.
548
+
549
+ > **Note** Valkey configurations are only removed from state when destroyed. The remote configuration is not unset.
550
+
551
+ ## Example Usage
552
+
553
+ ```python
554
+ import pulumi
555
+ import pulumi_digitalocean as digitalocean
556
+
557
+ example_database_cluster = digitalocean.DatabaseCluster("example",
558
+ name="example-valkey-cluster",
559
+ engine="valkey",
560
+ version="8",
561
+ size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
562
+ region=digitalocean.Region.NYC1,
563
+ node_count=1)
564
+ example = digitalocean.DatabaseValkeyConfig("example",
565
+ cluster_id=example_database_cluster.id,
566
+ notify_keyspace_events="KEA",
567
+ timeout=90)
568
+ ```
569
+
570
+ ## Import
571
+
572
+ A Valkey database cluster's configuration can be imported using the `id` the parent cluster, e.g.
573
+
574
+ ```sh
575
+ $ pulumi import digitalocean:index/databaseValkeyConfig:DatabaseValkeyConfig example 245bcfd0-7f31-4ce6-a2bc-475a116cca97
576
+ ```
577
+
578
+ :param str resource_name: The name of the resource.
579
+ :param DatabaseValkeyConfigArgs args: The arguments to use to populate this resource's properties.
580
+ :param pulumi.ResourceOptions opts: Options for the resource.
581
+ """
582
+ ...
583
+ def __init__(__self__, resource_name: str, *args, **kwargs):
584
+ resource_args, opts = _utilities.get_resource_args_opts(DatabaseValkeyConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
585
+ if resource_args is not None:
586
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
587
+ else:
588
+ __self__._internal_init(resource_name, *args, **kwargs)
589
+
590
+ def _internal_init(__self__,
591
+ resource_name: str,
592
+ opts: Optional[pulumi.ResourceOptions] = None,
593
+ acl_channels_default: Optional[pulumi.Input[_builtins.str]] = None,
594
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
595
+ frequent_snapshots: Optional[pulumi.Input[_builtins.bool]] = None,
596
+ io_threads: Optional[pulumi.Input[_builtins.int]] = None,
597
+ lfu_decay_time: Optional[pulumi.Input[_builtins.int]] = None,
598
+ lfu_log_factor: Optional[pulumi.Input[_builtins.int]] = None,
599
+ notify_keyspace_events: Optional[pulumi.Input[_builtins.str]] = None,
600
+ number_of_databases: Optional[pulumi.Input[_builtins.int]] = None,
601
+ persistence: Optional[pulumi.Input[_builtins.str]] = None,
602
+ pubsub_client_output_buffer_limit: Optional[pulumi.Input[_builtins.int]] = None,
603
+ ssl: Optional[pulumi.Input[_builtins.bool]] = None,
604
+ timeout: Optional[pulumi.Input[_builtins.int]] = None,
605
+ valkey_active_expire_effort: Optional[pulumi.Input[_builtins.int]] = None,
606
+ __props__=None):
607
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
608
+ if not isinstance(opts, pulumi.ResourceOptions):
609
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
610
+ if opts.id is None:
611
+ if __props__ is not None:
612
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
613
+ __props__ = DatabaseValkeyConfigArgs.__new__(DatabaseValkeyConfigArgs)
614
+
615
+ __props__.__dict__["acl_channels_default"] = acl_channels_default
616
+ if cluster_id is None and not opts.urn:
617
+ raise TypeError("Missing required property 'cluster_id'")
618
+ __props__.__dict__["cluster_id"] = cluster_id
619
+ __props__.__dict__["frequent_snapshots"] = frequent_snapshots
620
+ __props__.__dict__["io_threads"] = io_threads
621
+ __props__.__dict__["lfu_decay_time"] = lfu_decay_time
622
+ __props__.__dict__["lfu_log_factor"] = lfu_log_factor
623
+ __props__.__dict__["notify_keyspace_events"] = notify_keyspace_events
624
+ __props__.__dict__["number_of_databases"] = number_of_databases
625
+ __props__.__dict__["persistence"] = persistence
626
+ __props__.__dict__["pubsub_client_output_buffer_limit"] = pubsub_client_output_buffer_limit
627
+ __props__.__dict__["ssl"] = ssl
628
+ __props__.__dict__["timeout"] = timeout
629
+ __props__.__dict__["valkey_active_expire_effort"] = valkey_active_expire_effort
630
+ super(DatabaseValkeyConfig, __self__).__init__(
631
+ 'digitalocean:index/databaseValkeyConfig:DatabaseValkeyConfig',
632
+ resource_name,
633
+ __props__,
634
+ opts)
635
+
636
+ @staticmethod
637
+ def get(resource_name: str,
638
+ id: pulumi.Input[str],
639
+ opts: Optional[pulumi.ResourceOptions] = None,
640
+ acl_channels_default: Optional[pulumi.Input[_builtins.str]] = None,
641
+ cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
642
+ frequent_snapshots: Optional[pulumi.Input[_builtins.bool]] = None,
643
+ io_threads: Optional[pulumi.Input[_builtins.int]] = None,
644
+ lfu_decay_time: Optional[pulumi.Input[_builtins.int]] = None,
645
+ lfu_log_factor: Optional[pulumi.Input[_builtins.int]] = None,
646
+ notify_keyspace_events: Optional[pulumi.Input[_builtins.str]] = None,
647
+ number_of_databases: Optional[pulumi.Input[_builtins.int]] = None,
648
+ persistence: Optional[pulumi.Input[_builtins.str]] = None,
649
+ pubsub_client_output_buffer_limit: Optional[pulumi.Input[_builtins.int]] = None,
650
+ ssl: Optional[pulumi.Input[_builtins.bool]] = None,
651
+ timeout: Optional[pulumi.Input[_builtins.int]] = None,
652
+ valkey_active_expire_effort: Optional[pulumi.Input[_builtins.int]] = None) -> 'DatabaseValkeyConfig':
653
+ """
654
+ Get an existing DatabaseValkeyConfig resource's state with the given name, id, and optional extra
655
+ properties used to qualify the lookup.
656
+
657
+ :param str resource_name: The unique name of the resulting resource.
658
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
659
+ :param pulumi.ResourceOptions opts: Options for the resource.
660
+ :param pulumi.Input[_builtins.str] acl_channels_default: Determines default pub/sub channels' ACL for new users if an ACL is not supplied. When this option is not defined, `allchannels` is assumed to keep backward compatibility. This option doesn't affect Valkey' `acl-pubsub-default` configuration. Supported values are: `allchannels` and `resetchannels`
661
+ :param pulumi.Input[_builtins.str] cluster_id: The ID of the target Valkey cluster.
662
+ :param pulumi.Input[_builtins.bool] frequent_snapshots: Frequent RDB snapshots. When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only
663
+ take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when
664
+ valkey_persistence is set to off.
665
+ :param pulumi.Input[_builtins.int] io_threads: The Valkey IO thread count.
666
+ :param pulumi.Input[_builtins.int] lfu_decay_time: The LFU maxmemory policy counter decay time in minutes.
667
+ :param pulumi.Input[_builtins.int] lfu_log_factor: The counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory policies.
668
+ :param pulumi.Input[_builtins.str] notify_keyspace_events: The `notify-keyspace-events` option. Requires at least `K` or `E`.
669
+ :param pulumi.Input[_builtins.int] number_of_databases: The number of Valkey databases. Changing this will cause a restart of Valkey service.
670
+ :param pulumi.Input[_builtins.str] 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.
671
+ :param pulumi.Input[_builtins.int] pubsub_client_output_buffer_limit: The 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.
672
+ :param pulumi.Input[_builtins.bool] ssl: A boolean indicating whether to require SSL to access Valkey.
673
+ :param pulumi.Input[_builtins.int] timeout: The Valkey idle connection timeout in seconds.
674
+ :param pulumi.Input[_builtins.int] valkey_active_expire_effort: Active expire effort. Valkey reclaims expired keys both when accessed and in the background. The background process
675
+ scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to
676
+ reclaim expired keys faster, reducing memory usage but potentially increasing latency.
677
+ """
678
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
679
+
680
+ __props__ = _DatabaseValkeyConfigState.__new__(_DatabaseValkeyConfigState)
681
+
682
+ __props__.__dict__["acl_channels_default"] = acl_channels_default
683
+ __props__.__dict__["cluster_id"] = cluster_id
684
+ __props__.__dict__["frequent_snapshots"] = frequent_snapshots
685
+ __props__.__dict__["io_threads"] = io_threads
686
+ __props__.__dict__["lfu_decay_time"] = lfu_decay_time
687
+ __props__.__dict__["lfu_log_factor"] = lfu_log_factor
688
+ __props__.__dict__["notify_keyspace_events"] = notify_keyspace_events
689
+ __props__.__dict__["number_of_databases"] = number_of_databases
690
+ __props__.__dict__["persistence"] = persistence
691
+ __props__.__dict__["pubsub_client_output_buffer_limit"] = pubsub_client_output_buffer_limit
692
+ __props__.__dict__["ssl"] = ssl
693
+ __props__.__dict__["timeout"] = timeout
694
+ __props__.__dict__["valkey_active_expire_effort"] = valkey_active_expire_effort
695
+ return DatabaseValkeyConfig(resource_name, opts=opts, __props__=__props__)
696
+
697
+ @_builtins.property
698
+ @pulumi.getter(name="aclChannelsDefault")
699
+ def acl_channels_default(self) -> pulumi.Output[_builtins.str]:
700
+ """
701
+ Determines default pub/sub channels' ACL for new users if an ACL is not supplied. When this option is not defined, `allchannels` is assumed to keep backward compatibility. This option doesn't affect Valkey' `acl-pubsub-default` configuration. Supported values are: `allchannels` and `resetchannels`
702
+ """
703
+ return pulumi.get(self, "acl_channels_default")
704
+
705
+ @_builtins.property
706
+ @pulumi.getter(name="clusterId")
707
+ def cluster_id(self) -> pulumi.Output[_builtins.str]:
708
+ """
709
+ The ID of the target Valkey cluster.
710
+ """
711
+ return pulumi.get(self, "cluster_id")
712
+
713
+ @_builtins.property
714
+ @pulumi.getter(name="frequentSnapshots")
715
+ def frequent_snapshots(self) -> pulumi.Output[_builtins.bool]:
716
+ """
717
+ Frequent RDB snapshots. When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only
718
+ take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when
719
+ valkey_persistence is set to off.
720
+ """
721
+ return pulumi.get(self, "frequent_snapshots")
722
+
723
+ @_builtins.property
724
+ @pulumi.getter(name="ioThreads")
725
+ def io_threads(self) -> pulumi.Output[_builtins.int]:
726
+ """
727
+ The Valkey IO thread count.
728
+ """
729
+ return pulumi.get(self, "io_threads")
730
+
731
+ @_builtins.property
732
+ @pulumi.getter(name="lfuDecayTime")
733
+ def lfu_decay_time(self) -> pulumi.Output[_builtins.int]:
734
+ """
735
+ The LFU maxmemory policy counter decay time in minutes.
736
+ """
737
+ return pulumi.get(self, "lfu_decay_time")
738
+
739
+ @_builtins.property
740
+ @pulumi.getter(name="lfuLogFactor")
741
+ def lfu_log_factor(self) -> pulumi.Output[_builtins.int]:
742
+ """
743
+ The counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory policies.
744
+ """
745
+ return pulumi.get(self, "lfu_log_factor")
746
+
747
+ @_builtins.property
748
+ @pulumi.getter(name="notifyKeyspaceEvents")
749
+ def notify_keyspace_events(self) -> pulumi.Output[_builtins.str]:
750
+ """
751
+ The `notify-keyspace-events` option. Requires at least `K` or `E`.
752
+ """
753
+ return pulumi.get(self, "notify_keyspace_events")
754
+
755
+ @_builtins.property
756
+ @pulumi.getter(name="numberOfDatabases")
757
+ def number_of_databases(self) -> pulumi.Output[_builtins.int]:
758
+ """
759
+ The number of Valkey databases. Changing this will cause a restart of Valkey service.
760
+ """
761
+ return pulumi.get(self, "number_of_databases")
762
+
763
+ @_builtins.property
764
+ @pulumi.getter
765
+ def persistence(self) -> pulumi.Output[_builtins.str]:
766
+ """
767
+ 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.
768
+ """
769
+ return pulumi.get(self, "persistence")
770
+
771
+ @_builtins.property
772
+ @pulumi.getter(name="pubsubClientOutputBufferLimit")
773
+ def pubsub_client_output_buffer_limit(self) -> pulumi.Output[_builtins.int]:
774
+ """
775
+ The 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.
776
+ """
777
+ return pulumi.get(self, "pubsub_client_output_buffer_limit")
778
+
779
+ @_builtins.property
780
+ @pulumi.getter
781
+ def ssl(self) -> pulumi.Output[_builtins.bool]:
782
+ """
783
+ A boolean indicating whether to require SSL to access Valkey.
784
+ """
785
+ return pulumi.get(self, "ssl")
786
+
787
+ @_builtins.property
788
+ @pulumi.getter
789
+ def timeout(self) -> pulumi.Output[_builtins.int]:
790
+ """
791
+ The Valkey idle connection timeout in seconds.
792
+ """
793
+ return pulumi.get(self, "timeout")
794
+
795
+ @_builtins.property
796
+ @pulumi.getter(name="valkeyActiveExpireEffort")
797
+ def valkey_active_expire_effort(self) -> pulumi.Output[_builtins.int]:
798
+ """
799
+ Active expire effort. Valkey reclaims expired keys both when accessed and in the background. The background process
800
+ scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to
801
+ reclaim expired keys faster, reducing memory usage but potentially increasing latency.
802
+ """
803
+ return pulumi.get(self, "valkey_active_expire_effort")
804
+