ves-io-schema-kms_key-API-Create
Examples of creating kms_key
Usecase:
Create kms-rsa-key-default
Request using vesctl:
vesctl configuration create kms_key -i kms_key.yaml
where file kms_key.yaml has following contents (kms_key.CreateRequest):
RequestJSON:
{
"metadata": {
"name": "kms-rsa-key-default",
"namespace": "documentation"
},
"spec": {
"key_info": {
"rsa_key": {}
}
}
}
vesctl yaml response:
ResponseJSON:
{
"metadata": {
"name": "kms-rsa-key-default",
"namespace": "documentation",
"labels": {},
"annotations": {},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "7cb64242-de7c-4a53-ad02-1096cfb270ff",
"creation_timestamp": "2025-11-13T23:06:22.133592Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {}
},
"spec": {
"sensitivity": "SENSITIVITY_MEDIUM",
"policies": [],
"max_cache_age": null
}
}
Request using curl:
curl -X 'POST' -d '{"metadata":{"name":"kms-rsa-key-default","namespace":"documentation"},"spec":{"key_info":{"rsa_key":{}}}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build4194363419_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/kms/namespaces/documentation/kms_keys'
curl response:
HTTP/1.1 200 OK
Content-Length: 715
Content-Type: application/json
Date: Thu, 13 Nov 2025 23:06:22 GMT
Vary: Accept-Encoding
{
"metadata": {
"name": "kms-rsa-key-default",
"namespace": "documentation",
"labels": {
},
"annotations": {
},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "7cb64242-de7c-4a53-ad02-1096cfb270ff",
"creation_timestamp": "2025-11-13T23:06:22.133592Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [
],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {
}
},
"spec": {
"sensitivity": "SENSITIVITY_MEDIUM",
"policies": [
],
"max_cache_age": null
}
}
Usecase:
Create kms-rsa-key-with-params
Request using vesctl:
vesctl configuration create kms_key -i kms_key.yaml
where file kms_key.yaml has following contents (kms_key.CreateRequest):
RequestJSON:
{
"metadata": {
"name": "kms-rsa-key-with-params",
"namespace": "documentation"
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"key_info": {
"rsa_key": {
"params": {
"key_size": 2048,
"ES_schemes": [
"RSAES_OAEP",
"RSAES_PKCS1_V15"
],
"SSA_schemes": [
"RSASSA_PKCS1_V15",
"RSASSA_PSS"
],
"hash_algos": [
"SHA256"
]
}
}
}
}
}
vesctl yaml response:
ResponseJSON:
{
"metadata": {
"name": "kms-rsa-key-with-params",
"namespace": "documentation",
"labels": {},
"annotations": {},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "dc02b266-ea9c-4005-8b95-94823f4bad2d",
"creation_timestamp": "2025-11-13T23:06:22.137889Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {}
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"policies": [],
"max_cache_age": null
}
}
Request using curl:
curl -X 'POST' -d '{"metadata":{"name":"kms-rsa-key-with-params","namespace":"documentation"},"spec":{"sensitivity":"SENSITIVITY_LOW","key_info":{"rsa_key":{"params":{"key_size":2048,"ES_schemes":["RSAES_OAEP","RSAES_PKCS1_V15"],"SSA_schemes":["RSASSA_PKCS1_V15","RSASSA_PSS"],"hash_algos":["SHA256"]}}}}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build4194363419_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/kms/namespaces/documentation/kms_keys'
curl response:
HTTP/1.1 200 OK
Content-Length: 716
Content-Type: application/json
Date: Thu, 13 Nov 2025 23:06:22 GMT
Vary: Accept-Encoding
{
"metadata": {
"name": "kms-rsa-key-with-params",
"namespace": "documentation",
"labels": {
},
"annotations": {
},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "dc02b266-ea9c-4005-8b95-94823f4bad2d",
"creation_timestamp": "2025-11-13T23:06:22.137889Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [
],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {
}
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"policies": [
],
"max_cache_age": null
}
}
Usecase:
Create kms-aes-key-default
Request using vesctl:
vesctl configuration create kms_key -i kms_key.yaml
where file kms_key.yaml has following contents (kms_key.CreateRequest):
RequestJSON:
{
"metadata": {
"name": "kms-aes-key-default",
"namespace": "documentation"
},
"spec": {
"key_info": {
"aes_key": {}
}
}
}
vesctl yaml response:
ResponseJSON:
{
"metadata": {
"name": "kms-aes-key-default",
"namespace": "documentation",
"labels": {},
"annotations": {},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "4c04fa8d-89c7-45bf-ace4-0e6c69c960db",
"creation_timestamp": "2025-11-13T23:06:22.142867Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {}
},
"spec": {
"sensitivity": "SENSITIVITY_MEDIUM",
"policies": [],
"max_cache_age": null
}
}
Request using curl:
curl -X 'POST' -d '{"metadata":{"name":"kms-aes-key-default","namespace":"documentation"},"spec":{"key_info":{"aes_key":{}}}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build4194363419_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/kms/namespaces/documentation/kms_keys'
curl response:
HTTP/1.1 200 OK
Content-Length: 715
Content-Type: application/json
Date: Thu, 13 Nov 2025 23:06:22 GMT
Vary: Accept-Encoding
{
"metadata": {
"name": "kms-aes-key-default",
"namespace": "documentation",
"labels": {
},
"annotations": {
},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "4c04fa8d-89c7-45bf-ace4-0e6c69c960db",
"creation_timestamp": "2025-11-13T23:06:22.142867Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [
],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {
}
},
"spec": {
"sensitivity": "SENSITIVITY_MEDIUM",
"policies": [
],
"max_cache_age": null
}
}
Usecase:
Create kms-aes-key-with-params
Request using vesctl:
vesctl configuration create kms_key -i kms_key.yaml
where file kms_key.yaml has following contents (kms_key.CreateRequest):
RequestJSON:
{
"metadata": {
"name": "kms-aes-key-with-params",
"namespace": "documentation"
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"key_info": {
"aes_key": {
"params": {
"key_size": 256,
"nonce_size_min": 96,
"nonce_size_max": 256
}
}
}
}
}
vesctl yaml response:
ResponseJSON:
{
"metadata": {
"name": "kms-aes-key-with-params",
"namespace": "documentation",
"labels": {},
"annotations": {},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "42f6ccb9-de10-4745-80ec-caa945f8227b",
"creation_timestamp": "2025-11-13T23:06:22.147646Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {}
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"policies": [],
"max_cache_age": null
}
}
Request using curl:
curl -X 'POST' -d '{"metadata":{"name":"kms-aes-key-with-params","namespace":"documentation"},"spec":{"sensitivity":"SENSITIVITY_LOW","key_info":{"aes_key":{"params":{"key_size":256,"nonce_size_min":96,"nonce_size_max":256}}}}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build4194363419_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/kms/namespaces/documentation/kms_keys'
curl response:
HTTP/1.1 200 OK
Content-Length: 716
Content-Type: application/json
Date: Thu, 13 Nov 2025 23:06:22 GMT
Vary: Accept-Encoding
{
"metadata": {
"name": "kms-aes-key-with-params",
"namespace": "documentation",
"labels": {
},
"annotations": {
},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "42f6ccb9-de10-4745-80ec-caa945f8227b",
"creation_timestamp": "2025-11-13T23:06:22.147646Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [
],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {
}
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"policies": [
],
"max_cache_age": null
}
}
Usecase:
Create kms-hmac-key-default
Request using vesctl:
vesctl configuration create kms_key -i kms_key.yaml
where file kms_key.yaml has following contents (kms_key.CreateRequest):
RequestJSON:
{
"metadata": {
"name": "kms-hmac-key-default",
"namespace": "documentation"
},
"spec": {
"key_info": {
"hmac_key": {}
}
}
}
vesctl yaml response:
ResponseJSON:
{
"metadata": {
"name": "kms-hmac-key-default",
"namespace": "documentation",
"labels": {},
"annotations": {},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "810ec50c-b5a9-4b0e-b60f-5fd52cfb7c8d",
"creation_timestamp": "2025-11-13T23:06:22.151229Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {}
},
"spec": {
"sensitivity": "SENSITIVITY_MEDIUM",
"policies": [],
"max_cache_age": null
}
}
Request using curl:
curl -X 'POST' -d '{"metadata":{"name":"kms-hmac-key-default","namespace":"documentation"},"spec":{"key_info":{"hmac_key":{}}}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build4194363419_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/kms/namespaces/documentation/kms_keys'
curl response:
HTTP/1.1 200 OK
Content-Length: 716
Content-Type: application/json
Date: Thu, 13 Nov 2025 23:06:22 GMT
Vary: Accept-Encoding
{
"metadata": {
"name": "kms-hmac-key-default",
"namespace": "documentation",
"labels": {
},
"annotations": {
},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "810ec50c-b5a9-4b0e-b60f-5fd52cfb7c8d",
"creation_timestamp": "2025-11-13T23:06:22.151229Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [
],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {
}
},
"spec": {
"sensitivity": "SENSITIVITY_MEDIUM",
"policies": [
],
"max_cache_age": null
}
}
Usecase:
Create kms-hmac-key-with-params
Request using vesctl:
vesctl configuration create kms_key -i kms_key.yaml
where file kms_key.yaml has following contents (kms_key.CreateRequest):
RequestJSON:
{
"metadata": {
"name": "kms-hmac-key-with-params",
"namespace": "documentation"
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"key_info": {
"hmac_key": {
"params": {
"key_size": 256,
"algo_list": [
"SHA256"
]
}
}
}
}
}
vesctl yaml response:
ResponseJSON:
{
"metadata": {
"name": "kms-hmac-key-with-params",
"namespace": "documentation",
"labels": {},
"annotations": {},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "f3bc8a2e-a584-4b24-b790-44178ecae691",
"creation_timestamp": "2025-11-13T23:06:22.156339Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {}
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"policies": [],
"max_cache_age": null
}
}
Request using curl:
curl -X 'POST' -d '{"metadata":{"name":"kms-hmac-key-with-params","namespace":"documentation"},"spec":{"sensitivity":"SENSITIVITY_LOW","key_info":{"hmac_key":{"params":{"key_size":256,"algo_list":["SHA256"]}}}}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build4194363419_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/kms/namespaces/documentation/kms_keys'
curl response:
HTTP/1.1 200 OK
Content-Length: 717
Content-Type: application/json
Date: Thu, 13 Nov 2025 23:06:22 GMT
Vary: Accept-Encoding
{
"metadata": {
"name": "kms-hmac-key-with-params",
"namespace": "documentation",
"labels": {
},
"annotations": {
},
"description": "",
"disable": false
},
"system_metadata": {
"uid": "f3bc8a2e-a584-4b24-b790-44178ecae691",
"creation_timestamp": "2025-11-13T23:06:22.156339Z",
"deletion_timestamp": null,
"modification_timestamp": null,
"initializers": null,
"finalizers": [
],
"tenant": "acmecorp",
"creator_class": "examplesvc",
"creator_id": "examplesvc",
"object_index": 0,
"owner_view": null,
"labels": {
}
},
"spec": {
"sensitivity": "SENSITIVITY_LOW",
"policies": [
],
"max_cache_age": null
}
}