REST APIs for CLAMP Automation Compositions

Commissioning API

This API is a CRUD API that allows Automation Composition Type definitions created in a design environment to be commissioned on the CLAMP runtime. It has endpoints that allow Automation Composition Types to be created, read, updated, and deleted.

The body of the create and update end points is a TOSCA Service/Topology template that defines the new or changed Automation Composition Type. The update and delete endpoints take a reference to the Automation Composition Type. The incoming TOSCA is verified and checked for referential integrity. On delete requests, a check is made to ensure that no Automation Composition Instances exist for the Automation Composition Type to be deleted.

GET /onap/policy/clamp/acm/v2/commission

Query details of the requested commissioned automation composition definitions

  • Description: Queries details of the requested commissioned automation composition definitions, returning all automation composition details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

POST /onap/policy/clamp/acm/v2/commission

Commissions automation composition definitions

  • Description: Commissions automation composition definitions, returning commissioned definition IDs

  • Consumes: [‘application/json’, ‘application/yaml’]

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

body

body

Entity Body of Automation Composition

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

201 - Created

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

DELETE /onap/policy/clamp/acm/v2/commission

Delete a commissioned automation composition

  • Description: Deletes a Commissioned Automation Composition, returning optional error details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

204 - No Content

401 - Authentication Error

403 - Authorization Error

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/commission/elements

Query details of the requested commissioned automation composition element definitions

  • Description: Queries details of the requested commissioned automation composition element definitions, returning all automation composition elements’ details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/commission/getCommonOrInstanceProperties

Query details of the requested tosca service template common or instance properties

  • Description: Queries details of the requested commissioned tosca service template json commonor instance properties, returning all tosca service template common or instance property details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

common

query

Flag, true for common properties, false for instance

boolean

name

query

Tosca service template name

string

version

query

Tosca service template version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/commission/toscaservicetemplate

Query details of the requested tosca service templates

  • Description: Queries details of the requested commissioned tosca service template, returning all tosca service template details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Tosca service template name

string

version

query

Tosca service template version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

Instantiation API

The instantiation API has two functions:

  1. Creation, Reading, Update, and Deletion of Automation Composition Instances.

  2. Instantiation and lifecycle management of Automation Composition Instances on participants.

The Instantiation API is used by the CLAMP GUI.

Instantiation Automation Composition Instance CRUD

This sub API allows for the creation, read, update, and deletion of Automation Composition Instances. The endpoints for create and update take a JSON body that describes the Automation Composition Instance. The endpoints for read and delete take a Automation Composition Instance ID to determine which Automation Composition Instance to act on. For the delete endpoint, a check is made to ensure that the Automation Composition Instance is not instantiated on participants.

A call to the update endpoint for a Automation Composition Instance follows the semantics described here: 4.1 Management of Automation Composition Instance Configurations.

GET /onap/policy/clamp/acm/v2/instantiation

Query details of the requested automation compositions

  • Description: Queries details of the requested automation compositions, returning all composition details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

POST /onap/policy/clamp/acm/v2/instantiation

Commissions automation composition definitions

  • Description: Commissions automation composition definitions, returning the automation composition IDs

  • Consumes: [‘application/json’, ‘application/yaml’]

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

automationCompositions

body

Entity Body of automation composition

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

201 - Created

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

PUT /onap/policy/clamp/acm/v2/instantiation

Updates automation composition definitions

  • Description: Updates automation composition definitions, returning the updated composition definition IDs

  • Consumes: [‘application/json’, ‘application/yaml’]

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

automationCompositions

body

Entity Body of Automation Composition

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

201 - Created

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

DELETE /onap/policy/clamp/acm/v2/instantiation

Delete a automation composition

  • Description: Deletes a automation composition, returning optional error details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

204 - No Content

401 - Authentication Error

403 - Authorization Error

500 - Internal Server Error

PUT /onap/policy/clamp/acm/v2/instantiation/command

Issue a command to the requested automation compositions

  • Description: Issues a command to an automation composition, ordering a state change on the composition

  • Consumes: [‘application/json’, ‘application/yaml’]

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

command

body

Entity Body of automation composition command

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

201 - Created

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/instantiationState

Query details of the requested automation compositions

  • Description: Queries details of requested automation compositions, returning all automation composition details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition name

