MultiCloud K8sPlugin API v1 Specification

The is the specification for MultiCloud K8sPlugin API version v1.

API Swagger

The specification of the K8sPlugin v1 API in Swagger format:

k8splugin-v1-api-swagger.json

API Catalog

Warning

In the used Sphinx plugin sphinxcontrib-swaggerdoc some information of the swagger file is not rendered completely, e.g. the request body. Use your favorite Swagger Editor and paste the swagger file to get a complete view of the API reference, e.g. on https://editor.swagger.io/.

definition

POST /rb/definition

Add a new RB Definition

  • Description:

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

RB Definition object to create

Responses

200 - successful operation

405 - Invalid input

GET /rb/definition

Get all RB Definitions

  • Description: Multiple RB Definitions

  • Produces: [‘application/json’]

Responses

200 - successful operation

400 - Invalid status value

GET /rb/definition/{rbName}

Get all RB Definitions of specified name

  • Description: Multiple RB Definitions

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

Responses

200 - successful operation

400 - Invalid status value

DELETE /rb/definition/{rbName}

Deletes RB Definitions of specified RB Name

  • Description:

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

Responses

400 - Invalid identifiers supplied

404 - RB Definition not found

GET /rb/definition/{rbName}/{rbVersion}

Get RB Definition by Name and Version

  • Description: Returns a single RB Definition object

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

rbVersion

path

Version of the RB Definition to return

string

Responses

200 - successful operation

400 - Invalid identifiers supplied

404 - RB Definition not found

DELETE /rb/definition/{rbName}/{rbVersion}

Deletes RB Definition

  • Description:

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

rbVersion

path

Version of the RB Definition to return

string

Responses

400 - Invalid identifiers supplied

404 - RB Definition not found

POST /rb/definition/{rbName}/{rbVersion}/content

Uploads Helm package associated with RB Definition

  • Description:

  • Consumes: [‘application/gzip’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

rbVersion

path

Version of the RB Definition to return

string

Responses

200 - successful operation

profile

POST /rb/definition/{rbName}/{rbVersion}/profile

Add a new profile for RB Definition

  • Description:

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

rbVersion

path

Version of the RB Definition to return

string

body

body

RB Profile object to create

Responses

200 - successful operation

405 - Invalid input

GET /rb/definition/{rbName}/{rbVersion}/profile

Get all RB Profiles for RB Definition

  • Description: Multiple RB Definitions

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

rbVersion

path

Version of the RB Definition to return

string

Responses

200 - successful operation

400 - Invalid status value

GET /rb/definition/{rbName}/{rbVersion}/profile/{profileName}

Get RB Profile by Name

  • Description: Returns a single RB Profile object

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition to return

string

rbVersion

path

Version of the RB Definition to return

string

profileName

path

Name of the RB profile

string

Responses

200 - successful operation

400 - Invalid identifiers supplied

404 - RB Profile not found

DELETE /rb/definition/{rbName}/{rbVersion}/profile/{profileName}

Deletes RB Profile

  • Description:

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition

string

rbVersion

path

Version of the RB Definition

string

profileName

path

Name of the RB profile

string

Responses

400 - Invalid identifiers supplied

404 - RB Definition of RB profile not found

POST /rb/definition/{rbName}/{rbVersion}/profile/{profileName}/content

Uploads tgz package associated with RB Profile

  • Description:

  • Consumes: [‘application/gzip’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

rbName

path

Name of the RB Definition

string

rbVersion

path

Version of the RB Definition

string

profileName

path

Name of the RB profile

string

Responses

200 - successful operation

instance

POST /instance

Create new RB Instance

  • Description:

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

RB Instance properties to create

Responses

405 - Invalid input

GET /instance

Get all RB Instances

  • Description: Multiple RB Instances

  • Produces: [‘application/json’]

Responses

200 - successful operation

400 - Invalid status value

GET /instance/{instanceId}

Get RB Instance by ID

  • Description: Returns a single RB Instance object

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

instanceId

path

ID of the instance

string

Responses

200 - successful operation

400 - Invalid identifiers supplied

404 - RB Definition not found

DELETE /instance/{instanceId}

Deletes RB Instance

  • Description:

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

instanceId

path

ID of the instance

string

Responses

400 - Invalid identifiers supplied

404 - Rb Instance not found

GET /instance/{instanceId}/status

Get RB Instance Status

  • Description: Returns status of a single RB Instance object

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

instanceId

path

ID of the instance

string

Responses

200 - successful operation

400 - Invalid identifiers supplied

404 - RB Instance not found

GET /instance/{instanceId}/query

Get filtered out RB Instance status

  • Description: Returns filtered status of a single RB Instance object

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

instanceId

path

ID of the instance

string

ApiVersion

query

Resource ApiVersion like ‘apps/v1’

string

Kind

query

Resource Kind like ‘Deployment’

string

Name

query

Name of Resource like ‘my-pod-1’

string

Labels

query

One or many pairs of label name/value data for filtering Resources like ‘app=test,version=prod’

string

Responses

200 - successful operation

400 - Invalid identifiers supplied

404 - RB Instance not found