Skip to content

Commit

Permalink
Created yaml structures
Browse files Browse the repository at this point in the history
Signed-off-by: alen_abeshov <[email protected]>
  • Loading branch information
aabeshov committed Nov 30, 2024
1 parent c400057 commit 3f6f554
Show file tree
Hide file tree
Showing 2 changed files with 655 additions and 0 deletions.
258 changes: 258 additions & 0 deletions spec/namespaces/snapshot_managment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
openapi: 3.1.0
info:
title: OpenSearch Snapshot Management API
description: API for managing Snapshot Management policies and operations.
version: 1.0.0
paths:
/_plugins/_sm/policies:
get:
operationId: sm.list_policies.0
x-operation-group: sm.list_policies
x-version-added: '2.1'
description: Retrieves a list of all SM policies.
parameters:
- $ref: '#/components/parameters/sm.list_policies::query.from'
- $ref: '#/components/parameters/sm.list_policies::query.size'
- $ref: '#/components/parameters/sm.list_policies::query.sortField'
- $ref: '#/components/parameters/sm.list_policies::query.sortOrder'
- $ref: '#/components/parameters/sm.list_policies::query.queryString'
responses:
'200':
$ref: '#/components/responses/sm.list_policies@200'
post:
operationId: sm.create_policy.0
x-operation-group: sm.create_policy
x-version-added: '2.1'
description: Creates a new SM policy.
requestBody:
$ref: '#/components/requestBodies/sm.create_policy'
responses:
'200':
$ref: '#/components/responses/sm.create_policy@200'
/_plugins/_sm/policies/{policy_name}:
get:
operationId: sm.get_policy.0
x-operation-group: sm.get_policy
x-version-added: '2.1'
description: Retrieves a specific SM policy by name.
parameters:
- $ref: '#/components/parameters/sm.policy_name'
responses:
'200':
$ref: '#/components/responses/sm.get_policy@200'
'404':
$ref: '#/components/responses/sm.policy_not_found@404'
put:
operationId: sm.update_policy.0
x-operation-group: sm.update_policy
x-version-added: '2.1'
description: Updates an existing SM policy.
parameters:
- $ref: '#/components/parameters/sm.policy_name'
- $ref: '#/components/parameters/sm.update_policy::query.if_seq_no'
- $ref: '#/components/parameters/sm.update_policy::query.if_primary_term'
requestBody:
$ref: '#/components/requestBodies/sm.update_policy'
responses:
'200':
$ref: '#/components/responses/sm.update_policy@200'
'404':
$ref: '#/components/responses/sm.policy_not_found@404'
post:
operationId: sm.create_or_update_policy.0
x-operation-group: sm.create_or_update_policy
x-version-added: '2.1'
description: Creates or updates an SM policy.
parameters:
- $ref: '#/components/parameters/sm.policy_name'
requestBody:
$ref: '#/components/requestBodies/sm.create_policy'
responses:
'200':
$ref: '#/components/responses/sm.create_policy@200'
delete:
operationId: sm.delete_policy.0
x-operation-group: sm.delete_policy
x-version-added: '2.1'
description: Deletes an SM policy by name.
parameters:
- $ref: '#/components/parameters/sm.policy_name'
responses:
'200':
$ref: '#/components/responses/sm.delete_policy@200'
'404':
$ref: '#/components/responses/sm.policy_not_found@404'
/_plugins/_sm/policies/{policy_name}/_explain:
get:
operationId: sm.explain_policy.0
x-operation-group: sm.explain_policy
x-version-added: '2.1'
description: Provides status and metadata for specified SM policies.
parameters:
- $ref: '#/components/parameters/sm.policy_name'
responses:
'200':
$ref: '#/components/responses/sm.explain_policy@200'
'404':
$ref: '#/components/responses/sm.policy_not_found@404'
/_plugins/_sm/policies/{policy_name}/_start:
post:
operationId: sm.start_policy.0
x-operation-group: sm.start_policy
x-version-added: '2.1'
description: Starts an SM policy by setting its enabled flag to true.
parameters:
- $ref: '#/components/parameters/sm.policy_name'
responses:
'200':
$ref: '#/components/responses/sm.start_policy@200'
'404':
$ref: '#/components/responses/sm.policy_not_found@404'
/_plugins/_sm/policies/{policy_name}/_stop:
post:
operationId: sm.stop_policy.0
x-operation-group: sm.stop_policy
x-version-added: '2.1'
description: Stops an SM policy by setting its enabled flag to false.
parameters:
- $ref: '#/components/parameters/sm.policy_name'
responses:
'200':
$ref: '#/components/responses/sm.stop_policy@200'
'404':
$ref: '#/components/responses/sm.policy_not_found@404'
components:
requestBodies:
sm.create_policy:
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/SnapshotManagementPolicy'
sm.update_policy:
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/SnapshotManagementPolicy'
responses:
sm.list_policies@200:
description: Successful response containing the list of SM policies.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/SnapshotManagementPolicyList'
sm.create_policy@200:
description: Policy created successfully.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/CreatePolicyResponse'
sm.get_policy@200:
description: Successful response containing the SM policy details.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/GetPolicyResponse'
sm.update_policy@200:
description: Policy updated successfully.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/UpdatePolicyResponse'
sm.delete_policy@200:
description: Policy deleted successfully.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/DeletePolicyResponse'
sm.explain_policy@200:
description: Successful response containing policy explanations.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/ExplainPolicyResponse'
sm.start_policy@200:
description: Policy started successfully.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/StartStopPolicyResponse'
sm.stop_policy@200:
description: Policy stopped successfully.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/StartStopPolicyResponse'
sm.policy_not_found@404:
description: Policy not found.
content:
application/json:
schema:
$ref: '../schemas/sm._common.yaml#/components/schemas/NotFoundResponse'
parameters:
sm.policy_name:
in: path
name: policy_name
description: The name of the SM policy.
required: true
schema:
type: string
style: simple
sm.update_policy::query.if_seq_no:
in: query
name: if_seq_no
description: Sequence number for optimistic concurrency control.
required: true
schema:
type: integer
style: form
sm.update_policy::query.if_primary_term:
in: query
name: if_primary_term
description: Primary term for optimistic concurrency control.
required: true
schema:
type: integer
style: form
sm.list_policies::query.from:
in: query
name: from
description: Starting index for pagination.
required: false
schema:
type: integer
default: 0
sm.list_policies::query.size:
in: query
name: size
description: Number of policies to return.
required: false
schema:
type: integer
default: 20
sm.list_policies::query.sortField:
in: query
name: sortField
description: Field to sort by.
required: false
schema:
type: string
default: sm_policy.name
sm.list_policies::query.sortOrder:
in: query
name: sortOrder
description: Sort order (asc or desc).
required: false
schema:
type: string
enum:
- asc
- desc
default: asc
sm.list_policies::query.queryString:
in: query
name: queryString
description: Query string for searching policies.
required: false
schema:
type: string
default: '*'
Loading

0 comments on commit 3f6f554

Please sign in to comment.