Create or import keypair¶
Overview¶
Generates or imports a keypair.
Classification¶
- Create
API Operation Object¶
- os-keypairs
Synchronous / Asynchronous¶
- -
Request¶
HTTP Request Method¶
- POST
HTTP Request Path¶
{api_endpoint}/v2/{tenant_id}/os-keypairs
HTTP Request Header¶
Format¶
Accept-Encoding: gzip, deflate, compress(optional)
Accept: application/json
X-Auth-Token: <token_id>
Content-Type: application/json
HTTP Request Body¶
Format¶
{
"keypair": {
"name": "<name>",
"public_key": "<public_key>"
}
}
Request Parameter¶
name | style | format | description | required/optional |
---|---|---|---|---|
tenant_id | URI | String | The ID for the tenant or account in a multi-tenancy cloud. | required |
name | plain | String | The name to associate with the keypair. | required |
public_key | plain | String | The public ssh key to import. If not provided, a key is generated. | optional |
Response¶
HTTP Response Header¶
Format¶
HTTP/1.1 <response_code> <message> (ex. 200 OK)
<response_code>: see “HTTP Responses” section
<message>: message based on the response code
- skip auto insert field such as “X-Compute-Request-Id” and “Content-Length”, “Date”
Sample API Request and Response¶
Sample API Request¶
Request URI¶
https://example.com/v2/{tenant_id}/os-keypairs
Request Header¶
Accept-Encoding: gzip, deflate, compress (optional)
Accept: application/json
X-Auth-Token: ajk3adjiown02
Request Body¶
{
"keypair": {
"name": "keypair-dab428fe-6186-4a14-b3de-92131f76cd39",
"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated-by-Nova"
}
}
Sample API Response¶
Response Header¶
HTTP/1.1 200 OK
<response_code>: see “HTTP Responses” section
<message>: message based on the response code
- skip auto insert field such as “X-Compute-Request-Id” and “Content-Length”, “Date”
Response Body¶
{
"keypair": {
"fingerprint": "1e:2c:9b:56:79:4b:45:77:f9:ca:7a:98:2c:b0:d5:3c",
"name": "keypair-dab428fe-6186-4a14-b3de-92131f76cd39",
"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated-by-Nova",
"user_id": "fake"
}
}
Execution Example¶
HTTP Request¶
POST /v2/c272d18d923d4e849f7c41df15f390c4/os-keypairs HTTP/1.1
User-Agent: curl/7.35.0
Host: 192.168.56.250:8774
X-Auth-Token: fe7ae679900d422a95c0d27e9899559d
Content-type: application/json
Accept: application/json
Content-Length: 316
{"keypair": {"name":"keypair-dab428fe-6186-4a14-b3de-92131f76cd39", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated-by-Nova"}}
HTTP Response¶
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 430
X-Compute-Request-Id: req-9925eafd-3d35-4789-ae40-442c4f94f0da
Date: Tue, 29 Sep 2015 07:52:08 GMT
{"keypair": {"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated-by-Nova", "user_id": "10a924eb03214764a678ab44faabee54", "name": "keypair-dab428fe-6186-4a14-b3de-92131f76cd39", "fingerprint": "1e:2c:9b:56:79:4b:45:77:f9:ca:7a:98:2c:b0:d5:3c"}}
Error Execution Example¶
HTTP Request¶
POST /v2/c272d18d923d4e849f7c41df15f390c4/os-keypairs HTTP/1.1
User-Agent: curl/7.35.0
Host: 192.168.56.250:8774
X-Auth-Token: fe7ae679900d422a95c0d27e9899559d
Content-type: application/json
Accept: application/json
Content-Length: 315
{"keypair": {"name":"keypair-dab428fe-6186-4a14-b3de-92131f76cd39", "public_key": "sh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated-by-Nova"}}
HTTP Response¶
HTTP/1.1 400 Bad Request
Content-Length: 99
Content-Type: application/json; charset=UTF-8
X-Compute-Request-Id: req-b1fda8ee-57ef-4fdf-9b91-6dcb389e127c
Date: Tue, 29 Sep 2015 07:55:31 GMT
{"badRequest": {"message": "Keypair data is invalid: failed to generate fingerprint", "code": 400}}