Oracle? Communications Application
Orchestrator
REST API Guide
Release 1.1
August 2016
Notices
Copyright? 2016, 2016, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use
and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license
agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit,
distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering,
disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you
find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any
programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are
"commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific
supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs,
including any operating system, integrated software, any programs installed on the hardware, and/or
documentation, shall be subject to license terms and license restrictions applicable to the programs. No other
rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is
not developed or intended for use in any inherently dangerous applications, including applications that may
create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be
responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use.
Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or
hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their
respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the
AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices.
UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and
services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an
applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for
any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services,
except as set forth in an applicable agreement between you and Oracle.
Contents
About This Guide...........................................................................................................................................7
Revision History....................................................................................................................................................8
1 Application Orchestrator REST API Overview...................................9
Application Orchestrator REST API Resource Tree...........................................................................................10
URL Parameters.................................................................................................................................................. 11
HTTP Request Methods...................................................................................................................................... 11
Request and Response Message Format............................................................................................................. 12
Request or Response Parameter Object...............................................................................................................12
REST API Pagination Parameters.......................................................................................................................13
Success Response Status Codes..........................................................................................................................13
Error Response Status Codes.............................................................................................................................. 14
Sample Client Code.............................................................................................................................................14
Jersey Client Package Example...............................................................................................................15
Java JDK Net Package Example.............................................................................................................15
cURL Example........................................................................................................................................15
View the Schema for a REST API Request or Response Message.....................................................................15
2 Administrative Resources.............................................................. 17
Log Into Application Orchestrator User Account ..............................................................................................17
Logout of an Application Orchestrator User Account........................................................................................ 18
3 VIM and VDC Resources.................................................................19
VIM Resources....................................................................................................................................................19
Retrieve All VIM Types..........................................................................................................................19
Retrieve Initial VIM Configuration Parameters......................................................................................20
Retrieve Dynamic VIM Configuration Parameters and Required User Credentials...............................20
Retrieve All VIMs...................................................................................................................................22
Retrieve a VIM Configuration................................................................................................................ 22
Create a VIM...........................................................................................................................................23
Update the Configuration of a VIM........................................................................................................25
Retrieve the Available DCs for a VIM....................................................................................................27
Delete a VIM...........................................................................................................................................28
VDC Resources...................................................................................................................................................28
Retrieve All VDCs that are Associated with VIMs................................................................................ 28
Retrieve a VDC Configuration................................................................................................................29
Retrieve VDC Cloud Networks...............................................................................................................30
Create and Associate a VDC to a VIM................................................................................................... 31
Update a VDC.........................................................................................................................................33
Delete a VDC from a VIM......................................................................................................................34
VIM and VDC REST API Usage Call Flow Examples......................................................................................34
Create a VIM: Example...........................................................................................................................34
Update a VIM: Example..........................................................................................................................35
Create a VDC Reference to the VIM: Example......................................................................................35
4 VM Image Retrieval....................................................................... 37
Retrieve All VM Images..................................................................................................................................... 37
Retrieve a Specified VM Image..........................................................................................................................39
Oracle? Communications Application Orchestrator
3
5 NF Resources.................................................................................41
Retrieve a Specified NF Descriptor.....................................................................................................................41
Retrieve an NF Descriptor...................................................................................................................................42
Retrieve the Resource Criteria for an NF............................................................................................................42
Get Resource Usage Requirements to Deploy an NF......................................................................................... 43
Deploy an NF...................................................................................................................................................... 49
List All Deployed NFs........................................................................................................................................ 57
Retrieve an NF.....................................................................................................................................................58
Retrieve the Resource Usage Requirement for a Deployed NF..........................................................................59
Retrieve Resource Usage and Configuration of an NF.......................................................................................59
Retrieve NF Status Information.......................................................................................................................... 60
Submit an Action Request on a Deployed NF.................................................................................................... 62
Retrieve the Deployed NF Resource Usage Requirement.................................................................................. 63
Resize an NF....................................................................................................................................................... 65
Scale an NF......................................................................................................................................................... 66
NF REST API Call Flow Examples....................................................................................................................66
Deploy a Network Function: Example....................................................................................................66
Scale an Operational NF: Example.........................................................................................................67
Resize an Operational NF: Example.......................................................................................................67
6 Event Resources............................................................................ 69
Register an Event Topic...................................................................................................................................... 71
Confirm an Event................................................................................................................................................ 73
Retrieve All Event Registrations.........................................................................................................................74
Retrieve an Event Registration............................................................................................................................74
Unregister an Event.............................................................................................................................................75
7 Fault Retrieval............................................................................... 77
Retrieve Application Orchestrator Alarms..........................................................................................................77
A— Application Orchestrator REST API Examples..............81
VIM Resource Examples.....................................................................................................................................81
Retrieve Initial VIM Configuration Parameters: Example......................................................................81
Retrieve Dynamic VIM Configuration Parameters and Required User Credentials: Example.............. 82
Create a VIM: Example...........................................................................................................................82
Retrieve the Available DCs for a VIM: Example....................................................................................84
VDC Resource Examples....................................................................................................................................84
Retrieve All VDCs that are Associated with VIMs: Example................................................................84
Retrieve a VDC Configuration: Example............................................................................................... 85
Create and Associate a VDC with a VIM: Example...............................................................................86
Retrieve All VM Images: Example.....................................................................................................................88
NF Resource Examples.......................................................................................................................................88
Retrieve an NF Descriptor: Example...................................................................................................... 88
Retrieve the Resource Criteria for an NF: Example................................................................................89
Retrieve Resource Usage Requirements for a Deployed NF: Example..................................................90
Deploy an NF: Example........................................................................................................................100
Retrieve NF Status Information: Example............................................................................................109
Submit an Action Request on a Deployed NF: Example...................................................................... 110
Application Orchestrator Scaling Event Resource Examples........................................................................... 110
Retrieve All Event Registrations: Example...........................................................................................110
Confirm an Event: Example.................................................................................................................. 111
4
Oracle? Communications Application Orchestrator
Retrieve Application Orchestrator Alarms: Example........................................................................................111
B— Install and Configure the REST Sample Client........... 113
Oracle? Communications Application Orchestrator
5
6
Oracle? Communications Application Orchestrator
About This Guide
This document and other product-related documents are described in the Related Documentation table.
Related Documentation
Table 1: Oracle Communications Application Orchestrator Library
Document Name
Document Description
Release Notes
Contains feature support information, and known issues pertaining to this release.
Installation Guide
Contains instructions for installing Oracle Communications Application
Orchestrator as a standalone application or installing Oracle Communications
Application Orchestrator together with Oracle Communications Session Delivery
Manager.
Plug-in Guide for Session
Delivery Network Elements
Describes how to use Oracle session delivery product plug-ins with Oracle
Communications Application Orchestrator.
User Guide
Describes how to centrally manage and automate your virtual and physical
network environment of composite network functions (CNFs). The Oracle
Communications Application Orchestrator application is implemented by doing
the following:
? Use the Security Manager to create new users and new user groups, and set
group-based authorization.
? Configure X.509 certificate authentication.
? Add a virtual infrastructure management (VIM) system to manage VNF life-
cycles.
? Register an Element Manager (EM) with Oracle Communications
Application Orchestrator in order to stage a CNF from its CNF descriptor
(CNFD).
? Manually use the CNF onboarding workflow to choose, stage, and promote a
pre-existing CNF plug-in, and configure the CNF to deploy and make this
CNF operational.
? Automate the manual process of making a CNF operational by using the
hierarchical service configuration (HSC) feature.
? Monitor Oracle Communications Application Orchestrator real-time KPI
thresholds, device status and performance information for CNFs.
? Use the Fault Manager to view events, alarms and trap event settings.
REST API Guide
The Oracle Communications Application Orchestrator REST API interface
interacts with the Northbound Interface (NBI) to get the available fault alarms.
Security Guide
Provides the following security guidelines and topics:
? Guidelines for performing a secure installation of Oracle Communications
Application Orchestrator on your server, which includes methods for securing
the server, firewall settings, system support for encryption and random
number generators (RNG), using HTTPS, and password guidelines.
? An overview of the Security Manager features that are used to configure
groups, users, operations, privileges, and manage access to the system.
Oracle? Communications Application Orchestrator
7
Document Name
Document Description
? Security maintenance, which includes a checklist to securely deploy Oracle
Communications Application Orchestrator on your network, maintaining
security updates, and security considerations for developers.
Revision History
Date
Description
August 2015
? Initial release.
April 2016
? Existing sections in the Oracle Communications
Application Orchestrator REST API Overview
chapter were updated and Input and Output
Parameters, URL Request Methods, and Viewing the
XML Schema for a REST API Resource Object
sections were added.
? The name of the Accessing the Application
Orchestrator REST API chapter was changed to
Configure and Access Application Orchestrator
REST API. Existing sections were updated and added
to the Configure the REST Client section.
? The following chapters were added:
? VIM and VDC Resources
? VM Image Retrieval
? NF Resources
? Application Orchestrator Scaling Events
? Fault Retrieval
? Application Orchestrator REST API Examples
August 2016
? A note was added to the
Application Orchestrator
REST API Overview chapter that says if you are
using JSON for your REST implementation, the root
element should be excluded in the request payload.
About This Guide
8
Oracle? Communications Application Orchestrator
1
Application Orchestrator REST API Overview
Oracle Communications Application Orchestrator provides a REST API interface that allows a northbound client
application, such as a network service orchestrator (NSO), to interact with Oracle Communications Application
Orchestrator.
Pre-Requisites
Any application that needs to interact with Oracle Communications Application Orchestrator through the REST API
interface must be able to send HTTP/HTTPS requests and receive HTTP/HTTPS responses. The application must
have a software development toolkit that can generate the HTTP requests and receive HTTP responses. The request
and response body are available in either XML or JSON formats. A XML and JSON parser toolkit is needed in the
application to be able to parse the XML or JSON data.
Note: The REST API resource examples provided in this guide are represented in XML format only.
Note: If you are using JSON for your REST implementation, the root element should be excluded in the
request payload. The JSON response example below contains the root element, which is highlighted in bold.
{
"session": {
"userName": "admin",
"password": "NextGen"
}
}
The JSON response example below has the root element removed:
{
"userName": "admin",
"password": "NextGen"
}
The following sections describe the URL resources and request and response information that are used in each REST
API in this guide.
Oracle? Communications Application Orchestrator
9
Application Orchestrator REST API Resource Tree
Application Orchestrator REST API Overview
10
Oracle? Communications Application Orchestrator
URL Parameters
The URL parameters for any Oracle Communications Application Orchestrator API contains either the server IP
address or the DNS name of the server, the port number on which Oracle Communications Application Orchestrator
is running, and its uniform resource identifier (URI).
The following example shows a full URL directory path for an Oracle Communications Application Orchestrator
REST resource used to list the catalog of CNFDs:
https://<OCAO ip-address or DNS name>:8443/rest/v1.0/ocao/nfResources/nfds
The following example shows a full URL for the login REST API:
https://<OCAO ip-address or DNS name>:8443/rest/v1.0/admin/login
? The instance portion of the URL (
https://<OCAO-ip-address>:8443/) specifies the Oracle Communications
Application Orchestrator server IP address and its designated port number (8443) that was defined during the
installation of Oracle Communications Application Orchestrator. See the Configure Web Server Security section
in the
Oracle Communications Application Orchestrator Installation Guide for more information.
? The
Uniform resource identifier (URI) portion of the fixed URL starts with
/rest, the major and minor version (
/
v1.0) of the API, the API category name (
/admin), and the resource (
/login).
Note: Minor versions expand the interface and do not change the request and response body format. For
example, everything in v1.1 is available in v1.2 and all existing request and response message formats are
the same.
HTTP Request Methods
Note: Request and response messages support both XML and JSON formats and have the same formats.
Request
Description
GET
The specified read-only operation passes query
parameters to the resource and retrieves data from the
resource without changing it. Unless otherwise specified,
this operation returns the configured state of the
resource.
POST
This operation submits data to be processed by the
specified resource in the request body, and is also able to
create a new resource with the details contained in the
JSON or XML request body.
PUT
This operation updates the specified resource with new
information that replaces or modifies the previous data
with the following conditions:
? This operation cannot be used to create a new
resource.
? The request body must contain the complete
representation of mandatory attributes of the
resource.
DELETE
This operation deletes a resource. If the resource has
already been deleted, a "404 Not Found" response is
returned.
Application Orchestrator REST API Overview
Oracle? Communications Application Orchestrator
11
Request and Response Message Format
The Oracle Communications Application Orchestrator REST API supports both XML and JSON data formats in the
request and response message. Request and response data formats are always same.
A request to the API resource always returns a response code through HTTP/HTTPS. Error response codes typically
have two types: 4xx series status codes for client side issues and 5xx series status codes for server side issues. An
error response also contains an error body in either XML or JSON format containing the http status code, server error
code, error label and error message that are defined by Oracle Communications Application Orchestrator server.
For example, the following server error response (in XML format) shows that the server failed to get alarms:
<errorCode>15034</errorCode>
<errorLabel>DBS_QUERY_EXCEPTION</errorLabel>
<message>Database query encountered an exception.</message>
Request or Response Parameter Object
Oracle Communications Application Orchestrator is supported by various VIMs and element managers (EMs) to
orchestrate a variety of NFs through plug-ins. The REST API uses a parameter object in a request and response to
accommodate the differences in the system and facilitate a REST client application.
A parameter object can contain the following attributes:
? name—The parameter name.
? valueType—Any of the following supported parameter types:
? String
? NumberString
? BooleanString
? IPV4String
? IPV6String
? MACAddressString
? SubnetGatewayString
? SubnetMaskString
? SingleSelection
? MultiSelection
? description—Parameter description.
? minValue—The minimum allowed value for a NumberString parameter type.
? maxValue—The maximum allowed value for a NumberString parameter type.
? Value—The current parameter value.
? ValueList—The current parameter value list if the parameter is multiSelectionList.
? validValues—The valid value options for the selection type parameter.
? readOnly—This parameter informs users whether a parameter accepts user input.
The following example shows how request or response parameters can be represented in a schema:
Application Orchestrator REST API Overview
12
Oracle? Communications Application Orchestrator
Figure 1: Request or response parameter schema example
Note: When a parameter object is used for configuration input, users only need to provide name and value
attributes, the rest of the attributes in the parameter can be ignored.
REST API Pagination Parameters
The following pagination parameters can be found in Oracle Communications Application Orchestrator REST API
resources:
? limitation—Total number of objects allowed. The default is 50.
? numberOfElements—Number of elements per page allowed.
? offset—The page offset within a data structure object that is a number indicating the distance (displacement) from
the beginning of the object up until a given element within the same object. The default page offset is one.
The following example shows how response page display parameters can be represented in a schema:
Figure 2: Page display parameters
Success Response Status Codes
The table below lists all possible HTTP/HTTPS success status codes that appear in the message.
Response Code
Description
200 (OK)
The standard response for successful requests. The actual
response depends on the request method used. GET, PUT
and POST are successful request methods. For example,
Application Orchestrator REST API Overview
Oracle? Communications Application Orchestrator
13
Response Code
Description
in a GET request, the response contains an entity
corresponding to the requested resource and in a POST
request, the response contains an entity describing or
containing the result of the action.
202 (Accepted)
The request has been accepted for processing, but the
processing has not been completed. The request may not
be acted upon, as it might be disallowed when
processing actually takes place.
204 (No Content)
The server successfully processed the request, but is not
returning any content. This code is usually used as a
response to a successful delete request.
Error Response Status Codes
The table below lists all possible HTTP/HTTPS error response codes that appear in the message.
HTTP/HTTPS Response Code
Description
400 (Bad Request)
The server cannot or does not process the request due to
something that is perceived to be a client error (For
example, malformed request syntax, invalid request
message framing, or deceptive request routing).
401 (Unauthorized)
Similar to
403, this response is used when authentication
(login) is required and has failed (invalid user or
password, or both) or has not yet been provided, or the
request has no valid session ID. The response must
include a WWW-Authenticate header field containing a
challenge applicable to the requested resource.
403 (Forbidden)
The request was a valid request, but the server is refusing
to respond to it. Unlike a
401 response, authenticating
makes no difference. The user is forbidden access to the
resource or operation on the resource due to insufficient
privileges.
404 (Not Found)
The requested resource could not be found or deleted,
but may be available again in the future. Subsequent
requests by the client are permissible.
405 (Method Not Allowed )
A request was made of a resource using a request
method not supported by that resource; for example,
using GET on a form which requires data to be presented
through POST, or using PUT on a read-only resource.
500 (Internal Server Error)
There is an internal server error.
Sample Client Code
This section provides examples for using the REST API with various client-side libraries and cURL. The REST API
can be utilized in several different programming languages. The development environment determines how to access
the REST API.
Application Orchestrator REST API Overview
14
Oracle? Communications Application Orchestrator
Jersey Client Package Example
You must download a Jersey release and put the JARs in your class path to use the Jersey package. If using the JSON
message format, you must also retrieve any additional JARs described in the Jersey User Guide. The following JARs
are required to support MOXy as your JSON provider:
jersey-entity-filtering-2.9.jar
jersey-media-moxy-2.9.jar
org.eclipse.persistence.moxy-2.5.0.jar
org.eclipse.persistence.core-2.5.0.jar
org.eclipse.persistence.antlr-2.5.0.jar
org.eclipse.persistence.asm-2.5.0.jar
Java JDK Net Package Example
No additional 3rd party JARs are required to make REST API calls using the JDK net package.
cURL Example
This section provides some samples using the cURL command-line tool to make REST API calls.
The following login example shows the input and output of the user.xml file:
curl -v -c sessionid.txt -X POST -d@user.xml -H"Content-Type: application/
xml" -H"Accept: application/xml" http://localhost:8080/rest/v1.0/admin/login
<?xml version="1.0" encoding="UTF-8"?>
<session>
<userName>admin</userName>
<password>admin</password>
</session>
View the Schema for a REST API Request or Response Message
The XML schema of a REST API request or response message contains a variety of input parameters and has the
following attributes:
? The "
+" plus attribute shows where the schema can be expanded.
? The "
..." symbol indicates cardinality (there can be one or more) of an object or sub-object
? The "
-" minus attribute indicates where the schema is expanded.
? An example of the expanded resource object schema is shown in the following figure. The major components of
an object are its sub-object(s) and node(s). Each node is an input parameter.
Application Orchestrator REST API Overview
Oracle? Communications Application Orchestrator
15
Figure 3: Request/Response Message Schema
Application Orchestrator REST API Overview
16
Oracle? Communications Application Orchestrator
2
Administrative Resources
Use this chapter to log into and out of the Oracle Communications Application Orchestrator REST API.
Log Into Application Orchestrator User Account
The following REST API resource URI can be used to log into an Oracle Communications Application Orchestrator
valid user account session.
URL
URI
Request
Method
Description
/v1.0/admin/login
POST
Initiates a client/server session and returns a valid session ID. For
example: https://OCAO_ipaddress:8443/rest/v1.0/admin/login
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Parameter
Type
Description
userName
String
The Oracle Communications Application Orchestrator user
name.
password
String
The Oracle Communications Application Orchestrator user
password.
Oracle? Communications Application Orchestrator
17
Response Schema
Parameter
Type
Description
idleTimeout
Long
Idle time before the server closes the session, if no request from
the client is received.
serverInfo
String
Server-generated information.
sessionId
String
Server-generated session ID
userGroup
String
User group to which the user belongs.
userName
String
User name.
Logout of an Application Orchestrator User Account
The following REST API resource URI can be used to logout of an Oracle Communications Application Orchestrator
valid user account session.
URL
URI
Request
Method
Description
/v1.0/admin/logout
POST
Tears down a session with a valid session ID. When logging out
of a user account, always ensure that the REST client is called on
an active login session so that Oracle Communications
Application Orchestrator can properly clean up resources.
? Normal response code: 204 (No content)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 500 (Internal Server Error)
Note: There is no request or response output for this API resource.
Administrative Resources
18
Oracle? Communications Application Orchestrator
3
VIM and VDC Resources
You can use Oracle Communications Application Orchestrator REST API to retrieve and configure both virtual
infrastructure manager (VIM) and virtual data center (VDC) resources.
VIM Resources
Oracle Communications Application Orchestrator manages the life-cycle of a VNF through the Oracle OpenStack
virtual infrastructure manager (VIM) or VMWare vCloud Director VIM. The VIM is an orchestration engine that
manages a data center, and is required for deploying a Network Function (NF). You can use the REST API to retrieve,
change, add, or delete Oracle OpenStack or VMWare vCloud Director VIM.
Retrieve All VIM Types
The following REST API resource URI can be used to list all valid VIM types that are available.
URL
URI
Request
Method
Description
/ocao/vimResources/types
GET
The resource lists all the supported VIM types.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Oracle? Communications Application Orchestrator
19
Parameter
Type
Description
vimType
String
Output
Lists all valid VIM types, which can be vCloud Director, or
Oracle OpenStack.
Retrieve Initial VIM Configuration Parameters
The following REST API resource URI can be used to retrieve the initial VIM configuration parameters before you
create a VIM.
URL
URI
Request
Method
Description
/ocao/vimResources/types/
{
vimTypeName}
GET
The resource retrieves initial configuration parameters, including
the credential parameters necessary for the creation of a VIM.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404(Not Found), 500 (Internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
type
The VIM type. For example, vCloud Director, or Oracle OpenStack.
vimURL
The base URL address to the cloud service. For example: https://mycloud.com:443
vimUsername
The user name used to login to the VIM server application account.
vimPassword
The password used to login to the VIM server application account.
vimOrganization
The organization used by a vCloud Director VIM only.
vimDomain
The domain IP address or name used for the authentication of OpenStack VIM
users only. A domain can represent an individual, company, or operator-owned
space.
Retrieve Dynamic VIM Configuration Parameters and Required User
Credentials
The following REST API resource URI can be used to retrieve any of the dynamic VIM configuration parameters that
cannot be returned after retrieving the initial VIM configuration parameters before you create a VIM.
VIM and VDC Resources
20
Oracle? Communications Application Orchestrator
URL
URI
Request
Method
Description
/ocao/vimResources/types/
{
vimTypeName}
POST
The resource gathers the dynamic configuration parameters and
user credentials that are needed before you can create a VIM.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404(Not Found), 500 (Internal Server Error)
Request Schema
Parameter
Description
type
Lists the VIM type. For example, vCloud Director, or Oracle OpenStack.
vimURL
The base URL address to the cloud service. For example: https://mycloud.com:443
vimUsername
The user name used to login to the VIM server application account.
vimPassword
The password used to login to the VIM server application account.
vimOrganization
The organization used by a vCloud Director VIM only.
vimDomain
The domain IP address or name used for the authentication of OpenStack VIM
users only. A domain can represent an individual, company, or operator-owned
space.
Response Schema
Parameter
Description
type
Lists the VIM type. For example, vCloud Director, or Oracle OpenStack.
vimURL
The base URL address to the cloud service. For example: https://mycloud.com:443
vimUsername
The user name used to login to the VIM server application account.
vimPassword
The password used to login to the VIM server application account.
vimOrganization
The organization used by a vCloud Director VIM only.
vimDomain
The domain IP address or name used for the authentication of OpenStack VIM
users only. A domain can represent an individual, company, or operator-owned
space.
vimCatalog
The vCloud Director catalog.
The caller needs to select a valid value from the response.
VIM and VDC Resources
Oracle? Communications Application Orchestrator
21
Parameter
Description
vimProject
The project that end-users use for authentication for an OpenStack VIM.
Note:
An error message displays if a validated certificate has not been uploaded
to Oracle Communications Application Orchestrator for the connection to
the VIM.
Retrieve All VIMs
The following REST API resource URI can be used to retrieve information for all existing VIMs.
URL
URI
Request
Method
Description
/ocao/vimResources/vims
GET
The resource lists all existing VIMs.
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Type
Description
name
String
The VIM name.
id
String
The VIM object ID.
type
String
The VIM type. For example, vCloud Director, or Oracle
OpenStack.
Retrieve a VIM Configuration
The following REST API resource URI can be used to retrieve the configuration of a specified VIM.
URL
URI
Request
Method
Description
/ocao/vimResources/vims/
{
vimID}
GET
Retrieve the VIM configuration.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
VIM and VDC Resources
22
Oracle? Communications Application Orchestrator
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
id
The VIM object ID.
name
The VIM name.
type
The VIM type. For example, vCloud Director, or Oracle OpenStack.
vimUsername
The user name used to login to the VIM server application account.
vimURL
The base URL address to the cloud service. For example: https://
mycloud.com:443
vimOrganization
The organization used by a vCloud Director VIM only.
vimCatalog
The vCloud Director catalog.
The caller needs to select a valid value from the response.
vimDomain
The domain IP address or name used for the authentication of OpenStack
VIM users only. A domain can represent an individual, company, or
operator-owned space.
vimProject
The project that end-users use for authentication for an OpenStack VIM.
Note:
An error message displays if a validated certificate has not been
uploaded to Oracle Communications Application Orchestrator for
the connection to the VIM.
Create a VIM
The following REST API resource URI can be used to create a new VIM.
URL
URI
Request
Method
Description
/ocao/vimResources/vims
POST
The resource creates a new VIM.
? Normal response code: 200 (OK)
VIM and VDC Resources
Oracle? Communications Application Orchestrator
23
URI
Request
Method
Description
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Parameter
Description
name
The VIM name.
type
The VIM type. For example, vCloud Director, or Oracle OpenStack.
vimURL
The base URL address to the cloud service. For example: https://mycloud.com:
443
vimUsername
The user name used to login to the VIM server application account.
vimPassword
The password used to login to the VIM server application account.
vimOrganization
The organization used by a vCloud Director VIM only.
vimDomain
The domain IP address or name used for the authentication of OpenStack VIM
users only. A domain can represent an individual, company, or operator-owned
space.
vimCatalog
The vCloud Director catalog.
The caller needs to select a valid value from the response.
vimProject
The project that end-users use for authentication for an OpenStack VIM.
Note:
An error message displays if a validated certificate has not been
uploaded to Oracle Communications Application Orchestrator for the
connection to the VIM.
Response Schema
VIM and VDC Resources
24
Oracle? Communications Application Orchestrator
Parameter
Description
id
The VIM object ID.
name
The VIM name.
type
The VIM type. For example, vCloud Director, or Oracle OpenStack.
numOfVdcs
The number of virtual data centers associated with this VIM.
vimURL
The base URL address to the cloud service. For example: https://
mycloud.com:443
vimUsername
The user name used to login to the VIM server application account.
vimUserID
The user ID of the VIM.
vimPassword
The password used to login to the VIM server application account.
vimOrganization
The organization used by a vCloud Director VIM only.
vimDomain
The domain IP address or name used for the authentication of OpenStack
VIM users only. A domain can represent an individual, company, or
operator-owned space.
vimDomainId
The domain ID number used for an OpenStack VIM only.
vimCatalog
The vCloud Director catalog.
The caller needs to select a valid value from the response.
vimProjectID
The project ID for the OpenStack VIM.
vimProject
The project that end-users use for authentication for an OpenStack VIM.
Note:
An error message displays if a validated certificate has not been
uploaded to Oracle Communications Application Orchestrator for
the connection to the VIM.
Update the Configuration of a VIM
The following REST API resource URI can be used to update the configuration of an existing VIM.
URL
URI
Request
Method
Description
/ocao/vimResources/vims/
{
vimID}
PUT
The resource updates the VIM configuration.
Note: You can change both the catalog and password
parameters for a VMWare vCloud VIM type. However,
if you have an OpenStack VIM type, you can only
change password parameter.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
VIM and VDC Resources
Oracle? Communications Application Orchestrator
25
Request Schema
Parameter
Description
name
The VIM name.
id
The VIM object ID.
type
The VIM type. For example, vCloud Director, or Oracle OpenStack.
vimURL
The base URL address to the cloud service. For example: https://mycloud.com:
443
vimUsername
The user name used to login to the VIM server application account.
vimPassword
The password used to login to the VIM server application account.
vimOrganization
The organization used by a vCloud Director VIM only.
vimCatalog
The vCloud Director catalog.
The caller needs to select a valid value from the response.
vimDomain
The domain IP address or name used for the authentication of OpenStack VIM
users only. A domain can represent an individual, company, or operator-owned
space.
vimProject
The project that end-users use for authentication for an OpenStack VIM.
Note:
An error message displays if a validated certificate has not been
uploaded to Oracle Communications Application Orchestrator for the
connection to the VIM.
Response Schema
Parameter
Description
id
The VIM object ID.
name
The VIM name.
VIM and VDC Resources
26
Oracle? Communications Application Orchestrator
Parameter
Description
type
The VIM type. For example, vCloud Director, or Oracle OpenStack.
numberOfVdcs
The number of virtual data centers (VDCs) associated with the VIM.
vimURL
The base URL address to the cloud service. For example: https://
mycloud.com:443
vimUsername
The user name used to login to the VIM server application account.
vimPassword
The password used to login to the VIM server application account.
vimOrganization
The organization used by a vCloud Director VIM only.
vimCatalog
The vCloud Director catalog.
The caller needs to select a valid value from the response.
vimDomain
The domain IP address or name used for the authentication of OpenStack
VIM users only. A domain can represent an individual, company, or
operator-owned space.
vimProject
The project that end-users use for authentication for an OpenStack VIM.
Note:
An error message displays if a validated certificate has not been
uploaded to Oracle Communications Application Orchestrator for
the connection to the VIM.
Retrieve the Available DCs for a VIM
The following REST API resource URI can be used to retrieve the available data centers (DCs) for a specified VIM.
URL
URI
Request
Method
Description
/ocao/vimResources/vims/
{
vimID}/dcs
GET
The resource lists the available DCs from the specified VIM.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
VIM and VDC Resources
Oracle? Communications Application Orchestrator
27
Response Schema
Parameter
Description
vimID
The VIM object ID.
vimName
The VIM name.
vimType
The VIM type.
name
The DC name in the VIM.
Descriptions
The description of the VIM DC.
cloudId
The cloud ID for the VIM DC.
Delete a VIM
The following REST API resource URI can be used to delete a specified VIM.
URL
URI
Request
Method
Description
/ocao/vimResources/vims/
{
vimID}
DELETE
The resource deletes a VIM.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Note: There are no response parameters for this API resource.
VDC Resources
Use the information in this chapter to retrieve, change, add, or delete Virtual Data Center (VDC) resources through
the Oracle Communications Application Orchestrator REST API.
Retrieve All VDCs that are Associated with VIMs
The following REST API resource URI can be used to retrieve all VDCs that are associated with VIMs.
VIM and VDC Resources
28
Oracle? Communications Application Orchestrator
URL
URI
Request
Method
Description
/ocao/vdcResources/vdcs
GET
Retrieve all VDCs that are associated with VIMs.
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
id
The VDC ID.
name
The VDC name.
reference
The DC that the VDC references.
vimID
The VIM ID that owns the VDC.
vimName
The VIM name that owns the VDC.
Retrieve a VDC Configuration
The following REST API resource URI can be used to retrieve configuration parameters for a specific VDC in the
VIM.
URL
URI
Request
Method
Description
/ocao/vdcResources/vdcs/
{
vdcID}
GET
Retrieve the VDC configuration.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
VIM and VDC Resources
Oracle? Communications Application Orchestrator
29
Response Schema
Parameter
Description
hypervisor
The hypervisor that the VDC supports.
id
The VDC ID.
name
The VDC name.
reference
The DC that the VDC references.
description
The description that uniquely identifies this DC.
vimID
The VIM ID that owns the VDC.
vimName
The VIM name that owns the VDC.
name (cloudNetwork)
The cloud network name.
ref
The reference of the cloud network. For example: https://10.196.120.51/api/
network/fbf77107-7f53-4aeb-9613-8ddc82edf498
Retrieve VDC Cloud Networks
The following REST API resource URI can be used to retrieve virtual data center (VDC) cloud networks.
URL
URI
Request
Method
Description
/ocao/vdcResources/vdcs/
{
vdcID}/cloudNetworks
GET
Retrieve the VDC cloud networks.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
VIM and VDC Resources
30
Oracle? Communications Application Orchestrator
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
vdcName
The VDC name.
vdcId
The VDC ID.
name (cloudNetwork)
The cloud network name.
ref
The reference of the cloud network. For example: https://10.196.120.51/api/
network/fbf77107-7f53-4aeb-9613-8ddc82edf498
Create and Associate a VDC to a VIM
The following REST API resource URI can be used to create and associate a virtual data center (VDC) with a
supported VIM.
URL
URI
Request
Method
Description
/ocao/vdcResources/vdcs
POST
Associate a VDC with a VIM.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Parameter
Description
hypervisors
The hypervisor that the VDC supports.
VIM and VDC Resources
Oracle? Communications Application Orchestrator
31
Parameter
Description
name
The unique name for the DC. This name must be unique among all DCs and
VIMs in Oracle Communications Application Orchestrator and have no spaces.
vimName
The VIM that belongs to this VDC.
reference
The DC that the VDC references. The reference name for the data center that
was assigned by the cloud administrator. This name is the logical entity in the
cloud that Oracle Communications Application Orchestrator considers to be a
datacenter. For example, the vCloud cloud manager refers to the name of an
OrgVDC.
description
The description that uniquely identifies this DC.
dcStorageProfile
The vCloud Director data center (DC) storage profile identifier.
dcEnableAA
The value "true" or "false" to enable or disable anti-infinity rules for high-
availability (HA) paired VMs. An anti-affinity rule for VM pairs specify that
individual VMs should not run on the same host.
Note: If the anti-affinity parameter is enabled (true) this storage profile
must be backed by shared storage (storage volumes accessible to all
hosts in the data center). If the storage provider contains any host local
storage (storage not accessible by all hosts in the Datacenter), Anti-
Affinity DRS rules may fail resulting in VM deployment failure.
vCenterUrl
The web link for the base URL to the vCenter server instance that backs the
chosen Org VDC. Each Org VDC is backed by a Provider vDC, which is backed
by an instance of vCenter. This parameter is required if anti-affinity rules are
enabled.
vCenterUser
The vCenter user name. This name does not necessarily need to be an
administrator user, but must have access rights to create anti-affinity DRS rules
for the VMs created by the vCloud user name.
vCenterPassword
The vCenter user password.
useKVM
The value "true" or "false" to enable or disable the kernel-based virtual machine
(KVM) type Linux kernel module that allows the system to act as a hypervisor.
useOVM
The Oracle Virtual Machine (OVA) hypervisor.
securityGroup
The security group(s) defined in Oracle OpenStack.
VIM and VDC Resources
32
Oracle? Communications Application Orchestrator
Response Schema
Parameter
Description
id
The VDC ID.
name
The VDC name.
vimID
The VIM ID that owns the VDC.
vimName
The VIM name that owns the VDC.
reference
The DC that the VDC references.
description
The description that uniquely identifies this DC.
hypervisor
The hypervisor that the VDC supports.
dcStorageProfile
The vCloud Director data center (DC) storage profile identifier.
dcEnableAA
The anti-infinity rules for HA paired VMs.
vCenterUrl
The web link for the base URL to the vCenter server instance that backs the
chosen Org VDC.
vCenterUser
The vCenter user name.
vCenterPassword
The vCenter user password.
dcStorageProfileRef
The vCloud Director data center (DC) storage profile identifier web address.
name
The cloud network name.
ref
The reference of the cloud network. For example: https://10.196.120.51/api/
network/fbf77107-7f53-4aeb-9613-8ddc82edf498
Update a VDC
The following REST API resource URI can be used to update a virtual data center (VDC).
VIM and VDC Resources
Oracle? Communications Application Orchestrator
33
URL
URI
Request
Method
Description
/ocao/vdcResources/vdcs /
{vdcId}
PUT
Update a specified VDC.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Note: See the
Create and Associate a VDC to a VIM section for the request and response schema information.
Delete a VDC from a VIM
The following REST API resource URI can be used to disassociate a VDC from a VIM.
URL
URI
Request
Method
Description
/ocao/vdcResources/vdcs/
{
vdcID}
DELETE
Delete a VDC from a VIM.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Note: There are no response parameters for this API resource.
VIM and VDC REST API Usage Call Flow Examples
The REST call flows described in this chapter are used to create or update a VIM, and create a VDC with a VIM.
Create a VIM: Example
1. Log into a valid user account session:
/rest/v1.0/admin/login
2. List the supported VIM types:
ocao/vimResources/types:get
A list of supported VIM types is provided.
3. Get configuration parameters for a VIM type:
ocao/vimResources/types/{
vimTypeName}:get
The output provides the VIM configuration parameters for the specified VIM type.
4. Get dynamic configuration parameters for a VIM type.
ocao/vimResources/types/{
vimTypeName}:post
VIM and VDC Resources
34
Oracle? Communications Application Orchestrator
The output VIM configuration parameters with dynamic parameters are retrieved from the server for the specified
VIM type.
5. Create a VIM with input based on the configuration parameters of the VIM type.
ocao/vimResources/vims:post
The input is based on configuration parameters. The output contains the created VIM configurations.
Update a VIM: Example
1. Log into a valid user account session:
/rest/v1.0/admin/login
2. List the existing VIMs to get the VIM ID that needs to be modified:
ocao/vimResources/vims:get
The output lists all the existing VIMs in the Oracle Communications Application Orchestrator database.
3. Get configuration information for a VIM:
ocao/vimResources/vims/{
vimID}:get
The output provides the VIM configuration values and parameter option information.
4. Update the VIM with the input based on the parameter options.
ocao/vimResources/vims/{
vimID}:put
The input is based on the parameter options. For a vCloud VIM type, the password and catalog parameters can be
changed. For an OpenStack VIM type, the password parameter can be changed only.
Create a VDC Reference to the VIM: Example
1. Log into a valid user account session:
/rest/v1.0/admin/login
2. List the available data centers from a targeted VIM:
ocao/vimResources/vims/{
vimID}/dcs:get
The output lists available data centers from the specified VIM.
3. Get data center configuration parameters:
ocao/vdcResources/{
dcName}:post
The input specifies the VIM name. The output provides configuration parameters for the specified data center.
4. Use the input configuration parameters to create a Oracle Communications Application Orchestrator logical VDC
that references the VIM.
ocao/vimResources/vdcs/:post
The output displays the logical VDC configuration.
VIM and VDC Resources
Oracle? Communications Application Orchestrator
35
4
VM Image Retrieval
The REST API resources in this chapter are used to list VM images and retrieve VM image information.
Retrieve All VM Images
The following REST API resource URI can be used to list all VM images from the Oracle Communications
Application Orchestrator image archive.
URL
URI
Request
Method
Description
/ocao/vmImages
GET
List all existing VM images.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Note:
There are no request parameters for this REST API.
Oracle? Communications Application Orchestrator
37
Response Schema
Parameter
Description
name
The name of the VM application image.
filename
The VM application image file name.
description
The description of the VM application image.
softwareVersion
The VM application image version number appears automatically once the VM
application image is uploaded.
size
The software image file size in bytes.
cpuCapacity
The required CPU capacity necessary to run the application.
memoryCapacity
The required memory resources necessary to run the application.
diskCapacity
The required disk resources necessary to run the application.
NICs
The number of network interface cards (NICs) that are supported by the software.
componentType
List of component types supported by the Oracle Communications Application
Orchestrator plug-ins.
Note: Refer to the appropriate plug-in user documentation for more
information about the component types associated with your CNF.
hypervisor
One of the following supported hypervisors on which the VM application can run:
? ESXi—A VMware ESXi type is an enterprise-class, type-1 hypervisor
developed by VMware for deploying and serving virtual computers.
? KVM—A Kernel-based Virtual Machine (KVM) type is a Linux kernel that
can be turned into a hypervisor.
? OVM_PV— An Oracle Virtual Machine (OVA) para-virtualization (PV) type.
VM Image Retrieval
38
Oracle? Communications Application Orchestrator
Parameter
Description
? OVM_HVM—An Oracle Virtual Machine (OVA) hardware virtualized
machine (HVM) type.
Retrieve a Specified VM Image
The following REST API resource URI can be used to list a specified VM from Oracle Communications Application
Orchestrator image archive.
URL
URI
Request
Method
Description
/ocao/vmImages/{
vmImageId} GET
Retrieve the specified VM image information.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found)
Request Schema
Note:
There are no request parameters for this REST API.
Response Schema
VM Image Retrieval
Oracle? Communications Application Orchestrator
39
Parameter
Description
name
The name of the VM application image.
id
The VM application image ID.
fileName
The VM application image file name.
description
The description of the VM application image.
softwareVersion
The VM application image version number appears automatically once the VM
application image is uploaded.
size
The software image file size in bytes.
cpuCoreCapacity
The required CPU capacity (number of CPU cores) necessary to run the
application.
memoryCapacityMB
The required memory resources in megabytes (MB) necessary to run the
application.
diskCapacityGB
The required disk resources in gigabytes (GB) necessary to run the application.
nics
The number of network interface cards (NICs) that are supported by the software.
componentType
List of component types supported by the Oracle Communications Application
Orchestrator plug-ins.
Note: Refer to the appropriate plug-in user documentation for more
information about the component types associated with your CNF.
hypervisor
One of the following supported hypervisors on which the VM application can run:
? ESXi—A VMware ESXi type is an enterprise-class, type-1 hypervisor
developed by VMware for deploying and serving virtual computers.
? KVM—A Kernel-based Virtual Machine (KVM) type is a Linux kernel that
can be turned into a hypervisor.
? OVM_PV— An Oracle Virtual Machine (OVA) para-virtualization (PV) type.
? OVM_HVM—An Oracle Virtual Machine (OVA) hardware virtualized
machine (HVM) type.
VM Image Retrieval
40
Oracle? Communications Application Orchestrator
5
NF Resources
The REST APIs in this chapter are used for network functions (NFs).
Retrieve a Specified NF Descriptor
The following REST API resource URI can be used to retrieve a preexisting or onboarded network function
descriptor (NFD). It also supports query parameters to narrow the results.
URL
URI
Request
Method
Description
/ocao/nfResources/nfds?
vendorName={
vendorName}&
vendorId={
vendorId}&version
={
version}
GET
NFD(s) that are associated with a NF are listed.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
name
The NFD name. For example, IMS-core.
id
The NFD ID in Oracle Communications Application Orchestrator.
Oracle? Communications Application Orchestrator
41
Retrieve an NF Descriptor
The following REST API resource URI can be used to retrieve an NF descriptor (NFD).
URL
URI
Request
Method
Description
/ocao/nfResources/nfds/{
nfdID} GET
Retrieve the preexisting NFD.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
404 (Not Found), 500 (Internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
name
The NFD name. For example, IMS-core.
id
The NFD ID number that is provided by Oracle Communications Application
Orchestrator
version
The NFD version.
vendor
The NFD vendor name.
vendorID
The NFD vendor ID.
PluginName
The unique name of the NF plug-in.
Retrieve the Resource Criteria for an NF
The following REST API resource URI can be used to retrieve the resource criteria for an NF, which is calculated and
resized by default criteria values.
NF Resources
42
Oracle? Communications Application Orchestrator
URL
URI
Request
Method
Description
/ocao/nfResources/nfds/{
nfdId}/
resourceCriteria
GET
The resource criteria is retrieved for an NF.
? Normal response code: 200 (OK)
? 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), 500
(Internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
hscName
The HSC name used when the resource criteria retrieves usage requirements.
parameters
The resource criteria output parameters.
Get Resource Usage Requirements to Deploy an NF
The following REST API resource URI can be used to calculate the resource usage requirement when preparing to
deploy a new NF.
URL
URI
Request
Method
Description
/ocao/nfResources/nfds/{
nfdId}/
resourceUsageRequirement
POST
Calculates the resource usage requirement before deploying a
new NF.
? Normal response code: 200 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 404 (Not Found), 500 (Internal Server
Error)
Request Schema
NF Resources
Oracle? Communications Application Orchestrator
43
Parameter
Description
hscName
The hierarchical service configuration (HSC) name used when the resource
criteria retrieves usage requirements.
parameters
The resource criteria output parameters.
Response Schema: nfRequirement Parameters
Parameter
Description
nfdName
The name of the network function descriptor (NFD) on which the NF is based.
nfdId
The ID of the network function descriptor (NFD) on which the NF is based.
nfdVendor
The vendor of the NFD on which the NF based.
nfdVendorId
The vendor ID of the NFD on which the NF based.
nfdVersion
The version of the NFD on which the NF based.
hscName
The HSC name.
name
The NF name.
id
The NF ID.
resourceCriteria
Not used.
vLinks
This option is used to configure vLinks parameters.
virtualResource
This option is used to configure virtual resources.
physicalResource
This option is used to configure physical resources.
NF Resources
44
Oracle? Communications Application Orchestrator
Response Schema: vLink Parameters
nfRequirement >
vLinks >
vLink
Figure 4: vLink Node
Parameter
Description
id
The vLink ID.
scope
Not used.
name
The vLink name.
description
The description of the vLink.
type
The type of vLink.
qos
This option is used to configure QoS parameters for the vLink.
connectedNIC
This option is used to configure connected network interface card (NIC) name
for the vLink.
subnets
This option is used to configure subnet parameters for the vLink, which include
its name, ID, VLAN ID, protocol, default gateway, etc.
nfRequirement >
vLinks >
vLink >
qos
Figure 5: qos Node
Parameter
Description
latency
The latency requirement for the vLink.
NF Resources
Oracle? Communications Application Orchestrator
45
Parameter
Description
jitter
The jitter requirement for the vLink.
pktLoss
The packet loss requirement for the vLink.
bandwidth
The bandwidth requirement for the vLink.
nfRequirement >
vLinks >
vLink >
subnets >
subnet
Figure 6: subnet Node
Parameter
Description
id
The ID of the subnet.
name
The name of the subnet.
vlanId
The VLAN ID of the subnet.
epPools
This option is used to configure end point (EP) pools for the vLink.
externalEps
This option is used to configure EP points for the vLink.
sharedExternalEps
The list of the shared external EPs.
nfRequirement >
vLinks >
vLink >
subnets >
subnet >
epPools >
epPool
Figure 7: epPools Node
Parameter
Description
type
The type of EP pool. For example, IPv4, IPv6 or MAC address EP pool.
size
The size of the pool.
nfRequirement >
vLinks >
vLink >
subnets >
subnet >
externalEPS >
endpoint
NF Resources
46
Oracle? Communications Application Orchestrator
Figure 8: endpoint Node
Parameter
Description
name
The name of the EP.
id
The ID of the EP.
type
The type of EP.
description
The description of the EP.
parameters
A list of parameters required by the EP.
Response Schema: virtualResource Parameters
nfRequirement >
virtualResource >
virtualGroups >
vScalabilityGroup
Figure 9: vScalabilityGroup Node
Parameter
Description
name
The scalability group name.
componentType
The scalability group component type. For example, CSM, SLRM, etc.
version
The version of the scalability group.
deviceInfo
This option is used to configure device information parameters for the virtual
scalability group.
dcParameters
This option is used to configure datacenter parameters for the virtual scalability
group.
geoRedundancyGroups
This option is used to configure geographic redundancy group parameters for
the virtual scalability group.
NF Resources
Oracle? Communications Application Orchestrator
47
nfRequirement >
virtualResource >
virtualGroups >
vScalabilityGroup >
geoRedundancyGroups >
geoRedundancyGroup
Figure 10: geoRedundancyGroup Node
Parameter
Description
type
The type of geo-redundancy group, which is Preferred or Fault Tolerant.
currentSegmentCount
The segmentation count is currently used.
requiredSegmentCount
The required segmentation count.
removedSegmentCount
The segmentation count needs to be removed.
maximumSegmentCount
The maximum segmentation count that the groups can grow.
groupSegment
This option is used to configure the geo-redundancy group segment parameters.
nfRequirement >
virtualResource >
virtualGroups >
vScalabilityGroup >
geoRedundancyGroups >
geoRedundancyGroup >
groupSegment
Figure 11: groupSegment Node
Parameter
Description
hardwareCount
The number of physical devices.
hardwareType
The physical device type.
cpuCore
The number of CPU cores used for segmentation.
NF Resources
48
Oracle? Communications Application Orchestrator
Parameter
Description
memoryMB
The memory resources in megabytes (MB) used for segmentation.
diskGB
The disk resources in gigabytes (GB) used for segmentation.
supportedAccelerators
This option is used to configure software or hardware-based accelerators for a
group segment.
vLinks
This option is used to configure vLink parameters for a group segement. See
Response Schema: vLink Parameters above for a description of these
parameters.
nfRequirement >
virtualResource >
virtualGroups >
vScalabilityGroup >
geoRedundancyGroups >
geoRedundancyGroup >
groupSegment >
supportedAccelerators
Figure 12: supportedAccelerators Node
Parameter
Description
type
This option is used to configure the software-based
type parameter of supported
accelerator.
epa
This option is used to configure the hardware-based
epa parameter that is used
Enhanced platform awareness (EPA) for OpenStack for platform capability
detection, instruction sets such as AVX, PCIe hardware accelerators, core count,
core affinity, core pinning, etc., and provisioning templates through Nova.
Response Schema: physicalResource Parameters
nfRequirement >
physicalResource
Note: The response schema and parameters for the physicalTotal and physicalGroups options are the same as
they are for the virtualTotal and physicalGroups options above.
Deploy an NF
The following REST API resource URI can be used to deploy a new NF. Once the request is submitted successfully,
Oracle Communications Application Orchestrator creates a new NF (based on the resource usage requirement),
configures the NF using the configurations provided in the request, and deploys the NF to an operational ready state.
NF Resources
Oracle? Communications Application Orchestrator
49
This API is asynchronous, which means that once the server accepts the request, the caller application can either poll
the NF status or wait for the NF state change event to occur. The northbound client application needs to register the
event topic and implement callback REST API in order to receive Oracle Communications Application Orchestrator
events.
URL
URI
Request
Method
Description
/ocao/nfResources/nfs
POST
This resource initiates the creation of a NF.
? Normal response code: 202 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema: Root Parameters
Parameter
Description
appGlobalId
The global ID of the application that deployed the NF. For example,
NSOBoston.
appName
The application name of the application that deployed the NF. For example,
NSO.
name
The NF name.
nfdName
The NF descriptor (NFD) name on which the NF is based.
nfdid
The NFD ID in the Oracle Communications Application Orchestrator database.
nfdVendor
The NFD vendor name. For example, Oracle.
nfdVendorId
The NFD vendor ID. For example, ACME.
nfdVersion
The NFD version. For example, 1.1, that is Oracle Communications Application
Orchestrator, Release 1.1.
hscName
The Hierarchical Service Configuration (HSC) name. For example,
MyHSCNBApp.
description
The description of the NF. For example, "This NF is composed of a CSM and
SLRM."
resourceCriteria
The resource criteria for an NF.
NF Resources
50
Oracle? Communications Application Orchestrator
Parameter
Description
computeStorageGroups
This option is used to configure the dcs, vScalabilityGroup, and
pScalabilityGroup options.
Request Schema: vDC Parameters
nfResourceConfig >
computeStorageGroups >
dcs >
vDC
Figure 13: vDC Node
Parameter
Description
vdcName
The VDC name.
vLinks
This option is used to configure the vLink options.
vDC nfResourceConfig >
computeStorageGroups >
dcs >
vLinks >
vLink
Figure 14: vLink Node
Parameter
Description
name
The vLink name.
cloudNetworkName
The cloud network name.
cloudNetworkId
The cloud network ID.
subnet
This option is used to configure options for a subnet.
nfResourceConfig >
computeStorageGroups >
dcs >
dcs >
vDC >
subnets >
subnet
NF Resources
Oracle? Communications Application Orchestrator
51
Figure 15: vDC subnet Node
Parameter
Description
name
Subnetwork name.
vlanId
VLAN ID for the subnet.
netmask
Subnetwork mask (if needed).
epPools
This option is used to configure the ePool option.
sharedEps
The shared end points.
externalEpSegments
This option is used to configure the externalEpSegments option.
nfResourceConfig >
computeStorageGroups >
dcs >
dcs >
vDC >
subnets >
subnet >
epPools >
epPool
Figure 16: epPool Node
Parameter
Description
type
The type of end point pool addressing, for example (IPv4, IPv6, or MAC).
size
The size of the pool.
address
The EP IP address.
range
The IP address range. For example: 10.196.120.10-10.196.10.15
nfResourceConfig >
computeStorageGroups >
dcs >
dcs >
vDC >
subnets >
subnet >
externalEpSegments >
externalEpSegment
NF Resources
52
Oracle? Communications Application Orchestrator
Figure 17: externalEpSegment Node
Parameter
Description
scalabilityGroup
The name of scalability group for which the externalEpSegment belongs.
externalEps
This option is used to configure the external end points (EPs).
nfResourceConfig >
computeStorageGroups >
dcs >
dcs >
vDC >
subnets >
subnet >
externalEpSegments >
externalEpSegment >
externalEps >
externalEp
Figure 18: externalEp Node
Parameter
Description
name
The name of the external EP.
id
The EP ID.
type
The EP type.
description
The description of the EP.
parameters
This option is used to configure EP parameters.
Request Schema: pDC Parameters
nfResourceConfig >
computeStorageGroups >
dcs >
pDC
Figure 19: pDC Node
Parameter
Description
siteName
The physical device site name.
vLinks
This option is used to configure the physical DC vLinks.
Note:
Each node in the expanded pDC schema has the same parameter types that the vDC schema has. See the vDC
schema nodes above for schema diagrams and required inputs.
Request Schema: vScalabilityGroup Parameters
nfResourceConfig >
computeStorageGroups >
vScalabilityGroup
NF Resources
Oracle? Communications Application Orchestrator
53
Figure 20: vScalabilityGroup Node Schema
Parameter
Description
name
The virtual scalability group name.
componentType
The virtual scalability group type. For example, CSM, SLRM, ASBC, etc.
deviceInfo
This option is used to configure the deviceInfo parameters.
geoRedundancyGroups
This option is used to configure the geoRedundancyGroups option.
nfResourceConfig >
computeStorageGroups >
vScalabilityGroup >
geoRedundancyGroups >
geoRedundancyGroup
Figure 21: geoRedundancyGroup Node Schema
Parameter
Description
type
The type of geo redundancy group. For example,
Preferred or
Fault Tolerant.
reservedDcs
This option is used to configure the reservedDcs parameters.
nfResourceConfig >
computeStorageGroups >
vScalabilityGroup >
geoRedundancyGroups >
geoRedundancyGroup >
reservedDcs
Figure 22: reservedDc Node Schema
Parameter
Description
vdcName
The name of the virtual data center (VDC).
NF Resources
54
Oracle? Communications Application Orchestrator
Parameter
Description
reservedSegmentCount
The number of segments that are reserved for the VDC.
dcParameters
This option is used to configure the DC parameters below.
cpuCores
The total number of CPU cores needed for segmentation.
memoryMB
The total memory resources in MB needed for segmentation.
diskGB
Total disk usage in GB needed for segmentation.
epa
Enhanced platform awareness (EPA) for OpenStack for platform capability
detection, instruction sets such as AVX, PCIe hardware accelerators, core count,
core affinity, core pinning, etc., and provisioning templates through Nova.
hardwareCount
The physical device count for the physical device.
hardwareType
The physical device type for the physical device.
siteName
The site name for a data center.
pScalabilityGroup Request Schema
nfResourceConfig >
computeStorageGroups >
pScalabilityGroup
Figure 23: pScalabilityGroup Node Schema
Parameter
Description
name
The physical scalability group name.
componentType
The physical scalability group type. For example, CSM, SLRM, ASBC, etc.
deviceInfo
This option is used to configure the device information parameters.
geoRedundancyGroups
This option is used to configure the geoRedundancyGroups parameters. See the
geoRedundancyGroup node schema section above for more information.
Note:
Each node in the expanded pScalabilityGroup schema has the same parameter types that the
vScalabilityGroup schema has. See the vScalabilityGroup schema nodes above for schema diagrams and
required inputs.
NF Resources
Oracle? Communications Application Orchestrator
55
Response Schema
Parameter
Description
appGlobalId
The global ID of the application that deployed the NF. For example,
NSOBoston.
appName
The application name of the application that deployed the NF. For
example, NSO.
currentCPUCore
The current number of CPUs that are used in the NF.
currentDiskGB
The current disk resource that is used by the NF.
currentMemMB
The current memory resource that is used by the NF.
deployedDUs
The number of Deployed Units (DUs) in the NF.
description
The description of the NF.
failedDUs
The number of failed DUs in the NF.
id
The NF ID Oracle Communications Application Orchestrator.
NF Resources
56
Oracle? Communications Application Orchestrator
Parameter
Description
maxCPUCore
The maximum number of CPUs that can be used in the NF.
maxDiskGB
The maximum disk resources that can be used by the NF.
maxMemMB
The maximum memory resources that can be used by the NF.
minCPUCore
The minimum number of CPUs that is required for the NF.
minDiskGB
The minimum disk resources that are required by the NF.
minMemMB
The minimum memory resources that are required by the NF.
name
The NF name.
state
The current deployment state of the NF:
? NotConfigured—One or more child NF groups or DUs require user
inputs.
? NotDeployed—All required user inputs have been specified. The NF is
ready to be deployed.
? Deploying—The NF is in the process of being deployed.
? Undeploying—The NF and its DUs are in the process of undeploying.
? OperationalReady—The CNF has one or more DUs that are ready to be
set to an operational state.
? Running—The NF and all of its DUs are in an operational state.
? Resizing—The NF is in the process of resizing. Resizing allows the
minimum and maximum number of DUs to change over the lifecycle of
the NF to meet future capacity requirements.
? DeploymentError—An error was encountered while deploying the NF
and its DUs.
? UndeploymentError—An error was encountered while undeploying the
NF.
? Deleting—The NF is in the process of being permanently deleted from
Oracle Communications Application Orchestrator. The NF must be in
an Undeploying state before deletion.
List All Deployed NFs
The following REST API resource URI can be used to retrieve all existing deployed network functions (NFs).
URL
URI
Request
Method
Description
/ocao/nfResources/nfs
GET
Retrieves all existing deployed NFs.
? Normal response code: 200 (OK)
? Error response code: 401 (Unauthorized), 403 (Forbidden),
404 (Not Found), 500 (internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
NF Resources
Oracle? Communications Application Orchestrator
57
Response Schema
Parameter
Description
description
The description of the NF.
id
The NF ID in Oracle Communications Application Orchestrator.
name
The NF name.
state
The current deployment state of the NF:
? NotConfigured—One or more child NF groups or DUs require user
inputs.
? NotDeployed—All required user inputs have been specified. The NF is
ready to be deployed.
? Deploying—The NF is in the process of being deployed.
? Undeploying—The NF and its DUs are in the process of undeploying.
? OperationalReady—The CNF has one or more DUs that are ready to be
set to an operational state.
? Running—The NF and all of its DUs are in an operational state.
? Resizing—The NF is in the process of resizing. Resizing allows the
minimum and maximum number of DUs to change over the lifecycle of
the NF to meet future capacity requirements.
? DeploymentError—An error was encountered while deploying the NF
and its DUs.
? UndeploymentError—An error was encountered while undeploying the
NF.
? Deleting—The NF is in the process of being permanently deleted from
Oracle Communications Application Orchestrator. The NF must be in
an Undeploying state before deletion.
Retrieve an NF
The following REST API resource URI can be used to retrieve the current status and configuration for an existing
deployed network function (NF).
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}
GET
Retrieves the current status and configuration for an existing
deployed NF.
? Normal response code: 200 (OK)
NF Resources
58
Oracle? Communications Application Orchestrator
URI
Request
Method
Description
? Error response code: 401 (Unauthorized), 403 (Forbidden),
404 (Not Found), 500 (internal Server Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Note: See the
Deploy an NF section for the response schema information.
Retrieve the Resource Usage Requirement for a Deployed NF
The following REST API resource URI can be used to retrieve the current deployed NF resource usage requirement
for scaling purposes.
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}/
resourceUsageRequirement
GET
Get the current NF resource usage requirement.
? Normal response code: 200 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 404 (Not Found), 500 (Internal Server
Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Parameter
Description
hscName
The HSC name used when the resource criteria retrieves usage requirements.
parameters
The resource criteria output parameters.
Retrieve Resource Usage and Configuration of an NF
The following REST API resource URI can be used to retrieve the current network function (NF) resource usage and
configuration.
NF Resources
Oracle? Communications Application Orchestrator
59
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}/
resourceUsage
GET
Retrieve the current NF resource usage and configuration.
? Normal response code: 200 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 404 (Not Found), 500 (Internal Server
Error)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Note: See the
Deploy an NF section for the response schema information.
Retrieve NF Status Information
The following REST API resource URI can be used to retrieve detailed NF deployment, capacity, health, and
scalability group status information.
Note: For more specific information about NF state information, see the Oracle Communications Application
Orchestrator User Guide.
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}/
state
GET
Retrieve detailed state information for an NF.
? Normal response code: 200 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 404 (Not Found), 500 (Internal Server
Error)
Request Schema
Note: There are no request parameters for this API resource.
NF Resources
60
Oracle? Communications Application Orchestrator
Response Schema
Parameter
Description
capacityState
The overall reported NF capacity:
? Reducible
? Good
deploymentState
The NF deployment state:
? Not Configured
? Not Deployed
? Deploying
? Operational Ready
? Setting Operational
? Set Operational Error
? Running
? Undeploying
? Deployment Error
? Deleting
? Delete Errror
? Undeployment Error
? Resizing Completing Resize
? Resize Error
healthState
The overall reported health of the NF:
? Initializing
? Healthy
? Impaired
Id
The NF ID.
Name
The NF name.
nfState >
groupStates >
groupState
NF Resources
Oracle? Communications Application Orchestrator
61
Figure 24: groupState Node
Parameter
Type
Description
capacityState
String
The scalability group name in the NF.
componentType
String
The scalability group ID in the NF.
deploymentState
String
The scalability group component type.
healthState
String
The scalability group capacity state.
id
String
The scalability group deployment state.
name
String
The scalability group health state.
scalingState
String
The scalability group scaling state.
Submit an Action Request on a Deployed NF
The following REST API resource URI can be used to submit an action request on deployed NF. This API is
asynchronous. Once the server accepts this request, the northbound client application can either poll the NF status or
wait for an NF state change event.
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}/
action
POST
Submit an action request to be performed on an NF.
? Normal response code: 200 (OK), 204 (No Content) for a
Delete action.
? 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden),
404 (Not Found), 500 (Internal Server Error)
NF Resources
62
Oracle? Communications Application Orchestrator
Request Schema
Parameter
Description
appName
The name of the application that deployed the NF. For example, Oracle Network
Service Orchestrator.
appGlobalId
The global ID of the application that deployed the NF. For example,
NSO_Boston.
type
The action type taken:
? SetOperational—Select to begin the process of setting a CNF and its DUs to
an operational state.
? Undeploy—Select to begin the CNF undeployment process.
? Redeploy—Select after a CNF deployment fails to try a subsequent attempt
to deploy this NF. This attempt to regain a successful status starts from the
point at which the previous deployment failed.
? Delete—Select to begin the process of deploying a NF.
Response Schema
Note: There are no response parameters for this API resource.
Retrieve the Deployed NF Resource Usage Requirement
The following REST API resource URI can be used to calculate the resource usage requirement with the new
resource criteria for resizing an existing NF.
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}/
resourceUsageRequirement
POST
This resource calculates the resource usage requirement with the
new resource criteria for resizing an existing NF.
? Normal response code: 200 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 404 (Not Found), 500 (Internal Server
Error)
NF Resources
Oracle? Communications Application Orchestrator
63
Request Schema
Parameter
Description
appGlobalId
The global ID of the application that deployed the NF. For example,
NSOBoston.
appName
The application name of the application that deployed the NF. For
example, NSO.
currentCPUCore
The current number of CPUs that are used in the NF.
currentDiskGB
The current disk resource that is used by the NF.
currentMemMB
The current memory resource that is used by the NF.
deployedDUs
The number of Deployed Units (DUs) in the NF.
description
The description of the NF.
failedDUs
The number of failed DUs in the NF.
id
The NF ID Oracle Communications Application Orchestrator.
NF Resources
64
Oracle? Communications Application Orchestrator
Parameter
Description
maxCPUCore
The maximum number of CPUs that can be used in the NF.
maxDiskGB
The maximum disk resources that can be used by the NF.
maxMemMB
The maximum memory resources that can be used by the NF.
minCPUCore
The minimum number of CPUs that is required for the NF.
minDiskGB
The minimum disk resources that are required by the NF.
minMemMB
The minimum memory resources that are required by the NF.
name
The NF name.
state
The current deployment state of the NF:
? NotConfigured—One or more child NF groups or DUs require user
inputs.
? NotDeployed—All required user inputs have been specified. The NF is
ready to be deployed.
? Deploying—The NF is in the process of being deployed.
? Undeploying—The NF and its DUs are in the process of undeploying.
? OperationalReady—The CNF has one or more DUs that are ready to be
set to an operational state.
? Running—The NF and all of its DUs are in an operational state.
? Resizing—The NF is in the process of resizing. Resizing allows the
minimum and maximum number of DUs to change over the lifecycle of
the NF to meet future capacity requirements.
? DeploymentError—An error was encountered while deploying the NF
and its DUs.
? UndeploymentError—An error was encountered while undeploying the
NF.
? Deleting—The NF is in the process of being permanently deleted from
Oracle Communications Application Orchestrator. The NF must be in
an Undeploying state before deletion.
Response Schema
Note: There are no response parameters for this API resource.
Resize an NF
The following REST API resource URI can be used to resize an NF.
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}/
resizing
POST
This resource resizes an NF.
Note: Before the northbound service orchestrator resizes
an NF, it needs to get the resource usage and
configuration with a new resource criteria.
NF Resources
Oracle? Communications Application Orchestrator
65
URI
Request
Method
Description
? Normal response code: 202 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 404 (Not Found), 500 (Internal Server
Error)
Note: See the
Deploy an NF section for the request and response schema information.
Scale an NF
The following REST API resource URI can be used to scale an NF.
URL
URI
Request
Method
Description
/ocao/nfResources/nfs/{
nfId}/
scaling
POST
This resource scales an NF.
Note: Before the northbound service orchestrator calls
this API, it gets the NF scaling resource usage and
configuration requirement, then the northbound client
reserves necessary resource and configuration based on
the resource and configuration requirement and uses this
API to scale the NF.
? Normal response code: 202 (Accepted)
? Error response code: 400 (Bad Request), 401 (Unauthorized),
403 (Forbidden), 404 (Not Found), 500 (Internal Server
Error)
Note: See the
Deploy an NF section for the request and response schema information.
NF REST API Call Flow Examples
The following REST API call flow best-practice examples are used to operationalize an NF, and scale or resize a
deployed NF.
Deploy a Network Function: Example
The following call flow of API methods are entered in the main method of the Oracle Communications Application
Orchestrator REST interface to configure the login and NF parameters needed to make a NF operational. The
individual API methods identified below must also be configured. The configuration of these individual methods are
discussed in greater detail in subsequent chapters. If you are looking for more call flow examples, see appendix A for
more information.
1. Login to a valid user account session:
/rest/v1.0/admin/login
2. List the catalog of NFDs:
ocao/nfResources/nfds:get
3. Get the resource criteria for the NFD:
NF Resources
66
Oracle? Communications Application Orchestrator
ocao/nfResources/nfds/{
nfdId} resourceCriteria:get
The output provides the resource criteria with default values.
4. Calculate to create resource usage requirement object in Oracle Communications Application Orchestrator.
ocao/nfResources/nfds/{
nfdId}/resourceUsageRequirement:post
The input is the resource criteria, and the output is the resource usage requirement and configuration requirement.
5. Create (and deploy) a new NF from the NFD:
ocao/nfResources/nfs:post
The input is the resource usage requirements and configuration input. The output contains the created NF ID for
the following API calls.
6. After creating the API call return to caller, the caller application can either poll the NF status or wait for the NF
status event.
7. Get the current deployed NF info:
ocao/nfResources/nfs/{
nfId}/resourceCriteria:get
8. Set the deployed NF to operational:
ocao/nfResources/nfs/{nfId}/action setCNFOperationl()
Scale an Operational NF: Example
The following call flow steps are used to scale in or out an operational NF when a scale in or out request occurs on a
NF that is managed by the northbound service orchestrator client application.
1. Login to a valid user account session:
/rest/v1.0/admin/login
2. A ScalingRequest event topic is registered and the northbound client receives a ScalingOut or ScaleIn request
event.
3. Get the scaling resource usage and configuration requirement.
ocao/nfResources/nfs/{
nfId}/resourceUsageRequirement:get
The output is the scaling NF resource usage requirement and configuration requirement.
4. The northbound service orchestrator client reserves the required resources and configurations.
5. Scale the operational NF:
ocao/nfResources/nfs/{
nfId}/scaling:post
The input is the resource usage requirements and configuration input. The output is the NF. After the resizing the
API call return to caller, the caller application can either poll the NF status or wait for the NF status event.
6. Get the operational NF info:
ocao/nfResources/nfs/{
nfId}:get
The output is the operational configuration and status information.
Resize an Operational NF: Example
1. Login to a valid user account session:
/rest/v1.0/admin/login
2. Get the resource criteria of an operational NF:
ocao/nfResources/nfs/{
nfId}/resourceCriteria:get
The output shows the resource criteria of an operational NF.
3. Calculate additional new resource usage requirements and required configurations:
ocao/nfResources/nfs/{
nfId}/resourceUsageRequirement:post
NF Resources
Oracle? Communications Application Orchestrator
67
The input is the new resource criteria. The output is the new resource usage requirement and configuration
requirement.
4. The northbound service orchestrator application reserves the new required resources and configurations.
5. The operational NF is resized:
ocao/nfResources/nfs/{
nfId}/resizing:post
The input is the resource usage requirements and configuration input. The output is the NF. After the resizing the
API call return to caller, the caller application can either poll the NF status or wait for the NF status event.
6. Get the operational NF info:
ocao/nfResources/nfs/{
nfId}:get
The output is the operational configuration and status information.
NF Resources
68
Oracle? Communications Application Orchestrator
6
Event Resources
Oracle Communications Application Orchestrator supports Scaling, ScalingReqiest, and StateChange event
notifications, which are sent to a registered northbound client applications by way of its event registration callback
URI.
An Oracle Communications Application Orchestrator event has an event type and an event topic. A northbound client
application that can receive events from Oracle Communications Application Orchestrator, must register for specific
event topics. A callback REST API is implemented by the northbound client application so that it receives event
notifications from Oracle Communications Application Orchestrator when they occur. A northbound client
application may use event notifications to respond with actions. For example, a northbound client application can
scale in or out an NF when a ScalingRequest event notification message is received from Oracle Communications
Application Orchestrator.
Figure 25: Event registration and notification
Oracle? Communications Application Orchestrator
69
The following table describes the scalingRequest events that are supported by Oracle Communications Application
Orchestrator:
Event Type
Description
ScaleOut
A new deployment unit (DU) is created. Once this
process is complete, the event is sent to the northbound
client application.
The standard scaling policy requests a DU scale-out
process immediately when any cumulative NF group
KPI reaches a critical capacity state, and when any
cumulative NF group KPI reaches the warning capacity
state and remains there longer than the growth duration.
ScaleIn
Before a DU is undeployed from a NF, the event is sent
to the northbound client application.
The standard scaling policy only starts the scale-in
process when all cumulative NF group KPIs have
reached a reducible capacity state, and any cumulative
NF group KPI has remained in the reducible capacity
state longer than the decline duration.
ScaleInComplete
After a DU is undeployed from a NF, the event is sent to
the northbound client application.
The following table describes the scaling events that are supported by Oracle Communications Application
Orchestrator:
Event Type
Description
ScaleOutRequest
When the capacity planner is about to create a new DU,
the event is sent to the northbound client application.
ScaleInRequest
A DU is undeployed from a NF. Before a DU is
undeployed from a NF, the event is sent to the
northbound client application before the ScaleInEvent.
The following table describes the stateChange events that are supported by Oracle Communications Application
Orchestrator:
Event Type
Description
Health
Once the NF health state is changed, the event is sent to
the northbound client application.
The following health states are shown below:
? Two dashes (- -) indicate that health data continues to
be collected for one or more DUs.
? Healthy—All DUs are in a healthy state and are
reachable on the network.
? Impaired—One or more DUs are unreachable on the
network or have otherwise encountered an error
which impacts the total DU capacity, or resiliency.
Capacity
Once the NF capacity state is changed, the event is sent
to the northbound client application. The following
capacity states are shown below:
Event Resources
70
Oracle? Communications Application Orchestrator
Event Type
Description
? Reducible—The capacity of the NF group can be
satisfied by fewer DUs than are currently deployed
(all NF group KPIs are in a reducible state).
? Good—The capacity of the NF group is satisfied by
the number of DUs that are currently deployed (one
or more NF group KPIs are in the Good state, and no
KPIs are in Warning or Critical states).
? Warning—The capacity of the NF group is satisfied
by the number of DUs that are currently deployed,
but one or more KPIs have exceeded a warning
capacity limit. Additional DUs may be required in
the near future in order to bring total NF group
capacity back into a Good state range.
? Critical—The capacity of the NF group may no
longer be satisfied by the number of DUs that are
currently deployed. One or more KPIs have crossed a
critical threshold boundary indicating that additional
DUs are required immediately.
Deployment
Once the NF deployment state is changed, the event is
sent to the northbound client application.
Register an Event Topic
The following REST API resource URI can be used to register event topics from Oracle Communications Application
Orchestrator.
URL
URI
Request
Method
Description
/ocao/events/registrations
POST
Registers event topics.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request and Response Schema
Note: The request and response message body are the same for this URI.
Event Resources
Oracle? Communications Application Orchestrator
71
Parameter
Description
eventTopic
The event topic for which the northbound client needs to register all the
application-interested event topics at once.
callbackServerBaseUris
The northbound client application uses this URI to implement the callback
REST API on Oracle Communications Application Orchestrator that allows
Oracle Communications Application Orchestrator to send an event to the
northbound client application. This URI identifies the northbound client
application server. For example: http://localhost:8080</callbackServerBaseUri>.
eventTopics
Select this option to access eventTopic parameters.
id
There is no registration entry object ID.
loginUriPath
The login URI path that initiates a client/server session and returns a valid
session ID. For example: /v1.0/admin/login.
logoutUriPath
The login URI path that tears down a session with a valid session ID. For
example: /v1.0/admin/logout
pwd
The password that is used by Oracle Communications Application Orchestrator
to log into the NSO before it can send the event notification.
user
The user name that is used by Oracle Communications Application Orchestrator
to log into the NSO before it can send the event notification.
messageFormat
The way in which the message contents are formatted. For example, XML.
appName
The northbound client application name that registers the event topic. For
example, the northbound service orchestrator, Oracle Communications Session
Element Manager, etc.
appGlobalId
The unique ID or name that the northbound client application uses to register
with Oracle Communications Application Orchestrator. If this northbound client
Event Resources
72
Oracle? Communications Application Orchestrator
Parameter
Description
application runs as a cluster, the unique ID or name can be the cluster ID or
name. Oracle Communications Application Orchestrator uses this ID or name to
ensure that only one client in the cluster is notified when an event occurs.
Confirm an Event
The following REST API resource URI can be used to submit data to the northbound client application to confirm
that it received an event message from Oracle Communications Application Orchestrator.
URL
URI
Request
Method
Description
/ocao/events/confirmations
POST
Submits data to a northbound client application to confirm an
event.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Parameter
Description
eventSeqId
The original event sequence ID for when the northbound client application
received this event from Oracle Communications Application Orchestrator.
appName
The northbound client application name that registers the event topic. For
example, the northbound service orchestrator, Oracle Communications Session
Element Manager, etc.
appGlobalId
The unique ID or name that the northbound client application uses to register
with Oracle Communications Application Orchestrator. If this northbound client
application runs as a cluster, the unique ID or name can be the cluster ID or
name. Oracle Communications Application Orchestrator uses this ID or name to
ensure that only one client in the cluster is notified when an event occurs.
eventType
The original event type for when the northbound client application received this
event from Oracle Communications Application Orchestrator.
status
The event processing status (
success or
failed) on the northbound client
application.
Event Resources
Oracle? Communications Application Orchestrator
73
Response Schema
There are no response parameters for this REST API resource.
Retrieve All Event Registrations
The following REST API resource URI can be used to list all event registrations from Oracle Communications
Application Orchestrator.
URL
URI
Request
Method
Description
/ocao/events/registrations
GET
Lists all event registrations.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Note: See the
Register an Event Topic section for the response schema information.
Retrieve an Event Registration
The following REST API resource URI can be used to retrieve information for a specified registered event from
Oracle Communications Application Orchestrator.
URL
URI
Request
Method
Description
/ocao/events/registrations/
{
registrationId}
GET
Retrieves a registered event type.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Note: See the
Register an Event Topic section for the response schema information.
Event Resources
74
Oracle? Communications Application Orchestrator
Unregister an Event
The following REST API resource URI can be used to unregister an event from Oracle Communications Application
Orchestrator.
URL
URI
Request
Method
Description
/ocao/events/registrations/
{
registrationId}
DELETE
Unregisters a registered event.
? Normal response code: 200 (OK)
? Error response code: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Note: There are no request parameters for this API resource.
Response Schema
Note: There are no response parameters for this API resource.
Event Resources
Oracle? Communications Application Orchestrator
75
7
Fault Retrieval
Use the information in this chapter to retrieve fault resources through the Oracle Communications Application
Orchestrator REST API.
Retrieve Application Orchestrator Alarms
The following REST API resource URI can be used to retrieve Oracle Communications Application Orchestrator
alarms that are generated when an alarm occurs on a node for the northbound client application.
Note: To receive notifications, ensure that SNMP communities and the MIB contact and trap receiver
information is configured on your OSS/BSS system in order to receive fault notifications.
URL
URI
Request
Method
Description
/fault/alarms?
type={OCAO}&offset={100}&l
imitation={50}&startTime={M
M-dd-yy}&endTime{MM-dd-
yy}&source={acmeXX}&source
Ip={x.x.x.x}&severity={Major}
GET
Gets alarms. All alarms are retrieved by default. You can use the
following filter criteria parameters with this URI:
? type—Retrieves different types of alarms for Application
Orchestrator and supports pagination through the offset
parameter. If the offset parameter is not specified, the default
result always returns the first 50 alarms.
? limitation—Specifies the number of alarms to retrieve in a
request.
? startTime—Start time for retrieving alarms in month, day and
year format (mm-dd-yy). For example, March 15, 2015 is:
03-15-15.
? endTime—End time for retrieving alarms in month, day and
year format (mm-dd-yy). For example, October 21, 2015 is:
10-21-15.
? source—The exact descriptive source of the alarm.
? sourceIp—The source IP address from which this alarm was
generated.
? severity—The severity name of the alarm. See below for
alarm names.
Oracle? Communications Application Orchestrator
77
URI
Request
Method
Description
URI response codes:
? Normal: 200 (OK)
? Error: 400 (Bad Request), 401 (Unauthorized)
Request Schema
Note:
There are no request parameters for this REST API.
Response Schema
Parameter
Type
Description
acknowledgedBy
String
The user that acknowledged the alarm.
annotation
String
The user-defined note pertaining to this alarm.
description
String
A short description of the alarm.
failedResource
String
The resource responsible for this alarm.
objectId
String
The object identifier (OID) associated with this alarm.
severity
String
One of the following user-defined severity levels can display for a system
alarm:
Fault Retrieval
78
Oracle? Communications Application Orchestrator
Parameter
Type
Description
Note: The number indicates the severity level.
? (0)Emergency—The system is unusable.
? (1) Critical—The alert indicates that action must be taken
immediately. If no actions are taken, there may be physical,
permanent, and irreparable damage to your system.
? (2) Major—Critical conditions exist. The functionality has been
seriously compromised and a loss of functionality, hanging
applications, and dropped packets may occur. If no actions are taken,
your system will suffer no physical harm, but it will cease to function.
? (3) Minor—Error conditions exist. Functionality has been impaired to
a certain degree and you might experience compromised
functionality. There will be no physical harm to your system, but you
need to take actions to keep your system operating properly.
? (4) Warning—Warning conditions exist. Some irregularities in
performance. These conditions are noteworthy and you should take
actions to keep your system operating properly.
? (5) Notice—Normal, but a significant condition exists.
? (6) Info—Informational messages are appearing.
? (7)Trace—Trace messages appear.
? (8) Debug—Debugging messages appear.
? (9) Detail—Detailed messages appear.
source
String
The exact descriptive source of the alarm.
sourceGroupId
String
The identity of the source group associated with this alarm.
sourceIp
String
The source IP address from which this alarm was generated.
sysUpTime
String
Length of time the system has been operational in hours, minutes, and
seconds.
trapName
String
The exact name of the trap associated with this alarm. For example,
apNNCTrapRelayAliveNotification.
type
String
The type of trap associated with this alarm. For example,
apOCAONFcDUAvailabilityFailure.
Fault Retrieval
Oracle? Communications Application Orchestrator
79
A
Application Orchestrator REST API Examples
The Oracle Communications Application Orchestrator REST API resource examples in this chapter can be used to
help you specify request and response parameters. The message body for each example is represented in XML format.
VIM Resource Examples
Retrieve Initial VIM Configuration Parameters: Example
The following example retrieves the initial VIM configuration parameters before creating a VIM:
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<vim>
<type>vCloud Director 5.5.x</type>
<parameters>
<parameter>
<description>The base URL to the cloud. Example: https://mycloud.com:
443</description>
<name>vimURL</name>
<readOnly>false</readOnly>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The username to use for authentication</description>
<name>vimUsername</name>
<readOnly>false</readOnly>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The password to use for authentication</description>
<name>vimPassword</name>
<readOnly>false</readOnly>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The VCloud organization to which this user belongs.</
description>
<name>vimOrganization</name>
<readOnly>false</readOnly>
Oracle? Communications Application Orchestrator
81
<valueType>String</valueType>
</parameter>
<parameter>
<description>The catalog to use for vAppTemplate storage.</description>
<name>vimCatalog</name>
<readOnly>false</readOnly>
<valueType>SingleSelection</valueType>
</parameter>
<parameter>
<description>Cloud identifier for Catalog.</description>
<name>vimCatalogRef</name>
<readOnly>true</readOnly>
<valueType>String</valueType>
</parameter>
</parameters>
</vim>
Retrieve Dynamic VIM Configuration Parameters and Required User
Credentials: Example
The following example retrieves any of the dynamic VIM configuration parameters that cannot be returned after
retrieving the initial VIM configuration parameters:
Response XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vim>
<parameters>
<parameter>
<name>vimURL</name>
<value>https://10.196.120.51</value>
</parameter>
<parameter>
<name>vimUsername</name>
<valueType>String</valueType>
<value>nnc</value>
</parameter>
<parameter>
<description>The password to use for authentication</description>
<name>vimPassword</name>
<value>abc123</value>
</parameter>
<parameter>
<name>vimOrganization</name>
<valueType>String</valueType>
<value>oracle</value>
</parameter>
</parameters>
</vim>
Create a VIM: Example
The following example creates a new VIM .
Request XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vim>
<name>tegeRestVim-20</name>
<type>vCloud Director 5.5.x</type>
<parameters>
<parameter>
Application Orchestrator REST API Examples
82
Oracle? Communications Application Orchestrator
<name>vimURL</name>
<value>https://10.196.120.51</value>
</parameter>
<parameter>
<name>vimUsername</name>
<value>nnc</value>
</parameter>
<parameter>
<name>vimPassword</name>
<value>abcccceddd</value>
</parameter>
<parameter>
<name>vimOrganization</name>
<value>oracle</value>
</parameter>
<parameter>
<name>vimCatalog</name>
<value>test</value>
</parameter>
</parameters>
</vim>
Response XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vim>
<id>76</id>
<name>tegeRestVim-20</name>
<parameters>
<parameter>
<description>The base URL to the cloud. Example: https://mycloud.com:
443</description>
<name>vimURL</name>
<readOnly>true</readOnly>
<value>https://10.196.120.51</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The username to use for authentication</description>
<name>vimUsername</name>
<readOnly>true</readOnly>
<value>nnc</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The password to use for authentication</description>
<name>vimPassword</name>
<readOnly>false</readOnly>
<value>abc123</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The VCloud organization to which this user belongs.</
description>
<name>vimOrganization</name>
<readOnly>true</readOnly>
<value>oracle</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The catalog to use for vAppTemplate storage.</description>
<name>vimCatalog</name>
<readOnly>false</readOnly>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
83
<validValues>
<validValue>test</validValue>
</validValues>
<value>test</value>
<valueType>SingleSelection</valueType>
</parameter>
<parameter>
<description>Cloud identifier for Catalog.</description>
<name>vimCatalogRef</name>
<readOnly>true</readOnly>
<value>https://10.196.120.51/api/catalog/501f5e5d-ae70-4d54-
be14-6917d436e125</value>
<valueType>String</valueType>
</parameter>
</parameters>
<type>vCloud Director 5.5.x</type>
</vim>
Retrieve the Available DCs for a VIM: Example
The following example retrieves the available data centers (DCs) for a specified VIM.
Response XML for OpenStack
<?xml version="1.0" encoding="UTF-8"?>
<vimDcs>
<vimType>OracleOpenStackForOracleLinux</vimType>
<vimName>Vim-2</vimName>
<vimId>1</vimId>
<dcs>
<dc>
<name>nova</name>
</dc>
<dc>
<name> nova-second </name>
</dc>
</dcs>
<vimDcs>
Response XML for vCloud
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vimDcs>
<vimId>12</vimId>
<vimName>VIM-1</vimName>
<vimType>vCloud Director 5.5.x</vimType>
<dcs>
<dc>
<name>MainVDC</name>
</dc>
<dc>
<name>SmallVDC</name>
</dc>
</dcs>
</vimDcs>
VDC Resource Examples
Retrieve All VDCs that are Associated with VIMs: Example
The following example retrieves all VDCs that are associated with VIMs.
Application Orchestrator REST API Examples
84
Oracle? Communications Application Orchestrator
Response XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vdcs>
<pageInfo>
<limitation>10</limitation>
<numberOfElements>2</numberOfElements>
<offset>1</offset>
</pageInfo>
<vdc>
<id>44</id>
<name>tgeVdcTest</name>
<reference>MainVDC</reference>
<vimId>12</vimId>
<vimName>tgeTest</vimName>
</vdc>
<vdc>
<id>68</id>
<name>tgeVdcTest-10</name>
<reference>MainVDC</reference>
<vimId>12</vimId>
<vimName>tgeTest</vimName>
</vdc>
</vdcs>
Retrieve a VDC Configuration: Example
The following example retrieves configuration parameters for a specific VDC in the VIM:
Request XML
<?xml version="1.0" encoding="UTF-8"?>
<vdc>
<vimName>tgeVim-1</vimName>
</vdc>
Response XML for vCloud VIM
<?xml version="1.0" encoding="UTF-8"?>
<vdc>
<reference>MainVDC</reference>
<vimId>52</vimId>
<vimName>TgeTest-4</vimName>
<hypervisors/>
<parameters>
<parameter>
<description>'Fast Provisioning' must be disabled for VCloud
Datacenters</description>
<name>dcWarning</name>
<readOnly>true</readOnly>
<value>Please ensure that the 'Fast Provisioning' feature is disabled
for this Datacenter!</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>Datacenter identifier in the cloud</description>
<name>dcCloudId</name>
<readOnly>true</readOnly>
<value>https://10.196.120.51/api/vdc/3c9cd2e2-
f65b-4f32-91de-5525b58d3a1f</value>
<valueType>String</valueType>
</parameter>
<parameter>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
85
<description>The Storage Profile which will be used to allocate VM
storage for this Datacenter.</description>
<name>dcStorageProfile</name>
<readOnly>false</readOnly>
<validValues>
<validValue>SharedStorage</validValue>
<validValue>Local Storage</validValue>
<validValue>*</validValue>
</validValues>
<valueType>SingleSelection</valueType>
</parameter>
<parameter>
<description>Storage Profile identifier in the cloud.</description>
<name>dcStorageProfileRef</name>
<readOnly>true</readOnly>
<valueType>String</valueType>
</parameter>
<parameter>
<description>Enable Anti-Affinity rules for HA-paired VMs. Anti-
Affinity rules prevent VMs from running on the same physical host.</
description>
<name>dcEnableAA</name>
<readOnly>false</readOnly>
<value>false</value>
<valueType>BooleanString</valueType>
</parameter>
</parameters>
</vdc>
Create and Associate a VDC with a VIM: Example
The following example creates and associates a virtual data center (VDC) with a supported VIM.
Request XML
<?xml version="1.0" encoding="UTF-8"?>
<vdc>
<hypervisors/>
<name>tgeVdcTest-100</name>
<parameters>
<parameter>
<name>dcStorageProfile</name>
<value>SharedStorage</value>
</parameter>
<parameter>
<name>dcEnableAA</name>
<value>false</value>
</parameter>
</parameters>
<reference>MainVDC</reference>
<vimName>TgeRestVim-4</vimName>
</vdc>
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<vdc>
<hypervisors>
<hypervisor>ESXI</hypervisor>
</hypervisors>
<id>112</id>
<name>tgeVdcTest-100</name>
<reference>MainVDC</reference>
Application Orchestrator REST API Examples
86
Oracle? Communications Application Orchestrator
<vimId>60</vimId>
<vimName>tegeRestVim-10</vimName>
<parameters>
<parameter>
<description>'Fast Provisioning' must be disabled for VCloud
Datacenters</description>
<name>dcWarning</name>
<readOnly>true</readOnly>
<value>Please ensure that the 'Fast Provisioning' feature is disabled
for this Datacenter!</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>Datacenter identifier in the cloud</description>
<name>dcCloudId</name>
<readOnly>true</readOnly>
<value>https://10.196.120.51/api/vdc/3c9cd2e2-
f65b-4f32-91de-5525b58d3a1f</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>The Storage Profile which will be used to allocate VM
storage for this Datacenter.</description>
<name>dcStorageProfile</name>
<readOnly>false</readOnly>
<validValues>
<validValue>SharedStorage</validValue>
</validValues>
<value>SharedStorage</value>
<valueType>SingleSelection</valueType>
</parameter>
<parameter>
<description>Storage Profile identifier in the cloud.</description>
<name>dcStorageProfileRef</name>
<readOnly>true</readOnly>
<value>https://10.196.120.51/api/vdcStorageProfile/
374055b7-70a1-4482-85f9-510b865e750b</value>
<valueType>String</valueType>
</parameter>
<parameter>
<description>Enable Anti-Affinity rules for HA-paired VMs. Anti-
Affinity rules prevent VMs from running on the same physical host.</
description>
<name>dcEnableAA</name>
<readOnly>false</readOnly>
<value>false</value>
<valueType>BooleanString</valueType>
</parameter>
</parameters>
<cloudNetworks>
<cloudNetwork>
<name>Access</name>
<ref>https://10.196.120.51/api/network/7c439cef-165b-4dfc-923a-
c8662cea43c4</ref>
</cloudNetwork>
<cloudNetwork>
<name>Wancom1</name>
<ref>https://10.196.120.51/api/network/e9b96827-
e601-4669-8337-587420d9a6e5</ref>
</cloudNetwork>
<cloudNetwork>
<name>Wancom2</name>
<ref>https://10.196.120.51/api/network/4f2dad94-5aea-414e-b74d-
ce0cdc54f9e7</ref>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
87
</cloudNetwork>
<cloudNetwork>
<name>Private Mgmt</name>
<ref>https://10.196.120.51/api/network/222c33ea-75cc-4af3-9162-
ea3c4f410f41</ref>
</cloudNetwork>
<cloudNetwork>
<name>Management</name>
<ref>https://10.196.120.51/api/network/40d90f7e-4b62-4c79-9fb4-
c8a0de812928</ref>
</cloudNetwork>
<cloudNetwork>
<name>Core External</name>
<ref>https://10.196.120.51/api/network/
fbf77107-7f53-4aeb-9613-8ddc82edf498</ref>
</cloudNetwork>
</cloudNetworks>
</vdc>
Retrieve All VM Images: Example
The following example retrieves all VM images from the Oracle Communications Application Orchestrator image
archive.
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<vmImages>
<vmImage>
<name>vmImageSCZ715</name>
<filename>nnSCZ715.64-img-bin.ova</filename>
<description>this is Oracle CSM and SLRM software image </description>
<softwareVersion>SCZ715</softwareVersion>
<size>8635164 bytes</size>
<cpuCapacity>2</cpuCapacity>
<memoryCapacity>2GB</memoryCapacity>
<diskCapacity>43GB</diskCapacity >
<NICs>8</NICs >
<componentTypes>
<componentType>CSM</componentType>
<componentType>SLRM</componentType>
</componentTypes>
<hypervisors>
<hypervisor> ESXI</hypervisor>
<hypervisor> KVM</hypervisor>
<hypervisor> OVM_PV</hypervisor>
<hypervisor> OVM_HVM</hypervisor>
</hypervisors>
</vmImage>
</vmImages>
NF Resource Examples
Retrieve an NF Descriptor: Example
The following example retrieves an NF descriptor (NFD).
Application Orchestrator REST API Examples
88
Oracle? Communications Application Orchestrator
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<nfd>
<name>IMS-core</name>
<id>12</id>
<version>1.0</version>
<vendor>ORACLE</vendor>
<vendorId>ACME</vendorId>
<cnfPluginName>Acme CNF Adaptor</cnfPluginName >
</nfd>
Retrieve the Resource Criteria for an NF: Example
The following example retrieves the resource criteria for an NF, which is calculated and resized by default criteria
values.
Request XML
<?xml version="1.0" encoding="UTF-8"?>
<resourceCriteria>
<hscName/>
<parameters>
<parameter>
<description>Minimum Number of Subscribers.</description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MinimumNumberOfSubscribers</name>
<readOnly>false</readOnly>
<value>450000</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Maximum Number Of Subscribers</description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MaximumNumberOfSubscribers</name>
<readOnly>false</readOnly>
<value>850000</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Minimum Messages per Second for Busy Hour Call Attempts</
description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MinimumMessagesPerSecond</name>
<readOnly>false</readOnly>
<value>7360</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Maximum Messages per Second for Busy Hour Call Attempts</
description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MaximumMessagesPerSecond</name>
<readOnly>false</readOnly>
<value>13650</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Sizing Model</description>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
89
<name>SizingModel</name>
<readOnly>false</readOnly>
<validValues>
<validValue>Small</validValue>
<validValue>Medium</validValue>
<validValue>Large</validValue>
</validValues>
<value>Small</value>
<valueType>SingleSelection</valueType>
</parameter>
</parameters>
</resourceCriteria>
Retrieve Resource Usage Requirements for a Deployed NF: Example
The following example retrieve the current deployed NF resource usage requirement for scaling purposes.
Request XML
<?xml version="1.0" encoding="UTF-8"?>
<resourceCriteria>
<hscName>hscForCsmStandaloneBoston</hscName>
<parameters>
<parameter>
<description>Minimum Number of Subscribers.</description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MinimumNumberOfSubscribers</name>
<readOnly>false</readOnly>
<value>450000</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Maximum Number Of Subscribers</description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MaximumNumberOfSubscribers</name>
<readOnly>false</readOnly>
<value>850000</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Minimum Messages per Second for Busy Hour Call Attempts</
description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MinimumMessagesPerSecond</name>
<readOnly>false</readOnly>
<value>7360</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Maximum Messages per Second for Busy Hour Call Attempts</
description>
<maxValue>9223372036854775807</maxValue>
<minValue>-9223372036854775808</minValue>
<name>MaximumMessagesPerSecond</name>
<readOnly>false</readOnly>
<value>13650</value>
<valueType>NumberString</valueType>
</parameter>
<parameter>
<description>Sizing Model</description>
Application Orchestrator REST API Examples
90
Oracle? Communications Application Orchestrator
<name>SizingModel</name>
<readOnly>false</readOnly>
<validValues>
<validValue>Small</validValue>
<validValue>Medium</validValue>
<validValue>Large</validValue>
</validValues>
<value>Small</value>
<valueType>SingleSelection</valueType>
</parameter>
</parameters>
</resourceCriteria>
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<!--assuming 3 csm, 1 slrm, 2 Asbc, 1 SLB -->
<nfRequirement>
<nfdName>IMS-Access-Hybrid</nfdName>
<nfdId>12</nfdId>
<nfdVendor>ORACLE</nfdVendor>
<nfdVendorId>ACME</nfdVendorId>
<nfdVersion>ORACLE</nfdVersion>
<hscName>HSCForIMS-Access-Hybrid-EastCoast</hscName>
<name/>
<id/>
<resourceCriteria/>
<vLinks>
<vLink>
<id>11</id>
<scope>public</scope>
<name>Access</name>
<description>This is media network for Access</description>
<type>Media</type>
<qos>
<latency>10ms</latency>
<jitter>50ms</jitter>
<pktLoss>0%</pktLoss>
<bandwidth>10G</bandwidth>
</qos>
<connectedNICs/>
<subnets>
<subnet>
<id>2101</id>
<name>Access_11</name>
<vlanId>11</vlanId>
<epPools/>
<externalEps/>
<sharedExternalEps/>
</subnet>
<subnet>
<id>2102</id>
<name>Access:0</name>
<vlanId>0</vlanId>
<epPools/>
<externalEps/>
<sharedExternalEps/>
</subnet>
</subnets>
</vLink>
<vLink>
<id>12</id>
<scope>public</scope>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
91
<name>Core</name>
<description>This is media network for Core</description>
<type>Media</type>
<qos>
<latency>10ms</latency>
<jitter>50ms</jitter>
<pktLoss>0%</pktLoss>
<bandwidth>10G</bandwidth>
</qos>
<connectedNICs/>
<subnets>
<subnet>
<id>2201</id>
<name>CoreSubnet</name>
<vlanId>0</vlanId>
<epPools/>
<externalEps/>
<sharedExternalEps/>
</subnet>
</subnets>
</vLink>
</vLinks>
<virtualResource>
<virtualTotal>
<currentCpuCore>0</currentCpuCore>
<currentMemoryMB>0</currentMemoryMB>
<currentDiskGB>0</currentDiskGB>
<minCpuCore>14</minCpuCore>
<minMemoryMB>14</minMemoryMB>
<minDiskGB>301</minDiskGB>
<maxCpuCore>128</maxCpuCore>
<maxMemoryMB>128</maxMemoryMB>
<maxDiskGB>2748</maxDiskGB>
<supportedAccelerators>
<softwareBased>
<type>DPDK</type>
</softwareBased>
<hardwareBased>
<epa>PCI-passthrough</epa>
<epa>transcoding</epa>
<epa>encryption</epa>
<epa>IntelAVX</epa>
</hardwareBased>
</supportedAccelerators>
</virtualTotal>
<virtualGroups>
<vScalabilityGroup>
<name>CSM-Core</name>
<componentType>CSM</componentType>
<version>SCZ715</version>
<deviceInfo>
<parameters>
<parameter>
<name>deviceGroup</name>
<value/>
<type>String</type>
<description>this is the device group that the device belongs
to</description>
</parameter>
<parameter>
<name>snmpCommunity</name>
<value/>
<type>String</type>
<description>the device snmp community</description>
Application Orchestrator REST API Examples
92
Oracle? Communications Application Orchestrator
</parameter>
<parameter>
<name>autoScaling</name>
<value>false</value>
<type>String</type>
<description>this is the scaling mode</description>
</parameter>
<parameter>
<name>deviceUserPassword</name>
<value/>
<type>String</type>
<description>the user password on device customer wish to use</
description>
</parameter>
<parameter>
<name>deviceAdminPassword</name>
<value/>
<type>String</type>
<description>the admin user password on device customer wish to
use</description>
</parameter>
<parameter>
<name>deviceConfigPassword</name>
<value/>
<type>String</type>
<description>this is the configuration password on device
customer wish to use</description>
</parameter>
</parameters>
</deviceInfo>
<dcParameters>
<parameter>
<name>transcodingCoreUsage</name>
<value/>
<type>String</type>
<description>the CPU cores that dedicate for transcoding</
description>
</parameter>
<parameter>
<name>dosCoreUsage</name>
<value/>
<type>String</type>
<description>the CPU cores that dedicate for DOS</description>
</parameter>
<parameter>
<name>forwardingCoreUsage</name>
<value/>
<type>String</type>
<description>the CPU cores that dedicate for forwarding</
description>
</parameter>
<parameter>
<name>signalingCoreUsage</name>
<value/>
<type>String</type>
<description>the CPU cores that dedicate for signaling</
description>
</parameter>
<parameter>
<name>pageSizeInMB</name>
<value/>
<type>String</type>
<description>memory page size either in 2 for 2MB or 1024 for
1GB</description>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
93
</parameter>
<parameter>
<name>memorySize</name>
<value/>
<type>String</type>
<description>memory size either 1024 for page size 2MB or 1 for
page size 1GB </description>
</parameter>
</dcParameters>
<geoRedundancyGroups>
<geoRedundancyGroup>
<type>primary</type>
<currentSegmentCount>0</currentSegmentCount>
<requiredSegmentCount>3</requiredSegmentCount>
<removedSegmentCount>0</removedSegmentCount>
<maximumSegmentCount>5</maximumSegmentCount>
<groupSegment>
<cpuCore>2</cpuCore>
<memoryMB>4096</memoryMB>
<diskGB>8</diskGB>
<supportedAccelerators>
<hardwareBased>
<epa>encryption</epa>
<epa>IntelAVX</epa>
</hardwareBased>
</supportedAccelerators>
<vLinks>
<vLink>
<id/>
<scope/>
<name>Core</name>
<description/>
<type/>
<qos/>
<connectedNICs/>
<subnets>
<subnet>
<id>2201</id>
<name>CoreSubnet</name>
<vlanId/>
<epPools>
<epPool>
<type>IPv4</type>
<size>1</size>
</epPool>
<epPool>
<type>IPv6</type>
<size>0</size>
</epPool>
<epPool>
<type>Mac</type>
<size>0</size>
</epPool>
</epPools>
<externalEps>
<endpoint>
<name>CxInterface1</name>
<id>23232</id>
<type>Cx</type>
<description>Cx</description>
<parameters>
<parameter>
<name>protocol</name>
<value/>
Application Orchestrator REST API Examples
94
Oracle? Communications Application Orchestrator
<type>String</type>
<description>network protocol for this
endpoint</description>
</parameter>
<parameter>
<name>port</name>
<value/>
<type>String</type>
<description>port number for this endpoint</
description>
</parameter>
<parameter>
<name>ip</name>
<value/>
<type>IPv4</type>
<description>ip address for this endpoint</
description>
</parameter>
</parameters>
</endpoint>
<endpoint>
<name>CxInterface2</name>
<id>23233</id>
<type>Cx</type>
<description>Cx</description>
<parameters>
<parameter>
<name>protocol</name>
<value/>
<type>String</type>
<description>network protocol for this
endpoint</description>
</parameter>
<parameter>
<name>port</name>
<value/>
<type>String</type>
<description>port number for this endpoint</
description>
</parameter>
<parameter>
<name>ip</name>
<value/>
<type>IPv4</type>
<description>ip address for this endpoint</
description>
</parameter>
</parameters>
</endpoint>
</externalEps>
<sharedExternalEps/>
</subnet>
</subnets>
</vLink>
<vLink>
<id/>
<scope/>
<name>Management</name>
<description/>
<type/>
<qos/>
<connectedNICs/>
<subnets>
<subnet>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
95
<id>2301</id>
<name>MgmtSubnet</name>
<vlanId/>
<epPools>
<epPool>
<type>IPv4</type>
<size>2</size>
</epPool>
<epPool>
<type>IPv6</type>
<size>0</size>
</epPool>
<epPool>
<type>Mac</type>
<size>0</size>
</epPool>
</epPools>
<externalEps/>
<sharedExternalEps/>
</subnet>
</subnets>
</vLink>
<vLink>
<id/>
<scope/>
<name>HARedundancy1</name>
<description/>
<type/>
<qos/>
<connectedNICs/>
<subnets>
<subnet>
<id>2401</id>
<name>HAUtil_1_Subnet</name>
<vlanId/>
<epPools>
<epPool>
<type>IPv4</type>
<size>2</size>
</epPool>
<epPool>
<type>IPv6</type>
<size>0</size>
</epPool>
<epPool>
<type>Mac</type>
<size>0</size>
</epPool>
</epPools>
<externalEps/>
<sharedExternalEps/>
</subnet>
</subnets>
</vLink>
<vLink>
<id/>
<scope/>
<name>HARedundancy2</name>
<description/>
<type/>
<qos/>
<connectedNICs/>
<subnets>
<subnet>
Application Orchestrator REST API Examples
96
Oracle? Communications Application Orchestrator
<id>2501</id>
<name>HAUtil_2_Subnet</name>
<vlanId/>
<epPools>
<epPool>
<type>IPv4</type>
<size>2</size>
</epPool>
<epPool>
<type>IPv6</type>
<size>0</size>
</epPool>
<epPool>
<type>Mac</type>
<size>0</size>
</epPool>
</epPools>
<externalEps/>
<sharedExternalEps/>
</subnet>
</subnets>
</vLink>
</vLinks>
</groupSegment>
</geoRedundancyGroup>
<geoRedundancyGroup>
<type>Disaster Recovery</type>
<currentSegmentCount>0</currentSegmentCount>
<requiredSegmentCount>3</requiredSegmentCount>
<removedSegmentCount>0</removedSegmentCount>
<maximumSegmentCount>5</maximumSegmentCount>
<groupSegment>
<cpuCore>2</cpuCore>
<memoryMB>4096</memoryMB>
<diskGB>8</diskGB>
<supportedAccelerators>
<hardwareBased>
<epa>encryption</epa>
<epa>IntelAVX</epa>
</hardwareBased>
</supportedAccelerators>
<vLinks>
</vLinks>
</groupSegment>
</geoRedundancyGroup>
</geoRedundancyGroups>
</vScalabilityGroup>
<vScalabilityGroup>
<name>SLRM-Core</name>
<componentType>SLRM</componentType>
<version>SCZ715</version>
<deviceInfo>
</deviceInfo>
<dcParameters>
</dcParameters>
<geoRedundancyGroups>
<geoRedundancyGroup>
<type>primary</type>
<currentSegmentCount>0</currentSegmentCount>
<requiredSegmentCount>1</requiredSegmentCount>
<removedSegmentCount>0</removedSegmentCount>
<maximumSegmentCount>2</maximumSegmentCount>
<groupSegment>
<cpuCore>2</cpuCore>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
97
<memoryMB>4096</memoryMB>
<diskGB>8</diskGB>
<supportedAccelerators>
<hardwareBased>
<epa>encryption</epa>
<epa>IntelAVX</epa>
</hardwareBased>
</supportedAccelerators>
<vLinks>
</vLinks>
</groupSegment>
</geoRedundancyGroup>
</geoRedundancyGroups>
</vScalabilityGroup>
<vScalabilityGroup>
</vScalabilityGroup>
</virtualGroups>
</virtualResource>
<physicalResource>
<physicalTotal>
<currentHardwareCount>0</currentHardwareCount>
<minHardwareCount>1</minHardwareCount>
<maxHardwareCount>10</maxHardwareCount>
<hardwareTypes>
<hardwareType>NN6300</hardwareType>
<hardwareType>NN6100</hardwareType>
<hardwareType>NN4500</hardwareType>
</hardwareTypes>
</physicalTotal>
<physicalGroups>
<pScalabilityGroup>
<name>SLB-core</name>
<comnponentType>SLB</comnponentType>
<version>SCZ721</version>
<deviceInfo>
<parameters>
<parameter>
<name>deviceGroup</name>
<value/>
<type>String</type>
<description>this is the device group that the device belongs
to</description>
</parameter>
<parameter>
<name>snmpCommunity</name>
<value/>
<type>String</type>
<description>the device snmp community</description>
</parameter>
</parameters>
</deviceInfo>
<dcParameters/>
<geoRedundancyGroups>
<geoRedundancyGroup>
<type>primary</type>
<currentSegmentCount>0</currentSegmentCount>
<requiredSegmentCount>1</requiredSegmentCount>
<removedSegmentCount>0</removedSegmentCount>
<groupSegment>
<hardwareCount>2</hardwareCount>
<platform>6100</platform>
<vLinks>
<vLink>
<id/>
Application Orchestrator REST API Examples
98
Oracle? Communications Application Orchestrator
<scope/>
<name/>
<description/>
<type/>
<qos/>
<connectedNICs>
<connectedNIC>s0p0</connectedNIC>
<connectedNIC>s0p1</connectedNIC>
</connectedNICs>
<subnets>
<subnet>
<id>2101</id>
<name/>
<vlanId/>
<epPools>
<epPool>
<type>IPv4</type>
<size>2</size>
</epPool>
</epPools>
<externalEps>
<endpoint>
<name>physcalMgmt</name>
<id>23232</id>
<type>Cx</type>
<description>Cx</description>
<parameters>
<parameter>
<name>protocol</name>
<value/>
<type>String</type>
<description>network protocol for this
endpoint</description>
</parameter>
<parameter>
<name>port</name>
<value/>
<type>String</type>
<description>port number for this endpoint</
description>
</parameter>
<parameter>
<name>ip</name>
<value/>
<type>IPv4</type>
<description>ip address for this endpoint</
description>
</parameter>
</parameters>
</endpoint>
</externalEps>
<sharedExternalEps/>
</subnet>
</subnets>
</vLink>
</vLinks>
</groupSegment>
</geoRedundancyGroup>
</geoRedundancyGroups>
</pScalabilityGroup>
</physicalGroups>
</physicalResource>
</nfRequirement>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
99
Deploy an NF: Example
The following example deploys a new NF.
Request XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <nfResourceConfig>
<name>hong-ims-hybrid-nf</name>
<description>Hong IMS hybrid on vCloud test</description>
<appName>myApp</appName>
<appGlobalId>ACME</appGlobalId>
<hscName>hong-ims-hybrid-hsc</hscName>
<resourceCriteria>
<parameters>
<parameter>
<name>SizingModel</name>
<value>Small</value>
</parameter>
<parameter>
<name>MinimumNumberOfSubscribers</name>
<value>250000</value>
</parameter>
<parameter>
<name>MaximumNumberOfSubscribers</name>
<value>850000</value>
</parameter>
<parameter>
<name>MinimumMessagesPerSecond</name>
<value>7360</value>
</parameter>
<parameter>
<name>MaximumMessagesPerSecond</name>
<value>13650</value>
</parameter>
<parameter>
<name>MinimumCPS</name>
<value>32</value>
</parameter>
<parameter>
<name>MaximumCPS</name>
<value>43</value>
</parameter>
<parameter>
<name>MinimumNumberOfSessions</name>
<value>2870</value>
</parameter>
<parameter>
<name>MaximumNumberOfSessions</name>
<value>3870</value>
</parameter>
<parameter>
<name>AverageCallTime</name>
<value>90</value>
</parameter>
</parameters>
</resourceCriteria>
<computeStorageGroups>
<dcs>
<vDC>
<vdcName>qa-vdc</vdcName>
<vLinks>
<vLink>
<name>wancom1Link</name>
Application Orchestrator REST API Examples
100
Oracle? Communications Application Orchestrator
<cloudNetworkName>wancom1</cloudNetworkName>
<cloudNetworkId>https://10.196.149.45/api/network/0964f6a8-
b2e6-4272-8652-26bd51a5d8a4</cloudNetworkId>
<subnets>
<subnet>
<name>wancom1Link:0</name>
<vlanId>0</vlanId>
<epPools>
<epPool>
<type>IPv4</type>
<size>4</size> <range>168.254.1.121-168.254.1.124</
range>
</epPool>
</epPools>
</subnet>
</subnets>
</vLink>
<vLink>
<name>wancom2Link</name>
<cloudNetworkName>wancom2</cloudNetworkName>
<cloudNetworkId>https://10.196.149.45/api/network/abd36a47-
c086-43dd-95c6-16ae7e092aae</cloudNetworkId>
<subnets>
<subnet>
<name>wancom2Link:0</name>
<vlanId>0</vlanId>
<epPools>
<epPool>
<type>IPv4</type>
<size>4</size> <range>168.254.2.121-168.254.2.124</
range>
</epPool>
</epPools>
</subnet>
</subnets>
</vLink>
<vLink>
<name>wancom0Link</name>
<cloudNetworkName>MgmtNet</cloudNetworkName>
<cloudNetworkId>https://10.196.149.45/api/network/ac77f469-9e80-42ea-837a-
a295effc7c2e</cloudNetworkId>
<subnets>
<subnet>
<name>wancom0Link:0</name> <vlanId>0</vlanId>
<externalEpSegments>
<externalEpSegment> <scalabilityGroup>CSM-core</
scalabilityGroup>
<externalEps>
<externalEp>
<name>CSM-core/bootparams</name>
<parameters>
<parameter>
<name>mgmtIP</name>
<value>10.196.149.121</value>
</parameter>
<parameter> <name>mgmtHost</name>
<value>csm121</value>
</parameter>
<parameter>
<name>mgmtIP2</name>
<value>10.196.149.122</value>
</parameter>
<parameter> <name>mgmtHost2</name>
<value>csm122</value>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
101
</parameter>
<parameter> <name>mgmtGateway</name>
<value>10.196.128.1</value>
</parameter>
</parameters>
</externalEp>
</externalEps>
</externalEpSegment>
<externalEpSegment> <scalabilityGroup>SLRM-core</
scalabilityGroup>
<externalEps>
<externalEp> <name>SLRM-core/bootparams</name>
<parameters>
<parameter>
<name>mgmtIP</name>
<value>10.196.149.124</value>
</parameter>
<parameter> <name>mgmtHost</name>
<value>slrm124</value>
</parameter>
<parameter> <name>mgmtGateway</name>
<value>10.196.128.1</value>
</parameter>
</parameters>
</externalEp>
</externalEps>
</externalEpSegment>
<externalEpSegment> <scalabilityGroup>SBC-core</
scalabilityGroup>
<externalEps>
<externalEp> <name>SBC-core/bootparams</name>
<parameters>
<parameter>
<name>mgmtIP</name>
<value>10.196.149.125</value>
</parameter>
<parameter> <name>mgmtHost</name>
<value>sbc125</value>
</parameter>
<parameter>
<name>mgmtIP2</name>
<value>10.196.149.126</value>
</parameter>
<parameter> <name>mgmtHost2</name>
<value>sbc126</value>
</parameter>
<parameter> <name>mgmtGateway</name>
<value>10.196.128.1</value>
</parameter>
</parameters>
</externalEp>
</externalEps>
</externalEpSegment>
</externalEpSegments>
</subnet>
</subnets>
</vLink>
<vLink>
<name>coreLink</name>
<cloudNetworkName>CoreNet</cloudNetworkName>
<cloudNetworkId>https://10.196.149.45/api/network/7791426d-
d2b0-475d-90c4-4b02c627512d</cloudNetworkId>
<subnets>
<subnet>
Application Orchestrator REST API Examples
102
Oracle? Communications Application Orchestrator
<name>coreLink:0</name>
<vlanId>0</vlanId>
<netmask>255.255.0.0</netmask>
<epPools>
<epPool>
<type>IPv4</type>
<size>7</size>
<range>172.16.205.121-172.16.205.127</range>
</epPool>
<epPool>
<type>Mac</type>
<size>2</size> <addresses><address>f2:50:56:40:0a:
21</address><address>f2:50:56:40:0a:25</address></addresses>
</epPool>
</epPools>
<sharedEps>
<sharedEp>
<name>HSS-ep</name>
<parameters>
<parameter>
<name>hssIP</name> <value>172.16.205.21</
value>
</parameter>
</parameters>
</sharedEp>
</sharedEps>
</subnet>
</subnets>
</vLink>
<vLink>
<name>accessLink</name>
<cloudNetworkName>AccessNet</cloudNetworkName>
<cloudNetworkId>https://10.196.149.45/api/network/
21f02d8a-9e46-4dc3-8489-89987b85e77d</cloudNetworkId>
<subnets>
<subnet>
<name>accessLink:11</name>
<vlanId>11</vlanId>
<netmask>255.255.0.0</netmask>
<epPools>
<epPool>
<type>IPv4</type>
<size>3</size>
<range>182.16.205.125-182.16.205.127</range>
</epPool>
<epPool>
<type>Mac</type>
<size>1</size> <addresses><address>f2:50:56:40:0a:
26</address></addresses>
</epPool>
</epPools>
</subnet>
</subnets>
</vLink>
</vLinks>
</vDC>
<pDC>
<siteName>oracle</siteName>
<vLinks>
<vLink>
<name>serviceLink</name>
<subnets>
<subnet>
<name>serviceLink:0</name>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
103
<vlanId>0</vlanId>
<netmask>255.255.0.0</netmask>
<epPools>
<epPool>
<type>IPv4</type>
<size>1</size>
<range>192.168.205.91-192.168.205.91</range>
</epPool>
</epPools>
</subnet>
</subnets>
</vLink>
<vLink>
<name>accessLink</name>
<subnets>
<subnet>
<name>accessLink:11</name>
<vlanId>11</vlanId>
<netmask>255.255.0.0</netmask>
<epPools>
<epPool>
<type>IPv4</type>
<size>1</size> <range>182.16.205.91-182.16.205.91</
range>
</epPool>
</epPools>
</subnet>
</subnets>
</vLink>
<vLink>
<name>wancom0Link</name>
<subnets>
<subnet>
<name>wancom0Link:0</name> <vlanId>0</vlanId>
<externalEpSegments>
<externalEpSegment> <scalabilityGroup>SLB-core</
scalabilityGroup>
<externalEps>
<externalEp>
<name>SLB-core/bootparams</name>
<parameters>
<parameter>
<name>mgmtIP</name> <value>10.196.149.8</
value>
</parameter>
<parameter> <name>adminPassword</name>
<value>packet</value>
</parameter>
<parameter> <name>mgmtHost</name>
<value>sd110</value>
</parameter>
<parameter> <name>mgmtGateway</name>
<value>10.196.128.1</value>
</parameter>
</parameters>
</externalEp>
</externalEps>
</externalEpSegment>
</externalEpSegments>
</subnet>
</subnets>
</vLink>
</vLinks>
</pDC>
Application Orchestrator REST API Examples
104
Oracle? Communications Application Orchestrator
</dcs>
<vScalabilityGroup>
<name>CSM-core</name>
<componentType>CSM</componentType>
<deviceInfo>
<parameter>
<name>userPassword</name>
<value>abc12345!</value>
</parameter>
<parameter>
<name>adminPassword</name>
<value>abc12345!</value>
</parameter>
<parameter>
<name>configPassword</name>
<value>acmepacket</value>
</parameter>
<parameter>
<name>deviceGroup</name>
<value>Home</value>
</parameter>
<parameter>
<name>snmpCommunity</name>
<value>public</value>
</parameter>
<parameter>
<name>useDeviceCluster</name>
<value>true</value>
</parameter>
<parameter>
<name>deviceClusterName</name>
<value>hong-csm-ha-cluster</value>
</parameter>
</deviceInfo>
<geoRedundancyGroups>
<geoRedundancyGroup>
<type>Preferred</type>
<reservedDcs>
<reservedDc>
<vdcName>qa-vdc</vdcName> <reservedSegmentCount>1</
reservedSegmentCount>
<dcParameters>
<parameter>
<name>bootparams.gateway</name>
<value>10.196.128.1</value>
</parameter>
<parameter>
<name>bootparams.netmask0</name>
<value>255.255.224.0</value>
</parameter>
<parameter>
<name>bootparams.vlan</name>
<value>0</value>
</parameter>
</dcParameters>
</reservedDc>
</reservedDcs>
</geoRedundancyGroup>
</geoRedundancyGroups>
</vScalabilityGroup>
<vScalabilityGroup>
<name>SLRM-core</name>
<componentType>SLRM</componentType>
<deviceInfo>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
105
<parameter>
<name>userPassword</name>
<value>abc12345!</value>
</parameter>
<parameter>
<name>adminPassword</name>
<value>abc12345!</value>
</parameter>
<parameter>
<name>configPassword</name>
<value>acmepacket</value>
</parameter>
<parameter>
<name>deviceGroup</name>
<value>Home</value>
</parameter>
<parameter>
<name>snmpCommunity</name>
<value>public</value>
</parameter>
<parameter>
<name>useDeviceCluster</name>
<value>true</value>
</parameter>
<parameter>
<name>deviceClusterName</name>
<value>hong-slrm-cluster</value>
</parameter>
</deviceInfo>
<geoRedundancyGroups>
<geoRedundancyGroup>
<type>Preferred</type>
<reservedDcs>
<reservedDc>
<vdcName>qa-vdc</vdcName> <reservedSegmentCount>1</
reservedSegmentCount>
<dcParameters>
<parameter>
<name>bootparams.gateway</name>
<value>10.196.128.1</value>
</parameter>
<parameter>
<name>bootparams.netmask0</name>
<value>255.255.224.0</value>
</parameter>
<parameter>
<name>bootparams.vlan</name>
<value>0</value>
</parameter>
</dcParameters>
</reservedDc>
</reservedDcs>
</geoRedundancyGroup>
</geoRedundancyGroups>
</vScalabilityGroup>
<vScalabilityGroup>
<name>SBC-core</name>
<componentType>SBC</componentType>
<deviceInfo>
<parameter>
<name>userPassword</name>
<value>abc12345!</value>
</parameter>
<parameter>
Application Orchestrator REST API Examples
106
Oracle? Communications Application Orchestrator
<name>adminPassword</name>
<value>abc12345!</value>
</parameter>
<parameter>
<name>configPassword</name>
<value>acmepacket</value>
</parameter>
<parameter>
<name>deviceGroup</name>
<value>Home</value>
</parameter>
<parameter>
<name>snmpCommunity</name>
<value>public</value>
</parameter>
<parameter>
<name>useDeviceCluster</name>
<value>true</value>
</parameter>
<parameter>
<name>deviceClusterName</name>
<value>hong-sbc-ha-cluster</value>
</parameter>
<parameter>
<name>entitlement:capacity:capacity</name>
<value>5000</value>
</parameter>
<parameter>
<name>entitlement:feature:FEATURE_ACCOUNTING</name>
<value>false</value>
</parameter>
<parameter>
<name>entitlement:feature:FEATURE_IPV6</name>
<value>false</value>
</parameter>
<parameter>
<name>entitlement:feature:FEATURE_SAG</name>
<value>true</value>
</parameter>
<parameter>
<name>entitlement:feature:FEATURE_QOS</name>
<value>true</value>
</parameter>
<parameter>
<name>entitlement:feature:FEATURE_SESSION_RECORDING</name>
<value>false</value>
</parameter>
<parameter>
<name>entitlement:feature:FEATURE_IWF</name>
<value>false</value>
</parameter>
<parameter>
<name>entitlement:feature:Routing</name>
<value>true</value>
</parameter>
<parameter>
<name>entitlement:feature:Policy Server</name>
<value>true</value>
</parameter>
</deviceInfo>
<geoRedundancyGroups>
<geoRedundancyGroup>
<type>Preferred</type>
<reservedDcs>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
107
<reservedDc>
<vdcName>qa-vdc</vdcName> <reservedSegmentCount>1</
reservedSegmentCount>
<dcParameters>
<parameter>
<name>bootparams.gateway</name>
<value>10.196.128.1</value>
</parameter>
<parameter>
<name>bootparams.netmask0</name>
<value>255.255.224.0</value>
</parameter>
<parameter>
<name>bootparams.vlan</name>
<value>0</value>
</parameter>
<parameter>
<name>MediaPath.CoreUsageTranscoding</name>
<value></value>
</parameter>
<parameter>
<name>MediaPath.CoreUsageDOS</name>
<value>3</value>
</parameter>
<parameter>
<name>MediaPath.CoreUsageForwarding</name>
<value>2</value>
</parameter>
<parameter>
<name>MediaPath.CoreUsageSignaling</name>
<value>0,1</value>
</parameter>
<parameter>
<name>MediaPath.PageSize</name>
<value>2M</value>
</parameter>
<parameter>
<name>MediaPath.MemorySize</name>
<value>1024</value>
</parameter>
<parameter>
<name>bootparams.other</name>
<value>isolcpus=2,3</value>
</parameter>
</dcParameters>
</reservedDc>
</reservedDcs>
</geoRedundancyGroup>
</geoRedundancyGroups>
</vScalabilityGroup>
<pScalabilityGroup>
<name>SLB-core</name>
<componentType>SLB</componentType>
<deviceInfo>
<parameter>
<name>deviceGroup</name>
<value>Home</value>
</parameter>
<parameter>
<name>snmpCommunity</name>
<value>public</value>
</parameter>
<parameter>
<name>useDeviceCluster</name>
Application Orchestrator REST API Examples
108
Oracle? Communications Application Orchestrator
<value>true</value>
</parameter>
<parameter>
<name>deviceClusterName</name>
<value>hong-slb-cluster</value>
</parameter>
</deviceInfo>
<geoRedundancyGroups>
<geoRedundancyGroup>
<type>Preferred</type>
<reservedDcs>
<reservedDc>
<siteName>oracle</siteName> <reservedSegmentCount>1</
reservedSegmentCount>
</reservedDc>
</reservedDcs>
</geoRedundancyGroup>
</geoRedundancyGroups>
</pScalabilityGroup>
</computeStorageGroups>
</nfResourceConfig>
Response XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <nf>
<appGlobalId>ACME</appGlobalId>
<appName>myApp</appName>
<currentCPUCore>20</currentCPUCore>
<currentDiskGB>236</currentDiskGB>
<currentMemoryMB>81920</currentMemoryMB>
<deployedDUs>4</deployedDUs>
<description>Hong IMS hybrid on vCloud test</description>
<failedDUs>0</failedDUs>
<id>656</id>
<maxCPUCore>52</maxCPUCore>
<maxDiskGB>614</maxDiskGB>
<maxMemoryMB>212992</maxMemoryMB>
<minCPUCore>20</minCPUCore>
<minDiskGB>236</minDiskGB>
<minMemoryMB>81920</minMemoryMB>
<name>hong-ims-hybrid-nf</name>
<state>Running</state>
</nf>
Retrieve NF Status Information: Example
The following example retrieves detailed NF deployment, capacity, health, and scalability group status information.
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<nfState>
<capacityState>Good</capacityState>
<deploymentState>Running</deploymentState>
<healthState>Healthy</healthState>
<id>513</id>
<name>TGE_CSM_SharedEp_TEST</name>
<groupStates>
<groupState>
<capacityState>Good</capacityState>
<componentType>CSM</componentType>
<deploymentState>Running</deploymentState>
<healthState>Healthy</healthState>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
109
<id>514</id>
<name>CSM-core</name>
<scalingState>Good</scalingState>
</groupState>
</groupStates>
</nfState>
Submit an Action Request on a Deployed NF: Example
The following example submits an action request on deployed NF.
Request XML
<?xml version="1.0" encoding="UTF-8"?>
<nfAction>
<appName>NSO</appName>
<appGlobalId>NSOBoston</appGlobalId>
<type>SetOperational|Undeploy|Redeploy|Delete</type>
</nfAction>
Application Orchestrator Scaling Event Resource Examples
Retrieve All Event Registrations: Example
The following example lists all event registrations from Oracle Communications Application Orchestrator.
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<eventRegistrations>
<eventRegistration>
<appName>OCSEM</appName>
<appGlobalId>OCSEMBoston</appGlobalId>
<callbackServerBaseUris>
<callbackServerBaseUri>http://localhost:8080</callbackServerBaseUri>
</callbackServerBaseUris>
<callbackUriPath>/rest/v1.0/ocsem/events/callback</callbackUriPath>
<eventTopics>
<eventTopic>ScalingRequest</eventTopic>
<eventTopic>Scaling</eventTopic>
<eventTopic>StateChange</eventTopic>
</eventTopics>
<id>1</id>
<loginUriPath>/rest/v1.0/admin/login</loginUriPath>
<logoutUriPath>/rest/v1.0/admin/logout</logoutUriPath>
<messageFormat>xml</messageFormat>
<pwd>xxxx</pwd>
<user>AoSystem</user>
</eventRegistration>
<eventRegistration>
<appName>NSO</appName>
<appGlobalId>NSOBoston</appGlobalId>
<callbackServerBaseUris>
<callbackServerBaseUri>http://localhost:9191</callbackServerBaseUri>
</callbackServerBaseUris>
<callbackUriPath>eventReceiver/event</callbackUriPath>
<description>event registration test</description>
<eventTopics>
<eventTopic>Scaling</eventTopic>
<eventTopic>ScalingRequest</eventTopic>
<eventTopic>StateChange</eventTopic>
Application Orchestrator REST API Examples
110
Oracle? Communications Application Orchestrator
</eventTopics>
<id>4</id>
<loginUriPath>eventReceiver/login</loginUriPath>
<logoutUriPath>eventReceiver/logout</logoutUriPath>
<messageFormat>xml</messageFormat>
<pwd>xxxx</pwd>
<user>admin</user>
</eventRegistration>
<pageInfo>
<limitation>50</limitation>
<numberOfElements>2</numberOfElements>
<offset>1</offset>
</pageInfo>
</eventRegistrations>
Confirm an Event: Example
The following example submits data to the northbound client application to confirm that it received an event message
from Oracle Communications Application Orchestrator.
Request XML
<?xml version="1.0" encoding="UTF-8"?>
<eventStatus>
<seqId>123</seqId>
<appName>NSO</appName>
<appGlobalId>NSOBoston</appGlobalId>
<eventType>ScaleOut</eventType >
<status>Success|Failed</status></eventStatus>
Retrieve Application Orchestrator Alarms: Example
The following example retrieves Oracle Communications Application Orchestrator alarms that are generated when an
alarm occurs on a node for the northbound client application.
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<alarmDetails>
<alarmDetail>
<acknowledgedBy/>
<annotation/>
<description>String</description>
<failedResource>10.196.0.91</failedResource>
<objectId>1</objectId>
<severity>Major</severity>
<source>10.196.0.91</source>
<sourceGroupId>45</sourceGroupId>
<sourceIp>10.196.0.91</sourceIp>
<sysUpTime>0 days, 0 hours, 1 minutes, 5 seconds</sysUpTime>
<time>Thu Mar 17 11:09:54 EDT 2016</time>
<trapName>apNNCTrapRelayNotAliveNotification</trapName>
<type>TrapRelayMonitor</type>
</alarmDetail>
</alarmDetails>
Application Orchestrator REST API Examples
Oracle? Communications Application Orchestrator
111
B
Install and Configure the REST Sample Client
The following task shows how to install and configure the REST sample client on which you can view the structure
and composition of the Oracle Communications Application Orchestrator REST API in order to help you construct
your own REST client.
1. Download the NNC<Version>RESTClient.zip file from the
Oracle Delivery Software Cloud to your server by
doing the following:
a) Type
Oracle Communications Application Orchestrator in the
Product drop-down list.
b) Click the
Select Platform drop-down list.
c) In the
Select Platform drop-down dialog box, select
Acme Packet OS.
d) Continue through the next screens and accept the Oracle license agreements and download the product
installation zip file.
2. Within the product installation zip file, unzip <NNC_VERSION>RESTClient.zip file and open the README.txt
file.
3. Download the Jersey client software to the /lib directory, and unzip the file. Use the README.txt file to verify the
Jersey client directory structure on the server.
4. Run chmod +x * within the bin folder to make bash scripts executable.
5. Run the ./build.sh to compile source code.
6. Open and modify the <rest-client> class file to configure REST API calls under the src folder by editing the
RESTClientExample, which is a container of all calls to the Oracle Communications Application Orchestrator
REST API and uncomment parameters in the main () method to execute different call flows.
7. Modify XML files in the xml folder.
8. Configure the individual REST API methods, which are called from the main method.
9. Run the ./run.sh <rest-client> <server-name>:<port> script to execute the desired REST client within the src
folder.
Oracle? Communications Application Orchestrator
113