2530 lines
64 KiB
YAML
2530 lines
64 KiB
YAML
swagger: "2.0"
|
|
info:
|
|
title: MinIO Console Server
|
|
version: 0.1.0
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
schemes:
|
|
- http
|
|
- ws
|
|
basePath: /api/v1
|
|
# We are going to be taking `Authorization: Bearer TOKEN` header for our authentication
|
|
securityDefinitions:
|
|
key:
|
|
type: oauth2
|
|
flow: accessCode
|
|
authorizationUrl: http://min.io
|
|
tokenUrl: http://min.io
|
|
# Apply the key security definition to all APIs
|
|
security:
|
|
- key: []
|
|
paths:
|
|
/login:
|
|
get:
|
|
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"
|
|
# Exclude this API from the authentication requirement
|
|
security: []
|
|
tags:
|
|
- UserAPI
|
|
post:
|
|
summary: Login to Console
|
|
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"
|
|
# Exclude this API from the authentication requirement
|
|
security: []
|
|
tags:
|
|
- UserAPI
|
|
/login/operator:
|
|
post:
|
|
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"
|
|
security: []
|
|
tags:
|
|
- UserAPI
|
|
|
|
/login/oauth2/auth:
|
|
post:
|
|
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"
|
|
security: []
|
|
tags:
|
|
- UserAPI
|
|
|
|
/logout:
|
|
post:
|
|
summary: Logout from Console.
|
|
operationId: Logout
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/session:
|
|
get:
|
|
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"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/buckets:
|
|
get:
|
|
summary: List Buckets
|
|
operationId: ListBuckets
|
|
parameters:
|
|
- name: sort_by
|
|
in: query
|
|
required: false
|
|
type: string
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listBucketsResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- UserAPI
|
|
post:
|
|
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"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/buckets/{name}:
|
|
get:
|
|
summary: Bucket Info
|
|
operationId: BucketInfo
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/bucket"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- UserAPI
|
|
delete:
|
|
summary: Delete Bucket
|
|
operationId: DeleteBucket
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
204:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/buckets/{name}/set-policy:
|
|
put:
|
|
summary: Bucket Set Policy
|
|
operationId: BucketSetPolicy
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/buckets/{bucket_name}/events:
|
|
get:
|
|
summary: List Bucket Events
|
|
operationId: ListBucketEvents
|
|
parameters:
|
|
- name: bucket_name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listBucketEventsResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- UserAPI
|
|
post:
|
|
summary: Create Bucket Event
|
|
operationId: CreateBucketEvent
|
|
parameters:
|
|
- name: bucket_name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/buckets/{bucket_name}/events/{arn}:
|
|
delete:
|
|
summary: Delete Bucket Event
|
|
operationId: DeleteBucketEvent
|
|
parameters:
|
|
- name: bucket_name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: arn
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/service-accounts:
|
|
get:
|
|
summary: List User's Service Accounts
|
|
operationId: ListUserServiceAccounts
|
|
parameters:
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/serviceAccounts"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- UserAPI
|
|
post:
|
|
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"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/service-accounts/{access_key}:
|
|
delete:
|
|
summary: Delete Service Account
|
|
operationId: DeleteServiceAccount
|
|
parameters:
|
|
- name: access_key
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
204:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- UserAPI
|
|
|
|
/users:
|
|
get:
|
|
summary: List Users
|
|
operationId: ListUsers
|
|
parameters:
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listUsersResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
post:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/users/{name}:
|
|
get:
|
|
summary: Get User Info
|
|
operationId: GetUserInfo
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/user"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
put:
|
|
summary: Update User Info
|
|
operationId: UpdateUserInfo
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- AdminAPI
|
|
delete:
|
|
summary: Remove user
|
|
operationId: RemoveUser
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
204:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/users/{name}/groups:
|
|
put:
|
|
summary: Update Groups for a user
|
|
operationId: UpdateUserGroups
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/users-groups-bulk:
|
|
put:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/groups:
|
|
get:
|
|
summary: List Groups
|
|
operationId: ListGroups
|
|
parameters:
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listGroupsResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
post:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/groups/{name}:
|
|
get:
|
|
summary: Group info
|
|
operationId: GroupInfo
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/group"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
delete:
|
|
summary: Remove group
|
|
operationId: RemoveGroup
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
204:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
put:
|
|
summary: Update Group Members or Status
|
|
operationId: UpdateGroup
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/policies:
|
|
get:
|
|
summary: List Policies
|
|
operationId: ListPolicies
|
|
parameters:
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listPoliciesResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
post:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/policies/{name}:
|
|
delete:
|
|
summary: Remove policy
|
|
operationId: RemovePolicy
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
204:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
get:
|
|
summary: Policy info
|
|
operationId: PolicyInfo
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/policy"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/configs:
|
|
get:
|
|
summary: List Configurations
|
|
operationId: ListConfig
|
|
parameters:
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listConfigResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/set-policy/{name}:
|
|
put:
|
|
summary: Set policy
|
|
operationId: SetPolicy
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/configs/{name}:
|
|
get:
|
|
summary: Configuration info
|
|
operationId: ConfigInfo
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/configuration"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
put:
|
|
summary: Set Configuration
|
|
operationId: SetConfig
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/service/restart:
|
|
post:
|
|
summary: Restart Service
|
|
operationId: RestartService
|
|
responses:
|
|
204:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
/profiling/start:
|
|
post:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/profiling/stop:
|
|
post:
|
|
summary: Stop and download profile data
|
|
operationId: ProfilingStop
|
|
produces:
|
|
- application/octet-stream
|
|
responses:
|
|
201:
|
|
description: A successful response.
|
|
schema:
|
|
type: file
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/admin/info:
|
|
get:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/admin/arns:
|
|
get:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/admin/notification_endpoints:
|
|
get:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
post:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/tenants:
|
|
get:
|
|
summary: List Tenant of All Namespaces
|
|
operationId: ListAllTenants
|
|
parameters:
|
|
- name: sort_by
|
|
in: query
|
|
required: false
|
|
type: string
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listTenantsResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
post:
|
|
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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/namespaces/{namespace}/tenants:
|
|
get:
|
|
summary: List Tenants by Namespace
|
|
operationId: ListTenants
|
|
parameters:
|
|
- name: namespace
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: sort_by
|
|
in: query
|
|
required: false
|
|
type: string
|
|
- name: offset
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
format: int32
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/listTenantsResponse"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/namespaces/{namespace}/tenants/{tenant}:
|
|
get:
|
|
summary: Tenant Info
|
|
operationId: TenantInfo
|
|
parameters:
|
|
- name: namespace
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/tenant"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
delete:
|
|
summary: Delete tenant and underlying pvcs
|
|
operationId: DeleteTenant
|
|
parameters:
|
|
- name: namespace
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: body
|
|
in: body
|
|
required: false
|
|
schema:
|
|
$ref: "#/definitions/deleteTenantRequest"
|
|
responses:
|
|
204:
|
|
description: A successful response.
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
put:
|
|
summary: Update Tenant
|
|
operationId: UpdateTenant
|
|
parameters:
|
|
- name: namespace
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/namespaces/{namespace}/tenants/{tenant}/zones:
|
|
post:
|
|
summary: Tenant Add Zone
|
|
operationId: TenantAddZone
|
|
parameters:
|
|
- name: namespace
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- 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"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/namespaces/{namespace}/tenants/{tenant}/usage:
|
|
get:
|
|
summary: Get Usage For The Tenant
|
|
operationId: GetTenantUsage
|
|
parameters:
|
|
- name: namespace
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/tenantUsage"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
/namespaces/{namespace}/resourcequotas/{resource-quota-name}:
|
|
get:
|
|
summary: Get Resource Quota
|
|
operationId: GetResourceQuota
|
|
parameters:
|
|
- name: namespace
|
|
in: path
|
|
required: true
|
|
type: string
|
|
- name: resource-quota-name
|
|
in: path
|
|
required: true
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: A successful response.
|
|
schema:
|
|
$ref: "#/definitions/resourceQuota"
|
|
default:
|
|
description: Generic error response.
|
|
schema:
|
|
$ref: "#/definitions/error"
|
|
tags:
|
|
- AdminAPI
|
|
|
|
definitions:
|
|
bucketAccess:
|
|
type: string
|
|
enum:
|
|
- PRIVATE
|
|
- PUBLIC
|
|
- CUSTOM
|
|
default: PRIVATE
|
|
bucket:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
minLength: 3
|
|
size:
|
|
type: integer
|
|
format: int64
|
|
access:
|
|
$ref: "#/definitions/bucketAccess"
|
|
creation_date:
|
|
type: string
|
|
listBucketsResponse:
|
|
type: object
|
|
properties:
|
|
buckets:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/bucket"
|
|
title: list of resulting buckets
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
title: number of buckets accessible to tenant user
|
|
makeBucketRequest:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
error:
|
|
type: object
|
|
required:
|
|
- message
|
|
properties:
|
|
code:
|
|
type: integer
|
|
format: int64
|
|
message:
|
|
type: string
|
|
user:
|
|
type: object
|
|
properties:
|
|
accessKey:
|
|
type: string
|
|
policy:
|
|
type: string
|
|
memberOf:
|
|
type: array
|
|
items:
|
|
type: string
|
|
status:
|
|
type: string
|
|
listUsersResponse:
|
|
type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/user"
|
|
title: list of resulting users
|
|
addUserRequest:
|
|
type: object
|
|
required:
|
|
- accessKey
|
|
- secretKey
|
|
- groups
|
|
properties:
|
|
accessKey:
|
|
type: string
|
|
secretKey:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
group:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
status:
|
|
type: string
|
|
members:
|
|
type: array
|
|
items:
|
|
type: string
|
|
policy:
|
|
type: string
|
|
addGroupRequest:
|
|
type: object
|
|
required:
|
|
- group
|
|
- members
|
|
properties:
|
|
group:
|
|
type: string
|
|
members:
|
|
type: array
|
|
items:
|
|
type: string
|
|
listGroupsResponse:
|
|
type: object
|
|
properties:
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
title: list of groups
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
title: total number of groups
|
|
policy:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
policy:
|
|
type: string
|
|
policyEntity:
|
|
type: string
|
|
enum:
|
|
- user
|
|
- group
|
|
default: user
|
|
setPolicyRequest:
|
|
type: object
|
|
required:
|
|
- entityType
|
|
- entityName
|
|
properties:
|
|
entityType:
|
|
$ref: "#/definitions/policyEntity"
|
|
entityName:
|
|
type: string
|
|
addPolicyRequest:
|
|
type: object
|
|
required:
|
|
- name
|
|
- policy
|
|
properties:
|
|
name:
|
|
type: string
|
|
policy:
|
|
type: string
|
|
listPoliciesResponse:
|
|
type: object
|
|
properties:
|
|
policies:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/policy"
|
|
title: list of policies
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
title: total number of policies
|
|
updateGroupRequest:
|
|
type: object
|
|
required:
|
|
- members
|
|
- status
|
|
properties:
|
|
members:
|
|
type: array
|
|
items:
|
|
type: string
|
|
status:
|
|
type: string
|
|
configDescription:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
description:
|
|
type: string
|
|
configurationKV:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
configuration:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
key_values:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/configurationKV"
|
|
listConfigResponse:
|
|
type: object
|
|
properties:
|
|
configurations:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/configDescription"
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
title: total number of configurations
|
|
setConfigRequest:
|
|
type: object
|
|
required:
|
|
- key_values
|
|
properties:
|
|
key_values:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
$ref: "#/definitions/configurationKV"
|
|
arn_resource_id:
|
|
type: string
|
|
title: Used if configuration is an event notification's target
|
|
notificationEventType:
|
|
type: string
|
|
enum:
|
|
- put
|
|
- delete
|
|
- get
|
|
notificationConfig:
|
|
type: object
|
|
required:
|
|
- arn
|
|
properties:
|
|
id:
|
|
type: string
|
|
arn:
|
|
type: string
|
|
events:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/notificationEventType"
|
|
title: "filter specific type of event. Defaults to all event (default: '[put,delete,get]')"
|
|
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
|
|
minLength: 1
|
|
items:
|
|
$ref: "#/definitions/notificationEventType"
|
|
title: "filter specific type of event. Defaults to all event (default: '[put,delete,get]')"
|
|
prefix:
|
|
type: string
|
|
title: "filter event associated to the specified prefix"
|
|
suffix:
|
|
type: string
|
|
title: "filter event associated to the specified suffix"
|
|
bucketEventRequest:
|
|
type: object
|
|
required:
|
|
- configuration
|
|
properties:
|
|
configuration:
|
|
$ref: "#/definitions/notificationConfig"
|
|
ignoreExisting:
|
|
type: boolean
|
|
listBucketEventsResponse:
|
|
type: object
|
|
properties:
|
|
events:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/notificationConfig"
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
title: total number of bucket events
|
|
setBucketPolicyRequest:
|
|
type: object
|
|
required:
|
|
- access
|
|
properties:
|
|
access:
|
|
$ref: "#/definitions/bucketAccess"
|
|
loginDetails:
|
|
type: object
|
|
properties:
|
|
loginStrategy:
|
|
type: string
|
|
enum: [form, redirect, service-account]
|
|
redirect:
|
|
type: string
|
|
loginOauth2AuthRequest:
|
|
type: object
|
|
required:
|
|
- state
|
|
- code
|
|
properties:
|
|
state:
|
|
type: string
|
|
code:
|
|
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
|
|
# Structure that holds the `Bearer {TOKEN}` present on authenticated requests
|
|
principal:
|
|
type: object
|
|
properties:
|
|
accessKeyID:
|
|
type: string
|
|
secretAccessKey:
|
|
type: string
|
|
sessionToken:
|
|
type: string
|
|
actions:
|
|
type: array
|
|
items:
|
|
type: string
|
|
startProfilingItem:
|
|
type: object
|
|
properties:
|
|
nodeName:
|
|
type: string
|
|
success:
|
|
type: boolean
|
|
error:
|
|
type: string
|
|
startProfilingList:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
title: number of start results
|
|
startResults:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/startProfilingItem"
|
|
profilerType:
|
|
type: string
|
|
enum:
|
|
- cpu
|
|
- mem
|
|
- block
|
|
- mutex
|
|
- trace
|
|
- threads
|
|
- goroutines
|
|
profilingStartRequest:
|
|
type: object
|
|
required:
|
|
- type
|
|
properties:
|
|
type:
|
|
$ref: "#/definitions/profilerType"
|
|
sessionResponse:
|
|
type: object
|
|
properties:
|
|
pages:
|
|
type: array
|
|
items:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [ok]
|
|
adminInfoResponse:
|
|
type: object
|
|
properties:
|
|
buckets:
|
|
type: integer
|
|
objects:
|
|
type: integer
|
|
usage:
|
|
type: integer
|
|
arnsResponse:
|
|
type: object
|
|
properties:
|
|
arns:
|
|
type: array
|
|
items:
|
|
type: string
|
|
updateUserGroups:
|
|
type: object
|
|
required:
|
|
- groups
|
|
properties:
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
nofiticationService:
|
|
type: string
|
|
enum:
|
|
- webhook
|
|
- amqp
|
|
- kafka
|
|
- mqtt
|
|
- nats
|
|
- nsq
|
|
- mysql
|
|
- postgres
|
|
- elasticsearch
|
|
- redis
|
|
notificationEndpointItem:
|
|
type: object
|
|
properties:
|
|
service:
|
|
$ref: "#/definitions/nofiticationService"
|
|
account_id:
|
|
type: string
|
|
status:
|
|
type: string
|
|
notificationEndpoint:
|
|
type: object
|
|
required:
|
|
- service
|
|
- account_id
|
|
- properties
|
|
properties:
|
|
service:
|
|
$ref: "#/definitions/nofiticationService"
|
|
account_id:
|
|
type: string
|
|
properties:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
notifEndpointResponse:
|
|
type: object
|
|
properties:
|
|
notification_endpoints:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/notificationEndpointItem"
|
|
updateUser:
|
|
type: object
|
|
required:
|
|
- status
|
|
- groups
|
|
properties:
|
|
status:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
bulkUserGroups:
|
|
type: object
|
|
required:
|
|
- users
|
|
- groups
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
serviceAccounts:
|
|
type: array
|
|
items:
|
|
type: string
|
|
serviceAccountRequest:
|
|
type: object
|
|
properties:
|
|
policy:
|
|
type: string
|
|
title: "policy to be applied to the Service Account if any"
|
|
serviceAccountCreds:
|
|
type: object
|
|
properties:
|
|
accessKey:
|
|
type: string
|
|
secretKey:
|
|
type: string
|
|
|
|
tenant:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
creation_date:
|
|
type: string
|
|
currentState:
|
|
type: string
|
|
zones:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/zone"
|
|
image:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
total_size:
|
|
type: integer
|
|
format: int64
|
|
|
|
tenantUsage:
|
|
type: object
|
|
properties:
|
|
used:
|
|
type: integer
|
|
format: int64
|
|
disk_used:
|
|
type: integer
|
|
format: int64
|
|
|
|
tenantList:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
zone_count:
|
|
type: integer
|
|
instance_count:
|
|
type: integer
|
|
total_size:
|
|
type: integer
|
|
volume_count:
|
|
type: integer
|
|
creation_date:
|
|
type: string
|
|
currentState:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
listTenantsResponse:
|
|
type: object
|
|
properties:
|
|
tenants:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/tenantList"
|
|
title: list of resulting tenants
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
title: number of tenants accessible to tenant user
|
|
|
|
updateTenantRequest:
|
|
type: object
|
|
properties:
|
|
image:
|
|
type: string
|
|
pattern: "^((.*?)/(.*?):(.+))$"
|
|
console_image:
|
|
type: string
|
|
pattern: "^((.*?)/(.*?):(.+))$"
|
|
image_registry:
|
|
$ref: "#/definitions/imageRegistry"
|
|
image_pull_secret:
|
|
type: string
|
|
|
|
imageRegistry:
|
|
type: object
|
|
required:
|
|
- registry
|
|
- username
|
|
- password
|
|
properties:
|
|
registry:
|
|
type: string
|
|
username:
|
|
type: string
|
|
password:
|
|
type: string
|
|
|
|
createTenantRequest:
|
|
type: object
|
|
required:
|
|
- name
|
|
- namespace
|
|
- zones
|
|
properties:
|
|
name:
|
|
type: string
|
|
pattern: "^[a-z0-9-]{3,63}$"
|
|
image:
|
|
type: string
|
|
console_image:
|
|
type: string
|
|
service_name:
|
|
type: string
|
|
zones:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/zone"
|
|
mounth_path:
|
|
type: string
|
|
access_key:
|
|
type: string
|
|
secret_key:
|
|
type: string
|
|
enable_console:
|
|
type: boolean
|
|
default: true
|
|
enable_tls:
|
|
type: boolean
|
|
default: true
|
|
namespace:
|
|
type: string
|
|
erasureCodingParity:
|
|
type: integer
|
|
annotations:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
image_registry:
|
|
$ref: "#/definitions/imageRegistry"
|
|
image_pull_secret:
|
|
type: string
|
|
idp:
|
|
type: object
|
|
$ref: "#/definitions/idpConfiguration"
|
|
tls:
|
|
type: object
|
|
$ref: "#/definitions/tlsConfiguration"
|
|
encryption:
|
|
type: object
|
|
$ref: "#/definitions/encryptionConfiguration"
|
|
|
|
keyPairConfiguration:
|
|
type: object
|
|
required:
|
|
- crt
|
|
- key
|
|
properties:
|
|
crt:
|
|
type: string
|
|
key:
|
|
type: string
|
|
|
|
tlsConfiguration:
|
|
type: object
|
|
properties:
|
|
minio:
|
|
type: object
|
|
$ref: "#/definitions/keyPairConfiguration"
|
|
console:
|
|
type: object
|
|
$ref: "#/definitions/keyPairConfiguration"
|
|
|
|
idpConfiguration:
|
|
type: object
|
|
properties:
|
|
oidc:
|
|
type: object
|
|
required:
|
|
- url
|
|
- client_id
|
|
- secret_id
|
|
properties:
|
|
url:
|
|
type: string
|
|
client_id:
|
|
type: string
|
|
secret_id:
|
|
type: string
|
|
active_directory:
|
|
type: object
|
|
required:
|
|
- url
|
|
- username_format
|
|
- user_search_filter
|
|
properties:
|
|
url:
|
|
type: string
|
|
username_format:
|
|
type: string
|
|
user_search_filter:
|
|
type: string
|
|
group_search_base_dn:
|
|
type: string
|
|
group_search_filter:
|
|
type: string
|
|
group_name_attribute:
|
|
type: string
|
|
skip_tls_verification:
|
|
type: boolean
|
|
server_insecure:
|
|
type: boolean
|
|
|
|
encryptionConfiguration:
|
|
type: object
|
|
properties:
|
|
image:
|
|
type: string
|
|
server:
|
|
type: object
|
|
$ref: "#/definitions/keyPairConfiguration"
|
|
client:
|
|
type: object
|
|
$ref: "#/definitions/keyPairConfiguration"
|
|
gemalto:
|
|
type: object
|
|
$ref: "#/definitions/gemaltoConfiguration"
|
|
aws:
|
|
type: object
|
|
$ref: "#/definitions/awsConfiguration"
|
|
vault:
|
|
type: object
|
|
$ref: "#/definitions/vaultConfiguration"
|
|
|
|
vaultConfiguration:
|
|
type: object
|
|
required:
|
|
- endpoint
|
|
- approle
|
|
properties:
|
|
endpoint:
|
|
type: string
|
|
engine:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
prefix:
|
|
type: string
|
|
approle:
|
|
type: object
|
|
required:
|
|
- id
|
|
- secret
|
|
properties:
|
|
engine:
|
|
type: string
|
|
id:
|
|
type: string
|
|
secret:
|
|
type: string
|
|
retry:
|
|
type: integer
|
|
format: int64
|
|
status:
|
|
type: object
|
|
properties:
|
|
ping:
|
|
type: integer
|
|
format: int64
|
|
tls:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
crt:
|
|
type: string
|
|
ca:
|
|
type: string
|
|
|
|
awsConfiguration:
|
|
type: object
|
|
required:
|
|
- secretsmanager
|
|
properties:
|
|
secretsmanager:
|
|
type: object
|
|
required:
|
|
- endpoint
|
|
- region
|
|
- credentials
|
|
properties:
|
|
endpoint:
|
|
type: string
|
|
region:
|
|
type: string
|
|
kmskey:
|
|
type: string
|
|
credentials:
|
|
type: object
|
|
required:
|
|
- accesskey
|
|
- secretkey
|
|
properties:
|
|
accesskey:
|
|
type: string
|
|
secretkey:
|
|
type: string
|
|
token:
|
|
type: string
|
|
|
|
gemaltoConfiguration:
|
|
type: object
|
|
required:
|
|
- keysecure
|
|
properties:
|
|
keysecure:
|
|
type: object
|
|
required:
|
|
- endpoint
|
|
- credentials
|
|
properties:
|
|
endpoint:
|
|
type: string
|
|
credentials:
|
|
type: object
|
|
required:
|
|
- token
|
|
- domain
|
|
properties:
|
|
token:
|
|
type: string
|
|
domain:
|
|
type: string
|
|
retry:
|
|
type: integer
|
|
format: int64
|
|
tls:
|
|
type: object
|
|
required:
|
|
- ca
|
|
properties:
|
|
ca:
|
|
type: string
|
|
|
|
createTenantResponse:
|
|
type: object
|
|
properties:
|
|
access_key:
|
|
type: string
|
|
secret_key:
|
|
type: string
|
|
console:
|
|
type: object
|
|
properties:
|
|
access_key:
|
|
type: string
|
|
secret_key:
|
|
type: string
|
|
zone:
|
|
type: object
|
|
required:
|
|
- servers
|
|
- volumes_per_server
|
|
- volume_configuration
|
|
properties:
|
|
name:
|
|
type: string
|
|
servers:
|
|
type: integer
|
|
volumes_per_server:
|
|
type: integer
|
|
format: int32
|
|
volume_configuration:
|
|
type: object
|
|
required:
|
|
- size
|
|
properties:
|
|
size:
|
|
type: integer
|
|
storage_class_name:
|
|
type: string
|
|
resources:
|
|
$ref: "#/definitions/zoneResources"
|
|
node_selector:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: "NodeSelector is a selector which must be true for
|
|
the pod to fit on a node. Selector which must match a node's
|
|
labels for the pod to be scheduled on that node. More info:
|
|
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/"
|
|
affinity:
|
|
$ref: "#/definitions/zoneAffinity"
|
|
tolerations:
|
|
$ref: "#/definitions/zoneTolerations"
|
|
|
|
zoneTolerations:
|
|
description: Tolerations allows users to set entries like effect,
|
|
key, operator, value.
|
|
items:
|
|
description: The pod this Toleration is attached to tolerates
|
|
any taint that matches the triple <key,value,effect> using
|
|
the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: Effect indicates the taint effect to match.
|
|
Empty means match all taint effects. When specified, allowed
|
|
values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: Key is the taint key that the toleration applies
|
|
to. Empty means match all taint keys. If the key is empty,
|
|
operator must be Exists; this combination means to match
|
|
all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: Operator represents a key's relationship to
|
|
the value. Valid operators are Exists and Equal. Defaults
|
|
to Equal. Exists is equivalent to wildcard for value,
|
|
so that a pod can tolerate all taints of a particular
|
|
category.
|
|
type: string
|
|
tolerationSeconds:
|
|
$ref: "#/definitions/zoneTolerationSeconds"
|
|
value:
|
|
description: Value is the taint value the toleration matches
|
|
to. If the operator is Exists, the value should be empty,
|
|
otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
|
|
zoneTolerationSeconds:
|
|
description: TolerationSeconds represents the period of
|
|
time the toleration (which must be of effect NoExecute,
|
|
otherwise this field is ignored) tolerates the taint.
|
|
By default, it is not set, which means tolerate the taint
|
|
forever (do not evict). Zero and negative values will
|
|
be treated as 0 (evict immediately) by the system.
|
|
type: object
|
|
required:
|
|
- seconds
|
|
properties:
|
|
seconds:
|
|
type: integer
|
|
format: int64
|
|
|
|
zoneResources:
|
|
description: If provided, use these requests and limit for cpu/memory
|
|
resource allocation
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
type: integer
|
|
format: int64
|
|
description: "Limits describes the maximum amount of compute
|
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/"
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
additionalProperties:
|
|
type: integer
|
|
format: int64
|
|
description: "Requests describes the minimum amount of compute
|
|
resources required. If Requests is omitted for a container,
|
|
it defaults to Limits if that is explicitly specified, otherwise
|
|
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/"
|
|
type: object
|
|
type: object
|
|
|
|
zoneAffinity:
|
|
description: If specified, affinity will define the pod's scheduling
|
|
constraints
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling rules for
|
|
the pod.
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: The scheduler will prefer to schedule pods
|
|
to nodes that satisfy the affinity expressions specified
|
|
by this field, but it may choose a node that violates
|
|
one or more of the expressions. The node that is most
|
|
preferred is the one with the greatest sum of weights,
|
|
i.e. for each node that meets all of the scheduling
|
|
requirements (resource request, requiredDuringScheduling
|
|
affinity expressions, etc.), compute a sum by iterating
|
|
through the elements of this field and adding "weight"
|
|
to the sum if the node matches the corresponding matchExpressions;
|
|
the node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: An empty preferred scheduling term matches
|
|
all objects with implicit weight 0 (i.e. it's a no-op).
|
|
A null preferred scheduling term matches no objects
|
|
(i.e. is also a no-op).
|
|
properties:
|
|
preference:
|
|
description: A node selector term, associated with
|
|
the corresponding weight.
|
|
$ref: "#/definitions/nodeSelectorTerm"
|
|
type: object
|
|
weight:
|
|
description: Weight associated with matching the
|
|
corresponding nodeSelectorTerm, in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: If the affinity requirements specified by
|
|
this field are not met at scheduling time, the pod will
|
|
not be scheduled onto the node. If the affinity requirements
|
|
specified by this field cease to be met at some point
|
|
during pod execution (e.g. due to an update), the system
|
|
may or may not try to eventually evict the pod from
|
|
its node.
|
|
properties:
|
|
nodeSelectorTerms:
|
|
description: Required. A list of node selector terms.
|
|
The terms are ORed.
|
|
items:
|
|
$ref: "#/definitions/nodeSelectorTerm"
|
|
type: array
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling rules (e.g.
|
|
co-locate this pod in the same node, zone, etc. as some
|
|
other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: The scheduler will prefer to schedule pods
|
|
to nodes that satisfy the affinity expressions specified
|
|
by this field, but it may choose a node that violates
|
|
one or more of the expressions. The node that is most
|
|
preferred is the one with the greatest sum of weights,
|
|
i.e. for each node that meets all of the scheduling
|
|
requirements (resource request, requiredDuringScheduling
|
|
affinity expressions, etc.), compute a sum by iterating
|
|
through the elements of this field and adding "weight"
|
|
to the sum if the node has pods which matches the corresponding
|
|
podAffinityTerm; the node(s) with the highest sum are
|
|
the most preferred.
|
|
items:
|
|
description:
|
|
The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred
|
|
node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
$ref: "#/definitions/podAffinityTerm"
|
|
weight:
|
|
description: weight associated with matching the
|
|
corresponding podAffinityTerm, in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: If the affinity requirements specified by
|
|
this field are not met at scheduling time, the pod will
|
|
not be scheduled onto the node. If the affinity requirements
|
|
specified by this field cease to be met at some point
|
|
during pod execution (e.g. due to a pod label update),
|
|
the system may or may not try to eventually evict the
|
|
pod from its node. When there are multiple elements,
|
|
the lists of nodes corresponding to each podAffinityTerm
|
|
are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
$ref: "#/definitions/podAffinityTerm"
|
|
type: array
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling rules
|
|
(e.g. avoid putting this pod in the same node, zone, etc.
|
|
as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: The scheduler will prefer to schedule pods
|
|
to nodes that satisfy the anti-affinity expressions
|
|
specified by this field, but it may choose a node that
|
|
violates one or more of the expressions. The node that
|
|
is most preferred is the one with the greatest sum of
|
|
weights, i.e. for each node that meets all of the scheduling
|
|
requirements (resource request, requiredDuringScheduling
|
|
anti-affinity expressions, etc.), compute a sum by iterating
|
|
through the elements of this field and adding "weight"
|
|
to the sum if the node has pods which matches the corresponding
|
|
podAffinityTerm; the node(s) with the highest sum are
|
|
the most preferred.
|
|
items:
|
|
description:
|
|
The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred
|
|
node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
$ref: "#/definitions/podAffinityTerm"
|
|
weight:
|
|
description: weight associated with matching the
|
|
corresponding podAffinityTerm, in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: If the anti-affinity requirements specified
|
|
by this field are not met at scheduling time, the pod
|
|
will not be scheduled onto the node. If the anti-affinity
|
|
requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to a pod
|
|
label update), the system may or may not try to eventually
|
|
evict the pod from its node. When there are multiple
|
|
elements, the lists of nodes corresponding to each podAffinityTerm
|
|
are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
$ref: "#/definitions/podAffinityTerm"
|
|
type: array
|
|
type: object
|
|
type: object
|
|
|
|
nodeSelectorTerm:
|
|
type: object
|
|
description: A null or empty node selector term
|
|
matches no objects. The requirements of them are
|
|
ANDed. The TopologySelectorTerm type implements
|
|
a subset of the NodeSelectorTerm.
|
|
properties:
|
|
matchExpressions:
|
|
description: A list of node selector requirements
|
|
by node's labels.
|
|
items:
|
|
description: A node selector requirement is
|
|
a selector that contains values, a key,
|
|
and an operator that relates the key and
|
|
values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: Represents a key's relationship
|
|
to a set of values. Valid operators
|
|
are In, NotIn, Exists, DoesNotExist.
|
|
Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: An array of string values.
|
|
If the operator is In or NotIn, the
|
|
values array must be non-empty. If the
|
|
operator is Exists or DoesNotExist,
|
|
the values array must be empty. If the
|
|
operator is Gt or Lt, the values array
|
|
must have a single element, which will
|
|
be interpreted as an integer. This array
|
|
is replaced during a strategic merge
|
|
patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchFields:
|
|
description: A list of node selector requirements
|
|
by node's fields.
|
|
items:
|
|
description: A node selector requirement is
|
|
a selector that contains values, a key,
|
|
and an operator that relates the key and
|
|
values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: Represents a key's relationship
|
|
to a set of values. Valid operators
|
|
are In, NotIn, Exists, DoesNotExist.
|
|
Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: An array of string values.
|
|
If the operator is In or NotIn, the
|
|
values array must be non-empty. If the
|
|
operator is Exists or DoesNotExist,
|
|
the values array must be empty. If the
|
|
operator is Gt or Lt, the values array
|
|
must have a single element, which will
|
|
be interpreted as an integer. This array
|
|
is replaced during a strategic merge
|
|
patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term, associated
|
|
with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set of resources,
|
|
in this case pods.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list
|
|
of label selector requirements. The requirements
|
|
are ANDed.
|
|
items:
|
|
description: A label selector requirement
|
|
is a selector that contains values,
|
|
a key, and an operator that relates
|
|
the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key
|
|
that the selector applies to.
|
|
type: string
|
|
operator:
|
|
description: operator represents a
|
|
key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists
|
|
and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: values is an array of
|
|
string values. If the operator is
|
|
In or NotIn, the values array must
|
|
be non-empty. If the operator is
|
|
Exists or DoesNotExist, the values
|
|
array must be empty. This array
|
|
is replaced during a strategic merge
|
|
patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: matchLabels is a map of {key,value}
|
|
pairs. A single {key,value} in the matchLabels
|
|
map is equivalent to an element of matchExpressions,
|
|
whose key field is "key", the operator
|
|
is "In", and the values array contains
|
|
only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
namespaces:
|
|
description: namespaces specifies which namespaces
|
|
the labelSelector applies to (matches against);
|
|
null or empty list means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located (affinity)
|
|
or not co-located (anti-affinity) with the
|
|
pods matching the labelSelector in the specified
|
|
namespaces, where co-located is defined as
|
|
running on a node whose value of the label
|
|
with key topologyKey matches that of any node
|
|
on which any of the selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
|
|
resourceQuota:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
elements:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/resourceQuotaElement"
|
|
|
|
resourceQuotaElement:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
hard:
|
|
type: integer
|
|
format: int64
|
|
used:
|
|
type: integer
|
|
format: int64
|
|
|
|
deleteTenantRequest:
|
|
type: object
|
|
properties:
|
|
delete_pvcs:
|
|
type: boolean
|