Optical ILAs and IPLCs Management RESTful Web Services
The following operations can be performed using the Connectivity Services Director Optical Inline Amplifiers (ILAs) and Integrated Photonic Line Cards (IPLCs) Management RESTful Web Services.
The Juniper Networks Optical Inline Amplifier is a fixed stand-alone erbium-doped fiber amplifier (EDFA) with dual AC or DC power supplies. The optical inline amplifier (ILA) supports bidirectional optical inline amplification. It provides periodic amplification of a signal to enable long distance transmission and is typically placed between 50 miles (80 km) and 62 miles (100 km) apart along the length of the fiber. To enable this functionality, optical ILA is used in conjunction with the integrated photonic line card (IPLC) that is installed in the PTX3000 routers.
The IPLC base module is an integrated optical card that provides the combined functionalities of optical multiplexing and demultiplexing, optical amplification, optical equalization, and optical channel monitoring. The IPLC multiplexes and enables amplification of up to 32 individual wavelengths for transmission over single-mode optical fiber (through the add and drop ports on the front panel)
You can view the optical ILA and IPLC specifications that are currently applied on the device, such as wavelength and power. Also, you can modify the existing parameters of the optical ILA and IPLC.
Get the Optical ILA Configuration Details
This request is used to retrieve all the optical ILA configuration details and status for the specified device.
URI | /api/space/packet-optical/config-manager/otnpic- |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.config-manager.ila- application/vnd.juniper.packet-optical.config-manager.ila- |
Produces | Collects the optical ILA configuration parameters. |
Table 1: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
Output
Sample XML Output
Get the Optical ILA OSC Configuration Details
This request is used to retrieve the optical supervisory channel (OSC) configuration details and status of the optical ILA for the specified device.
URI | /api/space/packet-optical/config-manager/otnpic- |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.config-manager.ila- application/vnd.juniper.packet-optical.config-manager.ila- |
Produces | Collects the optical ILA OSC configuration parameters. |
Table 2: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
Output
Sample XML Output
Get the Optical ILA EDFA Configuration Details
This request is used to retrieve the Erbium Doped Fiber Amplifier (EDFA) configuration details and status of an optical ILA for the specified device.
URI | /api/space/packet-optical/config-manager/otnpic- |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.config-manager.ila-edfa- application/vnd.juniper.packet-optical.config-manager.ila-edfa- |
Produces | Collects the optical ILA EDFA configuration parameters. |
Table 3: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
Output
Sample XML Output
Get the PM Administration Details by Interface of an Optical ILA
This request is used to retrieve the Performance Monitoring administration information for the specified device and interface of an optical ILA.
URI | api/space/packet-optical/performance-manager/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical. application/vnd.juniper.packet-optical. |
Produces | Collects the Performance Monitoring administration information for the specified device and interface of an optical ILA. |
Table 4: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
intf-name | String | Query | Encoded interface name URL | Yes |
Output
Sample XML Output
Get the PM Administration Details of All Interfaces of an Optical ILA
This request is used to retrieve the Performance Monitoring administration information for the specified device and all interfaces on the optial ILA
URI | api/space/packet-optical/performance-manager/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical. application/vnd.juniper.packet-optical. |
Produces | Collects the Performance Monitoring administration information for the specified device and all interfaces on the optical ILA. |
Table 5: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
Output
Sample XML Output
Enable the Collection of PM Statistics for an Optical ILA
This request is used to enable the mechanism to collect performance monitoring (PM) statistics for the specified device and interface on the optical ILA.
URI | /api/space/packet-optical/performance-manager/admin/ |
HTTP Method | PUT |
Content Type | application/vnd.juniper.packet-optical. application/vnd.juniper.packet-optical. |
Produces | Enable the PM mechanism for the specified device and interface of an optical ILA. |
Table 6: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
intf-name | String | Query | Encoded interface name such as “et-0/0/0“ is “et-0%2f0%2f0%2f” | Yes |
Input
Sample XML Input
Get the PM Details of an Optical ILA Interface
This request is used to retrieve the current performance monitoring information for the ILA of a specified device and optical interface.
URI | /api/space/packet-optical/performance-manager/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.performance-manager. application/vnd.juniper.packet-optical.performance-manager. |
Produces | Collects the current performance monitoring details for an optical ILA on a device. |
Table 7: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
intf-name | String | Query | Encoded interface name such as “et-0/0/0“ is “et-0%2f0%2f0%2f” | Yes |
mon-type | String | Query | The PM monitor parameter | Yes |
direction | Integer | Query | The PM direction: 0 = “NONE”, 1 = “Tx”, 2 = “Rx” | Yes |
Output
Sample XML Output
Get the Overview of Optical PM Data of an ILA
This request is used to retrieve an overview of the optical performance monitoring data for an optical ILA.
URI | /api/space/packet-optical/performance-manager/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.performance-manager. application/vnd.juniper.packet-optical.performance-manager. |
Produces | Collects an overview of the PM data for an ILA of an optical interface on a device. |
Table 8: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
intf-name | String | Query | Encoded interface name such as “et-0/0/0“ is “et-0%2f0%2f0%2f” | Yes |
mon-type | String | Query | The PM monitor parameter | Yes |
layer | String | Query | The OTN layer:
| Yes |
direction | Integer | Query | The PM direction: 0 = “NONE”, 1 = “Tx”, 2 = “Rx” | Yes |
Input
Sample XML Input
http://172.21.28.109:8080/api/space/packet-optical/performance-manager/devices/786467/intf-name/otn-overviews?intf-name=et-0/1/0&layer=1
Output
Sample XML Output
{ "otn-overviews": { "@uri": "/api/space/packet-optical/performance-manager/devices/786467/intf-name/otn-overviews", "@total": "17", "pm-gui-summary": [ { "mpoint-name": "OTU NE", "pre-interval": "NaN", "suspect-current": false, "suspect-day": false, "suspect-interval": false, "group-name": "OTU NE", "current-day": 0, "pre-day": "NaN", "device-id": 786467, "current": 0, "if-name": "et-0/1/0", "suspect-current-day": false }, { "mpoint-name": "FEC NE", "pre-interval": "NaN", "suspect-current": false, "suspect-day": false, "suspect-interval": false, "group-name": "FEC NE", "current-day": 0, "pre-day": "NaN", "device-id": 786467, "current": 0, "if-name": "et-0/1/0", "suspect-current-day": false }, {
Get the Optical ILA PM Parameters for an Interval
This request is used to retrieve the optical ILA PM parameters of an interface for the specified interval.
URI | /api/space/packet-optical/performance-manager/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.performance-manager. application/vnd.juniper.packet-optical.performance-manager. |
Produces | Collects the optical ILA PM parameters of an interface for the specified interval. |
Table 9: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
intf-name | String | Query | Encoded interface name such as “et-0/0/0“ is “et-0%2f0%2f0%2f” | Yes |
mon-type | String | Query | The PM monitor parameter | Yes |
layer | String | Query | The OTN layer:
| Yes |
intervals | Integer | Query | Number of intervals | Yes |
starttime | Long Integer | Query | Time at which collection of PM statistics is started | Yes |
endtime | Long Integer | Query | Time at which collection of PM statistics is stopped | Yes |
direction | Integer | Query | The PM direction: 0 = “NONE”, 1 = “Tx”, 2 = “Rx” | Yes |
Output
Sample XML Output
Get the Optical ILA PM Parameters of an Interface for the Previous Day
This request is used to retrieve optical iLA PM parameters of an interface for the previous day.
URI | /api/space/packet-optical/performance-manager/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.performance-manager. application/vnd.juniper.packet-optical.performance-manager. |
Produces | Collects the optical ILA PM parameters of an interface for the previous day. |
Table 10: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
intf-name | String | Query | Encoded interface name such as “et-0/0/0“ is “et-0%2f0%2f0%2f” | Yes |
mon-type | String | Query | The PM monitor parameter | Yes |
layer | String | Query | The OTN layer:
| Yes |
days | Integer | Query | Number of day intervals | Yes |
starttime | Long Integer | Query | Time at which collection of PM statistics is started | Yes |
endtime | Long Integer | Query | Time at which collection of PM statistics is stopped | Yes |
direction | Integer | Query | The PM direction: 0 = “NONE”, 1 = “Tx”, 2 = “Rx” | Yes |
Output
Sample XML Output
Get the Optical ILA TCA Details
This request is used to retrieve threshold crossing alarms (TCAs) of an optical ILA on the interface of a device.
URI | /api/space/packet-optical/performance-manager/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.packet-optical.performance-manager. application/vnd.juniper.packet-optical.performance-manager. |
Produces | Collects optical ILA TCA details for an interface. |
Table 11: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
intf-name | String | Query | Encoded interface name such as “et-0/0/0“ is “et-0%2f0%2f0%2f” | Yes |
mon-type | String | Query | The PM monitor parameter | Yes |
layer | String | Query | The OTN layer:
| Yes |
direction | Integer | Query | The PM direction: 0 = “NONE”, 1 = “Tx”, 2 = “Rx” | Yes |
Output
Sample XML Output
Get the Optical IPLC Configuration Details
This request is used to retrieve all the optical IPLC configuration details and status for the specified device.
URI | /api/space/packet-optical/iplc-config-manager/devices/ |
HTTP Method | GET |
Content Type | application/vnd.juniper.api.space.packet-optical.iplc-config- application/vnd.juniper.api.space.packet-optical.iplc-config- |
Produces | Collects the optical IPLC configuration parameters. |
Table 12: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
fpc-slot | Integer | Path | Slot number of the FPC | Yes |
express-card-list | String | String | Express Card List. | Yes |
expansionfpc | String | String | FPC slot number of the IPLC expansion module | No |
expansion-card-list | String | String | Expansion Card List | No |
expressfpc | String | String | FPC slot number of the IPLC in express-in mode | No |
iplc-wavelengths | IplcConfigResponse.iPLCWavelengths | Wavelengths configured for the IPLC | No | |
iplc-alarms | IplcConfigResponse.iPLCAlarms_Collection | Alarms generated for the IPLC | No | |
used-exprfpc | Boolean | Integer | No |
Output
Sample XML Output
<iplc-config-response uri="/api/space/packet-optical/iplc-config-manager/devices/{device-id}/fpc-slots/{fpc-slot}/iplc-configs"> <express-card-list>String</express-card-list> <expansionfpc>String</expansionfpc> <expressfpc>String</expressfpc> <expansion-card-list>String</expansion-card-list> <iplc-wavelengths uri="/api/space/packet-optical/iplc-config-manager/devices/{device-id}/fpc-slots/{fpc-slot}/iplc-configs/iplc-wavelengths"> <iplc-wavelength> <wavelength>String</wavelength> <end-point>String</end-point> <configuration>String</configuration> <frequency>String</frequency> <iplcLabel>String</iplcLabel> </iplc-wavelength> </iplc-wavelengths> <device-id>Integer</device-id> <iplc-alarms> <iplc-alarms> <edfa2_alarm>String</edfa2_alarm> <main_alarm>String</main_alarm> <wss_alarm>String</wss_alarm> <edfa1_alarm>String</edfa1_alarm> </iplc-alarms> </iplc-alarms> <fpc-slot>String</fpc-slot> <used-exprfpc>Boolean</used-exprfpc> </iplc-config-response>
Sample JSON Output
{ "iplc-config-response" : { "@uri" : "/api/space/packet-optical/iplc-config-manager/devices/{device-id}/fpc-slots/{fpc-slot}/iplc-configs" , "express-card-list" : "String" , "expansionfpc" : "String" , "expressfpc" : "String" , "expansion-card-list" : "String" , "iplc-wavelengths" : { "@uri" : "/api/space/packet-optical/iplc-config-manager/devices/{device-id}/fpc-slots/{fpc-slot}/iplc-configs/iplc-wavelengths" , "iplc-wavelength" : { "wavelength" : "String" , "end-point" : "String" , "configuration" : "String" , "frequency" : "String" , "iplcLabel" : "String" } } , "device-id" : "Integer" , "iplc-alarms" : { "iplc-alarms" : { "edfa2_alarm" : "String" , "main_alarm" : "String" , "wss_alarm" : "String" , "edfa1_alarm" : "String" } } , "fpc-slot" : "String" , "used-exprfpc" : "Boolean" } }
Get Device Service Endpoints Mapped To IPLC Ports
This request is used to retrieve all the device service endpoints mapped to IPLC ports. The sample usage is as follows:
/iplc-config-manager/iplc-devices/{dev-id}/iplc-dev-names/iplc-addresses/devs/
dev-names/ip-addresses/device-service-end-points-mappeds?iplc-device-id=
<iplc-device-id>&iplc-dev-name=<iplc-dev-name>&iplc-address=<iplc-address>
&dev-name=<dev-name>&ip-address=<ip-address>
URI | /api/space/packet-optical/iplc-config-manager/iplc- |
HTTP Method | GET |
Content Type | application/vnd.juniper.api.space.packet-optical.iplc-config- application/vnd.juniper.api.space.packet-optical.iplc-config- |
Produces | Collects the device service endpoints mapped to IPLC ports. |
Table 13: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
device-name | String | Query | Name of the device | Yes |
ip-address | String | Query | IP address configured for the device | Yes |
iplc-device-id | Integer | Query | ID of the IPLC device | Yes |
iplc-device-name | String | Query | Name of the IPLC device | Yes |
iplc-address | String | Query | IP address configured for the IPLC device | Yes |
Output
Sample XML Output
<device-service-end-points-mapped-to-iplc-ports total="Integer" uri="/api/space/packet-optical/iplc -config-manager/iplc-devices /{dev-id}/iplc-dev-names/iplc-addresses /devs/dev-names/ip-addresses /device-service-end-points-mappeds"> <service-end-point> <tx-power>String</tx-power> <domain-name>String</domain-name> <dev-name>String</dev-name> <admin-state>Boolean</admin-state> <isma>Boolean</isma> <wavelength>String</wavelength> <intf-name>String</intf-name> <dwdm-port>Integer</dwdm-port> <domain-id>Integer</domain-id> <dev-id>Integer</dev-id> <ip-address>String</ip-address> </service-end-point> </device-service-end-points-mapped-to-iplc-ports>
Sample JSON Output
{ "device-service-end-points-mapped-to-iplc-ports" : { "@total" : "Integer" , "@uri" : "/api/space/packet-optical/iplc- config-manager/iplc-devices /{dev-id}/iplc-dev-names/iplc-addresses /devs/dev-names/ip-addresses /device-service-end-points-mappeds" , "service-end-point" : { "tx-power" : "String" , "domain-name" : "String" , "dev-name" : "String" , "admin-state" : "Boolean" , "isma" : "Boolean" , "wavelength" : "String" , "intf-name" : "String" , "dwdm-port" : "Integer" , "domain-id" : "Integer" , "dev-id" : "Integer" , "ip-address" : "String" } } }
Specify an Optical IPLC Configuration
This request is used to specify the optical IPLC configuration for the specified device.
Because this API makes an asynchronous method call, you can (optionally) specify queue and schedule parameters using the following HTTP PUT method:
/iplc-config-manager/devices/{device-id}/fpc-slots/{fpc-slot}/set-iplc-config?queue=<queue>&schedule=<schedule>
It is assumed that the queue url denoted by <queue> has been already created.
URI | /api/space/packet-optical/iplc-config-manager/devices/{device- |
HTTP Method | PUT |
Content Type | application/vnd.juniper.api.space.packet-optical.iplc-config- application/vnd.juniper.api.space.packet-optical.iplc-config- |
Consumes | application/vnd.net.juniper.space.job- application/vnd.net.juniper.space.job- |
Produces | Specify the optical IPLC configuration parameters. |
Table 14: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
fpc-slot | Integer | Path | Slot number of the FPC | Yes |
queue | Queue URL | Query | A fully qualified queue URL, where job progress notifications will be sent | No |
schedule | cron-like-expression | Query | Schedule this API in the future, by specifying a cron-like-expression | No |
Input
Sample XML Input
<set-iplc-config-request> <expansionfpc>String</expansionfpc> <expressfpc>String</expressfpc> <iplc-wavelengths> <iplc-wavelength> <wavelength>String</wavelength> <end-point>String</end-point> <configuration>String</configuration> </iplc-wavelength> </iplc-wavelengths> <iplc-alarms> <iplc-alarms> <edfa2_alarm>String</edfa2_alarm> <main_alarm>String</main_alarm> <wss_alarm>String</wss_alarm> <edfa1_alarm>String</edfa1_alarm> </iplc-alarms> </iplc-alarms> <device-id>Integer</device-id> <fpc-slot>String</fpc-slot> </set-iplc-config-request>
Sample JSON Input
{ "set-iplc-config-request" : { "expansionfpc" : "String" , "expressfpc" : "String" , "iplc-wavelengths" : { "iplc-wavelength" : { "wavelength" : "String" , "end-point" : "String" , "configuration" : "String" } } , "iplc-alarms" : { "iplc-alarms" : { "edfa2_alarm" : "String" , "main_alarm" : "String" , "wss_alarm" : "String" , "edfa1_alarm" : "String" } } , "device-id" : "Integer" , "fpc-slot" : "String" } }
Specify a Partner Optical IPLC Configuration
This request is used to specify the partner optical IPLC configuration for the specified device.
Because this API makes an asynchronous method call, you can (optionally) specify queue and schedule parameters using the following HTTP PUT method:
/iplc-config-manager/devices/{device-id}/fpcslots/{fpcslot}/expressfpcs/{expressfpc}/expansionfpcs/
{expansionfpc}/set-partner-iplc-card?queue=<queue>&schedule=<schedule>
It is assumed that the queue url denoted by <queue> has been already created.
URI | /api/space/packet-optical/iplc-config-manager/devices/ |
HTTP Method | PUT |
Content Type | application/vnd.juniper.api.space.packet-optical.iplc-config- application/vnd.juniper.api.space.packet-optical.iplc-config- |
Consumes | application/vnd.net.juniper.space.job- application/vnd.net.juniper.space.job- |
Produces | Specify the partner optical IPLC configuration parameters. |
Table 15: URI Parameters
Name | Type | URI Type | Description | Required |
---|---|---|---|---|
device-id | Integer | Path | ID of the device | Yes |
fpc-slot | Integer | Path | Slot number of the FPC | Yes |
expressfpc | String | Path | Slot number of the FPC in which the IPLC in express-in mode resides | Yes |
expansionfpc | String | Path | Slot number of the FPC in which the expansion IPLC module resides | Yes |
queue | Queue URL | Query | A fully qualified queue URL, where job progress notifications will be sent | No |
schedule | cron-like-expression | Query | Schedule this API in the future, by specifying a cron-like-expression | No |
Input
Sample XML Input
<set-partner-iplc-card> <expansionfpc>String</expansionfpc> <expressfpc>String</expressfpc> <iplc-wavelengths> <iplc-wavelength> <wavelength>String</wavelength> <end-point>String</end-point> <configuration>String</configuration> </iplc-wavelength> </iplc-wavelengths> <iplc-alarms> <iplc-alarms> <edfa2_alarm>String</edfa2_alarm> <main_alarm>String</main_alarm> <wss_alarm>String</wss_alarm> <edfa1_alarm>String</edfa1_alarm> </iplc-alarms> </iplc-alarms> <device-id>Integer</device-id> <fpc-slot>String</fpc-slot> </set-partner-iplc-card>
Sample JSON Input
{ "set-partner-iplc-card" : { "expansionfpc" : "String" , "expressfpc" : "String" , "iplc-wavelengths" : { "iplc-wavelength" : { "wavelength" : "String" , "end-point" : "String" , "configuration" : "String" } } , "iplc-alarms" : { "iplc-alarms" : { "edfa2_alarm" : "String" , "main_alarm" : "String" , "wss_alarm" : "String" , "edfa1_alarm" : "String" } } , "device-id" : "Integer" , "fpc-slot" : "String" } }