Skip to content

Usage

An API HTTP REST is implemented to manage the communication and the work of the Dynamic Policy Manager.

All URIs are relative to http://localhost:8080/api/v1.

Mainly the Dynamic Policy Manager use in the first version the method get for to return one or all policies created, and post to create a new policies.

API calls for the DPM

Several API endpoints are provided in this component, as shown in the following. For a full definition of the URL and the schema on this REST calls see the Annexes documentation.

HTTP Request Description
GET/policies/{id} Get a policy id
GET/policies/ Return the list of policies created/updated
POST/policies/ Add new policy
GET/policies/status Read items
POST/alertmanager/ AlertManager Webhooks
POST/registry/icos ICOS Process App descriptor

Endpoints

GET/registry/api/v1/policies/{id}

  • Parameters: an authorization access token is requested as String
  • Request body is provided from the following schema;
AttributeName Type Description
id Long Unique identifier of the deployment

GET /registry/api/v1/policies/

  • Parameters: an authorization access token is requested as String.
  • No schema is provided.

POST/registry/ap1/v1/policies/{policy}

  • Parameters: an authorization access token is requested as String.
  • Request body is provided from the following schema;
AttributeName Type Description
subject Subject[] Provides a set of information about the type of
application, name of the application, component and instance
spec Spec[] Set of information about the template used
action Action[] Set of information about the action to provided.
[DEFAULT] is webhook.
variables Variables[] [OPTIONAL] addtional properties. It can a string, an integer or a number.
[DEFAULT] is {}.
properties Properties[] [OPTIONAL] additional properties [DEFAULT] is {}.

Subject[]

AttributeName Type Description
type const Default is "app"

Name of app

appName String Name of app
appComponent String Component of app
appInstance String Instance of app

Spec[]

AttributeName Type Description
type

description

String [DEFAULT] is empty
type Const [DEFAULT] is template
templateName String Name of template

Http methods from the following RFCs are all observed:

  • RFC 7231: Hypertext Transfer Protocol (HTTP/1.1), obsoletes 2616
  • RFC 5789: PATCH Method for HTTP

Allowed values are : CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST,PUT, TRACE.

Variables[]

AttributeName Type Description
#0 String [OPTIONAL]
#1 integer [OPTIONAL]
#2 number [OPTIONAL]

Properties[]

AttributeName Type Description
oneoff boolean boolean
interval String Interval where the policy should be acts
pendingInterval String Information about the interval status

POST/registry/api/v1/icos/

  • Parameters: authorization access token
  • Request body is provided from the following schema:
AttributeName Type Description
app_descriptor App_descriptor[] Object that provided a set of information.
app_instance String Instance name of the app descriptor.
common_action Common_action[] Object that provides a set of information about the service, specifically for the icos-service.
service String name of the service

app_descriptor[]

AttributeName Type Description
name String Name of the app descripton
description String [DEFAULT] is “”.
components Components[] Object that providesa a set of information about.
policies Policies[] Object that provided a set of information about the policies

Component[]

name Name of the component Object that provided a set of information.
type String Type of the component
policies policies[] Array Object that providesa a set of information about the policies for the icos service.. [DEFAULT ] is empty : []

Policies[]

name Name of the component Object that provided a set of information.
name string Name of the policies
component string It can be Null
fromTemplate string It can be null
spec Spec[] Object provides a set of information about policies template, telemetry and constraints.
remediation string It can be null
variables Variables[] [DEFAULT] is {}
properties Properties[] [DEFAULT] is {}

common_action[]

Attribute Name Type Description
uri String Link to the alermanager
type Const [DEFAULT] is “icos-service”
httpMethod String [DEFAULT] is “CONNECT”
extraParams [] Additional properties. [DEFAULT] is empty {}
includeAccessToken boolean Token to acces to the webhook, default is FALSE

POST/watcher/api/v1/webhooks/alertmanager

  • Parameters: access token
Attribute Name Type Description
version String  
groupKey string  
truncatedAlerts 0  
status String  
receiver String  
groupLabels GroupLabels[] [DEFAULT] is {}
commonLabels CommonLabels[] DEFAULT] is {}
commonAnnotations CommonAnnotations[] DEFAULT] is {}
externalURL string  
alerts AlertsArray<object> Array Object provides items as status, label, ...

Grouplabels[]

Attribute Name Type Description
Additional properties String [DEFAULT] : {}

CommonLabels[]

Attribute Name Type Description
Additional properties String [DEFAULT] : {}

CommonAnnotations[]

Attribute Name Type Description
Additional properties String [DEFAULT] : {}

Alerts[]

Attribute Name Type Description
Items Items[] -

Items []

Attribute Name Type Description
status String It can be null
labels Labels[] Additional properties
annotations Annotations[] Additional properties
startsAt String It provides the date-times when the policies started.
endsAt String It provides the date-time when the policies ended.
generatorUrl String Url of the generator
fingerprint String It can be null.

Labels

Attribute Name Type Description
Additional properties String [DEFAULT] : {}

Annotations[]

Attribute Name Type Description
Additional properties String [DEFAULT] : {}

GET/status/

  • Parameters: access token

Reference

Designed and architecture refer to the deliverable D3.1 Meta-kernel Layer Module Developed (IT-1) provides about the implementation. API models and how to work refer to the deliverable D3.2 Metakernel Layer Module Develope (IT-2)