Files
object-browser/restapi/embedded_spec.go
Lenin Alevski 697bc4cd1d Refactor for session management (#193)
Previously every Handler function was receiving the session token in the
form of a jwt string, in consequence every time we want to access the
encrypted claims of the jwt we needed to run a decryption process,
additionally we were decrypting the jwt twice, first at the session
validation then inside each handler function, this was also causing a
lot of using related to the merge between m3 and mcs

What changed:

Now we validate and decrypt the jwt once in `configure_mcs.go`, this
works for both, mcs (console) and operator sessions, and then pass the
decrypted claims to all the functions that need it, so no further token
validation or decryption is need it.
2020-07-10 19:14:28 -07:00

5394 lines
120 KiB
Go

// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2020 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package restapi
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"encoding/json"
)
var (
// SwaggerJSON embedded version of the swagger document used at generation time
SwaggerJSON json.RawMessage
// FlatSwaggerJSON embedded flattened version of the swagger document used at generation time
FlatSwaggerJSON json.RawMessage
)
func init() {
SwaggerJSON = json.RawMessage([]byte(`{
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"schemes": [
"http",
"ws"
],
"swagger": "2.0",
"info": {
"title": "MinIO Console Server",
"version": "0.1.0"
},
"basePath": "/api/v1",
"paths": {
"/admin/arns": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Returns a list of active ARNs in the instance",
"operationId": "ArnList",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/arnsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/admin/info": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Returns information about the deployment",
"operationId": "AdminInfo",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/adminInfoResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/admin/notification_endpoints": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Returns a list of active notification endpoints",
"operationId": "NotificationEndpointList",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/notifEndpointResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Allows to configure a new notification endpoint",
"operationId": "AddNotificationEndpoint",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/notificationEndpoint"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/notificationEndpoint"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets": {
"get": {
"tags": [
"UserAPI"
],
"summary": "List Buckets",
"operationId": "ListBuckets",
"parameters": [
{
"type": "string",
"name": "sort_by",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listBucketsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"UserAPI"
],
"summary": "Make bucket",
"operationId": "MakeBucket",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/makeBucketRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{bucket_name}/events": {
"get": {
"tags": [
"UserAPI"
],
"summary": "List Bucket Events",
"operationId": "ListBucketEvents",
"parameters": [
{
"type": "string",
"name": "bucket_name",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listBucketEventsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"UserAPI"
],
"summary": "Create Bucket Event",
"operationId": "CreateBucketEvent",
"parameters": [
{
"type": "string",
"name": "bucket_name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/bucketEventRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{bucket_name}/events/{arn}": {
"delete": {
"tags": [
"UserAPI"
],
"summary": "Delete Bucket Event",
"operationId": "DeleteBucketEvent",
"parameters": [
{
"type": "string",
"name": "bucket_name",
"in": "path",
"required": true
},
{
"type": "string",
"name": "arn",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/notificationDeleteRequest"
}
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{name}": {
"get": {
"tags": [
"UserAPI"
],
"summary": "Bucket Info",
"operationId": "BucketInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/bucket"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"UserAPI"
],
"summary": "Delete Bucket",
"operationId": "DeleteBucket",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{name}/set-policy": {
"put": {
"tags": [
"UserAPI"
],
"summary": "Bucket Set Policy",
"operationId": "BucketSetPolicy",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/setBucketPolicyRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/bucket"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/configs": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Configurations",
"operationId": "ListConfig",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listConfigResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/configs/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Configuration info",
"operationId": "ConfigInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/configuration"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Set Configuration",
"operationId": "SetConfig",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/setConfigRequest"
}
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/groups": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Groups",
"operationId": "ListGroups",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listGroupsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Add Group",
"operationId": "AddGroup",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addGroupRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/groups/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Group info",
"operationId": "GroupInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/group"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update Group Members or Status",
"operationId": "UpdateGroup",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateGroupRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/group"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Remove group",
"operationId": "RemoveGroup",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/login": {
"get": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Returns login strategy, form or sso.",
"operationId": "LoginDetail",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/loginDetails"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Login to mcs",
"operationId": "Login",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/loginRequest"
}
}
],
"responses": {
"201": {
"description": "A successful login.",
"schema": {
"$ref": "#/definitions/loginResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/login/oauth2/auth": {
"post": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Identity Provider oauth2 callback endpoint.",
"operationId": "LoginOauth2Auth",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/loginOauth2AuthRequest"
}
}
],
"responses": {
"201": {
"description": "A successful login.",
"schema": {
"$ref": "#/definitions/loginResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/login/operator": {
"post": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Login to Operator Console.",
"operationId": "LoginOperator",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/loginOperatorRequest"
}
}
],
"responses": {
"201": {
"description": "A successful login.",
"schema": {
"$ref": "#/definitions/loginResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/logout": {
"post": {
"tags": [
"UserAPI"
],
"summary": "Logout from mcs.",
"operationId": "Logout",
"responses": {
"200": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/namespaces/{namespace}/resourcequotas/{resource-quota-name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Get Resource Quota",
"operationId": "GetResourceQuota",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "resource-quota-name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/resourceQuota"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/namespaces/{namespace}/tenants": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Tenants by Namespace",
"operationId": "ListTenants",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "sort_by",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listTenantsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/namespaces/{namespace}/tenants/{tenant}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Tenant Info",
"operationId": "TenantInfo",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "tenant",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/tenant"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update Tenant",
"operationId": "UpdateTenant",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "tenant",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateTenantRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Delete Tenant",
"operationId": "DeleteTenant",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "tenant",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/policies": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Policies",
"operationId": "ListPolicies",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listPoliciesResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Add Policy",
"operationId": "AddPolicy",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addPolicyRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/policy"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/policies/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Policy info",
"operationId": "PolicyInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/policy"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Remove policy",
"operationId": "RemovePolicy",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/profiling/start": {
"post": {
"tags": [
"AdminAPI"
],
"summary": "Start recording profile data",
"operationId": "ProfilingStart",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/profilingStartRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/startProfilingList"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/profiling/stop": {
"post": {
"produces": [
"application/octet-stream"
],
"tags": [
"AdminAPI"
],
"summary": "Stop and download profile data",
"operationId": "ProfilingStop",
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"type": "file"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/service-accounts": {
"get": {
"tags": [
"UserAPI"
],
"summary": "List User's Service Accounts",
"operationId": "ListUserServiceAccounts",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/serviceAccounts"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"UserAPI"
],
"summary": "Create Service Account",
"operationId": "CreateServiceAccount",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/serviceAccountRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/serviceAccountCreds"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/service-accounts/{access_key}": {
"delete": {
"tags": [
"UserAPI"
],
"summary": "Delete Service Account",
"operationId": "DeleteServiceAccount",
"parameters": [
{
"type": "string",
"name": "access_key",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/service/restart": {
"post": {
"tags": [
"AdminAPI"
],
"summary": "Restart Service",
"operationId": "RestartService",
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/session": {
"get": {
"tags": [
"UserAPI"
],
"summary": "Endpoint to check if your session is still valid",
"operationId": "SessionCheck",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/sessionResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/set-policy/{name}": {
"put": {
"tags": [
"AdminAPI"
],
"summary": "Set policy",
"operationId": "SetPolicy",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/setPolicyRequest"
}
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/tenants": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Tenant of All Namespaces",
"operationId": "ListAllTenants",
"parameters": [
{
"type": "string",
"name": "sort_by",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listTenantsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Create Tenant",
"operationId": "CreateTenant",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/createTenantRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/createTenantResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Users",
"operationId": "ListUsers",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listUsersResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Add User",
"operationId": "AddUser",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addUserRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users-groups-bulk": {
"put": {
"tags": [
"AdminAPI"
],
"summary": "Bulk functionality to Add Users to Groups",
"operationId": "BulkUpdateUsersGroups",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/bulkUserGroups"
}
}
],
"responses": {
"200": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Get User Info",
"operationId": "GetUserInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update User Info",
"operationId": "UpdateUserInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateUser"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Remove user",
"operationId": "RemoveUser",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users/{name}/groups": {
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update Groups for a user",
"operationId": "UpdateUserGroups",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateUserGroups"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
}
},
"definitions": {
"addGroupRequest": {
"type": "object",
"required": [
"group",
"members"
],
"properties": {
"group": {
"type": "string"
},
"members": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"addPolicyRequest": {
"type": "object",
"required": [
"name",
"policy"
],
"properties": {
"name": {
"type": "string"
},
"policy": {
"type": "string"
}
}
},
"addUserRequest": {
"type": "object",
"required": [
"accessKey",
"secretKey",
"groups"
],
"properties": {
"accessKey": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "string"
}
},
"secretKey": {
"type": "string"
}
}
},
"adminInfoResponse": {
"type": "object",
"properties": {
"buckets": {
"type": "integer"
},
"objects": {
"type": "integer"
},
"usage": {
"type": "integer"
}
}
},
"arnsResponse": {
"type": "object",
"properties": {
"arns": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"bucket": {
"type": "object",
"required": [
"name"
],
"properties": {
"access": {
"$ref": "#/definitions/bucketAccess"
},
"creation_date": {
"type": "string"
},
"name": {
"type": "string",
"minLength": 3
},
"size": {
"type": "integer",
"format": "int64"
}
}
},
"bucketAccess": {
"type": "string",
"default": "PRIVATE",
"enum": [
"PRIVATE",
"PUBLIC",
"CUSTOM"
]
},
"bucketEventRequest": {
"type": "object",
"required": [
"configuration"
],
"properties": {
"configuration": {
"$ref": "#/definitions/notificationConfig"
},
"ignoreExisting": {
"type": "boolean"
}
}
},
"bulkUserGroups": {
"type": "object",
"required": [
"users",
"groups"
],
"properties": {
"groups": {
"type": "array",
"items": {
"type": "string"
}
},
"users": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"configDescription": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"key": {
"type": "string"
}
}
},
"configuration": {
"type": "object",
"properties": {
"key_values": {
"type": "array",
"items": {
"$ref": "#/definitions/configurationKV"
}
},
"name": {
"type": "string"
}
}
},
"configurationKV": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"createTenantRequest": {
"type": "object",
"required": [
"name",
"volume_configuration",
"namespace"
],
"properties": {
"access_key": {
"type": "string"
},
"annotations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"enable_mcs": {
"type": "boolean",
"default": true
},
"enable_ssl": {
"type": "boolean",
"default": true
},
"image": {
"type": "string"
},
"mounth_path": {
"type": "string"
},
"name": {
"type": "string",
"pattern": "^[a-z0-9-]{3,63}$"
},
"namespace": {
"type": "string"
},
"secret_key": {
"type": "string"
},
"service_name": {
"type": "string"
},
"volume_configuration": {
"type": "object",
"required": [
"size"
],
"properties": {
"size": {
"type": "string"
},
"storage_class": {
"type": "string"
}
}
},
"volumes_per_server": {
"type": "integer"
},
"zones": {
"type": "array",
"items": {
"$ref": "#/definitions/zone"
}
}
}
},
"createTenantResponse": {
"type": "object",
"properties": {
"access_key": {
"type": "string"
},
"secret_key": {
"type": "string"
}
}
},
"error": {
"type": "object",
"required": [
"message"
],
"properties": {
"code": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
}
}
},
"group": {
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"policy": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"listBucketEventsResponse": {
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"$ref": "#/definitions/notificationConfig"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of bucket events"
}
}
},
"listBucketsResponse": {
"type": "object",
"properties": {
"buckets": {
"type": "array",
"title": "list of resulting buckets",
"items": {
"$ref": "#/definitions/bucket"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "number of buckets accessible to tenant user"
}
}
},
"listConfigResponse": {
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/definitions/configDescription"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of configurations"
}
}
},
"listGroupsResponse": {
"type": "object",
"properties": {
"groups": {
"type": "array",
"title": "list of groups",
"items": {
"type": "string"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of groups"
}
}
},
"listPoliciesResponse": {
"type": "object",
"properties": {
"policies": {
"type": "array",
"title": "list of policies",
"items": {
"$ref": "#/definitions/policy"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of policies"
}
}
},
"listTenantsResponse": {
"type": "object",
"properties": {
"tenants": {
"type": "array",
"title": "list of resulting tenants",
"items": {
"$ref": "#/definitions/tenantList"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "number of tenants accessible to tenant user"
}
}
},
"listUsersResponse": {
"type": "object",
"properties": {
"users": {
"type": "array",
"title": "list of resulting users",
"items": {
"$ref": "#/definitions/user"
}
}
}
},
"loginDetails": {
"type": "object",
"properties": {
"loginStrategy": {
"type": "string",
"enum": [
"form",
"redirect",
"service-account"
]
},
"redirect": {
"type": "string"
}
}
},
"loginOauth2AuthRequest": {
"type": "object",
"required": [
"state",
"code"
],
"properties": {
"code": {
"type": "string"
},
"state": {
"type": "string"
}
}
},
"loginOperatorRequest": {
"type": "object",
"required": [
"jwt"
],
"properties": {
"jwt": {
"type": "string"
}
}
},
"loginRequest": {
"type": "object",
"required": [
"accessKey",
"secretKey"
],
"properties": {
"accessKey": {
"type": "string"
},
"secretKey": {
"type": "string"
}
}
},
"loginResponse": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
}
},
"makeBucketRequest": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
},
"nofiticationService": {
"type": "string",
"enum": [
"webhook",
"amqp",
"kafka",
"mqtt",
"nats",
"nsq",
"mysql",
"postgres",
"elasticsearch",
"redis"
]
},
"notifEndpointResponse": {
"type": "object",
"properties": {
"notification_endpoints": {
"type": "array",
"items": {
"$ref": "#/definitions/notificationEndpointItem"
}
}
}
},
"notificationConfig": {
"type": "object",
"required": [
"arn"
],
"properties": {
"arn": {
"type": "string"
},
"events": {
"type": "array",
"title": "filter specific type of event. Defaults to all event (default: '[put,delete,get]')",
"items": {
"$ref": "#/definitions/notificationEventType"
}
},
"id": {
"type": "string"
},
"prefix": {
"type": "string",
"title": "filter event associated to the specified prefix"
},
"suffix": {
"type": "string",
"title": "filter event associated to the specified suffix"
}
}
},
"notificationDeleteRequest": {
"type": "object",
"required": [
"events",
"prefix",
"suffix"
],
"properties": {
"events": {
"type": "array",
"title": "filter specific type of event. Defaults to all event (default: '[put,delete,get]')",
"minLength": 1,
"items": {
"$ref": "#/definitions/notificationEventType"
}
},
"prefix": {
"type": "string",
"title": "filter event associated to the specified prefix"
},
"suffix": {
"type": "string",
"title": "filter event associated to the specified suffix"
}
}
},
"notificationEndpoint": {
"type": "object",
"required": [
"service",
"account_id",
"properties"
],
"properties": {
"account_id": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"service": {
"$ref": "#/definitions/nofiticationService"
}
}
},
"notificationEndpointItem": {
"type": "object",
"properties": {
"account_id": {
"type": "string"
},
"service": {
"$ref": "#/definitions/nofiticationService"
},
"status": {
"type": "string"
}
}
},
"notificationEventType": {
"type": "string",
"enum": [
"put",
"delete",
"get"
]
},
"policy": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"policy": {
"type": "string"
}
}
},
"policyEntity": {
"type": "string",
"default": "user",
"enum": [
"user",
"group"
]
},
"principal": {
"type": "object",
"properties": {
"accessKeyID": {
"type": "string"
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"secretAccessKey": {
"type": "string"
},
"sessionToken": {
"type": "string"
}
}
},
"profilerType": {
"type": "string",
"enum": [
"cpu",
"mem",
"block",
"mutex",
"trace",
"threads",
"goroutines"
]
},
"profilingStartRequest": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"$ref": "#/definitions/profilerType"
}
}
},
"resourceQuota": {
"type": "object",
"properties": {
"elements": {
"type": "array",
"items": {
"$ref": "#/definitions/resourceQuotaElement"
}
},
"name": {
"type": "string"
}
}
},
"resourceQuotaElement": {
"type": "object",
"properties": {
"hard": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"used": {
"type": "integer",
"format": "int64"
}
}
},
"serviceAccountCreds": {
"type": "object",
"properties": {
"accessKey": {
"type": "string"
},
"secretKey": {
"type": "string"
}
}
},
"serviceAccountRequest": {
"type": "object",
"properties": {
"policy": {
"type": "string",
"title": "policy to be applied to the Service Account if any"
}
}
},
"serviceAccounts": {
"type": "array",
"items": {
"type": "string"
}
},
"sessionResponse": {
"type": "object",
"properties": {
"pages": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"enum": [
"ok"
]
}
}
},
"setBucketPolicyRequest": {
"type": "object",
"required": [
"access"
],
"properties": {
"access": {
"$ref": "#/definitions/bucketAccess"
}
}
},
"setConfigRequest": {
"type": "object",
"required": [
"key_values"
],
"properties": {
"arn_resource_id": {
"type": "string",
"title": "Used if configuration is an event notification's target"
},
"key_values": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/configurationKV"
}
}
}
},
"setPolicyRequest": {
"type": "object",
"required": [
"entityType",
"entityName"
],
"properties": {
"entityName": {
"type": "string"
},
"entityType": {
"$ref": "#/definitions/policyEntity"
}
}
},
"startProfilingItem": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"success": {
"type": "boolean"
}
}
},
"startProfilingList": {
"type": "object",
"properties": {
"startResults": {
"type": "array",
"items": {
"$ref": "#/definitions/startProfilingItem"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "number of start results"
}
}
},
"tenant": {
"type": "object",
"properties": {
"creation_date": {
"type": "string"
},
"currentState": {
"type": "string"
},
"image": {
"type": "string"
},
"instance_count": {
"type": "integer"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"total_size": {
"type": "integer",
"format": "int64"
},
"used_size": {
"type": "integer",
"format": "int64"
},
"volume_count": {
"type": "integer"
},
"volume_size": {
"type": "integer",
"format": "int64"
},
"volumes_per_server": {
"type": "integer"
},
"zone_count": {
"type": "integer"
},
"zones": {
"type": "array",
"items": {
"$ref": "#/definitions/zone"
}
}
}
},
"tenantList": {
"type": "object",
"properties": {
"creation_date": {
"type": "string"
},
"currentState": {
"type": "string"
},
"instance_count": {
"type": "integer"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"volume_count": {
"type": "integer"
},
"volume_size": {
"type": "integer"
},
"zone_count": {
"type": "integer"
}
}
},
"updateGroupRequest": {
"type": "object",
"required": [
"members",
"status"
],
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string"
}
}
},
"updateTenantRequest": {
"type": "object",
"properties": {
"image": {
"type": "string",
"pattern": "^((.*?)/(.*?):(.+))$"
}
}
},
"updateUser": {
"type": "object",
"required": [
"status",
"groups"
],
"properties": {
"groups": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string"
}
}
},
"updateUserGroups": {
"type": "object",
"required": [
"groups"
],
"properties": {
"groups": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"user": {
"type": "object",
"properties": {
"accessKey": {
"type": "string"
},
"memberOf": {
"type": "array",
"items": {
"type": "string"
}
},
"policy": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"zone": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"servers": {
"type": "integer"
}
}
}
},
"securityDefinitions": {
"key": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "http://min.io",
"tokenUrl": "http://min.io"
}
},
"security": [
{
"key": []
}
]
}`))
FlatSwaggerJSON = json.RawMessage([]byte(`{
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"schemes": [
"http",
"ws"
],
"swagger": "2.0",
"info": {
"title": "MinIO Console Server",
"version": "0.1.0"
},
"basePath": "/api/v1",
"paths": {
"/admin/arns": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Returns a list of active ARNs in the instance",
"operationId": "ArnList",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/arnsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/admin/info": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Returns information about the deployment",
"operationId": "AdminInfo",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/adminInfoResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/admin/notification_endpoints": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Returns a list of active notification endpoints",
"operationId": "NotificationEndpointList",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/notifEndpointResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Allows to configure a new notification endpoint",
"operationId": "AddNotificationEndpoint",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/notificationEndpoint"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/notificationEndpoint"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets": {
"get": {
"tags": [
"UserAPI"
],
"summary": "List Buckets",
"operationId": "ListBuckets",
"parameters": [
{
"type": "string",
"name": "sort_by",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listBucketsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"UserAPI"
],
"summary": "Make bucket",
"operationId": "MakeBucket",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/makeBucketRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{bucket_name}/events": {
"get": {
"tags": [
"UserAPI"
],
"summary": "List Bucket Events",
"operationId": "ListBucketEvents",
"parameters": [
{
"type": "string",
"name": "bucket_name",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listBucketEventsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"UserAPI"
],
"summary": "Create Bucket Event",
"operationId": "CreateBucketEvent",
"parameters": [
{
"type": "string",
"name": "bucket_name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/bucketEventRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{bucket_name}/events/{arn}": {
"delete": {
"tags": [
"UserAPI"
],
"summary": "Delete Bucket Event",
"operationId": "DeleteBucketEvent",
"parameters": [
{
"type": "string",
"name": "bucket_name",
"in": "path",
"required": true
},
{
"type": "string",
"name": "arn",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/notificationDeleteRequest"
}
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{name}": {
"get": {
"tags": [
"UserAPI"
],
"summary": "Bucket Info",
"operationId": "BucketInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/bucket"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"UserAPI"
],
"summary": "Delete Bucket",
"operationId": "DeleteBucket",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/buckets/{name}/set-policy": {
"put": {
"tags": [
"UserAPI"
],
"summary": "Bucket Set Policy",
"operationId": "BucketSetPolicy",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/setBucketPolicyRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/bucket"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/configs": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Configurations",
"operationId": "ListConfig",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listConfigResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/configs/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Configuration info",
"operationId": "ConfigInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/configuration"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Set Configuration",
"operationId": "SetConfig",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/setConfigRequest"
}
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/groups": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Groups",
"operationId": "ListGroups",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listGroupsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Add Group",
"operationId": "AddGroup",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addGroupRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/groups/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Group info",
"operationId": "GroupInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/group"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update Group Members or Status",
"operationId": "UpdateGroup",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateGroupRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/group"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Remove group",
"operationId": "RemoveGroup",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/login": {
"get": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Returns login strategy, form or sso.",
"operationId": "LoginDetail",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/loginDetails"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Login to mcs",
"operationId": "Login",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/loginRequest"
}
}
],
"responses": {
"201": {
"description": "A successful login.",
"schema": {
"$ref": "#/definitions/loginResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/login/oauth2/auth": {
"post": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Identity Provider oauth2 callback endpoint.",
"operationId": "LoginOauth2Auth",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/loginOauth2AuthRequest"
}
}
],
"responses": {
"201": {
"description": "A successful login.",
"schema": {
"$ref": "#/definitions/loginResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/login/operator": {
"post": {
"security": [],
"tags": [
"UserAPI"
],
"summary": "Login to Operator Console.",
"operationId": "LoginOperator",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/loginOperatorRequest"
}
}
],
"responses": {
"201": {
"description": "A successful login.",
"schema": {
"$ref": "#/definitions/loginResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/logout": {
"post": {
"tags": [
"UserAPI"
],
"summary": "Logout from mcs.",
"operationId": "Logout",
"responses": {
"200": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/namespaces/{namespace}/resourcequotas/{resource-quota-name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Get Resource Quota",
"operationId": "GetResourceQuota",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "resource-quota-name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/resourceQuota"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/namespaces/{namespace}/tenants": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Tenants by Namespace",
"operationId": "ListTenants",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "sort_by",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listTenantsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/namespaces/{namespace}/tenants/{tenant}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Tenant Info",
"operationId": "TenantInfo",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "tenant",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/tenant"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update Tenant",
"operationId": "UpdateTenant",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "tenant",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateTenantRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Delete Tenant",
"operationId": "DeleteTenant",
"parameters": [
{
"type": "string",
"name": "namespace",
"in": "path",
"required": true
},
{
"type": "string",
"name": "tenant",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/policies": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Policies",
"operationId": "ListPolicies",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listPoliciesResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Add Policy",
"operationId": "AddPolicy",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addPolicyRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/policy"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/policies/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Policy info",
"operationId": "PolicyInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/policy"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Remove policy",
"operationId": "RemovePolicy",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/profiling/start": {
"post": {
"tags": [
"AdminAPI"
],
"summary": "Start recording profile data",
"operationId": "ProfilingStart",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/profilingStartRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/startProfilingList"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/profiling/stop": {
"post": {
"produces": [
"application/octet-stream"
],
"tags": [
"AdminAPI"
],
"summary": "Stop and download profile data",
"operationId": "ProfilingStop",
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"type": "file"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/service-accounts": {
"get": {
"tags": [
"UserAPI"
],
"summary": "List User's Service Accounts",
"operationId": "ListUserServiceAccounts",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/serviceAccounts"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"UserAPI"
],
"summary": "Create Service Account",
"operationId": "CreateServiceAccount",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/serviceAccountRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/serviceAccountCreds"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/service-accounts/{access_key}": {
"delete": {
"tags": [
"UserAPI"
],
"summary": "Delete Service Account",
"operationId": "DeleteServiceAccount",
"parameters": [
{
"type": "string",
"name": "access_key",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/service/restart": {
"post": {
"tags": [
"AdminAPI"
],
"summary": "Restart Service",
"operationId": "RestartService",
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/session": {
"get": {
"tags": [
"UserAPI"
],
"summary": "Endpoint to check if your session is still valid",
"operationId": "SessionCheck",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/sessionResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/set-policy/{name}": {
"put": {
"tags": [
"AdminAPI"
],
"summary": "Set policy",
"operationId": "SetPolicy",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/setPolicyRequest"
}
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/tenants": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Tenant of All Namespaces",
"operationId": "ListAllTenants",
"parameters": [
{
"type": "string",
"name": "sort_by",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listTenantsResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Create Tenant",
"operationId": "CreateTenant",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/createTenantRequest"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/createTenantResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "List Users",
"operationId": "ListUsers",
"parameters": [
{
"type": "integer",
"format": "int32",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"format": "int32",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/listUsersResponse"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"post": {
"tags": [
"AdminAPI"
],
"summary": "Add User",
"operationId": "AddUser",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addUserRequest"
}
}
],
"responses": {
"201": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users-groups-bulk": {
"put": {
"tags": [
"AdminAPI"
],
"summary": "Bulk functionality to Add Users to Groups",
"operationId": "BulkUpdateUsersGroups",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/bulkUserGroups"
}
}
],
"responses": {
"200": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users/{name}": {
"get": {
"tags": [
"AdminAPI"
],
"summary": "Get User Info",
"operationId": "GetUserInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update User Info",
"operationId": "UpdateUserInfo",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateUser"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
},
"delete": {
"tags": [
"AdminAPI"
],
"summary": "Remove user",
"operationId": "RemoveUser",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "A successful response."
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
},
"/users/{name}/groups": {
"put": {
"tags": [
"AdminAPI"
],
"summary": "Update Groups for a user",
"operationId": "UpdateUserGroups",
"parameters": [
{
"type": "string",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/updateUserGroups"
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/user"
}
},
"default": {
"description": "Generic error response.",
"schema": {
"$ref": "#/definitions/error"
}
}
}
}
}
},
"definitions": {
"CreateTenantRequestVolumeConfiguration": {
"type": "object",
"required": [
"size"
],
"properties": {
"size": {
"type": "string"
},
"storage_class": {
"type": "string"
}
}
},
"addGroupRequest": {
"type": "object",
"required": [
"group",
"members"
],
"properties": {
"group": {
"type": "string"
},
"members": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"addPolicyRequest": {
"type": "object",
"required": [
"name",
"policy"
],
"properties": {
"name": {
"type": "string"
},
"policy": {
"type": "string"
}
}
},
"addUserRequest": {
"type": "object",
"required": [
"accessKey",
"secretKey",
"groups"
],
"properties": {
"accessKey": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "string"
}
},
"secretKey": {
"type": "string"
}
}
},
"adminInfoResponse": {
"type": "object",
"properties": {
"buckets": {
"type": "integer"
},
"objects": {
"type": "integer"
},
"usage": {
"type": "integer"
}
}
},
"arnsResponse": {
"type": "object",
"properties": {
"arns": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"bucket": {
"type": "object",
"required": [
"name"
],
"properties": {
"access": {
"$ref": "#/definitions/bucketAccess"
},
"creation_date": {
"type": "string"
},
"name": {
"type": "string",
"minLength": 3
},
"size": {
"type": "integer",
"format": "int64"
}
}
},
"bucketAccess": {
"type": "string",
"default": "PRIVATE",
"enum": [
"PRIVATE",
"PUBLIC",
"CUSTOM"
]
},
"bucketEventRequest": {
"type": "object",
"required": [
"configuration"
],
"properties": {
"configuration": {
"$ref": "#/definitions/notificationConfig"
},
"ignoreExisting": {
"type": "boolean"
}
}
},
"bulkUserGroups": {
"type": "object",
"required": [
"users",
"groups"
],
"properties": {
"groups": {
"type": "array",
"items": {
"type": "string"
}
},
"users": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"configDescription": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"key": {
"type": "string"
}
}
},
"configuration": {
"type": "object",
"properties": {
"key_values": {
"type": "array",
"items": {
"$ref": "#/definitions/configurationKV"
}
},
"name": {
"type": "string"
}
}
},
"configurationKV": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"createTenantRequest": {
"type": "object",
"required": [
"name",
"volume_configuration",
"namespace"
],
"properties": {
"access_key": {
"type": "string"
},
"annotations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"enable_mcs": {
"type": "boolean",
"default": true
},
"enable_ssl": {
"type": "boolean",
"default": true
},
"image": {
"type": "string"
},
"mounth_path": {
"type": "string"
},
"name": {
"type": "string",
"pattern": "^[a-z0-9-]{3,63}$"
},
"namespace": {
"type": "string"
},
"secret_key": {
"type": "string"
},
"service_name": {
"type": "string"
},
"volume_configuration": {
"type": "object",
"required": [
"size"
],
"properties": {
"size": {
"type": "string"
},
"storage_class": {
"type": "string"
}
}
},
"volumes_per_server": {
"type": "integer"
},
"zones": {
"type": "array",
"items": {
"$ref": "#/definitions/zone"
}
}
}
},
"createTenantResponse": {
"type": "object",
"properties": {
"access_key": {
"type": "string"
},
"secret_key": {
"type": "string"
}
}
},
"error": {
"type": "object",
"required": [
"message"
],
"properties": {
"code": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
}
}
},
"group": {
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"policy": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"listBucketEventsResponse": {
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"$ref": "#/definitions/notificationConfig"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of bucket events"
}
}
},
"listBucketsResponse": {
"type": "object",
"properties": {
"buckets": {
"type": "array",
"title": "list of resulting buckets",
"items": {
"$ref": "#/definitions/bucket"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "number of buckets accessible to tenant user"
}
}
},
"listConfigResponse": {
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/definitions/configDescription"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of configurations"
}
}
},
"listGroupsResponse": {
"type": "object",
"properties": {
"groups": {
"type": "array",
"title": "list of groups",
"items": {
"type": "string"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of groups"
}
}
},
"listPoliciesResponse": {
"type": "object",
"properties": {
"policies": {
"type": "array",
"title": "list of policies",
"items": {
"$ref": "#/definitions/policy"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "total number of policies"
}
}
},
"listTenantsResponse": {
"type": "object",
"properties": {
"tenants": {
"type": "array",
"title": "list of resulting tenants",
"items": {
"$ref": "#/definitions/tenantList"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "number of tenants accessible to tenant user"
}
}
},
"listUsersResponse": {
"type": "object",
"properties": {
"users": {
"type": "array",
"title": "list of resulting users",
"items": {
"$ref": "#/definitions/user"
}
}
}
},
"loginDetails": {
"type": "object",
"properties": {
"loginStrategy": {
"type": "string",
"enum": [
"form",
"redirect",
"service-account"
]
},
"redirect": {
"type": "string"
}
}
},
"loginOauth2AuthRequest": {
"type": "object",
"required": [
"state",
"code"
],
"properties": {
"code": {
"type": "string"
},
"state": {
"type": "string"
}
}
},
"loginOperatorRequest": {
"type": "object",
"required": [
"jwt"
],
"properties": {
"jwt": {
"type": "string"
}
}
},
"loginRequest": {
"type": "object",
"required": [
"accessKey",
"secretKey"
],
"properties": {
"accessKey": {
"type": "string"
},
"secretKey": {
"type": "string"
}
}
},
"loginResponse": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
}
},
"makeBucketRequest": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
},
"nofiticationService": {
"type": "string",
"enum": [
"webhook",
"amqp",
"kafka",
"mqtt",
"nats",
"nsq",
"mysql",
"postgres",
"elasticsearch",
"redis"
]
},
"notifEndpointResponse": {
"type": "object",
"properties": {
"notification_endpoints": {
"type": "array",
"items": {
"$ref": "#/definitions/notificationEndpointItem"
}
}
}
},
"notificationConfig": {
"type": "object",
"required": [
"arn"
],
"properties": {
"arn": {
"type": "string"
},
"events": {
"type": "array",
"title": "filter specific type of event. Defaults to all event (default: '[put,delete,get]')",
"items": {
"$ref": "#/definitions/notificationEventType"
}
},
"id": {
"type": "string"
},
"prefix": {
"type": "string",
"title": "filter event associated to the specified prefix"
},
"suffix": {
"type": "string",
"title": "filter event associated to the specified suffix"
}
}
},
"notificationDeleteRequest": {
"type": "object",
"required": [
"events",
"prefix",
"suffix"
],
"properties": {
"events": {
"type": "array",
"title": "filter specific type of event. Defaults to all event (default: '[put,delete,get]')",
"minLength": 1,
"items": {
"$ref": "#/definitions/notificationEventType"
}
},
"prefix": {
"type": "string",
"title": "filter event associated to the specified prefix"
},
"suffix": {
"type": "string",
"title": "filter event associated to the specified suffix"
}
}
},
"notificationEndpoint": {
"type": "object",
"required": [
"service",
"account_id",
"properties"
],
"properties": {
"account_id": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"service": {
"$ref": "#/definitions/nofiticationService"
}
}
},
"notificationEndpointItem": {
"type": "object",
"properties": {
"account_id": {
"type": "string"
},
"service": {
"$ref": "#/definitions/nofiticationService"
},
"status": {
"type": "string"
}
}
},
"notificationEventType": {
"type": "string",
"enum": [
"put",
"delete",
"get"
]
},
"policy": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"policy": {
"type": "string"
}
}
},
"policyEntity": {
"type": "string",
"default": "user",
"enum": [
"user",
"group"
]
},
"principal": {
"type": "object",
"properties": {
"accessKeyID": {
"type": "string"
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"secretAccessKey": {
"type": "string"
},
"sessionToken": {
"type": "string"
}
}
},
"profilerType": {
"type": "string",
"enum": [
"cpu",
"mem",
"block",
"mutex",
"trace",
"threads",
"goroutines"
]
},
"profilingStartRequest": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"$ref": "#/definitions/profilerType"
}
}
},
"resourceQuota": {
"type": "object",
"properties": {
"elements": {
"type": "array",
"items": {
"$ref": "#/definitions/resourceQuotaElement"
}
},
"name": {
"type": "string"
}
}
},
"resourceQuotaElement": {
"type": "object",
"properties": {
"hard": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"used": {
"type": "integer",
"format": "int64"
}
}
},
"serviceAccountCreds": {
"type": "object",
"properties": {
"accessKey": {
"type": "string"
},
"secretKey": {
"type": "string"
}
}
},
"serviceAccountRequest": {
"type": "object",
"properties": {
"policy": {
"type": "string",
"title": "policy to be applied to the Service Account if any"
}
}
},
"serviceAccounts": {
"type": "array",
"items": {
"type": "string"
}
},
"sessionResponse": {
"type": "object",
"properties": {
"pages": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"enum": [
"ok"
]
}
}
},
"setBucketPolicyRequest": {
"type": "object",
"required": [
"access"
],
"properties": {
"access": {
"$ref": "#/definitions/bucketAccess"
}
}
},
"setConfigRequest": {
"type": "object",
"required": [
"key_values"
],
"properties": {
"arn_resource_id": {
"type": "string",
"title": "Used if configuration is an event notification's target"
},
"key_values": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/configurationKV"
}
}
}
},
"setPolicyRequest": {
"type": "object",
"required": [
"entityType",
"entityName"
],
"properties": {
"entityName": {
"type": "string"
},
"entityType": {
"$ref": "#/definitions/policyEntity"
}
}
},
"startProfilingItem": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"success": {
"type": "boolean"
}
}
},
"startProfilingList": {
"type": "object",
"properties": {
"startResults": {
"type": "array",
"items": {
"$ref": "#/definitions/startProfilingItem"
}
},
"total": {
"type": "integer",
"format": "int64",
"title": "number of start results"
}
}
},
"tenant": {
"type": "object",
"properties": {
"creation_date": {
"type": "string"
},
"currentState": {
"type": "string"
},
"image": {
"type": "string"
},
"instance_count": {
"type": "integer"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"total_size": {
"type": "integer",
"format": "int64"
},
"used_size": {
"type": "integer",
"format": "int64"
},
"volume_count": {
"type": "integer"
},
"volume_size": {
"type": "integer",
"format": "int64"
},
"volumes_per_server": {
"type": "integer"
},
"zone_count": {
"type": "integer"
},
"zones": {
"type": "array",
"items": {
"$ref": "#/definitions/zone"
}
}
}
},
"tenantList": {
"type": "object",
"properties": {
"creation_date": {
"type": "string"
},
"currentState": {
"type": "string"
},
"instance_count": {
"type": "integer"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"volume_count": {
"type": "integer"
},
"volume_size": {
"type": "integer"
},
"zone_count": {
"type": "integer"
}
}
},
"updateGroupRequest": {
"type": "object",
"required": [
"members",
"status"
],
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string"
}
}
},
"updateTenantRequest": {
"type": "object",
"properties": {
"image": {
"type": "string",
"pattern": "^((.*?)/(.*?):(.+))$"
}
}
},
"updateUser": {
"type": "object",
"required": [
"status",
"groups"
],
"properties": {
"groups": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string"
}
}
},
"updateUserGroups": {
"type": "object",
"required": [
"groups"
],
"properties": {
"groups": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"user": {
"type": "object",
"properties": {
"accessKey": {
"type": "string"
},
"memberOf": {
"type": "array",
"items": {
"type": "string"
}
},
"policy": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"zone": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"servers": {
"type": "integer"
}
}
}
},
"securityDefinitions": {
"key": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "http://min.io",
"tokenUrl": "http://min.io"
}
},
"security": [
{
"key": []
}
]
}`))
}