About

Any part of the official API can be reached through the main entry point. The entry point list all collection supported by the current driver. API entrypoint might also include information about 'features' supported by different collections.

Features

The Apache Deltacloud API defines the standard behavior and semantics for each of the resource types as a baseline for any API implementation. It is often desirable to enhance standard API behavior with specific features. The API also defines all features that can be supported by the API implementation - each of them has a fixed predefined meaning. For example, the feature user_name indicates that a user-specified name can be assigned to an instance when it is created.

Supported operations

Method

URI

Description

GET

/api

Retrieve the API entrypoint

OPTIONS

/api

Return supported collection by the current driver in Allow header

XML

<api driver="mock" version="1.0.4">
  <link href="http://localhost:3001/api/instance_states" rel="instance_states"></link>
  <link href="http://localhost:3001/api/storage_volumes" rel="storage_volumes"></link>
  <link href="http://localhost:3001/api/metrics" rel="metrics"></link>
  <link href="http://localhost:3001/api/hardware_profiles" rel="hardware_profiles"></link>
  <link href="http://localhost:3001/api/instances" rel="instances">
    <feature name="metrics"></feature>
    <feature name="realm_filter"></feature>
    <feature name="user_name"></feature>
    <feature name="user_data"></feature>
    <feature name="authentication_key"></feature>
  </link>
  <link href="http://localhost:3001/api/realms" rel="realms"></link>
  <link href="http://localhost:3001/api/storage_snapshots" rel="storage_snapshots"></link>
  <link href="http://localhost:3001/api/images" rel="images"></link>
  <link href="http://localhost:3001/api/addresses" rel="addresses"></link>
  <link href="http://localhost:3001/api/drivers" rel="drivers"></link>
  <link href="http://localhost:3001/api/buckets" rel="buckets"></link>
  <link href="http://localhost:3001/api/keys" rel="keys"></link>
</api>

JSON

{"api":{"link":[{"href":"http://localhost:3001/api/instance_states","rel":"instance_states"},{"href":"http://localhost:3001/api/storage_volumes","rel":"storage_volumes"},{"href":"http://localhost:3001/api/metrics","rel":"metrics"},{"href":"http://localhost:3001/api/hardware_profiles","rel":"hardware_profiles"},{"feature":[{"name":"metrics"},{"name":"realm_filter"},{"name":"user_name"},{"name":"user_data"},{"name":"authentication_key"}],"href":"http://localhost:3001/api/instances","rel":"instances"},{"href":"http://localhost:3001/api/realms","rel":"realms"},{"href":"http://localhost:3001/api/storage_snapshots","rel":"storage_snapshots"},{"href":"http://localhost:3001/api/images","rel":"images"},{"href":"http://localhost:3001/api/addresses","rel":"addresses"},{"href":"http://localhost:3001/api/drivers","rel":"drivers"},{"href":"http://localhost:3001/api/buckets","rel":"buckets"},{"href":"http://localhost:3001/api/keys","rel":"keys"}],"driver":"mock","version":"1.0.4"}}
  • The rel attribute define a relation to the collection (collection name) and the href attribute is an absolute URL to given collection.
  • Features are usually mapped to additional HTTP query parameters that can be used for the request.

    TODO: Add param, http method, operation name

  • No labels