diff options
Diffstat (limited to 'docs/API.adoc')
-rw-r--r-- | docs/API.adoc | 623 |
1 files changed, 623 insertions, 0 deletions
diff --git a/docs/API.adoc b/docs/API.adoc new file mode 100644 index 0000000..ea837e6 --- /dev/null +++ b/docs/API.adoc @@ -0,0 +1,623 @@ += DCAE Inventory API + + +[[_overview]] +== Overview +DCAE Inventory is a web service that provides the following: + +. Real-time data on all DCAE services and their components +. Comprehensive details on available DCAE service types + + +=== Version information +[%hardbreaks] +_Version_ : 1.0.0 + + + + +[[_paths]] +== Paths + +[[_dcaeservicetypesget]] +=== GET /dcae-service-types + +==== Description +Get a list of `DCAEServiceType` objects. + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Query*|*offset* + +_optional_|Query resultset offset used for pagination (zero-based)|integer(int32)| +|*Query*|*serviceId* + +_optional_||string| +|*Query*|*serviceLocation* + +_optional_||string| +|*Query*|*vnfType* + +_optional_||string| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|List of `DCAEServiceType` objects|<<_inlineresponse200,InlineResponse200>> +|=== + + +==== Consumes + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +[[_dcaeservicetypestypenameget]] +=== GET /dcae-service-types/{typeName} + +==== Description +Get a `DCAEServiceType` object. + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Path*|*typeName* + +_required_||string| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|Single `DCAEServiceType` object|<<_dcaeservicetype,DCAEServiceType>> +|*404*|Resource not found|<<_dcaeservicetype,DCAEServiceType>> +|=== + + +==== Consumes + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +[[_dcaeservicetypestypenameput]] +=== PUT /dcae-service-types/{typeName} + +==== Description +Inserts a new `DCAEServiceType` or updates an existing instance. Updates are only allowed iff there are no running DCAE services of the requested type, + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Path*|*typeName* + +_required_||string| +|*Body*|*body* + +_required_||<<_dcaeservicetyperequest,DCAEServiceTypeRequest>>| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|Single `DCAEServiceType` object.|<<_dcaeservicetype,DCAEServiceType>> +|*400*|Bad request provided.|<<_apiresponsemessage,ApiResponseMessage>> +|*409*|Failed to update because there are still DCAE services of the requested type running.|<<_apiresponsemessage,ApiResponseMessage>> +|=== + + +==== Consumes + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +[[_dcaeservicesget]] +=== GET /dcae-services + +==== Description +Get a list of `DCAEService` objects. + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Query*|*componentType* + +_optional_|Use to filter by a specific DCAE service component type|string| +|*Query*|*created* + +_optional_|Use to filter by created time|string| +|*Query*|*offset* + +_optional_|Query resultset offset used for pagination (zero-based)|integer(int32)| +|*Query*|*shareable* + +_optional_|Use to filter by DCAE services that have shareable components or not|boolean| +|*Query*|*typeName* + +_optional_|DCAE service type name|string| +|*Query*|*vnfId* + +_optional_||string| +|*Query*|*vnfLocation* + +_optional_||string| +|*Query*|*vnfType* + +_optional_||string| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|List of `DCAEService` objects|<<_inlineresponse2001,InlineResponse2001>> +|*502*|Bad response from DCAE controller|<<_apiresponsemessage,ApiResponseMessage>> +|*504*|Failed to connect with DCAE controller|<<_apiresponsemessage,ApiResponseMessage>> +|=== + + +==== Consumes + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +[[_dcaeservicesgroupbypropertynameget]] +=== GET /dcae-services-groupby/{propertyName} + +==== Description +Get a list of unique values for the given `propertyName` + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Path*|*propertyName* + +_required_|Property to find unique values. Restricted to `type`, `vnfType`, `vnfLocation`|string| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|List of unique property values|<<_dcaeservicegroupbyresults,DCAEServiceGroupByResults>> +|=== + + +==== Consumes + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +[[_dcaeservicesserviceidget]] +=== GET /dcae-services/{serviceId} + +==== Description +Get a `DCAEService` object. + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Path*|*serviceId* + +_required_||string| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|Single `DCAEService` object|<<_dcaeservice,DCAEService>> +|*404*|DCAE service not found|<<_apiresponsemessage,ApiResponseMessage>> +|*502*|Bad response from DCAE controller|<<_apiresponsemessage,ApiResponseMessage>> +|*504*|Failed to connect with DCAE controller|<<_apiresponsemessage,ApiResponseMessage>> +|=== + + +==== Consumes + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +[[_dcaeservicesserviceidput]] +=== PUT /dcae-services/{serviceId} + +==== Description +Put a new or update an existing `DCAEService` object. + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Path*|*serviceId* + +_required_||string| +|*Body*|*body* + +_required_||<<_dcaeservicerequest,DCAEServiceRequest>>| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|Single `DCAEService` object|<<_dcaeservice,DCAEService>> +|*422*|Bad request provided|<<_apiresponsemessage,ApiResponseMessage>> +|=== + + +==== Consumes + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + +[[_dcaeservicesserviceiddelete]] +=== DELETE /dcae-services/{serviceId} + +==== Description +Remove an existing `DCAEService` object. + + +==== Parameters + +[options="header", cols=".^2,.^3,.^9,.^4,.^2"] +|=== +|Type|Name|Description|Schema|Default +|*Path*|*serviceId* + +_required_||string| +|=== + + +==== Responses + +[options="header", cols=".^2,.^14,.^4"] +|=== +|HTTP Code|Description|Schema +|*200*|DCAE service has been removed|No Content +|*404*|Unknown DCAE service|<<_apiresponsemessage,ApiResponseMessage>> +|=== + + +==== Consumes + +* `application/vnd.dcae.inventory.v1+json` +* `application/json` + + +==== Produces + +* `application/json` +* `application/vnd.dcae.inventory.v1+json` + + + + +[[_definitions]] +== Definitions + +[[_apiresponsemessage]] +=== ApiResponseMessage + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*code* + +_optional_||integer(int32) +|*message* + +_optional_||string +|*type* + +_optional_||string +|=== + + +[[_dcaeservice]] +=== DCAEService + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*components* + +_optional_||< <<_dcaeservicecomponent,DCAEServiceComponent>> > array +|*created* + +_optional_||string(date-time) +|*deploymentRef* + +_optional_|Reference to a Cloudify deployment|string +|*modified* + +_optional_||string(date-time) +|*selfLink* + +_optional_|Link.title is serviceId|<<_link,Link>> +|*serviceId* + +_optional_||string +|*typeLink* + +_optional_|Link.title is typeName|<<_link,Link>> +|*vnfId* + +_optional_||string +|*vnfLink* + +_optional_|Link.title is vnfId|<<_link,Link>> +|*vnfLocation* + +_optional_|Location information of the associated VNF|string +|*vnfType* + +_optional_||string +|=== + + +[[_dcaeservicecomponent]] +=== DCAEServiceComponent + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*componentId* + +_required_|The id format is unique to the source|string +|*componentLink* + +_required_|Link to the underlying resource of this component|<<_link,Link>> +|*componentSource* + +_required_|Specifies the name of the underying source service that is responsible for this components|enum (DCAEController, DMaaPController) +|*componentType* + +_required_||string +|*created* + +_required_||string(date-time) +|*location* + +_optional_|Location information of the component|string +|*modified* + +_required_||string(date-time) +|*shareable* + +_required_|Used to determine if this component can be shared amongst different DCAE services|integer(int32) +|*status* + +_optional_||string +|=== + + +[[_dcaeservicecomponentrequest]] +=== DCAEServiceComponentRequest + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*componentId* + +_required_|The id format is unique to the source|string +|*componentSource* + +_required_|Specifies the name of the underying source service that is responsible for this components|enum (DCAEController, DMaaPController) +|*componentType* + +_required_||string +|*shareable* + +_required_|Used to determine if this component can be shared amongst different DCAE services|integer(int32) +|=== + + +[[_dcaeservicegroupbyresults]] +=== DCAEServiceGroupByResults + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*propertyName* + +_optional_|Property name of DCAE service that the group by operation was performed on|string +|*propertyValues* + +_optional_||< <<_dcaeservicegroupbyresultspropertyvalues,DCAEServiceGroupByResultsPropertyValues>> > array +|=== + + +[[_dcaeservicegroupbyresultspropertyvalues]] +=== DCAEServiceGroupByResultsPropertyValues + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*count* + +_optional_||integer(int32) +|*dcaeServiceQueryLink* + +_optional_|Link.title is the DCAE service property value. Following this link will provide a list of DCAE services that all have this property value.|<<_link,Link>> +|*propertyValue* + +_optional_||string +|=== + + +[[_dcaeservicerequest]] +=== DCAEServiceRequest + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*components* + +_required_|List of DCAE service components that this service is composed of|< <<_dcaeservicecomponentrequest,DCAEServiceComponentRequest>> > array +|*deploymentRef* + +_optional_|Reference to a Cloudify deployment|string +|*typeName* + +_required_|Name of the associated DCAE service type|string +|*vnfId* + +_required_|Id of the associated VNF that this service is monitoring|string +|*vnfLocation* + +_required_|Location identifier of the associated VNF that this service is monitoring|string +|*vnfType* + +_required_|The type of the associated VNF that this service is monitoring|string +|=== + + +[[_dcaeservicetype]] +=== DCAEServiceType + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*blueprintTemplate* + +_required_|String representation of a Cloudify blueprint with unbound variables|string +|*created* + +_required_|Created timestamp for this DCAE service type in epoch time|string(date-time) +|*owner* + +_required_|Name of the owner of this DCAE service type|string +|*selfLink* + +_optional_|Link.title is typeName|<<_link,Link>> +|*serviceIds* + +_optional_|List of service ids that are associated with this DCAE service type|< string > array +|*serviceLocations* + +_optional_|List of service locations that are associated with this DCAE service type|< string > array +|*typeName* + +_required_|Unique name for this DCAE service type|string +|*vnfTypes* + +_required_|List of VNF types associated with this DCAE service type|< string > array +|=== + + +[[_dcaeservicetyperequest]] +=== DCAEServiceTypeRequest + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*blueprintTemplate* + +_required_|String representation of a Cloudify blueprint with unbound variables|string +|*owner* + +_required_||string +|*serviceIds* + +_optional_|List of service ids that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service id.|< string > array +|*serviceLocations* + +_optional_|List of service locations that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service location.|< string > array +|*vnfTypes* + +_required_||< string > array +|=== + + +[[_inlineresponse200]] +=== InlineResponse200 + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*items* + +_optional_||< <<_dcaeservicetype,DCAEServiceType>> > array +|*links* + +_optional_||<<_inlineresponse200links,InlineResponse200Links>> +|*totalCount* + +_optional_||integer(int32) +|=== + + +[[_inlineresponse2001]] +=== InlineResponse2001 + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*items* + +_optional_||< <<_dcaeservice,DCAEService>> > array +|*links* + +_optional_||<<_inlineresponse200links,InlineResponse200Links>> +|*totalCount* + +_optional_||integer(int32) +|=== + + +[[_inlineresponse200links]] +=== InlineResponse200Links +Pagination links + + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*nextLink* + +_optional_||<<_link,Link>> +|*previousLink* + +_optional_||<<_link,Link>> +|=== + + +[[_link]] +=== Link + +[options="header", cols=".^3,.^11,.^4"] +|=== +|Name|Description|Schema +|*params* + +_optional_||< string, string > map +|*rel* + +_optional_||string +|*rels* + +_optional_||< string > array +|*title* + +_optional_||string +|*type* + +_optional_||string +|*uri* + +_optional_||string +|*uriBuilder* + +_optional_||<<_uribuilder,UriBuilder>> +|=== + + +[[_uribuilder]] +=== UriBuilder +_Type_ : object + + + + + |