aboutsummaryrefslogtreecommitdiffstats
path: root/docs/API.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/API.adoc')
-rw-r--r--docs/API.adoc623
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
+
+
+
+
+