Skip to content

Commit

Permalink
Add the documentation of create or update alias API (opensearch-proje…
Browse files Browse the repository at this point in the history
…ct#7641)

* Add the documentation of create or update alias API

Signed-off-by: gaobinlong <[email protected]>

* Fix typo

Signed-off-by: gaobinlong <[email protected]>

* Refine the wording

Signed-off-by: gaobinlong <[email protected]>

* Update update-alias.md

* Fix typo

Signed-off-by: gaobinlong <[email protected]>

* Add some clarification

Signed-off-by: gaobinlong <[email protected]>

* Update update-alias.md

* Update update-alias.md

* Apply suggestions from code review

Co-authored-by: Nathan Bower <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

* Update _api-reference/index-apis/update-alias.md

Signed-off-by: Nathan Bower <[email protected]>

---------

Signed-off-by: gaobinlong <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>
Signed-off-by: Nathan Bower <[email protected]>
Co-authored-by: Naarcha-AWS <[email protected]>
Co-authored-by: Nathan Bower <[email protected]>
Signed-off-by: Sander van de Geijn <[email protected]>
  • Loading branch information
3 people authored and sandervandegeijn committed Jul 30, 2024
1 parent 65eedb3 commit 2396451
Showing 1 changed file with 83 additions and 0 deletions.
83 changes: 83 additions & 0 deletions _api-reference/index-apis/update-alias.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
layout: default
title: Create or Update Alias
parent: Index APIs
nav_order: 5
---

# Create or Update Alias
**Introduced 1.0**
{: .label .label-purple }

The Create or Update Alias API adds a data stream or index to an alias or updates the settings for an existing alias. For more alias API operations, see [Index aliases]({{site.url}}{{site.baseurl}}/opensearch/index-alias/).

The Create or Update Alias API is distinct from the [Alias API]({{site.url}}{{site.baseurl}}/opensearch/rest-api/alias/), which supports the addition and removal of aliases and the removal of alias indexes. In contrast, the following API only supports adding or updating an alias without updating the index itself. Each API also uses different request body parameters.
{: .note}

## Path and HTTP methods

```
POST /<target>/_alias/<alias-name>
PUT /<target>/_alias/<alias-name>
POST /_alias/<alias-name>
PUT /_alias/<alias-name>
POST /<target>/_aliases/<alias-name>
PUT /<target>/_aliases/<alias-name>
POST /_aliases/<alias-name>
PUT /_aliases/<alias-name>
PUT /<target>/_alias
PUT /<target>/_aliases
PUT /_alias
```

## Path parameters

| Parameter | Type | Description |
:--- | :--- | :---
| `target` | String | A comma-delimited list of data streams and indexes. Wildcard expressions (`*`) are supported. To target all data streams and indexes in a cluster, use `_all` or `*`. Optional. |
| `alias-name` | String | The alias name to be created or updated. Optional. |

## Query parameters

All query parameters are optional.

Parameter | Type | Description
:--- | :--- | :---
`cluster_manager_timeout` | Time | The amount of time to wait for a response from the cluster manager node. Default is `30s`.
`timeout` | Time | The amount of time to wait for a response from the cluster. Default is `30s`.

## Request body

In the request body, you can specify the index name, the alias name, and the settings for the alias. All fields are optional.

Field | Type | Description
:--- | :--- | :--- | :---
`index` | String | A comma-delimited list of data streams or indexes that you want to associate with the alias. If this field is set, it will override the index name specified in the URL path.
`alias` | String | The name of the alias. If this field is set, it will override the alias name specified in the URL path.
`is_write_index` | Boolean | Specifies whether the index should be a write index. An alias can only have one write index at a time. If a write request is submitted to an alias that links to multiple indexes, then OpenSearch runs the request only on the write index.
`routing` | String | Assigns a custom value to a shard for specific operations.
`index_routing` | String | Assigns a custom value to a shard only for index operations.
`search_routing` | String | Assigns a custom value to a shard only for search operations.
`filter` | Object | A filter to use with the alias so that the alias points to a filtered part of the index.

## Example request

The following example request adds a sample alias with a custom routing value:

```json
POST sample-index/_alias/sample-alias
{
"routing":"test"
}
```
{% include copy-curl.html %}

## Example response

```json
{
"acknowledged": true
}
```

For more alias API operations, see [Index aliases]({{site.url}}{{site.baseurl}}/opensearch/index-alias/).

0 comments on commit 2396451

Please sign in to comment.