ves-io-schema-api_credential-CustomAPI-Create
Examples of performing api_credential CustomAPI Create
Usecase:
Create kubeconfig for vk8s-documentation for user-1
Request:
Request using vesctl:
vesctl request rpc api_credential.CustomAPI.Create -i request.yaml --uri /public/namespaces/system/api_credentials --http-method POST
where file request.yaml has following contents:
expirationDays: 20
name: user-1-kubeconfig
namespace: documentation
spec:
type: KUBE_CONFIG
virtualK8sName: vk8s-documentation
virtualK8sNamespace: documentation
vesctl yaml response:
{}
Request using curl:
curl -X 'POST' -d '{"namespace":"documentation","name":"user-1-kubeconfig","spec":{"type":"KUBE_CONFIG","virtual_k8s_namespace":"documentation","virtual_k8s_name":"vk8s-documentation"},"expiration_days":20}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_tmp_go-build1372770011_b001_apidocs.test/host=docker-desktop' 'https://acmecorp.console.ves.volterra.io/api/web/namespaces/system/api_credentials'
curl response:
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json
Date: Thu, 28 Jul 2022 12:09:25 GMT
Vary: Accept-Encoding
{
"data": "",
"name": "",
"active": false,
"expiration_timestamp": null
}
Usecase:
Create client certificate for user-1 of acmecorp
Request:
Request using vesctl:
vesctl request rpc api_credential.CustomAPI.Create -i request.yaml --uri /public/namespaces/system/api_credentials --http-method POST
where file request.yaml has following contents:
expirationDays: 20
name: user-1-cert
namespace: documentation
spec:
password: my$tr0ngP@sswd
vesctl yaml response:
{}
Request using curl:
curl -X 'POST' -d '{"namespace":"documentation","name":"user-1-cert","spec":{"password":"my$tr0ngP@sswd"},"expiration_days":20}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_tmp_go-build1372770011_b001_apidocs.test/host=docker-desktop' 'https://acmecorp.console.ves.volterra.io/api/web/namespaces/system/api_credentials'
curl response:
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json
Date: Thu, 28 Jul 2022 12:09:25 GMT
Vary: Accept-Encoding
{
"data": "",
"name": "",
"active": false,
"expiration_timestamp": null
}
Usecase:
Create API Token for user-1 of acmecorp
Request:
Request using vesctl:
vesctl request rpc api_credential.CustomAPI.Create -i request.yaml --uri /public/namespaces/system/api_credentials --http-method POST
where file request.yaml has following contents:
expirationDays: 20
name: user-1-token
namespace: documentation
spec:
type: API_TOKEN
vesctl yaml response:
{}
Request using curl:
curl -X 'POST' -d '{"namespace":"documentation","name":"user-1-token","spec":{"type":"API_TOKEN"},"expiration_days":20}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_tmp_go-build1372770011_b001_apidocs.test/host=docker-desktop' 'https://acmecorp.console.ves.volterra.io/api/web/namespaces/system/api_credentials'
curl response:
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json
Date: Thu, 28 Jul 2022 12:09:25 GMT
Vary: Accept-Encoding
{
"data": "",
"name": "",
"active": false,
"expiration_timestamp": null
}