Skip to content

Commit

Permalink
Add variants of indices.put_alias (#434)
Browse files Browse the repository at this point in the history
* Add test for variants of indices.put_alias

Signed-off-by: Thomas Farr <[email protected]>

* Add specs for variants of indices.put_alias

Signed-off-by: Thomas Farr <[email protected]>

* Add CHANGELOG entry

Signed-off-by: Thomas Farr <[email protected]>

---------

Signed-off-by: Thomas Farr <[email protected]>
Signed-off-by: Daniel (dB.) Doubrovkine <[email protected]>
Co-authored-by: Daniel (dB.) Doubrovkine <[email protected]>
  • Loading branch information
Xtansia and dblock authored Jul 18, 2024
1 parent 51cb05a commit 0453dbe
Show file tree
Hide file tree
Showing 4 changed files with 209 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Added tests against OpenSearch 1.3 ([#424](https://github.com/opensearch-project/opensearch-api-specification/pull/424))
- Added `is_hidden` to `/{index}/_alias/{name}` and `/{index}/_aliases/{name}` ([#429](https://github.com/opensearch-project/opensearch-api-specification/pull/429))
- Added `ignore_unmapped` to `GeoDistanceQuery` ([#427](https://github.com/opensearch-project/opensearch-api-specification/pull/427))
- Added missing variants of `indices.put_alias` ([#434](https://github.com/opensearch-project/opensearch-api-specification/pull/434))

### Changed

Expand Down
132 changes: 128 additions & 4 deletions spec/namespaces/indices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,22 @@ paths:
responses:
'200':
$ref: '#/components/responses/indices.get_alias@200'
put:
operationId: indices.put_alias.0
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
externalDocs:
url: https://opensearch.org/docs/latest/im-plugin/index-alias/#create-aliases
parameters:
- $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.master_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.timeout'
requestBody:
$ref: '#/components/requestBodies/indices.put_alias'
responses:
'200':
$ref: '#/components/responses/indices.put_alias@200'
/_alias/{name}:
get:
operationId: indices.get_alias.1
Expand Down Expand Up @@ -53,6 +69,40 @@ paths:
responses:
'200':
$ref: '#/components/responses/indices.exists_alias@200'
post:
operationId: indices.put_alias.1
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
externalDocs:
url: https://opensearch.org/docs/latest/im-plugin/index-alias/#create-aliases
parameters:
- $ref: '#/components/parameters/indices.put_alias::path.name'
- $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.master_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.timeout'
requestBody:
$ref: '#/components/requestBodies/indices.put_alias'
responses:
'200':
$ref: '#/components/responses/indices.put_alias@200'
put:
operationId: indices.put_alias.2
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
externalDocs:
url: https://opensearch.org/docs/latest/im-plugin/index-alias/#create-aliases
parameters:
- $ref: '#/components/parameters/indices.put_alias::path.name'
- $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.master_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.timeout'
requestBody:
$ref: '#/components/requestBodies/indices.put_alias'
responses:
'200':
$ref: '#/components/responses/indices.put_alias@200'
/_aliases:
post:
operationId: indices.update_aliases.0
Expand All @@ -70,6 +120,41 @@ paths:
responses:
'200':
$ref: '#/components/responses/indices.update_aliases@200'
/_aliases/{name}:
post:
operationId: indices.put_alias.3
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
externalDocs:
url: https://opensearch.org/docs/latest/im-plugin/index-alias/#create-aliases
parameters:
- $ref: '#/components/parameters/indices.put_alias::path.name'
- $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.master_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.timeout'
requestBody:
$ref: '#/components/requestBodies/indices.put_alias'
responses:
'200':
$ref: '#/components/responses/indices.put_alias@200'
put:
operationId: indices.put_alias.4
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
externalDocs:
url: https://opensearch.org/docs/latest/im-plugin/index-alias/#create-aliases
parameters:
- $ref: '#/components/parameters/indices.put_alias::path.name'
- $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.master_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.timeout'
requestBody:
$ref: '#/components/requestBodies/indices.put_alias'
responses:
'200':
$ref: '#/components/responses/indices.put_alias@200'
/_analyze:
get:
operationId: indices.analyze.0
Expand Down Expand Up @@ -958,6 +1043,23 @@ paths:
responses:
'200':
$ref: '#/components/responses/indices.get_alias@200'
put:
operationId: indices.put_alias.5
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
externalDocs:
url: https://opensearch.org/docs/latest/im-plugin/index-alias/#create-aliases
parameters:
- $ref: '#/components/parameters/indices.put_alias::path.index'
- $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.master_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.timeout'
requestBody:
$ref: '#/components/requestBodies/indices.put_alias'
responses:
'200':
$ref: '#/components/responses/indices.put_alias@200'
/{index}/_alias/{name}:
get:
operationId: indices.get_alias.3
Expand Down Expand Up @@ -994,7 +1096,7 @@ paths:
'200':
$ref: '#/components/responses/indices.exists_alias@200'
post:
operationId: indices.put_alias.0
operationId: indices.put_alias.6
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
Expand All @@ -1012,7 +1114,7 @@ paths:
'200':
$ref: '#/components/responses/indices.put_alias@200'
put:
operationId: indices.put_alias.1
operationId: indices.put_alias.7
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
Expand Down Expand Up @@ -1045,9 +1147,27 @@ paths:
responses:
'200':
$ref: '#/components/responses/indices.delete_alias@200'
/{index}/_aliases:
put:
operationId: indices.put_alias.8
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
externalDocs:
url: https://opensearch.org/docs/latest/im-plugin/index-alias/#create-aliases
parameters:
- $ref: '#/components/parameters/indices.put_alias::path.index'
- $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.master_timeout'
- $ref: '#/components/parameters/indices.put_alias::query.timeout'
requestBody:
$ref: '#/components/requestBodies/indices.put_alias'
responses:
'200':
$ref: '#/components/responses/indices.put_alias@200'
/{index}/_aliases/{name}:
post:
operationId: indices.put_alias.2
operationId: indices.put_alias.9
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
Expand All @@ -1065,7 +1185,7 @@ paths:
'200':
$ref: '#/components/responses/indices.put_alias@200'
put:
operationId: indices.put_alias.3
operationId: indices.put_alias.10
x-operation-group: indices.put_alias
x-version-added: '1.0'
description: Creates or updates an alias.
Expand Down Expand Up @@ -1845,8 +1965,12 @@ components:
schema:
type: object
properties:
alias:
type: string
filter:
$ref: '../schemas/_common.query_dsl.yaml#/components/schemas/QueryContainer'
index:
type: string
index_routing:
$ref: '../schemas/_common.yaml#/components/schemas/Routing'
is_write_index:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$schema: ../../json_schemas/test_story.schema.yaml
$schema: ../../../json_schemas/test_story.schema.yaml

description: Test aliases endpoints.
epilogues:
Expand Down
79 changes: 79 additions & 0 deletions tests/indices/aliases/put_alias.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
$schema: ../../../json_schemas/test_story.schema.yaml

description: Test put_alias variants.
epilogues:
- path: /test_index/_alias/test_alias*
method: DELETE
status: [200, 404]
- path: /test_index
method: DELETE
status: [200, 404]
prologues:
- path: /{index}
method: PUT
parameters:
index: test_index
chapters:
- synopsis: Create an alias - specifying index & alias in path.
path: /{index}/_alias/{name}
method: PUT
parameters:
index: test_index
name: test_alias
response:
status: 200
payload:
acknowledged: true

- synopsis: Create an alias - specifying index in path & alias in body.
path: /{index}/_alias
method: PUT
parameters:
index: test_index
request_body:
payload:
alias: test_alias_1
response:
status: 200
payload:
acknowledged: true

- synopsis: Create an alias - specifying index in body & alias in path.
path: /_alias/{name}
method: PUT
parameters:
name: test_alias_2
request_body:
payload:
index: test_index
response:
status: 200
payload:
acknowledged: true

- synopsis: Create an alias - specifying index & alias in body.
path: /_alias
method: PUT
request_body:
payload:
index: test_index
alias: test_alias_3
response:
status: 200
payload:
acknowledged: true

- synopsis: Retrieve aliases
path: /{index}/_alias
method: GET
parameters:
index: test_index
response:
status: 200
payload:
test_index:
aliases:
test_alias: {}
test_alias_1: {}
test_alias_2: {}
test_alias_3: {}

0 comments on commit 0453dbe

Please sign in to comment.