.. This work is licensed under a
   Creative Commons Attribution 4.0 International License.

DCAE Inventory API 3.0.4
========================

.. toctree::
    :maxdepth: 3

Description
~~~~~~~~~~~

DCAE Inventory is a web service that provides the following:

1. Real-time data on all DCAE services and their components
2. Comprehensive details on available DCAE service types

.. csv-table::
   :header: "API name", "Swagger YAML"
   :widths: 10,5

   "Inventory", ":download:`link <swagger_inventory.yaml>`"

Contact Information
~~~~~~~~~~~~~~~~~~~

dcae@lists.openecomp.org


DEFAULT
~~~~~~~

GET ``/dcae-service-types``
---------------------------

Description
+++++++++++

.. raw:: html

    Get a list of `DCAEServiceType` objects.

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        typeName | query | No | string |  |  | Filter by service type name
        onlyLatest | query | No | boolean |  | {"default": true} | If set to true, query returns just the latest versions of DCAE service types. If set to false, then all versions are returned. Default is true
        onlyActive | query | No | boolean |  | {"default": true} | If set to true, query returns only *active* DCAE service types. If set to false, then all DCAE service types are returned. Default is true
        vnfType | query | No | string |  |  | Filter by associated vnf type. No wildcards, matches are explicit. This field is treated case insensitive.
        serviceId | query | No | string |  |  | Filter by assocaited service id. Instances with service id null or empty is always returned.
        serviceLocation | query | No | string |  |  | Filter by associated service location. Instances with service location null or empty is always returned.
        asdcServiceId | query | No | string |  |  | Filter by associated asdc design service id. Setting this to `NONE` will return instances that have asdc service id set to null
        asdcResourceId | query | No | string |  |  | Filter by associated asdc design resource id. Setting this to `NONE` will return instances that have asdc resource id set to null
        offset | query | No | integer | int32 |  | Query resultset offset used for pagination (zero-based)

Request
+++++++

Responses
+++++++++

**200**
^^^^^^^

List of `DCAEServiceType` objects

Type: :ref:`InlineResponse200 <d_b1ccd4187d31690b8e704c0aa01b2c59>`

**Example:**

.. code-block:: javascript

    {
        "items": [
            {
                "asdcResourceId": "somestring",
                "asdcServiceId": "somestring",
                "asdcServiceURL": "somestring",
                "blueprintTemplate": "somestring",
                "created": "2015-01-01T15:00:00.000Z",
                "deactivated": "2015-01-01T15:00:00.000Z",
                "owner": "somestring",
                "selfLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "serviceIds": [
                    "somestring",
                    "somestring"
                ],
                "serviceLocations": [
                    "somestring",
                    "somestring"
                ],
                "typeId": "somestring",
                "typeName": "somestring",
                "typeVersion": 1,
                "vnfTypes": [
                    "somestring",
                    "somestring"
                ]
            },
            {
                "asdcResourceId": "somestring",
                "asdcServiceId": "somestring",
                "asdcServiceURL": "somestring",
                "blueprintTemplate": "somestring",
                "created": "2015-01-01T15:00:00.000Z",
                "deactivated": "2015-01-01T15:00:00.000Z",
                "owner": "somestring",
                "selfLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "serviceIds": [
                    "somestring",
                    "somestring"
                ],
                "serviceLocations": [
                    "somestring",
                    "somestring"
                ],
                "typeId": "somestring",
                "typeName": "somestring",
                "typeVersion": 1,
                "vnfTypes": [
                    "somestring",
                    "somestring"
                ]
            }
        ],
        "links": {
            "nextLink": {
                "params": {},
                "rel": "somestring",
                "rels": [
                    "somestring",
                    "somestring"
                ],
                "title": "somestring",
                "type": "somestring",
                "uri": "somestring",
                "uriBuilder": {}
            },
            "previousLink": {
                "params": {},
                "rel": "somestring",
                "rels": [
                    "somestring",
                    "somestring"
                ],
                "title": "somestring",
                "type": "somestring",
                "uri": "somestring",
                "uriBuilder": {}
            }
        },
        "totalCount": 1
    }

