openapi: 3.0.1
info:
x-logo:
url: https://www.gridgain.com/assets/web/images/gridgain-logo-2021.svg
backgroundColor: '#FFFFFF'
altText: Example logo
title: GridGain REST module authentication roleManagement API
contact:
email: user@ignite.apache.org
license:
name: Apache 2.0
url: https://ignite.apache.org
version: 9.1.22
servers:
- url: http://localhost:10300
description: Default GridGain 9 management API
- url: http://localhost:8080/ignite
description: GridGain 8 / Ignite REST API
security:
- bearerToken: []
- basicAuth: []
tags:
- name: roleManagement
paths:
/management/v1/rbac/roles:
get:
tags:
- roleManagement
summary: Get the list of roles
description: Returns the list of all roles.
operationId: getRoles
responses:
'200':
description: Returns the list of all roles.
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Role'
'404':
description: No roles endpoint enabled. Most likely, the cluster is not initialized.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'503':
description: Missing license error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
post:
tags:
- roleManagement
summary: Create role
description: Create role.
operationId: createRole
requestBody:
description: Role body.
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
required: true
responses:
'200':
description: Role is created.
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'503':
description: Missing license error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'400':
description: Incorrect user.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Endpoint not found. Most likely, the cluster is not initialized.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'409':
description: The role already exists
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/management/v1/rbac/roles/{roleName}:
get:
tags:
- roleManagement
summary: Get role by name
description: Returns a role.
operationId: getRole
parameters:
- name: roleName
in: path
description: Role name.
required: true
schema:
type: string
responses:
'200':
description: Returns a role.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Role'
'404':
description: No such role or the cluster is not initialized.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'503':
description: Missing license error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
delete:
tags:
- roleManagement
summary: Delete role by name
description: Delete a role.
operationId: deleteRole
parameters:
- name: roleName
in: path
description: Role name.
required: true
schema:
type: string
- name: revoke
in: query
required: true
schema:
type: boolean
description: Revoke role from all users.
default: false
responses:
'200':
description: Role is deleted.
'404':
description: No such role or the cluster is not initialized.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'503':
description: Missing license error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
components:
schemas:
Problem:
type: object
properties:
title:
type: string
description: Short summary of the issue.
status:
type: integer
description: Returned HTTP status code.
format: int32
code:
type: string
description: Ignite 3 error code.
type:
type: string
description: URI to documentation regarding the issue.
detail:
type: string
description: Extended explanation of the issue.
node:
type: string
description: Name of the node the issue happened on.
traceId:
type: string
description: Unique issue identifier. This identifier can be used to find logs related to the issue.
format: uuid
invalidParams:
type: array
description: A list of parameters that did not pass validation and the reason for it.
items:
$ref: '#/components/schemas/InvalidParam'
description: Extended description of the problem with the request.
Role:
type: object
properties:
roleName:
type: string
description: Role name
description: Role
InvalidParam:
type: object
properties:
name:
type: string
description: Parameter name.
reason:
type: string
description: The issue with the parameter.
description: Information about invalid request parameter.
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerToken:
type: http
scheme: bearer