KMS Key
Operations for KMS Key lifecycle management.
enable-kms-key
[BETA] Enable KMS Key
POST /kms-key/{id}/enableEnable a KMS Key"
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
status | string | Allowed values: success. |
Example output
{
"status": "success"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for enable-kms-key: golang | Python | Java
CLI: exo api enable-kms-key
disable-kms-key
[BETA] Disable KMS Key
POST /kms-key/{id}/disableDisable a KMS Key
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
status | string | Allowed values: success. |
Example output
{
"status": "success"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for disable-kms-key: golang | Python | Java
CLI: exo api disable-kms-key
create-kms-key
[BETA] Create KMS Key
POST /kms-keyCreate a KMS Key in a given zone with a given name.
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
description | string | yes | |
multi-zone | boolean | yes | |
name | string | yes | |
usage | string | yes | Allowed values: encrypt-decrypt. |
Example
{
"description": "string",
"multi-zone": true,
"name": "string",
"usage": "encrypt-decrypt"
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
created-at | string | |
description | string | |
id | string | |
multi-zone | boolean | |
name | string | |
origin-zone | string | |
policy | string | |
revision | Revision Stamp | |
source | string | Allowed values: exoscale-kms. |
status | string | Allowed values: enabled, disabled, pending-deletion. |
status-since | string | |
usage | string |
Example output
{
"created-at": "2024-01-01T12:00:00Z",
"description": "string",
"id": "string",
"multi-zone": true,
"name": "string",
"origin-zone": "string",
"policy": "string",
"revision": {
"at": "2024-01-01T12:00:00Z",
"seq": 0
},
"source": "exoscale-kms",
"status": "enabled",
"status-since": "2024-01-01T12:00:00Z",
"usage": "string"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}409: 409
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for create-kms-key: golang | Python | Java
CLI: exo api create-kms-key
get-kms-key
[BETA] Get KMS Key
GET /kms-key/{id}Retrieve KMS Key details.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
created-at | string | |
description | string | |
id | string | |
material | Key Material | |
multi-zone | boolean | |
name | string | |
origin-zone | string | |
policy | string | |
replicas | array[string] | |
replicas-status | array of Replica State | |
revision | Revision Stamp | |
rotation | Key Rotation Config | |
source | string | Allowed values: exoscale-kms. |
status | string | Allowed values: enabled, disabled, pending-deletion. |
status-since | string | |
usage | string |
Example output
{
"created-at": "2024-01-01T12:00:00Z",
"description": "string",
"id": "string",
"material": {
"automatic": true,
"created-at": "2024-01-01T12:00:00Z",
"version": 0
},
"multi-zone": true,
"name": "string",
"origin-zone": "string",
"policy": "string",
"replicas": [
"string"
],
"replicas-status": [
{
"last-applied-watermark": 0,
"last-failure": {
"attempted-watermark": 0,
"error": "string",
"failed-at": "2024-01-01T12:00:00Z"
},
"zone": "string"
}
],
"revision": {
"at": "2024-01-01T12:00:00Z",
"seq": 0
},
"rotation": {
"automatic": true,
"manual-count": 0,
"next-at": "2024-01-01T12:00:00Z",
"rotation-period": 0
},
"source": "exoscale-kms",
"status": "enabled",
"status-since": "2024-01-01T12:00:00Z",
"usage": "string"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}404: 404
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for get-kms-key: golang | Python | Java
CLI: exo api get-kms-key
disable-kms-key-rotation
[BETA] Disable Key Rotation
POST /kms-key/{id}/disable-key-rotationDisable the periodic rotation of a KMS Key.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
id | string | yes |
Example
{
"id": "string"
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
rotation | Key Rotation Config |
Example output
{
"rotation": {
"automatic": true,
"manual-count": 0,
"next-at": "2024-01-01T12:00:00Z",
"rotation-period": 0
}
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for disable-kms-key-rotation: golang | Python | Java
CLI: exo api disable-kms-key-rotation
enable-kms-key-rotation
[BETA] Enable Key Rotation
POST /kms-key/{id}/enable-key-rotationEnable the periodic rotation of a KMS Key.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
id | string | yes | |
rotation-period | integer | no |
Example
{
"id": "string",
"rotation-period": 0
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
rotation | Key Rotation Config |
Example output
{
"rotation": {
"automatic": true,
"manual-count": 0,
"next-at": "2024-01-01T12:00:00Z",
"rotation-period": 0
}
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for enable-kms-key-rotation: golang | Python | Java
CLI: exo api enable-kms-key-rotation
Other Operations
cancel-kms-key-deletion
[Beta] Cancel KMS Key Deletion
POST /kms-key/{id}/cancel-deletionCancel the scheduled deletion of a KMS Key.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
status | string | Allowed values: success. |
Example output
{
"status": "success"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for cancel-kms-key-deletion: golang | Python | Java
CLI: exo api cancel-kms-key-deletion
list-kms-key-rotations
[BETA] List KMS Key Rotations
GET /kms-key/{id}/list-key-rotationsList all the key material versions of a KMS Key.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
rotations | array of List Kms Key Rotations Response Entry |
Example output
{
"rotations": [
{
"automatic": true,
"rotated-at": "2024-01-01T12:00:00Z",
"version": 0
}
]
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for list-kms-key-rotations: golang | Python | Java
CLI: exo api list-kms-key-rotations
list-kms-keys
[BETA] List KMS Keys
GET /kms-keyList KMS Keys details for an organization in a given zone.
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
kms-keys | array of List Kms Keys Response Entry |
Example output
{
"kms-keys": [
{
"created-at": "2024-01-01T12:00:00Z",
"description": "string",
"id": "string",
"material": {
"automatic": true,
"created-at": "2024-01-01T12:00:00Z",
"version": 0
},
"multi-zone": true,
"name": "string",
"origin-zone": "string",
"replicas": [
"string"
],
"revision": {
"at": "2024-01-01T12:00:00Z",
"seq": 0
},
"rotation": {
"automatic": true,
"manual-count": 0,
"next-at": "2024-01-01T12:00:00Z",
"rotation-period": 0
},
"source": "exoscale-kms",
"status": "enabled",
"status-since": "2024-01-01T12:00:00Z",
"usage": "string"
}
]
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for list-kms-keys: golang | Python | Java
CLI: exo api list-kms-keys
replicate-kms-key
[BETA] Replicate KMS Key
POST /kms-key/{id}/replicateReplicate a KMS key to a target zone.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
zone | string | yes |
Example
{
"zone": "string"
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for replicate-kms-key: golang | Python | Java
CLI: exo api replicate-kms-key
rotate-kms-key
[BETA] Rotate Key
POST /kms-key/{id}/rotatePerform a manual rotation of the key material for a symmetric key.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
rotation | Key Rotation Config |
Example output
{
"rotation": {
"automatic": true,
"manual-count": 0,
"next-at": "2024-01-01T12:00:00Z",
"rotation-period": 0
}
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for rotate-kms-key: golang | Python | Java
CLI: exo api rotate-kms-key
schedule-kms-key-deletion
[BETA] Schedule KMS Key Deletion
POST /kms-key/{id}/schedule-deletionSchedule a KMS key for deletion after a delay.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
delay-days | integer | no | Number of days to wait until deletion is final. |
Example
{
"delay-days": 0
}Responses
200: 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
status | string | Allowed values: success. |
Example output
{
"status": "success"
}400: 400
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
detail | string | |
errors | array of Errors | |
instance | string | |
status | integer | |
title | string | |
type | string |
Example output
{
"detail": "string",
"errors": [
{
"detail": "string",
"location": "string",
"path": "string",
"pointer": "string"
}
],
"instance": "string",
"status": 0,
"title": "string",
"type": "string"
}SDK reference for schedule-kms-key-deletion: golang | Python | Java
CLI: exo api schedule-kms-key-deletion