What's on this page

Deployment Location

A Deployment Location is an entity managed by a Resource Manager to which Services can be deployed.

Associated with each example is a table explaining the fields in the example. This includes the name of the field, a brief description and whether the field is mandatory. Whether a field is required or not is based on the context of the examples. The underlying API definition may mark a field as optional, but in some contexts, the fields must be supplied.

In the examples below field names shown in italics are example names and not the real one to be used in messages.

Get a list of all Deployment Locations

Get the list of all existing Deployment Locations An optional match against a partial name string can be provided.

Request Format

Aspect Value
Endpoint URL /api/deploymentLocations?
HTTP Method GET
Parameters Name

Request parameters

Field Description Mandatory
name Optional. The partial name of the Deployment Location being requested No

Response Format

Aspect Value
Response Code 200 – OK 404 – No matching Deployment Location found

For a 40x, 50x or any other error response please see error response codes.

Example Response

Returns an array of matching Deployment Location entries.

Content Type: application/json

[

​    {

​        "id":"London-4",

​        "name":"London-4",

​        "description":"London 4 Data Centre - OpenStack",

​        "resourceManager":"8e266bc5-e613-4b0d-9ae0-50db6454b026",

​        "infrastructureType":"docker"

​    }

]

Response properties

Field Description Mandatory
id Unique ID of the Deployment Location. This must be unique within the scope of an LM instance. Yes
name Textual, human-readable name of the Deployment Location. This also must be unique within the scope of an LM instance. Yes
description Textual, human-readable description Deployment Location. No
resourceManager Unique ID of the Resource Manager that manages the Deployment Location. Yes
infrastructureType The type of infrastructure management used at this Deployment Location (e.g. Docker) represented as a text string. Yes

Create a new Deployment Location

Allows a new Deployment Location to be created. Only one Deployment Location can be created at a time using this API.

Request Format

Aspect Value
Endpoint URL /api/deploymentLocations
HTTP Method POST
Parameters None

The POST Body shall contain a JSON payload that describes the new Deployment Location to be created.

Example Request

Content Type: application/json

{

​    "name":"London-4",

​    "description":"London 4 Data Centre - OpenStack",

​    "resourceManager":"8e266bc5-e613-4b0d-9ae0-50db6454b026",

​    "infrastructureType":"docker",

​    "infrastructureSpecificProperties": [

​        {

​            "propertyName-1" : "propertyValue-1",

​            "propertyName-2" : "propertyValue-2",

​            etc.

​        }

​    ]

}
Field Description Mandatory
id Unique ID of the Deployment Location. This must be unique within the scope of an LM instance. Yes
name Textual, human-readable name of the Deployment Location. This also must be unique within the scope of an LM instance. Yes
description Textual, human-readable description Deployment Location. No
resourceManager Unique ID of the Resource Manager that manages the Deployment Location. Yes
infrastructureType The type of infrastructure management used at this Deployment Location (e.g. Docker) represented as a text string. Yes
infrastructureSpecificProperties A set of Name-Value pairs matching data items required by the underlying infrastructure managed at this Deployment Location. The list of actual properties is dependent upon the infrastructure being managed. No

Response Format

Aspect Value
Response Code 201 – Created 409 – A Deployment Location with the same name already exists. The new Deployment Location could not be created.

For a 40x, 50x or any other error response please see error response codes.

Get details of a single Deployment Location

Request the details for a specific Deployment Location identified by it’s unique ID.

Request Format

Aspect Value
Endpoint URL /api/deploymentLocation/{deployLocId}
HTTP Method GET
Parameters deployLocId – The unique ID of the Deployment Location being requested.

Response Format

Aspect Value
Response Code 200 – OK 404 – Deployment Location could not be found.

For a 40x, 50x or any other error response please see error response codes.

Example Response

Content Type: application/json

{

​    "id":"8e266bc5-e613-4b0d-9ae0-50db6454b026",

​    "name":"London-4",

​    "description":"London 4 Data Centre - Docker",

​    "resourceManager":"8e266bc5-e613-4b0d-9ae0-50db6454b026",

​    "infrastructureType":"docker"

}

Response properties

Field Description Mandatory
id Unique ID of the Deployment Location. This must be unique within the scope of an LM instance. Yes
name Textual, human-readable name of the Deployment Location. This also must be unique within the scope of an LM instance. Yes
description Textual, human-readable description Deployment Location. No
resourceManager Unique ID of the Resource Manager that manages the Deployment Location. Yes
infrastructureType The type of infrastructure management used at this Deployment Location (e.g. Docker) represented as a text string. Yes

Verify a Deployment Location can be reached

Verify that the given Deployment Location can be reached based on the access details in the Deployment Location Descriptor (address & credentials).

Request Format

Aspect Value
Endpoint URL /api/deploymentLocations/{deployLocId}
HTTP Method POST
Parameters deployLocId – The unique ID of the Deployment Location being verified.

The POST Body shall be empty as no further information is required.

Response Format

Aspect Value
Response Code 200 – OK 404 – Requested Deployment Location not found.

Deployment Location meta-data Update

Update the either the description or the Infrastructure Properties of a Deployment Location.

Request Format

Aspect Value
Endpoint URL /api/deploymentLocation/{deployLocId}
HTTP Method PUT
Parameters deployLocId – The unique ID of the Deployment Location to be updated.

The POST Body shall contain a JSON payload that contains the updates to the Deployment Location meta-data.

Example Request

Content Type: application/json

{

​    "description":"London 4 Data Centre - OpenStack",

​    "infrastructureSpecificProperties": [

​        {

​            "propertyName-1" : "propertyValue-1",

​            "propertyName-2" : "propertyValue-2",

​            etc.

​        }

​    ]

}
Field Description Mandatory
description Textual, human-readable description Deployment Location. No
infrastructureSpecificProperties A set of Name-Value pairs matching data items required by the underlying infrastructure managed at this Deployment Location. The list of actual properties is dependent upon the infrastructure being managed. No

Response Format

Aspect Value
Response Code 200 – Update was successful 404 – Deployment Location with the specified Id could not be found.

For a 40x, 50x or any other error response please see error response codes.

Delete an existing Deployment Location

Delete a Deployment Location from LM. Note the delete cannot happen if there are currently instantiated VNFCs. However, the deployment of VDUs alone is not enough to prevent a delete from proceeding.

Note- If a Deployment Location is deleted then the list of VDUs for that location should also be deleted from LM as a secondary task. However, no attempt is made to delete the VDU images themselves from the Deployment Location

Request Format

Aspect Value
Endpoint URL /api/deploymentLocation/{deployLocId}
HTTP Method DELETE
Parameters deployLocId – The unique ID of the Deployment Location to be updated..

Response Format

Aspect Value
Response Code 204 – No Content, delete was successful. 404 – Deployment Location could not be found. 409 - The specified Deployment Location could not be deleted due a conflict. This may be in the state of the resource or due to the state of other resources.

For a 40x, 50x or any other error response please see error response codes.