DELETE ``/dcae-service-types/{typeId}``
---------------------------------------

Description
+++++++++++

.. raw:: html

    Deactivates existing `DCAEServiceType` instances

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        typeId | path | Yes | string |  |  |

Request
+++++++

Responses
+++++++++

**200**
^^^^^^^

`DCAEServiceType` has been deactivated

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

**404**
^^^^^^^

`DCAEServiceType` not found

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

**410**
^^^^^^^

`DCAEServiceType` already gone

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

GET ``/dcae-service-types/{typeId}``
------------------------------------

Description
+++++++++++

.. raw:: html

    Get a `DCAEServiceType` object.

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        typeId | path | Yes | string |  |  |

Request
+++++++

Responses
+++++++++

**200**
^^^^^^^

Single `DCAEServiceType` object

Type: :ref:`DCAEServiceType <d_b0cb5f12dbde8c0c42487c089983687e>`

**Example:**

.. code-block:: javascript

    {
        "asdcResourceId": "somestring",
        "asdcServiceId": "somestring",
        "asdcServiceURL": "somestring",
        "blueprintTemplate": "somestring",
        "created": "2015-01-01T15:00:00.000Z",
        "deactivated": "2015-01-01T15:00:00.000Z",
        "owner": "somestring",
        "selfLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "serviceIds": [
            "somestring",
            "somestring"
        ],
        "serviceLocations": [
            "somestring",
            "somestring"
        ],
        "typeId": "somestring",
        "typeName": "somestring",
        "typeVersion": 1,
        "vnfTypes": [
            "somestring",
            "somestring"
        ]
    }

**404**
^^^^^^^

Resource not found

Type: :ref:`DCAEServiceType <d_b0cb5f12dbde8c0c42487c089983687e>`

**Example:**

.. code-block:: javascript

    {
        "asdcResourceId": "somestring",
        "asdcServiceId": "somestring",
        "asdcServiceURL": "somestring",
        "blueprintTemplate": "somestring",
        "created": "2015-01-01T15:00:00.000Z",
        "deactivated": "2015-01-01T15:00:00.000Z",
        "owner": "somestring",
        "selfLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "serviceIds": [
            "somestring",
            "somestring"
        ],
        "serviceLocations": [
            "somestring",
            "somestring"
        ],
        "typeId": "somestring",
        "typeName": "somestring",
        "typeVersion": 1,
        "vnfTypes": [
            "somestring",
            "somestring"
        ]
    }

POST ``/dcae-service-types``
----------------------------

Description
+++++++++++

.. raw:: html

    Inserts a new `DCAEServiceType` or updates an existing instance. Updates are only allowed iff there are no running DCAE services of the requested type,

Request
+++++++

.. _d_57dc24aa38507ded2f27eec90206336e:

Body
^^^^

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        asdcResourceId | No | string |  |  | Id of vf/vnf instance this DCAE service type is associated with. Value source is from ASDC's notification event's field `resourceInvariantUUID`.
        asdcServiceId | No | string |  |  | Id of service this DCAE service type is associated with. Value source is from ASDC's notification event's field `serviceInvariantUUID`.
        asdcServiceURL | No | string |  |  | URL to the ASDC service model
        blueprintTemplate | Yes | string |  |  | String representation of a Cloudify blueprint with unbound variables
        owner | Yes | string |  |  |
        serviceIds | No | array of string |  |  | 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.
        serviceLocations | No | array of string |  |  | 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.
        typeName | Yes | string |  |  | Descriptive name for this DCAE service type
        typeVersion | Yes | integer | int32 |  | Version number for this DCAE service type
        vnfTypes | No | array of string |  |  |

.. code-block:: javascript

    {
        "asdcResourceId": "somestring",
        "asdcServiceId": "somestring",
        "asdcServiceURL": "somestring",
        "blueprintTemplate": "somestring",
        "owner": "somestring",
        "serviceIds": [
            "somestring",
            "somestring"
        ],
        "serviceLocations": [
            "somestring",
            "somestring"
        ],
        "typeName": "somestring",
        "typeVersion": 1,
        "vnfTypes": [
            "somestring",
            "somestring"
        ]
    }

