// 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 . // 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" } } } } }, "/namespaces/{namespace}/tenants/{tenant}/zones": { "post": { "tags": [ "AdminAPI" ], "summary": "Tenant Add Zone", "operationId": "TenantAddZone", "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/zone" } } ], "responses": { "201": { "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" }, "storage_class": { "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", "required": [ "name", "servers" ], "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" } } } } }, "/namespaces/{namespace}/tenants/{tenant}/zones": { "post": { "tags": [ "AdminAPI" ], "summary": "Tenant Add Zone", "operationId": "TenantAddZone", "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/zone" } } ], "responses": { "201": { "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" }, "storage_class": { "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", "required": [ "name", "servers" ], "properties": { "name": { "type": "string" }, "servers": { "type": "integer" } } } }, "securityDefinitions": { "key": { "type": "oauth2", "flow": "accessCode", "authorizationUrl": "http://min.io", "tokenUrl": "http://min.io" } }, "security": [ { "key": [] } ] }`)) }