pulumi-digitalocean 4.40.0a1739511652__py3-none-any.whl → 4.56.0a1766428645__py3-none-any.whl

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