Responses
+++++++++

**200**
^^^^^^^

Single `DCAEServiceType` object.

Type: :ref:`DCAEServiceType <d_b0cb5f12dbde8c0c42487c089983687e>`

**Example:**

.. code-block:: javascript

    {
        "asdcResourceId": "somestring",
        "asdcServiceId": "somestring",
        "asdcServiceURL": "somestring",
        "blueprintTemplate": "somestring",
        "created": "2015-01-01T15:00:00.000Z",
        "deactivated": "2015-01-01T15:00:00.000Z",
        "owner": "somestring",
        "selfLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "serviceIds": [
            "somestring",
            "somestring"
        ],
        "serviceLocations": [
            "somestring",
            "somestring"
        ],
        "typeId": "somestring",
        "typeName": "somestring",
        "typeVersion": 1,
        "vnfTypes": [
            "somestring",
            "somestring"
        ]
    }

**400**
^^^^^^^

Bad request provided.

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

**409**
^^^^^^^

Failed to update because there are still DCAE services of the requested type
running.

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

GET ``/dcae-services``
----------------------

Description
+++++++++++

.. raw:: html

    Get a list of `DCAEService` objects.

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        typeId | query | No | string |  |  | DCAE service type name
        vnfId | query | No | string |  |  |
        vnfType | query | No | string |  |  | Filter by associated vnf type. This field is treated case insensitive.
        vnfLocation | query | No | string |  |  |
        componentType | query | No | string |  |  | Use to filter by a specific DCAE service component type
        shareable | query | No | boolean |  |  | Use to filter by DCAE services that have shareable components or not
        created | query | No | string |  |  | Use to filter by created time
        offset | query | No | integer | int32 |  | Query resultset offset used for pagination (zero-based)

Request
+++++++

Responses
+++++++++

**200**
^^^^^^^

List of `DCAEService` objects

Type: :ref:`InlineResponse2001 <d_31bb361a8900a0bed20df49b94f1e33b>`

**Example:**

.. code-block:: javascript

    {
        "items": [
            {
                "components": [
                    {
                        "componentId": "somestring",
                        "componentLink": {
                            "params": {},
                            "rel": "somestring",
                            "rels": [
                                "somestring",
                                "somestring"
                            ],
                            "title": "somestring",
                            "type": "somestring",
                            "uri": "somestring",
                            "uriBuilder": {}
                        },
                        "componentSource": "DCAEController",
                        "componentType": "somestring",
                        "created": "2015-01-01T15:00:00.000Z",
                        "location": "somestring",
                        "modified": "2015-01-01T15:00:00.000Z",
                        "shareable": 1,
                        "status": "somestring"
                    },
                    {
                        "componentId": "somestring",
                        "componentLink": {
                            "params": {},
                            "rel": "somestring",
                            "rels": [
                                "somestring",
                                "somestring"
                            ],
                            "title": "somestring",
                            "type": "somestring",
                            "uri": "somestring",
                            "uriBuilder": {}
                        },
                        "componentSource": "DCAEController",
                        "componentType": "somestring",
                        "created": "2015-01-01T15:00:00.000Z",
                        "location": "somestring",
                        "modified": "2015-01-01T15:00:00.000Z",
                        "shareable": 1,
                        "status": "somestring"
                    }
                ],
                "created": "2015-01-01T15:00:00.000Z",
                "deploymentRef": "somestring",
                "modified": "2015-01-01T15:00:00.000Z",
                "selfLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "serviceId": "somestring",
                "typeLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "vnfId": "somestring",
                "vnfLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "vnfLocation": "somestring",
                "vnfType": "somestring"
            },
            {
                "components": [
                    {
                        "componentId": "somestring",
                        "componentLink": {
                            "params": {},
                            "rel": "somestring",
                            "rels": [
                                "somestring",
                                "somestring"
                            ],
                            "title": "somestring",
                            "type": "somestring",
                            "uri": "somestring",
                            "uriBuilder": {}
                        },
                        "componentSource": "DCAEController",
                        "componentType": "somestring",
                        "created": "2015-01-01T15:00:00.000Z",
                        "location": "somestring",
                        "modified": "2015-01-01T15:00:00.000Z",
                        "shareable": 1,
                        "status": "somestring"
                    },
                    {
                        "componentId": "somestring",
                        "componentLink": {
                            "params": {},
                            "rel": "somestring",
                            "rels": [
                                "somestring",
                                "somestring"
                            ],
                            "title": "somestring",
                            "type": "somestring",
                            "uri": "somestring",
                            "uriBuilder": {}
                        },
                        "componentSource": "DCAEController",
                        "componentType": "somestring",
                        "created": "2015-01-01T15:00:00.000Z",
                        "location": "somestring",
                        "modified": "2015-01-01T15:00:00.000Z",
                        "shareable": 1,
                        "status": "somestring"
                    }
                ],
                "created": "2015-01-01T15:00:00.000Z",
                "deploymentRef": "somestring",
                "modified": "2015-01-01T15:00:00.000Z",
                "selfLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "serviceId": "somestring",
                "typeLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "vnfId": "somestring",
                "vnfLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "vnfLocation": "somestring",
                "vnfType": "somestring"
            }
        ],
        "links": {
            "nextLink": {
                "params": {},
                "rel": "somestring",
                "rels": [
                    "somestring",
                    "somestring"
                ],
                "title": "somestring",
                "type": "somestring",
                "uri": "somestring",
                "uriBuilder": {}
            },
            "previousLink": {
                "params": {},
                "rel": "somestring",
                "rels": [
                    "somestring",
                    "somestring"
                ],
                "title": "somestring",
                "type": "somestring",
                "uri": "somestring",
                "uriBuilder": {}
            }
        },
        "totalCount": 1
    }

