.. -*- rst -*- ============ API versions ============ Concepts ======== In order to bring new features to users over time, the Ironic Inspector API supports versioning. There are two kinds of versions: - ``major versions``, which have dedicated urls. - ``microversions``, which can be requested through the use of the ``X-OpenStack-Ironic-Inspector-API-Version`` header. The Version APIs work differently from other APIs as they *do not* require authentication. All API requests support the ``X-OpenStack-Ironic-Inspector-API-Version`` header. This header SHOULD be supplied with every request; in the absence of this header, server will default to current supported version in all responses. List API versions ================= .. rest_method:: GET / This fetches all the information about all known major API versions in the deployment. Links to more specific information will be provided for each major API version, as well as information about supported min and max microversions. Normal response codes: 200 Request ------- Response Example ---------------- .. rest_parameters:: parameters.yaml - versions: versions - id: id - links: links - status: status - x-openstack-ironic-inspector-api-min-version: api-minimum-version - x-openstack-ironic-inspector-api-max-version: api-maximum-version .. literalinclude:: samples/api-root-response.json :language: javascript Show v1 API =========== .. rest_method:: GET /v1/ Show all the resources within the Ironic Inspector v1 API. Normal response codes: 200 Request ------- Response Example ---------------- .. rest_parameters:: parameters.yaml - resources: resources - links: links - href: href - rel: rel - name: name - x-openstack-ironic-inspector-api-min-version: api-minimum-version - x-openstack-ironic-inspector-api-max-version: api-maximum-version .. literalinclude:: samples/api-v1-root-response.json :language: javascript Version History =============== * **1.0** version of API at the moment of introducing versioning. * **1.1** adds endpoint to retrieve stored introspection data. * **1.2** endpoints for manipulating introspection rules. * **1.3** endpoint for canceling running introspection. * **1.4** endpoint for reapplying the introspection over stored data. * **1.5** support for Ironic node names. * **1.6** endpoint for rules creating returns 201 instead of 200 on success. * **1.7** UUID, ``started_at``, ``finished_at`` in the introspection status API. * **1.8** support for listing all introspection statuses. * **1.9** de-activate setting IPMI credentials, if IPMI credentials are requested, API gets HTTP 400 response. * **1.10** adds node state to the ``GET /v1/introspection/`` and ``GET /v1/introspection`` API response data. * **1.11** adds ``invert`` and multiple fields into rules response data. * **1.12** this version indicates that support for setting IPMI credentials was completely removed from API (all versions). * **1.13** adds ``manage_boot`` parameter for the introspection API. * **1.14** allows formatting to be applied to strings nested in dicts and lists in the actions of introspection rules. * **1.15** allows reapply with provided introspection data from request. * **1.16** adds ``scope`` field to introspection rule. * **1.17** adds ``GET /v1/introspection//data/unprocessed``. * **1.18** adds state selector ``GET /v1/introspection?state=starting,...``.