# DBaaS Opensearch


<style>
  span[class^="pill-"] {
    color: white;
    padding: 2px 12px;
    border-radius: 12px;
    font-size: 0.6em;
    vertical-align: middle;
    margin-right: 12px;
    font-family: sans-serif;
    font-weight: bold;
    display: inline-block;
    line-height: 1;
  }
  span.pill-GET { background-color: #61affe; }
  span.pill-POST { background-color: #49cc90; }
  span.pill-PUT { background-color: #fca130; }
  span.pill-DELETE { background-color: #f93e3e; }
  span.pill-PATCH { background-color: #50e3c2; }
  span[class^="pill-"]:after {
    content: attr(data-label);
    font-size: 0.9rem;
  }
</style>

Opensearch, the popular open-source search and analytics database.

[Read more](https://community.exoscale.com/product/dbaas/service-specific/opensearch/)

## <span data-label="PUT" class="pill-PUT"></span>update-dbaas-opensearch-acl-config

Create a DBaaS OpenSearch ACL configuration

```
PUT /dbaas-opensearch/{name}/acl-config
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `acl-enabled` | boolean | no | Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access. |
| `acls` | array of [Acls](/reference/api/_schemas/dbaas-opensearch-acl-config/#acls) | no | List of OpenSearch ACLs |
| `extended-acl-enabled` | boolean | no | Enable to enforce index rules in a limited fashion for requests that use the _mget, _msearch, and _bulk APIs |

<details>
<summary>Example</summary>

```json
{
  "acl-enabled": true,
  "acls": [
    {
      "rules": [
        {
          "index": "string",
          "permission": "admin"
        }
      ],
      "username": "string"
    }
  ],
  "extended-acl-enabled": true
}
```
</details>


### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `update-dbaas-opensearch-acl-config`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.UpdateDBAASOpensearchAclConfig) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.update_dbaas_opensearch_acl_config) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#updateDbaasOpensearchAclConfig(java.lang.String,com.exoscale.sdk.model.UpdateDbaasOpensearchAclConfigRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api update-dbaas-opensearch-acl-config`

## <span data-label="GET" class="pill-GET"></span>get-dbaas-opensearch-acl-config

Get DBaaS OpenSearch ACL configuration

```
GET /dbaas-opensearch/{name}/acl-config
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `acl-enabled` | boolean | Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access. |
| `acls` | array of [Acls](/reference/api/_schemas/dbaas-opensearch-acl-config/#acls) | List of OpenSearch ACLs |
| `extended-acl-enabled` | boolean | Enable to enforce index rules in a limited fashion for requests that use the _mget, _msearch, and _bulk APIs |

<details>
<summary>Example output</summary>

```json
{
  "acl-enabled": true,
  "acls": [
    {
      "rules": [
        {
          "index": "string",
          "permission": "admin"
        }
      ],
      "username": "string"
    }
  ],
  "extended-acl-enabled": true
}
```
</details>


SDK reference for `get-dbaas-opensearch-acl-config`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetDBAASOpensearchAclConfig) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_dbaas_opensearch_acl_config) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getDbaasOpensearchAclConfig(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api get-dbaas-opensearch-acl-config`

## <span data-label="POST" class="pill-POST"></span>create-dbaas-opensearch-user

Create a DBaaS OpenSearch user

```
POST /dbaas-opensearch/{service-name}/user
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `service-name` | `path` | Min length: `0`. Max length: `63`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `username` | string | **yes** | Username<br/><br/>Min length: `1`. Max length: `64`. |

<details>
<summary>Example</summary>

```json
{
  "username": "string"
}
```
</details>


### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `create-dbaas-opensearch-user`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.CreateDBAASOpensearchUser) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.create_dbaas_opensearch_user) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#createDbaasOpensearchUser(java.lang.String,com.exoscale.sdk.model.CreateDbaasOpensearchUserRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api create-dbaas-opensearch-user`

## <span data-label="DELETE" class="pill-DELETE"></span>delete-dbaas-opensearch-user

Delete a DBaaS OpenSearch user

```
DELETE /dbaas-opensearch/{service-name}/user/{username}
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `service-name` | `path` | Min length: `0`. Max length: `63`. |
| `username` | `path` | Min length: `1`. Max length: `64`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `delete-dbaas-opensearch-user`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.DeleteDBAASOpensearchUser) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.delete_dbaas_opensearch_user) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#deleteDbaasOpensearchUser(java.lang.String,java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api delete-dbaas-opensearch-user`

## <span data-label="GET" class="pill-GET"></span>reveal-dbaas-opensearch-user-password

Reveal the secrets of a DBaaS OpenSearch user

```
GET /dbaas-opensearch/{service-name}/user/{username}/password/reveal
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `service-name` | `path` | Min length: `0`. Max length: `63`. |
| `username` | `path` | Min length: `1`. Max length: `64`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `password` | string | Opensearch password |
| `username` | string | Opensearch username |

<details>
<summary>Example output</summary>

```json
{
  "password": "string",
  "username": "string"
}
```
</details>


SDK reference for `reveal-dbaas-opensearch-user-password`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.RevealDBAASOpensearchUserPassword) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.reveal_dbaas_opensearch_user_password) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#revealDbaasOpensearchUserPassword(java.lang.String,java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api reveal-dbaas-opensearch-user-password`

## <span data-label="PUT" class="pill-PUT"></span>reset-dbaas-opensearch-user-password

Reset the credentials of a DBaaS OpenSearch user

```
PUT /dbaas-opensearch/{service-name}/user/{username}/password/reset
```

If no password is provided one will be generated automatically.

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `service-name` | `path` | Min length: `0`. Max length: `63`. |
| `username` | `path` | Min length: `1`. Max length: `64`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `password` | string | no | New password<br/><br/>Min length: `8`. Max length: `256`. |

<details>
<summary>Example</summary>

```json
{
  "password": "string"
}
```
</details>


### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `reset-dbaas-opensearch-user-password`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.ResetDBAASOpensearchUserPassword) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.reset_dbaas_opensearch_user_password) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#resetDbaasOpensearchUserPassword(java.lang.String,java.lang.String,com.exoscale.sdk.model.ResetDbaasOpensearchUserPasswordRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api reset-dbaas-opensearch-user-password`

## <span data-label="POST" class="pill-POST"></span>create-dbaas-service-opensearch

Create a DBaaS OpenSearch service

```
POST /dbaas-opensearch/{name}
```

Create a DBaaS OpenSearch service

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `plan` | string | **yes** | Subscription plan<br/><br/>Min length: `1`. Max length: `128`. |
| `fork-from-service` | string | no | Service to fork from<br/><br/>Min length: `0`. Max length: `63`. |
| `index-patterns` | array of [Index Patterns](#index-patterns) | no | Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored. |
| `index-template` | [Index Template](#index-template) | no | Template settings for all new indexes |
| `ip-filter` | array[string] | no | Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16' |
| `keep-index-refresh-interval` | boolean | no | 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. |
| `maintenance` | [Maintenance](#maintenance) | no | Automatic maintenance settings |
| `max-index-count` | integer | no | Maximum number of indexes to keep before deleting the oldest one<br/><br/>Min: `0`. |
| `opensearch-dashboards` | [Opensearch Dashboards](#opensearch-dashboards) | no | OpenSearch Dashboards settings |
| `opensearch-settings` | [OpenSearch settings](/reference/api/_schemas/json-schema-opensearch/) | no | OpenSearch-specific settings |
| `recovery-backup-name` | string | no | Name of a backup to recover from for services that support backup names<br/><br/>Min length: `1`. |
| `termination-protection` | boolean | no | Service is protected against termination and powering off |
| `version` | string | no | OpenSearch major version<br/><br/>Min length: `1`. |

<details>
<summary>Example</summary>

```json
{
  "fork-from-service": "string",
  "index-patterns": [
    {
      "max-index-count": 0,
      "pattern": "string",
      "sorting-algorithm": "alphabetical"
    }
  ],
  "index-template": {
    "mapping-nested-objects-limit": 0,
    "number-of-replicas": 0,
    "number-of-shards": 0
  },
  "ip-filter": [
    "string"
  ],
  "keep-index-refresh-interval": true,
  "maintenance": {
    "dow": "saturday",
    "time": "string"
  },
  "max-index-count": 0,
  "opensearch-dashboards": {
    "enabled": true,
    "max-old-space-size": 0,
    "opensearch-request-timeout": 0
  },
  "opensearch-settings": {
    "action_auto_create_index_enabled": true,
    "action_destructive_requires_name": true,
    "auth_failure_listeners": {
      "internal_authentication_backend_limiting": {
        "allowed_tries": 0,
        "authentication_backend": "internal",
        "block_expiry_seconds": 0,
        "max_blocked_clients": 0,
        "max_tracked_clients": 0,
        "time_window_seconds": 0,
        "type": "username"
      },
      "ip_rate_limiting": {
        "allowed_tries": 0,
        "block_expiry_seconds": 0,
        "max_blocked_clients": 0,
        "max_tracked_clients": 0,
        "time_window_seconds": 0,
        "type": "ip"
      }
    },
    "cluster_max_shards_per_node": 0,
    "cluster_routing_allocation_node_concurrent_recoveries": 0,
    "email-sender": {
      "email_sender_name": "alert-sender",
      "email_sender_password": "very-secure-mail-password",
      "email_sender_username": "jane@example.com"
    },
    "enable_security_audit": true,
    "http_max_content_length": 0,
    "http_max_header_size": 0,
    "http_max_initial_line_length": 0,
    "indices_fielddata_cache_size": 0,
    "indices_memory_index_buffer_size": 0,
    "indices_memory_max_index_buffer_size": 0,
    "indices_memory_min_index_buffer_size": 0,
    "indices_queries_cache_size": 0,
    "indices_query_bool_max_clause_count": 0,
    "indices_recovery_max_bytes_per_sec": 0,
    "indices_recovery_max_concurrent_file_chunks": 0,
    "ism-history": {
      "ism_enabled": true,
      "ism_history_enabled": true,
      "ism_history_max_age": 0,
      "ism_history_max_docs": 0,
      "ism_history_rollover_check_period": 0,
      "ism_history_rollover_retention_period": 0
    },
    "knn_memory_circuit_breaker_enabled": true,
    "knn_memory_circuit_breaker_limit": 0,
    "override_main_response_version": true,
    "plugins_alerting_filter_by_backend_roles": true,
    "reindex_remote_whitelist": [
      "anotherservice.aivencloud.com:12398"
    ],
    "script_max_compilations_rate": "75/5m",
    "search_backpressure": {
      "mode": "monitor_only",
      "node_duress": {
        "cpu_threshold": 0,
        "heap_threshold": 0,
        "num_successive_breaches": 0
      },
      "search_shard_task": {
        "cancellation_burst": 0,
        "cancellation_rate": 0,
        "cancellation_ratio": 0,
        "cpu_time_millis_threshold": 0,
        "elapsed_time_millis_threshold": 0,
        "heap_moving_average_window_size": 0,
        "heap_percent_threshold": 0,
        "heap_variance": 0,
        "total_heap_percent_threshold": 0
      },
      "search_task": {
        "cancellation_burst": 0,
        "cancellation_rate": 0,
        "cancellation_ratio": 0,
        "cpu_time_millis_threshold": 0,
        "elapsed_time_millis_threshold": 0,
        "heap_moving_average_window_size": 0,
        "heap_percent_threshold": 0,
        "heap_variance": 0,
        "total_heap_percent_threshold": 0
      }
    },
    "search_max_buckets": 0,
    "shard_indexing_pressure": {
      "enabled": true,
      "enforced": true,
      "operating_factor": {
        "lower": 0,
        "optimal": 0,
        "upper": 0
      },
      "primary_parameter": {
        "node": {
          "soft_limit": 0
        },
        "shard": {
          "min_limit": 0
        }
      }
    },
    "thread_pool_analyze_queue_size": 0,
    "thread_pool_analyze_size": 0,
    "thread_pool_force_merge_size": 0,
    "thread_pool_get_queue_size": 0,
    "thread_pool_get_size": 0,
    "thread_pool_search_queue_size": 0,
    "thread_pool_search_size": 0,
    "thread_pool_search_throttled_queue_size": 0,
    "thread_pool_search_throttled_size": 0,
    "thread_pool_write_queue_size": 0,
    "thread_pool_write_size": 0
  },
  "plan": "string",
  "recovery-backup-name": "string",
  "termination-protection": true,
  "version": "string"
}
```
</details>


### Index Patterns {#index-patterns}

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `max-index-count` | integer | no | Maximum number of indexes to keep<br/><br/>Min: `0`. |
| `pattern` | string | no | fnmatch pattern<br/><br/>Max length: `1024`. |
| `sorting-algorithm` | string | no | Deletion sorting algorithm<br/><br/>Allowed values: `alphabetical`, `creation_date`. |

### Maintenance {#maintenance}

Automatic maintenance settings

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `dow` | string | **yes** | Day of week for installing updates<br/><br/>Allowed values: `saturday`, `tuesday`, `never`, `wednesday`, `sunday`, `friday`, `monday`, `thursday`. |
| `time` | string | **yes** | Time for installing updates, UTC<br/><br/>Min length: `8`. Max length: `8`. |

### Index Template {#index-template}

Template settings for all new indexes

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `mapping-nested-objects-limit` | integer | no | 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.<br/><br/>Min: `0`. Max: `100000`. |
| `number-of-replicas` | integer | no | The number of replicas each primary shard has.<br/><br/>Min: `0`. Max: `29`. |
| `number-of-shards` | integer | no | The number of primary shards that an index should have.<br/><br/>Min: `1`. Max: `1024`. |

### Opensearch Dashboards {#opensearch-dashboards}

OpenSearch Dashboards settings

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `enabled` | boolean | no | Enable or disable OpenSearch Dashboards (default: true) |
| `max-old-space-size` | integer | no | 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. (default: 128)<br/><br/>Min: `64`. Max: `1024`. |
| `opensearch-request-timeout` | integer | no | Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch (default: 30000)<br/><br/>Min: `5000`. Max: `120000`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `create-dbaas-service-opensearch`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.CreateDBAASServiceOpensearch) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.create_dbaas_service_opensearch) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#createDbaasServiceOpensearch(java.lang.String,com.exoscale.sdk.model.CreateDbaasServiceOpensearchRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api create-dbaas-service-opensearch`

## <span data-label="GET" class="pill-GET"></span>get-dbaas-service-opensearch

Get a DBaaS OpenSearch service

```
GET /dbaas-opensearch/{name}
```

Get a DBaaS OpenSearch service

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `backups` | array of [List of backups for the service](/reference/api/_schemas/dbaas-service-backup/) | List of backups for the service |
| `components` | array of [Components](/reference/api/_schemas/dbaas-service-opensearch/#components) | Service component information objects |
| `connection-info` | [Connection Info](/reference/api/_schemas/dbaas-service-opensearch/#connection-info) | Opensearch connection information properties |
| `created-at` | string | Service creation timestamp (ISO 8601)<br/><br/>ISO 8601 date-time. |
| `description` | string | DbaaS service description |
| `disk-size` | integer | TODO UNIT disk space for data storage<br/><br/>Min: `0`. |
| `index-patterns` | array of [Index Patterns](/reference/api/_schemas/dbaas-service-opensearch/#index-patterns) | Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored. |
| `index-template` | [Index Template](/reference/api/_schemas/dbaas-service-opensearch/#index-template) | Template settings for all new indexes |
| `integrations` | array of [DBaaS Integration](/reference/api/_schemas/dbaas-integration/) | Service integrations |
| `ip-filter` | array[string] | Allowed CIDR address blocks for incoming connections |
| `keep-index-refresh-interval` | boolean | 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. |
| `maintenance` | [Automatic maintenance settings](/reference/api/_schemas/dbaas-service-maintenance/) | Automatic maintenance settings |
| `max-index-count` | integer | Maximum number of indexes to keep before deleting the oldest one<br/><br/>Min: `0`. |
| `name` | string | Service name<br/><br/>Min length: `0`. Max length: `63`. |
| `node-count` | integer | Number of service nodes in the active plan<br/><br/>Min: `0`. |
| `node-cpu-count` | integer | Number of CPUs for each node<br/><br/>Min: `0`. |
| `node-memory` | integer | TODO UNIT of memory for each node<br/><br/>Min: `0`. |
| `node-states` | array of [Automatic maintenance settings](/reference/api/_schemas/dbaas-node-state/) | State of individual service nodes |
| `notifications` | array of [Service notifications](/reference/api/_schemas/dbaas-service-notification/) | Service notifications |
| `opensearch-dashboards` | [Opensearch Dashboards](/reference/api/_schemas/dbaas-service-opensearch/#opensearch-dashboards) | OpenSearch Dashboards settings |
| `opensearch-settings` | [OpenSearch settings](/reference/api/_schemas/json-schema-opensearch/) | OpenSearch-specific settings |
| `plan` | string | Subscription plan |
| `prometheus-uri` | [Prometheus URI](/reference/api/_schemas/dbaas-service-opensearch/#prometheus-uri) | Prometheus integration URI |
| `state` | string | State of the service<br/><br/>Allowed values: `running`, `rebuilding`, `rebalancing`, `poweroff`. |
| `termination-protection` | boolean | Service is protected against termination and powering off |
| `type` | string | Service type code<br/><br/>Min length: `0`. Max length: `64`. |
| `updated-at` | string | Service last update timestamp (ISO 8601)<br/><br/>ISO 8601 date-time. |
| `uri` | string | URI for connecting to the service (may be absent) |
| `uri-params` | object | service_uri parameterized into key-value pairs |
| `users` | array of [Users](/reference/api/_schemas/dbaas-service-opensearch/#users) | List of service users |
| `version` | string | OpenSearch version |
| `zone` | string | The zone where the service is running |

<details>
<summary>Example output</summary>

```json
{
  "backups": [
    {
      "backup-name": "string",
      "backup-time": "2024-01-01T12:00:00Z",
      "data-size": 0
    }
  ],
  "components": [
    {
      "component": "string",
      "host": "string",
      "port": 0,
      "route": "dynamic",
      "usage": "primary"
    }
  ],
  "connection-info": {
    "dashboard-uri": "string",
    "password": "string",
    "uri": [
      "string"
    ],
    "username": "string"
  },
  "created-at": "2024-01-01T12:00:00Z",
  "description": "string",
  "disk-size": 0,
  "index-patterns": [
    {
      "max-index-count": 0,
      "pattern": "string",
      "sorting-algorithm": "alphabetical"
    }
  ],
  "index-template": {
    "mapping-nested-objects-limit": 0,
    "number-of-replicas": 0,
    "number-of-shards": 0
  },
  "integrations": [
    {
      "description": "string",
      "dest": "string",
      "id": "string",
      "is-active": true,
      "is-enabled": true,
      "settings": {},
      "source": "string",
      "status": "string",
      "type": "string"
    }
  ],
  "ip-filter": [
    "string"
  ],
  "keep-index-refresh-interval": true,
  "maintenance": {
    "dow": "saturday",
    "time": "string",
    "updates": [
      {
        "deadline": "2024-01-01T12:00:00Z",
        "description": "string",
        "start-after": "2024-01-01T12:00:00Z",
        "start-at": "2024-01-01T12:00:00Z"
      }
    ]
  },
  "max-index-count": 0,
  "name": "string",
  "node-count": 0,
  "node-cpu-count": 0,
  "node-memory": 0,
  "node-states": [
    {
      "name": "string",
      "progress-updates": [
        {
          "completed": true,
          "current": 0,
          "max": 0,
          "min": 0,
          "phase": "stream",
          "unit": "string"
        }
      ],
      "role": "standby",
      "state": "leaving"
    }
  ],
  "notifications": [
    {
      "level": "warning",
      "message": "string",
      "metadata": {},
      "type": "service_powered_off_removal"
    }
  ],
  "opensearch-dashboards": {
    "enabled": true,
    "max-old-space-size": 0,
    "opensearch-request-timeout": 0
  },
  "opensearch-settings": {
    "action_auto_create_index_enabled": true,
    "action_destructive_requires_name": true,
    "auth_failure_listeners": {
      "internal_authentication_backend_limiting": {
        "allowed_tries": 0,
        "authentication_backend": "internal",
        "block_expiry_seconds": 0,
        "max_blocked_clients": 0,
        "max_tracked_clients": 0,
        "time_window_seconds": 0,
        "type": "username"
      },
      "ip_rate_limiting": {
        "allowed_tries": 0,
        "block_expiry_seconds": 0,
        "max_blocked_clients": 0,
        "max_tracked_clients": 0,
        "time_window_seconds": 0,
        "type": "ip"
      }
    },
    "cluster_max_shards_per_node": 0,
    "cluster_routing_allocation_node_concurrent_recoveries": 0,
    "email-sender": {
      "email_sender_name": "alert-sender",
      "email_sender_password": "very-secure-mail-password",
      "email_sender_username": "jane@example.com"
    },
    "enable_security_audit": true,
    "http_max_content_length": 0,
    "http_max_header_size": 0,
    "http_max_initial_line_length": 0,
    "indices_fielddata_cache_size": 0,
    "indices_memory_index_buffer_size": 0,
    "indices_memory_max_index_buffer_size": 0,
    "indices_memory_min_index_buffer_size": 0,
    "indices_queries_cache_size": 0,
    "indices_query_bool_max_clause_count": 0,
    "indices_recovery_max_bytes_per_sec": 0,
    "indices_recovery_max_concurrent_file_chunks": 0,
    "ism-history": {
      "ism_enabled": true,
      "ism_history_enabled": true,
      "ism_history_max_age": 0,
      "ism_history_max_docs": 0,
      "ism_history_rollover_check_period": 0,
      "ism_history_rollover_retention_period": 0
    },
    "knn_memory_circuit_breaker_enabled": true,
    "knn_memory_circuit_breaker_limit": 0,
    "override_main_response_version": true,
    "plugins_alerting_filter_by_backend_roles": true,
    "reindex_remote_whitelist": [
      "anotherservice.aivencloud.com:12398"
    ],
    "script_max_compilations_rate": "75/5m",
    "search_backpressure": {
      "mode": "monitor_only",
      "node_duress": {
        "cpu_threshold": 0,
        "heap_threshold": 0,
        "num_successive_breaches": 0
      },
      "search_shard_task": {
        "cancellation_burst": 0,
        "cancellation_rate": 0,
        "cancellation_ratio": 0,
        "cpu_time_millis_threshold": 0,
        "elapsed_time_millis_threshold": 0,
        "heap_moving_average_window_size": 0,
        "heap_percent_threshold": 0,
        "heap_variance": 0,
        "total_heap_percent_threshold": 0
      },
      "search_task": {
        "cancellation_burst": 0,
        "cancellation_rate": 0,
        "cancellation_ratio": 0,
        "cpu_time_millis_threshold": 0,
        "elapsed_time_millis_threshold": 0,
        "heap_moving_average_window_size": 0,
        "heap_percent_threshold": 0,
        "heap_variance": 0,
        "total_heap_percent_threshold": 0
      }
    },
    "search_max_buckets": 0,
    "shard_indexing_pressure": {
      "enabled": true,
      "enforced": true,
      "operating_factor": {
        "lower": 0,
        "optimal": 0,
        "upper": 0
      },
      "primary_parameter": {
        "node": {
          "soft_limit": 0
        },
        "shard": {
          "min_limit": 0
        }
      }
    },
    "thread_pool_analyze_queue_size": 0,
    "thread_pool_analyze_size": 0,
    "thread_pool_force_merge_size": 0,
    "thread_pool_get_queue_size": 0,
    "thread_pool_get_size": 0,
    "thread_pool_search_queue_size": 0,
    "thread_pool_search_size": 0,
    "thread_pool_search_throttled_queue_size": 0,
    "thread_pool_search_throttled_size": 0,
    "thread_pool_write_queue_size": 0,
    "thread_pool_write_size": 0
  },
  "plan": "string",
  "prometheus-uri": {
    "host": "string",
    "port": 0
  },
  "state": "running",
  "termination-protection": true,
  "type": "string",
  "updated-at": "2024-01-01T12:00:00Z",
  "uri": "string",
  "uri-params": {},
  "users": [
    {
      "password": "string",
      "type": "string",
      "username": "string"
    }
  ],
  "version": "string",
  "zone": "string"
}
```
</details>


SDK reference for `get-dbaas-service-opensearch`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetDBAASServiceOpensearch) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_dbaas_service_opensearch) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getDbaasServiceOpensearch(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api get-dbaas-service-opensearch`

## <span data-label="PUT" class="pill-PUT"></span>update-dbaas-service-opensearch

Update a DBaaS OpenSearch service

```
PUT /dbaas-opensearch/{name}
```

Update a DBaaS OpenSearch service

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `index-patterns` | array of [Index Patterns](#index-patterns) | no | Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored. |
| `index-template` | [Index Template](#index-template) | no | Template settings for all new indexes |
| `ip-filter` | array[string] | no | Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16' |
| `keep-index-refresh-interval` | boolean | no | 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. |
| `maintenance` | [Maintenance](#maintenance) | no | Automatic maintenance settings |
| `max-index-count` | integer | no | Maximum number of indexes to keep before deleting the oldest one<br/><br/>Min: `0`. |
| `opensearch-dashboards` | [Opensearch Dashboards](#opensearch-dashboards) | no | OpenSearch Dashboards settings |
| `opensearch-settings` | [OpenSearch settings](/reference/api/_schemas/json-schema-opensearch/) | no | OpenSearch-specific settings |
| `plan` | string | no | Subscription plan<br/><br/>Min length: `1`. Max length: `128`. |
| `termination-protection` | boolean | no | Service is protected against termination and powering off |
| `version` | string | no | Version |

<details>
<summary>Example</summary>

```json
{
  "index-patterns": [
    {
      "max-index-count": 0,
      "pattern": "string",
      "sorting-algorithm": "alphabetical"
    }
  ],
  "index-template": {
    "mapping-nested-objects-limit": 0,
    "number-of-replicas": 0,
    "number-of-shards": 0
  },
  "ip-filter": [
    "string"
  ],
  "keep-index-refresh-interval": true,
  "maintenance": {
    "dow": "saturday",
    "time": "string"
  },
  "max-index-count": 0,
  "opensearch-dashboards": {
    "enabled": true,
    "max-old-space-size": 0,
    "opensearch-request-timeout": 0
  },
  "opensearch-settings": {
    "action_auto_create_index_enabled": true,
    "action_destructive_requires_name": true,
    "auth_failure_listeners": {
      "internal_authentication_backend_limiting": {
        "allowed_tries": 0,
        "authentication_backend": "internal",
        "block_expiry_seconds": 0,
        "max_blocked_clients": 0,
        "max_tracked_clients": 0,
        "time_window_seconds": 0,
        "type": "username"
      },
      "ip_rate_limiting": {
        "allowed_tries": 0,
        "block_expiry_seconds": 0,
        "max_blocked_clients": 0,
        "max_tracked_clients": 0,
        "time_window_seconds": 0,
        "type": "ip"
      }
    },
    "cluster_max_shards_per_node": 0,
    "cluster_routing_allocation_node_concurrent_recoveries": 0,
    "email-sender": {
      "email_sender_name": "alert-sender",
      "email_sender_password": "very-secure-mail-password",
      "email_sender_username": "jane@example.com"
    },
    "enable_security_audit": true,
    "http_max_content_length": 0,
    "http_max_header_size": 0,
    "http_max_initial_line_length": 0,
    "indices_fielddata_cache_size": 0,
    "indices_memory_index_buffer_size": 0,
    "indices_memory_max_index_buffer_size": 0,
    "indices_memory_min_index_buffer_size": 0,
    "indices_queries_cache_size": 0,
    "indices_query_bool_max_clause_count": 0,
    "indices_recovery_max_bytes_per_sec": 0,
    "indices_recovery_max_concurrent_file_chunks": 0,
    "ism-history": {
      "ism_enabled": true,
      "ism_history_enabled": true,
      "ism_history_max_age": 0,
      "ism_history_max_docs": 0,
      "ism_history_rollover_check_period": 0,
      "ism_history_rollover_retention_period": 0
    },
    "knn_memory_circuit_breaker_enabled": true,
    "knn_memory_circuit_breaker_limit": 0,
    "override_main_response_version": true,
    "plugins_alerting_filter_by_backend_roles": true,
    "reindex_remote_whitelist": [
      "anotherservice.aivencloud.com:12398"
    ],
    "script_max_compilations_rate": "75/5m",
    "search_backpressure": {
      "mode": "monitor_only",
      "node_duress": {
        "cpu_threshold": 0,
        "heap_threshold": 0,
        "num_successive_breaches": 0
      },
      "search_shard_task": {
        "cancellation_burst": 0,
        "cancellation_rate": 0,
        "cancellation_ratio": 0,
        "cpu_time_millis_threshold": 0,
        "elapsed_time_millis_threshold": 0,
        "heap_moving_average_window_size": 0,
        "heap_percent_threshold": 0,
        "heap_variance": 0,
        "total_heap_percent_threshold": 0
      },
      "search_task": {
        "cancellation_burst": 0,
        "cancellation_rate": 0,
        "cancellation_ratio": 0,
        "cpu_time_millis_threshold": 0,
        "elapsed_time_millis_threshold": 0,
        "heap_moving_average_window_size": 0,
        "heap_percent_threshold": 0,
        "heap_variance": 0,
        "total_heap_percent_threshold": 0
      }
    },
    "search_max_buckets": 0,
    "shard_indexing_pressure": {
      "enabled": true,
      "enforced": true,
      "operating_factor": {
        "lower": 0,
        "optimal": 0,
        "upper": 0
      },
      "primary_parameter": {
        "node": {
          "soft_limit": 0
        },
        "shard": {
          "min_limit": 0
        }
      }
    },
    "thread_pool_analyze_queue_size": 0,
    "thread_pool_analyze_size": 0,
    "thread_pool_force_merge_size": 0,
    "thread_pool_get_queue_size": 0,
    "thread_pool_get_size": 0,
    "thread_pool_search_queue_size": 0,
    "thread_pool_search_size": 0,
    "thread_pool_search_throttled_queue_size": 0,
    "thread_pool_search_throttled_size": 0,
    "thread_pool_write_queue_size": 0,
    "thread_pool_write_size": 0
  },
  "plan": "string",
  "termination-protection": true,
  "version": "string"
}
```
</details>


### Index Patterns {#index-patterns}

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `max-index-count` | integer | no | Maximum number of indexes to keep<br/><br/>Min: `0`. |
| `pattern` | string | no | fnmatch pattern<br/><br/>Max length: `1024`. |
| `sorting-algorithm` | string | no | Deletion sorting algorithm<br/><br/>Allowed values: `alphabetical`, `creation_date`. |

### Maintenance {#maintenance}

Automatic maintenance settings

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `dow` | string | **yes** | Day of week for installing updates<br/><br/>Allowed values: `saturday`, `tuesday`, `never`, `wednesday`, `sunday`, `friday`, `monday`, `thursday`. |
| `time` | string | **yes** | Time for installing updates, UTC<br/><br/>Min length: `8`. Max length: `8`. |

### Index Template {#index-template}

Template settings for all new indexes

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `mapping-nested-objects-limit` | integer | no | 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.<br/><br/>Min: `0`. Max: `100000`. |
| `number-of-replicas` | integer | no | The number of replicas each primary shard has.<br/><br/>Min: `0`. Max: `29`. |
| `number-of-shards` | integer | no | The number of primary shards that an index should have.<br/><br/>Min: `1`. Max: `1024`. |

### Opensearch Dashboards {#opensearch-dashboards}

OpenSearch Dashboards settings

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `enabled` | boolean | no | Enable or disable OpenSearch Dashboards (default: true) |
| `max-old-space-size` | integer | no | 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. (default: 128)<br/><br/>Min: `64`. Max: `1024`. |
| `opensearch-request-timeout` | integer | no | Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch (default: 30000)<br/><br/>Min: `5000`. Max: `120000`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `update-dbaas-service-opensearch`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.UpdateDBAASServiceOpensearch) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.update_dbaas_service_opensearch) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#updateDbaasServiceOpensearch(java.lang.String,com.exoscale.sdk.model.UpdateDbaasServiceOpensearchRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api update-dbaas-service-opensearch`

## <span data-label="DELETE" class="pill-DELETE"></span>delete-dbaas-service-opensearch

Delete a OpenSearch service

```
DELETE /dbaas-opensearch/{name}
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` |  |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `delete-dbaas-service-opensearch`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.DeleteDBAASServiceOpensearch) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.delete_dbaas_service_opensearch) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#deleteDbaasServiceOpensearch(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api delete-dbaas-service-opensearch`


---

## Other Operations

## <span data-label="PUT" class="pill-PUT"></span>start-dbaas-opensearch-maintenance

Initiate OpenSearch maintenance update

```
PUT /dbaas-opensearch/{name}/maintenance/start
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `start-dbaas-opensearch-maintenance`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.StartDBAASOpensearchMaintenance) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.start_dbaas_opensearch_maintenance) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#startDbaasOpensearchMaintenance(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api start-dbaas-opensearch-maintenance`

## <span data-label="GET" class="pill-GET"></span>get-dbaas-settings-opensearch

Get DBaaS OpenSearch settings

```
GET /dbaas-settings-opensearch
```

Get DBaaS OpenSearch settings

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `settings` | [Settings](#settings) |  |

<details>
<summary>Example output</summary>

```json
{
  "settings": {
    "opensearch": {
      "additionalProperties": true,
      "properties": {},
      "title": "string",
      "type": "string"
    }
  }
}
```
</details>


### Settings {#settings}

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `opensearch` | [Opensearch](#opensearch) | no | OpenSearch configuration values |

### Opensearch {#opensearch}

OpenSearch configuration values

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `additionalProperties` | boolean | no |  |
| `properties` | object | no |  |
| `title` | string | no |  |
| `type` | string | no |  |

SDK reference for `get-dbaas-settings-opensearch`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetDBAASSettingsOpensearch) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_dbaas_settings_opensearch) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getDbaasSettingsOpensearch())

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api get-dbaas-settings-opensearch`