**502**
^^^^^^^

Bad response from DCAE controller

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

**504**
^^^^^^^

Failed to connect with DCAE controller

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

GET ``/dcae-services-groupby/{propertyName}``
---------------------------------------------

Description
+++++++++++

.. raw:: html

    Get a list of unique values for the given `propertyName`

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        propertyName | path | Yes | string |  |  | Property to find unique values. Restricted to `type`, `vnfType`, `vnfLocation`

Request
+++++++

Responses
+++++++++

**200**
^^^^^^^

List of unique property values

Type: :ref:`DCAEServiceGroupByResults <d_a6dc4f986873bc126fc916189ffa5e91>`

**Example:**

.. code-block:: javascript

    {
        "propertyName": "somestring",
        "propertyValues": [
            {
                "count": 1,
                "dcaeServiceQueryLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "propertyValue": "somestring"
            },
            {
                "count": 1,
                "dcaeServiceQueryLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "propertyValue": "somestring"
            }
        ]
    }

DELETE ``/dcae-services/{serviceId}``
-------------------------------------

Description
+++++++++++

.. raw:: html

    Remove an existing `DCAEService` object.

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        serviceId | path | Yes | string |  |  |

Request
+++++++

Responses
+++++++++

**200**
^^^^^^^

DCAE service has been removed

**404**
^^^^^^^

Unknown DCAE service

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

GET ``/dcae-services/{serviceId}``
----------------------------------

Description
+++++++++++

.. raw:: html

    Get a `DCAEService` object.

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        serviceId | path | Yes | string |  |  |

Request
+++++++

Responses
+++++++++

**200**
^^^^^^^

Single `DCAEService` object

Type: :ref:`DCAEService <d_ae85cd292c2b4046e1ea1bbb02c7ea63>`

**Example:**

