nova/api-ref/source/os-keypairs.inc
Sylvain Bauza a755e5d9f2 api: Drop generating a keypair and add special chars to naming
As agreed in the spec, we will both drop the generation support for a keypair
but we'll also accept @ (at) and . (dot) chars in the keyname, all of them in
the same API microversion.

Rebased the work from I5de15935e83823afa545a250cf84f6a7a37036b4

APIImpact

Implements: blueprint keypair-generation-removal
Co-Authored-By: Nicolas Parquet <nicolas.parquet@gandi.net>

Change-Id: I6a7c71fb4385348c87067543d0454f302907395e
2022-07-28 11:05:50 +02:00

179 lines
3.8 KiB
ReStructuredText

.. -*- rst -*-
=====================
Keypairs (keypairs)
=====================
Generates, imports, and deletes SSH keys.
List Keypairs
=============
.. rest_method:: GET /os-keypairs
Lists keypairs that are associated with the account.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- user_id: keypair_user
- limit: keypair_limit
- marker: keypair_marker
Response
--------
.. rest_parameters:: parameters.yaml
- keypairs: keypairs
- keypair: keypair
- name: keypair_name
- public_key: keypair_public_key
- fingerprint: keypair_fingerprint
- type: keypair_type
- keypairs_links: keypair_links
**Example List Keypairs (v2.35): JSON response**
.. literalinclude:: ../../doc/api_samples/os-keypairs/v2.35/keypairs-list-resp.json
:language: javascript
Import (or create) Keypair
==========================
.. rest_method:: POST /os-keypairs
Imports (or generates) a keypair.
.. warning::
Generating a keypair is no longer possible starting from version 2.92.
Normal response codes: 200, 201
.. note::
The success status code was changed from 200 to 201 in version 2.2
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
Request
-------
.. rest_parameters:: parameters.yaml
- keypair: keypair
- name: keypair_name_in
- public_key: keypair_public_key_in
- type: keypair_type_in
- user_id: keypair_userid_in
**Example Create Or Import Keypair (v2.10): JSON request**
.. literalinclude:: ../../doc/api_samples/os-keypairs/v2.10/keypairs-import-post-req.json
:language: javascript
**Example Import Keypair (v2.92): JSON request**
.. literalinclude:: ../../doc/api_samples/os-keypairs/v2.92/keypairs-import-post-req.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- keypair: keypair
- name: keypair_name
- public_key: keypair_public_key
- fingerprint: keypair_fingerprint
- user_id: keypair_userid
- private_key: keypair_private_key
- type: keypair_type
**Example Create Or Import Keypair (v2.10): JSON response**
.. literalinclude:: ../../doc/api_samples/os-keypairs/v2.10/keypairs-import-post-resp.json
:language: javascript
**Example Import Keypair (v2.92): JSON response**
.. literalinclude:: ../../doc/api_samples/os-keypairs/v2.92/keypairs-import-post-resp.json
:language: javascript
Show Keypair Details
====================
.. rest_method:: GET /os-keypairs/{keypair_name}
Shows details for a keypair that is associated with the account.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- keypair_name: keypair_name_path
- user_id: keypair_user
Response
--------
.. rest_parameters:: parameters.yaml
- keypair: keypair
- created_at: created
- deleted: keypair_deleted
- deleted_at: keypair_updated_deleted_at
- fingerprint: keypair_fingerprint
- id: keypair_id
- name: keypair_name
- public_key: keypair_public_key
- updated_at: keypair_updated_deleted_at
- user_id: keypair_userid
- type: keypair_type
**Example Show Keypair Details (v2.10): JSON response**
.. literalinclude:: ../../doc/api_samples/os-keypairs/v2.10/keypairs-get-resp.json
:language: javascript
Delete Keypair
==============
.. rest_method:: DELETE /os-keypairs/{keypair_name}
Deletes a keypair.
Normal response codes: 202, 204
.. note::
The normal return code is 204 in version 2.2 to match the fact that
no body content is returned.
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- keypair_name: keypair_name_path
- user_id: keypair_user
Response
--------
There is no body content for the response of a successful DELETE query