Upload
others
View
2
Download
1
Embed Size (px)
Citation preview
MasterScope Virtual DataCenterAutomation v5.0
API Reference
1st EditionApril, 2018
NEC Corporation
DisclaimerThe copyrighted information noted in this document shall belong to NEC Corporation.
Copying or revising this document, in whole or in part, is strictly prohibited without thepermission of NEC Corporation.
This document may be changed without prior notice.
NEC Corporation shall not be liable for any technical or editing errors or omissions in thisdocument.
NEC Corporation shall not be liable for the accuracy, usability, or certainty of information notedin this document.
Copyright Information• SigmaSystemCenter, MasterScope, Network Manager, NEC Storage, ESMPRO,
EXPRESSBUILDER, EXPRESSSCOPE, SIGMABLADE, UNIVERGE, andProgrammableFlow are registered trademarks of NEC Corporation.
• VMware is a trademark or registered trademark of VMware, Inc. in the United States and othercountries.
• Microsoft, Windows, Windows Server, Windows Vista, Internet Explorer, SQL Server, andHyper-V are trademarks or registered trademarks of Microsoft Corporation in the United Statesof America and other countries.
• Linux is a trademark or registered trademark of Linus Torvalds in the United States of Americaand other countries.
• Red Hat is a trademark or registered trademark of Red Hat, Inc. in the United States and othercountries.
• Intel and Itanium are trademarks or registered trademarks of Intel Corporation in the UnitedStates of America and other countries.
• Apache, Apache Tomcat, and Tomcat are trademarks or registered trademarks of ApacheSoftware Foundation.
• Oracle, Solaris, Java, and WebLogic are registered trademarks of Oracle Corporation and itssubsidiaries and affiliates in the United States of America and other countries.
• SAP is a trademark or registered trademark of SAP AG in Germany and other countries.
• Fortinet, FortiGate, FortiClient, and FortiGuard are registered trademarks of Fortinet, Inc. OtherFortinet products contained in this guide are trademarks of Fortinet, Inc.
• Thunder Series and AX Series of A10 Networks is a registered trademark of A10 Networks,Inc.
• Catalyst, IOS, Cisco IOS, Cisco, Cisco Systems, and Cisco logo are trademarks or registeredtrademarks of Cisco Systems, Inc. in the United States of America and other countries.
• F5, F5 Networks, F5 logo, and product names in the text are trademarks or registeredtrademarks of F5 Networks, Inc. in the United States of America and other countries.
• Amazon, AWS, Amazon Elastic Compute Cloud are trademarks or registered trademarks ofAmazon.com, Inc. in the United States of America and other countries.
i
Other system names, company names, and product names in this document are trademarks orregistered trademarks of their respective companies.
The ® and ™ marks are not included in this document.
Notes on exporting this productIf this product (including its software) is subject to regulation under the Foreign Exchange andForeign Trade Law, it will be necessary to follow the procedures required by this law when exportingthis product, such as obtaining an export license from the Japanese Government. If you requiredocuments from NEC in order to obtain an export license, please contact the dealer where youpurchased your MasterScope product, or your local NEC sales office.
ii
PrefaceTarget Readers and Objective
This document is intended for system builders of a Virtual DataCenter Automation data center anddetails how to construct it.
Notation Rules of This DocumentThis document describes precautions, important items, and related information as follows.
NoteIndicates precautions, warnings, and supplementary notes for the function, operation, and setting
TipIndicates the location of reference destination information
Notation rulesIn addition, the following notation rules are applied in this document.
Notation How to use Example
XXXXX Used before and after the items (text boxes,check boxes, or tabs, etc.) to be displayed inthe dialog box or used for screen names(dialog boxes, windows, and others).
Enter the machine name in theMachine name text box.All check boxSetting window
" "XXXXX
Used used before and after other manualname.
"Installation Guide"Installation Guide
[ ] in a commandline
Indicates that the specification of the valuein [ ] can be omitted.
add [/a] Gr1
Monospace font(courier new)
Indicates the outputs (messages, prompts,and others) from the command line orsystem.
Perform the following command.replace Gr1
Italicizedmonospace font(courier new)< >
Indicates the items to be replaced with avalid value and input by users.When a space is included in the value, place“ “ before and after the value.
add GroupNameInstallPath="Install Path"<Install DVD>
iii
ContentsChapter 1. Overview of API........................................................................................................ 1
1.1 API System ...........................................................................................................................2
1.2 RESTful API provided by MasterScope Virtual DataCenter Automation ..............................2
Chapter 2. API Common Specification...................................................................................... 32.1 HTTP Methods .....................................................................................................................4
2.2 JSON ....................................................................................................................................42.2.1 JSON Specification .....................................................................................................42.2.2 Date/Time Format .......................................................................................................42.2.3 Character Encoding.....................................................................................................4
2.3 Authentication method ..........................................................................................................4
Chapter 3. Workflow API Specification .................................................................................... 53.1 Request Format .....................................................................................................................7
3.1.1 HTTP Header ..............................................................................................................73.1.2 Request Data for POST ...............................................................................................73.1.3 Request Data for GET .................................................................................................73.1.4 Request Data for PUT .................................................................................................73.1.5 Request Data for DELETE..........................................................................................7
3.2 Response Format...................................................................................................................73.2.1 Common HTTP Status Codes......................................................................................73.2.2 Error Format ...............................................................................................................8
3.3 End Point ..............................................................................................................................8
3.4 API List ................................................................................................................................8
3.5 Parameter Specifications .....................................................................................................11
3.6 Execute Workflow API .......................................................................................................11
3.7 Get Workflow Execution Result API...................................................................................12
3.8 Cancel Execution of Workflow API ....................................................................................14
3.9 Get Configuration Information API.....................................................................................14
3.10 Get Performance Information Items API ...........................................................................16
3.11 Get Performance Information API.....................................................................................17
3.12 Get Scenario ID List API ..................................................................................................19
3.13 Register Tenant Information API.......................................................................................20
3.14 Change Tenant Information API........................................................................................21
3.15 Delete Tenant Information API .........................................................................................22
3.16 Get Group Information API...............................................................................................22
3.17 Get Host Information API .................................................................................................22
3.18 Get Host Performance Information API ............................................................................23
3.19 Get VM Screenshots API ..................................................................................................23
iv
3.20 Get Resource Pool List API ..............................................................................................24
3.21 Get Resource Pool Information API ..................................................................................26
3.22 Create VM Snapshots API ................................................................................................35
3.23 Apply VM Snapshots API .................................................................................................35
3.24 Delete VM Snapshots API ................................................................................................35
3.25 Operate Host Power API ...................................................................................................36
3.26 Get Job API.......................................................................................................................36
3.27 Cancel Job API .................................................................................................................37
3.28 Get Template List API.......................................................................................................37
3.29 Get Logical Asset List API................................................................................................39
3.30 Request for Logical Assets API.........................................................................................40
3.31 Return Logical Assets API ................................................................................................42
3.32 Get Assigned Logical Asset List API ................................................................................43
3.33 Get Distribution Package List API ....................................................................................45
3.34 Get VM Image List API ....................................................................................................46
3.35 Get DC Resource Group List API .....................................................................................47
3.36 Get DC Resource Group Details API ................................................................................49
3.37 IP Address Information Acquisition API...........................................................................59
3.38 IP Address Information Registration API ..........................................................................60
3.39 IP Address Information Registration Cancellation API .....................................................62
3.40 Get Registered Global IP Address List API.......................................................................63
3.41 Get Global IP Address API ...............................................................................................65
3.42 Release Global IP Address API.........................................................................................66
3.43 MoM list acquisition API ..................................................................................................67
3.44 Location search API..........................................................................................................68
3.45 SSC general list acquisition API........................................................................................69
3.46 SSC pass-through API.......................................................................................................71
3.47 Port group creation API.....................................................................................................73
3.48 Port group update API.......................................................................................................75
3.49 Port group deletion API.....................................................................................................77
3.50 Acquisition of DC Resource Detail Information Associated with the Tenant.....................78
3.51 Auto Selection Trial API ...................................................................................................85
Chapter 4. Resource Management API Specification ............................................................ 884.1 Request Format ...................................................................................................................89
4.1.1 HTTP Header ............................................................................................................89
4.2 Response Format.................................................................................................................89
4.3 End Point ............................................................................................................................89
v
4.4 API List ..............................................................................................................................89
Chapter 5. Workflow execution API ........................................................................................ 905.1 Overview ............................................................................................................................91
5.2 Execution method ...............................................................................................................91
5.3 Calling a Resource Management API from the Workflow...................................................92
5.4 Execution example..............................................................................................................935.4.1 VM creation ..............................................................................................................94
5.5 Scenario List .......................................................................................................................98
5.6 Special Scenarios ................................................................................................................995.6.1 Tenant NW creation ..................................................................................................995.6.2 Tenant NW deletion ................................................................................................1015.6.3 Tenant FW creation .................................................................................................1015.6.4 Tenant FW update ...................................................................................................1035.6.5 Tenant FW deletion .................................................................................................1045.6.6 Tenant LB creation..................................................................................................1055.6.7 Tenant LB update ....................................................................................................1075.6.8 Tenant LB deletion..................................................................................................1085.6.9 SSL creation............................................................................................................1095.6.10 SSL deletion..........................................................................................................1105.6.11 Business VLAN creation ....................................................................................... 1115.6.12 Business VLAN deletion.......................................................................................1125.6.13 Public VLAN creation...........................................................................................1125.6.14 Public VLAN deletion...........................................................................................1135.6.15 WAN creation........................................................................................................1145.6.16 WAN deletion........................................................................................................1155.6.17 VM creation ..........................................................................................................1155.6.18 VM reconfiguration...............................................................................................1185.6.19 VM deletion ..........................................................................................................1195.6.20 Physical server assignment....................................................................................1205.6.21 Physical server reconfiguration .............................................................................1225.6.22 Physical server deletion.........................................................................................1235.6.23 Tag specification type............................................................................................124
5.7 Simultaneous execution of special scenarios .....................................................................124
Appendix A. Revision History................................................................................................. 128
Appendix B. License Information........................................................................................... 129
Appendix C. Configuration files ............................................................................................. 130
vi
List of FiguresFigure 5-1 Workflow reference: * The figure shows the workflow for VM creation.................91
vii
List of TablesTable 3-1 REST interface .........................................................................................................8Table 3-2 Parameter specifications .........................................................................................11
viii
Chapter 1. Overview of APIThis section first describes the system and overview of the API.
Contents1.1 API System ..................................................................................................................................2
1.2 RESTful API provided by MasterScope Virtual DataCenter Automation .....................................2
Chapter 1. Overview of API
1
1.1 API SystemThe API consists of two groups APIs: Workflow APIs and Resource Management APIs.
• Workflow APIs
The Workflow APIs are RESTful APIs that are used to construct and monitor virtual machinesby using MasterScope-FW, which operates in Virtual DataCenter Automation.
• Resource Management APIs
The Resource Management APIs are RESTful APIs that are used to construct and monitorvirtual machines by using a Resource Management API, which operates in Virtual DataCenterAutomation.
1.2 RESTful API provided by MasterScope VirtualDataCenter Automation
This section describes the RESTful API provided by MasterScope Virtual DataCenter Automation.MasterScope Virtual DataCenter Automation provides functions via several separate components.
As the components related to the RESTful API, there are SigmaSystemCenter (hereafter called"SSC") that deals mainly with virtual resources and SystemManager G (hereafter called "SysMgr G")that deals mainly with NW resources and the operation management function. SSC alone providesthe RESTful API. However, because it exists on each manager, the RESTful API of MasterScopeVirtual DataCenter Automation is provided by the component called a service governor on the globalmanagement server that controls multiple SSCs and SystemManager Gs.
Based on the above, the RESTful APIs provided by MasterScope Virtual DataCenter Automation canbe roughly classified into the following.
• Information acquisition is achieved by synchronous APIs.
• Control such as VM creation is achieved by asynchronous APIs.
• What is achieved by the vDCA as a whole is executed in the workflow.
• However, what is executed by SSC alone such as snapshot creation is executed by the API ofSSC.
Chapter 1. Overview of API
2
Chapter 2. API Common SpecificationThis section describes the common specification for the Workflow API and Resource ManagementAPI.
Contents2.1 HTTP Methods ............................................................................................................................4
2.2 JSON ...........................................................................................................................................4
2.3 Authentication method .................................................................................................................4
Chapter 2. API Common Specification
3
2.1 HTTP MethodsIn the API, use the following HTTP methods separately according to the usage.
HTTP method Usage
GET Gets the representation of an existing resource.
POST Creates a new resource, the URL of which is determined dynamically. Even if GET isappropriate, POST must be used if the structured data must be specified in a parameter.
PUT Creates a new resource, the URL of which is known.Edits an existing resource.
DELETE Deletes an existing resource.
2.2 JSONThe API supports the JSON format.
2.2.1 JSON SpecificationConforms to RFC 4627.
2.2.2 Date/Time Format• Date format
Conforms to RFC 3339.
Example: 2011-01-01T00:00:00.0+09:00
• Time format
Use the format of [-]d.hh:mm:ss[.ff].
* d represents the date, and ff represents the fraction of the second value.
2.2.3 Character EncodingAll the character strings shall be encoded in UTF-8.
2.3 Authentication methodFor the authentication method, see 2.14.4 Setting up the Service Governorin the Virtual DataCenterAutomation Installation Guide.
Chapter 2. API Common Specification
4
Chapter 3. Workflow API SpecificationThis section describes the specification for the Workflow APIs.
Contents3.1 Request Format ............................................................................................................................7
3.2 Response Format..........................................................................................................................7
3.3 End Point .....................................................................................................................................8
3.4 API List .......................................................................................................................................8
3.5 Parameter Specifications ............................................................................................................11
3.6 Execute Workflow API ..............................................................................................................11
3.7 Get Workflow Execution Result API..........................................................................................12
3.8 Cancel Execution of Workflow API ...........................................................................................14
3.9 Get Configuration Information API............................................................................................14
3.10 Get Performance Information Items API ..................................................................................16
3.11 Get Performance Information API............................................................................................17
3.12 Get Scenario ID List API .........................................................................................................19
3.13 Register Tenant Information API..............................................................................................20
3.14 Change Tenant Information API...............................................................................................21
3.15 Delete Tenant Information API ................................................................................................22
3.16 Get Group Information API......................................................................................................22
3.17 Get Host Information API ........................................................................................................22
3.18 Get Host Performance Information API ...................................................................................23
3.19 Get VM Screenshots API .........................................................................................................23
3.20 Get Resource Pool List API .....................................................................................................24
3.21 Get Resource Pool Information API .........................................................................................26
3.22 Create VM Snapshots API .......................................................................................................35
3.23 Apply VM Snapshots API ........................................................................................................35
3.24 Delete VM Snapshots API .......................................................................................................35
3.25 Operate Host Power API ..........................................................................................................36
3.26 Get Job API..............................................................................................................................36
3.27 Cancel Job API ........................................................................................................................37
3.28 Get Template List API..............................................................................................................37
3.29 Get Logical Asset List API.......................................................................................................39
Chapter 3. Workflow API Specification
5
3.30 Request for Logical Assets API................................................................................................40
3.31 Return Logical Assets API .......................................................................................................42
3.32 Get Assigned Logical Asset List API .......................................................................................43
3.33 Get Distribution Package List API ...........................................................................................45
3.34 Get VM Image List API ...........................................................................................................46
3.35 Get DC Resource Group List API ............................................................................................47
3.36 Get DC Resource Group Details API .......................................................................................49
3.37 IP Address Information Acquisition API..................................................................................59
3.38 IP Address Information Registration API .................................................................................60
3.39 IP Address Information Registration Cancellation API ............................................................62
3.40 Get Registered Global IP Address List API..............................................................................63
3.41 Get Global IP Address API ......................................................................................................65
3.42 Release Global IP Address API................................................................................................66
3.43 MoM list acquisition API .........................................................................................................67
3.44 Location search API.................................................................................................................68
3.45 SSC general list acquisition API...............................................................................................69
3.46 SSC pass-through API..............................................................................................................71
3.47 Port group creation API............................................................................................................73
3.48 Port group update API..............................................................................................................75
3.49 Port group deletion API............................................................................................................77
3.50 Acquisition of DC Resource Detail Information Associated with the Tenant............................78
3.51 Auto Selection Trial API ..........................................................................................................85
Chapter 3. Workflow API Specification
6
3.1 Request Format3.1.1 HTTP Header
The Workflow APIs use the following HTTP header.
HTTP Header Description
X-UMF-API-Version API version. Specify "2.2.0.201501".
Date Date and time the request was sent to the API (RFC 1123 format)
Authorization The authentication method and API key.Specify "SharedKeyLite" as the authenticationmethod.
Example:
X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
3.1.2 Request Data for POSTUse the URL and the JSON-formatted data to specify this data.
3.1.3 Request Data for GETUse the URL parameter to specify this data.
3.1.4 Request Data for PUTUse the URL and the JSON-formatted data to specify this data.
3.1.5 Request Data for DELETEUse the URL parameter to specify this data.
3.2 Response Format3.2.1 Common HTTP Status Codes
The API success/failure result is notified using an HTTP status code. The following table lists theHTTP status codes common to all the APIs.
Code Meaning Description
400 Bad Request Returned if the request was invalid, for example, if adifferent parameter was passed.
401 Unauthorized Returned if access was attempted to a protected resourcewithout providing any proper authentication information.
404 Not Found Returned if the specified resource was not found.
405 Method Not Allowed Returned if the requested resource used an unsupportedHTTP method.
Chapter 3. Workflow API Specification
7
Code Meaning Description
500 Internal Server Error Returned if an unexpected error occurred duringexecution of the API.
NoteHTTP status codes other than the above are defined for each of the APIs. For details, refer to thespecification for each API.
3.2.2 Error FormatWhen an unexpected error occurs during execution of the API, it returns "500 Internal Server Error".Any error related information is returned in the JSON format.
HTTP/1.1 500 Internal Server ErrorContent-Type: application/json; charset=utf-8{"Error": "<Error message>","Exception": "<Exception class name>","StackTrace": "<Exception stacktrace>"}
3.3 End PointThe URL below is used as the API end point. The API version is not included in the URL because itis specified in the HTTP header.
https://<Host name>:<Port number>/umf/
3.4 API ListThe following APIs are available.
Table 3-1 REST interface
HTTPmethod
API name URL Synchronous
Asynchronous
Description
GET List Scenario IDs /umf/workflow/list Synchronous
Gets a list of scenarios.
POST Execute Workflow /umf/workflow/ID/execute Asynchronous
Executes the specified workflow,and generates a workflowinstance.
GET Get WorkflowExecution Result
/umf/workflowinstance/EXECUTIONID
Synchronous
Fetches the progress or executionresult of the specified workflowinstance.
DELETE Cancel Execution ofWorkflow
/umf/workflowinstance/EXECUTIONID
Synchronous
Aborts the specified workflowinstance.
POST Get ConfigurationInformation
/umf/configuration/UUID/get Synchronous
Gets the configurationinformation about the specifiedresource.
Chapter 3. Workflow API Specification
8
HTTPmethod
API name URL Synchronous
Asynchronous
Description
GET Get PerformanceInformation Items
/umf/monitoring/UUID/indicators
Synchronous
Gets the list of obtainableperformance information items.
POST Get PerformanceInformation
/umf/monitoring Synchronous
Gets performance informationabout the specified resource.
POST Register TenantInformation
/umf/tenant/TenantID Synchronous
Reports registered tenantinformation to VirtualDataCenter.
PUT Update TenantInformation
/umf/tenant/TenantID Synchronous
Reports updated tenantinformation to VirtualDataCenter.
DELETE Delete TenantInformation
/umf/tenant/TenantID Synchronous
Reports deleted tenantinformation to VirtualDataCenter.
GET Get GroupInformation
/umf/api/groups/GroupPath Synchronous
Gets group information from allthe management servers.
GET Get Host Information /umf/api/hosts/Host Synchronous
Gets host information from allthe management servers.
POST Get HostPerformanceInformation
/umf/api/monitoring Synchronous
Gets host performanceinformation from all themanagement servers.
GET Get VM Screenshots /umf/api/console/screenshots/Host[?width=width&height=height&refresh=refresh]
Synchronous
Gets VM screenshots from all themanagement servers.
GET Get Resource PoolList
/umf/api/resourcepools Synchronous
Gets resource pool lists from allthe management servers.
GET Get Resource PoolInformation
/umf/api/resourcepools/ResourcePoolName
Synchronous
Gets resource pool informationfrom all the management servers.
POST Create VM Snapshots /umf/api/jobs/createsnapshot Asynchronous
Creates VM snapshots for all themanagement servers.
POST Apply VM Snapshots /umf/api/jobs/revertsnapshot Asynchronous
Restore VM snapshots to all themanagement servers.
POST Delete VM Snapshots /umf/api/jobs/deletesnapshot Asynchronous
Delete VM snapshots from allthe management servers.
POST Operate Host Power /umf/api/jobs/{startup|shutdown|reboot|suspend}
Asynchronous
Specifies the VM poweroperation for all the managementservers.
GET Get Job /umf/api/jobs/JobId Synchronous
Gets job information from all themanagement servers.
DELETE Cancel Job /umf/api/jobs/JobId Asynchronous
Cancels a job for all themanagement servers.
GET Get Template List /umf/api/templates Synchronous
Gets template lists from all themanagement servers.
GET Get Logical AssetList
/umf/logicalasset/list Synchronous
Gets a list of logical assets.
Chapter 3. Workflow API Specification
9
HTTPmethod
API name URL Synchronous
Asynchronous
Description
POST Request for LogicalAssets
/umf/logicalasset/request Synchronous
Requests for logical assets.
POST Return LogicalAssets
/umf/logicalasset/release Synchronous
Returns logical assets.
POST Extract and GetLogical Asset List
/umf/logicalasset/list Synchronous
Gets a list of logical assetsincluded in VM templates.
GET Get DistributionPackage List
/umf/distributepackage/list Synchronous
Gets a list of distributionpackages.
GET Get VM Image List /umf/template/VMImage/<TenantID>
Synchronous
Gets a list of VM images frombrought-in VMs.
GET Get DC ResourceGroup List
/umf/dcresource/groups Synchronous
Gets a list of DC resourcegroups.
GET Get DC ResourceGroup Details
/umf/dcresource/groups/DCResourceGroupName
Synchronous
Gets DC resource group details.
GET Get RegisteredGlobal IP AddressList
/umf/globalip/list Synchronous
This API gets a list of assignableIP addresses.
POST Get Global IPAddress
/umf/globalip/request Synchronous
This API assigns an IP address.
POST Release Global IPAddress
/umf/globalip/release Synchronous
This API releases an IP address.
GET MoM list acquisition /umf/managerinfo/list Synchronous
Obtains the list of MoMs definedin the cloud provider API.
GET Location search /umf/search?q=location&type=MoMID&key=<UUID>
Synchronous
Obtaining the locationinformation of the specifiedresource.
* Refer toSSC APIReference.
SSC information listacquisition
/umf/ssclist/api/** For the URL after "/api", referto SSC API Reference.
Synchronous
Sends a request to all SSCs forthe specified SSC API, andmerges and returns the results.
* Refer toSSC APIReference.
SSC pass-through /umf/ssc/<Identifier>/api/** For the URL after "/api", referto SSC API Reference.
Synchronous
Passes through the SSC WebAPI.* For the specifications of eachAPI, refer to SSC API Reference.
POST Port group creation /umf/api/jobs/createportgroup Asynchronous
Creates a port group.
POST Port group update /umf/api/jobs/updateportgroup Asynchronous
Changes a port group.
POST Port group deletion /umf/api/jobs/deleteportgroup Asynchronous
Deletes a port group.
POST Acquisition of DCResource DetailInformationAssociated with theTenant
/umf/reserveddcresource/<TenantID>
Synchronous
It refers to the DC resourceassigned to the tenant.
Chapter 3. Workflow API Specification
10
HTTPmethod
API name URL Synchronous
Asynchronous
Description
POST Auto Selection Trial /umf/trial/workflow/ID/execute Synchronous
Auto selection trial API triesresource pool auto selectionprocessing performed during VMcreation or VLAN creation.
3.5 Parameter SpecificationsThe following table summarizes the specifications for the parameters used in the APIs.
Table 3-2 Parameter specifications
Parameter name Format Maximum length
Workflow relatedparameters
Workflow ID Character 8 digits
Scenario Execution ID(Request ID) Character 21 digits, fixed length
Key Name for Workflow Execution Character 64 characters
VALUE Value for Workflow Execution Character Unlimited
Logical resourcerelated parameters
User Name Character 64 characters
Number of Assignment Requests Number uint64
Description Character 256 characters
Logical Asset Number Character 64 characters
Index Number Number uint64(0~0xFFFFFFFFFFFFFFFF)
Logical Asset Type Number uint16
Logical Asset Data Character 256 characters
3.6 Execute Workflow APIThis API executes the specified workflow. The parameters to the workflow can be transferred byposting the JSON-formatted properties.
• HTTP method
POST
• URL
/umf/workflow/<ID>/execute
<ID> specifies the workflow ID.To check the workflow ID, perform the following.
1. Start "MasterScope Virtual DataCenter Automation Console" on the machine on which"MasterScope Virtual DataCenter Automation Svc" is installed.
2. Find the execution target workflow from the [Scenario View] on the [System] tab, andclick it.
Chapter 3. Workflow API Specification
11
3. Click on the [Property View] tab in the [Scenario View] - [Automation] - [Automatic] -[VM] - [CreateVM] window.
4. The [Scenario ID] value shown here is the workflow ID to be specified in this API.
For details of the workflow ID, refer to theMasterScope SystemManager G Manual.
• Parameters
Using the JSON format, specify the arbitrary parameters (KEY, VALUE) to be passed to theworkflow. KEY and VALUE correspond to the local object name within the workflow and itsvalue, respectively. These local object values can be referenced from within the executedworkflow instance.
The name of the local object that the workflow references and how the value is used depends onthe workflow. Refer to the specification for the appropriate workflow.
• Response (HTTP status code)
Code Meaning Description
202 Accepted Succeeded in startup of workflow.
• Response (JSON)
Key Data type Description
executionid string Returns the scenario execution ID(Request ID) of theexecuted workflow. The ID is used for an inquiry ofthe workflow results.
• Execution example
Request
PUT /workflow/ffffffff/executeContent-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
{"CreateHostInfo" : "POST /api/jobs/createhost HTTP/1.1\nContent-Type...","UUID" : "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"::}
Response
{ "executionid": "ffffffff2011123100000"}
3.7 Get Workflow Execution Result APIThis API returns the result of execution of the executed workflow. It also returns a pair of the nameand value of the local object that were set in the workflow.
Chapter 3. Workflow API Specification
12
• HTTP method
GET
• URL
/umf/workflowinstance/<ID>
<ID< specifies the scenario execution ID(Request ID) that was obtained during execution of theworkflow.
• Parameters
None.
• Response (HTTP status code)
Code Meaning Value
200 Accepted Succeeded in getting the result of workflow.
• Response (JSON)
Key Data type Description
status string Returns one of the following values.• "NOTFOUND" Not in execution• "SUCCEED" Normal end• "ALERT" Warning end• "FAILED" Abnormal end• "FORCED" Forced end• "NOTRUNNING" Not in execution• "RUNNING" In execution• "AWAIT" In wait
progress number Contains a numeric value (0 to 100) indicating theprogress rate.
resultdata object Returns one of the following values.
resultdata.LocalObjectName string LocalObjectName is undefined.Data returned fromthe workflow. A pair of the name and value of thelocal object in the workflow are set. The local objectname to be set actually depends on the specificationfor the appropriate workflow.
• Execution example
Response
{ "status" : "SUCCEED", "progress" : 100, "resultdata" : { "PARAM1" : "VALUE1", "PARAM2" : "VALUE2", "PARAM3" : "VALUE3" }}
Chapter 3. Workflow API Specification
13
3.8 Cancel Execution of Workflow APIThis API aborts a workflow that has begun to operate.
• HTTP method
DELETE
• URL
/umf/workflowinstance/<ID>
<ID> specifies the scenario execution ID(Request ID) that was obtained during execution of theworkflow.
• Parameters
None.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded in cancellation.
• Response (JSON)
None.
3.9 Get Configuration Information APIThis API obtains the configuration information about the specified VM.
• HTTP method
POST
• URL
/umf/configuration/<UUID>/get
<UUID> specifies the VM UUID.
• Parameters
Key Data type Description
keys string[] Specify the names of the configuration information tobe obtained in an array. In this version,Anything otherthan "software", "route", or "drive" cannot bespecified.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
404 Unknown The VM for the specified UUID was not found.
• Response (JSON)
Chapter 3. Workflow API Specification
14
Key Data type Description
software object[] Array of software information
software[n].name string Software name
software[n].version string Version of the software
software[n].type string Software type. "application" or "patch"
route object[] Array of routing information*1
route[n].NetworkDestination string Destination IP address
route[n].Prefix string Prefix length of the address
route[n].Gateway string Gateway information
route[n].Interface string Interface
route[n].Metric string Metric
route[n].IPType string IP type { IPv4 | IPv6 }*2
drive object[] Array of physical drive information
drive[n].DeviceID string Unique identifier of the disk drive
drive[n].InterfaceType string Interface type of the disk drive{ IDE | SCSI |XenVBD | VirtIODisk }
drive[n].MediaType string Media type of the device
drive[n].SCSIBus number SCSI bus number*3
drive[n].SCSILogicalUnit number SCSILun number*3
drive[n].SCSIPort number SCSIPort number*3
drive[n].SCSITargetId number SCSI ID number*3
drive[n].Size number Disk drive capacity (MB)
*1 Routing information is output without any distinction of dynamic or static.*2 The display format of IPv6 shall comply with RFC4291.*3 Not acquired for KVM.
• Execution example
Request
POST /umf/configuration/FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF/getContent-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
{ "keys": [ "software", "route", "drive" ]}
Response
Chapter 3. Workflow API Specification
15
{ "software": [ { "name": "Oracle", "type": "application", "version": "10.0" }, { "name": "Java", "type": "application", "version": "1.6.0" } ], "route": [ { "Gateway": "192.168.120.1", "IPType": "IPv4", "Interface": "192.168.120.20", "Metric": "20", "NetworkDestination": "192.168.120.20", "Prefix": "24" }, { "Gateway": "10.20.80.1", "IPType": "IPv4", "Interface": "10.20.80.90", "Metric": "30", "NetworkDestination": "10.20.80.90", "Prefix": "24" } ], "drive": [ { "DeviceID": "\\\\.\\PHYSICALDRIVE0", "InterfaceType": "SCSI", "MediaType": "Fixed hard disk media", "SCSIBus": 0, "SCSILogicalUnit": 0, "SCSIPort": 2, "SCSITargetId": 0, "Size": 51199 } ]}
3.10 Get Performance Information Items APIThis API returns a list of performance information items that the Get Performance Information APIcan obtain. For details of the performance information items, refer to the MasterScopeSystemManager G Manual.
• HTTP method
GET
• URL
Chapter 3. Workflow API Specification
16
umf/monitoring/<UUID>/indicators
<UUID> specifies the UUID for the VM for which to obtain the performance information.
• Parameters
None.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded in getting the performance informationitems.
• Response (JSON)
Key Data type Description
Indicators string[] Array of the performance information items that canbe specified for the performance informationacquisition API
• Execution example
Response
{"Indicators": ["Processor|_Total|Processor Time","Processor|0|Processor Time","Processor|1|Processor Time","Network Interface|Intel[R] 82579LM Gigabit Network Connection|BytesTotal/sec","LogicalDisk|C:|Disk Transfers/sec","Processor|0|%sys","LogicalDisk|/dev/hda|Use%"]}
3.11 Get Performance Information APIThis API obtains performance information about the specified VM. The performance informationitems that this API can get are only those returned with the Get Performance Information Items API.
• HTTP method
POST
• URL
/umf/monitoring
• Parameters
Key Data type Description
Host string UUID of the host from which to obtain theinformation.
Chapter 3. Workflow API Specification
17
Key Data type Description
Indicators string[] Specifies the items currently desired, out of theperformance items obtained by the Get PerformanceInformation Items API.
Statistics string[] Performance information statistics to obtain. Specifythe following values:• Maximum• Average• Minimum
StartTime string Range of the performance information to obtain (date/time of start). The format is as follows:yyyy-MM-ddThh:mm:ss+09:00Example:2011-12-31T23:59:59+09:00
EndTime string Range of the performance information to obtain (date/time of end). The format is as follows:yyyy-MM-ddThh:mm:ss+09:00Example:2011-12-31T23:59:59+09:00
Interval string Interval of the performance information to obtain.Format of [-]d.hh:mm:ss[.ff].
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
Key Data type Description
Performances object[] Performance information array
Performances[n].Indicator string Performance information item
Performances[n].Statistic string Performance information calculation method
Performances[n].Timestamps string[] Array of performance information dates
Performances[n].Datum string[] Array of performance information data
• Execution example
Request
POST /umf/monitoringContent-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
{"Host": "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF","Indicators": ["Processor|0|%sys", "LogicalDisk|C:|Disk Transfers/sec"],"Statistics": ["Maximum","Average"],"StartTime": "2011-06-06T15:00:00+09:00","EndTime": "2011-06-06T24:00:00+09:00",
Chapter 3. Workflow API Specification
18
"Interval": "0.00:05:00”}
Response
{"Performances": [{"Indicator": " Processor|0|%sys ","Statistic": "Maximum","Timestamps": ["2011-06-06T15:00:00+09:00", "2011-06-06T16:00:00+09:00","2011-06-06T17:00:00+09:00", ...],"Datum": ["2.0", "3.0", "4.0", ...]},{"Indicator": " Processor|0|%sys ","Statistic": "Average","Timestamps": ["2011-06-06T15:00:00+09:00", "2011-06-06T16:00:00+09:00","2011-06-06T17:00:00+09:00", ...],"Datum": ["1.0", "2.0", "3.0", ...]},{"Indicator": " LogicalDisk|C:|Disk Transfers/sec ","Statistic": "Maximum","Timestamps": ["2011-06-06T15:00:00+09:00", "2011-06-06T16:00:00+09:00","2011-06-06T17:00:00+09:00", ...],"Datum": ["20.0", "30.0", "40.0", ...]},{"Indicator": " LogicalDisk|C:|Disk Transfers/sec ","Statistic": "Average","Timestamps": ["2011-06-06T15:00:00+09:00", "2011-06-06T16:00:00+09:00","2011-06-06T17:00:00+09:00", ...],"Datum": ["10.0", "20.0", "30.0", ...]}]}
3.12 Get Scenario ID List APIThis API returns a list of scenario IDs.
• HTTP method
GET
• URL
/umf/workflow/list
• Parameters
Chapter 3. Workflow API Specification
19
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded
• Response (JSON)
Key Data type Description
Workflows[n].Id string Scenario ID
Workflows[n].Path string Path on scenario tree view
Workflows[n].Description string Description of scenario
• Execution example
Response
{ "Workflows": [ { "Id": "40000001", "Path": "Automation\\Automatic\\VM\\CreateVM" "Description": "Create VM" }, { "Id": "40000002", "Path": "Automation\\Automatic\\VM\\DeleteVM" "Description": "Delete VM" } ]}
3.13 Register Tenant Information APIThis API reports the tenant registration to Virtual DataCenter when a tenant is registered.
• HTTP method
POST
• URL
/umf/tenant/TenantID
• Parameters
Key Data type Description
TenantName string Specifies the name of the registered tenant.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded
Chapter 3. Workflow API Specification
20
• Response (JSON)
None
• Execution example
Request
POST /umf/tenant/TenantID HTTP/1.0Content-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
{ "TenantName": "Tenant B"}
3.14 Change Tenant Information APIThis API reports changes to tenant information to Virtual DataCenter when tenant information ischanged.
• HTTP method
PUT
• Parameters
/umf/tenant/TenantID
• Parameters
Key Data type Description
TenantName string Specifies the name of the changed tenant.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded
• Response (JSON)
None
• Execution example
Request
PUT /umf/tenant/TenantID HTTP/1.0Content-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
{
Chapter 3. Workflow API Specification
21
"TenantName": "Tenant B"}
3.15 Delete Tenant Information APIThis API reports deleted tenant information to Virtual DataCenter when tenant information is deleted.
• HTTP method
DELETE
• URL
/umf/tenant/TenantID
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded
404 Not Found Cannot find a tenant with the specified tenant ID.
• Response (JSON)
None
3.16 Get Group Information APIThis API gets detailed information about an operating group.
• URL
GET /umf/api/groups/<GroupPath>
<GroupPath> specifies the full path of the SSC operating group.
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.17 Get Host Information APIThis API gets detailed information about a host.
Chapter 3. Workflow API Specification
22
• URL
GET /umf/api/hosts/<Host>
<Host> specifies the host's UUID.
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.18 Get Host Performance Information APIThis API gets performance information about a host.
• URL
POST /umf/api/monitoring
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.19 Get VM Screenshots APIThis API gets VM console screenshots.
PNG image binary, not JSON, is returned in response to this API.
• URL
GET /umf/api/console/screenshots/<Host>[?width=width&height=height&refresh=refresh]
<Host>specifies the host's UUID.
• Parameters
Refer to the SSCWebAPI Reference.
Chapter 3. Workflow API Specification
23
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.20 Get Resource Pool List APIThis API gets a list of the resource pool and sub-pool names.
• URL
GET /umf/api/resourcepools
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 OK Succeeded
• Response (JSON)
Key Data type Description
ResourcePools object[] Resource pool array
ResourcePools[n].Name string Resource pool name
ResourcePools[n].Type string Dedicated or shared• Dedicated:Dedicated• Shared:Shared
ResourcePools[n].Groups string[] Array of path to group to which resource pool isassigned
ResourcePools[n].OverCommit boolean Always false
ResourcePools[n].Resources object[] Always null
ResourcePools[n].SubResourcePools object[] Sub resource pool array
ResourcePools[n].SubResourcePools[m].Name
string Sub resource pool name
ResourcePools[n].SubResourcePools[m].Type
string Whether sub resource pool is dedicated or shared• Dedicated:Dedicated• Shared:Shared
ResourcePools[n].SubResourcePools[m].Groups
string[] Array of path to group to which sub resource pool isassigned
ResourcePools[n].SubResourcePools[m].OverCommit
boolean Sub resource pool overcommit setting
ResourcePools[n].SubResourcePools[m].Resources
object[] Always null
Chapter 3. Workflow API Specification
24
Key Data type Description
ResourcePools[n].SubResourcePools[m].SubResourcePools
object[] Always null
ResourcePools[n].vCPU object Unit of vCPU*1
ResourcePools[n].vCPU.Type string Type of the unit of vCPU*1
ResourcePools[n].vCPU.Value number Value of the unit of vCPU*1
*1 X-SSC-API-Version is output in the case of 2014-12-25 and later. X-SSC-API-Version is notoutput before 2014-12-25. For details about the output keys, see "SSC API Reference". Inaddition, X-SSC-API-Version can be changed in the setting file. For details, see "Configurationfiles".
• Execution example
Request
GET /umf/api/resourcepools HTTP/1.0Content-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
Response
HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8
{ "ResourcePools": [ { "Name": "esx-rootpool-TenantA-1", "Type": "Dedicated", "Groups": ["/TenantA"], "OverCommit": false, "Resources": null, "SubResourcePools": [], "vCPU": { "Type": "Speed", "Value": 2000 } }, { "Name": "esx-rootpool-TenantA-2", "Type": "Dedicated", "Groups": ["/TenantA"], "OverCommit": false, "Resources": null, "SubResourcePools": [], "vCPU": { "Type": "Speed", "Value": 100 } }, {
Chapter 3. Workflow API Specification
25
"Name": "esx-rootpool-shared", "Type": "Shared", "Groups": [], "OverCommit": false, "Resources": null, "SubResourcePools": [], "vCPU": { "Type": "Speed", "Value": 1000 } }, { "Name": "kvm-rootpool-shared", "Type": "Shared", "Groups": [], "OverCommit": false, "Resources": null, "SubResourcePools": [], "vCPU": { "Type": "PerCore", "Value": 10 } }, { "Name": "xen-rootpool-shared", "Type": "Shared", "Groups": [], "OverCommit": false, "Resources": null, "SubResourcePools": [ { "Name": "xen-subpool-TenantB", "Type": "Dedicated", "Groups": ["/TenantB"], "OverCommit": false, "Resources": null, "SubResourcePools": null } ], "vCPU": { "Type": "PerCore", "Value": 4 } } ]}
3.21 Get Resource Pool Information APIThis API gets information about resource pools and sub-pools. If "resource pool" is specified,resource pool information is returned.
• URL
GET /umf/api/resourcepools/<RootResourcePoolName>
<RootResourcePoolName>specifies the name of the root resource pool.
Chapter 3. Workflow API Specification
26
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 OK Succeeded
404 Not Found The specified resource pool does not exist.
• Response (JSON)
Key Data type Description
Name string Resource pool name
Type string Dedicated or shared• Dedicated:Dedicated• Shared:Shared
Groups string[] Array of path to group to which resource pool isassigned
OverCommit boolean Overcommit setting
Resources object[] Resource consumption information array
Resources[n].Name string Resource type• CPU:CPU frequency ※ Remark: Only if pool is
root resource pool• vCPU:Number of vCPUs• Memory:Memory capacity• Storage:Storage capacity• VM:Number of VMs
Resources[n].Unit string Resource unit• MHz:When Name is CPU• MB:When Name is Memory or Storage
Resources[n].Capacity number Total number of resources
Resources[n].Consumed number Consumed resources
Resources[n].Reserved number Reserved resources
Resources[n].Unused number Unused resources
Resources[n].ActuallyUsed number Actually used resources
SubResourcePools object[] Sub resource pool array
SubResourcePools[m].Name string Sub resource pool name
SubResourcePools[m].Type string Dedicated or shared• Dedicated:Dedicated• Shared:Shared
SubResourcePools[m].Groups string[] Array of path to group to which resource pool isassigned
SubResourcePools[m].OverCommit boolean Overcommit setting
SubResourcePools[m].Resources object[] Resource consumption information array
SubResourcePools[m].SubResourcePools
object[] Always null
Chapter 3. Workflow API Specification
27
Key Data type Description
HostSystems object[] List of VM Server
HostSystems[n].UUID string UUID of the VM server
HostSystems[n].Path string Full path on SSC
HostSystems[n].Status string OS status• poweron:Power ON• poweroff:Power OFF• running:Power ON and OS started• suspend:Suspended• unknown:Unknown
HostSystems[n].ExecuteStatus string Job execution status• inprocess:Job executing• abort:Job execution failed• wait:Job not executing• unknown:Unknown
Datastores object[] List of Datastore
Datastores[n].Name string Datastore name
Datastores[n].Size number Size (MB)
Datastores[n].Usage number Usage(MB)
Datastores[n].Tags string[] Tag
LUNs object[] List of LUN
LUNs[n].Name string LUN name
LUNs[n].UniqueId string UniqueId
LUNs[n].DiskArray string DiskArray name
LUNs[n].Size number Size (MB)
LUNs[n].Status string Status• clean:LUN for which the RDM application is set
by those other than the RDM applications• dirty:LUN that is allocated as a virtual disk in the
virtual machine• inuse:LUN for which the association with the
virtual machine is deleted
LUNs[n].Tags string[] Tag
LUNs[n].Group string Group
PortGroups object[] List or PortGroup
PortGroups[n].Name string PortGroup name
PortGroups[n].Switch string Virtual switch name
PortGroups[n].SwitchType string virtual switch type• virtualswitch:virtualswitch• distributedvirtualswitch:distributed virtual switch
PortGroups[n].VLANID string VLANID
PortGroups[n].LogicalNetwork string LogicalNetwork name
Chapter 3. Workflow API Specification
28
Key Data type Description
PortGroups[n].Group string Group
vCPU object Unit of vCPU*1
vCPU.Type string Type of the unit of vCPU*1
• Speed:frequency• PerCore:Number of the vCPUs of a core
vCPU.Value number Value of the unit of vCPU*1
*1 X-SSC-API-Version is output in the case of 2014-12-25 and later. X-SSC-API-Version is notoutput before 2014-12-25. For details about the output keys, see "SSC API Reference". Inaddition, X-SSC-API-Version can be changed in the setting file. For details, see "Configurationfiles".
• Execution example
Request
GET /umf/api/resourcepools/hyperv-rootpool-shared HTTP/1.0Content-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
Response
HTTP/1.1 200 OK
{ "Name": "esx-rootpool-shared", "Type": "shared", "Groups": [], "OverCommit": false, "Resources": [ { "Name": "CPU", "Unit": "MHz", "Capacity": 40788, "Consumed": 9000, "Unused": 31788, "Reserved": 0, "ActuallyUsed": 435 }, { "Name": "vCPU", "Unit": null, "Capacity": 135, "Consumed": 30, "Unused": 105, "Reserved": 0, "ActuallyUsed": 30 }, { "Name": "Memory", "Unit": "MB",
Chapter 3. Workflow API Specification
29
"Capacity": 98275, "Consumed": 20736, "Unused": 77539, "Reserved": 0, "ActuallyUsed": 21628 }, { "Name": "Storage", "Unit": "MB", "Capacity": 631398, "Consumed": 0, "Unused": 631398, "Reserved": 0, "ActuallyUsed": 129074 }, { "Name": "VM", "Unit": null, "Capacity": 400, "Consumed": 24, "Unused": 376, "Reserved": 0, "ActuallyUsed": 24 }, { "Name": "LUN", "Unit": "10GB", "Capacity": 4, "Consumed": 0, "Unused": 4, "Reserved": 0, "ActuallyUsed": 0 }, { "Name": "LUN", "Unit": "20GB", "Capacity": 4, "Consumed": 0, "Unused": 4, "Reserved": 0, "ActuallyUsed": 0 }, { "Name": "LUN", "Unit": "30GB", "Capacity": 2, "Consumed": 0, "Unused": 2, "Reserved": 0, "ActuallyUsed": 0 } ], "SubResourcePools": [ { "Name": "esx-subpool-TenantA", "Type": "dedicated", "Groups": [ "/TenantA"
Chapter 3. Workflow API Specification
30
], "OverCommit": false, "Resources": [ { "Name": "vCPU", "Unit": null, "Capacity": 0, "Consumed": 18, "Unused": 0, "Reserved": 0, "ActuallyUsed": 18 }, { "Name": "Memory", "Unit": "MB", "Capacity": 0, "Consumed": 11520, "Unused": 0, "Reserved": 0, "ActuallyUsed": 11520 }, { "Name": "Storage", "Unit": "MB", "Capacity": 0, "Consumed": 0, "Unused": 0, "Reserved": 0, "ActuallyUsed": 0 }, { "Name": "VM", "Unit": null, "Capacity": 0, "Consumed": 18, "Unused": 0, "Reserved": 0, "ActuallyUsed": 18 } ], "SubResourcePools": null }, { "Name": "esx-subpool-TenantB", "Type": "dedicated", "Groups": [ "/TenantB" ], "OverCommit": false, "Resources": [ { "Name": "vCPU", "Unit": null, "Capacity": 0, "Consumed": 12, "Unused": 0, "Reserved": 0, "ActuallyUsed": 12
Chapter 3. Workflow API Specification
31
}, { "Name": "Memory", "Unit": "MB", "Capacity": 0, "Consumed": 9216, "Unused": 0, "Reserved": 0, "ActuallyUsed": 9216 }, { "Name": "Storage", "Unit": "MB", "Capacity": 0, "Consumed": 0, "Unused": 0, "Reserved": 0, "ActuallyUsed": 0 }, { "Name": "VM", "Unit": null, "Capacity": 0, "Consumed": 6, "Unused": 0, "Reserved": 0, "ActuallyUsed": 6 } ], "SubResourcePools": null } ], "HostSystems": [ { "UUID": "7db7ff00-29d8-11e0-8001-00255cac4708", "Path": "/ResourcePools/esx-pool/server-nb01", "Status": "running", "ExecuteStatus": "wait" }, { "UUID": "3c295300-29dc-11e0-8001-00255cac4703", "Path": "/ResourcePools/esx-pool/server-nb02", "Status": "running", "ExecuteStatus": "wait" }, { "UUID": "5f3cc680-cf1b-11e0-8001-00255cc64b2e", "Path": "/ResourcePools/esx-pool/server-nb03", "Status": "running", "ExecuteStatus": "wait" } ], "Datastores": [ { "Name": "datastore_s1500", "Size": 379648, "Usage": 111940, "Tags": [
Chapter 3. Workflow API Specification
32
"gold", "shared" ] }, { "Name": "datastore1", "Size": 137728, "Usage": 8567, "Tags": [ "local", "silver" ] }, { "Name": "datastore1 (1)", "Size": 137728, "Usage": 8567, "Tags": [ "local", "silver" ] } ], "LUNs": [ { "Name": "NEC Fibre Channel Disk (eui.0030138409530005)", "UniqueId": "0030138409530005", "DiskArray": "", "Size": 10240, "Status": "clean", "Tags": [], "Group": null }, { "Name": "NEC Fibre Channel Disk (eui.0030138409530006)", "UniqueId": "0030138409530006", "DiskArray": "", "Size": 10240, "Status": "clean", "Tags": [], "Group": null } ], "PortGroups": [ { "Name": "Management Network", "Switch": "vSwitch0", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": null, "Group": null }, { "Name": "Service Console", "Switch": "vSwitch0", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": null,
Chapter 3. Workflow API Specification
33
"Group": null }, { "Name": "VM Network", "Switch": "vSwitch0", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": "Shared_VM_Network_ESX", "Group": null }, { "Name": "VM Network", "Switch": "vSwitch0", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": "TenantA_VM_Network", "Group": null }, { "Name": "VM Network", "Switch": "vSwitch0", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": "TenantA_VM_Network_ESX", "Group": "/TenantA" }, { "Name": "VM Network", "Switch": "vSwitch0", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": "TenantB_VM_Network_ESX", "Group": "/TenantB" }, { "Name": "VM Network 2", "Switch": "vSwitch1", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": "Shared_VM_Network2_ESX", "Group": null }, { "Name": "VM Network 2", "Switch": "vSwitch1", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": "TenantA_VM_Network2_ESX", "Group": "/TenantA" }, { "Name": "VM Network 2", "Switch": "vSwitch1", "SwitchType": "virtualswitch", "VLANID": null, "LogicalNetwork": "TenantB_VM_Network2_ESX", "Group": "/TenantB" }
Chapter 3. Workflow API Specification
34
], "vCPU": { "Type": "PerCore", "Value": 4 }}
3.22 Create VM Snapshots APIThis API creates a VM snapshot.
• URL
POST /umf/api/jobs/createsnapshot
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.23 Apply VM Snapshots APIThis API applies a snapshot to a VM.
• URL
POST /umf/api/jobs/revertsnapshot
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.24 Delete VM Snapshots APIThis API deletes a VM snapshot.If the specified snapshot does not exist, this command is ignored.
• URL
Chapter 3. Workflow API Specification
35
POST /umf/api/jobs/deletesnapshot
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.25 Operate Host Power APIThis API operates the host power.
• URL
POST /umf/api/jobs/{startup|shutdown|reboot|suspend}
URL Description
/umf/api/jobs/startup
Turn on the power and wait for the OS to start up
/umf/api/jobs/shutdown
Shut down the OS and wait for the power to turn off
/umf/api/jobs/reboot Reboot
/umf/api/jobs/suspend
Suspend
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.26 Get Job APIThis API gets the job execution status.
• URL
GET /umf/api/jobs/<JobId>
Chapter 3. Workflow API Specification
36
<JobId> specifies the job ID. The job ID can be obtained from the response when each job isexecuted.
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Remarks
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.27 Cancel Job APIThis API cancels a job.
• URL
DELETE /umf/api/jobs/<JobId>
<JobId> specifies the job ID. The job ID can be obtained from the response when each job isexecuted.
• Parameters
Refer to the SSCWebAPI Reference.
• Response (HTTP status code)
Refer to the SSCWebAPI Reference.
• Response (JSON)
Refer to the SSCWebAPI Reference.
• Execution example
Refer to the SSCWebAPI Reference.
3.28 Get Template List APIThis API gets a list of template information.
• HTTP method
GET
• URL
/umf/template/list/<TenantID>
<TenantID>specifies the tenant ID.
Chapter 3. Workflow API Specification
37
※The provider template list is output when _provider_ is specified for<TenantID>
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 OK Succeeded
• Response (JSON)
Key Data type Description
Templates object[] Template information array
Templates[n].ID string Template ID
Templates[n].Name string Template name.Up to 80 characters
Templates[n].MakeTemplateName string Template name registered to SSC.Up to 80 characters*1 *2 *3
Templates[n].UUID string UUID of master VM
Templates[n].SnapshotName string Snapshot name.Up to 80 characters
Templates[n].Type string Template type• Virtual:Virtual (VM template)• Physical:Physical (OS image)
Templates[n].HypervisorType string Creation source virtualization infrastructure category• VMware:"VMWare"• Hyper-V:"Hyper-V"• KVM:"KVM"
Valid only when Type is [Virtual] (VM template).""(Null character) for "Physical" (OS image).
*1 Specify MakeTemplateName as the parameter at VM creation.*2 This API does not output the template list unless you create templates via the SW repository.
Create templates via the SW repository (workflow execution API).*3 To output to the template list in this API, a VM template that you have created service providers
to use virtualization infrastructure or SigmaSystemCenter, collection of VM template is required.The collection of VM template, please refer to 7.2.3 Registering the VM Template of theProvider in Virtual DataCenter Automation Configuration Guide.
• Execution example
Response
HTTP/1.0 200 OKContent-Type: application/json; charset=utf-8
{ "Templates" : [ { "ID" : "xxxx", "Name" : "win2k8server1", "MakeTemplateName" : "win2k8server1-1", "UUID" : "xxxx-xxxx-xxxx",
Chapter 3. Workflow API Specification
38
"SnapshotName" : "snapshot1", "Type" : "Virtual" "HypervisorType" : "VMWare" }, { "ID" : "yyyy", "Name" : "rhel6-64", "MakeTemplateName" : "rhel6-64", "UUID" : "yyyy-yyyy-yyyy", "SnapshotName" : "snapshot2", "Type" : "Physical" "HypervisorType" : "Hyper-V" } ]}
3.29 Get Logical Asset List APIThis API gets a list of logical assets.
• HTTP method
GET
• URL
/umf/logicalasset/list
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded
• Response (JSON)
Key Data type Description
LogicalAssets object[] Logical asset information array
LogicalAssets[n].Path string Path to logical asset
*1 Specify MakeTemplateName as the parameter at VM creation.*2 This API does not output the template list unless you create templates via the SW repository.
Create templates via the SW repository (workflow execution API).*3 To output to the template list in this API, a VM template that you have created service providers
to use virtualization infrastructure or SigmaSystemCenter, collection of VM template is required.The collection of VM template, please refer to 7.2.3 Registering the VM Template of theProvider in Virtual DataCenter Automation Configuration Guide.
• Execution example
Response
Chapter 3. Workflow API Specification
39
{ "LogicalAssets": [ { "Path": "Group1/Windows2k8" }, { "Path": "Group1/Windows2k3" } ]}
3.30 Request for Logical Assets APIThis API requests for logical assets such as the software license. With two or more logical assetgroups specified, this API can get multiple logical assets.
Unless this API can get all the specified logical assets, it ends up without any logical asset.
• HTTP method
POST
• URL
/umf/logicalasset/request
• Parameters
Key Data type Description
User string Name of the user from whom to borrow the logicalassets. The name specified here will be displayed inthe AssetSuite GUI. This has no influence onoperation. If it is unnecessary, a null character stringis available.
LogicalAssetRequirements[n].Path string The logical asset group path that was set onAssetSuite. Can be viewed through the AssetSuiteGUI.
LogicalAssetRequirements[n].Num number Number of requests
LogicalAssetRequirements[n].Description
string Description. The character string specified here willbe displayed in the AssetSuite GUI. This has noinfluence on operation. If it is unnecessary, a nullcharacter string is available.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
404 Unknown Cannot obtain the logical assets due to a shortfall ofthose assignable.
• Response (JSON)
For status code 200, this API returns the following JSON data:
Chapter 3. Workflow API Specification
40
Key Data type Description
LogicalAssets object[] Logical asset information array
LogicalAssets[n].path string Logical asset group path that was set on AssetSuite
LogicalAssets[n].type number Logical asset type defined on AssetSuite
LogicalAssets[n].key string License key or IP address
LogicalAssets[n].id string Logical asset management number
LogicalAssets[n].index number Logical asset index*1
*1 A number that is used to distinguish the logical assets that can be borrowed multiple times withthe same logical asset management number (e.g. volume license). The loan asset is defineduniquely with the logical asset management number plus the logical asset index.
• Execution example
Request
POST /umf/logicalasset/requestX-UMF-API-Version: 2.2.0.201501Content-Type: application/json; charset=utf-8Host: apiserver.comContent-Length: nnn{ User: "tenantA", LogicalAssetRequirements: [ { "Path": "gourp1/groupA", "Num": 3, "Description": "OS License for AP Server" }, { "Path": "gourp1/groupB", "Num": 4, "Description": "" }, ]}
Response
Content-Length: nnn{ "LogicalAssets": [ { "path": "group1/groupA", "type": 0, "key": " 192.168.100.3", "id": "XXXX-XXXX-XXX", "index": 3 }, { "path": "group1/groupA", "type": 0, "key": "192.168.100.4",
Chapter 3. Workflow API Specification
41
"id": "XXXX-XXXX-XXX", "index": 4 }, { "path": "group1/groupB" "type": 0, "key": "192.168.100.5", "id": "YYYY-YYYY-YYYY", "index": 5 } ]}
• Response (JSON)
For status code 404, this API returns the following JSON data:
Key Data type Description
LogicalAssetPaths[n] string Path of the logical asset group that could not beacquired.
• Execution example
Response
{ "LogicalAssetPaths": ["groupA/group1"]}
3.31 Return Logical Assets APIThis API returns the specified logical assets and can return multiple logical assets at once. Unlikewhen obtaining them, the API returns all those returnable, even if it fails to return some of the logicalassets.
• HTTP method
POST
• URL
/umf/logicalasset/release
• Parameters
Key Data type Description
LogicalAssets[n].id string Management number of the logical asset to bereturned.
LogicalAssets[n].index number Index of the logical asset to be returned.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
206 Partial content Failed in returning some or all logical assets.
Chapter 3. Workflow API Specification
42
• Response (JSON)
For status code 206, this API returns the following JSON data:
Key Data type Description
LogicalAssets object[] Logical asset information array
LogicalAssets[n].id string Logical asset management number
LogicalAssets[n].index number Logical asset index*1
*1 A number that is used to distinguish the logical assets that can be borrowed multiple times withthe same logical asset management number (e.g. volume license). The loan asset is defineduniquely with the logical asset management number plus the logical asset index.
• Execution example
Request
POST /umf/logicalasset/releaseX-UMF-API-Version: 2.2.0.201501Content-Type: application/json; charset=utf-8Host: apiserver.comContent-Length: nnn{ LogicalAssets: [ { "id": "XXXXXX", "index": 0 }, { "id": "XXXXXX", "index": 1 } ]}
Response
{ LogicalAssets: [ { "id": "XXXXXX", "index": 0 }, { "id": "XXXXXX", "index": 1 } ]}
3.32 Get Assigned Logical Asset List APIThis API gets a list of logical assets included in VM templates.
• HTTP method
Chapter 3. Workflow API Specification
43
POST
• URL
/umf/template/logicalasset/list
• Parameters
Key Data type Description
Template object[] Template information
Template[n].TenantID string TenantID
Template[n].TemplateName string Template name
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
Key Data type Description
LogicalAssets object[] Logical asset information array. Required.
LogicalAssets[n].TenantID string Tenant ID
LogicalAssets[n].TemplateName string Template name
LogicalAssets[n].Asset object[] Asset information
LogicalAssets[n].Asset[n].Path string Resource ID passed in the request.
LogicalAssets[n].Asset[n].Inuse string Number assigned
• Execution example
Request
POST /umf/logicalasset/listContent-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
{ "Template": [ { "TemplateName": "rhel6-template", "TenantID": "TenantA" }, { "TemplateName": "rhel6-template", "TenantID": "TenantB" } ]}
Response
Chapter 3. Workflow API Specification
44
{ "LogicalAssets": [ { "TenantID": "TenantA", "TemplateName": "rhel6-template", "Asset": [ { "Path": "Group1/Windows2k8", "Inuse": "1" }, { "Path": "Group1/Windows2k3", "Inuse": "1" } ] }, { "TenantID": "TenantB", "TemplateName": "rhel6-template", "Asset": [ { "Path": "Group1/Windows2k8", "Inuse": "1" }, { "Path": "Group1/Windows2k3", "Inuse": "1" } ] } ]}
3.33 Get Distribution Package List APIThis API gets a list of distribution packages.
• HTTP method
GET
• URL
/umf/distributepackage/list
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
Chapter 3. Workflow API Specification
45
Key Data type Description
Distributepackage object[] Distribution package array. Required.
Distributepackage[n].Name string Package name
Distributepackage[n].Version string Version information
Distributepackage[n].OSType string OS type
Distributepackage[n].DestFolder string Path to folder in which distribution package is stored
Distributepackage[n].ExecuteFile string Name of the file to be executed
Distributepackage[n].ExecuteOption string Startup parameter
• Execution example
Response
{ "LogicalAssets": [ { "Id": 1, "Name": "Tomcat", "Version": "1.0", "OSType": "Windows", "DestFolder": "C:\tmp", "ExecuteFile": "setup.exe", "ExecuteOption": "-i -x" }, { "Id": 2, "Name": "Tomcat", "Version": "1.0", "OSType": "Linux", "DestFolder": "C:\tmp", "ExecuteFile": "setup.exe", "ExecuteOption": "-i -x" } ]}
3.34 Get VM Image List APIThis API gets a list of VM images from brought-in VMs.
• HTTP method
GET
• URL
/umf/template/VMImage/<TenantID>
<TenantID> specifies the tenant ID.
• Parameters
None
Chapter 3. Workflow API Specification
46
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
Key Data type Description
VMImages object[] Array of VM image information
VMImages[n].ImageName string VM image name
VMImages[n].Remark string Description
VMImages[n].OSName string OS name
VMImages[n].ImageSize string Image disk size
• Execution example
Response
{ "VMImages" : [ { " ImageName": "image1", " Remark": "Template for XXX", " OSName": "Windows8", " ImageSize": "10MB" }, { " ImageName": "image2", " Remark": Template for XXX", " OSName": "RHEL6", " ImageSize": "10MB" } ]}
3.35 Get DC Resource Group List APIThis API gets a list of DC resource groups.
• HTTP method
GET
• URL
/umf/dcresource/groups
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
Chapter 3. Workflow API Specification
47
• Response (JSON)
Key Data type Description
Groups object[] Array of DC resource groups
Groups[n].Name string DC resource group name. The format is<GroupName/GroupName>.If a common group exists, the common group isincluded in the group name path.
Groups[n].Priority number Priority
Groups[n].PodName string Name of the Pod it belongs to
Groups[n].ThresholdOver boolean Threshold exceeded
Groups[n].PodExtension boolean Whether Pod can be expanded
Groups[n].SharedType string Whether it is a target of auto selection when DCresource group is omitted in tenant NW creation ofphase2.{ Dedicated | Shared }
Groups[n].ResourcePoolThreshold object Resource threshold
Groups[n].ResourcePoolThreshold.CPUcount
number Threshold for empty CPU (count) usage in theresource pool
Groups[n].ResourcePoolThreshold.CPUmhz
number Threshold for empty CPU (MHz) usage in theresource pool
Groups[n].ResourcePoolThreshold.Memory
number Threshold for the memory capacity in the resourcepool
Groups[n].ResourcePoolThreshold.VMcount
number Threshold for the number of VMs in the resourcepool
Groups[n].ResourcePoolThreshold.Storage
number Threshold for the disk space in the resource pool
Groups[n].ResourcePoolThreshold.ForceMode
boolean Whether to output an error if the threshold isexceeded. Also determines whether to forcibly assignresources.
Groups[n].ResourcePoolThreshold.CapacityType
string { real | reserved }
Groups[n].ResourcePoolsIdentifier string SSC resource pool identifier
Groups[n].ResourcePools string[] Array of SSC resource pool names
Groups[n].GroupType string Group type• RG: Resource group• RMG: Resource management group
Groups[n].ResourceTags object[] Tag information
Groups[n].ResourceTags[m].Key string Key
Groups[n].ResourceTags[m].Value string Value
• Execution example
Response
{ "Groups" : [ { "SharedType" : "Shared",
Chapter 3. Workflow API Specification
48
"ThresholdOver" : false, "GroupType" : "RG", "PodName" : "GM1", "Priority" : 1, "PodExtension" : true, "ResourcePools" : [ ], "ResourceTags" : [ ], "Name" : "GroupA", "ResourcePoolsIdentifier" : "", "ResourcePoolThreshold" : { "CapacityType" : "", "CPUmhz" : 0, "ForceMode" : false, "VMcount" : 0, "CPUcount" : 0, "Storage" : 0, "Memory" : 0 } }, { "SharedType" : "Shared", "ThresholdOver" : false, "GroupType" : "RMG", "PodName" : "MoM1", "Priority" : 2, "PodExtension" : true, "ResourcePools" : [ "Pool" ], "ResourceTags" : [ ], "Name" : "GroupA/Pod3", "ResourcePoolsIdentifier" : "(*mom1*)", "ResourcePoolThreshold" : { "CapacityType" : "reserved", "CPUmhz" : 0, "ForceMode" : true, "VMcount" : 0, "CPUcount" : 0, "Storage" : 0, "Memory" : 0 } } ]}
3.36 Get DC Resource Group Details APIThis API gets detailed information about the specified DC resource group.
• HTTP method
GET
• URL
/umf/dcresource/groups/<DCResourceGroupName>
<DCResourceGroupName> specifies the name of the DC resource group.
• Parameters
Chapter 3. Workflow API Specification
49
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
404 Not Found The specified resource pool does not exist.
• Response (JSON)
Key Data type Description
DCResourcePools object[]
DCResourcePools[n].GroupName string DC resource group name. The format is<GroupName/GroupName>.If a common group exists, the common group isincluded in the group name path.
DCResourcePools[n].Groups string[] List of DC resource groups under it
DCResourcePools[n].Priority number Resource group priority
DCResourcePools[n].PodName string Name of the Pod it belongs to
DCResourcePools[n].PodExtension boolean Pod expansion (true when it is a group of multiplePod resource groups and PFC is included in the useddevices)
DCResourcePools[n].ThresholdOver boolean Threshold exceeded. True when the threshold isexceeded.
DCResourcePools[n].SharedType string Whether it is a target of auto selection when DCresource group is omitted in tenant NW creation ofphase2
DCResourcePools[n].ResourcePoolThreshold
object Resource threshold
DCResourcePools[n].ResourcePoolThreshold.CPUcount
number Threshold for empty CPU (count) usage in theresource pool
DCResourcePools[n].ResourcePoolThreshold.CPUmhz
number Threshold for empty CPU (MHz) usage in theresource pool
DCResourcePools[n].ResourcePoolThreshold.Memory
number Threshold for the memory capacity in the resourcepool
DCResourcePools[n].ResourcePoolThreshold.VMcount
number Threshold for the number of VMs in the resourcepool
DCResourcePools[n].ResourcePoolThreshold.Storage
number Threshold for the disk space in the resource pool
DCResourcePools[n].ResourcePoolThreshold.ForceMode
boolean Whether to output an error if the threshold isexceeded. Also determines whether to forcibly assignresources. True when assigning resources forcibly.
DCResourcePools[n].ResourcePoolThreshold.CapacityType
string Expression for calculating the available capacity ofthe resource pool{ real | reserved }
DCResourcePools[n].ResourcePoolsIdentifier
string SSC resource pool identifier
DCResourcePools[n].ResourcePools string[] Array of SSC resource pool information
DCResourcePools[n].VLANTotalCount number Total number of vlans in the management group
Chapter 3. Workflow API Specification
50
Key Data type Description
DCResourcePools[n].VLANUnused number Total number of free vlans in the management group
DCResourcePools[n].VLANConsumed number Total number of assigned vlans in the managementgroup
DCResourcePools[n].VLANCapacity number Total number of valid vlans in the management group
DCResourcePools[n].VLANDisabled number Total number of disabled vlans in the managementgroup
DCResourcePools[n].VLANUnallocated
number Total number of free vlans without vlan type in themanagement group
DCResourcePools[n].VLAN object[] Array of SSC resource pool names
DCResourcePools[n].VLAN[n].Type string VLAN type• ManagementVLAN• TenantVLAN• BusinessVLAN• PublicVLAN• WANServiceVLAN
DCResourcePools[n].VLAN[n].Capacity
number Total number of VLANs
DCResourcePools[n].VLAN[n].Consumed
number VLAN consumption
DCResourcePools[n].VLAN[n].Unused number VLANs not used
DCResourcePools[n].VLAN[n].Allocated
number Total number of vlans with vlan type which are notassigned in the management group
DCResourcePools[n].VLAN[n].Threshold
number VLAN Threshold
DCResourcePools[n].VLAN[n].ThresholdOver
boolean Whether the threshold is exceeded (true if it isexceeded). True when the threshold is exceeded.
DCResourcePools[n].VLAN[n].ForceMode
boolean Whether to output an error if the threshold isexceeded. Also determines whether to forcibly assignresources. True when assigning resources forcibly.
DCResourcePools[n].VLAN[n].Ledger object[] VLAN list
DCResourcePools[n].VLAN[n].Ledger[m].ID
number VLAN-ID
DCResourcePools[n].VLAN[n].Ledger[m].LogicalName
string SSC logical NW name
DCResourcePools[n].VLAN[n].Ledger[m].IPSubnetAddress
string IP subnet
DCResourcePools[n].VLAN[n].Ledger[m].IPSubnetMask
string IP subnet mask
DCResourcePools[n].TenantNW object[] List of devices with multi-tenant capability
DCResourcePools[n].TenantNW[n].Type
string Type of machine with multi-tenant capability• TFW• LB• SSL• BFW
Chapter 3. Workflow API Specification
51
Key Data type Description
DCResourcePools[n].TenantNW[n].Capacity
number Total number of devices with multi-tenant capability
DCResourcePools[n].TenantNW[n].Consumed
number Multi-tenant capability machine consumption
DCResourcePools[n].TenantNW[n].Unused
number Number of unused devices with multi-tenantcapability
DCResourcePools[n].TenantNW[n].Threshold
number Multi-tenant capability machine threshold
DCResourcePools[n].TenantNW[n].ThresholdOver
boolean Whether the threshold is exceeded (true if it isexceeded)
DCResourcePools[n].TenantNW[n].ForceMode
boolean Whether to output an error if the threshold isexceeded. Also determines whether to forcibly assignresources.
DCResourcePools[n].TenantNW[n].Devices
object[] List of devices with multi-tenant capability
DCResourcePools[n].TenantNW[n].Devices[m].Name
string Multi-tenant capability machine name or clustergroup
DCResourcePools[n].TenantNW[n].Devices[m].Capacity
number Number of devices with multi-tenant capability
DCResourcePools[n].TenantNW[n].Devices[m].Consumed
number Multi-tenant capability machine consumption
DCResourcePools[n].TenantNW[n].Devices[m].Unused
number Number of unused devices with multi-tenantcapability
DCResourcePools[n].TenantNW[n].Devices[m].Threshold
number Multi-tenant capability machine threshold
DCResourcePools[n].TenantNW[n].Devices[m].ThresholdOver
boolean Whether the threshold is exceeded (true if it isexceeded)
DCResourcePools[n].TenantNW[n].Devices[m].Priority
number Multi-tenant capability machine priority
DCResourcePools[n].TenantNW[n].Devices[m].Relations[l].Vname
string Logical FW name / Logical LB name
DCResourcePools[n].TenantNW[n].Devices[m].VirtualNode
string Device name / Virtual node name
DCResourcePools[n].PhysicalSVCapacity
number Total number of physical servers
DCResourcePools[n].PhysicalSVConsumed
number Physical server consumption
DCResourcePools[n].PhysicalSVUnused
number Number of unused physical servers
DCResourcePools[n].PhysicalSVThreshold
number Physical server threshold
DCResourcePools[n].PhysicalSVThresholdOver
boolean Whether the threshold is exceeded (true if it isexceeded)
DCResourcePools[n].PhysicalSVOsGoldImages
string[] List of OS image names of the physical server
DCResourcePools[n].PhysicalSVDevices
object[] List of physical servers
Chapter 3. Workflow API Specification
52
Key Data type Description
DCResourcePools[n].PhysicalSVDevices[n].Name
string Physical server name
DCResourcePools[n].PhysicalSVDevices[n].Property
string Physical server property information
DCResourcePools[n].PhysicalSVDevices[n].Priority
number Physical server priority
DCResourcePools[n].DiskvolumeCapacity
number Total number of disk volumes
DCResourcePools[n].DiskvolumeConsumed
number Disk volume consumption
DCResourcePools[n].DiskvolumeUnused
number Number of unused disk volumes
DCResourcePools[n].DiskvolumeThreshold
number Disk volume threshold
DCResourcePools[n].DiskvolumeThresholdOver
boolean Threshold exceeded (true when any one of the DCresources under it (SSC not included) exceeds thethreshold)
DCResourcePools[n].Diskvolume object[] Disk volume list
DCResourcePools[n].Diskvolume[n].Name
string Disk volume name
DCResourcePools[n].Diskvolume[n].DiskArray
string Disk volume attribute disk array name
DCResourcePools[n].DeviceNode object[] Device node list
DCResourcePools[n].DeviceNode[n].Name
string Device name/group node name
DCResourcePools[n].DeviceNode[n].GUID
string DcResourceID of the device/group node
DCResourcePools[n].DeviceNode[n].GroupName
string Name of the DC resource group to which it belongs
DCResourcePools[n].DeviceNode[n].PodName
string Name of the MoM to which the device is registered(MoM performing automation)
DCResourcePools[n].DeviceNode[n].IP string IP address of the device
DCResourcePools[n].DeviceNode[n].Type
string Device type
DCResourcePools[n].DeviceNode[n].IconType
string Icon type
DCResourcePools[n].DeviceNode[n].ClusterType
string Type of the cluster group
DCResourcePools[n].DeviceNode[n].AutomationSoft
string Software executing automation
DCResourcePools[n].DeviceNode[n].AutomationCmd
string Automation execution command path name
DCResourcePools[n].DeviceNode[n].AutomationCmdArg
string Automation execution command path parameter
DCResourcePools[n].DeviceNode[n].SscResourcePool
string DcResourceID of the SSC resource pool to whichvSW belongs
Chapter 3. Workflow API Specification
53
Key Data type Description
DCResourcePools[n].DeviceNode[n].Ext1
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext2
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext3
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext4
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext5
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext6
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext7
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext8
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext9
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext10
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext11
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext12
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext13
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext14
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Ext15
string Device-specific extension parameter
DCResourcePools[n].DeviceNode[n].Option1
string Option 1
DCResourcePools[n].DeviceNode[n].Option2
string Option 2
DCResourcePools[n].DeviceNode[n].Option3
string Option 3
DCResourcePools[n].DeviceNode[n].Option4
string Option 4
DCResourcePools[n].DeviceNode[n].Option5
string Option 5
DCResourcePools[n].DeviceNode[n].Option6
string Option 6
DCResourcePools[n].DeviceNode[n].Option7
string Option 7
DCResourcePools[n].DeviceNode[n].Option8
string Option 8
Chapter 3. Workflow API Specification
54
Key Data type Description
DCResourcePools[n].DeviceNode[n].Option9
string Option 9
DCResourcePools[n].DeviceNode[n].Option10
string Option 10
DCResourcePools[n].DeviceNode[n].vSwitchType
string Virtual switch type
DCResourcePools[n].DeviceNode[n].Unused
number Number of device data not used
DCResourcePools[n].DeviceNode[n].Memo
string Memo
DCResourcePools[n].DeviceNode[n].vSWName
string Virtual switch name
DCResourcePools[n].DeviceNode[n].ResourceCount
number
DCResourcePools[n].DeviceNode[n].VirtualNode
string Device name / Virtual node name
DCResourcePools[n].GroupType string Group type• RG: Resource group• RMG: Resource management group
DCResourcePools[n].ResourceTags object[] Tag information
DCResourcePools[n].ResourceTags[m].Key
string Key
DCResourcePools[n].ResourceTags[m].Value
string Value
DCResourcePools[n].Controllers object[] Information of controllers registered to commongroupoutput only when a common group is specified
DCResourcePools[n].Controllers[n].Controller
object[] Information of controllers on both side
DCResourcePools[n].Controllers[n].Controller[n].Name
string Controller name
DCResourcePools[n].Controllers[n].Controller[n].Type
string Controller type
DCResourcePools[n].Controllers[n].Boundaries
object[] Boundary information
DCResourcePools[n].Controllers[n].Boundaries[n].Name
string Boundary name
DCResourcePools[n].Controllers[n].Boundaries[n].Capacity
number Total number of vlans of boundary
DCResourcePools[n].Controllers[n].Boundaries[n].Unused
number Total number of free vlans of boundary
DCResourcePools[n].Controllers[n].Boundaries[n].VLAN
object[] Information of assigned vlans of boundary
DCResourcePools[n].Controllers[n].Boundaries[n].VLAN[n].ID
number VLANID
Chapter 3. Workflow API Specification
55
Key Data type Description
DCResourcePools[n].Controllers[n].Boundaries[n].VLAN[n].TenantID
string Tenant ID which owns target VLAN ID
DCResourcePools[n].Controllers[n].Boundaries[n].LogicalPorts
object[] Information of logical ports on both side
DCResourcePools[n].Controllers[n].Boundaries[n].LogicalPorts[n].ControllerName
string Controller name which logical port owns
DCResourcePools[n].Controllers[n].Boundaries[n].LogicalPorts[n].DomainName
string domain name which logical port owns
DCResourcePools[n].Controllers[n].Boundaries[n].LogicalPorts[n].LogicalPortName
string LogicalPort name
• Execution example
Response
{ "DCResourcePools" : [ { "GroupName" : "Pod3_Pod4", "Groups" : [ "Pod3" , "Pod4" ], "Priority" : 1, "PodName" : "Pod3", "PodExtension" : true, "ThresholdOver" : true, "SharedType" : "Shared", "ResourcePoolThreshold" : [ { "CPUcount" : 2, "CPUmhz" : 3000, "Memory" : 1000, "VMcount" : 3000, "Storage" : 1234, "ForceMode" : false, "CapacityType" : "real" } ], "ResourcePoolsIdentifier" : "ABC", "ResoucePools" : ["RP1", "RP2"], "VLAN": [ { "Type": "FW", "Capacity": 100, "Consumed": 10, "Unused": 90, "Threshold": 80, "ThresholdOver" : false, "ForceMode" : false, "Ledger": [ { "ID": 1, "LogicalName": "MLAN", "IPSubnetAddress": "10.21.80.0",
Chapter 3. Workflow API Specification
56
"IPSubnetMask": "255.255.255.0" }, { "ID": 2, "LogicalName": "TLAN", "IPSubnetAddress": "10.21.81.0", "IPSubnetMask": "255.255.255.0" } ] } ], "TenantNW": [ { "Type": "FW", "Capacity": 100, "Consumed": 10, "Unused": 90, "Threshold": 80, "ThresholdOver": true, "ForceMode": true, "Devices": [ { "Name": "Forti1", "Capacity ": 100, "Consumed": 45, "Unused": 55, "Threshold": 95, "ThresholdOver": false, "Priority": 1 }, { "Name": "Forti2", "Capacity ": 100, "Consumed": 35, "Unused": 65, "Threshold": 95, "ThresholdOver": true, "Priority": 2 } ] } ], "PhysicalSVCapacity" : 0, "PhysicalSVConsumed" : 0, "PhysicalSVUnused" : 0, "PhysicalSVThreshold" : 0, "PhysicalSVThresholdOver" : false, "PhysicalSVOsGoldImages" : [ "image1", "image2" ], "PhysicalSVDevices": [ { "Name": "SV1", "Property": "AAA", "Priority": 2 } ], "DiskvolumeCapacity" : 123, "DiskvolumeConsumed" : 123, "DiskvolumeUnused" : 123,
Chapter 3. Workflow API Specification
57
"DiskvolumeThreshold" : 123, "DiskvolumeThresholdOver" : true, "DiskvolumeCapacity" : 123, "Diskvolume" : [ { "Name" : "disk1", "DiskArray" : "diskarray" } ], "ResourceTags" : [ ], "GroupType" : "RMG", "DeviceNode" : [ { "Ext14" : "", "AutomationCmdArg" : "", "Option10" : "", "Ext15" : "", "Ext1" : "", "Ext2" : "", "Ext3" : "1389", "Option1" : "", "Ext4" : "", "GroupName" : "GroupA", "PodName" : "MOM1 ", "Option2" : "", "Ext5" : "", "AutomationCmd" : "%SYSTEM_FW_BINPATH%/nvpdevcmdexe.exe", "AutomationSoft" : "NetvisorProV", "ClusterType" : "", "Unused" : 4000, "Option3" : "", "Ext6" : "32", "Option4" : "", "Ext7" : "0", "IP" : "192.168.20.181", "Option5" : "", "Ext8" : "1", "Memo" : "", "Option6" : "", "Ext9" : "", "Type" : "LB", "GUID" : "W10321167E35A464E90A0B0042BE1DEF5", "Option7" : "", "IconType" : "BIG-IP_V9", "Option8" : "", "Name" : "big-ip05.local", "vSWName" : "", "Option9" : "", "Ext10" : "", "Ext11" : "", "Ext12" : "", "vSwitchType" : "", "Ext13" : "", "SscResourcePool" : "", "ResourceCount" : 4000 }] }
Chapter 3. Workflow API Specification
58
]}
3.37 IP Address Information Acquisition APIThis API is used to acquire list information of unused IP addresses related to the logical networkcreated by executing any of the following scenarios.
"Creating a Tenant Network (page 99)"
"Creating a Business VLAN (page 111)"
"Creating a Public VLAN (page 112)"
"Creating a WAN (page 114)"
• HTTP method
POST
• URL
/umf/ipaddress
• Parameters
Key Data type Description
TenantID string Tenant ID
IPAddressInfo object IP address information
IPAddressInfo.LogicalNetworkName string Logical network name associated with the tenant
IPAddressInfo.Type string Fixed to "unused-list"
• Response (HTTP status code)
Code Meaning Description
200 OK Acquisition of information was successful.
204 No Content The logical network that was created with the subnetspecified was specified.
400 Bad Request A type other than register, unregister, and unused-listwas specified for Type.
404 Not Found ・The specified tenant ID or logical network couldnot be found.・The specified logical network has not beenassociated with the specified tenant.
405 Unsupported API VersionException An unsupported API version (2.2.0.201501 or earlier)was specified.
• Response (JSON)
Key Data type Description
TenantID string Tenant ID
IPAddressInfo object IP address information
IPAddressInfo.LogicalNetworkName string Logical network name associated with the tenant
Chapter 3. Workflow API Specification
59
Key Data type Description
IPAddressInfo.SubnetMask string IP subnet mask value Example: 255.255.255.0
IPAddressInfo.Range string[] Free IP address range If there is no free IP address, a null array is returned. Example: When 192.168.0.1 and 192.168.0.101 are being used 192.168.0.2-192.168.0.100 , 192.168.0.102-192.168.0.255
• Execution example
Request
POST /umf/reserveddcresource/<TenantID>Content-Type: application/json; charset=utf-8X-UMF-API-Version: 3.0.0.201601Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite :
{ "TenantID": "T0000001", "IPAddressInfo": { "LogicalNetworkName": "LogicalNW100", "Type": "unused-list" }}
Response
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "TenantID": "T0000001", "IPAddressInfo": { "LogicalNetworkName": "LogicalNW100", "SubnetMask": "255.255.255.0", "Range": [ "192.168.0.2-192.168.0.100","192.168.0.102-192.168.0.255" ] }}
3.38 IP Address Information Registration APIThis API is used to register IP address information for the logical network created by executing anyof the following scenarios.
"Creating a Tenant Network (page 99)"
"Creating a Business VLAN (page 111)"
"Creating a Public VLAN (page 112)"
"Creating a WAN (page 114)"
• HTTP method
Chapter 3. Workflow API Specification
60
POST
• URL
/umf/ipaddress
• Parameters
Key Data type Description
TenantID string Tenant ID
IPAddressInfo object IP address information
IPAddressInfo.LogicalNetworkName string Logical network name associated with the tenant
IPAddressInfo.IPAddress string[] Registered IP address (IPv4 format)
IPAddressInfo.Type string Fixed to "register".
• Response (HTTP status code)
Code Meaning Description
200 OK Acquisition of information was successful.
204 No Content The logical network that was created with the subnetspecified was specified.
400 Bad Request A type other than register, unregister, and unused-listwas specified for Type.
404 Not Found ・The specified tenant ID or logical network couldnot be found.・The specified logical network has not beenassociated with the specified tenant.
405 Unsupported API VersionException An unsupported API version (2.2.0.201501 or earlier)was specified.
• Response (JSON)
Not specified
• Execution example
Request
POST /umf/reserveddcresource/<TenantID>Content-Type: application/json; charset=utf-8X-UMF-API-Version: 3.0.0.201601Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite :
{ "TenantID": "T0000001", "IPAddressInfo": { "LogicalNetworkName": "LogicalNW100", "IPAddress": [ "192.168.0.1","192.168.0.2" ], "Type": "register" }}
Chapter 3. Workflow API Specification
61
3.39 IP Address Information RegistrationCancellation API
This API is used to release IP address information for the logical network created by executing anyof the following scenarios.
"Creating a Tenant Network (page 99)"
"Creating a Business VLAN (page 111)"
"Creating a Public VLAN (page 112)"
"Creating a WAN (page 114)"
• HTTP method
POST
• URL
/umf/ipaddress
• Parameters
Key Data type Description
TenantID string Tenant ID
IPAddressInfo object IP address information
IPAddressInfo.LogicalNetworkName string Logical network name associated with the tenant
IPAddressInfo.IPAddress string[] Registered IP address (IPv4 format)
IPAddressInfo.Type string Fixed to "unregister".
• Response (HTTP status code)
Code Meaning Description
200 OK Acquisition of information was successful.
204 No Content The logical network that was created with the subnetspecified was specified.
400 Bad Request A type other than register, unregister, and unused-listwas specified for Type.
404 Not Found ・The specified tenant ID or logical network couldnot be found.・The specified logical network has not beenassociated with the specified tenant.
405 Unsupported API VersionException An unsupported API version (2.2.0.201501 or earlier)was specified.
• Response (JSON)
Not specified
• Execution example
Request
Chapter 3. Workflow API Specification
62
POST /umf/reserveddcresource/<TenantID>Content-Type: application/json; charset=utf-8X-UMF-API-Version: 3.0.0.201601Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite :
{ "TenantID": "T0000001", "IPAddressInfo": { "LogicalNetworkName": "LogicalNW100", "IPAddress": [ "192.168.0.1","192.168.0.2" ], "Type": "unregister" }}
3.40 Get Registered Global IP Address List APIThis API gets a list of assignable IP addresses.
• HTTP method
GET
• URL
/umf/globalip/list
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
Key Data type Description
GlobalIPs object[] IP address list
GlobalIPs[n].IdentifierName string Registration name for DC resource managementMaximum length: 64 characters
GlobalIPs[n].IpType string IP address type{"IPv4" | "IPv6"}
GlobalIPs[n].MAXAllocationCount string Number of allocatable IP addresses0 to 2147483647
GlobalIPs[n].RemainingCount string Remaining number of allocatable IP addresses0 to 2147483647
GlobalIPs[n].IPv4Address string IPv4 addressnnn.nnn.nnn.nnn(IPv4 expression format)
Chapter 3. Workflow API Specification
63
Key Data type Description
GlobalIPs[n].IPv4Prefix string IPv4 prefixBit length of the subnet mask (8 to 24)
GlobalIPs[n].IPv6Address string IPv6 addresshhhh:hhhh:hhhh:hhhh::(IPv6 expression format)
GlobalIPs[n].IPv6Prefix string IPv6 prefixBit length of the prefix (16 to 63)
GlobalIPs[n].RegistDate string Registration dateyyyy/mm/dd hh:mm:ss
GlobalIPs[n].Memo string MemoMaximum length: 256 characters
GlobalIPs[n].ResourceTags object[] Tag information
GlobalIPs[n].ResourceTags[m].Key string Key
GlobalIPs[n].ResourceTags[m].Value string Value
• Execution example
Response
{ "GlobalIPs":[ { "IdentifierName":"IP address 1", "IpType":"IPv4", "MAXAllocationCount":"100", "RemainingCount":"80", "IPv4Address":"192.168.0.1", "IPv4Prefix":"24", "IPv6Address":"", "IPv6Prefix":"", "RegistDate":"2013/12/31 23:59:59", "ResourceTags" : [ ], "Memo":"This is a note" }, { "IdentifierName":"IP address 2", "IpType":"IPv6", "MAXAllocationCount":"100", "RemainingCount":"80", "IPv4Address":"", "IPv4Prefix":"", "IPv6Address":"2001:db8::9abc", "IPv6Prefix":"63", "RegistDate":"2013/12/31 23:59:59", "ResourceTags": [ { "Key": "Site", "Value": "Tokyo" } ], "Memo":"This is a note" }
Chapter 3. Workflow API Specification
64
]}
3.41 Get Global IP Address APIThis API assigns an IP address.
• HTTP method
POST
• URL
/umf/globalip/request
• Parameters
Key Data type Description
ID string(64) Tenant ID
IdentifierName string(64) Registration name
IpType string Global IP type"IPv4" / "IPv6"
IPv4Prefix string(64) IPv4 prefixBit length of the subnet mask (8 to 30)
IPv6Prefix string(64) IPv6 prefixBit length of the prefix (16 to 64)
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
404 Not Found The specified global IP address does not exist.
• Response (JSON)
Key Data type Description
ID string(64) Tenant ID
IdentifierName string(64) Registration name. Same as request.
AllocationID string(64) Assigned ID<Registration Number>-<Sequence Number>
IpType string Global IP type. Same as request.
IPv4Address string IPv4 addressnnn.nnn.nnn.nnn(IPv4 expression format)
IPv4Prefix string IPv4 prefix. Same as request.
IPv6Address string IPv6 addresshhhh:hhhh:hhhh:hhhh::(IPv6 expression format)
IPv6Prefix string IPv6 prefix. Same as request.
IPAddressList string[] List of available IP addresses
Chapter 3. Workflow API Specification
65
Key Data type DescriptionIP address image according to the IpType format
• Execution example
Request
{ "ID":"TenantA", "IdentifierName":"IP address 1", "IpType":"IPv4", "IPv4Prefix":"24", "IPv6Prefix":""}
Response
{ "ID":"TenantA", "IdentifierName":"IP address 1", "AllocationID":"1234567890", "IpType":"IPv4", "IPv4Address":"192.168.0.1", "IPv4Prefix":"24", "IPv6Address":"", "IPv6Prefix":"", "IPAddressList":["192.168.0.100","192.168.0.101"]}
3.42 Release Global IP Address APIThis API releases an IP address.
• HTTP method
POST
• URL
/umf/globalip/release
• Parameters
Key Data type Description
ID string(64) Tenant ID
AllocationID string(64) Assigned ID<Registration Number>-<Sequence Number>
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
404 Not Found The specified global IP address does not exist.
Chapter 3. Workflow API Specification
66
• Response (JSON)
None
• Execution example
Request
{ "ID":"TenantA", "AllocationID":"1234567890"}
3.43 MoM list acquisition APIA list of MoM information (identifier, MoM name) is output.
• HTTP method
GET
• URL
/umf/managerinfo/list
• Parameters
None
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
Key Data type Description
ManagerInfo object[] MoM list
ManagerInfo[n].Name string MoM nameRemark: 2-byte is not allowed.
ManagerInfo[n].Identifier string Identifier
Example: (*MOM1*) , (*1*)*1
*1 (*●*) varies depending on the setting of vdcapi.properties.
• Execution example
Response
{ "ManagerInfo": [ { "Identifier": "(*mom1*)", "Name": "MoM1 " },
Chapter 3. Workflow API Specification
67
{ "Identifier": "(*mom2*)", "Name": "MoM2 " } ]}
3.44 Location search APIThe location information (MoM identifier) of the specified resource is output.
• HTTP method
GET
• URL
/umf/search?q=location&type=MoMID&key=<UUID>
For <UUID>, specify the UUID of the VM.
• Parameters
Specify search conditions in a query string. The request body is empty. The search conditionsthat can be specified are as follows.
Query key Description
q Specify the search target. For a location search, specify "location".
type Specify the search type. For a location search, specify a "MoMID" string.
key Specify the UUID of the VM to search for.
Query example:
q= q=location&type=MoMID&key= W1A16A1059CBB4DBC8CB7AD398AD0FAB4
It searches for a VM with UUID of W1A16A1059CBB4DBC8CB7AD398AD0FAB4, andreturns the MoM identifier of the MoM managing the VM.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
Key Data type Description
Result string MoM identifier of the MoM managing the specifiedVM
• Execution example
Response
HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8{ "Result": [
Chapter 3. Workflow API Specification
68
"(*MoM1*)" ]}
3.45 SSC general list acquisition APIThe specified WebAPI is executed for all the SSCs registered in the service governor. The executionresults are returned in an array of the execution result of each SSC (Managers object).
• HTTP method
According to the specified SSC WebAPI. For the SSC WebAPI, refer to the SSCWebAPIReference.
• URL
/umf/ssclist/<SSC WebAPIの URL>
For <URL of SSC WebAPI>, specify the URL of the SSC WebAPI you want to execute.。
Supported API list (SSC 3.3)
API 名 URL
Load balancer listAPI
GET /umf/ssclist/api/loadbalancers
Firewall list API GET /umf/ssclist/api/firewalls
Logical network listacquisition API
GET /umf/ssclist/api/logicalnetworks
Resource pool listacquisition API
GET /umf/ssclist/api/resourcepools[?group=GroupPath]
VM server listacquisition API
GET /umf/ssclist/api/hostsystems
Template listacquisition API
GET /umf/ssclist/api/templates
Disk array listacquisition API
GET /umf/ssclist/api/diskarrays
Disk volume listacquisition API
GET /umf/ssclist/api/diskvolumes/DiskArray
Storage pool listacquisition API
GET /umf/ssclist/api/storagepools/DiskArray
NoteOnly SSC APIs that return a response in the JSON format can be executed with this API.
• Parameters
According to the specified SSC WebAPI. For the SSC WebAPI, refer to the SSCWebAPIReference.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
Chapter 3. Workflow API Specification
69
Code Meaning Description
206 Partial Content The request failed in some MoMs. For details, refer toManagers[m].StatusCode andManagers[m].ErrorMessage of response JSON.
• Response (JSON)
Key Data type Description
Managers object[] Response for each manager. The number of elementsis always the same as the number of managersregistered on the cloud provider API.
Managers[m].ID string MoM identifier
Managers[m].StatusCode number HTTP status code returned by MoM (SSC)
Managers[m].ErrorMessage string Error message of each MoM (SSC) null when therequest succeeded
Managers[m].<JSON object incompliance with the SSC WebAPIReference>
object[] Array of response JSON objects obtained from theSSCs When the request failed, the item itself isomitted.
JSONs obtained from the SSCs are sorted by MoM.
Even if overlapping information (logical network and VM server) exists in each SSC, theservice governor does not perform an overlapping check.
• Execution example
Example of request success (for logical network list):
{ "Managers" : [ { "ID" : "(*mom1*)", "StatusCode" : 200, "ErrorMessage" : null, "LogicalNetworks": [ { <<Omitted Refer to Logical network list API>> }, { <<Omitted Refer to Logical network list API>> } ] }, { "ID" : "(*mom2*)", "StatusCode" : 200, "ErrorMessage" : null, "LogicalNetworks": [ { <<Omitted Refer to Logical network list API>> }, { <<Omitted Refer to Logical network list API>> } ] }
Chapter 3. Workflow API Specification
70
]}
Example of request success (for logical network list):
{ "Managers" : [ { "ID" : "(*mom1*)", "StatusCode" : 404, "ErrorMessage" : "NotFoundException" }, { "ID" : "(*mom2*)", "StatusCode" : 500, "ErrorMessage" : "InternalException" } ]}
3.46 SSC pass-through APIThe SSC pass-through API allows access to the SSC WebAPI via pass through. The Http header suchas the Authorization header for sending a request to the SSC WebAPI is configured automatically.
The request URL, request JSON, and response JSON are in compliance with the SSC Web APIReference and are not modified in the service governor.
• HTTP method
According to the specified SSC WebAPI. For the SSC WebAPI, refer to the SSCWebAPIReference.
• URL
/umf/ssc/<MoM Identifier>/<URL of SSC WebAPI>
<MoM Identifier>, specify the identifier of the MoM managing the SSC you want to execute.
For <URL of SSC WebAPI>, specify the URL of the SSC WebAPI you want to execute.
Supported API list (SSC 3.3)
API name URL
Group informationacquisition API
GET /umf/ssc/<MoM Identifier>/api/groups/GroupPath
Group creation/update API
PUT /umf/ssc/<MoM Identifier>/api/groups/GroupPath
Group deletion API DELETE /umf/ssc/<MoM Identifier>/api/groups/GroupPath
Host informationacquisition API
GET /umf/ssc/<MoM Identifier>/api/hosts/Host
Host performanceinformationacquisition API
POST /umf/ssc/<MoM Identifier>/api/monitoring
Chapter 3. Workflow API Specification
71
API name URL
VM screenshotacquisition API
GET /umf/ssc/<MoM Identifier>/api/console/screenshots/Host[?width=width&height=height&refresh=refresh
Load balancer listAPI
GET /umf/ssc/<MoM Identifier>/api/loadbalancers
Load balancer grouplist API
GET /umf/ssc/<MoM Identifier>/api/loadbalancers/LoadBalancerName
Load balancer groupacquisition API
GET /umf/ssc/<MoM Identifier>/api/loadbalancers/LoadBalancerName/LoadBalancerGroupName
Load balancer groupcreation/update API
PUT /umf/ssc/<MoM Identifier>/api/loadbalancers/LoadBalancerName/LoadBalancerGroupName
Load balancer groupdeletionAPI
DELETE /umf/ssc/<MoM Identifier>/api/loadbalancers/LoadBalancerName/LoadBalancerGroupName
Firewall list API GET /umf/ssc/<MoM Identifier>/api/firewalls
Logical network listacquisition API
GET /umf/ssc/<MoM Identifier>/api/logicalnetworks
Logical networkinformationacquisition API
GET /umf/ssc/<MoM Identifier>/api/logicalnetworks/NetworkName
Logical networkcreation/update API
PUT /umf/ssc/<MoM Identifier>/api/logicalnetworks/NetworkName
Logical networkdeletion API
DELETE /umf/ssc/<MoM Identifier>/api/logicalnetworks/NetworkName
Resource pool listacquisition API
GET /umf/ssc/<MoM Identifier>/api/resourcepools[?group=GroupPath]
Resource poolinformationacquisition API
GET /umf/ssc/<MoM Identifier>/api/resourcepools/RootResourcePoolName[/SubResourcePoolName]
VM server listacquisition API
GET /umf/ssc/<MoM Identifier>/api/hostsystems
VM serverinformationacquisition API
GET /umf/ssc/<MoM Identifier>/api/hostsystems/Host
Template listacquisition API
GET /umf/ssc/<MoM Identifier>/api/templates
Templateinformationacquisition API
GET /umf/ssc/<MoM Identifier>/api/templates/TemplateName[?image=Image&hostsystem=HostSystem]
Disk array listacquisition API
GET /umf/ssc/<MoM Identifier>/api/diskarrays
Disk volume listacquisition API
GET /umf/ssc/<MoM Identifier>/api/diskvolumes/DiskArray
Storage pool listacquisition API
GET /umf/ssc/<MoM Identifier>/api/storagepools/DiskArray
VM creation API POST /umf/ssc/<MoM Identifier>/api/jobs/createhost
VM reconfigurationAPI
POST /umf/ssc/<MoM Identifier>/api/jobs/reconfigurehost
VM deletion API POST /umf/ssc/<MoM Identifier>/api/jobs/deletehost
Chapter 3. Workflow API Specification
72
API name URL
VM import API POST /umf/ssc/<MoM Identifier>/api/jobs/importhost
VM export API POST /umf/ssc/<MoM Identifier>/api/jobs/exporthost
VM snapshotcreation API
POST /umf/ssc/<MoM Identifier>/api/jobs/createsnapshot
VM snapshotapplication API
POST /umf/ssc/<MoM Identifier>/api/jobs/revertsnapshot
VM snapshotdeletion API
POST /umf/ssc/<MoM Identifier>/api/jobs/deletesnapshot
Host poweroperation API
POST /umf/ssc/<MoM Identifier>/api/jobs/{startup|shutdown|reboot|suspend|poweroff}
Template creationAPI
POST /umf/ssc/<MoM Identifier>/api/jobs/createtemplate
Template deletionAPI
POST /umf/ssc/<MoM Identifier>/api/jobs/deletetemplate
Job acquisition API GET /umf/ssc/<MoM Identifier>/api/jobs/JobId
Job search API GET /umf/ssc/<MoM Identifier>/api/jobs?id=JobId[,JobID...]
Job cancellationAPI
DELETE /umf/ssc/<MoM Identifier>/api/jobs/JobId
Host search API GET /umf/ssc/<MoM Identifier>/api/hosts?q=<key>:<value>
Host group creationAPI
POST /umf/ssc/<MoM Identifier>/api/jobs/createportgroup
Host group updateAPI
POST /umf/ssc/<MoM Identifier>/api/jobs/updateportgroup
Host group deletionAPI
POST /umf/ssc/<MoM Identifier>/api/jobs/deleteportgroup
NoteAccording to the specified SSC WebAPI. For the SSC WebAPI, refer to the SSCWebAPI Reference.
• Parameters
According to the specified SSC WebAPI. For the SSC WebAPI, refer to the SSCWebAPIReference.
• Response (HTTP status code)
According to the specified SSC WebAPI. For the SSC WebAPI, refer to the SSCWebAPIReference.
• Response (JSON)
According to the specified SSC WebAPI. For the SSC WebAPI, refer to the SSCWebAPIReference.
3.47 Port group creation APIPort group information is specified, and a job that creates the specified port group is executed.
• HTTP method
Chapter 3. Workflow API Specification
73
POST
• URL
/umf/api/jobs/createportgroup
• Parameters
Key Data type Description
MoMID*1 string MoM identifierExample: (*MoM1*)
Name string Port group (VLAN) name
VLANID string VLANIDFor a private VLAN, the primary VLANID andsecondary VLANID are combined, separated by acomma.Example: 100,10
Switch string Switch name
SwitchType string Switch type {physicalswitch | virtualswitch |distributedvirtualswitch}
HostSystem string Host path or UUID of the VM server
*1 Because port group names can be overlapping and it is hard to determine which MoM is theinformation for, the key MoMID is added.
• Response (HTTP status code)
Code Meaning Description
202 Accepted Succeeded.
409 ConflictException A port group with the same name already exists.
• Response (JSON)
Information about the executed job is returned. For details, refer to "3.26 Get Job API (page36)".
* Because it is hard to determine in which MoM the job was executed, the MoM identifier isassigned to JobID.
• Execution example
Request
POST /umf/api/jobs/createportgroup HTTP/1.0Content-Type: application/json; charset=utf-8Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>X-UMF-API-Version: 2.1{"MoMID": "(*MoM1*)","Name": "vPortGroup1","VLANID": null,"Switch": "vSwitch1","SwitchType": " virtualswitch ",
Chapter 3. Workflow API Specification
74
"HostSystem": "/TenantA/server1"}
Response
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "Id": "(*MoM1*)00001", "Completed": false, "Failed": false, "Jobs": [ { "Completed": false, "Progress": 40, "Summary": "VLAN creation", "Id": "(*MoM1*)00568-00", "EndTime": null, "Host": null, "StartTime": "2011-08-05T15:53:43+09:00", "Failed": false, "Error": null } ]}
3.48 Port group update APIPort group information is specified, and a job that updates the specified port group is executed.
• HTTP method
POST
• URL
/umf/api/jobs/updateportgroup
• Parameters
Key Data type Description
MoMID*1 string MoM identifierExample: (*MoM1*)
Name string Port group (VLAN) name*2
VLANID string VLANIDFor a private VLAN, the primary VLANID andsecondary VLANID are combined, separated by acomma.Example: 100,10
Switch string Switch name*2
SwitchType string Switch type {physicalswitch | virtualswitch |distributedvirtualswitch} *2
Chapter 3. Workflow API Specification
75
Key Data type Description
HostSystem string Host path or UUID of the VM server*2
*1 Because port group names can be overlapping and it is hard to determine which MoM is theinformation for, the key MoMID is added.
*2 Cannot be changed.
• Response (HTTP status code)
Code Meaning Description
202 Accepted Succeeded.
• Response (JSON)
Information about the executed job is returned. For details, refer to "3.26 Get Job API (page36)".
* Because it is hard to determine in which MoM the job was executed, the MoM identifier isassigned to JobID.
• Execution example
Request
POST /umf/api/jobs/createportgroup HTTP/1.0Content-Type: application/json; charset=utf-8Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>X-UMF-API-Version: 2.1{ "MoMID": "(*MoM1*)", "Name": "vPortGroup1", "VLANID": 2360, "Switch": "vSwitch1", "SwitchType": " virtualswitch ", "HostSystem": "/TenantA/server1"}
Response
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "Id": "(*MoM1*)00001", "Completed": false, "Failed": false, "Jobs": [ { "Completed": false, "Progress": 40, "Summary": "VLAN edit", "Id": "(*MoM1*)00568-00", "EndTime": null, "Host": null, "StartTime": "2011-08-05T15:53:43+09:00", "Failed": false, "Error": null
Chapter 3. Workflow API Specification
76
} ]}
3.49 Port group deletion APIPort group information is specified, and a job that deletes the specified port group is executed.
• HTTP method
POST
• URL
/umf/api/jobs/deleteportgroup
• Parameters
Key Data type Description
MoMID*1 string MoM identifierExample: (*MoM1*)
Name string Port group (VLAN) name
Switch string Switch name
SwitchType string Switch type {physicalswitch | virtualswitch |distributedvirtualswitch}
HostSystem string Host path or UUID of the VM server
*1 Because port group names can be overlapping and it is hard to determine which MoM is theinformation for, the key MoMID is added.
• Response (HTTP status code)
Code Meaning Description
202 Accepted Succeeded.
• Response (JSON)
Information about the executed job is returned. For details, refer to "3.26 Get Job API (page36)".
* Because it is hard to determine in which MoM the job was executed, the MoM identifier isassigned to JobID.
• Execution example
Request
POST /umf/api/jobs/deleteportgroup HTTP/1.0Content-Type: application/json; charset=utf-8Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>X-UMF-API-Version: 2.1{ "MoMID": "(*MoM1*)",
Chapter 3. Workflow API Specification
77
"Name": "vPortGroup1", "Switch": "vSwitch1", "SwitchType": " virtualswitch ", "HostSystem": "/TenantA/server1"}
Response
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "Id": "(*MoM1*)00001", "Completed": false, "Failed": false, "Jobs": [ { "Completed": false, "Progress": 40, "Summary": "VLAN deletion(vPortGroup1)", "Id": "(*MoM1*)00568-00", "EndTime": null, "Host": null, "StartTime": "2011-08-05T15:53:43+09:00", "Failed": false, "Error": null } ]}
3.50 Acquisition of DC Resource DetailInformation Associated with the Tenant
It refers to the DC resource assigned to the tenant.
• HTTP method
POST
• URL
/umf/reserveddcresource/<TenantID>
• Parameters
Key Data type Description
keys string[] Specify the names of the information to be obtainedin an array.Anything other than "LB", "TFW", "SSL", "VLAN","GROUP", or"BFW" cannot be specified.
• Response (HTTP status code)
Chapter 3. Workflow API Specification
78
Code Meaning Description
200 Accepted Acquisition of resource information associated withthe tenant was successful
• Response (JSON)
Response (JSON) when "TFW" is specified in the request.
Key Data type Description
FWInfo object[] Array of FW information
FWInfo[n].Name string Tenant FW name
FWInfo[n].GroupName string Resource management group name (full path)
FWInfo[n].VLAN object[] VLAN information
FWInfo[n].VLAN[m].LogicalName string Logical NW name
FWInfo[n].VLAN[m].IPAddress string IP address
FWInfo[n].VLAN[m].ClusterIPAddress string Cluster IP address (the same value as IPAddress isoutput for non-cluster)
FWInfo[n].VLAN[m].IPSubnetMask string IP subnet mask
FWInfo[n].VLAN[m].VLANType string VLAN type
NoteThe Tenant FW for which the logical NW is not connected are not displayed.
Response (JSON) when "BFW" is specified in the request
Key Data type Description
BFWInfo object[] Array of BFW information
BFWInfo[n].Name string VDOM name of BFW
BFWInfo[n].GroupName string Resource management group name (full path)
BFWInfo[n].VLAN object[] VLAN information
BFWInfo[n].VLAN[m].LogicalName string Logical NW name
BFWInfo[n].VLAN[m].IPAddress string IP address
BFWInfo[n].VLAN[m].ClusterIPAddress
string Cluster IP address (the same value as IPAddress isoutput for non-cluster)
BFWInfo[n].VLAN[m].IPSubnetMask string IP subnet mask
BFWInfo[n].VLAN[m].VLANType string VLAN type
Response (JSON) when "LB" is specified in the request
Key Data type Description
LBInfo object[] Array of LB information
LBInfo[n].Name string LB name
LBInfo[n].GroupName string Resource management group name (full path)
LBInfo[n].VLAN object[] VLAN information
LBInfo[n].VLAN[m].LogicalName string Logical NW name
LBInfo[n].VLAN[m].IPAddress string IP address
Chapter 3. Workflow API Specification
79
Key Data type Description
LBInfo[n].VLAN[m].ClusterIPAddress string Cluster IP address (the same value as IPAddress isoutput for non-cluster)
LBInfo[n].VLAN[m].IPSubnetMask string IP subnet mask
LBInfo[n].VLAN[m].VLANType string VLAN type
NoteThe Tenant LB for which the logical NW is not connected are not displayed.
Response (JSON) when "SSL" is specified in the request
Key Data type Description
SSLInfo object[] Array of SSL information
SSLInfo[n].Name string VDOM name of SSL
SSLInfo[n].GroupName string Resource management group name (full path)
SSLInfo[n].VLAN object[] VLAN information
SSLInfo[n].VLAN[m].LogicalName string Logical NW name
SSLInfo[n].VLAN[m].IPAddress string IP address
SSLInfo[n].VLAN[m].ClusterIPAddress
string Cluster IP address (the same value as IPAddress isoutput for non-cluster)
SSLInfo[n].VLAN[m].IPSubnetMask string IP subnet mask
SSLInfo[n].VLAN[m].SSLStartIP string Start IP of the IPNW address (IP address of IPPOOL)after SSL-VPN connection(Format example: 192.168.0.252)
SSLInfo[n].VLAN[m].SSLEndIP string End IP of the IPNW address (IP address of IPPOOL)after SSL-VPN connection(Format example: 192.168.0.253)
SSLInfo[n].VLAN[m].VLANType string VLAN type
Response (JSON) when "GROUP" is specified in the request
Key Data type Description
Groups object[] Array of SSL information
Groups[n].Name string Resource management group name (full path)
Groups[n].PodName string Name of the MoM to which it belongs
Groups[n].ResourcePoolsIdentifier string SSC resource pool identifier
Groups[n].ResourcePools string[] List of SSC resource pool names
Response (JSON) when "VLAN" is specified in the request
Key Data type Description
VLANInfo object[] Array of VLAN information
VLANInfo[n].LogicalName string Logical NW name
VLANInfo[n].Type string VLAN type
VLANInfo[n].GroupName string Name of the resource group to which it belongs (fullpath)
Chapter 3. Workflow API Specification
80
Key Data type Description
VLANInfo[n].ID number VLAN ID
VLANInfo[n].IPAddress string IP address
VLANInfo[n].IPSubnetMask string IP subnet mask
VLANInfo[n].ExtensionGroupName string[] Name of the extension resource management group
VLANInfo[n].Range object[] IP range object
VLANInfo[n].Range[m].Type string Resource type• "Allocation": IP address range assigned to the VM• "Exclusion": IP address range automatically
excluded from automatic assignment• "FW": IP address range set in the tenant FW• "LB": IP address range set in the tenant LB• "SSL": IP address range set in SSL
VLANInfo[n].Range[m].IPAddresses string[] IP address range
VLANInfo[n].Resource object[] Resource information
VLANInfo[n].Resource[m].Type string Resource type {"TFW","LB","SSL","BFW" }
VLANInfo[n].Resource[m].IPAddress string Resource IP address(multiple resource IP addressesare output only for cluster)
VLANInfo[n].Resource[m].ClusterIPAddress
string Cluster IP address (the same value as IPAddress isoutput for non-cluster)
VLANInfo[n].Resource[m].Name string Resource name
VLANInfo[n].Resource[m].SSLStartIP string Start IP of the IPNW address (IP address of IPPOOL)after SSL-VPN connection*1
(Format example: 192.168.0.252)
VLANInfo[n].Resource[m].SSLEndIP string End IP of the IPNW address (IP address of IPPOOL)after SSL-VPN connection*1
(Format example: 192.168.0.253)
*1 Only if VLANInfo[n].Resource[m].Type=SSL
NoteThe Tenant FW and LB for which the logical NW is not connected are not displayed.
• Execution example
Request
POST /umf/reserveddcresource/<TenantID>Content-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite :{ "keys": [ "LB", "TFW", "BFW", "SSL",
Chapter 3. Workflow API Specification
81
"VLAN", "GROUP" ]}
Response (when "TFW" is specified in the request)
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "FWInfo": [ { "GroupName": "ResourceGroupA/ManagementGroupA", "Name": "TFWS200", "VLAN": [ { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.254", "IPSubnetMask": "255.255.255.0", "LogicalName": "LogicalNW2428", "VLANType": "BusinessVLAN" } ] }, { "GroupName": "ResourceGroupA/ManagementGroupA", "Name": "TFWS201", "VLAN": [ { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.253", "IPSubnetMask": "255.255.255.0", "LogicalName": "LogicalNW2429", "VLANType": "BusinessVLAN" } ] } ]}
Response (when "LB" is specified in the request)
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "LBInfo": [ { "GroupName": "ResourceGroupA/ManagementGroupA", "Name": "LB200", "VLAN": [ { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.254", "IPSubnetMask": "255.255.255.0", "LogicalName": "LogicalNW2428", "VlanType": "BusinessVLAN" }
Chapter 3. Workflow API Specification
82
] }, { "GroupName": "ResourceGroupA/ManagementGroupA", "Name": "LB201", "VLAN": [ { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.253", "IPSubnetMask": "255.255.255.0", "LogicalName": "LogicalNW2429", "VlanType": "BusinessVLAN" } ] } ]}
Response (when "SSL" is specified in the request)
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "SSLInfo": [ { "GroupName": "ResourceGroupA/ManagementGroupA", "Name": "SSL200", "VLAN": [ { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.254", "IPSubnetMask": "255.255.255.0", "LogicalName": "LogicalNW2428", "SSLEndIP": "192.168.0.254", "SSLStartIP": "192.168.0.224", "VlanType": "TenantVLAN" } ] }, { "GroupName": "ResourceGroupA/ManagementGroupA", "Name": "SSL201", "VLAN": [ { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.253", "IPSubnetMask": "255.255.255.0", "LogicalName": "LogicalNW2429", "SSLEndIP": "192.168.0.254", "SSLStartIP": "192.168.0.224", "VlanType": "TenantVLAN" } ] } ]}
Response (when "GROUP" is specified in the request)
Chapter 3. Workflow API Specification
83
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "Groups": [ { "Name": "ResourceGroupA/ManagementGroupA", "PodName": "MoM1", "ResourcePools": [ "RP1", "RP2" ], "ResourcePoolsIdentifier": "(*mom1*)" } ]}
Response (when "VLAN" is specified in the request)
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "VLANInfo": [ { "ExtensionGroupName": [ "ResourceGroupA/ManagementGroupB" ], "GroupName": "ResourceGroupA/ManagementGroupA", "ID": 2345, "IPAddress": "192.168.0.254", "IPSubnetMask": "255.255.255.0", "LogicalName": "LogicalNW2345", "Range": [ { "IPAddresses": [ "100.72.0.1 - 100.72.0.223" ], "Type": "Allocation" }, { "IPAddresses": [ "172.25.10.10", "172.25.10.23" ], "Type": "Exclusion" }, { "IPAddresses": [ "100.78.0.249-100.78.0.253" ], "Type": "FW" }, { "IPAddresses": [ "100.78.1.249-100.78.1.253" ], "Type": "LB" },
Chapter 3. Workflow API Specification
84
{ "IPAddresses": [ "100.78.2.249-100.78.2.253" ], "Type": "SSL" } ], "Resource": [ { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.254", "Name": "TFW200", "Type": "TFW" }, { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.254", "Name": "LB200", "Type": "LB" }, { "ClusterIPAddress": "192.168.0.254", "IPAddress": "192.168.0.254", "Name": "SSL200", "SSLEndIP": "", "SSLStartIP": "", "Type": "SSL" } ], "Type": "BusinessVLAN" } ]}
3.51 Auto Selection Trial APIVAuto selection trial API tries resource pool auto selection processing performed during VM creationor VLAN creation. It allows the client to check the resources selected when VM creation is actuallyexecuted in advance.
The trial API can be used in the following operations.
• Tenant NW creation
• Tenant FW creation
• LB creation
• SSL creation
• VM creation
• HTTP method
POST
• URL
Chapter 3. Workflow API Specification
85
/umf/trial/workflow/ID/execute
• Parameters
Enter exactly the same parameters as in the operation to be tried.
• Response (HTTP status code)
Code Meaning Description
200 Accepted Succeeded.
• Response (JSON)
It returns resource management group names or resource pool names that can be selected in alist.
For auto selection trial of VM creation workflow
Key Data type Description
Candidates object List of candidates for selection (a list of resources thatcan be selected including the selected resources)
Candidates.ResourcePools object[] List of candidates of resource pools that can beselected
Candidates.ResourcePools[m].ManagementGroupName
string Resource management group name (full path)
Candidates.ResourcePools[m].ResourcePoolName
string Name of the resource pool on SSC (with MoMidentifier)
Candidates.ResourcePools[m].Rank number Indicates the rank within the candidates. The resourceranked first is selected in actual creation.*1
Candidates.ResourcePools[m].NotConformRule
string[] Some candidates may be selected even if part of therules are non-conforming. List of rules that areregarded non-conforming.
A resource with a rank lower than Rank1 may be selected as a result of internal processing.
For auto selection trial of network-related workflow
Key Data type Description
Candidates object List of candidates for selection (a list of resources thatcan be selected including the selected resources)
Candidates.ManagementGroups object[] List of candidates of resource pools that can beselected
Candidates.ManagementGroups[m].ManagementGroupName
string Resource management group name (full path)
Candidates.ManagementGroups[m].Rank
number Indicates the rank within the candidates. The resourceranked first is selected in actual creation.*1
Candidates.ManagementGroups[m].NotConformRule
string[] Some candidates may be selected even if part of therules are non-conforming. List of rules that areregarded non-conforming.
*1 A resource with a rank lower than Rank1 may be selected as a result of internal processing.
• Execution example
Chapter 3. Workflow API Specification
86
Request (for tenant NW creation)
GET /umf/autoselectionContent-Type: application/json; charset=utf-8X-UMF-API-Version: 2.1Date: Fri, 10 Apr 2015 11:25:35 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>{ "DeviceInfo" : { "Type" : null, "DeviceName" : null }, "VlanInfoList" : [ { "Type" : "ManagementVLAN", }, { "Type" : "TenantVLAN", } ], "GroupInfoList" : { "Name" : null }, "TenantID" : "TenantA", "DCResourceOperation" : "Create", "DCResourceType" : "TenantNW"}
Response
HTTP/1.1 202 AcceptedContent-Type: application/json; charset=utf-8{ "Candidates": { "ManagementGroups": [ { "ManagementGroupName": "GroupA/GroupB/ManagementA", "NotConformRule": [ "CPUResourceThresholdRule" ], "Rank": 1 }, { "ManagementGroupName": "GroupA/GroupB/ManagementB", "NotConformRule": [ "CPUResourceThresholdRule", "MemoryResourceThresholdRule" ], "Rank": 2 } ] }}
Chapter 3. Workflow API Specification
87
Chapter 4. Resource Management APISpecificationThis section describes the specification for the Resource Management APIs.
Contents4.1 Request Format ..........................................................................................................................89
4.2 Response Format........................................................................................................................89
4.3 End Point ...................................................................................................................................89
4.4 API List .....................................................................................................................................89
Chapter 4. Resource Management API Specification
88
4.1 Request Format4.1.1 HTTP Header
refer to the SSCWebAPI Reference
4.2 Response Formatrefer to the SSCWebAPI Reference
4.3 End PointUse the following format to specify the URL to which the request can be issued.
https://<SSC host name>:26105/api/
4.4 API ListThe following APIs are available:
For the parameter and the response, refer to the SSCWebAPI Reference
• Group Information API
• Host Information API
• Get Resource Pool List API
• Get Resource Pool Information API
• Create VM API
• Reconstruct VM API
• Delete VM API
• Create VM Snapshot API
• Apply VM Snapshot API
• Delete VM Snapshot API
• Operate Host Power API
• Get Job API
• Cancel Job API
• Get Host Performance Information API
Chapter 4. Resource Management API Specification
89
Chapter 5. Workflow execution APIThis chapter describes how to use the workflow execution API.
Contents5.1 Overview ...................................................................................................................................91
5.2 Execution method ......................................................................................................................91
5.3 Calling a Resource Management API from the Workflow..........................................................92
5.4 Execution example.....................................................................................................................93
5.5 Scenario List ..............................................................................................................................98
5.6 Special Scenarios .......................................................................................................................99
5.7 Simultaneous execution of special scenarios ............................................................................124
Chapter 5. Workflow execution API
90
5.1 OverviewMasterScope Virtual DataCenter Automation uses a function called workflow to achieve control ofassignment, reconfiguration, and deletion of ICT resources of NWs and VMs.
For the description of the workflow function, see 6.1 Setting a Workflow in Virtual DataCenterAutomation Configuration Guide.
MasterScope Virtual DataCenter Automation uses RESTful APIs to execute workflows to allow youto instruct assignment, reconfiguration, and deletion of ICT resources of NWs and VMs from theportal.
Figure 5-1 Workflow reference: * The figure shows the workflow for VM creation.
5.2 Execution methodTo execute a workflow, use "3.6 Execute Workflow API (page 11)".
Normally, standard workflows provided by MasterScope Virtual DataCenter Automation operatebased on variables called local objects defined in the workflow.
Example) In the VM creation workflow, specifications of OS and VM to be created are specified inlocal objects, and VMs are created based on the settings.
Chapter 5. Workflow execution API
91
These local objects can be set by specifying them as parameters (Json parameters) of "3.6 ExecuteWorkflow API (page 11)".
For Json specified in "3.6 Execute Workflow API (page 11)", String type Key and Value arespecified. For the Key name, specify the local object name to which you want to specify Value. ForValue, specify the value you want to specify for the local object.
In VM creation, etc., there may be an action that executes other RESTful APIs than the workflowexecution API within the workflow. In this case, refer to Calling the resource management systemAPI from the workflow in "5.3 Calling a Resource Management API from the Workflow (page 92)"and specify the Json string to Value of the workflow execution API.
5.3 Calling a Resource Management API from theWorkflow
A Resource Management API such as generating or deleting VM can be used by calling it from theworkflow. To call a Resource Management API, set in the Execute Workflow API parameter, theJSON request image (with the HTTP header) to be passed to the Resource Management API.
Chapter 5. Workflow execution API
92
The following HTTP headers will be required.
Field Value
Content-Type The value may be null. Automatically set in the workflow.
Host The value may be null. Automatically set in the workflow.
Date The value may be null. Automatically set in the workflow.
Authorization The value may be null. Automatically set in the workflow.
Connection The value may be null. Automatically set in the workflow.
Content-Length Specify the body length (bytes) with a number.
Image of the SSC request to be included in JSON
POST /api/jobs/createhost HTTP/1.1Content-Type: application/json;charset=utf-8Date:Authorization:Host:Content-Length: 1276Connection:
{"Group":"/ResellerB/TenantB/win", "HostName":"WINTESTA", "HostProfile":{ "Account":"Administrator", "DomainAccount":null, : :}
With the double quotes and line feeds encoded (sanitizing), store the above image in JSON.
Character string image resulting from encoding
"POST /api/jobs/createhost HTTP/1.1\nContent-Type: application/json;charset=utf-8\nDate:\nAuthorization:\nHost:\nContent-Length:1276\nConnection:\n\n{\"Group\":\"/ResellerB/TenantB/win\",\"HostName\":\"WINTESTA\",\"HostProfile\":{\"Account\":\"Administrator\",\"DomainAccount\":null,・・・}"
5.4 Execution exampleTo execute a workflow, use "3.6 Execute Workflow API (page 11)". Specify the scenario IDobtained in "3.12 Get Scenario ID List API (page 19)".
Chapter 5. Workflow execution API
93
5.4.1 VM creationThe local objects that need to be specified in the VM creation workflow are as follows.
Key Data type Description
CreateHostInfo string JSON-format character string required to use VMcreation API on SSC
TenantID string Tenant ID
OSType number OS type {1:Windows | 2:Linux }
AGHostName string Host name
HyperVisorType string Type of HyperVisor of VM template
To specify values to the local objects above, specify the following Json, and execute the workflowexecution API.
In this example, VM assignment is specified as follows.
• OS is Linux (specify 2 to "OSType")
• AGHostName is vm-extdisk5(set "AGHostName")
• HyperVisor is VMWare(set "HyperVisorType")
• TenantID is Test (set "TenantID")
First, create a Json corresponding to the VM creation API of SSC to be entered in CreateHostInfo.
SSC VM creation API request Json image (with line feeds)
* Json with line feeds is shown below. In actuality, create request parameters without line feed.
{ "ResourcePool" : "(*mom1*)RainPool", "MachineProfile" : { "CPU" : { "Share" : "normal", "Reservation" : 0, "Limit" : 0,
Chapter 5. Workflow execution API
94
"Count" : 1 }, "Memory" : { "Limit" : 0, "Share" : "normal", "Reservation" : 0, "Size" : 1024 }, "Disks" : [ { "RequestType" : "add", "DiskType" : "thin", "Type" : "systemdisk", "Size" : 10240 } ] }, "HostProfile" : { "Account" : "root", "DomainSuffix" : "localdomain", "MaxConnection" : 0, "Timezone" : "EB", "Password" : "P@ssw0rd" }, "NetworkProfiles" : [ { "LogicalNetwork" : "LogicalNW1", "NicNumber" : 1, "RequestType" : "add" } ], "Template" : "m_rhel64x64_diff_tmp", "HostName" : "vm-extdisk"}
Sanitize the Json above.
Also, create the CreateHostInfo item by adding the following HTTP header information required toexecute the VM creation API of SSC on the workflow.
• Method of the VM creation API (POST)
• URI of the VM creation API (/api/jobs/createhost)
• HTTP version (HTTP/1.1)
• Content type (Content-Type)
• Date header (Date)
• Authorization header (Authorization)
• Host header (Host)
• Content-Length header (Content-Length: Length before sanitizing)
• Connection header (Connection)
Also specify settings required for Virtual DataCenter Automation such as the OSType key in theJson.
Chapter 5. Workflow execution API
95
VM creation API request Json image (with line feeds)
* Json with line feeds is shown below. In actuality, create request parameters without line feed.
{ "CreateHostInfo" : "POST /api/jobs/createhost HTTP/1.1\n Content-Type:\nDate:\n Authorization:\n Host:\n Content-Length: 870\n Connection:\n \n {\"ResourcePool\":\"(*mom1*)RainPool\", \"VMName\":null,\ MachineProfile\: {\"CPU\": {\"Share\":\"normal\", \"Reservation\":0, \"Limit\":0, \"Count\":1}, \"Memory\": {\"Limit\":0, \"Share\":\"normal\", \"Reservation\":0, \"Size\":1024}, \"Disks\": [{\"DatastoreTags\":null, \"RequestType\":\"add\", \"DeviceSlot\":null, \"DiskType\":\"thin\", \"Type\":\"systemdisk\", \"Size\":10240}]}, \"HostProfile\": {\"Organization\":null, \"ProductKey\":null, \"Account\":\"root\", \"DomainSuffix\":\"localdomain\", \"DomainType\":null, \"NetworkName\":null, \"DomainAccount\":null, \"DomainPassword\":null, \"LicenseMode\":null, \"MaxConnection\":0, \"Owner\":null, \"Timezone\":\"EB\", \"Password\":\"P@ssw0rd\"}, \"NetworkProfiles\": [{\"LogicalNetwork\":\"LogicalNW1\", \"IPAddresses\":null, \"NicNumber\":1, \"RequestType\":\"add\", \"PrimaryDNS\":null, \"SecondaryDNS\":null, \"TertiaryDNS\":null, \"PrimaryWINS\":null, \"SecondaryWINS\":null}], \"Template\":\"m_rhel64x64_diff_tmp\", \"HostName\":\"vm-extdisk\",
Chapter 5. Workflow execution API
96
\"Group\":null} \n", "OSType" : "2", "AGHostName" : "vm-extdisk", "HyperVisorType" : "VMWare", "VMTemplateID" : "25288767438849", "TenantID" : "SSC32Test"}
Actual request image
PUT /workflow/40000001/executeContent-Type: application/json; charset=utf-8X-UMF-API-Version: 2.2.0.201501Date: Fri, 10 Apr 2015 08:12:31 GMTAuthorization: SharedKeyLite <AccessKeyId>:<Signature>
{ "CreateHostInfo" : "POST /api/jobs/createhost HTTP/1.1\nContent-Type:\nDate:\nAuthorization:\nHost:\nContent-Length: 984\nConnection:\n\n{\"Host\":null,\"HostName\":\"vm-extdisk\",\"Group\":null,\"HostProfile\":{\"Owner\":null,\"Timezone\":\"EB\",\"Password\":\"P@ssw0rd\",\"MaxConnection\":0,\"Organization\":null,\"ProductKey\":null,\"Account\":\"root\",\"DomainSuffix\":\"localdomain\",\"DomainType\":null,\"NetworkName\":null,\"DomainAccount\":null,\"DomainPassword\":null,\"LicenseMode\":null},\"MachineProfile\":{\"CPU\":{\"Count\":1,\"Share\":\"normal\",\"Reservation\":0,\"Limit\":0},\"Memory\":{\"Size\":1024,\"Share\":\"normal\",\"Limit\":0,\"Reservation\":0},\"Disks\":[{\"Type\":\"systemdisk\",\"Size\":10240,\"RequestType\":\"add\",\"DatastoreTags\":null,\"DiskType\":\"thin\",\"DeviceSlot\":null},{\"Type\":\"extendeddisk\",\"Size\":15360,\"RequestType\":\"add\",\"DatastoreTags\":null,\"DiskType\":\"thin\",\"DeviceSlot\":null}]},\"NetworkProfiles\":[{\"RequestType\":\"add\",\"LogicalNetwork\":\"LogicalNW1\",\"IPAddresses\":null,\"NicNumber\":1,\"PrimaryDNS\":null,\"SecondaryDNS\":null,\"TertiaryDNS\":null,\"PrimaryWINS\":null,\"SecondaryWINS\":null}],\"ResourcePool\":\"(*mom1*)RainPool\",\"Template\":\"m_rhel64x64_diff_tmp\",\"VMName\":null}\n", "OSType" : "2", "AGHostName" : "vm-extdisk5", "HyperVisorType" : "VMWare", "TenantID" : "Test"}
* CreateHostInfo stores Json images for executing the VM creation API of SSC. Therefore, a Jsonstring in the format according to Calling the resource management system API from the workflow in"3.6 Execute Workflow API (page 11)" is stored in Value of CreateHostInfo.
The VM creation workflow can now be executed.
Chapter 5. Workflow execution API
97
5.5 Scenario ListThe following scenarios are included in Virtual DataCenter Automation.
Scenario name Overview
Automation\Automatic\Network\CreateTenantFW Tenant FW creation
Automation\Automatic\Network\CreateTenantLB Tenant LB creation
Automation\Automatic\Network\CreateTenantNW Tenant NW creation
Automation\Automatic\Network\CreateVLAN VLAN creation
Automation\Automatic\Network\DeleteSSL-VPN SSL-VPN deletion
Automation\Automatic\Network\DeleteTenantFW Tenant FW deletion
Automation\Automatic\Network\DeleteTenantLB Tenant LB deletion
Automation\Automatic\Network\DeleteTenantNW Tenant NW deletion
Automation\Automatic\Network\DeleteVLAN VLAN deletion
Automation\Automatic\Network\SettingSSL-VPN SSL-VPN setting
Automation\Automatic\Network\UpdateTenantFW Tenant FW update
Automation\Automatic\Network\UpdateTenantLB Tenant LB update
Automation\Automatic\Physical\DeletePhysicalServer Physical server deletion
Automation\Automatic\Physical\ProvisionPhysicalServer Physical server addition
Automation\Automatic\Physical\ReconfigurePhysicalServer Physical serverreconfiguration
Automation\Automatic\VM\CreateVM VM creation
Automation\Automatic\VM\DeleteVM VM deletion
Automation\Automatic\VM\ReconfigureVM VM reconfiguration
Automation\Automatic\VMTemplate\CreateTemplate VM template creation
Automation\Automatic\VMTemplate\DeleteTemplate VM template deletion
Automation\Automatic\VMTemplate\GetTemplateList VM template listacquisition
Chapter 5. Workflow execution API
98
Scenario name Overview
Automation\Manual\VM\UpdatePerformanceCounter Performance monitoringinformation update
Automation\Manual\VMTemplate\RegisterTemplateByUser Manual VM templateregistration
5.6 Special ScenariosFor some operations, special processing is performed within the scenario execution API. As a result,some scenarios have request parameters that do not correspond to the local object. This sectiondescribes the special scenarios.
5.6.1 Tenant NW creationTenant NW creation creates a provider management LAN, tenant management LAN, and tenant FWfor the tenant. The provider management LAN is mainly used for communication between the VirtualDataCenter agent installed in the VM and GM/MoM.
The tenant management LAN is used by tenant administrators to access VMs via SSL.
• Scenario name CreateTenantNW
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify TenantNW
DCResourceOperation string No Specify Create
GroupInfoList object[] No
GroupInfoList[n].Name string No Full path of resource group name or DCresource management group name
VlanInfoList object[] No
VlanInfoList[n].Type string No The following parameters can be entered.• ManagementVLAN: Provider
management VLAN• TenantVLAN: Tenant management
VLAN
DeviceInfo object Yes
DeviceInfo.Type string No Only TFW can be specified. If omitted,TFW is not assigned.*1
DeviceInfo.DeviceName string Yes Specify when explicitly indicating the NWdevice name used for creation of theresource specified in Type.
TagInfo object[] Yes
TagInfo[n].ResourceTags object[] Yes
TagInfo[n].ResourceTags[m].Key string No Key Name
TagInfo[n].ResourceTags[m].Value string No Value
Chapter 5. Workflow execution API
99
Parameters Datatype
Omission
Description
TagInfo[n].ResourceTags[m].Type string Yes Specify the type to which the tag isapplied when selecting resource groupsautomatically. For the types that can bespecified, refer to "5.6.23 Tagspecification type (page 124)".The default value is "extend".
*1 For auto selection, the management group in which both BFW and tenant FW exist is selected.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during tenant NW creation are as follows.
resultdata.ManagementLogicalNWName Logical NW name of the provider management LAN
resultdata.ManagementVlanIPSubnet Subnet of the provider management LAN
resultdata.ManagementVlanSubnetMask Subnet mask of the provider management LAN
resultdata.ManagementVlanFwIpAddress Tenant FW side IP address of the providermanagement LAN
resultdata.ManagementVlanID VLAN-ID of the assigned provider managementVLAN
resultdata.TenantLogicalNWName Logical NW name of the tenant management LAN
resultdata.TenantVlanIPSubnet Subnet of the tenant management LAN
resultdata.TenantVlanSubnetMask Subnet mask of the tenant management LAN
resultdata.TenantVlanFwIpAddress Tenant FW side IP address of the tenant managementLAN
resultdata.TenantVlanID VLAN-ID of the assigned tenant management VLAN
resultdata.TenantFWInfo Name of the NW device that created the tenant FW
resultdata.TenantFWName Created logical tenant firewall name
resultdata.BackEndFWInfo Name of the NW device that created BackEndFW
resultdata.BackEndFWVirtualName VDOM name where backend firewall is assigned
resultdata.BackEndFWVirtualNode Unique name to identify VDOM where backendfirewall is assigned(format: network device name/VDOM name)
resultdata.ResourceGroupName Name of the resource management group to whichBFW was assigned
Chapter 5. Workflow execution API
100
5.6.2 Tenant NW deletionTenant NW deletion deletes a tenant NW.
• Scenario name DeleteTenantNW
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID*1
DCResourceType string No TenantNW
DCResourceOperation string No Delete
*1 You cannot delete the tenant which has Management VLAN or Tenant VLAN connected totenant FWs, tenant LBs, VMs or VM templates.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
5.6.3 Tenant FW creationTenant FW creation creates a tenant FW.
• Scenario name CreateTenantFW
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify TFW
DCResourceOperation string No Specify Create
GroupInfoList object[] Yes
GroupInfoList[n].Name string No Full path of resource group name or DCresource management group name
VlanInfoList object[] No
VlanInfoList[n].Type string No The following parameters can be entered.• BusinessVLAN: Business VLAN• PublicVLAN: Public VLAN
Chapter 5. Workflow execution API
101
Parameters Datatype
Omission
Description
• WANServiceVLAN: WAN*1*2
VlanInfoList[n].LogicalName string No Specify the NW device name used forcreation of the VLAN specified in Type.
DeviceInfo object No
DeviceInfo[n].Type string No Only TFW can be specified.
DeviceInfo[n].DeviceName string[] Yes Specify when explicitly indicating the NWdevice name used for creation of theresource specified in Type.*2
TagInfo object[] Yes
TagInfo[n].ResourceTags object[] Yes
TagInfo[n].ResourceTags[m].Key string No Key Name
TagInfo[n].ResourceTags[m].Value string No Value
TagInfo[n].ResourceTags[m].Type string Yes Specify the type to which the tag isapplied when selecting resource groupsautomatically. For the types that can bespecified, refer to "5.6.23 Tagspecification type (page 124)".The default value is "extend".
*1 The tenant management VLAN is automatically connected even if not specified.*2 You cannot assign multiple tenant FWs connected to the same logical network using the same
device.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during tenant FW creation are as follows.
resultdata.TenantFWInfo Name of the tenant FW device assigned
resultdata.LogicalNWName Logical NW names of all the VLANs*1
resultdata.VlanID VLAN ID of all the VLANs connected to tenantfirewall*1
resultdata.FwIpAddressList List of IP addresses of all the VLANs
resultdata.TenantFWName Name of the logical tenant FW assigned
Chapter 5. Workflow execution API
102
Key Description
resultdata.ResourceGroupName Name of the resource management group to which theresource was assigned
resultdata.FWFIPAddressList List of IP addresses set in the tenant.IP address set for the device for non-clusterconfiguration.Floating IP address set for the cluster for clusterconfiguration.
*1 The IP addresses of the logical NW names are also displayed in the same order as in the logicalNW names displayed in LogicalNWName. Tenant administration VLAN information is alsoincluded.
5.6.4 Tenant FW updateTenant FW update connects and disconnects the specified VLAN for assigned tenant FW.
• Scenario name UpdateTenantFW
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify TFW
DCResourceOperation string No Specify Update
VlanInfoList object[] No
VlanInfoList[n].Type string No The following parameters can be entered.• BusinessVLAN: Business VLAN• PublicVLAN: Public VLAN• WANServiceVLAN: WAN
*1
VlanInfoList[n].LogicalName string No Specify the NW device name used forcreation of the LAN specified in Type.
VlanInfoList[n].ConnectDevice string Yes The following parameters can be entered.• connect: Connects to TFW.• disconnect: Do not connect to TFW.
When omitted: If the logical NW namespecified in VlanInfoList.LogicalNamehas been connected, disconnect is selected.If the logical NW name specified inVlanInfoList.LogicalName has not beenconnected, connect is selected.
DeviceInfo object No
DeviceInfo.Type string No Only TFW can be specified.
DeviceInfo.DeviceName string[] No Name of the logical tenant FW to beconnected/disconnected for the specifiedVLAN*1
Chapter 5. Workflow execution API
103
*1 You cannot assign multiple tenant FWs connected to the same logical network using the samedevice.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during tenant FW update are as follows.
resultdata.TenantFWInfo Name of the tenant FW device assigned
resultdata.ResourceGroupName Resource management group name where resource isassigned
resultdata.LogicalNWName Logical network names of all VLANs connected totenant firewall
resultdata.VlanID VLAN ID of all VLANs connected to tenant firewall
resultdata.FwIpAddressList List of IP addresses of all VLANs connected to tenantfirewall*1
resultdata.FWFIPAddressList List of IP addresses connected to tenant firewall.IP address set for the device for non-clusterconfiguration.Floating IP address set for the cluster for clusterconfiguration.
resultdata.LogicalNWName_Del Logical network names of all VLANs disconnectedfrom tenant firewall
resultdata.VlanID_Del VLAN ID of all VLANs disconnected from tenantfirewall
resultdata.TenantFWName Name of the logical tenant FW assigned
*1 IP addresses for each logical NW are displayed as the same order as the logical NW displayed at"LogicalNWName".
5.6.5 Tenant FW deletionTenant FW deletion deletes a tenant FW.
• Scenario name DeleteTenantFW
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
Chapter 5. Workflow execution API
104
Parameters Datatype
Omission
Description
DCResourceType string No Specify TFW
DCResourceOperation string No Specify Delete
DeviceInfo string No
DeviceInfo[n].Type string No Specify TFW
DeviceInfo[n].DeviceName string No Name of the logical tenant FW to bedeleted
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
5.6.6 Tenant LB creationTenant LB creation creates a tenant LB.
• Scenario name CreateTenantLB
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify LB
DCResourceOperation string No Specify Create
GroupInfoList object[] Yes
GroupInfoList[n].Name string No Full path of resource group name or DCresource management group name
VlanInfoList object[] No
VlanInfoList[n].Type string No The following parameters can be entered.• BusinessVLAN: Business VLAN
*1*2
VlanInfoList[n].LogicalName string No Specify the NW device name used forcreation of the VLAN specified in Type.
DeviceInfo object No
DeviceInfo.Type string No The following parameters can be entered.• LB: When LB is a single device
Chapter 5. Workflow execution API
105
Parameters Datatype
Omission
Description
• ClusterG: When LB is in clusterconfiguration
*1*2
DeviceInfo.DeviceName string Yes Specify when explicitly indicating the NWdevice name used for creation of theresource specified in Type.*2
TagInfo object[] Yes
TagInfo[n].ResourceTags object[] Yes
TagInfo[n].ResourceTags[m].Key string No Key Name
TagInfo[n].ResourceTags[m].Value string No Value
TagInfo[n].ResourceTags[m].Type string Yes Specify the type to which the tag isapplied when selecting resource groupsautomatically. For the types that can bespecified, refer to "5.6.23 Tagspecification type (page 124)".The default value is "extend".
*1 The tenant management VLAN is automatically connected even if not specified.*2 You cannot assign multiple tenant FWs connected to the same logical network using the same
device.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during tenant LB creation are as follows.
resultdata.TenantLBInfo Name of the logical tenant LB assigned
resultdata.LogicalNWName Logical NW names of all the VLANs*1
resultdata.VlanID VLAN ID of all the VLANs connected to tenant loadbalancer*1
resultdata.LbIpAddressList List of IP addresses of all the VLANs
resultdata.TenantLBDeviceName Name of the tenant LB device assigned
resultdata.TenantLBClusterGroupName Name of the cluster group of the assigned tenant LB.Empty if no cluster group has been created.
resultdata.ResourceGroupName Name of the resource management group to which theresource was assigned.
Chapter 5. Workflow execution API
106
Key Description
resultdata.LbFIPAddressList List of IP addresses set in the tenant.IP address set for the device for non-clusterconfiguration.Floating IP address set for the cluster for clusterconfiguration.
*1 The IP addresses of the logical NW names are also displayed in the same order as in the logicalNW names displayed in LogicalNWName. Tenant administration VLAN information is alsoincluded.
5.6.7 Tenant LB updateTenant LB update connects and disconnects the specified VLAN for assigned tenant LB.
• Scenario name UpdateTenantLB
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify LB
DCResourceOperation string No Specify Update
VlanInfoList object[] No
VlanInfoList[n].Type string No The following parameters can be entered.• BusinessVLAN: Business VLAN
*1
VlanInfoList[n].LogicalName string No Specify the NW device name used forcreation of the LAN specified in Type.
VlanInfoList[n].ConnectDevice string Yes The following parameters can be entered.• connect: Connects to LB.• disconnect: Do not connect to LB.
When omitted: If the logical NW namespecified in VlanInfoList.LogicalNamehas been connected, disconnect is selected.If the logical NW name specified inVlanInfoList.LogicalName has not beenconnected, connect is selected.
DeviceInfo object No
DeviceInfo[n].Type string No Only LB can be specified.
DeviceInfo[n].DeviceName string Yes Name of the logical tenant LB to beconnected/disconnected for the specifiedVLAN*1
*1 You cannot assign multiple tenant LBs connected to the same logical network using the samedevice.
• Response
Chapter 5. Workflow execution API
107
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during tenant LB update are as follows.
resultdata.TenantLBInfo Name of the assigned logical tenant load balancer
resultdata.TenantLBDeviceName Device name of the assigned tenant load balancer
resultdata.ResourceGroupName Resource management group name where resource isassigned
resultdata.LogicalNWName Logical network names of all VLANs connected totenant load balancer
resultdata.VlanID VLAN ID of all the VLANs connected to tenant loadbalancer
resultdata.LbIpAddressList List of IP addresses of all VLANs connected*1
resultdata.LbFIPAddressList List of IP addresses connected to tenant load balancerIP address set for the device for non-clusterconfiguration.Floating IP address set for the cluster for clusterconfiguration.
resultdata.LogicalNWName_Del Logical network names of all VLANs disconnectedfrom tenant load balancer
resultdata.VlanID_Del VLAN ID of all the VLANs disconnected from tenantload balancer
*1 IP addresses for each logical NW are displayed as the same order as the logical NW displayed at"LogicalNWName".
5.6.8 Tenant LB deletionTenant LB deletion deletes a tenant LB.
• Scenario name DeleteTenantLB
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify LB
DCResourceOperation string No Specify Delete
DeviceInfo object No
Chapter 5. Workflow execution API
108
Parameters Datatype
Omission
Description
DeviceInfo.Type string No Specify LB
DeviceInfo.DeviceName string No Name of the logical tenant LB to bedeleted
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
5.6.9 SSL creationSpecifying SSL-VPN.
• Scenario name SettingSSL-VPN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify SSL
DCResourceOperation string No Specify Create
GroupInfoList object[] Yes
GroupInfoList[n].Name string No Full path of resource group name or DCresource management group name.Management group determined duringtenant NW creation when it is omitted.*1
DeviceInfo object No
DeviceInfo.Type string No Specify SSL
LocalID string Yes Account used when configuring localauthentication
LocalPW string Yes Password used when configuring localauthentication. Store a Base64-encodedcharacter string.
TagInfo object[] Yes
TagInfo[n].ResourceTags object[] Yes
TagInfo[n].ResourceTags[m].Key string No Key Name
TagInfo[n].ResourceTags[m].Value string No Value
Chapter 5. Workflow execution API
109
Parameters Datatype
Omission
Description
TagInfo[n].ResourceTags[m].Type string Yes Specify the type to which the tag isapplied when selecting resource groupsautomatically. For the types that can bespecified, "5.6.23 Tag specification type(page 124)".The default value is "extend".
*1 To use SSL-VPN, a tenant FW must exist in the same management group as SSL-VPN. Whencreating SSL-VPN, assign a tenant FW, or specify the assigned resource group/managementgroup. For the resource groups/management groups in which tenant FWs are created, seeresultdata.ResourceGroupName in the "5.6.3 Tenant FW creation (page 101)".
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during SSL creation are as follows.
resultdata.SSLVPNInfo IP address specified for SSL
resultdata.SSLVPNDevName Created SSL-VPN device name
resultdata.SSLVPNVirtualName Name of VDOM for SSL-VPN
resultdata.SSLVPNVirtualNode Name that uniquely identifies SSL-VPNVDOM(format: network device name/VDOM name)
resultdata.SSLVPNName Name that uniquely identifies SSL (format:management group name/device name/VDOM name)
resultdata.SSLVPNAccessInfo IP address for accessing the created SSL
resultdata.ResourceGroupName Name of the resource management group to which theresource was assigned
resultdata.TenantVlanID VLAN ID of created tenant management VLAN
5.6.10 SSL deletionDeleting the SSL-VPN settings
• Scenario name DeleteSSL-VPN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
Chapter 5. Workflow execution API
110
Parameters Datatype
Omission
Description
DCResourceType string No Specify SSL
DCResourceOperation string No Specify Delete
DeviceInfo object No
DeviceInfo.Type string No Specify SSL
DeviceInfo.DeviceName string Yes Name that uniquely identifies SSLCannot be omitted if TenantID usesmultiple SSLs
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
5.6.11 Business VLAN creationBusiness VLAN creation creates a production VLAN that the tenant uses.
• Scenario name CreateVLAN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify VLAN
DCResourceOperation string No Specify Create
VlanInfo object No
VlanInfo.Type string No Specify BusinessVLAN
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
Chapter 5. Workflow execution API
111
Key Description
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during VLAN creation are as follows.
resultdata.LogicalNWName Logical NW name
resultdata.VlanIPSubnet IP subnet of the VLAN
resultdata.VlanSubnetMask Subnet mask of the VLAN
resultdata.ResourceGroupName Name of the resource management group to which theresource was assigned
resultdata.VlanID VLAN ID of created VLAN
5.6.12 Business VLAN deletionBusiness VLAN deletion deletes a production VLAN that the tenant uses.
• Scenario name DeleteVLAN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify VLAN
DCResourceOperation string No Specify Delete
VlanInfo object No
VlanInfo.Type string No Specify BusinessVLAN
VlanInfo.LogicalName string No Name of the logical NW in which theLAN to be deleted is set*1
*1 You cannot delete the logical NWs connected to tenant FWs, tenant LBs, VMs or VM templates.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
5.6.13 Public VLAN creationPublic VLAN creation creates a public VLAN that the tenant uses.
Chapter 5. Workflow execution API
112
• Scenario name CreateVLAN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify VLAN
DCResourceOperation string No Specify Create
VlanInfo object No
VlanInfo.Type string No Specify PublicVLAN
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during VLAN creation are as follows.
resultdata.LogicalNWName Logical NW name
resultdata.VlanIPSubnet IP subnet of the VLAN
resultdata.VlanSubnetMask Subnet mask of the VLAN
resultdata.ResourceGroupName Name of the resource management group to which theresource was assigned
resultdata.VlanID VLAN ID of created VLAN
5.6.14 Public VLAN deletionPublic VLAN deletion deletes a public VLAN that the tenant uses.
• Scenario name DeleteVLAN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No VSpecify VLAN
DCResourceOperation string No Specify Delete
VlanInfo object No
VlanInfo.Type string No Specify PublicVLAN
VlanInfo.LogicalName string No Name of the logical NW in which theLAN to be deleted is set*1
Chapter 5. Workflow execution API
113
*1 You cannot delete the logical NWs connected to tenant FWs
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
5.6.15 WAN creationWAN creation creates a WAN that the tenant uses.
One WAN is created for one tenant.
• Scenario name CreateVLAN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify VLAN
DCResourceOperation string No Specify Create
VlanInfo object No
VlanInfo.Type string No Specify WANServiceVLAN
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow. Major parametersreturned during VLAN creation are as follows.
resultdata.LogicalNWName Logical NW name
resultdata.VlanIPSubnet IP subnet of the VLAN
Chapter 5. Workflow execution API
114
Key Description
resultdata.VlanSubnetMask Subnet mask of the VLAN
resultdata.ResourceGroupName Name of the resource management group to which theresource was assigned
resultdata.VlanID VLAN ID of created VLAN
5.6.16 WAN deletionWAN deletion deletes a WAN that the tenant uses.
• Scenario name DeleteVLAN
• Parameters
Parameters Datatype
Omission
Description
TenantID string No Tenant ID
DCResourceType string No Specify VLAN
DCResourceOperation string No Specify Delete
VlanInfo object No
VlanInfo.Type string No Specify WANServiceVLAN
VlanInfo.LogicalName string No Name of the logical NW in which theLAN to be deleted is set*1
*1 You cannot delete the logical NWs connected to tenant FWs.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
5.6.17 VM creationVM creation creates a VM that the tenant uses.
• Scenario name CreateVM
• Parameters
Chapter 5. Workflow execution API
115
Parameters Datatype
Omission
Description
CreateHostInfo string No HTTP header and JSON-format characterstring required for using VM creation APIon SSC (POST /api/jobs/createhost)For the format, refer to "5.3 Calling aResource Management API from theWorkflow (page 92)".For each parameter of JSON, refer to SSCAPI Reference.
LogicalAssetIDList string Yes List of logical asset numbers (tabdelimited)
LogicalAssetIndexList string Yes List of logical asset index numbers
DistributionNameList object Yes List of names of distributed packagesregistered to AssetSuite in advance (tabdelimited)
DistributionVerList string Yes List of versions of distributed packagesregistered to AssetSuite in advance
AGHostName string No Host name• Windows: Up to 15 characters• Linux: Up to 26 characters
Specify the same host name as specified inthe JSON of the CreateHostInfoparameter.
ResourceGroups string[] Yes Specify the resource group names to beselected. The resource management groupsunder all the sub resource groups under thespecified resource group are to be selected.When this parameter is specified, theparameters specified forManagementGroups and ResourcePool ofCreateHostInfo are ignored. Specify theresource groups to be selected with the fullpath from the root resource group. Ifmultiple resource groups overlap, thedefault rules are applied.
ManagementGroups string[] Yes Specify the resource management groupnames to be selected. The resource poolsof the specified resource managementgroup are to be selected. When thisparameter is specified, the parametersspecified for ResourcePool ofCreateHostInfo are ignored. Theparameters specified for TagInfo are alsoignored, and all the specified managementgroups are to be selected.
TenantID string No Specify the tenant ID.
SpecifiedResourceType string Yes Specify the resource type specified forResourcePool (JSON key of theCreateHostInfo parameter). If it is notspecified or a string other than those thatcan be specified is specified, it isautomatically detected as resource pool onSSC, resource group, or resource
Chapter 5. Workflow execution API
116
Parameters Datatype
Omission
Description
management group. Resource groups mustbe specified because no automaticdetection is performed.The following parameters can bespecified.• ResourceGroup: Resource group• ManagementGroup: Resource
management group• ResourcePool: Resource pool
TagInfo object[] Yes
TagInfo[n].ResourceTags object[] Yes
TagInfo[n].ResourceTags[m].Key string No Key Name
TagInfo[n].ResourceTags[m].Value string No Value
TagInfo[n].ResourceTags[m].Type string Yes Specify the type to which the tag isapplied when selecting resource groupsautomatically. For the types that can bespecified, refer to "5.6.23 Tagspecification type (page 124)".The default value is "extend".
HyperVisorType string No Hypervisor type of the specified template.• VMware• Hyper-V• KVM
OSType string No • 1: Windows• 2: Linux
VMTemplateID string Yes When both the VM template ID and VMtemplate name are specified, the value ofVM template ID has precedence. Whenboth are omitted, the VM is created as anenvironment where the VM template is notshared.
VMTemplateName string Yes VM template name.When both the VM template ID and VMtemplate name are specified, the value ofVM template ID has precedence. Whenboth are omitted, the VM is created as anenvironment where the VM template is notshared.
VMImageName string Yes VM image name.
MoveAsset string Yes Specify whether to create the tenant IDgroup in the asset management tree andmove the assets of the created VM to thatgroup. When not moving assets, thecreated VM is registered in the"undefined" group.• 0: Do not move assets. (Default)• 1: Move assets.
Chapter 5. Workflow execution API
117
Parameters Datatype
Omission
Description
SpecifiedManager string Yes When connecting the VM agent to aspecific VM monitoring server, specify thename of that VM monitoring server. Whenconnecting the VM agent to themanagement server, specify"SELFMANAGER".
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
resultdata.UUID UUID of VM to be created
resultdata.HostPath Host Path registerd SSC
resultdata.CreateVMErrCode HTTP Status Code of VM creation
resultdata.ImportVMErrCode The error code when VM imoprting• 0: No errors• 1: Failed VM Import
resultdata.GroupPath The group name of created VM
resultdata.ResourceGroupName The resource group name of created VM
5.6.18 VM reconfigurationVM reconfiguration reconfigures a VM that the tenant uses.
• Scenario name ReconfigureVM
• Parameters
Parameters Datatype
Omission
Description
ReConfigureHostInfo string No HTTP header and JSON-format characterstring required for using VMreconfiguration API on SSC (POST /api/jobs/reconfigurehost)For the format, refer to "5.3 Calling aResource Management API from theWorkflow (page 92)".For each parameter of JSON, refer to SSCAPI Reference.*1
Chapter 5. Workflow execution API
118
Parameters Datatype
Omission
Description
LogicalAssetIDList string YEs List of logical asset numbers (tabdelimited)
LogicalAssetIndexList string YEs List of logical asset index numbers
DistributionNameList object YEs List of names of distributed packagesregistered to AssetSuite in advance (tabdelimited)
DistributionVerList string YEs List of versions of distributed packagesregistered to AssetSuite in advance
AGHostName string No Host name• Windows: Up to 15 characters• Linux: Up to 26 characters
UUID string No UUID of VM to be reconfigured
TenantID string No Specify the tenant ID.
ShutdownOnReconfigureVM string Yes Specify whether to stop VMs whenreconfiguring them.• 0: Do not stop the VM. (Default)• 1: Stop the VM.
To stop VMs when changing theconfiguration, specify "1: Stop the VM".
*1 NetworkProfiles[n].IPAddresses[n] is indispensable.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
resultdata.ReConfigureVMErrCode HTTP Status Code of VM reconfiguration
5.6.19 VM deletionVM deletion deletes a VM that the tenant uses.
• Scenario name DeleteVM
• Parameters
Chapter 5. Workflow execution API
119
Parameters Datatype
Omission
Description
DeleteHostInfo string No HTTP header and JSON-format characterstring required for using VM deletion APIon SSC (POST /api/jobs/deletehost)For the format, refer to "5.3 Calling aResource Management API from theWorkflow (page 92)".For each parameter of JSON, refer to SSCAPI Reference.
AGHostName string No Host name• Windows: Up to 15 characters• Linux: Up to 26 characters
UUID string No UUID of VM to be deleted
TenantID string No Specify the tenant ID.
MoveAsset string Yes Specify whether to delete the tenant IDgroup when the tenant ID group is createdin the asset management tree and theassets are removed from that group asVMs are deleted.• 0: Do not delete the asset group.
(Default)• 1: Delete the asset group.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
resultdata.DeleteVMErrCode HTTP Status Code of VM deletion
5.6.20 Physical server assignmentAllocating a physical server, specifying the static route, linking the license key, and distributing thesoftware.
• Scenario name ProvisionPhysicalServer
• Parameters
Chapter 5. Workflow execution API
120
Parameters Datatype
Omission
Description
CreateHostInfo string No JSON-format character string required touse VM creation API of SSC (POST/api/jobs/createhost)For the format, refer to "5.3 Calling aResource Management API from theWorkflow (page 92)".For each parameter of JSON, refer to SSCAPI Reference.*1
LogicalAssetIDList string Yes List of logical asset numbers (tabdelimited)
LogicalAssetIndexList string Yes List of logical asset index numbers
DistributionNameList object Yes List of names of distributed packagesregistered to AssetSuite in advance (tabdelimited)
DistributionVerList string Yes List of versions of distributed packagesregistered to AssetSuite in advance
AGHostName string No Host name• Windows: Up to 15 characters• Linux: Up to 26 characters
Specify the same host name as specified inthe JSON of the CreateHostInfoparameter.
ProvisionPhysicalServerReq string No Value is empty.
TenantID string No Specify the tenant ID.
OSType string No • 1: Windows• 2: Linux
MoveAsset string Yes Specify whether to create the tenant IDgroup in the asset management tree andmove the assets of the assigned physicalserver to that group. When not movingassets, the assigned physical server isregistered in the "undefined" group.• 0: Do not move assets. (Default)• 1: Move assets.
SpecifiedManager string Yes When connecting the physical server agentto a specific VM monitoring server,specify the name of that VM monitoringserver. When connecting the physicalserver agent to the management server,specify "SELFMANAGER".
*1 ResourcePoolName is indispensable. Specify ResourcePoolName in the following format.[Management Group Name]/[Cluster Group Name]
• Response
Chapter 5. Workflow execution API
121
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
resultdata.UUID UUID of physical server to be created
resultdata.CreateVMErrCode HTTP Status Code of Physical server assignment
5.6.21 Physical server reconfigurationReconfiguring the physical server, linking the license key, distributing the software, and updating theperformance monitoring settings.
• Scenario name ReconfigurePhysicalServer
• Parameters
Parameters Datatype
Omission
Description
ReConfigureHostInfo string No JSON-format character string required touse VM reconfiguration API of SSC(POST /api/jobs/reconfigurehost)For the format, refer to "5.3 Calling aResource Management API from theWorkflow (page 92)".For each parameter of JSON, refer to SSCAPI Reference.*1*2
ReconfigurePhysicalServerReq string No Value is empty.
LogicalAssetIDList string List of logical asset numbers (tabdelimited)
LogicalAssetIndexList string List of logical asset index numbers
DistributionNameList object List of names of distributed packagesregistered to AssetSuite in advance (tabdelimited)
DistributionVerList string List of versions of distributed packagesregistered to AssetSuite in advance
AGHostName string No Host name• Windows: Up to 15 characters• Linux: Up to 26 characters
UUID string No UUID of Physical server to bereconfigured
TenantID string No Specify the tenant ID.
Chapter 5. Workflow execution API
122
*1 NetworkProfiles[n].IPAddresses[n] is indispensable.*2 Only the reconfiguration of logical NW is workable. You cannot add or delete NICs.
• Response
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
resultdata.ReConfigureVMErrCode HTTP Status Code of Physical server reconfiguration
5.6.22 Physical server deletionDeleting the physical server. Deleting performance information and configuration information.
• Scenario name DeletePhysicalServer
• Parameters
Parameters Datatype
Omission
Description
DeleteHostInfo string No JSON-format character string required touse VM deletion API of SSC (POST /api/jobs/deletehost)For the format, refer to "5.3 Calling aResource Management API from theWorkflow (page 92)".For each parameter of JSON, refer to SSCAPI Reference.
AGHostName string No Host name• Windows: Up to 15 characters• Linux: Up to 26 characters
UUID string No UUID of Physical server to be deleted
TenantID string No Specify the tenant ID.
DeletePhysicalServerReq string No Value is empty.
MoveAsset string Yes Specify whether to delete the tenant IDgroup when the tenant ID group is createdin the asset management tree and theassets are removed from that group asphysical servers are deleted.• 0: Do not delete the asset group.
(Default)• 1: Delete the asset group.
• Response
Chapter 5. Workflow execution API
123
Key Description
progress Stores a value from 0 to 100 indicating progress.
status Returns any one of the following values:• "NOTFOUND" Not executed• "RUNNING" Running• "SUCCEED" Normal end• "FAILED" Abnormal end
resultdata Data returned from the workflow. The local objectname and value pair in the workflow are set. Thelocal object name actually set depends on thespecifications of the workflow.
resultdata.DeleteVMErrCode HTTP Status Code of Physical server deletion
5.6.23 Tag specification typeThe types that can be specified for a tag are as follows.
• Parameters
Parameters Description
pinpoint Selects resource groups that have a tag that matches perfectly.
pinpoint.reg Selects resource groups that have a tag that matches the regular expression.
extend Resource group that inherits the tag of the parent resource group and matches
extend.reg Resource group that inherits the tag of the parent resource group and matches theregular expression
max Selects resource groups that have a tag with a number less than or equal to the specifiednumber.
min Selects resource groups that have a tag with a number greater than or equal to thespecified number.
near Selects resource groups in the order of proximity to the specified number as an absolutevalue.As in pinpoint, the number specified for the group is effective.
far Selects resource groups in the order of distance from the specified number as anabsolute value.As in pinpoint, the number specified for the group is effective.
5.7 Simultaneous execution of special scenariosThis section describes the simultaneous execution of special scenarios.
Even if an item is indicated as √, execution is not possible if the target resource is the same.(Deletion, etc., of a VLAN during creation)
√: Simultaneous execution possible, no mark: Simultaneous execution not possible, -:Logicallyimpossible combination
Chapter 5. Workflow execution API
124
secondary->
primary
CreateTenantNW
DeleteTenantNW
CreateVLAN DeleteVLAN SettingSSL-VPN
DeleteSSL-VPN
CreateTenantNW
- - - -
DeleteTenantNW
- -
CreateVLAN - √ √ √ √
DeleteVLAN - √ √ √ √
SettingSSL-VPN
- √ √ √ √
DeleteSSL-VPN
- √ √ √ √
CreateTenantFW
- √ √ √ √
UpdateTenantFW
- √ √ √ √
DeleteTenantFW
- √ √ √ √
CreateTenantLB
- √ √ √ √
UpdateTenantLB
- √ √ √ √
DeleteTenantLB
- √ √ √ √
CreateVM - √ √ √ √
ReconfigureVM
- √ √ √ √
DeleteVM - √ √ √ √
ProvisionPhysicalServer
-
ReconfigurePhysicalServer
-
DeletePhysicalServer
-
secondary->
primary
CreateTenantFW
UpdateTenantFW
DeleteTenantFW
CreateTenantLB
UpdateTenantLB
DeleteTenantLB
CreateTenantNW
- - - -
DeleteTenantNW
CreateVLAN √ √ √ √ √ √
DeleteVLAN √ √ √ √ √ √
Chapter 5. Workflow execution API
125
secondary->
primary
CreateTenantFW
UpdateTenantFW
DeleteTenantFW
CreateTenantLB
UpdateTenantLB
DeleteTenantLB
SettingSSL-VPN
√ √ √ √ √ √
DeleteSSL-VPN
√ √ √ √ √ √
CreateTenantFW
√ √ √ √ √ √
UpdateTenantFW
√ √ √ √ √ √
DeleteTenantFW
√ √ √ √ √ √
CreateTenantLB
√ √ √ √ √ √
UpdateTenantLB
√ √ √ √ √ √
DeleteTenantLB
√ √ √ √ √ √
CreateVM √ √ √ √ √ √
ReconfigureVM
√ √ √ √ √ √
DeleteVM √ √ √ √ √ √
ProvisionPhysicalServer
ReconfigurePhysicalServer
DeletePhysicalServer
secondary->
primary→
CreateVM ReconfigureVM
DeleteVM ProvisionPhysicalServer
ReconfigurePhysicalSer
ver
DeletePhysicalServer
CreateTenantNW
- - - -
DeleteTenantNW
CreateVLAN √ √ √
DeleteVLAN √ √ √
SettingSSL-VPN
√ √ √
DeleteSSL-VPN
√ √ √
CreateTenantFW
√ √ √
UpdateTenantFW
√ √ √
Chapter 5. Workflow execution API
126
secondary->
primary→
CreateVM ReconfigureVM
DeleteVM ProvisionPhysicalServer
ReconfigurePhysicalSer
ver
DeletePhysicalServer
DeleteTenantFW
√ √ √
CreateTenantLB
√ √ √
UpdateTenantLB
√ √ √
DeleteTenantLB
√ √ √
CreateVM √ √ √
ReconfigureVM
√ √ √
DeleteVM √ √ √
ProvisionPhysicalServer
ReconfigurePhysicalServer
DeletePhysicalServer
If multiple scenarios are waiting for preceding scenario, the scenario which is executed after the precedingscenario is finished may not be executed in requested order.So if you want to execute all the scenarios sequentially, you must confirm that the preceding scenario iscompleted before requesting the next one.
Chapter 5. Workflow execution API
127
Appendix A. Revision History• First edition (Apr. 2018):
Appendix A. Revision History
128
Appendix B. License InformationThis product partially includes open-source software. For details of the licensing conditions of thesoftware, please refer to the following files included. The source code is released based on LGPL.Please make inquiries if replication, alteration, or distribution of the open-source software is desired.
<Install DVD>:\oss_license• PXE Software Copyright (C) 1997 - 2000 Intel Corporation.
• This product includes JRE (Java Runtime Environment) distributed by Oracle Corporation. Youmust agree to the licensing conditions for use. For details of the copyright or property, refer tothe following LICENSE files. Folder in which JRE is installed\LICENSE
• Some icons used in this program are based on Silk Icons released by Mark James under aCreative Commons Attribution 2.5 License. Visit http://www.famfamfam.com/lab/icons/silk/ formore details.
• This product includes software developed by Routrek Networks, Inc.
Appendix B. License Information
129
Appendix C. Configuration filesThe output key differs depending on X-SSC-API-Version in the case of the SSC-type API. Withrespect to the Resource Pool Detail Acquisition API, X-SSC-API-Version can be changed in the filesetting described below: The configuration example is described below.
Configuration file:
<Install folder>/Manager/sg/iSscCODC/SSCCollectInfoMgr.ini
Set a value for the "SscApiVersion" key in the [SSCCollect] section of the configuration filedescribed above.
Setting example:
[SSCCollect]SscApiVersion=2014-12-25
NoteThe output key of Resource Pool Detail Acquisition API differs for every management server in the case ofa configuration where multiple management servers with different versions are managed according to theconfiguration file described above.
Appendix C. Configuration files
130
MasterScope Virtual DataCenter Automation v5.0API Reference
April, 2018 1st Edition
NEC Corporation
©NEC Corporation 2012-2018