.. code-block:: javascript

    {
        "components": [
            {
                "componentId": "somestring",
                "componentLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "componentSource": "DCAEController",
                "componentType": "somestring",
                "created": "2015-01-01T15:00:00.000Z",
                "location": "somestring",
                "modified": "2015-01-01T15:00:00.000Z",
                "shareable": 1,
                "status": "somestring"
            },
            {
                "componentId": "somestring",
                "componentLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "componentSource": "DCAEController",
                "componentType": "somestring",
                "created": "2015-01-01T15:00:00.000Z",
                "location": "somestring",
                "modified": "2015-01-01T15:00:00.000Z",
                "shareable": 1,
                "status": "somestring"
            }
        ],
        "created": "2015-01-01T15:00:00.000Z",
        "deploymentRef": "somestring",
        "modified": "2015-01-01T15:00:00.000Z",
        "selfLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "serviceId": "somestring",
        "typeLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "vnfId": "somestring",
        "vnfLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "vnfLocation": "somestring",
        "vnfType": "somestring"
    }

**404**
^^^^^^^

DCAE service not found

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

**502**
^^^^^^^

Bad response from DCAE controller

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

**504**
^^^^^^^

Failed to connect with DCAE controller

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

PUT ``/dcae-services/{serviceId}``
----------------------------------

Description
+++++++++++

.. raw:: html

    Put a new or update an existing `DCAEService` object.

Parameters
++++++++++

.. csv-table::
    :delim: |
    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 15, 10, 10, 10, 20, 30

        serviceId | path | Yes | string |  |  |

Request
+++++++

.. _d_81c18e0dd7a3af8fb1ba658e72907e7b:

Body
^^^^

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        components | Yes | array of :ref:`DCAEServiceComponentRequest <d_55af22c43245c290d643f75be1f4f254>` |  |  | List of DCAE service components that this service is composed of
        deploymentRef | No | string |  |  | Reference to a Cloudify deployment
        typeId | Yes | string |  |  | Id of the associated DCAE service type
        vnfId | Yes | string |  |  | Id of the associated VNF that this service is monitoring
        vnfLocation | Yes | string |  |  | Location identifier of the associated VNF that this service is monitoring
        vnfType | Yes | string |  |  | The type of the associated VNF that this service is monitoring

.. code-block:: javascript

    {
        "components": [
            {
                "componentId": "somestring",
                "componentSource": "DCAEController",
                "componentType": "somestring",
                "shareable": 1
            },
            {
                "componentId": "somestring",
                "componentSource": "DCAEController",
                "componentType": "somestring",
                "shareable": 1
            }
        ],
        "deploymentRef": "somestring",
        "typeId": "somestring",
        "vnfId": "somestring",
        "vnfLocation": "somestring",
        "vnfType": "somestring"
    }

Responses
+++++++++

**200**
^^^^^^^

Single `DCAEService` object

Type: :ref:`DCAEService <d_ae85cd292c2b4046e1ea1bbb02c7ea63>`

**Example:**

.. code-block:: javascript

    {
        "components": [
            {
                "componentId": "somestring",
                "componentLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "componentSource": "DCAEController",
                "componentType": "somestring",
                "created": "2015-01-01T15:00:00.000Z",
                "location": "somestring",
                "modified": "2015-01-01T15:00:00.000Z",
                "shareable": 1,
                "status": "somestring"
            },
            {
                "componentId": "somestring",
                "componentLink": {
                    "params": {},
                    "rel": "somestring",
                    "rels": [
                        "somestring",
                        "somestring"
                    ],
                    "title": "somestring",
                    "type": "somestring",
                    "uri": "somestring",
                    "uriBuilder": {}
                },
                "componentSource": "DCAEController",
                "componentType": "somestring",
                "created": "2015-01-01T15:00:00.000Z",
                "location": "somestring",
                "modified": "2015-01-01T15:00:00.000Z",
                "shareable": 1,
                "status": "somestring"
            }
        ],
        "created": "2015-01-01T15:00:00.000Z",
        "deploymentRef": "somestring",
        "modified": "2015-01-01T15:00:00.000Z",
        "selfLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "serviceId": "somestring",
        "typeLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "vnfId": "somestring",
        "vnfLink": {
            "params": {},
            "rel": "somestring",
            "rels": [
                "somestring",
                "somestring"
            ],
            "title": "somestring",
            "type": "somestring",
            "uri": "somestring",
            "uriBuilder": {}
        },
        "vnfLocation": "somestring",
        "vnfType": "somestring"
    }

