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","virtualK8sNamespace":"documentation","virtualK8sName":"vk8s-documentation"},"expirationDays":20}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_tmp_go-build970361017_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: 30
Content-Type: application/json
Date: Wed, 25 Aug 2021 09:02:32 GMT
Vary: Accept-Encoding

{
  "data": "",
  "name": ""
}

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"},"expirationDays":20}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_tmp_go-build970361017_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: 30
Content-Type: application/json
Date: Wed, 25 Aug 2021 09:02:32 GMT
Vary: Accept-Encoding

{
  "data": "",
  "name": ""
}

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"},"expirationDays":20}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_tmp_go-build970361017_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: 30
Content-Type: application/json
Date: Wed, 25 Aug 2021 09:02:32 GMT
Vary: Accept-Encoding

{
  "data": "",
  "name": ""
}