MultiCloud API v0 Specification
API in json swagger
API Catalog
1. Scope
The scope of the present document is to describe the VIM Driver API specification.
2. Terms, Definitions and Abbreviations
For the purposes of the present document, the following abbreviations apply:
Abbreviation |
|
---|---|
NFVO |
Network Functions Virtualization Orchestrator |
VNFM |
Virtual Network Function Management |
VIM |
Virtualized Infrastructure Manager |
MultiVIM |
MultVIM driver services for OPEN-O to drive VIM instances |
3. Image Management
3.1. Create Image
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images |
Operation |
POST |
Direction |
NSLCM->MULTIVIM |
Description |
Create Image and Upload the image file to the VIM |
3.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
String |
Image Name |
imagePath |
M |
1 |
String |
Image Local Path from catalog |
imageType |
M |
1 |
String |
Image Type ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
containerFormat |
M |
1 |
string |
ami, ari, aki, bare, ovf, ova, docker |
visibility |
O |
1 |
string |
Visibility for this image. public, private, shared, or community |
properties |
O |
0..N |
List of key-value pairs |
Examples:–property vmware_disktype=streamOptimized –property vmware_adaptertype=”lsiLogic” |
{
"imageName": "cirros",
"imagePath": "/home/cirros.qcow2",
"imageType": "qcow2"
"containerFormat":"bare"
}
3.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
id |
M |
1 |
String |
Image UUID in the VIM |
name |
M |
1 |
String |
Image Name |
returnCode |
M |
1 |
Int |
0: Already exist 1: Newly created |
imageType |
M |
1 |
String |
Image Type ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
containerFormat |
M |
1 |
string |
ami, ari, aki, bare, ovf, ova, docker |
visibility |
O |
1 |
string |
Visibility for this image. public, private, shared, or community |
properties |
O |
0..N |
List of key-value pairs |
|
vimid |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
202: accepted
500: failed
{
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "cirros",
"returnCode": 1
}
3.2. Delete Image
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images/{imageId} |
Operation |
Delete |
Direction |
NSLCM->MULTIVIM |
Description |
Delete Image |
3.2.1. Request
N/A
3.2.2. Response
204: no content
3.3. List Images
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud_owner}_{region}/{tenantid}/images |
Operation |
GET |
Direction |
NSLCM->MULTIVIM |
Description |
Query Image list |
3.3.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
limit |
O |
1 |
integer |
Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. |
marker |
O |
1 |
string |
The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. |
name |
O |
1 |
String |
Filters the response by a name, as a string. A valid value is the name of an image |
3.3.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
images |
M |
0..N |
List |
Image List |
id |
M |
1 |
String |
Image ID |
size |
M |
1 |
int |
Image Size |
name |
M |
1 |
String |
Image Name |
status |
M |
1 |
String |
Image Status |
imageType |
M |
1 |
String |
Image Type ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
containerFormat |
M |
1 |
string |
ami, ari, aki, bare, ovf, ova, docker |
visibility |
O |
1 |
string |
Visibility for this image. public, private, shared, or community |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
200: ok
500: failed
{
"vimid": "",
"vimname": "",
"imageList": [{
"status": "active",
"id": "5e2757c1-f846-4727-915c-9a872553ed75",
"size": 862016,
"name": "vim-plus-cgsl40g-z.qcow2"
}]
}
3.4. Get Image
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images/{imageid} |
Operation |
GET |
Direction |
NSLCM->MULTIVIM |
Description |
Query Image Information |
3.4.1. Request
N/A
3.4.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
id |
M |
1 |
String |
Image ID |
size |
M |
1 |
int |
Image Size |
name |
M |
1 |
String |
Image Name |
status |
M |
1 |
String |
Image Status |
imageType |
M |
1 |
String |
Image Type ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
containerFormat |
M |
1 |
string |
ami, ari, aki, bare, ovf, ova, docker |
visibility |
O |
1 |
string |
Visibility for this image. public, private, shared, or community |
vimId |
M |
1 |
String |
vim id |
vimName |
M |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
200: ok
500: failed
{
"vimid": "",
"vimname": "",
"status": "active",
"id": "5e2757c1-f846-4727-915c-9a872553ed75",
"size": 862016,
"name": "vim-plus-cgsl40g-z.qcow2"
}
4. Network Management
4.1. Create Network
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/networks |
Operation |
POST |
Direction |
VNFLCM,NSLCM->MULTIVIM |
Description |
Create network and subnetwork on the VIM |
4.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
String |
Logical network name |
shared |
M |
1 |
boolean |
Whether to share(1:sharing;0:private) |
vlanTransparent |
O |
1 |
boolean |
Whether to support VLAN pass through(1:true;0:false) |
networkType |
O |
1 |
String |
Network type flat, vlan, vxlan, gre, portgroup |
segmentationId |
O |
1 |
Int |
id of paragraph |
physicalNetwork |
O |
1 |
string |
The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
routerExternal |
O |
1 |
boolean |
Indicates whether this network can provide floating IPs via a router. |
{
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType": "vlan",
"segmentationId": 202,
"physicalNetwork": "ctrl",
"routerExternal": 0
}
4.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
status |
M |
1 |
string |
Network status |
id |
M |
1 |
string |
Network id |
name |
M |
1 |
string |
Network name |
tenantId |
M |
1 |
String |
Tenant UUID |
segmentationId |
O |
1 |
int |
Segmentation id |
networkType |
O |
1 |
string |
Network type |
physicalNetwork |
O |
1 |
string |
The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
vlanTransparent |
O |
1 |
boolean |
Whether to support VLAN pass through(1:true;0:false) |
shared |
O |
1 |
boolean |
Whether to share(1:sharing;0:private) |
routerExternal |
O |
1 |
boolean |
Indicates whether this network can provide floating IPs via a router. |
returnCode |
M |
1 |
int |
0: Already exist 1: Newly created |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
202: accepted
500: failed
{
"returnCode": 0,
"vimId": "11111",
"vimName": "11111",
"status": "ACTIVE",
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "net1",
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType": "vlan",
"segmentationId": 202,
"physicalNetwork": "ctrl",
"routerExternal": 0
}
4.2. Delete Network
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/networks/{networkId} |
Operation |
Delete |
Direction |
NFLCM,NSLCM->MULTIVIM |
4.2.1. Request
N/A
4.2.2. Response
204: no content
4.3. List Network
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/networks |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
4.3.1. Query
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
O |
1 |
String |
Filters the response by a name, as a string. A valid value is the name of a network |
4.3.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
networks |
0..N |
List |
Network list |
|
status |
M |
1 |
string |
Network status |
id |
M |
1 |
string |
Network id |
name |
M |
1 |
string |
Network name |
tenantId |
M |
1 |
String |
Tenant UUID |
segmentationId |
O |
1 |
int |
Segmentation id |
networkType |
O |
1 |
string |
Network type |
physicalNetwork |
O |
1 |
string |
The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
vlanTransparent |
O |
1 |
boolean |
Whether to support VLAN pass through(1:true;0:false) |
shared |
O |
1 |
boolean |
Whether to share(1:sharing;0:private) |
routerExternal |
O |
1 |
boolean |
Indicates whether this network can provide floating IPs via a router. |
200: ok
500: failed
{
"vimId": "11111",
"vimName": "111",
"networks":
[{
"status": "ACTIVE",
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "net1",
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType": "vlan",
"segmentationId": 202,
"physicalNetwork ": "ctrl",
"routerExternal ": 0
}]
}
4.4. Get Network
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/networks/{networkId} |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
4.4.1. Request
N/A
4.4.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
status |
M |
1 |
string |
Network status |
id |
M |
1 |
string |
Network id |
name |
M |
1 |
string |
Network name |
tenantId |
M |
1 |
String |
Tenant UUID |
segmentationId |
O |
1 |
int |
Segmentation id |
networkType |
O |
1 |
string |
Network type |
physicalNetwork |
O |
1 |
string |
The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
vlanTransparent |
O |
1 |
boolean |
Whether to support VLAN pass through(1:true;0:false) |
shared |
O |
1 |
boolean |
Whether to share(1:sharing;0:private) |
routerExternal |
O |
1 |
boolean |
Indicates whether this network can provide floating IPs via a router. |
returnCode |
M |
1 |
int |
0: Already exist 1: Newly created |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
200: ok
500: failed
{
"vimId":"11111",
"vimName":"11111",
"status": "ACTIVE",
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "net1",
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType":"vlan",
"segmentationId":202,
"physicalNetwork ":"ctrl",
"routerExternal ":0
}
5. Subnetwork Management
5.1. Create Subnets
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/subnets |
Operation |
POST |
Direction |
VNFLCM,NSLCM->MULTIVIM |
Description |
Create network and subnetwork on the VIM |
5.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
networkId |
M |
1 |
String |
Network Id |
name |
M |
1 |
String |
SubnetName |
cidr |
M |
1 |
String |
Subnet cidr |
ipVersion |
M |
1 |
Int |
Ip type 4,6 |
enableDhcp |
O |
1 |
boolean |
Whether to allow 1: yes;0: no |
gatewayIp |
O |
1 |
String |
Gateway ip |
dnsNameservers |
O |
1..n |
List of servers |
List of servers |
hostRoutes |
O |
1..n |
List of routes |
List of routes |
allocationPools |
O |
1..n |
list of “allocation” |
list of allocation |
–>allocation |
||||
–>start |
O |
1 |
String |
Start ip |
–>end |
O |
1 |
String |
End ip |
{
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"subnetName": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
5.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
returnCode |
M |
1 |
int |
0: Already exist 1: Newly created |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
status |
M |
1 |
string |
subnetwork status |
id |
M |
1 |
string |
subNetwork id |
tenantId |
M |
1 |
String |
Tenant UUID |
networkId |
O |
1 |
String |
Network Id |
networkName |
O |
1 |
String |
Network Name |
name |
M |
1 |
String |
SubnetName |
cidr |
M |
1 |
String |
Subnet cidr |
ipVersion |
M |
1 |
Int |
Ip type 4,6 |
enableDhcp |
O |
1 |
boolean |
Whether to allow 1: yes;0: no |
gatewayIp |
O |
1 |
String |
Gateway ip |
dnsNameservers |
O |
1..n |
List of servers |
List of servers |
hostRoutes |
O |
1..n |
List of routes |
List of routes |
allocationPools |
O |
1..n |
list of “allocation” |
list of allocation |
–>allocation |
||||
–>start |
O |
1 |
String |
Start ip |
–>end |
O |
1 |
String |
End ip |
202: accepted
500: failed
{
"returnCode": 0,
"vimId": "11111",
"vimName": "11111",
"status": " ACTIVE",
"id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"name": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
5.2. Delete Subnets
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/subnets/{subnetId} |
Operation |
Delete |
Direction |
NFLCM,NSLCM->MULTIVIM |
5.2.1. Request
N/A
5.2.2. Response
204: no content
5.3. List Subnets
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/subnets |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
5.3.1. Query
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/subnets?{……}
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
O |
1 |
String |
Filters fields of the response by a name, as a string. A valid value is the name of a subnet |
5.3.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
subnets |
M |
0..N |
List |
Network list |
status |
1 |
string |
subnetwork status |
|
id |
1 |
string |
subNetwork id |
|
tenantId |
M |
1 |
String |
Tenant UUID |
networkId |
O |
1 |
String |
Network Id |
networkName |
O |
1 |
String |
Network Name |
name |
M |
1 |
String |
SubnetName |
cidr |
M |
1 |
String |
Subnet cidr |
ipVersion |
M |
1 |
Int |
Ip type 4,6 |
enableDhcp |
O |
1 |
boolean |
Whether to allow 1: yes;0: no |
gatewayIp |
O |
1 |
String |
Gateway ip |
dnsNameservers |
O |
1..n |
List of servers |
List of servers |
hostRoutes |
O |
1..n |
List of routes |
List of routes |
allocationPools |
O |
1..n |
list of “allocation” |
list of allocation |
–>allocation |
||||
–>start |
O |
1 |
String |
Start ip |
–>end |
O |
1 |
String |
End ip |
200: ok
500: failed
{
"vimId": "11111",
"vimName": "11111",
"subnets": [
{
"status": " ACTIVE",
"id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"name": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
]
}
5.4. Get Subnets
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/subnets/{subnetid} |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
5.4.1. Request
N/A
5.4.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
status |
1 |
string |
subnetwork status |
|
id |
1 |
string |
subNetwork id |
|
tenantId |
M |
1 |
String |
Tenant UUID |
networkId |
O |
1 |
String |
Network Id |
networkName |
O |
1 |
String |
Network Name |
name |
M |
1 |
String |
SubnetName |
cidr |
M |
1 |
String |
Subnet cidr |
ipVersion |
M |
1 |
Int |
Ip type 4,6 |
enableDhcp |
O |
1 |
boolean |
Whether to allow 1: yes;0: no |
gatewayIp |
O |
1 |
String |
Gateway ip |
dnsNameservers |
O |
1..n |
List of servers |
List of servers |
hostRoutes |
O |
1..n |
List of routes |
List of routes |
allocationPools |
O |
1..n |
list of “allocation” |
list of allocation |
–>allocation |
||||
–>start |
O |
1 |
String |
Start ip |
–>end |
O |
1 |
String |
End ip |
202: accepted
500: failed
{
"status": " ACTIVE",
"id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"name": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
6. Virtual Port
6.1. Create Virtual Port
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/ports |
Operation |
POST |
Direction |
VNFLCM->MULTIVIM |
6.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
networkId |
M |
1 |
string |
Network UUID |
subnetId |
O |
1 |
string |
Subnet UUID |
name |
M |
1 |
string |
Port name |
macAddress |
O |
1 |
string |
Mac address |
ip |
O |
1 |
string |
Ip address |
vnicType |
O |
1 |
string |
Virtual network card type, the value of three kinds of normal/direct/macvtap |
securityGroups |
O |
1 |
string |
The IDs of security groups applied to the port. |
6.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
returnCode |
M |
1 |
int |
0: Already exist 1: Newly created |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
status |
M |
1 |
string |
status |
id |
M |
1 |
string |
Port Id |
name |
M |
1 |
string |
Port name |
tenantId |
M |
1 |
String |
Tenant UUID |
networkName |
M |
1 |
string |
Network name |
networkId |
M |
1 |
string |
Network Id |
subnetName |
M |
1 |
string |
Subnet name |
subnetId |
M |
1 |
string |
SubnetId |
macAddress |
O |
1 |
string |
Mac address |
ip |
O |
1 |
string |
Ip address |
vnicType |
O |
1 |
string |
Virtual network card type, the value of three kinds of normal/direct/macvtap |
securityGroups |
O |
1 |
string |
List of security group names. |
6.2. Delete Virtual Port
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/ports/{portid} |
Operation |
DELETTE |
Direction |
VNFLCM->MULTIVIM |
6.2.1. Request
N/A
6.2.2. Response
204: no content
6.3. List Virtual Port
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/tenantid}/ports |
Operation |
GET |
Direction |
VNFLCM->MULTIVIM |
6.3.1. Query
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
string |
Port name to filter out list of virtual ports |
6.3.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
Ports |
M |
0..N |
List |
ports |
id |
M |
1 |
string |
Port Id |
name |
M |
1 |
string |
Port name |
status |
M |
1 |
string |
status |
networkName |
O |
1 |
string |
Network name |
networkId |
M |
1 |
string |
Network Id |
subnetName |
O |
1 |
string |
Subnet name |
subnetId |
M |
1 |
string |
SubnetId |
macAddress |
O |
1 |
string |
Mac address |
ip |
O |
1 |
string |
Ip address |
vnicType |
O |
1 |
string |
Virtual network card type, the value of three kinds of normal/direct/macvtap |
securityGroups |
O |
1 |
string |
List of security group names. |
200: ok
500: failed
6.4. Get Virtual Port
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/ports/{portid} |
Operation |
GET |
Direction |
VNFLCM->MULTIVIM |
6.4.1. Request
N/A
6.4.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
status |
M |
1 |
string |
status |
id |
M |
1 |
string |
Port Id |
name |
M |
1 |
string |
Port name |
tenantId |
M |
1 |
String |
Tenant UUID |
networkName |
M |
1 |
string |
Network name |
networkId |
M |
1 |
string |
Network Id |
subnetName |
M |
1 |
string |
Subnet name |
subnetId |
M |
1 |
string |
SubnetId |
macAddress |
O |
1 |
string |
Mac address |
ip |
O |
1 |
string |
Ip address |
vnicType |
O |
1 |
string |
Virtual network card type, the value of three kinds of normal/direct/macvtap |
securityGroups |
O |
1 |
string |
List of security group names. |
200: ok
500: failed
7. Server Management
7.1. Create Server
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/servers |
Operation |
POST |
Direction |
VNFLCM->MULTIVIM |
7.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
string |
server name |
boot |
M |
1 |
String |
Start parameters |
nicArray |
O |
1..n |
List of nic |
List of nic |
contextArray |
O |
1..n |
list of context |
list of context |
volumeArray |
O |
1..n |
list of volume |
list of volume |
availabilityZone |
O |
1 |
string |
Usable field |
flavorId |
M |
1 |
String |
server Flavor id |
metadata |
O |
1 |
List of metadata |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
userdata |
O |
1 |
string |
Configuration information or scripts to use upon launch. Must be Base64 encoded. NOTE: The ‘null’ value allowed in Nova legacy v2 API, but due to the strict input validation, it isn’t allowed in Nova v2.1 API. |
securityGroups |
O |
1 |
List of names of security group |
One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group. |
serverGroup |
O |
1 |
string |
the ServerGroup for anti-affinity and affinity |
boot
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
type |
M |
1 |
int |
Startup mode
|
volumeId |
O |
1 |
string |
Volume Id(type=1) |
imageId |
O |
1 |
String |
ImageId(type=2) |
contextArray
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
fileName |
M |
1 |
String |
Injection file name |
fileData |
M |
1 |
string |
Injection file content (injection file content inside the <mac>$MAC_1</mac> $MAC_1 need to be replaced by the MAC address, of which 1 is NIC index. ) |
volumeArray
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
volumeId |
M |
1 |
String |
Volume Id |
nicArray
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
portId |
M |
1 |
String |
Port Id |
{
"tenant": "tenant1",
"name": "vm1",
"availabilityZone": "az1",
"flavorName": "vm_large",
"boot": {
"type": 1,
" volumeName": "volume1"
},
"flavorId": "vm_large_134213",
"contextArray": [{
"fileName": "test.yaml",
"fileData": "…."
}],
"volumeArray": [{
"volumeName": "vol1",
}],
"nicArray": [{
"portId": "port_a"
}],
"metada": {
"foo": "foo value"
},
"userdata": "abcdedf"
}
7.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
returnCode |
1 |
int |
0: Already exist 1: Newly created |
|
id |
M |
1 |
string |
server id |
name |
1 |
string |
server name |
|
tenantId |
M |
1 |
String |
Tenant UUID |
boot |
M |
1 |
String |
Start parameters |
nicArray |
O |
1..n |
List of nic |
List of nic |
volumeArray |
O |
1..n |
list of volume |
list of volume |
availabilityZone |
O |
1 |
string |
Usable field |
flavorId |
M |
1 |
String |
server Flavor |
metadata |
O |
1 |
List of metadata |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
securityGroups |
O |
1 |
List of name of security group |
One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group. [TBD] |
serverGroup |
O |
1 |
string |
the ServerGroup for anti-affinity and affinity [TBD] |
status |
M |
1 |
string |
Server status, 0:INACTIVE,1:ACTIVE,2:ERROR |
202: accepted
500: failed
{
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "vm1",
"returnCode": 1,
}
7.2. Delete Server
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/servers/{serverid} |
Operation |
DELETE |
Direction |
NFLCM,NSLCM->MULTIVIM |
7.2.1. Request
N/A
7.2.2. Response
204: no content
7.3. List Server
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/servers |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
7.3.1. Request
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/vms?{……}
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
string |
server name |
7.3.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
servers |
M |
1 |
array |
server list |
id |
M |
1 |
string |
server id |
name |
M |
1 |
string |
server name |
tenantId |
M |
1 |
String |
Tenant UUID |
boot |
M |
1 |
String |
Start parameters |
nicArray |
O |
1..n |
List of nic |
List of nic |
volumeArray |
O |
1..n |
list of volume |
list of volume |
availabilityZone |
O |
1 |
string |
Usable field |
flavorId |
M |
1 |
String |
server Flavor |
metada |
O |
1 |
keypair |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
securityGroups |
O |
1 |
List of names of security group |
One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group. [TBD] |
serverGroup |
O |
1 |
string |
the ServerGroup for anti-affinity and affinity [TBD] |
200: ok
500: failed
7.4. Get Server
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/servers/{serverid} |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
7.4.1. Request
N/A
7.4.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
id |
M |
1 |
string |
server id |
name |
M |
1 |
string |
server name |
tenantId |
M |
1 |
String |
Tenant UUID |
boot |
M |
1 |
String |
Start parameters |
nicArray |
O |
1..n |
List of nic |
List of nic |
volumeArray |
O |
1..n |
list of volume |
list of volume |
availabilityZone |
O |
1 |
string |
Usable field |
flavorId |
M |
1 |
String |
server Flavor |
metadata |
O |
1 |
List of metadata |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
securityGroups |
O |
1 |
List of names of security group |
One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group. [TBD] |
serverGroup |
O |
1 |
string |
the ServerGroup for anti-affinity and affinity [TBD] |
200: ok
500: failed
8. Flavor Management
8.1. Create Flavor
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/flavors |
Operation |
POST |
Direction |
VNFLCM->MULTIVIM |
8.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
string |
Flavor Name |
vcpu |
M |
1 |
int |
Virtual CPU number |
memory |
M |
1 |
int |
Memory size |
disk |
M |
1 |
int |
The size of the root disk |
ephemeral |
O |
1 |
int |
The size of the ephemeral disk |
swap |
O |
1 |
int |
The size of the swap disk |
isPublic |
O |
1 |
boolean |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
extraSpecs |
O |
0..N |
List of keyname-value pairs |
EPA parameter |
8.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
id |
M |
1 |
string |
Flavor id |
name |
M |
1 |
string |
Flavor name |
returnCode |
M |
1 |
int |
0: Already exist 1: Newly created |
tenantId |
M |
1 |
String |
Tenant UUID |
vcpu |
M |
1 |
int |
Virtual CPU number |
memory |
M |
1 |
int |
Memory size |
disk |
M |
1 |
int |
The size of the root disk |
ephemeral |
M |
1 |
int |
The size of the ephemeral disk |
swap |
M |
1 |
int |
The size of the swap disk |
isPublic |
M |
1 |
boolean |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
extraSpecs |
O |
0..N |
List of Key-value pairs |
EPA parameter |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
8.2. Delete Flavor
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/flavors /{flavorid} |
Operation |
DELETE |
Direction |
NFLCM,NSLCM->MULTIVIM |
8.2.1. Request
N/A
8.2.2. Response
204: no content
8.3. List Flavor
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/ flavors |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
8.3.1. Query
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
string |
Flavor name to filter out list |
8.3.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
flavors |
M |
0..N |
list |
Vm list |
id |
M |
1 |
string |
Flavor id |
name |
M |
1 |
string |
Flavor Name |
vcpu |
M |
1 |
int |
Virtual CPU number |
memory |
M |
1 |
int |
Memory size |
disk |
M |
1 |
int |
The size of the root disk |
ephemeral |
M |
1 |
int |
The size of the ephemeral disk |
swap |
M |
1 |
int |
The size of the swap disk |
isPublic |
M |
1 |
boolean |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
extraSpecs |
O |
0..N |
List of keyname-value pairs |
EPA parameter |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
200: ok
500: failed
8.4. Get Flavor
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/flavors/{ flavorsid } |
Operation |
get |
Direction |
NFLCM,NSLCM->MULTIVIM |
8.4.1. Request
N/A
8.4.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
id |
M |
1 |
string |
Flavor id |
name |
M |
1 |
string |
Flavor Name |
vcpu |
M |
1 |
int |
Virtual CPU number |
memory |
M |
1 |
int |
Memory size |
disk |
M |
1 |
int |
The size of the root disk |
ephemeral |
M |
1 |
int |
The size of the ephemeral disk |
swap |
M |
1 |
int |
The size of the swap disk |
isPublic |
M |
1 |
boolean |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
extraSpecs |
O |
0..N |
List of keyname-value pairs |
EPA parameter |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
200: ok
500: failed
9. Volume Management
9.1. Create Volume
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/volumes |
Operation |
POST |
Direction |
NSLCM->MULTIVIM |
9.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
string |
Volume name |
volumeSize |
M |
1 |
int |
Volume size |
imageId |
O |
1 |
string |
Image UUID |
volumeType |
O |
1 |
string |
Volume type |
availabilityZone |
O |
1 |
string |
Usable field |
{
"tenant": "tenant1",
"volumeName": "volume1",
"volumeSize": 3,
"imageName": "cirros.qcow2",
"volumeType": "volumetype1",
"availabilityZone": "zone1"
}
9.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
returnCode |
M |
1 |
int |
0: Already exist 1: Newly created |
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
status |
M |
1 |
string |
Volume status |
id |
M |
1 |
string |
Volume id |
name |
M |
1 |
string |
Volume name |
volumeType |
O |
1 |
string |
Volume type |
availabilityZone |
O |
1 |
string |
Availability Zone |
202: accepted
500: failed
{
"id": "bc9eebdbbfd356458269340b9ea6fb73",
"name": "volume1",
"returnCode": 1,
}
9.2. Delete Volume
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/volumes/{volumeId} |
Operation |
DELETE |
Direction |
NSLCM->MULTIVIM |
9.2.1. Request
N/A
9.2.2. Response
204: no content
9.3. List Volumes
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/volumes |
Operation |
GET |
Direction |
NSLCM-> MULTIVIM |
9.3.1. Request
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/volumes?{……}
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name |
M |
1 |
string |
Volume name |
9.3.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
volumes |
M |
1 |
Array |
|
id |
M |
1 |
string |
Volume id |
name |
M |
1 |
string |
Volume name |
createTime |
O |
1 |
string |
Create time |
status |
M |
1 |
string |
Volume status |
volumeSize |
M |
1 |
int |
Volume size |
volumeType |
M |
1 |
string |
Volume type |
availabilityZone |
M |
1 |
string |
Availability Zone |
attachments |
M |
1..n |
list of attachment |
List of additional information on the cloud disk |
200: ok
500: failed
{
"volumes": [
{
"status": "available",
"name": "test",
"attachments": [],
"createTime": "2015-12-02T07:57:23.000000",
" volumeType ": "ws",
"id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55",
"size": 20
},
{
"status": "in-use",
"name": "wangsong",
"attachments": [
{
"device": "/dev/vdc",
"serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
"volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"hostName": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
}
],
"createTime": "2015-12-02T06:39:40.000000",
" volumeType ": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"size": 40
}
]
}
9.4. Get Volumes
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/volumes/{volumeid} |
Operation |
GET |
Direction |
NSLCM-> MULTIVIM |
9.4.1. Request
N/A
9.4.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
String |
Tenant UUID |
id |
1 |
string |
Volume id |
|
name |
1 |
string |
Volume name |
|
createTime |
1 |
string |
Create time |
|
status |
1 |
string |
Volume status |
|
volumeType |
1 |
list of string |
Volume type |
|
volumeSize |
1 |
int |
Volume size |
|
availabilityZone |
M |
1 |
string |
Availability Zone |
attachments |
M |
1..n |
list of attachment |
List of additional information on the cloud disk |
attachment:
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
device |
1 |
string |
Device name |
|
serverId |
1 |
string |
VM id |
|
volumeId |
1 |
string |
Volume id |
|
hostName |
1 |
string |
Host name |
|
id |
1 |
string |
Device id |
200: ok
500: failed
{
"status": "in-use",
"name": "wangsong",
"attachments": [
{
"device": "/dev/vdc",
"serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
"volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"hostName": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
}
],
"createTime": "2015-12-02T06:39:40.000000",
"volumeType ": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"volumeSize ": 40
}
10. Tenant Management
10.1. List tenants
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/tenants |
Operation |
GET |
Direction |
NSLCM-> MULTIVIM |
10.1.1. Query
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
name={tenantname} |
O |
1 |
string |
Tenant name to filter output list |
10.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenants |
M |
1 |
Array |
|
id |
M |
1 |
string |
tenant UUID |
name |
M |
1 |
string |
tenant name |
200: ok
500: failed
{
" tenants ": [
{
"id": "1",
"name": "test\_a"
}
]
}
11. Limits
11.1. List Limits of resouces
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/limits |
Operation |
GET |
Direction |
NSLCM-> MULTIVIM |
11.1.1. Request
N/A
11.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
string |
Tenant UUID |
maxPersonality |
O |
1 |
int |
The number of allowed injected files for each tenant. |
maxPersonalitySize |
O |
1 |
int |
The number of allowed bytes of content for each injected file. |
maxServerGroupMembers |
O |
1 |
int |
The number of allowed members for each server group. |
maxServerGroups |
O |
1 |
int |
The number of allowed server groups for each tenant. |
maxServerMeta |
O |
1 |
int |
The number of allowed metadata items for each instance. |
maxTotalCores |
O |
1 |
int |
The number of allowed instance cores for each tenant. |
maxTotalInstances |
O |
1 |
int |
The number of allowed instances for each tenant. |
maxTotalKeypairs |
O |
1 |
int |
The number of allowed key pairs for each user. |
maxTotalRAMSize |
O |
1 |
int |
The amount of allowed instance RAM, in MB, for each tenant. |
maxTotalVolumeGigabytes |
O |
1 |
int |
The maximum total amount of volumes, in gibibytes (GiB). |
maxTotalVolumes |
O |
1 |
int |
The maximum number of volumes. |
totalVolumesUsed |
O |
1 |
int |
The total number of volumes used. |
totalGigabytesUsed |
O |
1 |
int |
The total number of gibibytes (GiB) used. |
network |
O |
1 |
int |
The number of networks allowed for each project. |
subnet |
O |
1 |
int |
The number of subnets allowed for each project. |
subnetpool |
O |
1 |
int |
The number of subnet pools allowed for each project. |
security_group_rule |
O |
1 |
int |
The number of security group rules allowed for each project. |
security_group |
O |
1 |
int |
The number of security groups allowed for each project. |
router |
O |
1 |
int |
The number of routers allowed for each project. |
port |
O |
1 |
int |
The number of ports allowed for each project. |
200: ok
500: failed
{
"maxPersonality": 5,
"maxPersonalitySize": 10240,
"maxServerMeta": 128,
"maxTotalCores": 20,
"maxTotalInstances": 10,
"maxTotalKeypairs": 100,
"maxTotalRAMSize": 51200,
"maxServerGroups": 10,
"maxServerGroupMembers": 10,
}
12. Host Management
12.1. List hosts
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts |
Operation |
GET |
Direction |
NSLCM-> MULTIVIM |
12.1.1. Request
N/A
12.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
string |
Tenant Name |
hosts |
M |
1 |
Array of host |
List of host information |
service |
M |
1 |
string |
The service running on the host |
name |
M |
1 |
string |
host name |
zone |
O |
1 |
string |
Available zone for the host |
200: ok
500: failed
{
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
"hosts": [
{
"name": "b6e4adbc193d428ea923899d07fb001e",
"service": "conductor",
"zone": "internal",
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "09c025b0efc64211bd23fc50fa974cdf",
"service": "compute",
"zone": "nova"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "e73ec0bd35c64de4a1adfa8b8969a1f6",
"service": "consoleauth",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"host\_name": "396a8a0a234f476eb05fb9fbc5802ba7",
"service": "network",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "abffda96592c4eacaf4111c28fddee17",
"service": "scheduler",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
}
]
}
12.2. Get host
IF Definition |
Description |
---|---|
URI |
msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts/{hostname} |
Operation |
GET |
Direction |
NSLCM-> MULTIVIM |
12.2.1. Request
12.2.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
vimId |
M |
1 |
String |
vim id |
vimName |
O |
1 |
string |
vim name |
tenantId |
M |
1 |
string |
Tenant Name |
host |
M |
1 |
List of resources |
Host resource info |
resource |
M |
1..N |
Object |
Resource description |
cpu |
M |
1 |
Int |
The cpu info on the host. |
memory_mb |
M |
1 |
int |
The memory info on the host (in MB). |
name |
M |
1 |
string |
host name |
project |
M |
1 |
string |
Value: total, used_now, used_max or specific project_id |
disk_gb |
M |
1 |
int |
The disk info on the host (in GB). |
200: ok
500: failed
{
"cpu": 1,
"disk\_gb": 1028,
"name": "c1a7de0ac9d94e4baceae031d05caae3",
"memory\_mb": 8192,
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1",
"host": [
{
"memory\_mb": 4960,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 92,
"project": "(total)",
"cpu": 4
},
{
"memory\_mb": 1536,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "(used\_now)",
"cpu": 2
},
{
"memory\_mb": 1024,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "(used\_max)",
"cpu": 2
},
{
"memory\_mb": 1024,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "568f7ec425db472ba348251bf1e7eebd",
"cpu": 2
}
],
"vimName": "openstack\_newton",
"vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73",
"tenantId": "568f7ec425db472ba348251bf1e7eebd"
}
13. VIM Management
13.1. Update VIM Info
IF Definition |
Description |
---|---|
URI |
http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry |
Operation |
POST |
Direction |
ESR-> MULTICLOUD |
13.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
defaultTenant |
M |
1 |
string |
default tenant name |
13.1.2. Response
NA
202: accept
400: failed
13.2. Get registry status
IF Definition |
Description |
---|---|
URI |
http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry |
Operation |
GET |
Direction |
ESR-> MULTICLOUD |
13.2.1. Request
NA
13.2.2. Response
NA
200: OK
404: failed
500: failed
13.3. Unregistry VIM
IF Definition |
Description |
---|---|
URI |
http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region} |
Operation |
DELETE |
Direction |
ESR-> MULTICLOUD |
13.2.1. Request
NA
13.2.2. Response
NA
204: No content found
400: failed
14. Proxied OpenStack APIs
14.1. Tokens
IF Definition |
Description |
---|---|
URI |
http://msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/identity/v3/auth/tokens |
Operation |
POST |
Direction |
NSLCM-> MULTICLOUD |
14.1.1. Request
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
auth |
O |
1 |
Object |
Same as OpenStack Identity Tokens API |
{
}
14.1.2. Response
Parameter |
Qualifier |
Cardinality |
Content |
Description |
---|---|---|---|---|
X-Subject-Token |
M |
1 |
String |
The authentication token in Header |
token |
O |
1 |
Object |
Token response, the same as OpenStack Identity Tokens API |
201: Created
401: Unauthorized
403: Forbidden
500: failed
Header:
X-Subject-Token: a33f3b209e9b471a97fbeab8324a9a45
Body:
{
"token" : {
"user" : {
"domain" : {
"id" : "default",
"name" : "Default"
},
"id" : "9efb043c7629497a8028d7325ca1afb0",
"name" : "admin"
},
"catalog" : [
{
"type" : "network",
"endpoints" : [
{
"interface" : "public",
"id" : "39583c1508ad4b71b380570a745ee10a",
"url" : "http://172.16.77.10:80/api/multicloud-titaniumcloud/v0/CloudOwner_RegionOne/network",
"region_id" : "RegionOne",
"region" : "RegionOne"
}
],
"name" : "neutron",
"id" : "99aefcc82a9246f98f8c281e61ffc754"
},
...
]
"project" : {
"name" : "admin",
"id" : "fcca3cc49d5e42caae15459e27103efc",
"domain" : {
"id" : "default",
"name" : "Default"
}
},
"is_domain" : false,
"expires_at" : "2017-09-11T03:52:29.000000Z"
}
}