**422**
^^^^^^^

Bad request provided

Type: :ref:`ApiResponseMessage <d_8a94f348f7df00259702f8d9b7d2ea84>`

**Example:**

.. code-block:: javascript

    {
        "code": 1,
        "message": "somestring",
        "type": "somestring"
    }

Data Structures
~~~~~~~~~~~~~~~

.. _d_8a94f348f7df00259702f8d9b7d2ea84:

ApiResponseMessage Model Structure
----------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        code | No | integer | int32 |  |
        message | No | string |  |  |
        type | No | string |  |  |

.. _d_ae85cd292c2b4046e1ea1bbb02c7ea63:

DCAEService Model Structure
---------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        components | No | array of :ref:`DCAEServiceComponent <d_51674dafcc623be79f21ecea545c345d>` |  |  |
        created | No | string | date-time |  |
        deploymentRef | No | string |  |  | Reference to a Cloudify deployment
        modified | No | string | date-time |  |
        selfLink | No | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  | Link.title is serviceId
        serviceId | No | string |  |  |
        typeLink | No | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  | Link.title is typeId
        vnfId | No | string |  |  |
        vnfLink | No | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  | Link.title is vnfId
        vnfLocation | No | string |  |  | Location information of the associated VNF
        vnfType | No | string |  |  |

.. _d_51674dafcc623be79f21ecea545c345d:

DCAEServiceComponent Model Structure
------------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        componentId | Yes | string |  |  | The id format is unique to the source
        componentLink | Yes | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  | Link to the underlying resource of this component
        componentSource | Yes | string |  | {'enum': ['DCAEController', 'DMaaPController']} | Specifies the name of the underying source service that is responsible for this components
        componentType | Yes | string |  |  |
        created | Yes | string | date-time |  |
        location | No | string |  |  | Location information of the component
        modified | Yes | string | date-time |  |
        shareable | Yes | integer | int32 |  | Used to determine if this component can be shared amongst different DCAE services
        status | No | string |  |  |

.. _d_55af22c43245c290d643f75be1f4f254:

DCAEServiceComponentRequest Model Structure
-------------------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        componentId | Yes | string |  |  | The id format is unique to the source
        componentSource | Yes | string |  | {'enum': ['DCAEController', 'DMaaPController']} | Specifies the name of the underying source service that is responsible for this components
        componentType | Yes | string |  |  |
        shareable | Yes | integer | int32 |  | Used to determine if this component can be shared amongst different DCAE services

.. _d_a6dc4f986873bc126fc916189ffa5e91:

DCAEServiceGroupByResults Model Structure
-----------------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        propertyName | No | string |  |  | Property name of DCAE service that the group by operation was performed on
        propertyValues | No | array of :ref:`DCAEServiceGroupByResultsPropertyValues <d_0119caa52e274e5e2311b367df38d686>` |  |  |

.. _d_0119caa52e274e5e2311b367df38d686:

DCAEServiceGroupByResultsPropertyValues Model Structure
-------------------------------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        count | No | integer | int32 |  |
        dcaeServiceQueryLink | No | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  | Link.title is the DCAE service property value. Following this link will provide a list of DCAE services that all have this property value.
        propertyValue | No | string |  |  |

DCAEServiceRequest Model Structure
----------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        components | Yes | array of :ref:`DCAEServiceComponentRequest <d_55af22c43245c290d643f75be1f4f254>` |  |  | List of DCAE service components that this service is composed of
        deploymentRef | No | string |  |  | Reference to a Cloudify deployment
        typeId | Yes | string |  |  | Id of the associated DCAE service type
        vnfId | Yes | string |  |  | Id of the associated VNF that this service is monitoring
        vnfLocation | Yes | string |  |  | Location identifier of the associated VNF that this service is monitoring
        vnfType | Yes | string |  |  | The type of the associated VNF that this service is monitoring

.. _d_b0cb5f12dbde8c0c42487c089983687e:

