From 4c097cff183c129420465bcbdd6e6b50f9a17d77 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2024 14:30:06 +0200 Subject: [PATCH] chore: update generated files (#626) Co-authored-by: kangasta --- CHANGELOG.md | 4 + docs/resources/managed_database_mysql.md | 5 +- docs/resources/managed_database_opensearch.md | 142 +++++++++++++++++- docs/resources/managed_database_redis.md | 2 + .../properties/service_types_data.json | 2 +- 5 files changed, 148 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c71580dc..fc1b1266 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/) - upcloud_managed_object_storage_bucket resource for managing buckets in managed object storage services. +### Changed + +- upcloud_managed_database_\*: Update available properties to match listing provided by the API, see [#626](https://github.com/UpCloudLtd/terraform-provider-upcloud/pull/626) for details. + ## [5.14.0] - 2024-10-28 ### Changed diff --git a/docs/resources/managed_database_mysql.md b/docs/resources/managed_database_mysql.md index 0e17a447..9adab081 100644 --- a/docs/resources/managed_database_mysql.md +++ b/docs/resources/managed_database_mysql.md @@ -125,7 +125,8 @@ Optional Attributes: - `interactive_timeout` (Number) The number of seconds the server waits for activity on an interactive connection before closing it. - `internal_tmp_mem_storage_engine` (String) The storage engine for in-memory internal temporary tables. - `ip_filter` (List of String) IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'. -- `long_query_time` (Number) The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute. Default is 10s. +- `log_output` (String) The slow log output destination when slow_query_log is ON. To enable MySQL AI Insights, choose INSIGHTS. To use MySQL AI Insights and the mysql.slow_log table at the same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log table, choose TABLE. To silence slow logs, choose NONE. +- `long_query_time` (Number) The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute. - `max_allowed_packet` (Number) Size of the largest message in bytes that can be received by the server. Default is 67108864 (64M). - `max_heap_table_size` (Number) Limits the size of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M). - `net_buffer_length` (Number) Start sizes of connection buffer and result buffer. Default is 16384 (16K). Changing this parameter will lead to a restart of the MySQL service. @@ -133,7 +134,7 @@ Optional Attributes: - `net_write_timeout` (Number) The number of seconds to wait for a block to be written to a connection before aborting the write. - `public_access` (Boolean) Public Access. Allow access to the service from the public Internet. - `service_log` (Boolean) Service logging. Store logs for the service so that they are available in the HTTP API and console. -- `slow_query_log` (Boolean) Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table. Default is off. +- `slow_query_log` (Boolean) Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table. - `sort_buffer_size` (Number) Sort buffer size in bytes for ORDER BY optimization. Default is 262144 (256K). - `sql_mode` (String) Global SQL mode. Set to empty to use MySQL server defaults. When creating a new service and not setting this field Aiven default SQL mode (strict, SQL standard compliant) will be assigned. - `sql_require_primary_key` (Boolean) Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. diff --git a/docs/resources/managed_database_opensearch.md b/docs/resources/managed_database_opensearch.md index 248791bb..0c949ed3 100644 --- a/docs/resources/managed_database_opensearch.md +++ b/docs/resources/managed_database_opensearch.md @@ -93,7 +93,7 @@ Optional Attributes: - `action_destructive_requires_name` (Boolean) Require explicit index names when deleting. - `automatic_utility_network_ip_filter` (Boolean) Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone. - `cluster_max_shards_per_node` (Number) Controls the number of shards allowed in the cluster per data node. -- `cluster_routing_allocation_node_concurrent_recoveries` (Number) Concurrent incoming/outgoing shard recoveries per node. How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to 2. +- `cluster_routing_allocation_node_concurrent_recoveries` (Number) Concurrent incoming/outgoing shard recoveries per node. How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2. - `custom_domain` (String) Custom domain. Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. - `email_sender_name` (String) Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore. This should be identical to the Sender name defined in Opensearch dashboards. - `email_sender_password` (String, Sensitive) Sender password for Opensearch alerts to authenticate with SMTP server. Sender password for Opensearch alerts to authenticate with SMTP server. @@ -144,14 +144,16 @@ Optional Attributes: Blocks: - `auth_failure_listeners` (Block List, Max: 1) Opensearch Security Plugin Settings. (see [below for nested schema](#nestedblock--properties--auth_failure_listeners)) -- `azure_migration` (Block List, Max: 1) (see [below for nested schema](#nestedblock--properties--azure_migration)) -- `gcs_migration` (Block List, Max: 1) (see [below for nested schema](#nestedblock--properties--gcs_migration)) +- `azure_migration` (Block List, Max: 1) Azure migration settings. (see [below for nested schema](#nestedblock--properties--azure_migration)) +- `gcs_migration` (Block List, Max: 1) Google Cloud Storage migration settings. (see [below for nested schema](#nestedblock--properties--gcs_migration)) - `index_rollup` (Block List, Max: 1) Index rollup settings. (see [below for nested schema](#nestedblock--properties--index_rollup)) - `index_template` (Block List, Max: 1) Template settings for all new indexes. (see [below for nested schema](#nestedblock--properties--index_template)) - `openid` (Block List, Max: 1) OpenSearch OpenID Connect Configuration. (see [below for nested schema](#nestedblock--properties--openid)) - `opensearch_dashboards` (Block List, Max: 1) OpenSearch Dashboards settings. (see [below for nested schema](#nestedblock--properties--opensearch_dashboards)) -- `s3_migration` (Block List, Max: 1) (see [below for nested schema](#nestedblock--properties--s3_migration)) +- `s3_migration` (Block List, Max: 1) AWS S3 / AWS S3 compatible migration settings. (see [below for nested schema](#nestedblock--properties--s3_migration)) - `saml` (Block List, Max: 1) OpenSearch SAML configuration. (see [below for nested schema](#nestedblock--properties--saml)) +- `search_backpressure` (Block List, Max: 1) Search Backpressure Settings. (see [below for nested schema](#nestedblock--properties--search_backpressure)) +- `shard_indexing_pressure` (Block List, Max: 1) Shard indexing back pressure settings. (see [below for nested schema](#nestedblock--properties--shard_indexing_pressure)) ### Nested Schema for `properties.auth_failure_listeners` @@ -200,7 +202,10 @@ Optional Attributes: - `compress` (Boolean) Metadata files are stored in compressed format. when set to true metadata files are stored in compressed format. - `container` (String) Azure container name. Azure container name. - `endpoint_suffix` (String) Endpoint suffix. Defines the DNS suffix for Azure Storage endpoints. +- `include_aliases` (Boolean) Include aliases. Whether to restore aliases alongside their associated indexes. Default is true. +- `indices` (String) Indices to restore. A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. - `key` (String) Account secret key. Azure account secret key. One of key or sas_token should be specified. +- `restore_global_state` (Boolean) Restore the cluster state or not. If true, restore the cluster state. Defaults to false. - `sas_token` (String) SAS token. A shared access signatures (SAS) token. One of key or sas_token should be specified. - `snapshot_name` (String) The snapshot name to restore from. The snapshot name to restore from. @@ -215,6 +220,9 @@ Optional Attributes: - `chunk_size` (String) Chunk size. Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository. - `compress` (Boolean) Metadata files are stored in compressed format. when set to true metadata files are stored in compressed format. - `credentials` (String) Credentials. Google Cloud Storage credentials file content. +- `include_aliases` (Boolean) Include aliases. Whether to restore aliases alongside their associated indexes. Default is true. +- `indices` (String) Indices to restore. A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. +- `restore_global_state` (Boolean) Restore the cluster state or not. If true, restore the cluster state. Defaults to false. - `snapshot_name` (String) The snapshot name to restore from. The snapshot name to restore from. @@ -280,7 +288,10 @@ Optional Attributes: - `chunk_size` (String) Chunk size. Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository. - `compress` (Boolean) Metadata files are stored in compressed format. when set to true metadata files are stored in compressed format. - `endpoint` (String) The S3 service endpoint to connect. The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint. +- `include_aliases` (Boolean) Include aliases. Whether to restore aliases alongside their associated indexes. Default is true. +- `indices` (String) Indices to restore. A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. - `region` (String) S3 region. S3 region. +- `restore_global_state` (Boolean) Restore the cluster state or not. If true, restore the cluster state. Defaults to false. - `secret_key` (String) AWS secret key. AWS secret key. - `server_side_encryption` (Boolean) Server side encryption. When set to true files are encrypted on server side. - `snapshot_name` (String) The snapshot name to restore from. The snapshot name to restore from. @@ -300,6 +311,129 @@ Optional Attributes: - `subject_key` (String) SAML response subject attribute. Optional. Specifies the attribute in the SAML response where the subject identifier is stored. If not configured, the NameID attribute is used by default. + +### Nested Schema for `properties.search_backpressure` + +Optional Attributes: + +- `mode` (String) The search backpressure mode. The search backpressure mode. Valid values are monitor_only, enforced, or disabled. Default is monitor_only. + +Blocks: + +- `node_duress` (Block List, Max: 1) Node duress settings. (see [below for nested schema](#nestedblock--properties--search_backpressure--node_duress)) +- `search_shard_task` (Block List, Max: 1) Search shard settings. (see [below for nested schema](#nestedblock--properties--search_backpressure--search_shard_task)) +- `search_task` (Block List, Max: 1) Search task settings. (see [below for nested schema](#nestedblock--properties--search_backpressure--search_task)) + + +### Nested Schema for `properties.search_backpressure.node_duress` + +Optional Attributes: + +- `cpu_threshold` (Number) The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.9. +- `heap_threshold` (Number) The heap usage threshold (as a percentage) required for a node to be considered to be under duress. The heap usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.7. +- `num_successive_breaches` (Number) The number of successive limit breaches after which the node is considered to be under duress. The number of successive limit breaches after which the node is considered to be under duress. Default is 3. + + + +### Nested Schema for `properties.search_backpressure.search_shard_task` + +Optional Attributes: + +- `cancellation_burst` (Number) The maximum number of search tasks to cancel in a single iteration of the observer thread. The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 10.0. +- `cancellation_rate` (Number) The maximum number of tasks to cancel per millisecond of elapsed time. The maximum number of tasks to cancel per millisecond of elapsed time. Default is 0.003. +- `cancellation_ratio` (Number) The maximum number of tasks to cancel. The maximum number of tasks to cancel, as a percentage of successful task completions. Default is 0.1. +- `cpu_time_millis_threshold` (Number) The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 15000. +- `elapsed_time_millis_threshold` (Number) The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 30000. +- `heap_moving_average_window_size` (Number) The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. Default is 100. +- `heap_percent_threshold` (Number) The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. Default is 0.5. +- `heap_variance` (Number) The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. Default is 2.0. +- `total_heap_percent_threshold` (Number) The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. Default is 0.5. + + + +### Nested Schema for `properties.search_backpressure.search_task` + +Optional Attributes: + +- `cancellation_burst` (Number) The maximum number of search tasks to cancel in a single iteration of the observer thread. The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 5.0. +- `cancellation_rate` (Number) The maximum number of search tasks to cancel per millisecond of elapsed time. The maximum number of search tasks to cancel per millisecond of elapsed time. Default is 0.003. +- `cancellation_ratio` (Number) The maximum number of search tasks to cancel, as a percentage of successful search task completions. The maximum number of search tasks to cancel, as a percentage of successful search task completions. Default is 0.1. +- `cpu_time_millis_threshold` (Number) The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 30000. +- `elapsed_time_millis_threshold` (Number) The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 45000. +- `heap_moving_average_window_size` (Number) The window size used to calculate the rolling average of the heap usage for the completed parent tasks. The window size used to calculate the rolling average of the heap usage for the completed parent tasks. Default is 10. +- `heap_percent_threshold` (Number) The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. Default is 0.2. +- `heap_variance` (Number) The heap usage variance required for an individual parent task before it is considered for cancellation. The heap usage variance required for an individual parent task before it is considered for cancellation. A task is considered for cancellation when taskHeapUsage is greater than or equal to heapUsageMovingAverage * variance. Default is 2.0. +- `total_heap_percent_threshold` (Number) The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. Default is 0.5. + + + + +### Nested Schema for `properties.shard_indexing_pressure` + +Optional Attributes: + +- `enabled` (Boolean) Enable or disable shard indexing backpressure. Enable or disable shard indexing backpressure. Default is false. +- `enforced` (Boolean) Run shard indexing backpressure in shadow mode or enforced mode. Run shard indexing backpressure in shadow mode or enforced mode. + In shadow mode (value set as false), shard indexing backpressure tracks all granular-level metrics, + but it doesn’t actually reject any indexing requests. + In enforced mode (value set as true), + shard indexing backpressure rejects any requests to the cluster that might cause a dip in its performance. + Default is false. + +Blocks: + +- `operating_factor` (Block List, Max: 1) Operating factor. (see [below for nested schema](#nestedblock--properties--shard_indexing_pressure--operating_factor)) +- `primary_parameter` (Block List, Max: 1) Primary parameter. (see [below for nested schema](#nestedblock--properties--shard_indexing_pressure--primary_parameter)) + + +### Nested Schema for `properties.shard_indexing_pressure.operating_factor` + +Optional Attributes: + +- `lower` (Number) Lower occupancy limit of the allocated quota of memory for the shard. Specify the lower occupancy limit of the allocated quota of memory for the shard. + If the total memory usage of a shard is below this limit, + shard indexing backpressure decreases the current allocated memory for that shard. + Default is 0.75. +- `optimal` (Number) Optimal occupancy of the allocated quota of memory for the shard. Specify the optimal occupancy of the allocated quota of memory for the shard. + If the total memory usage of a shard is at this level, + shard indexing backpressure doesn’t change the current allocated memory for that shard. + Default is 0.85. +- `upper` (Number) Upper occupancy limit of the allocated quota of memory for the shard. Specify the upper occupancy limit of the allocated quota of memory for the shard. + If the total memory usage of a shard is above this limit, + shard indexing backpressure increases the current allocated memory for that shard. + Default is 0.95. + + + +### Nested Schema for `properties.shard_indexing_pressure.primary_parameter` + +Blocks: + +- `node` (Block List, Max: 1) (see [below for nested schema](#nestedblock--properties--shard_indexing_pressure--primary_parameter--node)) +- `shard` (Block List, Max: 1) (see [below for nested schema](#nestedblock--properties--shard_indexing_pressure--primary_parameter--shard)) + + +### Nested Schema for `properties.shard_indexing_pressure.primary_parameter.node` + +Optional Attributes: + +- `soft_limit` (Number) Node soft limit. Define the percentage of the node-level memory + threshold that acts as a soft indicator for strain on a node. + Default is 0.7. + + + +### Nested Schema for `properties.shard_indexing_pressure.primary_parameter.shard` + +Optional Attributes: + +- `min_limit` (Number) Shard min limit. Specify the minimum assigned quota for a new shard in any role (coordinator, primary, or replica). + Shard indexing backpressure increases or decreases this allocated quota based on the inflow of traffic for the shard. + Default is 0.001. + + + + ### Nested Schema for `components` diff --git a/docs/resources/managed_database_redis.md b/docs/resources/managed_database_redis.md index f0d3b26e..1d25f9ce 100644 --- a/docs/resources/managed_database_redis.md +++ b/docs/resources/managed_database_redis.md @@ -86,6 +86,8 @@ Required Attributes: Optional Attributes: - `automatic_utility_network_ip_filter` (Boolean) Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone. +- `backup_hour` (Number) The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. +- `backup_minute` (Number) The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. - `ip_filter` (List of String) IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'. - `public_access` (Boolean) Public Access. Allow access to the service from the public Internet. - `redis_acl_channels_default` (String) Default ACL for pub/sub channels used when Redis user is created. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default. diff --git a/internal/service/database/properties/service_types_data.json b/internal/service/database/properties/service_types_data.json index 6c88c323..4b7c8afc 100644 --- a/internal/service/database/properties/service_types_data.json +++ b/internal/service/database/properties/service_types_data.json @@ -1 +1 @@ -{"mysql":{"properties":{"admin_password":{"createOnly":true,"example":"z66o9QXqKM","maxLength":256,"minLength":8,"pattern":"^[a-zA-Z0-9-_]+$","type":["string","null"],"title":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, underscores or dashes"},"admin_username":{"createOnly":true,"example":"avnadmin","maxLength":64,"pattern":"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$","type":["string","null"],"title":"Custom username for admin user. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"},"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"backup_hour":{"example":3,"maximum":23,"minimum":0,"type":["integer","null"],"title":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed."},"backup_minute":{"example":30,"maximum":59,"minimum":0,"type":["integer","null"],"title":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed."},"binlog_retention_period":{"example":600,"maximum":86400,"minimum":600,"type":"integer","title":"The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector."},"connect_timeout":{"example":10,"maximum":3600,"minimum":2,"type":"integer","title":"connect_timeout","description":"The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake"},"default_time_zone":{"example":"+03:00","maxLength":100,"minLength":2,"pattern":"^([-+][\\d:]*|[\\w/]*)$","type":"string","title":"default_time_zone","description":"Default server time zone as an offset from UTC (from -12:00 to +12:00), a time zone name, or 'SYSTEM' to use the MySQL server default."},"group_concat_max_len":{"example":1024,"maximum":18446744073709552000,"minimum":4,"type":"integer","title":"group_concat_max_len","description":"The maximum permitted result length in bytes for the GROUP_CONCAT() function."},"information_schema_stats_expiry":{"example":86400,"maximum":31536000,"minimum":900,"type":"integer","title":"information_schema_stats_expiry","description":"The time, in seconds, before cached statistics expire"},"innodb_change_buffer_max_size":{"example":30,"maximum":50,"minimum":0,"type":"integer","title":"innodb_change_buffer_max_size","description":"Maximum size for the InnoDB change buffer, as a percentage of the total size of the buffer pool. Default is 25"},"innodb_flush_neighbors":{"example":0,"maximum":2,"minimum":0,"type":"integer","title":"innodb_flush_neighbors","description":"Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent (default is 1): 0 - dirty pages in the same extent are not flushed, 1 - flush contiguous dirty pages in the same extent, 2 - flush dirty pages in the same extent"},"innodb_ft_min_token_size":{"example":3,"maximum":16,"minimum":0,"type":"integer","title":"innodb_ft_min_token_size","description":"Minimum length of words that are stored in an InnoDB FULLTEXT index. Changing this parameter will lead to a restart of the MySQL service."},"innodb_ft_server_stopword_table":{"example":"db_name/table_name","maxLength":1024,"pattern":"^.+/.+$","type":["null","string"],"title":"innodb_ft_server_stopword_table","description":"This option is used to specify your own InnoDB FULLTEXT index stopword list for all InnoDB tables."},"innodb_lock_wait_timeout":{"example":50,"maximum":3600,"minimum":1,"type":"integer","title":"innodb_lock_wait_timeout","description":"The length of time in seconds an InnoDB transaction waits for a row lock before giving up. Default is 120."},"innodb_log_buffer_size":{"example":16777216,"maximum":4294967295,"minimum":1048576,"type":"integer","title":"innodb_log_buffer_size","description":"The size in bytes of the buffer that InnoDB uses to write to the log files on disk."},"innodb_online_alter_log_max_size":{"example":134217728,"maximum":1099511627776,"minimum":65536,"type":"integer","title":"innodb_online_alter_log_max_size","description":"The upper limit in bytes on the size of the temporary log files used during online DDL operations for InnoDB tables."},"innodb_print_all_deadlocks":{"example":true,"type":"boolean","title":"innodb_print_all_deadlocks","description":"When enabled, information about all deadlocks in InnoDB user transactions is recorded in the error log. Disabled by default."},"innodb_read_io_threads":{"example":10,"maximum":64,"minimum":1,"type":"integer","title":"innodb_read_io_threads","description":"The number of I/O threads for read operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service."},"innodb_rollback_on_timeout":{"example":true,"type":"boolean","title":"innodb_rollback_on_timeout","description":"When enabled a transaction timeout causes InnoDB to abort and roll back the entire transaction. Changing this parameter will lead to a restart of the MySQL service."},"innodb_thread_concurrency":{"example":10,"maximum":1000,"minimum":0,"type":"integer","title":"innodb_thread_concurrency","description":"Defines the maximum number of threads permitted inside of InnoDB. Default is 0 (infinite concurrency - no limit)"},"innodb_write_io_threads":{"example":10,"maximum":64,"minimum":1,"type":"integer","title":"innodb_write_io_threads","description":"The number of I/O threads for write operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service."},"interactive_timeout":{"example":3600,"maximum":604800,"minimum":30,"type":"integer","title":"interactive_timeout","description":"The number of seconds the server waits for activity on an interactive connection before closing it."},"internal_tmp_mem_storage_engine":{"example":"TempTable","type":"string","title":"internal_tmp_mem_storage_engine","description":"The storage engine for in-memory internal temporary tables.","enum":["TempTable","MEMORY"]},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"long_query_time":{"example":10,"maximum":3600,"minimum":0,"type":"number","title":"long_query_time","description":"The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute. Default is 10s"},"max_allowed_packet":{"example":67108864,"maximum":1073741824,"minimum":102400,"type":"integer","title":"max_allowed_packet","description":"Size of the largest message in bytes that can be received by the server. Default is 67108864 (64M)"},"max_heap_table_size":{"example":16777216,"maximum":1073741824,"minimum":1048576,"type":"integer","title":"max_heap_table_size","description":"Limits the size of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M)"},"migration":{"type":["object","null"],"title":"Migrate data from existing server","properties":{"dbname":{"maxLength":63,"type":"string","title":"Database name for bootstrapping the initial connection"},"host":{"maxLength":255,"type":"string","title":"Hostname or IP address of the server where to migrate data from"},"ignore_dbs":{"maxLength":2048,"type":"string","title":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"},"ignore_roles":{"maxLength":2048,"type":"string","title":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"},"method":{"type":"string","title":"The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)","enum":["dump","replication"]},"password":{"maxLength":256,"type":"string","title":"Password for authentication with the server where to migrate data from"},"port":{"maximum":65535,"minimum":1,"type":"integer","title":"Port number of the server where to migrate data from"},"ssl":{"type":"boolean","title":"The server where to migrate data from is secured with SSL"},"username":{"maxLength":256,"type":"string","title":"User name for authentication with the server where to migrate data from"}}},"net_buffer_length":{"example":16384,"maximum":1048576,"minimum":1024,"type":"integer","title":"net_buffer_length","description":"Start sizes of connection buffer and result buffer. Default is 16384 (16K). Changing this parameter will lead to a restart of the MySQL service."},"net_read_timeout":{"example":30,"maximum":3600,"minimum":1,"type":"integer","title":"net_read_timeout","description":"The number of seconds to wait for more data from a connection before aborting the read."},"net_write_timeout":{"example":30,"maximum":3600,"minimum":1,"type":"integer","title":"net_write_timeout","description":"The number of seconds to wait for a block to be written to a connection before aborting the write."},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."},"slow_query_log":{"example":true,"type":"boolean","title":"slow_query_log","description":"Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table. Default is off"},"sort_buffer_size":{"example":262144,"maximum":1073741824,"minimum":32768,"type":"integer","title":"sort_buffer_size","description":"Sort buffer size in bytes for ORDER BY optimization. Default is 262144 (256K)"},"sql_mode":{"example":"ANSI,TRADITIONAL","maxLength":1024,"pattern":"^[A-Z_]*(,[A-Z_]+)*$","type":"string","title":"sql_mode","description":"Global SQL mode. Set to empty to use MySQL server defaults. When creating a new service and not setting this field Aiven default SQL mode (strict, SQL standard compliant) will be assigned.","user_error":"Must be uppercase alphabetic characters, underscores and commas"},"sql_require_primary_key":{"example":true,"type":"boolean","title":"sql_require_primary_key","description":"Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them."},"tmp_table_size":{"example":16777216,"maximum":1073741824,"minimum":1048576,"type":"integer","title":"tmp_table_size","description":"Limits the size of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M)"},"version":{"type":["string","null"],"title":"MySQL major version","enum":["8"]},"wait_timeout":{"example":28800,"maximum":2147483,"minimum":1,"type":"integer","title":"wait_timeout","description":"The number of seconds the server waits for activity on a noninteractive connection before closing it."}}},"opensearch":{"properties":{"action_auto_create_index_enabled":{"example":false,"type":"boolean","title":"action.auto_create_index","description":"Explicitly allow or block automatic creation of indices. Defaults to true"},"action_destructive_requires_name":{"example":true,"type":["boolean","null"],"title":"Require explicit index names when deleting"},"auth_failure_listeners":{"type":"object","title":"Opensearch Security Plugin Settings","properties":{"internal_authentication_backend_limiting":{"type":"object","title":"","properties":{"allowed_tries":{"example":10,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.allowed_tries","description":"The number of login attempts allowed before login is blocked"},"authentication_backend":{"example":"internal","maxLength":1024,"type":"string","title":"internal_authentication_backend_limiting.authentication_backend","description":"The internal backend. Enter `internal`","enum":["internal"]},"block_expiry_seconds":{"example":600,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.block_expiry_seconds","description":"The duration of time that login remains blocked after a failed login"},"max_blocked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.max_blocked_clients","description":"The maximum number of blocked IP addresses"},"max_tracked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.max_tracked_clients","description":"The maximum number of tracked IP addresses that have failed login"},"time_window_seconds":{"example":3600,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.time_window_seconds","description":"The window of time in which the value for `allowed_tries` is enforced"},"type":{"example":"username","maxLength":1024,"type":"string","title":"internal_authentication_backend_limiting.type","description":"The type of rate limiting","enum":["username"]}}},"ip_rate_limiting":{"type":"object","title":"IP address rate limiting settings","properties":{"allowed_tries":{"example":10,"maximum":2147483647,"minimum":1,"type":"integer","title":"ip_rate_limiting.allowed_tries","description":"The number of login attempts allowed before login is blocked"},"block_expiry_seconds":{"example":600,"maximum":36000,"minimum":1,"type":"integer","title":"ip_rate_limiting.block_expiry_seconds","description":"The duration of time that login remains blocked after a failed login"},"max_blocked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"ip_rate_limiting.max_blocked_clients","description":"The maximum number of blocked IP addresses"},"max_tracked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"ip_rate_limiting.max_tracked_clients","description":"The maximum number of tracked IP addresses that have failed login"},"time_window_seconds":{"example":3600,"maximum":36000,"minimum":1,"type":"integer","title":"ip_rate_limiting.time_window_seconds","description":"The window of time in which the value for `allowed_tries` is enforced"},"type":{"example":"ip","maxLength":1024,"type":"string","title":"ip_rate_limiting.type","description":"The type of rate limiting","enum":["ip"]}}}}},"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"azure_migration":{"type":"object","title":"","properties":{"account":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Account name","description":"Azure account name"},"base_path":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"The path to the repository data within its container. The value of this setting should not start or end with a /"},"chunk_size":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Chunk size","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository"},"compress":{"type":"boolean","title":"Metadata files are stored in compressed format","description":"when set to true metadata files are stored in compressed format"},"container":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Azure container name","description":"Azure container name"},"endpoint_suffix":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Endpoint suffix","description":"Defines the DNS suffix for Azure Storage endpoints."},"key":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Account secret key","description":"Azure account secret key. One of key or sas_token should be specified"},"sas_token":{"pattern":"^[^\\r\\n]*$","type":"string","title":"SAS token","description":"A shared access signatures (SAS) token. One of key or sas_token should be specified"},"snapshot_name":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The snapshot name to restore from","description":"The snapshot name to restore from"}}},"cluster_max_shards_per_node":{"example":1000,"maximum":10000,"minimum":100,"type":"integer","title":"cluster.max_shards_per_node","description":"Controls the number of shards allowed in the cluster per data node"},"cluster_routing_allocation_node_concurrent_recoveries":{"maximum":16,"minimum":2,"type":"integer","title":"Concurrent incoming/outgoing shard recoveries per node","description":"How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to 2."},"custom_domain":{"example":"grafana.example.org","maxLength":255,"type":["string","null"],"title":"Custom domain","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name"},"email_sender_name":{"example":"alert-sender","maxLength":40,"pattern":"^[a-zA-Z0-9-_]+$","type":"string","title":"Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore","description":"This should be identical to the Sender name defined in Opensearch dashboards","user_error":"Must consist of lower-case alpha-numeric characters and dashes, max 40 characters"},"email_sender_password":{"example":"very-secure-mail-password","maxLength":1024,"pattern":"^[^\\x00-\\x1F]+$","type":"string","title":"Sender password for Opensearch alerts to authenticate with SMTP server","description":"Sender password for Opensearch alerts to authenticate with SMTP server"},"email_sender_username":{"example":"jane@example.com","maxLength":320,"pattern":"^[^\\x00-\\x1F]+$","type":"string","title":"Sender username for Opensearch alerts"},"enable_security_audit":{"example":false,"type":"boolean","title":"Enable/Disable security audit"},"gcs_migration":{"type":"object","title":"","properties":{"base_path":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"The path to the repository data within its container. The value of this setting should not start or end with a /"},"bucket":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"Google Cloud Storage bucket name"},"chunk_size":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Chunk size","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository"},"compress":{"type":"boolean","title":"Metadata files are stored in compressed format","description":"when set to true metadata files are stored in compressed format"},"credentials":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Credentials","description":"Google Cloud Storage credentials file content"},"snapshot_name":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The snapshot name to restore from","description":"The snapshot name to restore from"}}},"http_max_content_length":{"maximum":2147483647,"minimum":1,"type":"integer","title":"http.max_content_length","description":"Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes."},"http_max_header_size":{"example":8192,"maximum":262144,"minimum":1024,"type":"integer","title":"http.max_header_size","description":"The max size of allowed headers, in bytes"},"http_max_initial_line_length":{"example":4096,"maximum":65536,"minimum":1024,"type":"integer","title":"http.max_initial_line_length","description":"The max length of an HTTP URL, in bytes"},"index_patterns":{"type":"array","title":"Index patterns"},"index_rollup":{"type":"object","title":"Index rollup settings","properties":{"rollup_dashboards_enabled":{"type":"boolean","title":"plugins.rollup.dashboards.enabled","description":"Whether rollups are enabled in OpenSearch Dashboards. Defaults to true."},"rollup_enabled":{"type":"boolean","title":"plugins.rollup.enabled","description":"Whether the rollup plugin is enabled. Defaults to true."},"rollup_search_backoff_count":{"minimum":1,"type":"integer","title":"plugins.rollup.search.backoff_count","description":"How many retries the plugin should attempt for failed rollup jobs. Defaults to 5."},"rollup_search_backoff_millis":{"minimum":1,"type":"integer","title":"plugins.rollup.search.backoff_millis","description":"The backoff time between retries for failed rollup jobs. Defaults to 1000ms."},"rollup_search_search_all_jobs":{"type":"boolean","title":"plugins.rollup.search.all_jobs","description":"Whether OpenSearch should return all jobs that match all specified search terms. If disabled, OpenSearch returns just one, as opposed to all, of the jobs that matches the search terms. Defaults to false."}}},"index_template":{"type":"object","title":"Template settings for all new indexes","properties":{"mapping_nested_objects_limit":{"maximum":100000,"minimum":0,"type":["integer","null"],"title":"index.mapping.nested_objects.limit","description":"The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000."},"number_of_replicas":{"maximum":29,"minimum":0,"type":["integer","null"],"title":"index.number_of_replicas","description":"The number of replicas each primary shard has."},"number_of_shards":{"maximum":1024,"minimum":1,"type":["integer","null"],"title":"index.number_of_shards","description":"The number of primary shards that an index should have."}}},"indices_fielddata_cache_size":{"maximum":100,"minimum":3,"type":["integer","null"],"title":"indices.fielddata.cache.size","description":"Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase overhead of loading field data; too much memory used for field data cache will decrease amount of heap available for other operations."},"indices_memory_index_buffer_size":{"maximum":40,"minimum":3,"type":"integer","title":"indices.memory.index_buffer_size","description":"Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance."},"indices_memory_max_index_buffer_size":{"maximum":2048,"minimum":3,"type":"integer","title":"indices.memory.max_index_buffer_size","description":"Absolute value. Default is unbound. Doesn't work without indices.memory.index_buffer_size. Maximum amount of heap used for query cache, an absolute indices.memory.index_buffer_size maximum hard limit."},"indices_memory_min_index_buffer_size":{"maximum":2048,"minimum":3,"type":"integer","title":"indices.memory.min_index_buffer_size","description":"Absolute value. Default is 48mb. Doesn't work without indices.memory.index_buffer_size. Minimum amount of heap used for query cache, an absolute indices.memory.index_buffer_size minimal hard limit."},"indices_queries_cache_size":{"maximum":40,"minimum":3,"type":"integer","title":"indices.queries.cache.size","description":"Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other OpenSearch functionality."},"indices_query_bool_max_clause_count":{"maximum":4096,"minimum":64,"type":"integer","title":"indices.query.bool.max_clause_count","description":"Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value."},"indices_recovery_max_bytes_per_sec":{"maximum":400,"minimum":40,"type":"integer","title":"indices.recovery.max_bytes_per_sec","description":"Limits total inbound and outbound recovery traffic for each node. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). Defaults to 40mb"},"indices_recovery_max_concurrent_file_chunks":{"maximum":5,"minimum":2,"type":"integer","title":"indices.recovery.max_concurrent_file_chunks","description":"Number of file chunks sent in parallel for each recovery. Defaults to 2."},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"ism_enabled":{"example":true,"type":"boolean","title":"Specifies whether ISM is enabled or not"},"ism_history_enabled":{"example":true,"type":"boolean","title":"Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document."},"ism_history_max_age":{"example":24,"maximum":2147483647,"minimum":1,"type":"integer","title":"The maximum age before rolling over the audit history index in hours"},"ism_history_max_docs":{"example":2500000,"maximum":9223372036854776000,"minimum":1,"type":"integer","title":"The maximum number of documents before rolling over the audit history index."},"ism_history_rollover_check_period":{"example":8,"maximum":2147483647,"minimum":1,"type":"integer","title":"The time between rollover checks for the audit history index in hours."},"ism_history_rollover_retention_period":{"example":30,"maximum":2147483647,"minimum":1,"type":"integer","title":"How long audit history indices are kept in days."},"keep_index_refresh_interval":{"example":true,"type":"boolean","title":"Don't reset index.refresh_interval to the default value","description":"Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true."},"knn_memory_circuit_breaker_enabled":{"example":true,"type":"boolean","title":"knn.memory.circuit_breaker.enabled","description":"Enable or disable KNN memory circuit breaker. Defaults to true."},"knn_memory_circuit_breaker_limit":{"example":50,"maximum":100,"minimum":3,"type":"integer","title":"knn.memory.circuit_breaker.limit","description":"Maximum amount of memory that can be used for KNN index. Defaults to 50% of the JVM heap size."},"openid":{"type":"object","title":"OpenSearch OpenID Connect Configuration","properties":{"client_id":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"The ID of the OpenID Connect client","description":"The ID of the OpenID Connect client configured in your IdP. Required."},"client_secret":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"The client secret of the OpenID Connect","description":"The client secret of the OpenID Connect client configured in your IdP. Required."},"connect_url":{"maxLength":2048,"pattern":"^[^\\r\\n]*$","type":"string","title":"OpenID Connect metadata/configuration URL","description":"The URL of your IdP where the Security plugin can find the OpenID Connect metadata/configuration settings."},"enabled":{"type":"boolean","title":"Enable or disable OpenSearch OpenID Connect authentication","description":"Enables or disables OpenID Connect authentication for OpenSearch. When enabled, users can authenticate using OpenID Connect with an Identity Provider."},"header":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"HTTP header name of the JWT token","description":"HTTP header name of the JWT token. Optional. Default is Authorization."},"jwt_header":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"The HTTP header that stores the token","description":"The HTTP header that stores the token. Typically the Authorization header with the Bearer schema: Authorization: Bearer . Optional. Default is Authorization."},"jwt_url_parameter":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"URL JWT token.","description":"If the token is not transmitted in the HTTP header, but as an URL parameter, define the name of the parameter here. Optional."},"refresh_rate_limit_count":{"maximum":9223372036854776000,"minimum":10,"type":["integer","null"],"title":"The maximum number of unknown key IDs in the time frame","description":"The maximum number of unknown key IDs in the time frame. Default is 10. Optional."},"refresh_rate_limit_time_window_ms":{"maximum":9223372036854776000,"minimum":10000,"type":["integer","null"],"title":"The time frame to use when checking the maximum number of unknown key IDs, in milliseconds","description":"The time frame to use when checking the maximum number of unknown key IDs, in milliseconds. Optional.Default is 10000 (10 seconds)."},"roles_key":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"The key in the JSON payload that stores the user’s roles","description":"The key in the JSON payload that stores the user’s roles. The value of this key must be a comma-separated list of roles. Required only if you want to use roles in the JWT"},"scope":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"The scope of the identity token issued by the IdP","description":"The scope of the identity token issued by the IdP. Optional. Default is openid profile email address phone."},"subject_key":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"The key in the JSON payload that stores the user’s name","description":"The key in the JSON payload that stores the user’s name. If not defined, the subject registered claim is used. Most IdP providers use the preferred_username claim. Optional."}}},"opensearch_dashboards":{"type":"object","title":"OpenSearch Dashboards settings","properties":{"enabled":{"type":"boolean","title":"Enable or disable OpenSearch Dashboards"},"max_old_space_size":{"maximum":2048,"minimum":64,"type":"integer","title":"max_old_space_size","description":"Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch."},"opensearch_request_timeout":{"maximum":120000,"minimum":5000,"type":"integer","title":"Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch"}}},"override_main_response_version":{"example":true,"type":"boolean","title":"compatibility.override_main_response_version","description":"Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. Default is false"},"plugins_alerting_filter_by_backend_roles":{"example":false,"type":"boolean","title":"plugins.alerting.filter_by_backend_roles","description":"Enable or disable filtering of alerting by backend roles. Requires Security plugin. Defaults to false"},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"reindex_remote_whitelist":{"type":["array","null"],"title":"reindex_remote_whitelist","description":"Whitelisted addresses for reindexing. Changing this value will cause all OpenSearch instances to restart."},"s3_migration":{"type":"object","title":"","properties":{"access_key":{"pattern":"^[^\\r\\n]*$","type":"string","title":"AWS Access key","description":"AWS Access key"},"base_path":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"The path to the repository data within its container. The value of this setting should not start or end with a /"},"bucket":{"pattern":"^[^\\r\\n]*$","type":"string","title":"S3 bucket name","description":"S3 bucket name"},"chunk_size":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Chunk size","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository"},"compress":{"type":"boolean","title":"Metadata files are stored in compressed format","description":"when set to true metadata files are stored in compressed format"},"endpoint":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The S3 service endpoint to connect","description":"The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint"},"region":{"pattern":"^[^\\r\\n]*$","type":"string","title":"S3 region","description":"S3 region"},"secret_key":{"pattern":"^[^\\r\\n]*$","type":"string","title":"AWS secret key","description":"AWS secret key"},"server_side_encryption":{"type":"boolean","title":"Server side encryption","description":"When set to true files are encrypted on server side"},"snapshot_name":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The snapshot name to restore from","description":"The snapshot name to restore from"}}},"saml":{"type":"object","title":"OpenSearch SAML configuration","properties":{"enabled":{"type":"boolean","title":"Enable or disable OpenSearch SAML authentication","description":"Enables or disables SAML-based authentication for OpenSearch. When enabled, users can authenticate using SAML with an Identity Provider."},"idp_entity_id":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"Identity Provider Entity ID","description":"The unique identifier for the Identity Provider (IdP) entity that is used for SAML authentication. This value is typically provided by the IdP."},"idp_metadata_url":{"maxLength":2048,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"Identity Provider (IdP) SAML metadata URL","description":"The URL of the SAML metadata for the Identity Provider (IdP). This is used to configure SAML-based authentication with the IdP."},"idp_pemtrustedcas_content":{"maxLength":16384,"type":["string","null"],"title":"PEM-encoded root CA Content for SAML IdP server verification","description":"This parameter specifies the PEM-encoded root certificate authority (CA) content for the SAML identity provider (IdP) server verification. The root CA content is used to verify the SSL/TLS certificate presented by the server."},"roles_key":{"maxLength":256,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"SAML response role attribute","description":"Optional. Specifies the attribute in the SAML response where role information is stored, if available. Role attributes are not required for SAML authentication, but can be included in SAML assertions by most Identity Providers (IdPs) to determine user access levels or permissions."},"sp_entity_id":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"Service Provider Entity ID","description":"The unique identifier for the Service Provider (SP) entity that is used for SAML authentication. This value is typically provided by the SP."},"subject_key":{"maxLength":256,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"SAML response subject attribute","description":"Optional. Specifies the attribute in the SAML response where the subject identifier is stored. If not configured, the NameID attribute is used by default."}}},"script_max_compilations_rate":{"example":"75/5m","maxLength":1024,"pattern":"^[^\\r\\n]*$","type":"string","title":"Script max compilation rate - circuit breaker to prevent/minimize OOMs","description":"Script compilation circuit breaker limits the number of inline script compilations within a period of time. Default is use-context"},"search_max_buckets":{"example":10000,"maximum":1000000,"minimum":1,"type":["integer","null"],"title":"search.max_buckets","description":"Maximum number of aggregation buckets allowed in a single response. OpenSearch default value is used when this is not defined."},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."},"thread_pool_analyze_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"analyze thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_analyze_size":{"maximum":128,"minimum":1,"type":"integer","title":"analyze thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_force_merge_size":{"maximum":128,"minimum":1,"type":"integer","title":"force_merge thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_get_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"get thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_get_size":{"maximum":128,"minimum":1,"type":"integer","title":"get thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_search_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"search thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_search_size":{"maximum":128,"minimum":1,"type":"integer","title":"search thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_search_throttled_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"search_throttled thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_search_throttled_size":{"maximum":128,"minimum":1,"type":"integer","title":"search_throttled thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_write_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"write thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_write_size":{"maximum":128,"minimum":1,"type":"integer","title":"write thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"version":{"type":["string","null"],"title":"OpenSearch major version","enum":["1","2"]}}},"pg":{"properties":{"admin_password":{"createOnly":true,"example":"z66o9QXqKM","maxLength":256,"minLength":8,"pattern":"^[a-zA-Z0-9-_]+$","type":["string","null"],"title":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, underscores or dashes"},"admin_username":{"createOnly":true,"example":"avnadmin","maxLength":64,"pattern":"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$","type":["string","null"],"title":"Custom username for admin user. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"},"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"autovacuum_analyze_scale_factor":{"maximum":1,"minimum":0,"type":"number","title":"autovacuum_analyze_scale_factor","description":"Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size)"},"autovacuum_analyze_threshold":{"maximum":2147483647,"minimum":0,"type":"integer","title":"autovacuum_analyze_threshold","description":"Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples."},"autovacuum_freeze_max_age":{"example":200000000,"maximum":1500000000,"minimum":200000000,"type":"integer","title":"autovacuum_freeze_max_age","description":"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted."},"autovacuum_max_workers":{"maximum":20,"minimum":1,"type":"integer","title":"autovacuum_max_workers","description":"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start."},"autovacuum_naptime":{"maximum":86400,"minimum":1,"type":"integer","title":"autovacuum_naptime","description":"Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds, and the default is one minute"},"autovacuum_vacuum_cost_delay":{"maximum":100,"minimum":-1,"type":"integer","title":"autovacuum_vacuum_cost_delay","description":"Specifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. The default value is 20 milliseconds"},"autovacuum_vacuum_cost_limit":{"maximum":10000,"minimum":-1,"type":"integer","title":"autovacuum_vacuum_cost_limit","description":"Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used."},"autovacuum_vacuum_scale_factor":{"maximum":1,"minimum":0,"type":"number","title":"autovacuum_vacuum_scale_factor","description":"Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size)"},"autovacuum_vacuum_threshold":{"maximum":2147483647,"minimum":0,"type":"integer","title":"autovacuum_vacuum_threshold","description":"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples"},"backup_hour":{"example":3,"maximum":23,"minimum":0,"type":["integer","null"],"title":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed."},"backup_minute":{"example":30,"maximum":59,"minimum":0,"type":["integer","null"],"title":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed."},"bgwriter_delay":{"example":200,"maximum":10000,"minimum":10,"type":"integer","title":"bgwriter_delay","description":"Specifies the delay between activity rounds for the background writer in milliseconds. Default is 200."},"bgwriter_flush_after":{"example":512,"maximum":2048,"minimum":0,"type":"integer","title":"bgwriter_flush_after","description":"Whenever more than bgwriter_flush_after bytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback."},"bgwriter_lru_maxpages":{"example":100,"maximum":1073741823,"minimum":0,"type":"integer","title":"bgwriter_lru_maxpages","description":"In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. Default is 100."},"bgwriter_lru_multiplier":{"example":2,"maximum":10,"minimum":0,"type":"number","title":"bgwriter_lru_multiplier","description":"The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0."},"deadlock_timeout":{"example":1000,"maximum":1800000,"minimum":500,"type":"integer","title":"deadlock_timeout","description":"This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition."},"default_toast_compression":{"example":"lz4","type":"string","title":"default_toast_compression","description":"Specifies the default TOAST compression method for values of compressible columns (the default is lz4).","enum":["lz4","pglz"]},"idle_in_transaction_session_timeout":{"maximum":604800000,"minimum":0,"type":"integer","title":"idle_in_transaction_session_timeout","description":"Time out sessions with open transactions after this number of milliseconds"},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"jit":{"example":true,"type":"boolean","title":"jit","description":"Controls system-wide use of Just-in-Time Compilation (JIT)."},"log_autovacuum_min_duration":{"maximum":2147483647,"minimum":-1,"type":"integer","title":"log_autovacuum_min_duration","description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions."},"log_error_verbosity":{"type":"string","title":"log_error_verbosity","description":"Controls the amount of detail written in the server log for each message that is logged.","enum":["TERSE","DEFAULT","VERBOSE"]},"log_line_prefix":{"type":"string","title":"log_line_prefix","description":"Choose from one of the available log formats.","enum":["'pid=%p,user=%u,db=%d,app=%a,client=%h '","'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q '","'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '","'%m [%p] %q[user=%u,db=%d,app=%a] '"]},"log_min_duration_statement":{"maximum":86400000,"minimum":-1,"type":"integer","title":"log_min_duration_statement","description":"Log statements that take more than this number of milliseconds to run, -1 disables"},"log_temp_files":{"maximum":2147483647,"minimum":-1,"type":"integer","title":"log_temp_files","description":"Log statements for each temporary file created larger than this number of kilobytes, -1 disables"},"max_files_per_process":{"maximum":4096,"minimum":1000,"type":"integer","title":"max_files_per_process","description":"PostgreSQL maximum number of files that can be open per process"},"max_locks_per_transaction":{"maximum":6400,"minimum":64,"type":"integer","title":"max_locks_per_transaction","description":"PostgreSQL maximum locks per transaction"},"max_logical_replication_workers":{"maximum":64,"minimum":4,"type":"integer","title":"max_logical_replication_workers","description":"PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers)"},"max_parallel_workers":{"maximum":96,"minimum":0,"type":"integer","title":"max_parallel_workers","description":"Sets the maximum number of workers that the system can support for parallel queries"},"max_parallel_workers_per_gather":{"maximum":96,"minimum":0,"type":"integer","title":"max_parallel_workers_per_gather","description":"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node"},"max_pred_locks_per_transaction":{"maximum":5120,"minimum":64,"type":"integer","title":"max_pred_locks_per_transaction","description":"PostgreSQL maximum predicate locks per transaction"},"max_prepared_transactions":{"maximum":10000,"minimum":0,"type":"integer","title":"max_prepared_transactions","description":"PostgreSQL maximum prepared transactions"},"max_replication_slots":{"maximum":64,"minimum":8,"type":"integer","title":"max_replication_slots","description":"PostgreSQL maximum replication slots"},"max_slot_wal_keep_size":{"maximum":2147483647,"minimum":-1,"type":"integer","title":"max_slot_wal_keep_size","description":"PostgreSQL maximum WAL size (MB) reserved for replication slots. Default is -1 (unlimited). wal_keep_size minimum WAL size setting takes precedence over this."},"max_stack_depth":{"maximum":6291456,"minimum":2097152,"type":"integer","title":"max_stack_depth","description":"Maximum depth of the stack in bytes"},"max_standby_archive_delay":{"maximum":43200000,"minimum":1,"type":"integer","title":"max_standby_archive_delay","description":"Max standby archive delay in milliseconds"},"max_standby_streaming_delay":{"maximum":43200000,"minimum":1,"type":"integer","title":"max_standby_streaming_delay","description":"Max standby streaming delay in milliseconds"},"max_wal_senders":{"maximum":64,"minimum":20,"type":"integer","title":"max_wal_senders","description":"PostgreSQL maximum WAL senders"},"max_worker_processes":{"maximum":96,"minimum":8,"type":"integer","title":"max_worker_processes","description":"Sets the maximum number of background processes that the system can support"},"migration":{"type":["object","null"],"title":"Migrate data from existing server","properties":{"dbname":{"maxLength":63,"type":"string","title":"Database name for bootstrapping the initial connection"},"host":{"maxLength":255,"type":"string","title":"Hostname or IP address of the server where to migrate data from"},"ignore_dbs":{"maxLength":2048,"type":"string","title":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"},"ignore_roles":{"maxLength":2048,"type":"string","title":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"},"method":{"type":"string","title":"The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)","enum":["dump","replication"]},"password":{"maxLength":256,"type":"string","title":"Password for authentication with the server where to migrate data from"},"port":{"maximum":65535,"minimum":1,"type":"integer","title":"Port number of the server where to migrate data from"},"ssl":{"type":"boolean","title":"The server where to migrate data from is secured with SSL"},"username":{"maxLength":256,"type":"string","title":"User name for authentication with the server where to migrate data from"}}},"pg_partman_bgw_interval":{"example":3600,"maximum":604800,"minimum":3600,"type":"integer","title":"pg_partman_bgw.interval","description":"Sets the time interval to run pg_partman's scheduled tasks"},"pg_partman_bgw_role":{"example":"myrolename","maxLength":64,"pattern":"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$","type":"string","title":"pg_partman_bgw.role","description":"Controls which role to use for pg_partman's scheduled background tasks.","user_error":"Must consist of alpha-numeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"},"pg_stat_monitor_enable":{"default":false,"type":"boolean","title":"Enable pg_stat_monitor extension if available for the current cluster","description":"Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted.When this extension is enabled, pg_stat_statements results for utility commands are unreliable"},"pg_stat_monitor_pgsm_enable_query_plan":{"example":false,"type":"boolean","title":"pg_stat_monitor.pgsm_enable_query_plan","description":"Enables or disables query plan monitoring"},"pg_stat_monitor_pgsm_max_buckets":{"example":10,"maximum":10,"minimum":1,"type":"integer","title":"pg_stat_monitor.pgsm_max_buckets","description":"Sets the maximum number of buckets "},"pg_stat_statements_track":{"type":["string"],"title":"pg_stat_statements.track","description":"Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default value is top.","enum":["all","top","none"]},"pgbouncer":{"type":"object","title":"PGBouncer connection pooling settings","description":"System-wide settings for pgbouncer.","properties":{"autodb_idle_timeout":{"maximum":86400,"minimum":0,"type":"integer","title":"If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. [seconds]"},"autodb_max_db_connections":{"maximum":2147483647,"minimum":0,"type":"integer","title":"Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited."},"autodb_pool_mode":{"type":"string","title":"PGBouncer pool mode","enum":["transaction","session","statement"]},"autodb_pool_size":{"maximum":10000,"minimum":0,"type":"integer","title":"If non-zero then create automatically a pool of that size per user when a pool doesn't exist."},"ignore_startup_parameters":{"type":"array","title":"List of parameters to ignore when given in startup packet"},"max_prepared_statements":{"maximum":3000,"minimum":0,"type":"integer","title":"PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when max_prepared_statements is set to a non-zero value. Setting it to 0 disables prepared statements. max_prepared_statements defaults to 100, and its maximum is 3000."},"min_pool_size":{"maximum":10000,"minimum":0,"type":"integer","title":"Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size."},"server_idle_timeout":{"maximum":86400,"minimum":0,"type":"integer","title":"If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. [seconds]"},"server_lifetime":{"maximum":86400,"minimum":60,"type":"integer","title":"The pooler will close an unused server connection that has been connected longer than this. [seconds]"},"server_reset_query_always":{"type":"boolean","title":"Run server_reset_query (DISCARD ALL) in all pooling modes"}}},"pglookout":{"default":{"max_failover_replication_time_lag":60},"type":"object","title":"PGLookout settings","description":"System-wide settings for pglookout.","properties":{"max_failover_replication_time_lag":{"maximum":9223372036854776000,"minimum":10,"type":"integer","title":"max_failover_replication_time_lag","description":"Number of seconds of master unavailability before triggering database failover to standby"}}},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."},"shared_buffers_percentage":{"example":41.5,"maximum":60,"minimum":20,"type":"number","title":"shared_buffers_percentage","description":"Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value."},"synchronous_replication":{"example":"off","type":"string","title":"Synchronous replication type. Note that the service plan also needs to support synchronous replication.","enum":["quorum","off"]},"temp_file_limit":{"example":5000000,"maximum":2147483647,"minimum":-1,"type":"integer","title":"temp_file_limit","description":"PostgreSQL temporary file limit in KiB, -1 for unlimited"},"timescaledb":{"type":"object","title":"TimescaleDB extension configuration values","description":"System-wide settings for the timescaledb extension","properties":{"max_background_workers":{"maximum":4096,"minimum":1,"type":"integer","title":"timescaledb.max_background_workers","description":"The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time."}}},"timezone":{"example":"Europe/Helsinki","maxLength":64,"pattern":"^[\\w/]*$","type":"string","title":"timezone","description":"PostgreSQL service timezone"},"track_activity_query_size":{"example":1024,"maximum":10240,"minimum":1024,"type":"integer","title":"track_activity_query_size","description":"Specifies the number of bytes reserved to track the currently executing command for each active session."},"track_commit_timestamp":{"example":"off","type":"string","title":"track_commit_timestamp","description":"Record commit time of transactions.","enum":["off","on"]},"track_functions":{"type":"string","title":"track_functions","description":"Enables tracking of function call counts and time used.","enum":["all","pl","none"]},"track_io_timing":{"example":"off","type":"string","title":"track_io_timing","description":"Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.","enum":["off","on"]},"variant":{"example":"aiven","type":["string","null"],"title":"Variant of the PostgreSQL service, may affect the features that are exposed by default","enum":["aiven","timescale"]},"version":{"type":["string","null"],"title":"PostgreSQL major version","enum":["12","13","14","15","16"]},"wal_sender_timeout":{"example":60000,"type":"integer","title":"wal_sender_timeout","description":"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout.","user_error":"Must be either 0 or between 5000 and 10800000."},"wal_writer_delay":{"example":50,"maximum":200,"minimum":10,"type":"integer","title":"wal_writer_delay","description":"WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance"},"work_mem":{"example":4,"maximum":1024,"minimum":1,"type":"integer","title":"work_mem","description":"Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB)."}}},"redis":{"properties":{"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"migration":{"type":["object","null"],"title":"Migrate data from existing server","properties":{"dbname":{"maxLength":63,"type":"string","title":"Database name for bootstrapping the initial connection"},"host":{"maxLength":255,"type":"string","title":"Hostname or IP address of the server where to migrate data from"},"ignore_dbs":{"maxLength":2048,"type":"string","title":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"},"ignore_roles":{"maxLength":2048,"type":"string","title":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"},"method":{"type":"string","title":"The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)","enum":["dump","replication"]},"password":{"maxLength":256,"type":"string","title":"Password for authentication with the server where to migrate data from"},"port":{"maximum":65535,"minimum":1,"type":"integer","title":"Port number of the server where to migrate data from"},"ssl":{"type":"boolean","title":"The server where to migrate data from is secured with SSL"},"username":{"maxLength":256,"type":"string","title":"User name for authentication with the server where to migrate data from"}}},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"redis_acl_channels_default":{"type":"string","title":"Default ACL for pub/sub channels used when Redis user is created","description":"Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.","enum":["allchannels","resetchannels"]},"redis_io_threads":{"example":1,"maximum":32,"minimum":1,"type":"integer","title":"Redis IO thread count","description":"Set Redis IO thread count. Changing this will cause a restart of the Redis service."},"redis_lfu_decay_time":{"default":1,"maximum":120,"minimum":1,"type":"integer","title":"LFU maxmemory-policy counter decay time in minutes"},"redis_lfu_log_factor":{"default":10,"maximum":100,"minimum":0,"type":"integer","title":"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies"},"redis_maxmemory_policy":{"default":"noeviction","type":["string","null"],"title":"Redis maxmemory-policy","enum":["noeviction","allkeys-lru","volatile-lru","allkeys-random","volatile-random","volatile-ttl","volatile-lfu","allkeys-lfu"]},"redis_notify_keyspace_events":{"default":"","maxLength":32,"pattern":"^[KEg\\$lshzxentdmA]*$","type":"string","title":"Set notify-keyspace-events option"},"redis_number_of_databases":{"example":16,"maximum":128,"minimum":1,"type":"integer","title":"Number of Redis databases","description":"Set number of Redis databases. Changing this will cause a restart of the Redis service."},"redis_persistence":{"type":"string","title":"Redis persistence","description":"When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to the backup schedule for backup purposes. When persistence is 'off', no RDB dumps or backups are done, so data can be lost at any moment if the service is restarted for any reason, or if the service is powered off. Also, the service can't be forked.","enum":["off","rdb"]},"redis_pubsub_client_output_buffer_limit":{"example":64,"maximum":512,"minimum":32,"type":"integer","title":"Pub/sub client output buffer hard limit in MB","description":"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan."},"redis_ssl":{"default":true,"type":"boolean","title":"Require SSL to access Redis"},"redis_timeout":{"default":300,"maximum":31536000,"minimum":0,"type":"integer","title":"Redis idle connection timeout in seconds"},"redis_version":{"type":["string","null"],"title":"Redis major version","enum":["7.0"]},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."}}}} +{"mysql":{"properties":{"admin_password":{"createOnly":true,"example":"z66o9QXqKM","maxLength":256,"minLength":8,"pattern":"^[a-zA-Z0-9-_]+$","type":["string","null"],"title":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, underscores or dashes"},"admin_username":{"createOnly":true,"example":"avnadmin","maxLength":64,"pattern":"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$","type":["string","null"],"title":"Custom username for admin user. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"},"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"backup_hour":{"example":3,"maximum":23,"minimum":0,"type":["integer","null"],"title":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed."},"backup_minute":{"example":30,"maximum":59,"minimum":0,"type":["integer","null"],"title":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed."},"binlog_retention_period":{"example":600,"maximum":86400,"minimum":600,"type":"integer","title":"The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector."},"connect_timeout":{"example":10,"maximum":3600,"minimum":2,"type":"integer","title":"connect_timeout","description":"The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake"},"default_time_zone":{"example":"+03:00","maxLength":100,"minLength":2,"pattern":"^([-+][\\d:]*|[\\w/]*)$","type":"string","title":"default_time_zone","description":"Default server time zone as an offset from UTC (from -12:00 to +12:00), a time zone name, or 'SYSTEM' to use the MySQL server default."},"group_concat_max_len":{"example":1024,"maximum":18446744073709552000,"minimum":4,"type":"integer","title":"group_concat_max_len","description":"The maximum permitted result length in bytes for the GROUP_CONCAT() function."},"information_schema_stats_expiry":{"example":86400,"maximum":31536000,"minimum":900,"type":"integer","title":"information_schema_stats_expiry","description":"The time, in seconds, before cached statistics expire"},"innodb_change_buffer_max_size":{"example":30,"maximum":50,"minimum":0,"type":"integer","title":"innodb_change_buffer_max_size","description":"Maximum size for the InnoDB change buffer, as a percentage of the total size of the buffer pool. Default is 25"},"innodb_flush_neighbors":{"example":0,"maximum":2,"minimum":0,"type":"integer","title":"innodb_flush_neighbors","description":"Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent (default is 1): 0 - dirty pages in the same extent are not flushed, 1 - flush contiguous dirty pages in the same extent, 2 - flush dirty pages in the same extent"},"innodb_ft_min_token_size":{"example":3,"maximum":16,"minimum":0,"type":"integer","title":"innodb_ft_min_token_size","description":"Minimum length of words that are stored in an InnoDB FULLTEXT index. Changing this parameter will lead to a restart of the MySQL service."},"innodb_ft_server_stopword_table":{"example":"db_name/table_name","maxLength":1024,"pattern":"^.+/.+$","type":["null","string"],"title":"innodb_ft_server_stopword_table","description":"This option is used to specify your own InnoDB FULLTEXT index stopword list for all InnoDB tables."},"innodb_lock_wait_timeout":{"example":50,"maximum":3600,"minimum":1,"type":"integer","title":"innodb_lock_wait_timeout","description":"The length of time in seconds an InnoDB transaction waits for a row lock before giving up. Default is 120."},"innodb_log_buffer_size":{"example":16777216,"maximum":4294967295,"minimum":1048576,"type":"integer","title":"innodb_log_buffer_size","description":"The size in bytes of the buffer that InnoDB uses to write to the log files on disk."},"innodb_online_alter_log_max_size":{"example":134217728,"maximum":1099511627776,"minimum":65536,"type":"integer","title":"innodb_online_alter_log_max_size","description":"The upper limit in bytes on the size of the temporary log files used during online DDL operations for InnoDB tables."},"innodb_print_all_deadlocks":{"example":true,"type":"boolean","title":"innodb_print_all_deadlocks","description":"When enabled, information about all deadlocks in InnoDB user transactions is recorded in the error log. Disabled by default."},"innodb_read_io_threads":{"example":10,"maximum":64,"minimum":1,"type":"integer","title":"innodb_read_io_threads","description":"The number of I/O threads for read operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service."},"innodb_rollback_on_timeout":{"example":true,"type":"boolean","title":"innodb_rollback_on_timeout","description":"When enabled a transaction timeout causes InnoDB to abort and roll back the entire transaction. Changing this parameter will lead to a restart of the MySQL service."},"innodb_thread_concurrency":{"example":10,"maximum":1000,"minimum":0,"type":"integer","title":"innodb_thread_concurrency","description":"Defines the maximum number of threads permitted inside of InnoDB. Default is 0 (infinite concurrency - no limit)"},"innodb_write_io_threads":{"example":10,"maximum":64,"minimum":1,"type":"integer","title":"innodb_write_io_threads","description":"The number of I/O threads for write operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service."},"interactive_timeout":{"example":3600,"maximum":604800,"minimum":30,"type":"integer","title":"interactive_timeout","description":"The number of seconds the server waits for activity on an interactive connection before closing it."},"internal_tmp_mem_storage_engine":{"example":"TempTable","type":"string","title":"internal_tmp_mem_storage_engine","description":"The storage engine for in-memory internal temporary tables.","enum":["TempTable","MEMORY"]},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"log_output":{"example":"INSIGHTS","type":"string","title":"log_output","description":"The slow log output destination when slow_query_log is ON. To enable MySQL AI Insights, choose INSIGHTS. To use MySQL AI Insights and the mysql.slow_log table at the same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log table, choose TABLE. To silence slow logs, choose NONE.","enum":["INSIGHTS","NONE","TABLE","INSIGHTS,TABLE"]},"long_query_time":{"example":10,"maximum":3600,"minimum":0,"type":"number","title":"long_query_time","description":"The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute."},"max_allowed_packet":{"example":67108864,"maximum":1073741824,"minimum":102400,"type":"integer","title":"max_allowed_packet","description":"Size of the largest message in bytes that can be received by the server. Default is 67108864 (64M)"},"max_heap_table_size":{"example":16777216,"maximum":1073741824,"minimum":1048576,"type":"integer","title":"max_heap_table_size","description":"Limits the size of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M)"},"migration":{"type":["object","null"],"title":"Migrate data from existing server","properties":{"dbname":{"maxLength":63,"type":"string","title":"Database name for bootstrapping the initial connection"},"host":{"maxLength":255,"type":"string","title":"Hostname or IP address of the server where to migrate data from"},"ignore_dbs":{"maxLength":2048,"type":"string","title":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"},"ignore_roles":{"maxLength":2048,"type":"string","title":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"},"method":{"type":"string","title":"The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)","enum":["dump","replication"]},"password":{"maxLength":256,"type":"string","title":"Password for authentication with the server where to migrate data from"},"port":{"maximum":65535,"minimum":1,"type":"integer","title":"Port number of the server where to migrate data from"},"ssl":{"type":"boolean","title":"The server where to migrate data from is secured with SSL"},"username":{"maxLength":256,"type":"string","title":"User name for authentication with the server where to migrate data from"}}},"net_buffer_length":{"example":16384,"maximum":1048576,"minimum":1024,"type":"integer","title":"net_buffer_length","description":"Start sizes of connection buffer and result buffer. Default is 16384 (16K). Changing this parameter will lead to a restart of the MySQL service."},"net_read_timeout":{"example":30,"maximum":3600,"minimum":1,"type":"integer","title":"net_read_timeout","description":"The number of seconds to wait for more data from a connection before aborting the read."},"net_write_timeout":{"example":30,"maximum":3600,"minimum":1,"type":"integer","title":"net_write_timeout","description":"The number of seconds to wait for a block to be written to a connection before aborting the write."},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."},"slow_query_log":{"example":true,"type":"boolean","title":"slow_query_log","description":"Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table."},"sort_buffer_size":{"example":262144,"maximum":1073741824,"minimum":32768,"type":"integer","title":"sort_buffer_size","description":"Sort buffer size in bytes for ORDER BY optimization. Default is 262144 (256K)"},"sql_mode":{"example":"ANSI,TRADITIONAL","maxLength":1024,"pattern":"^[A-Z_]*(,[A-Z_]+)*$","type":"string","title":"sql_mode","description":"Global SQL mode. Set to empty to use MySQL server defaults. When creating a new service and not setting this field Aiven default SQL mode (strict, SQL standard compliant) will be assigned.","user_error":"Must be uppercase alphabetic characters, underscores and commas"},"sql_require_primary_key":{"example":true,"type":"boolean","title":"sql_require_primary_key","description":"Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them."},"tmp_table_size":{"example":16777216,"maximum":1073741824,"minimum":1048576,"type":"integer","title":"tmp_table_size","description":"Limits the size of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M)"},"version":{"type":["string","null"],"title":"MySQL major version","enum":["8"]},"wait_timeout":{"example":28800,"maximum":2147483,"minimum":1,"type":"integer","title":"wait_timeout","description":"The number of seconds the server waits for activity on a noninteractive connection before closing it."}}},"opensearch":{"properties":{"action_auto_create_index_enabled":{"example":false,"type":"boolean","title":"action.auto_create_index","description":"Explicitly allow or block automatic creation of indices. Defaults to true"},"action_destructive_requires_name":{"example":true,"type":["boolean","null"],"title":"Require explicit index names when deleting"},"auth_failure_listeners":{"type":"object","title":"Opensearch Security Plugin Settings","properties":{"internal_authentication_backend_limiting":{"type":"object","title":"","properties":{"allowed_tries":{"example":10,"maximum":2147483647,"minimum":1,"type":"integer","title":"internal_authentication_backend_limiting.allowed_tries","description":"The number of login attempts allowed before login is blocked"},"authentication_backend":{"example":"internal","maxLength":1024,"type":"string","title":"internal_authentication_backend_limiting.authentication_backend","description":"The internal backend. Enter `internal`","enum":["internal"]},"block_expiry_seconds":{"example":600,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.block_expiry_seconds","description":"The duration of time that login remains blocked after a failed login"},"max_blocked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.max_blocked_clients","description":"The maximum number of blocked IP addresses"},"max_tracked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.max_tracked_clients","description":"The maximum number of tracked IP addresses that have failed login"},"time_window_seconds":{"example":3600,"maximum":2147483647,"minimum":0,"type":"integer","title":"internal_authentication_backend_limiting.time_window_seconds","description":"The window of time in which the value for `allowed_tries` is enforced"},"type":{"example":"username","maxLength":1024,"type":"string","title":"internal_authentication_backend_limiting.type","description":"The type of rate limiting","enum":["username"]}}},"ip_rate_limiting":{"type":"object","title":"IP address rate limiting settings","properties":{"allowed_tries":{"example":10,"maximum":2147483647,"minimum":1,"type":"integer","title":"ip_rate_limiting.allowed_tries","description":"The number of login attempts allowed before login is blocked"},"block_expiry_seconds":{"example":600,"maximum":36000,"minimum":0,"type":"integer","title":"ip_rate_limiting.block_expiry_seconds","description":"The duration of time that login remains blocked after a failed login"},"max_blocked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"ip_rate_limiting.max_blocked_clients","description":"The maximum number of blocked IP addresses"},"max_tracked_clients":{"example":100000,"maximum":2147483647,"minimum":0,"type":"integer","title":"ip_rate_limiting.max_tracked_clients","description":"The maximum number of tracked IP addresses that have failed login"},"time_window_seconds":{"example":3600,"maximum":36000,"minimum":0,"type":"integer","title":"ip_rate_limiting.time_window_seconds","description":"The window of time in which the value for `allowed_tries` is enforced"},"type":{"example":"ip","maxLength":1024,"type":"string","title":"ip_rate_limiting.type","description":"The type of rate limiting","enum":["ip"]}}}}},"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"azure_migration":{"type":"object","title":"","description":"Azure migration settings","properties":{"account":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Account name","description":"Azure account name"},"base_path":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"The path to the repository data within its container. The value of this setting should not start or end with a /"},"chunk_size":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Chunk size","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository"},"compress":{"type":"boolean","title":"Metadata files are stored in compressed format","description":"when set to true metadata files are stored in compressed format"},"container":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Azure container name","description":"Azure container name"},"endpoint_suffix":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Endpoint suffix","description":"Defines the DNS suffix for Azure Storage endpoints."},"include_aliases":{"type":"boolean","title":"Include aliases","description":"Whether to restore aliases alongside their associated indexes. Default is true."},"indices":{"pattern":"^(\\*?[a-z0-9._-]*\\*?|-\\*?[a-z0-9._-]*\\*?)(,(\\*?[a-z0-9._-]*\\*?|-\\*?[a-z0-9._-]*\\*?))*[,]?$","type":"string","title":"Indices to restore","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported."},"key":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Account secret key","description":"Azure account secret key. One of key or sas_token should be specified"},"restore_global_state":{"type":"boolean","title":"Restore the cluster state or not","description":"If true, restore the cluster state. Defaults to false"},"sas_token":{"pattern":"^[^\\r\\n]*$","type":"string","title":"SAS token","description":"A shared access signatures (SAS) token. One of key or sas_token should be specified"},"snapshot_name":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The snapshot name to restore from","description":"The snapshot name to restore from"}}},"cluster_max_shards_per_node":{"example":1000,"maximum":10000,"minimum":100,"type":"integer","title":"cluster.max_shards_per_node","description":"Controls the number of shards allowed in the cluster per data node"},"cluster_routing_allocation_node_concurrent_recoveries":{"maximum":16,"minimum":2,"type":"integer","title":"Concurrent incoming/outgoing shard recoveries per node","description":"How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2."},"custom_domain":{"example":"grafana.example.org","maxLength":255,"type":["string","null"],"title":"Custom domain","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name"},"email_sender_name":{"example":"alert-sender","maxLength":40,"pattern":"^[a-zA-Z0-9-_]+$","type":"string","title":"Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore","description":"This should be identical to the Sender name defined in Opensearch dashboards","user_error":"Must consist of lower-case alpha-numeric characters and dashes, max 40 characters"},"email_sender_password":{"example":"very-secure-mail-password","maxLength":1024,"pattern":"^[^\\x00-\\x1F]+$","type":"string","title":"Sender password for Opensearch alerts to authenticate with SMTP server","description":"Sender password for Opensearch alerts to authenticate with SMTP server"},"email_sender_username":{"example":"jane@example.com","maxLength":320,"pattern":"^[^\\x00-\\x1F]+$","type":"string","title":"Sender username for Opensearch alerts"},"enable_security_audit":{"example":false,"type":"boolean","title":"Enable/Disable security audit"},"gcs_migration":{"type":"object","title":"","description":"Google Cloud Storage migration settings","properties":{"base_path":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"The path to the repository data within its container. The value of this setting should not start or end with a /"},"bucket":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"Google Cloud Storage bucket name"},"chunk_size":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Chunk size","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository"},"compress":{"type":"boolean","title":"Metadata files are stored in compressed format","description":"when set to true metadata files are stored in compressed format"},"credentials":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Credentials","description":"Google Cloud Storage credentials file content"},"include_aliases":{"type":"boolean","title":"Include aliases","description":"Whether to restore aliases alongside their associated indexes. Default is true."},"indices":{"pattern":"^(\\*?[a-z0-9._-]*\\*?|-\\*?[a-z0-9._-]*\\*?)(,(\\*?[a-z0-9._-]*\\*?|-\\*?[a-z0-9._-]*\\*?))*[,]?$","type":"string","title":"Indices to restore","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported."},"restore_global_state":{"type":"boolean","title":"Restore the cluster state or not","description":"If true, restore the cluster state. Defaults to false"},"snapshot_name":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The snapshot name to restore from","description":"The snapshot name to restore from"}}},"http_max_content_length":{"maximum":2147483647,"minimum":1,"type":"integer","title":"http.max_content_length","description":"Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes."},"http_max_header_size":{"example":8192,"maximum":262144,"minimum":1024,"type":"integer","title":"http.max_header_size","description":"The max size of allowed headers, in bytes"},"http_max_initial_line_length":{"example":4096,"maximum":65536,"minimum":1024,"type":"integer","title":"http.max_initial_line_length","description":"The max length of an HTTP URL, in bytes"},"index_patterns":{"type":"array","title":"Index patterns"},"index_rollup":{"type":"object","title":"Index rollup settings","properties":{"rollup_dashboards_enabled":{"type":"boolean","title":"plugins.rollup.dashboards.enabled","description":"Whether rollups are enabled in OpenSearch Dashboards. Defaults to true."},"rollup_enabled":{"type":"boolean","title":"plugins.rollup.enabled","description":"Whether the rollup plugin is enabled. Defaults to true."},"rollup_search_backoff_count":{"minimum":1,"type":"integer","title":"plugins.rollup.search.backoff_count","description":"How many retries the plugin should attempt for failed rollup jobs. Defaults to 5."},"rollup_search_backoff_millis":{"minimum":1,"type":"integer","title":"plugins.rollup.search.backoff_millis","description":"The backoff time between retries for failed rollup jobs. Defaults to 1000ms."},"rollup_search_search_all_jobs":{"type":"boolean","title":"plugins.rollup.search.all_jobs","description":"Whether OpenSearch should return all jobs that match all specified search terms. If disabled, OpenSearch returns just one, as opposed to all, of the jobs that matches the search terms. Defaults to false."}}},"index_template":{"type":"object","title":"Template settings for all new indexes","properties":{"mapping_nested_objects_limit":{"maximum":100000,"minimum":0,"type":["integer","null"],"title":"index.mapping.nested_objects.limit","description":"The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000."},"number_of_replicas":{"maximum":29,"minimum":0,"type":["integer","null"],"title":"index.number_of_replicas","description":"The number of replicas each primary shard has."},"number_of_shards":{"maximum":1024,"minimum":1,"type":["integer","null"],"title":"index.number_of_shards","description":"The number of primary shards that an index should have."}}},"indices_fielddata_cache_size":{"maximum":100,"minimum":3,"type":["integer","null"],"title":"indices.fielddata.cache.size","description":"Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase overhead of loading field data; too much memory used for field data cache will decrease amount of heap available for other operations."},"indices_memory_index_buffer_size":{"maximum":40,"minimum":3,"type":"integer","title":"indices.memory.index_buffer_size","description":"Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance."},"indices_memory_max_index_buffer_size":{"maximum":2048,"minimum":3,"type":"integer","title":"indices.memory.max_index_buffer_size","description":"Absolute value. Default is unbound. Doesn't work without indices.memory.index_buffer_size. Maximum amount of heap used for query cache, an absolute indices.memory.index_buffer_size maximum hard limit."},"indices_memory_min_index_buffer_size":{"maximum":2048,"minimum":3,"type":"integer","title":"indices.memory.min_index_buffer_size","description":"Absolute value. Default is 48mb. Doesn't work without indices.memory.index_buffer_size. Minimum amount of heap used for query cache, an absolute indices.memory.index_buffer_size minimal hard limit."},"indices_queries_cache_size":{"maximum":40,"minimum":3,"type":"integer","title":"indices.queries.cache.size","description":"Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other OpenSearch functionality."},"indices_query_bool_max_clause_count":{"maximum":4096,"minimum":64,"type":"integer","title":"indices.query.bool.max_clause_count","description":"Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value."},"indices_recovery_max_bytes_per_sec":{"maximum":400,"minimum":40,"type":"integer","title":"indices.recovery.max_bytes_per_sec","description":"Limits total inbound and outbound recovery traffic for each node. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). Defaults to 40mb"},"indices_recovery_max_concurrent_file_chunks":{"maximum":5,"minimum":2,"type":"integer","title":"indices.recovery.max_concurrent_file_chunks","description":"Number of file chunks sent in parallel for each recovery. Defaults to 2."},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"ism_enabled":{"example":true,"type":"boolean","title":"Specifies whether ISM is enabled or not"},"ism_history_enabled":{"example":true,"type":"boolean","title":"Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document."},"ism_history_max_age":{"example":24,"maximum":2147483647,"minimum":1,"type":"integer","title":"The maximum age before rolling over the audit history index in hours"},"ism_history_max_docs":{"example":2500000,"maximum":9223372036854776000,"minimum":1,"type":"integer","title":"The maximum number of documents before rolling over the audit history index."},"ism_history_rollover_check_period":{"example":8,"maximum":2147483647,"minimum":1,"type":"integer","title":"The time between rollover checks for the audit history index in hours."},"ism_history_rollover_retention_period":{"example":30,"maximum":2147483647,"minimum":1,"type":"integer","title":"How long audit history indices are kept in days."},"keep_index_refresh_interval":{"example":true,"type":"boolean","title":"Don't reset index.refresh_interval to the default value","description":"Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true."},"knn_memory_circuit_breaker_enabled":{"example":true,"type":"boolean","title":"knn.memory.circuit_breaker.enabled","description":"Enable or disable KNN memory circuit breaker. Defaults to true."},"knn_memory_circuit_breaker_limit":{"example":50,"maximum":100,"minimum":3,"type":"integer","title":"knn.memory.circuit_breaker.limit","description":"Maximum amount of memory that can be used for KNN index. Defaults to 50% of the JVM heap size."},"openid":{"type":"object","title":"OpenSearch OpenID Connect Configuration","properties":{"client_id":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"The ID of the OpenID Connect client","description":"The ID of the OpenID Connect client configured in your IdP. Required."},"client_secret":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"The client secret of the OpenID Connect","description":"The client secret of the OpenID Connect client configured in your IdP. Required."},"connect_url":{"maxLength":2048,"pattern":"^[^\\r\\n]*$","type":"string","title":"OpenID Connect metadata/configuration URL","description":"The URL of your IdP where the Security plugin can find the OpenID Connect metadata/configuration settings."},"enabled":{"type":"boolean","title":"Enable or disable OpenSearch OpenID Connect authentication","description":"Enables or disables OpenID Connect authentication for OpenSearch. When enabled, users can authenticate using OpenID Connect with an Identity Provider."},"header":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"HTTP header name of the JWT token","description":"HTTP header name of the JWT token. Optional. Default is Authorization."},"jwt_header":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"The HTTP header that stores the token","description":"The HTTP header that stores the token. Typically the Authorization header with the Bearer schema: Authorization: Bearer . Optional. Default is Authorization."},"jwt_url_parameter":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"URL JWT token.","description":"If the token is not transmitted in the HTTP header, but as an URL parameter, define the name of the parameter here. Optional."},"refresh_rate_limit_count":{"maximum":9223372036854776000,"minimum":10,"type":["integer","null"],"title":"The maximum number of unknown key IDs in the time frame","description":"The maximum number of unknown key IDs in the time frame. Default is 10. Optional."},"refresh_rate_limit_time_window_ms":{"maximum":9223372036854776000,"minimum":10000,"type":["integer","null"],"title":"The time frame to use when checking the maximum number of unknown key IDs, in milliseconds","description":"The time frame to use when checking the maximum number of unknown key IDs, in milliseconds. Optional.Default is 10000 (10 seconds)."},"roles_key":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"The key in the JSON payload that stores the user’s roles","description":"The key in the JSON payload that stores the user’s roles. The value of this key must be a comma-separated list of roles. Required only if you want to use roles in the JWT"},"scope":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"The scope of the identity token issued by the IdP","description":"The scope of the identity token issued by the IdP. Optional. Default is openid profile email address phone."},"subject_key":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"The key in the JSON payload that stores the user’s name","description":"The key in the JSON payload that stores the user’s name. If not defined, the subject registered claim is used. Most IdP providers use the preferred_username claim. Optional."}}},"opensearch_dashboards":{"type":"object","title":"OpenSearch Dashboards settings","properties":{"enabled":{"type":"boolean","title":"Enable or disable OpenSearch Dashboards"},"max_old_space_size":{"maximum":2048,"minimum":64,"type":"integer","title":"max_old_space_size","description":"Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch."},"opensearch_request_timeout":{"maximum":120000,"minimum":5000,"type":"integer","title":"Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch"}}},"override_main_response_version":{"example":true,"type":"boolean","title":"compatibility.override_main_response_version","description":"Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. Default is false"},"plugins_alerting_filter_by_backend_roles":{"example":false,"type":"boolean","title":"plugins.alerting.filter_by_backend_roles","description":"Enable or disable filtering of alerting by backend roles. Requires Security plugin. Defaults to false"},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"reindex_remote_whitelist":{"type":["array","null"],"title":"reindex_remote_whitelist","description":"Whitelisted addresses for reindexing. Changing this value will cause all OpenSearch instances to restart."},"s3_migration":{"type":"object","title":"","description":"AWS S3 / AWS S3 compatible migration settings","properties":{"access_key":{"pattern":"^[^\\r\\n]*$","type":"string","title":"AWS Access key","description":"AWS Access key"},"base_path":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The path to the repository data within its container","description":"The path to the repository data within its container. The value of this setting should not start or end with a /"},"bucket":{"pattern":"^[^\\r\\n]*$","type":"string","title":"S3 bucket name","description":"S3 bucket name"},"chunk_size":{"pattern":"^[^\\r\\n]*$","type":"string","title":"Chunk size","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository"},"compress":{"type":"boolean","title":"Metadata files are stored in compressed format","description":"when set to true metadata files are stored in compressed format"},"endpoint":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The S3 service endpoint to connect","description":"The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint"},"include_aliases":{"type":"boolean","title":"Include aliases","description":"Whether to restore aliases alongside their associated indexes. Default is true."},"indices":{"pattern":"^(\\*?[a-z0-9._-]*\\*?|-\\*?[a-z0-9._-]*\\*?)(,(\\*?[a-z0-9._-]*\\*?|-\\*?[a-z0-9._-]*\\*?))*[,]?$","type":"string","title":"Indices to restore","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported."},"region":{"pattern":"^[^\\r\\n]*$","type":"string","title":"S3 region","description":"S3 region"},"restore_global_state":{"type":"boolean","title":"Restore the cluster state or not","description":"If true, restore the cluster state. Defaults to false"},"secret_key":{"pattern":"^[^\\r\\n]*$","type":"string","title":"AWS secret key","description":"AWS secret key"},"server_side_encryption":{"type":"boolean","title":"Server side encryption","description":"When set to true files are encrypted on server side"},"snapshot_name":{"pattern":"^[^\\r\\n]*$","type":"string","title":"The snapshot name to restore from","description":"The snapshot name to restore from"}}},"saml":{"type":"object","title":"OpenSearch SAML configuration","properties":{"enabled":{"type":"boolean","title":"Enable or disable OpenSearch SAML authentication","description":"Enables or disables SAML-based authentication for OpenSearch. When enabled, users can authenticate using SAML with an Identity Provider."},"idp_entity_id":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"Identity Provider Entity ID","description":"The unique identifier for the Identity Provider (IdP) entity that is used for SAML authentication. This value is typically provided by the IdP."},"idp_metadata_url":{"maxLength":2048,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"Identity Provider (IdP) SAML metadata URL","description":"The URL of the SAML metadata for the Identity Provider (IdP). This is used to configure SAML-based authentication with the IdP."},"idp_pemtrustedcas_content":{"maxLength":16384,"type":["string","null"],"title":"PEM-encoded root CA Content for SAML IdP server verification","description":"This parameter specifies the PEM-encoded root certificate authority (CA) content for the SAML identity provider (IdP) server verification. The root CA content is used to verify the SSL/TLS certificate presented by the server."},"roles_key":{"maxLength":256,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"SAML response role attribute","description":"Optional. Specifies the attribute in the SAML response where role information is stored, if available. Role attributes are not required for SAML authentication, but can be included in SAML assertions by most Identity Providers (IdPs) to determine user access levels or permissions."},"sp_entity_id":{"maxLength":1024,"minLength":1,"pattern":"^[^\\r\\n]*$","type":"string","title":"Service Provider Entity ID","description":"The unique identifier for the Service Provider (SP) entity that is used for SAML authentication. This value is typically provided by the SP."},"subject_key":{"maxLength":256,"minLength":1,"pattern":"^[^\\r\\n]*$","type":["string","null"],"title":"SAML response subject attribute","description":"Optional. Specifies the attribute in the SAML response where the subject identifier is stored. If not configured, the NameID attribute is used by default."}}},"script_max_compilations_rate":{"example":"75/5m","maxLength":1024,"pattern":"^[^\\r\\n]*$","type":"string","title":"Script max compilation rate - circuit breaker to prevent/minimize OOMs","description":"Script compilation circuit breaker limits the number of inline script compilations within a period of time. Default is use-context"},"search_backpressure":{"type":"object","title":"Search Backpressure Settings","properties":{"mode":{"type":"string","title":"The search backpressure mode","description":"The search backpressure mode. Valid values are monitor_only, enforced, or disabled. Default is monitor_only","enum":["monitor_only","enforced","disabled"]},"node_duress":{"type":"object","title":"Node duress settings","properties":{"cpu_threshold":{"maximum":1,"minimum":0,"type":"number","title":"The CPU usage threshold (as a percentage) required for a node to be considered to be under duress","description":"The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.9"},"heap_threshold":{"maximum":1,"minimum":0,"type":"number","title":"The heap usage threshold (as a percentage) required for a node to be considered to be under duress","description":"The heap usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.7"},"num_successive_breaches":{"minimum":1,"type":"integer","title":"The number of successive limit breaches after which the node is considered to be under duress","description":"The number of successive limit breaches after which the node is considered to be under duress. Default is 3"}}},"search_shard_task":{"type":"object","title":"Search shard settings","properties":{"cancellation_burst":{"minimum":1,"type":"number","title":"The maximum number of search tasks to cancel in a single iteration of the observer thread","description":"The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 10.0"},"cancellation_rate":{"minimum":0,"type":"number","title":"The maximum number of tasks to cancel per millisecond of elapsed time.","description":"The maximum number of tasks to cancel per millisecond of elapsed time. Default is 0.003"},"cancellation_ratio":{"maximum":1,"minimum":0,"type":"number","title":"The maximum number of tasks to cancel","description":"The maximum number of tasks to cancel, as a percentage of successful task completions. Default is 0.1"},"cpu_time_millis_threshold":{"minimum":0,"type":"integer","title":"The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation","description":"The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 15000"},"elapsed_time_millis_threshold":{"minimum":0,"type":"integer","title":"The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation","description":"The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 30000"},"heap_moving_average_window_size":{"minimum":0,"type":"integer","title":"The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage","description":"The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. Default is 100"},"heap_percent_threshold":{"maximum":1,"minimum":0,"type":"number","title":"The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation","description":"The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. Default is 0.5"},"heap_variance":{"minimum":0,"type":"number","title":"The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation","description":"The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. Default is 2.0"},"total_heap_percent_threshold":{"maximum":1,"minimum":0,"type":"number","title":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied","description":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. Default is 0.5"}}},"search_task":{"type":"object","title":"Search task settings","properties":{"cancellation_burst":{"minimum":1,"type":"number","title":"The maximum number of search tasks to cancel in a single iteration of the observer thread","description":"The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 5.0"},"cancellation_rate":{"minimum":0,"type":"number","title":"The maximum number of search tasks to cancel per millisecond of elapsed time","description":"The maximum number of search tasks to cancel per millisecond of elapsed time. Default is 0.003"},"cancellation_ratio":{"maximum":1,"minimum":0,"type":"number","title":"The maximum number of search tasks to cancel, as a percentage of successful search task completions","description":"The maximum number of search tasks to cancel, as a percentage of successful search task completions. Default is 0.1"},"cpu_time_millis_threshold":{"minimum":0,"type":"integer","title":"The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation","description":"The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 30000"},"elapsed_time_millis_threshold":{"minimum":0,"type":"integer","title":"The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation","description":"The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 45000"},"heap_moving_average_window_size":{"minimum":0,"type":"integer","title":"The window size used to calculate the rolling average of the heap usage for the completed parent tasks","description":"The window size used to calculate the rolling average of the heap usage for the completed parent tasks. Default is 10"},"heap_percent_threshold":{"maximum":1,"minimum":0,"type":"number","title":"The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation","description":"The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. Default is 0.2"},"heap_variance":{"minimum":0,"type":"number","title":"The heap usage variance required for an individual parent task before it is considered for cancellation","description":"The heap usage variance required for an individual parent task before it is considered for cancellation. A task is considered for cancellation when taskHeapUsage is greater than or equal to heapUsageMovingAverage * variance. Default is 2.0"},"total_heap_percent_threshold":{"maximum":1,"minimum":0,"type":"number","title":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied","description":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. Default is 0.5"}}}}},"search_max_buckets":{"example":10000,"maximum":1000000,"minimum":1,"type":["integer","null"],"title":"search.max_buckets","description":"Maximum number of aggregation buckets allowed in a single response. OpenSearch default value is used when this is not defined."},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."},"shard_indexing_pressure":{"type":"object","title":"Shard indexing back pressure settings","properties":{"enabled":{"type":"boolean","title":"Enable or disable shard indexing backpressure","description":"Enable or disable shard indexing backpressure. Default is false"},"enforced":{"type":"boolean","title":"Run shard indexing backpressure in shadow mode or enforced mode","description":"Run shard indexing backpressure in shadow mode or enforced mode.\n In shadow mode (value set as false), shard indexing backpressure tracks all granular-level metrics,\n but it doesn’t actually reject any indexing requests.\n In enforced mode (value set as true),\n shard indexing backpressure rejects any requests to the cluster that might cause a dip in its performance.\n Default is false"},"operating_factor":{"type":"object","title":"Operating factor","properties":{"lower":{"minimum":0,"type":"number","title":"Lower occupancy limit of the allocated quota of memory for the shard","description":"Specify the lower occupancy limit of the allocated quota of memory for the shard.\n If the total memory usage of a shard is below this limit,\n shard indexing backpressure decreases the current allocated memory for that shard.\n Default is 0.75"},"optimal":{"minimum":0,"type":"number","title":"Optimal occupancy of the allocated quota of memory for the shard","description":"Specify the optimal occupancy of the allocated quota of memory for the shard.\n If the total memory usage of a shard is at this level,\n shard indexing backpressure doesn’t change the current allocated memory for that shard.\n Default is 0.85"},"upper":{"minimum":0,"type":"number","title":"Upper occupancy limit of the allocated quota of memory for the shard","description":"Specify the upper occupancy limit of the allocated quota of memory for the shard.\n If the total memory usage of a shard is above this limit,\n shard indexing backpressure increases the current allocated memory for that shard.\n Default is 0.95"}}},"primary_parameter":{"type":"object","title":"Primary parameter","properties":{"node":{"type":"object","title":"","properties":{"soft_limit":{"minimum":0,"type":"number","title":"Node soft limit","description":"Define the percentage of the node-level memory\n threshold that acts as a soft indicator for strain on a node.\n Default is 0.7"}}},"shard":{"type":"object","title":"","properties":{"min_limit":{"minimum":0,"type":"number","title":"Shard min limit","description":"Specify the minimum assigned quota for a new shard in any role (coordinator, primary, or replica).\n Shard indexing backpressure increases or decreases this allocated quota based on the inflow of traffic for the shard.\n Default is 0.001"}}}}}}},"thread_pool_analyze_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"analyze thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_analyze_size":{"maximum":128,"minimum":1,"type":"integer","title":"analyze thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_force_merge_size":{"maximum":128,"minimum":1,"type":"integer","title":"force_merge thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_get_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"get thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_get_size":{"maximum":128,"minimum":1,"type":"integer","title":"get thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_search_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"search thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_search_size":{"maximum":128,"minimum":1,"type":"integer","title":"search thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_search_throttled_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"search_throttled thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_search_throttled_size":{"maximum":128,"minimum":1,"type":"integer","title":"search_throttled thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"thread_pool_write_queue_size":{"maximum":2000,"minimum":10,"type":"integer","title":"write thread pool queue size","description":"Size for the thread pool queue. See documentation for exact details."},"thread_pool_write_size":{"maximum":128,"minimum":1,"type":"integer","title":"write thread pool size","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value."},"version":{"type":["string","null"],"title":"OpenSearch major version","enum":["1","2"]}}},"pg":{"properties":{"admin_password":{"createOnly":true,"example":"z66o9QXqKM","maxLength":256,"minLength":8,"pattern":"^[a-zA-Z0-9-_]+$","type":["string","null"],"title":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, underscores or dashes"},"admin_username":{"createOnly":true,"example":"avnadmin","maxLength":64,"pattern":"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$","type":["string","null"],"title":"Custom username for admin user. This must be set only when a new service is being created.","user_error":"Must consist of alpha-numeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"},"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"autovacuum_analyze_scale_factor":{"maximum":1,"minimum":0,"type":"number","title":"autovacuum_analyze_scale_factor","description":"Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size)"},"autovacuum_analyze_threshold":{"maximum":2147483647,"minimum":0,"type":"integer","title":"autovacuum_analyze_threshold","description":"Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples."},"autovacuum_freeze_max_age":{"example":200000000,"maximum":1500000000,"minimum":200000000,"type":"integer","title":"autovacuum_freeze_max_age","description":"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted."},"autovacuum_max_workers":{"maximum":20,"minimum":1,"type":"integer","title":"autovacuum_max_workers","description":"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start."},"autovacuum_naptime":{"maximum":86400,"minimum":1,"type":"integer","title":"autovacuum_naptime","description":"Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds, and the default is one minute"},"autovacuum_vacuum_cost_delay":{"maximum":100,"minimum":-1,"type":"integer","title":"autovacuum_vacuum_cost_delay","description":"Specifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. The default value is 20 milliseconds"},"autovacuum_vacuum_cost_limit":{"maximum":10000,"minimum":-1,"type":"integer","title":"autovacuum_vacuum_cost_limit","description":"Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used."},"autovacuum_vacuum_scale_factor":{"maximum":1,"minimum":0,"type":"number","title":"autovacuum_vacuum_scale_factor","description":"Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size)"},"autovacuum_vacuum_threshold":{"maximum":2147483647,"minimum":0,"type":"integer","title":"autovacuum_vacuum_threshold","description":"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples"},"backup_hour":{"example":3,"maximum":23,"minimum":0,"type":["integer","null"],"title":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed."},"backup_minute":{"example":30,"maximum":59,"minimum":0,"type":["integer","null"],"title":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed."},"bgwriter_delay":{"example":200,"maximum":10000,"minimum":10,"type":"integer","title":"bgwriter_delay","description":"Specifies the delay between activity rounds for the background writer in milliseconds. Default is 200."},"bgwriter_flush_after":{"example":512,"maximum":2048,"minimum":0,"type":"integer","title":"bgwriter_flush_after","description":"Whenever more than bgwriter_flush_after bytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback."},"bgwriter_lru_maxpages":{"example":100,"maximum":1073741823,"minimum":0,"type":"integer","title":"bgwriter_lru_maxpages","description":"In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. Default is 100."},"bgwriter_lru_multiplier":{"example":2,"maximum":10,"minimum":0,"type":"number","title":"bgwriter_lru_multiplier","description":"The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0."},"deadlock_timeout":{"example":1000,"maximum":1800000,"minimum":500,"type":"integer","title":"deadlock_timeout","description":"This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition."},"default_toast_compression":{"example":"lz4","type":"string","title":"default_toast_compression","description":"Specifies the default TOAST compression method for values of compressible columns (the default is lz4).","enum":["lz4","pglz"]},"idle_in_transaction_session_timeout":{"maximum":604800000,"minimum":0,"type":"integer","title":"idle_in_transaction_session_timeout","description":"Time out sessions with open transactions after this number of milliseconds"},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"jit":{"example":true,"type":"boolean","title":"jit","description":"Controls system-wide use of Just-in-Time Compilation (JIT)."},"log_autovacuum_min_duration":{"maximum":2147483647,"minimum":-1,"type":"integer","title":"log_autovacuum_min_duration","description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions."},"log_error_verbosity":{"type":"string","title":"log_error_verbosity","description":"Controls the amount of detail written in the server log for each message that is logged.","enum":["TERSE","DEFAULT","VERBOSE"]},"log_line_prefix":{"type":"string","title":"log_line_prefix","description":"Choose from one of the available log formats.","enum":["'pid=%p,user=%u,db=%d,app=%a,client=%h '","'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q '","'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '","'%m [%p] %q[user=%u,db=%d,app=%a] '"]},"log_min_duration_statement":{"maximum":86400000,"minimum":-1,"type":"integer","title":"log_min_duration_statement","description":"Log statements that take more than this number of milliseconds to run, -1 disables"},"log_temp_files":{"maximum":2147483647,"minimum":-1,"type":"integer","title":"log_temp_files","description":"Log statements for each temporary file created larger than this number of kilobytes, -1 disables"},"max_files_per_process":{"maximum":4096,"minimum":1000,"type":"integer","title":"max_files_per_process","description":"PostgreSQL maximum number of files that can be open per process"},"max_locks_per_transaction":{"maximum":6400,"minimum":64,"type":"integer","title":"max_locks_per_transaction","description":"PostgreSQL maximum locks per transaction"},"max_logical_replication_workers":{"maximum":64,"minimum":4,"type":"integer","title":"max_logical_replication_workers","description":"PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers)"},"max_parallel_workers":{"maximum":96,"minimum":0,"type":"integer","title":"max_parallel_workers","description":"Sets the maximum number of workers that the system can support for parallel queries"},"max_parallel_workers_per_gather":{"maximum":96,"minimum":0,"type":"integer","title":"max_parallel_workers_per_gather","description":"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node"},"max_pred_locks_per_transaction":{"maximum":5120,"minimum":64,"type":"integer","title":"max_pred_locks_per_transaction","description":"PostgreSQL maximum predicate locks per transaction"},"max_prepared_transactions":{"maximum":10000,"minimum":0,"type":"integer","title":"max_prepared_transactions","description":"PostgreSQL maximum prepared transactions"},"max_replication_slots":{"maximum":64,"minimum":8,"type":"integer","title":"max_replication_slots","description":"PostgreSQL maximum replication slots"},"max_slot_wal_keep_size":{"maximum":2147483647,"minimum":-1,"type":"integer","title":"max_slot_wal_keep_size","description":"PostgreSQL maximum WAL size (MB) reserved for replication slots. Default is -1 (unlimited). wal_keep_size minimum WAL size setting takes precedence over this."},"max_stack_depth":{"maximum":6291456,"minimum":2097152,"type":"integer","title":"max_stack_depth","description":"Maximum depth of the stack in bytes"},"max_standby_archive_delay":{"maximum":43200000,"minimum":1,"type":"integer","title":"max_standby_archive_delay","description":"Max standby archive delay in milliseconds"},"max_standby_streaming_delay":{"maximum":43200000,"minimum":1,"type":"integer","title":"max_standby_streaming_delay","description":"Max standby streaming delay in milliseconds"},"max_wal_senders":{"maximum":64,"minimum":20,"type":"integer","title":"max_wal_senders","description":"PostgreSQL maximum WAL senders"},"max_worker_processes":{"maximum":96,"minimum":8,"type":"integer","title":"max_worker_processes","description":"Sets the maximum number of background processes that the system can support"},"migration":{"type":["object","null"],"title":"Migrate data from existing server","properties":{"dbname":{"maxLength":63,"type":"string","title":"Database name for bootstrapping the initial connection"},"host":{"maxLength":255,"type":"string","title":"Hostname or IP address of the server where to migrate data from"},"ignore_dbs":{"maxLength":2048,"type":"string","title":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"},"ignore_roles":{"maxLength":2048,"type":"string","title":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"},"method":{"type":"string","title":"The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)","enum":["dump","replication"]},"password":{"maxLength":256,"type":"string","title":"Password for authentication with the server where to migrate data from"},"port":{"maximum":65535,"minimum":1,"type":"integer","title":"Port number of the server where to migrate data from"},"ssl":{"type":"boolean","title":"The server where to migrate data from is secured with SSL"},"username":{"maxLength":256,"type":"string","title":"User name for authentication with the server where to migrate data from"}}},"pg_partman_bgw_interval":{"example":3600,"maximum":604800,"minimum":3600,"type":"integer","title":"pg_partman_bgw.interval","description":"Sets the time interval to run pg_partman's scheduled tasks"},"pg_partman_bgw_role":{"example":"myrolename","maxLength":64,"pattern":"^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$","type":"string","title":"pg_partman_bgw.role","description":"Controls which role to use for pg_partman's scheduled background tasks.","user_error":"Must consist of alpha-numeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"},"pg_stat_monitor_enable":{"default":false,"type":"boolean","title":"Enable pg_stat_monitor extension if available for the current cluster","description":"Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted.When this extension is enabled, pg_stat_statements results for utility commands are unreliable"},"pg_stat_monitor_pgsm_enable_query_plan":{"example":false,"type":"boolean","title":"pg_stat_monitor.pgsm_enable_query_plan","description":"Enables or disables query plan monitoring"},"pg_stat_monitor_pgsm_max_buckets":{"example":10,"maximum":10,"minimum":1,"type":"integer","title":"pg_stat_monitor.pgsm_max_buckets","description":"Sets the maximum number of buckets "},"pg_stat_statements_track":{"type":["string"],"title":"pg_stat_statements.track","description":"Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default value is top.","enum":["all","top","none"]},"pgbouncer":{"type":"object","title":"PGBouncer connection pooling settings","description":"System-wide settings for pgbouncer.","properties":{"autodb_idle_timeout":{"maximum":86400,"minimum":0,"type":"integer","title":"If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. [seconds]"},"autodb_max_db_connections":{"maximum":2147483647,"minimum":0,"type":"integer","title":"Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited."},"autodb_pool_mode":{"type":"string","title":"PGBouncer pool mode","enum":["transaction","session","statement"]},"autodb_pool_size":{"maximum":10000,"minimum":0,"type":"integer","title":"If non-zero then create automatically a pool of that size per user when a pool doesn't exist."},"ignore_startup_parameters":{"type":"array","title":"List of parameters to ignore when given in startup packet"},"max_prepared_statements":{"maximum":3000,"minimum":0,"type":"integer","title":"PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when max_prepared_statements is set to a non-zero value. Setting it to 0 disables prepared statements. max_prepared_statements defaults to 100, and its maximum is 3000."},"min_pool_size":{"maximum":10000,"minimum":0,"type":"integer","title":"Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size."},"server_idle_timeout":{"maximum":86400,"minimum":0,"type":"integer","title":"If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. [seconds]"},"server_lifetime":{"maximum":86400,"minimum":60,"type":"integer","title":"The pooler will close an unused server connection that has been connected longer than this. [seconds]"},"server_reset_query_always":{"type":"boolean","title":"Run server_reset_query (DISCARD ALL) in all pooling modes"}}},"pglookout":{"default":{"max_failover_replication_time_lag":60},"type":"object","title":"PGLookout settings","description":"System-wide settings for pglookout.","properties":{"max_failover_replication_time_lag":{"maximum":9223372036854776000,"minimum":10,"type":"integer","title":"max_failover_replication_time_lag","description":"Number of seconds of master unavailability before triggering database failover to standby"}}},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."},"shared_buffers_percentage":{"example":41.5,"maximum":60,"minimum":20,"type":"number","title":"shared_buffers_percentage","description":"Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value."},"synchronous_replication":{"example":"off","type":"string","title":"Synchronous replication type. Note that the service plan also needs to support synchronous replication.","enum":["quorum","off"]},"temp_file_limit":{"example":5000000,"maximum":2147483647,"minimum":-1,"type":"integer","title":"temp_file_limit","description":"PostgreSQL temporary file limit in KiB, -1 for unlimited"},"timescaledb":{"type":"object","title":"TimescaleDB extension configuration values","description":"System-wide settings for the timescaledb extension","properties":{"max_background_workers":{"maximum":4096,"minimum":1,"type":"integer","title":"timescaledb.max_background_workers","description":"The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time."}}},"timezone":{"example":"Europe/Helsinki","maxLength":64,"pattern":"^[\\w/]*$","type":"string","title":"timezone","description":"PostgreSQL service timezone"},"track_activity_query_size":{"example":1024,"maximum":10240,"minimum":1024,"type":"integer","title":"track_activity_query_size","description":"Specifies the number of bytes reserved to track the currently executing command for each active session."},"track_commit_timestamp":{"example":"off","type":"string","title":"track_commit_timestamp","description":"Record commit time of transactions.","enum":["off","on"]},"track_functions":{"type":"string","title":"track_functions","description":"Enables tracking of function call counts and time used.","enum":["all","pl","none"]},"track_io_timing":{"example":"off","type":"string","title":"track_io_timing","description":"Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.","enum":["off","on"]},"variant":{"example":"aiven","type":["string","null"],"title":"Variant of the PostgreSQL service, may affect the features that are exposed by default","enum":["aiven","timescale"]},"version":{"type":["string","null"],"title":"PostgreSQL major version","enum":["12","13","14","15","16"]},"wal_sender_timeout":{"example":60000,"type":"integer","title":"wal_sender_timeout","description":"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout.","user_error":"Must be either 0 or between 5000 and 10800000."},"wal_writer_delay":{"example":50,"maximum":200,"minimum":10,"type":"integer","title":"wal_writer_delay","description":"WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance"},"work_mem":{"example":4,"maximum":1024,"minimum":1,"type":"integer","title":"work_mem","description":"Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB)."}}},"redis":{"properties":{"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"backup_hour":{"example":3,"maximum":23,"minimum":0,"type":["integer","null"],"title":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed."},"backup_minute":{"example":30,"maximum":59,"minimum":0,"type":["integer","null"],"title":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed."},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"migration":{"type":["object","null"],"title":"Migrate data from existing server","properties":{"dbname":{"maxLength":63,"type":"string","title":"Database name for bootstrapping the initial connection"},"host":{"maxLength":255,"type":"string","title":"Hostname or IP address of the server where to migrate data from"},"ignore_dbs":{"maxLength":2048,"type":"string","title":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"},"ignore_roles":{"maxLength":2048,"type":"string","title":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"},"method":{"type":"string","title":"The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)","enum":["dump","replication"]},"password":{"maxLength":256,"type":"string","title":"Password for authentication with the server where to migrate data from"},"port":{"maximum":65535,"minimum":1,"type":"integer","title":"Port number of the server where to migrate data from"},"ssl":{"type":"boolean","title":"The server where to migrate data from is secured with SSL"},"username":{"maxLength":256,"type":"string","title":"User name for authentication with the server where to migrate data from"}}},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"redis_acl_channels_default":{"type":"string","title":"Default ACL for pub/sub channels used when Redis user is created","description":"Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.","enum":["allchannels","resetchannels"]},"redis_io_threads":{"example":1,"maximum":32,"minimum":1,"type":"integer","title":"Redis IO thread count","description":"Set Redis IO thread count. Changing this will cause a restart of the Redis service."},"redis_lfu_decay_time":{"default":1,"maximum":120,"minimum":1,"type":"integer","title":"LFU maxmemory-policy counter decay time in minutes"},"redis_lfu_log_factor":{"default":10,"maximum":100,"minimum":0,"type":"integer","title":"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies"},"redis_maxmemory_policy":{"default":"noeviction","type":["string","null"],"title":"Redis maxmemory-policy","enum":["noeviction","allkeys-lru","volatile-lru","allkeys-random","volatile-random","volatile-ttl","volatile-lfu","allkeys-lfu"]},"redis_notify_keyspace_events":{"default":"","maxLength":32,"pattern":"^[KEg\\$lshzxentdmA]*$","type":"string","title":"Set notify-keyspace-events option"},"redis_number_of_databases":{"example":16,"maximum":128,"minimum":1,"type":"integer","title":"Number of Redis databases","description":"Set number of Redis databases. Changing this will cause a restart of the Redis service."},"redis_persistence":{"type":"string","title":"Redis persistence","description":"When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to the backup schedule for backup purposes. When persistence is 'off', no RDB dumps or backups are done, so data can be lost at any moment if the service is restarted for any reason, or if the service is powered off. Also, the service can't be forked.","enum":["off","rdb"]},"redis_pubsub_client_output_buffer_limit":{"example":64,"maximum":512,"minimum":32,"type":"integer","title":"Pub/sub client output buffer hard limit in MB","description":"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan."},"redis_ssl":{"default":true,"type":"boolean","title":"Require SSL to access Redis"},"redis_timeout":{"default":300,"maximum":2073600,"minimum":0,"type":"integer","title":"Redis idle connection timeout in seconds"},"redis_version":{"type":["string","null"],"title":"Redis major version","enum":["7.0"]},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."}}},"valkey":{"properties":{"automatic_utility_network_ip_filter":{"default":true,"type":"boolean","title":"Automatic utility network IP Filter","description":"Automatically allow connections from servers in the utility network within the same zone"},"backup_hour":{"example":3,"maximum":23,"minimum":0,"type":["integer","null"],"title":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed."},"backup_minute":{"example":30,"maximum":59,"minimum":0,"type":["integer","null"],"title":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed."},"ip_filter":{"default":[],"type":"array","title":"IP filter","description":"Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'"},"migration":{"type":["object","null"],"title":"Migrate data from existing server","properties":{"dbname":{"maxLength":63,"type":"string","title":"Database name for bootstrapping the initial connection"},"host":{"maxLength":255,"type":"string","title":"Hostname or IP address of the server where to migrate data from"},"ignore_dbs":{"maxLength":2048,"type":"string","title":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)"},"ignore_roles":{"maxLength":2048,"type":"string","title":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)"},"method":{"type":"string","title":"The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)","enum":["dump","replication"]},"password":{"maxLength":256,"type":"string","title":"Password for authentication with the server where to migrate data from"},"port":{"maximum":65535,"minimum":1,"type":"integer","title":"Port number of the server where to migrate data from"},"ssl":{"type":"boolean","title":"The server where to migrate data from is secured with SSL"},"username":{"maxLength":256,"type":"string","title":"User name for authentication with the server where to migrate data from"}}},"public_access":{"default":false,"type":"boolean","title":"Public Access","description":"Allow access to the service from the public Internet"},"service_log":{"example":true,"type":["boolean","null"],"title":"Service logging","description":"Store logs for the service so that they are available in the HTTP API and console."},"valkey_acl_channels_default":{"type":"string","title":"Default ACL for pub/sub channels used when a Valkey user is created","description":"Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default.","enum":["allchannels","resetchannels"]},"valkey_io_threads":{"example":1,"maximum":32,"minimum":1,"type":"integer","title":"Valkey IO thread count","description":"Set Valkey IO thread count. Changing this will cause a restart of the Valkey service."},"valkey_lfu_decay_time":{"default":1,"maximum":120,"minimum":1,"type":"integer","title":"LFU maxmemory-policy counter decay time in minutes"},"valkey_lfu_log_factor":{"default":10,"maximum":100,"minimum":0,"type":"integer","title":"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies"},"valkey_maxmemory_policy":{"default":"noeviction","type":["string","null"],"title":"Valkey maxmemory-policy","enum":["noeviction","allkeys-lru","volatile-lru","allkeys-random","volatile-random","volatile-ttl","volatile-lfu","allkeys-lfu"]},"valkey_notify_keyspace_events":{"default":"","maxLength":32,"pattern":"^[KEg\\$lshzxentdmA]*$","type":"string","title":"Set notify-keyspace-events option"},"valkey_number_of_databases":{"example":16,"maximum":128,"minimum":1,"type":"integer","title":"Number of Valkey databases","description":"Set number of Valkey databases. Changing this will cause a restart of the Valkey service."},"valkey_persistence":{"type":"string","title":"Valkey persistence","description":"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.","enum":["off","rdb"]},"valkey_pubsub_client_output_buffer_limit":{"example":64,"maximum":512,"minimum":32,"type":"integer","title":"Pub/sub client output buffer hard limit in MB","description":"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan."},"valkey_ssl":{"default":true,"type":"boolean","title":"Require SSL to access Valkey"},"valkey_timeout":{"default":300,"maximum":2073600,"minimum":0,"type":"integer","title":"Valkey idle connection timeout in seconds"}}}}