API Specification master - sonata-nfv/tng-sla-mgmt GitHub Wiki

There is a Swagger version of this page with a more readable and structured format, as well as a server to perform some tests at. Visit the Swagger Documentation from here.

SLA Templates

Action HTTP Method Endpoint
Create a new SLA Template POST curl -X POST -H "Content-type:application/x-www-form-urlencoded" -d "nsd_uuid=<>&guaranteeId=<>&templateName=<>&expireDate=<>&provider_name=<>&service_licence_type=<>&allowed_service_instances=<>&service_licence_expiration_date=<>&service_licence_period=<>&provider_name=<>&dflavour_name=<>" http://localhost:8080/tng-sla-mgmt/api/slas/v1/templates
Get all existing SLA Templates GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/templates/
Get specific SLA Template based on uuid GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/templates/{sla_uuid}
Delete a SLA Template DELETE curl -X DELETE http://localhost:8080/tng-sla-mgmt/api/slas/v1/templates/{sla_uuid}

SLA Agreements

Action HTTP Method Endpoint
Get all existing Agreements GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/agreements/
Get specific Agreement details based on uuid GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/agreements/{sla_uuid}/{nsi_uuid}
Get Agreements per (instantiated) NS GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/agreements/service/{nsi_uuid}
Get Agreements per logged-in user GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/agreements/customer
Get Agreement guarantee terms GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/agreements/guarantee-terms/{sla_uuid}
Delete a SLA Agreement DELETE curl -X DELETE http://localhost:8080/tng-sla-mgmt/api/slas/v1/agreements/{nsi_uuid}
Manually create a SLA Agreement POST curl -X POST -H "Content-type:application/x-www-form-urlencoded" -d "ns_uuid=<>&ns_name=<>&sla_uuid=<>&sla_name=<>&sla_status=<>&cust_email=<>&cust_username=<>&inst_status=<>&correlation_id=<>" http://localhost:8080/tng-sla-mgmt/api/slas/v1/agreements/create

SLA Violations

Action HTTP Method Endpoint
Get all violations GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/violations/
Get a specific violation GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/violations/{nsi_uuid}/{sla_uuid}
Get Percentage of SLA Agreements vs. Violations (in the last d days - optional) GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/violations/violationspercentage?d-<>

Licensing

Action HTTP Method Endpoint
Get all Licenses GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/
Delete a License DELETE curl -X DELETE "Content-type:application/x-www-form-urlencoded" -d "sla_uuid=<>&cust_username=<>&ns_uuid=<>" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/}
Check if instantiation is allowed based on license status GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/status/{sla_uuid}/{ns_uuid}
API for buying a private license POST curl -X POST -H "Content-type:application/x-www-form-urlencoded" -d "ns_uuid=<>&sla_uuid=<>" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/buy
Check if instantiation is allowed based on license status GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/status/{sla_uuid}/{ns_uuid}
Get Nº Licenses Utilized GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/utilized
Get Nº Licenses Acquired GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/acquired
Get Nº Licenses Expired GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/licenses/expired

SLA Management

Action HTTP Method Endpoint
Access a predefined list of Service Guarantees (SLOs) GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/guaranteesList
Access a list with all the ns template correlations GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/services/templates/
Access a list with NS that have associated templates GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/services/templates/true
Access a list with NS that do not have associated templates yet GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/services/templates/false
Access a list with NS that have associated agreements GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/services/agreements/true
Access a list with NS that do not have associated agreements yet GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/services/agreements/false
Delete cust-ns-sla correlation based on sla uuid DELETE curl -X DELETE http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/agreements/{sla_uuid}
Access a list with available deployment flavours for a NS GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/deploymentflavours/{nsd_uuid}
Access deployment flavours information for specific NS and SLA GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/mgmt/deploymentflavours/{nsd_uuid}/{sla_uuid}

SLA Manager health check

Action HTTP Method Endpoint
Check each micro-service’s availability/health GET curl -H "Content-type:application/json" http://localhost:8080/tng-sla-mgmt/api/slas/v1/ping

Expected returned data for all the mentioned endpoint is:

  • HTTP code 200 (Ok)
  • HTTP code 201 (Created)
  • HTTP code 400 (Bad Request)
  • HTTP code 404 (Not Found)