文档搜索 > Oracle? Communications Application Orchestrator

Oracle? Communications Application Orchestrator

Page 1
Oracle? Communications Application Orchestrator
REST API Guide Release 1.1
August 2016

Page 2
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.

Page 3
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

Page 4
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

Page 5
Retrieve Application Orchestrator Alarms: Example........................................................................................111
B— Install and Configure the REST Sample Client........... 113
Oracle? Communications Application Orchestrator 5

Page 6
6 Oracle? Communications Application Orchestrator

Page 7
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

Page 8
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

Page 9
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

Page 10
Application Orchestrator REST API Resource Tree
Application Orchestrator REST API Overview 10 Oracle? Communications Application Orchestrator

Page 11
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

Page 12
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

Page 13
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

Page 14
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

Page 15
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

Page 16
Figure 3: Request/Response Message Schema Application Orchestrator REST API Overview 16 Oracle? Communications Application Orchestrator

Page 17
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

Page 18
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

Page 19
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

Page 20
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

Page 21
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

Page 22
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

Page 23
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

Page 24
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

Page 25
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

Page 26
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

Page 27
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

Page 28
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

Page 29
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

Page 30
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

Page 31
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

Page 32
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

Page 33
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

Page 34
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

Page 35
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

Page 36

Page 37
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

Page 38
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

Page 39
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

Page 40
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

Page 41
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

Page 42
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

Page 43
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

Page 44
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

Page 45
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

Page 46
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

Page 47
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

Page 48
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

Page 49
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

Page 50
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

Page 51
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

Page 52
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

Page 53
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

Page 54
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

Page 55
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

Page 56
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

Page 57
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

Page 58
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

Page 59
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

Page 60
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

Page 61
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

Page 62
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

Page 63
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

Page 64
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

Page 65
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

Page 66
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

Page 67
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

Page 68
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

Page 69
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

Page 70
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

Page 71
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

Page 72
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

Page 73
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

Page 74
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

Page 75
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

Page 76

Page 77
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

Page 78
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

Page 79
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

Page 80

Page 81
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

Page 82
<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

Page 83
<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

Page 84
<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

Page 85
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

Page 86
<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

Page 87
<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

Page 88
</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

Page 89
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

Page 90
<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

Page 91
<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

Page 92
<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

Page 93
</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

Page 94
</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

Page 95
<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

Page 96
<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

Page 97
<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

Page 98
<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

Page 99
<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

Page 100
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

Page 101
<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

Page 102
</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

Page 103
<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

Page 104
<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

Page 105
</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

Page 106
<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

Page 107
<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

Page 108
<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

Page 109
<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

Page 110
<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

Page 111
</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

Page 112

Page 113
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

Page 114

设为首页 | 加入收藏 | 昂纲搜索

All Rights Reserved Powered by 文档下载网

Copyright © 2011
文档下载网内容来自网络,如有侵犯请和我们联系。tousu#anggang.com
返回顶部