string

version

query

Automation composition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

POST /onap/policy/clamp/acm/v2/instanceProperties

Saves instance properties

  • Description: Saves instance properties, returning the saved instances properties and it’s version

  • Consumes: [‘application/json’, ‘application/yaml’]

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

body

body

Body of instance properties

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

201 - Created

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

PUT /onap/policy/clamp/acm/v2/instanceProperties

Updates instance properties

  • Description: Updates instance properties, returning the saved instances properties and it’s version

  • Consumes: [‘application/json’, ‘application/yaml’]

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

body

body

Body of instance properties

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

201 - Created

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

DELETE /onap/policy/clamp/acm/v2/instanceProperties

Delete a automation composition and instance properties

  • Description: Deletes a automation composition and instance properties, returning optional error details

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

204 - No Content

401 - Authentication Error

403 - Authorization Error

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/automationCompositionPriming

Query priming details of the requested automation compositions

  • Description: Queries priming details of requested automation compositions, returning primed/deprimed compositions

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition definition name

string

version

query

Automation composition definition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

Instantiation Automation Composition Instance Lifecycle Management

This sub API is used to manage the lifecycle of Automation Composition Instances. An Automation Composition Instance can be in the states described here: 2.1 Automation Composition Instance States. Managing the lifecycle of an Automation Composition Instance amounts to steering the Automation Composition through its states.

The sub API allows upgrades and downgrades of Automation Composition Instances to be pushed to participants following the semantics described here: 4.1 Management of Automation Composition Instance Configurations. When the API is used to update the participants on a Automation Composition Instance, the new/upgraded/downgraded definition of the Automation Composition is pushed to the participants. Note that the API asks the participants in an Automation Composition Instance to perform the update, it is the responsibility of the participants to execute the update and report the result using the protocols described here: CLAMP Participants. The progress and result of an update can be monitored using the Monitoring API.

The sub API also allows a state change of an Automation Composition Instance to be ordered. The required state of the Automation Composition Instance is pushed to participants in an Automation Composition Instance using the API. Note that the API asks the participants in an Automation Composition Instance to perform the state change, it is the responsibility of the participants to execute the state change and report the result using the protocols described here: CLAMP Participants. The progress and result of a state change can be monitored using the Monitoring API <monitoring-api>.

Warning

The Swagger for the Instantiation Lifecycle Management API will appear here.

Monitoring API

The Monitoring API allows the state and statistics of Participants, Automation Composition Instances and their Automation Composition Elements to be monitored. This API is used by the CLAMP GUI. The API provides filtering so that specific Participants and Automation Composition Instances can be retrieved. In addition, the quantity of statistical information to be returned can be scoped.

GET /onap/policy/clamp/acm/v2/monitoring/acelement

Query details of the requested acElement stats

  • Description: Queries details of the requested acElement stats, returning all acElement stats

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

endTime

query

end time

string

id

query

Automation composition element id

string

name

query

Participant name

string

recordCount

query

Record count

integer

startTime

query

start time

string

version

query

Participant version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/monitoring/acelements/automationcomposition

Query details of the requested acElement stats in a automation composition

  • Description: Queries details of the requested acElement stats, returning all acElement stats

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition name

string

version

query

Automation composition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/monitoring/participant

Query details of the requested participant stats

  • Description: Queries details of the requested participant stats, returning all participant stats

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

endTime

query

end time

string

name

query

Automation composition participant name

string

recordCount

query

Record count

integer

startTime

query

start time

string

version

query

Automation composition participant version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

GET /onap/policy/clamp/acm/v2/monitoring/participants/automationcomposition

Query details of all the participant stats in a automation composition

  • Description: Queries details of the participant stats, returning all participant stats

  • Produces: [‘application/json’, ‘application/yaml’]

Parameters

Name

Position

Description

Type

name

query

Automation composition name

string

version

query

Automation composition version

string

X-ONAP-RequestID

header

RequestID for http transaction

string

Responses

200 - OK

401 - Authentication Error

403 - Authorization Error

404 - Not Found

500 - Internal Server Error

Pass Through API

This API allows information to be passed to Automation Composition Elements in an Automation Composition.

Warning

The requirements on this API are still under discussion.

Warning

The Swagger for the Pass Through API will appear here.

End of Document