DCAEServiceType Model Structure
-------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        asdcResourceId | No | string |  |  | Id of vf/vnf instance this DCAE service type is associated with. Value source is from ASDC's notification event's field `resourceInvariantUUID`.
        asdcServiceId | No | string |  |  | Id of service this DCAE service type is associated with. Value source is from ASDC's notification event's field `serviceInvariantUUID`.
        asdcServiceURL | No | string |  |  | URL to the ASDC service model
        blueprintTemplate | Yes | string |  |  | String representation of a Cloudify blueprint with unbound variables
        created | Yes | string | date-time |  | Created timestamp for this DCAE service type in epoch time
        deactivated | No | string | date-time |  | Deactivated timestamp for this DCAE service type in epoch time
        owner | Yes | string |  |  |
        selfLink | Yes | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  | Link to self where the Link.title is typeName
        serviceIds | No | array of string |  |  | 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.
        serviceLocations | No | array of string |  |  | 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.
        typeId | Yes | string |  |  | Unique identifier for this DCAE service type
        typeName | Yes | string |  |  | Descriptive name for this DCAE service type
        typeVersion | Yes | integer | int32 |  | Version number for this DCAE service type
        vnfTypes | No | array of string |  |  |

DCAEServiceTypeRequest Model Structure
--------------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        asdcResourceId | No | string |  |  | Id of vf/vnf instance this DCAE service type is associated with. Value source is from ASDC's notification event's field `resourceInvariantUUID`.
        asdcServiceId | No | string |  |  | Id of service this DCAE service type is associated with. Value source is from ASDC's notification event's field `serviceInvariantUUID`.
        asdcServiceURL | No | string |  |  | URL to the ASDC service model
        blueprintTemplate | Yes | string |  |  | String representation of a Cloudify blueprint with unbound variables
        owner | Yes | string |  |  |
        serviceIds | No | array of string |  |  | 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.
        serviceLocations | No | array of string |  |  | 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.
        typeName | Yes | string |  |  | Descriptive name for this DCAE service type
        typeVersion | Yes | integer | int32 |  | Version number for this DCAE service type
        vnfTypes | No | array of string |  |  |

.. _d_b1ccd4187d31690b8e704c0aa01b2c59:

InlineResponse200 Model Structure
---------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        items | No | array of :ref:`DCAEServiceType <d_b0cb5f12dbde8c0c42487c089983687e>` |  |  |
        links | No | :ref:`InlineResponse200Links <d_e52a59e574408d4d622b3f1f61619b1c>` |  |  |
        totalCount | No | integer | int32 |  |

.. _d_31bb361a8900a0bed20df49b94f1e33b:

InlineResponse2001 Model Structure
----------------------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        items | No | array of :ref:`DCAEService <d_ae85cd292c2b4046e1ea1bbb02c7ea63>` |  |  |
        links | No | :ref:`InlineResponse200Links <d_e52a59e574408d4d622b3f1f61619b1c>` |  |  |
        totalCount | No | integer | int32 |  |

.. _d_e52a59e574408d4d622b3f1f61619b1c:

InlineResponse200Links Model Structure
--------------------------------------

Pagination links

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        nextLink | No | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  |
        previousLink | No | :ref:`Link <d_add3c3fd2e145f9e5a78be6e7b208ebb>` |  |  |

.. _d_add3c3fd2e145f9e5a78be6e7b208ebb:

Link Model Structure
--------------------

.. csv-table::
    :delim: |
    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
    :widths: 20, 10, 15, 15, 30, 25

        params | No | :ref:`params <i_f76783e4d75c137d1fc68696fcfdb72c>` |  |  |
        rel | No | string |  |  |
        rels | No | array of string |  |  |
        title | No | string |  |  |
        type | No | string |  |  |
        uri | No | string | uri |  |
        uriBuilder | No | :ref:`UriBuilder <d_a7b6b5c694147ea9dcfb5a5a6cbef017>` |  |  |

.. _i_f76783e4d75c137d1fc68696fcfdb72c:

**Params schema:**

Map of {"key":"string"}

.. _d_a7b6b5c694147ea9dcfb5a5a6cbef017:

UriBuilder Model Structure
--------------------------

