RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Table of Contents |
---|
Info | ||
---|---|---|
| ||
A reference setup of the xconf dataservice is available at https://xconf.rdkcentral.com:9092/ for the community members to get acquainted with xconf. You can replace the <host> , <port> and protocol as xconf.rdkcentral.com, 9092 and https respectively in the placeholders mentioned below in the request samples. Or if you have deployed your own server instance then replace the host and port accordinngly. |
Request
Code Block | ||||
---|---|---|---|---|
| ||||
GET http://<host>:<port>/queries/firmwares?applicationType={type} |
Headers:
Code Block | ||||
---|---|---|---|---|
| ||||
Accept = application/json OR application/xml |
...
applicationType parameter is not required, default value is stb |
...
Response: 200 OK OR 400 BAD REQUEST |
Request: http://localhost<host>:9091<port>/queries/firmwares.json OR http://localhost<host>:9091<port>/queries/firmwares
JSON response:
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "id": "firmwareConfigId", |
...
"description": "FirmwareDescription", |
...
"supportedModelIds": [ |
...
"MODELA" |
...
], |
...
"firmwareFilename": "FirmwareFilename", |
...
"firmwareVersion": "FirmwareVersion" |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </item> <item> <id>f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1</ |
...
id> <description>prav_Firm</ |
...
description> <supportedModelIds> <supportedModelIds>PX013ANM</supportedModelIds> <supportedModelIds>PX013ANC</supportedModelIds> </supportedModelIds> <firmwareFilename>PX013AN_2.1s11_VBN_HYBse-signed.bin</ |
...
firmwareFilename> <firmwareVersion>PX013AN_2.1s11_VBN_HYBse-signed</ |
...
firmwareVersion> </item> </ArrayList> |
...
Response: 200 OK
Request:
http://localhost<host>:9091<port>/queries/firmwares/b65962b5-1481-4eed-a010-2abfa8c3bbfd
OR
http://localhost<host>:9091<port>/queries/firmwares/b65962b5-1481-4eed-a010-2abfa8c3bbfd.json
JSON response
{
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"updated": 1440492963476, |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareDownloadProtocol": "tftp", |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-", |
...
"rebootImmediately": false |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<FirmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <updated>1440492963476</updated> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareDownloadProtocol>tftp</firmwareDownloadProtocol> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> <rebootImmediately>false</rebootImmediately> </FirmwareConfig> |
...
Response: 200 OK OR 400 BAD REQUEST (if application type has a wrong value)
Request:
http://localhost<host>:9091<port>/queries/firmwares/model/YETST.json
OR
http://localhost<host>:9091<port>/queries/firmwares/model/YETST
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[{ |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"updated": 1440492963476, |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareDownloadProtocol": "tftp", |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-", |
...
"rebootImmediately": false |
...
}] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </item> <item> <id>f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1</ |
...
id> <description>prav_Firm</ |
...
description> <supportedModelIds> <supportedModelIds>PX013ANM</supportedModelIds> <supportedModelIds>PX013ANC</supportedModelIds> </supportedModelIds> <firmwareFilename>PX013AN_2.1s11_VBN_HYBse-signed.bin</ |
...
firmwareFilename> <firmwareVersion>PX013AN_2.1s11_VBN_HYBse-signed</ |
...
firmwareVersion> </item> </ArrayList> |
...
Responce: 200 OK and saved object (see get request for example); 400 BAD REQUEST (by validation error); 500 INTERNAL SERVER ERROR
Request:
http://localhost<host>:9091<port>/updates/firmwares.json
OR
http://localhost<host>:9091<port>/updates/firmwares
Restrictions:
Description, file name, version, supported model should be not empty;
JSON request
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"updated": 1440492963476, |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareDownloadProtocol": "tftp", |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-", |
...
"rebootImmediately": false |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<FirmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <updated>1440492963476</updated> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareDownloadProtocol>tftp</firmwareDownloadProtocol> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> <rebootImmediately>false</rebootImmediately> </FirmwareConfig> |
...
Response: 204 NO CONTENT and text message: Firmware config successfully deleted OR Config doesn't exist.
Request:
http://localhost<host>:9091<port>/delete/firmwares/b65962b5-1481-4eed-a010-2abfa8c3bbfd
GET http://<host>:<port>/queries/rules/ips?applicationType={type}
...
Response: 200 OK OR 400 BAD REQUEST (if application type has a wrong value)
Request:
http://localhost<host>:9091<port>/queries/rules/ips.json
OR
http://localhost<host>:9091<port>/queries/rules/ips
JSON response
[
Code Block | ||||
---|---|---|---|---|
| ||||
[ { |
...
"id": "ddc07355-d253-4f6b-8b42-296819d0d094", |
...
"name": "fsd", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"environmentId": "DEV", |
...
"modelId": "YETST", |
...
"noop": true, |
...
"expression": { |
...
"targetedModelIds": [ |
...
], |
...
"environmentId": "DEV", |
...
"modelId": "YETST", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
} |
...
} |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>ddc07355-d253-4f6b-8b42-296819d0d094</ |
...
id> <name>fsd</name> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <environmentId>DEV</environmentId> <modelId>YETST</modelId> <noop>true</noop> <expression> <targetedModelIds/> <environmentId>DEV</environmentId> <modelId>YETST</modelId> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> </expression> </item> </ArrayList> |
...
Response: 200 OK OR 400 BAD REQUEST (if application type has a wrong value)
Request:
http://localhost<host>:9091<port>/queries/rules/ips/fsd.json
OR
http://localhost<host>:9091<port>/queries/rules/ips/fsd
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"id": "ddc07355-d253-4f6b-8b42-296819d0d094", |
...
"name": "fsd", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"environmentId": "DEV", |
...
"modelId": "YETST", |
...
"noop": true, |
...
"expression": { |
...
"targetedModelIds": [ |
...
...
], |
...
"environmentId": "DEV", |
...
"modelId": "YETST", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
} |
...
} |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<IpRuleBean> <id>ddc07355-d253-4f6b-8b42-296819d0d094</ |
...
id> <name>fsd</name> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <environmentId>DEV</environmentId> <modelId>YETST</modelId> <noop>true</noop> <expression> <targetedModelIds/><environmentId>DEV</environmentId> <modelId>YETST</modelId> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> </expression> </IpRuleBean> |
If IpRule is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name, environmentId, modelId should be not empty, IP address group should be specified
Request:
http://localhost<host>:9091<port>/updates/rules/ips.json
OR
http://localhost<host>:9091<port>/updates/rules/ips
JSON request
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"id": "ddc07355-d253-4f6b-8b42-296819d0d094", |
...
"name": "fsd", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"environmentId": "DEV", |
...
"modelId": "YETST", |
...
"noop": true, |
...
"expression": { |
...
"targetedModelIds": [ |
...
], |
...
"environmentId": "DEV", |
...
"modelId": "YETST", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
} |
...
} |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<IpRuleBean> <id>ddc07355-d253-4f6b-8b42-296819d0d094</ |
...
id> <name>fsd</name> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <environmentId>DEV</environmentId> <modelId>YETST</modelId> <noop>true</noop> <expression> <targetedModelIds/><environmentId>DEV</environmentId> <modelId>YETST</modelId> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> </expression> </IpRuleBean> |
DELETE http://<host>:<port>/delete/rules/ips/{ipRuleName}?applicationType={type}
...
Response: 204 NO CONTENT and message: IpRule successfully deleted OR Rule doesn't exists, 400 BAD REQUEST if applicationType is not valid;
Request: http://localhost<host>:9091<port>/delete/rules/ips/ruleName
...
Response: 200 OK OR 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/locations.json
OR
http://localhost<host>:9091<port>/queries/filters/locations
JSON response
Code Block | |
---|---|
|
[
| |||
[ { |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"environments": [ |
...
...
], |
...
"models": [ |
...
...
], |
...
"ipv6FirmwareLocation": "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d", |
...
"httpLocation": "http://localhost:8080", |
...
"forceHttp": true, |
...
"id": "2ce1279b-bb25-4fda-9a34-fe8466bc2702", |
...
"name": "name", |
...
"boundConfigId": "95e75859-ae8f-4d6a-b758-11fefbe647e1", |
...
"ipv4FirmwareLocation": "10.10.10.10" |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<DownloadLocationFilterWrapper> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <environments/> <models/> <ipv6FirmwareLocation>2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d</ |
...
ipv6FirmwareLocation> <httpLocation>http://localhost: |
...
8080</httpLocation> <forceHttp>true</forceHttp> <id>2ce1279b-bb25-4fda-9a34-fe8466bc2702</ |
...
id> <name>name</name> <boundConfigId>95e75859-ae8f-4d6a-b758-11fefbe647e1</ |
...
boundConfigId> <ipv4FirmwareLocation>10.10.10.10</ |
...
ipv4FirmwareLocation> </DownloadLocationFilterWrapper> |
...
Response: 200 OK
Request:
http://localhost<host>:9091<port>/queries/filters/locations/name.json
OR
http://localhost<host>:9091<port>/queries/filters/locations/name
JSON response
Code Block | |
---|---|
|
[
| |||
[ { |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"environments": [ |
...
...
], |
...
"models": [ |
...
...
], |
...
"ipv6FirmwareLocation": "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d", |
...
"httpLocation": "http://localhost:8080", |
...
"forceHttp": true, |
...
"id": "2ce1279b-bb25-4fda-9a34-fe8466bc2702", |
...
"name": "name", |
...
"boundConfigId": "95e75859-ae8f-4d6a-b758-11fefbe647e1", |
...
"ipv4FirmwareLocation": "10.10.10.10" |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<DownloadLocationFilterWrapper> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <environments/> <models/> <ipv6FirmwareLocation>2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d</ |
...
ipv6FirmwareLocation> <httpLocation>http://localhost: |
...
8080</httpLocation> <forceHttp>true</forceHttp> <id>2ce1279b-bb25-4fda-9a34-fe8466bc2702</ |
...
id> <name>name</name> <boundConfigId>95e75859-ae8f-4d6a-b758-11fefbe647e1</ |
...
boundConfigId> <ipv4FirmwareLocation>10.10.10.10</ |
...
ipv4FirmwareLocation> </DownloadLocationFilterWrapper> |
...
Condition, models, environments, IPv4, location, any location (HTTP or firmware), IPv4/IPv6 should be valid
Request:
http://localhost<host>:9091<port>/updates/filters/locations.json
OR
http://localhost<host>:9091<port>/updates/filters/locations
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<DownloadLocationFilterWrapper> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <environments/> <models/> <ipv6FirmwareLocation>2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d</ |
...
ipv6FirmwareLocation> <httpLocation>http://localhost: |
...
8080</httpLocation> <forceHttp>true</forceHttp> <id>2ce1279b-bb25-4fda-9a34-fe8466bc2702</ |
...
id> <name>name</name> <boundConfigId>95e75859-ae8f-4d6a-b758-11fefbe647e1</ |
...
boundConfigId> <ipv4FirmwareLocation>10.10.10.10</ |
...
ipv4FirmwareLocation> </DownloadLocationFilterWrapper> |
JSON request
Code Block |
---|
{
| ||||
{ "ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"environments": [ |
...
...
], |
...
"models": [ |
...
...
], |
...
"ipv6FirmwareLocation": "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d", |
...
"httpLocation": "http://localhost:8080", |
...
"forceHttp": true, |
...
"id": "2ce1279b-bb25-4fda-9a34-fe8466bc2702", |
...
"name": "name", |
...
"boundConfigId": "95e75859-ae8f-4d6a-b758-11fefbe647e1", |
...
"ipv4FirmwareLocation": "10.10.10.10" |
...
} |
DELETE http://<host>:<port>/delete/filters/locations/{locationFilterName}?applicationType={type}
...
Response: 204 NO CONTENT and message: Location filter successfully deleted OR Filter doesn't exist with name: <filterName>, 400 BAD REQUEST if applicationType is not valid
Request: http://localhost<host>:9091<port>/delete/filters/location/name
...
Response: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/downloadlocation.json
OR
http://localhost<host>:9091<port>/queries/filters/downloadlocation
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"type":"com.comcast.xconf.estbfirmware.DownloadLocationRoundRobinFilterValue", |
...
"id":"DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE", |
...
"locations": [ |
...
{ |
...
"locationIp": "10.10.10.10", |
...
"percentage": 100.0 |
...
} |
...
], |
...
"ipv6locations": [ |
...
...
], |
...
"rogueModels": [ |
...
...
], |
...
"httpLocation": "lf.com", |
...
"httpFullUrlLocation": "http://www.localhost.org", |
...
"neverUseHttp": true, |
...
"firmwareVersions": "??" |
...
} |
XML respose
Code Block | ||||
---|---|---|---|---|
| ||||
<DownloadLocationRoundRobinFilterValue type="com.comcast.xconf.estbfirmware.DownloadLocationRoundRobinFilterValue" |
...
> <id>DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE</ |
...
id> <locations> <locations> <locationIp>10.10.10.10</ |
...
locationIp> <percentage>100.0</ |
...
percentage> </locations> </locations> <ipv6locations/> <rogueModels/> <httpLocation>lf.com</httpLocation> <httpFullUrlLocation>http://www.localhost. |
...
org</httpFullUrlLocation> <neverUseHttp>true</neverUseHttp> <firmwareVersions>??</ |
...
firmwareVersions> </DownloadLocationRoundRobinFilterValue> |
...
Location URL, IPv4/IPv6 should be valid, percentage should be positive and within [0, 100], locations should be not duplicated
Request:
http://localhost<host>:9091<port>/updates/filters/downloadlocation.json
OR
http://localhost<host>:9091<port>/updates/filters/downloadlocation.json
JSON request
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"type": "com.comcast.xconf.estbfirmware.DownloadLocationRoundRobinFilterValue", |
...
"id": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE", |
...
"updated": 1441287139144, |
...
"locations": [ |
...
{ |
...
"locationIp": "10.10.10.10", |
...
"percentage": 100.0 |
...
} |
...
], |
...
"ipv6locations": [ |
...
...
], |
...
"rogueModels": [ |
...
...
], |
...
"httpLocation": "lf.com", |
...
"httpFullUrlLocation": "http://www.localhost.org", |
...
"neverUseHttp": true, |
...
"firmwareVersions": "??" |
...
} |
XML request
Code Block | ||||
---|---|---|---|---|
| ||||
<DownloadLocationRoundRobinFilterValue type="com.comcast.xconf.estbfirmware.DownloadLocationRoundRobinFilterValue" |
...
> <id>DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE</ |
...
id> <updated>1441287139144</updated> <locations> <locations> <locationIp>10.10.10.10</ |
...
locationIp> <percentage>100.0</ |
...
percentage> </locations> </locations> <ipv6locations/> <rogueModels/> <httpLocation>lf.com</httpLocation> <httpFullUrlLocation>http://www.localhost. |
...
org</httpFullUrlLocation> <neverUseHttp>true</neverUseHttp> <firmwareVersions>??</ |
...
firmwareVersions> </DownloadLocationRoundRobinFilterValue> |
...
Response: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/rules/envModels.json
OR
http://localhost<host>:9091<port>/queries/rules/envModels
JSON response
Code Block | |
---|---|
|
[
| |||
[ { |
...
"id": "12b620bd-2e74-4467-91e5-c29657022c05", |
...
"name": "re", |
...
"firmwareConfig": { |
...
"id": "f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1", |
...
"description": "prav_Firm", |
...
"supportedModelIds": [ |
...
"PX013ANM", |
...
"PX013ANC" |
...
], |
...
"firmwareFilename": "PX013AN_2.1s11_VBN_HYBse-signed.bin", |
...
"firmwareVersion": "PX013AN_2.1s11_VBN_HYBse-signed" |
...
}, |
...
"environmentId": "TEST", |
...
"modelId": "PX013ANC" |
...
}, |
...
{ |
...
"id": "3609a195-ecd3-4950-8583-ceb2f6f6f16b", |
...
"name": "uuuuuuu", |
...
"environmentId": "DEV", |
...
"modelId": "YETST" |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>12b620bd-2e74-4467-91e5-c29657022c05</ |
...
id> <name>re</name> <firmwareConfig> <id>f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1</ |
...
id> <description>prav_Firm</ |
...
description> <supportedModelIds> <supportedModelIds>PX013ANM</supportedModelIds> <supportedModelIds>PX013ANC</supportedModelIds> </supportedModelIds> <firmwareFilename>PX013AN_2.1s11_VBN_HYBse-signed.bin</ |
...
firmwareFilename> <firmwareVersion>PX013AN_2.1s11_VBN_HYBse-signed</ |
...
firmwareVersion> </firmwareConfig> <environmentId>TEST</environmentId> <modelId>PX013ANC</modelId> </item> <item> <id>3609a195-ecd3-4950-8583-ceb2f6f6f16b</ |
...
id> <name>uuuuuuu</name> <environmentId>DEV</environmentId> <modelId>YETST</modelId> </item> </ArrayList> |
...
Response: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/rules/envModels/testName.json
OR
http://localhost<host>:9091<port>/queries/rules/envModels/testName.json
JSON response
Code Block |
---|
{
| ||||
{ "id": "12b620bd-2e74-4467-91e5-c29657022c05", |
...
"name": "testName", |
...
"firmwareConfig": { |
...
"id": "f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1", |
...
"description": "prav_Firm", |
...
"supportedModelIds": [ |
...
"PX013ANM", |
...
"PX013ANC" |
...
], |
...
"firmwareFilename": "PX013AN_2.1s11_VBN_HYBse-signed.bin", |
...
"firmwareVersion": "PX013AN_2.1s11_VBN_HYBse-signed" |
...
}, |
...
"environmentId": "TEST", |
...
"modelId": "PX013ANC" |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<EnvModelRuleBean> <id>12b620bd-2e74-4467-91e5-c29657022c05</ |
...
id> <name>testName</name> <firmwareConfig> <id>f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1</ |
...
id> <description>prav_Firm</ |
...
description> <supportedModelIds> <supportedModelIds>PX013ANM</supportedModelIds> <supportedModelIds>PX013ANC</supportedModelIds> </supportedModelIds> <firmwareFilename>PX013AN_2.1s11_VBN_HYBse-signed.bin</ |
...
firmwareFilename> <firmwareVersion>PX013AN_2.1s11_VBN_HYBse-signed</ |
...
firmwareVersion> </firmwareConfig> <environmentId>TEST</environmentId> <modelId>PX013ANC</modelId> </EnvModelRuleBean> |
If EnvModelRule is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name, environment, model should be not empty, name is used only once, env/model should not overlap each other
Request:
http://localhost<host>:9091<port>/updates/rules/envModels.json
OR
http://localhost<host>:9091<port>/updates/rules/envModels
JSON request
Code Block |
---|
{
| ||||
{ "id": "12b620bd-2e74-4467-91e5-c29657022c05", |
...
"name": "testName", |
...
"firmwareConfig": { |
...
"id": "f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1", |
...
"description": "prav_Firm", |
...
"supportedModelIds": [ |
...
"PX013ANM", |
...
"PX013ANC" |
...
], |
...
"firmwareFilename": "PX013AN_2.1s11_VBN_HYBse-signed.bin", |
...
"firmwareVersion": "PX013AN_2.1s11_VBN_HYBse-signed" |
...
}, |
...
"environmentId": "TEST", |
...
"modelId": "PX013ANC" |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<EnvModelRuleBean> <id>12b620bd-2e74-4467-91e5-c29657022c05</ |
...
id> <name>testName</name> <firmwareConfig> <id>f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1</ |
...
id> <description>prav_Firm</ |
...
description> <supportedModelIds> <supportedModelIds>PX013ANM</supportedModelIds> <supportedModelIds>PX013ANC</supportedModelIds> </supportedModelIds> <firmwareFilename>PX013AN_2.1s11_VBN_HYBse-signed.bin</ |
...
firmwareFilename> <firmwareVersion>PX013AN_2.1s11_VBN_HYBse-signed</ |
...
firmwareVersion> </firmwareConfig> <environmentId>TEST</environmentId> <modelId>PX013ANC</modelId> </EnvModelRuleBean> |
...
Response: 204 NO CONTENT and message: Rule successfully deleted OR Rule doesn't exist with name: <ruleName>, 400 if applicationType is not valid
Request: http://localhost<host>:9091<port>/delete/rules/envModels/testName.json
IP filter
...
Responce: 200 OK, 400 BAD REQUEST
Request:
http://localhost<host>:9091<port>/queries/filters/ips.json
OR
http://localhost<host>:9091<port>/queries/filters/ips
JSON response
Code Block | |
---|---|
|
[
| |||
[ { |
...
"id": "8bdb3493-a18b-4230-9b25-fd44df38863b", |
...
"name": "name", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"warehouse": false |
...
}, |
...
{ |
...
"id": "f9c5a6e8-d34f-4dc6-ae41-9016b70552ae", |
...
"name": "namef", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"warehouse": false |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>8bdb3493-a18b-4230-9b25-fd44df38863b</ |
...
id> <name>name</name> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <warehouse>false</warehouse> </item> <item> <id>f9c5a6e8-d34f-4dc6-ae41-9016b70552ae</ |
...
id> <name>namef</name> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <warehouse>false</warehouse> </item> </ArrayList> |
GET http://<host>:<port>/queries/filters/ips/{ipFilterName}?applicationType={type}
...
Responce: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/ips/namef.json
OR
http://localhost<host>:9091<port>/queries/filters/ips/namef.json
JSON response
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "id": "f9c5a6e8-d34f-4dc6-ae41-9016b70552ae", |
...
"name": "namef", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"warehouse": false |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<IpFilter> <id>8bdb3493-a18b-4230-9b25-fd44df38863b</ |
...
id> <name>name</name> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <warehouse>false</warehouse> </IpFilter> |
If IpFilter is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name, IP address group should be not empty
Request:
http://localhost<host>:9091<port>/updates/filters/ips.json
OR
http://localhost<host>:9091<port>/updates/filters/ips
JSON request
Code Block | ||
---|---|---|
|
{
| ||
{ "id": "f9c5a6e8-d34f-4dc6-ae41-9016b70552ae", |
...
"name": "namef", |
...
"ipAddressGroup": { |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
}, |
...
"warehouse": false |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<IpFilter> <id>8bdb3493-a18b-4230-9b25-fd44df38863b</ |
...
id> <name>name</name> <ipAddressGroup> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </ipAddressGroup> <warehouse>false</warehouse> </IpFilter> |
Response: 200 OK and message: IpRuleId is empty OR IpFilter successfully deleted
...
Response: 204 NO CONTENT and message: IpFilter successfully deleted OR Filter doesn't exist with name: <filterName>, 400 BAD REQUEST if applicationType is not valid
Request: http://localhost<host>:9091<port>/delete/filters/ips/namef
GET http://<host>:<port>/queries/filters/percent?applicationType={type}
...
Responce: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/percent.json
OR
http://localhost<host>:9091<port>/queries/filters/percent
Note
firmwareVersions will be present only if firmwareVersions is set to true, lastKnownGood and intermediateVersion will be set to empty string and empty tag in the JSON and XML response respectively if they are not set in the Percent Filter.
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
{ "type":"com.comcast.xconf.queries.beans.PercentFilterWrapper", "id":"PERCENT_FILTER_VALUE", "whitelist": { "id":"66e77146-2542-4173-99fb-2acfe52b9c06", "name":"All warehouses", "ipAddresses": [ "2345678","76.20.128.0/21", "76.106.43.0/24", ","162.150.244.212" ] }, "percentage":100.0, "EnvModelPercentages": [ { "percentage":100.0, "active":true, "firmwareCheckRequired":true, "rebootImmediately":true, "lastKnownGood":"","intermediateVersion":"", |
...
"firmwareVersions": [ "addtestedit" ], "name":"!@" }, { "percentage":50.0, "active":true, "firmwareCheckRequired":true, "rebootImmediately":true, "lastKnownGood":"PR150BN_2.4p6s3_VBN_HYBsd", "intermediateVersion":"PR150BN_2.3p7s1_PROD_HYBse", "firmwareVersions": [ "PR150BN_2.4p6s3_VBN_HYBsd", "PR150BN_2.4p8s3_VBN_HYBsd-signed", "PR150BN_2.3p7s1_PROD_HYBse" ], "name":"IV_6a" } ] } |
XML response
Code Block | ||||
---|---|---|---|---|
| ||||
<PercentFilterWrapper type="com.comcast.xconf.queries.beans.PercentFilterWrapper"> |
...
<id>PERCENT_FILTER_VALUE</ |
...
id> <percentage>99.0</ |
...
percentage> <EnvModelPercentages> <percentage>100.0</ |
...
percentage> <active>false</active> <firmwareCheckRequired>false</firmwareCheckRequired> <rebootImmediately>false</rebootImmediately> <lastKnownGood/> <intermediateVersion/> <firmwareVersions/> <name>123</name> </EnvModelPercentages> <EnvModelPercentages> <percentage>50.0</percentage> <active>true</active> <firmwareCheckRequired>true</firmwareCheckRequired> <rebootImmediately>true</rebootImmediately> <lastKnownGood>PR150BN_2.4p6s3_VBN_HYBsd</ |
...
lastKnownGood> <intermediateVersion>PR150BN_2.3p7s1_PROD_HYBse</ |
...
intermediateVersion> <firmwareVersions> <firmwareVersions>PR150BN_2.4p6s3_VBN_HYBsd</ |
...
firmwareVersions> <firmwareVersions>PR150BN_2.4p8s3_VBN_HYBsd-signed</ |
...
firmwareVersions> <firmwareVersions>PR150BN_2.3p7s1_PROD_HYBse</ |
...
firmwareVersions> </firmwareVersions> <name>IV_6a</ |
...
name> </EnvModelPercentages> </PercentFilterWrapper> |
GET http://<host>:<port>/queries/filters/percent?field=fieldName&applicationType={type}
...
Responce: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request: http://localhost<host>:9091<port>/queries/filters/percent?field=fieldName
...
Response: 404 Not Found and Message: Field fieldName does not exist
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
{ "firmwareVersions": [ "firmwareVersion1", "firmwareVersion2" ] } |
XML response
Code Block |
---|
<SingletonMap>
| ||||
<SingletonMap> <fieldName>value1</fieldName> |
...
<fieldName>value2</fieldName> |
...
</SingletonMap> |
POST http://<host>:<port>/updates/filters/percent?applicationType={type}
...
Percentage should be positive and within [0, 100],
Request:
http://localhost<host>:9091<port>/updates/filters/percent.json
OR
http://localhost<host>:9091<port>/updates/filters/percent
JSON request
Code Block | |
---|---|
|
{
| |||
{ "type": "com.comcast.xconf.queries.beans.PercentFilterWrapper", |
...
"id": "PERCENT_FILTER_VALUE", |
...
"percentage": 99.0, |
...
"EnvModelPercentages": [ |
...
{ |
...
"percentage": 100.0, |
...
"active": false, |
...
"firmwareCheckRequired": false, |
...
"rebootImmediately": false, |
...
"firmwareVersions": [ |
...
...
], |
...
"name": "re" |
...
}, |
...
{ |
...
"percentage": 100.0, |
...
"active": false, |
...
"firmwareCheckRequired": false, |
...
"rebootImmediately": false, |
...
"firmwareVersions": [ |
...
...
], |
...
"name": "uuuuuuu" |
...
} |
...
] |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<PercentFilterWrapper type="com.comcast.xconf.queries.beans.PercentFilterWrapper" |
...
> <id>PERCENT_FILTER_VALUE</ |
...
id> <percentage>99.0</ |
...
percentage> <EnvModelPercentages> <EnvModelPercentages> <percentage>100.0</ |
...
percentage> <active>false</active> <firmwareCheckRequired>false</firmwareCheckRequired> <rebootImmediately>false</rebootImmediately> <firmwareVersions/> <name>re</name> </EnvModelPercentages> <EnvModelPercentages> <percentage>100.0</percentage> <active>false</active> <firmwareCheckRequired>false</firmwareCheckRequired> <rebootImmediately>false</rebootImmediately> <firmwareVersions/> <name>uuuuuuu</name> </EnvModelPercentages> </EnvModelPercentages> </PercentFilterWrapper> |
...
Responce: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/percentageBean
JSON response
Code Block |
---|
[
| ||||
[ { |
...
"id": "4c2cea9e-c1be-4219-8f2a-70084f1cb648", |
...
"name": "Percent Test 2", |
...
"active": false, |
...
"firmwareCheckRequired": false, |
...
"rebootImmediately": false, |
...
"firmwareVersions": [], |
...
"environment": "envId", |
...
"model": "modelId", |
...
"distributions": [ |
...
{ |
...
"configId": "0c176c01-b4cf-4706-9e41-5118e30f68cb", |
...
"percentage": 100.0 |
...
} |
...
] |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>4c2cea9e-c1be-4219-8f2a-70084f1cb648</ |
...
id> <name>Percent Test 2</ |
...
name> <active>false</active> <firmwareCheckRequired>false</firmwareCheckRequired> <rebootImmediately>false</rebootImmediately> <firmwareVersions/> <environment>envId</environment> <model>modelId</model> <distributions> <distributions> <configId>29ab0494-0ee9-406a-9189-a81598988a54</ |
...
configId> <percentage>100.0</ |
...
percentage> </distributions> </distributions> </item> </ArrayList> |
GET http://<host>:<port>/queries/percentageBean/id
...
Responce: 200 OK OR 404 if envModelPercentage is not found
Request: http://localhost<host>:9091<port>/queries/percentageBean/4c2cea9e-c1be-4219-8f2a-70084f1cb648
JSON response
Code Block | ||
---|---|---|
|
{
| ||
{ "id": "4c2cea9e-c1be-4219-8f2a-70084f1cb648", |
...
"name": "Percent Test 2", |
...
"active": false, |
...
"firmwareCheckRequired": false, |
...
"rebootImmediately": false, |
...
"firmwareVersions": [], |
...
"environment": "envId", |
...
"model": "modelId", |
...
"distributions": [ |
...
{ |
...
"configId": "0c176c01-b4cf-4706-9e41-5118e30f68cb", |
...
"percentage": 100.0 |
...
} |
...
] |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<PercentageBean> <id>4c2cea9e-c1be-4219-8f2a-70084f1cb648</ |
...
id> <ttlMap/> <name>Percent Test 2</name> <active>false</active> <firmwareCheckRequired>false</firmwareCheckRequired> <rebootImmediately>false</rebootImmediately> <firmwareVersions/> <environment>envId</environment> <model>modelId</model> <distributions> <distributions> <configId>0c176c01-b4cf-4706-9e41-5118e30f68cb</ |
...
configId> <percentage>100.0</ |
...
percentage> </distributions> </distributions> </PercentageBean> |
POST http://<host>:<port>/updates/percentageBean?applicationType={type}
...
Responce: 200 OK, 404 NOT FOUND, 409 CONFLICT, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/percentageBean
Restrictions:
Name should be unique and not blank, environment and model should be not empty, at least one firmware version should be in minCheck list if firmwareCheckRequired=true, percentage within [0, 100], distribution firmware version should be in minCheck list if firmwareCheckRequired=true, total distribution percentage is within [0, 100], last known good is not empty if total distribution percentage < 100, last known good should be selected in minCheck list.
JSON request
Code Block | |
---|---|
|
{
| |||
{ "id": "4c2cea9e-c1be-4219-8f2a-70084f1cb648", |
...
"name": "Percent Test 2", |
...
"active": false, |
...
"firmwareCheckRequired": false, |
...
"rebootImmediately": false, |
...
"firmwareVersions": [], |
...
"environment": "envId", |
...
"model": "modelId", |
...
"distributions": [ |
...
{ |
...
"configId": "0c176c01-b4cf-4706-9e41-5118e30f68cb", |
...
"percentage": 100.0 |
...
} |
...
] |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<PercentageBean> <id>4c2cea9e-c1be-4219-8f2a-70084f1cb648</ |
...
id> <ttlMap/> <name>Percent Test 2</name> <active>false</active> <firmwareCheckRequired>false</firmwareCheckRequired> <rebootImmediately>false</rebootImmediately> <firmwareVersions/> <environment>envId</environment> <model>modelId</model> <distributions> <distributions> <configId>0c176c01-b4cf-4706-9e41-5118e30f68cb</ |
...
configId> <percentage>100.0</ |
...
percentage> </distributions> </distributions> </PercentageBean> |
PUT http://<host>:<port>/updates/percentageBean?applicationType={type}
Headers:
Content-Type = application/json OR application/xml
...
Responce: 200 OK, 404 NOT FOUND, 409 CONFLICT, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/percentageBean
RestrictionsRestrictions:
Name should be unique and not blank, environment and model should be not empty, at least one firmware version should be in minCheck list if firmwareCheckRequired=true, percentage within [0, 100], distribution firmware version should be in minCheck list if firmwareCheckRequired=true, total distribution percentage is within [0, 100], last known good is not empty if total distribution percentage < 100, last known good should be selected in minCheck list.
JSON request
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "id": "4c2cea9e-c1be-4219-8f2a-70084f1cb648", |
...
"name": "Percent Test 2", |
...
"active": false, |
...
"firmwareCheckRequired": false, |
...
"rebootImmediately": false, |
...
"firmwareVersions": [], |
...
"environment": "envId", |
...
"model": "modelId", |
...
"distributions": [ |
...
{ |
...
"configId": "0c176c01-b4cf-4706-9e41-5118e30f68cb", |
...
"percentage": 100.0 |
...
} |
...
] |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<PercentageBean> <id>4c2cea9e-c1be-4219-8f2a-70084f1cb648</ |
...
id> <ttlMap/> <name>Percent Test 2</name> <active>false</active> <firmwareCheckRequired>false</firmwareCheckRequired> <rebootImmediately>false</rebootImmediately> <firmwareVersions/> <environment>envId</environment> <model>modelId</model> <distributions> <distributions> <configId>0c176c01-b4cf-4706-9e41-5118e30f68cb</ |
...
configId> <percentage>100.0</ |
...
percentage> </distributions> </distributions> </PercentageBean> |
DELETE http://<host>:<port>/delete/percentageBean/id
...
Response: 204 NO CONTENT OR 404 NOT FOUND
Request example: http://localhost<host>:9091<port>/delete/percentageBean/testId
GET http://<host>:<port>/queries/filters/time?applicationType={type}
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/time.json OR http://localhost<host>:9091<port>/queries/filters/time
JSON response
[
Code Block | ||||
---|---|---|---|---|
| ||||
[ { |
...
"id": "cef2b340-2109-467e-a5d2-a70f0cddb432", |
...
"name": "abc", |
...
"ipWhitelist": { |
...
"id": "0e277b6a-7d95-4421-b390-415b03de04b4", |
...
"name": "60.70.80.90", |
...
"ipAddresses": [ |
...
"60.70.80.90" |
...
] |
...
}, |
...
"envModelWhitelist": { |
...
"id": "0f8110a3-4b60-489b-854e-c69e25b18abc", |
...
"environmentId": "QA", |
...
"modelId": "SR150BNC" |
...
}, |
...
"neverBlockRebootDecoupled": true, |
...
"neverBlockHttpDownload": true, |
...
"startTime": "01:00", |
...
"endTime": "02:00", |
...
"localTime": true |
...
} |
...
] |
XML response
<ArrayList>
<item>
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>cef2b340-2109-467e-a5d2-a70f0cddb432</id> |
...
<name>abc</name> |
...
<ipWhitelist> |
...
<id>0e277b6a-7d95-4421-b390-415b03de04b4</id> |
...
<name>60.70.80.90</name> |
...
<ipAddresses> |
...
<ipAddresses>60.70.80.90</ipAddresses> |
...
</ipAddresses> |
...
</ipWhitelist> |
...
<envModelWhitelist> |
...
<id>0f8110a3-4b60-489b-854e-c69e25b18abc</id> |
...
<environmentId>QA</environmentId> |
...
<modelId>SR150BNC</modelId> |
...
</envModelWhitelist> |
...
<neverBlockRebootDecoupled>true</neverBlockRebootDecoupled> |
...
<neverBlockHttpDownload>true</neverBlockHttpDownload> |
...
<startTime>01:00</startTime> |
...
<endTime>02:00</endTime> |
...
<localTime>true</localTime> |
...
</item> |
...
</ArrayList> |
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/time/xcc.td.json OR http://localhost<host>:9091<port>/queries/filters/time/xcc.td
JSON response
Code Block |
---|
{
| ||||
{ "id": "cef2b340-2109-467e-a5d2-a70f0cddb432", |
...
"name": "abc", |
...
"ipWhitelist": { |
...
"id": "0e277b6a-7d95-4421-b390-415b03de04b4", |
...
"name": "60.70.80.90", |
...
"ipAddresses": [ |
...
"60.70.80.90" |
...
] |
...
}, |
...
"envModelWhitelist": { |
...
"id": "0f8110a3-4b60-489b-854e-c69e25b18abc", |
...
"environmentId": "QA", |
...
"modelId": "SR150BNC" |
...
}, |
...
"neverBlockRebootDecoupled": true, |
...
"neverBlockHttpDownload": true, |
...
"startTime": "01:00", |
...
"endTime": "02:00", |
...
"localTime": true |
...
} |
XML response
<TimeFilterWrapper>
Code Block | ||||
---|---|---|---|---|
| ||||
<TimeFilterWrapper> <id>cef2b340-2109-467e-a5d2-a70f0cddb432</id> |
...
<name>abc</name> |
...
<ipWhitelist> |
...
<id>0e277b6a-7d95-4421-b390-415b03de04b4</id> |
...
<name>60.70.80.90</name> |
...
<ipAddresses> |
...
<ipAddresses>60.70.80.90</ipAddresses> |
...
</ipAddresses> |
...
</ipWhitelist> |
...
<envModelWhitelist> |
...
<id>0f8110a3-4b60-489b-854e-c69e25b18abc</id> |
...
<environmentId>QA</environmentId> |
...
<modelId>SR150BNC</modelId> |
...
</envModelWhitelist> |
...
<neverBlockRebootDecoupled>true</neverBlockRebootDecoupled> |
...
<neverBlockHttpDownload>true</neverBlockHttpDownload> |
...
<startTime>01:00</startTime> |
...
<endTime>02:00</endTime> |
...
<localTime>true</localTime> |
...
</TimeFilterWrapper> |
If time filter is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name should be unique
Request: http://localhost<host>:9091<port>/updates/filters/time.json OR http://localhost<host>:9091<port>/updates/filters/time
JSON request
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "id": "cef2b340-2109-467e-a5d2-a70f0cddb432", |
...
"name": "abc", |
...
"ipWhitelist": { |
...
"id": "0e277b6a-7d95-4421-b390-415b03de04b4", |
...
"name": "60.70.80.90", |
...
"ipAddresses": [ |
...
"60.70.80.90" |
...
] |
...
}, |
...
"envModelWhitelist": { |
...
"id": "0f8110a3-4b60-489b-854e-c69e25b18abc", |
...
"environmentId": "QA", |
...
"modelId": "SR150BNC" |
...
}, |
...
"neverBlockRebootDecoupled": true, |
...
"neverBlockHttpDownload": true, |
...
"startTime": "01:00", |
...
"endTime": "02:00", |
...
"localTime": true |
...
} |
XML request
<TimeFilterWrapper>
Code Block | ||||
---|---|---|---|---|
| ||||
<TimeFilterWrapper> <id>cef2b340-2109-467e-a5d2-a70f0cddb432</id> |
...
<name>abc</name> |
...
<ipWhitelist> |
...
<id>0e277b6a-7d95-4421-b390-415b03de04b4</id> |
...
<name>60.70.80.90</name> |
...
<ipAddresses> |
...
<ipAddresses>60.70.80.90</ipAddresses> |
...
</ipAddresses> |
...
</ipWhitelist> |
...
<envModelWhitelist> |
...
<id>0f8110a3-4b60-489b-854e-c69e25b18abc</id> |
...
<environmentId>QA</environmentId> |
...
<modelId>SR150BNC</modelId> |
...
</envModelWhitelist> |
...
<neverBlockRebootDecoupled>true</neverBlockRebootDecoupled> |
...
<neverBlockHttpDownload>true</neverBlockHttpDownload> |
...
<startTime>01:00</startTime> |
...
<endTime>02:00</endTime> |
...
<localTime>true</localTime> |
...
</TimeFilterWrapper> |
DELETE http://<host>:<port>/delete/filters/time/{timeFilterName}?applicationType={type}
...
Response: 204 NO CONTENT and message: Time Filter successfully deleted OR Filter doesn't exist with name: <filterName>
Request example: http://localhost<host>:9091<port>/delete/filters/time/name
...
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/environments OR http://localhost<host>:9091<port>/queries/environments.json
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>DEV</id> <description>ff</description> </item> <item> <id>TEST</id> <description>do not delete</description> </item> </ArrayList> |
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[{"id":"DEV","description":"ff"},{"id":"TEST","description":"do not delete"}] |
GET http://<host>:<port>/queries/environments/<environmentId>
...
Response: 200 OK; 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/environments/DEV OR http://localhost<host>:9091<port>/queries/environments/DEV.json
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
{"id":"DEV","description":"ff"} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<Environment> <id>DEV</id> <description>ff</description> </Environment> |
POST http://<host>:<port>/updates/environments
...
Environment name should be valid by pattern: ^[a-zA-Z0-9]+$, name should be unique
Request: http://localhost<host>:9091<port>/updates/environments OR http://localhost<host>:9091<port>/updates/environments.json
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<Environment> <id>testName</id> <description>some description</description> </Environment> |
JSON request
Code Block | ||||
---|---|---|---|---|
| ||||
{"id":"testName","description":"some description"} |
DELETE http://<host>:<port>/delete/environments/<environmentId>
...
Environment should be not used
Request: http://localhost<host>:9091<port>/delete/environments/DEV
...
Request: Request: http://localhost<host>:9091<port>/queries/ipAddressGroups OR http://localhost<host>:9091<port>/queries/ipAddressGroups.json
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </item> </ArrayList> |
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[ |
...
{ |
...
"id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c", |
...
"name": "test", |
...
"ipAddresses": [ |
...
"192.11.11.11" |
...
] |
...
} |
...
] |
...
Response: 200 OK; 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/ipAddressGroups/byName/test/.json OR http://localhost<host>:9091<port>/queries/ipAddressGroups/byName/test/
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[{"id":"2c184325-f9eb-4edc-85c3-5b6466fc3c5c","name":"test","ipAddresses":["192.11.11.11"]}] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </item> </ArrayList> |
GET http://<host>:<port>/queries/ipAddressGroups/byIp/<ipAddressGroupIp>/
...
Response: 200 OK; 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/ipAddressGroups/byIp/192.11.11.121/.json OR http://localhost<host>:9091<port>/queries/ipAddressGroups/byIp/192.11.11.121/
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[{"id":"2c184325-f9eb-4edc-85c3-5b6466fc3c5c","name":"test","ipAddresses":["192.11.11.11"]}] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </item> </ArrayList> |
POST http://<host>:<port>/updates/ipAddressGroups
...
Name should be not empty and unique
Request: http://localhost<host>:9091<port>/updates/ipAddressGroups.json OR http://localhost<host>:9091<port>/updates/ipAddressGroups
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<IpAddressGroupExtended> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</ |
...
id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ |
...
ipAddresses> </ipAddresses> </IpAddressGroupExtended> |
JSON request
Code Block | ||||
---|---|---|---|---|
| ||||
{"id":"2c184325-f9eb-4edc-85c3-5b6466fc3c5c","name":"test","ipAddresses":["192.11.11.11"]} |
POST http://<host>:<port>/updates/ipAddressGroups/<ipAddressGroup_name>/addData
...
ipAddressGroup with current id should be exist, see restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/addData.json OR http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/addData
JSON request
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "list": [ |
...
"1.1.1.1" |
...
] |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<StringListWrapper> <list> <list>1.1.1.1</ |
...
list> </list> </StringListWrapper> |
...
List contains IPs, which should be present in current Namespaced list, namespaced list should contain at least one IP address, and restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/removeData.json OR http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/removeData
JSON request
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "list": [ |
...
"1.1.1.1" |
...
] |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<StringListWrapper> <list> <list>1.1.1.1</ |
...
list> </list> </StringListWrapper> |
DELETE http://<host>:<port>/delete/ipAddressGroups/<ipAddressGroupId>
...
IP address group should be not used
Request: http://localhost<host>:9091<port>/delete/ipAddressGroups/607b315b-c744-4c43-87fa-51b17aa92b09
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs.json OR http://localhost<host>:9091<port>/queries/rules/macs
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[ |
...
{ |
...
"name": "test", |
...
"macListRef": "macs", |
...
"targetedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareConfig": { |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-" |
...
} |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <name>test</name> <macListRef>macs</macListRef> <targetedModelIds> <targetedModelIds>YETST</targetedModelIds> </targetedModelIds> <firmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </firmwareConfig> </item> </ArrayList> |
GET http://<host>:<port>/queries/rules/macs?version=2&applicationType={type}
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs.json?version=2 OR http://localhost<host>:9091<port>/queries/rules/macs?version=2
JSON response
[
Code Block | ||||
---|---|---|---|---|
| ||||
[ { |
...
"id": "18542fe1-94f2-487c-8f41-9f20965648f5", |
...
"name": "test", |
...
"macListRef": "macs", |
...
"targetedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareConfig": { |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-" |
...
}, |
...
"macList": [ |
...
"AA:AA:AA:AA:AA:AA" |
...
] |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>18542fe1-94f2-487c-8f41-9f20965648f5</ |
...
id> <name>test</name> <macListRef>macs</macListRef> <targetedModelIds> <targetedModelIds>YETST</targetedModelIds> </targetedModelIds> <firmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </firmwareConfig> <macList> <macList>AA:AA:AA:AA:AA:AA</ |
...
macList> </macList> </item> </ArrayList> |
GET http://<host>:<port>/queries/rules/macs/{macRuleName}?applicationType={type}
...
Response: 200 OK;
Request: http://localhost<host>:9091<port>/queries/rules/macs/test.json OR http://localhost<host>:9091<port>/queries/rules/macs/test
JSON response
Code Block |
---|
[
| ||||
[ { |
...
"name": "test", |
...
"macListRef": "macs", |
...
"targetedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareConfig": { |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-" |
...
} |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<MacRuleBeanWrapper> <name>test</name> <macListRef>macs</macListRef> <targetedModelIds> <targetedModelIds>YETST</targetedModelIds> </targetedModelIds> <firmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </firmwareConfig> </MacRuleBeanWrapper> |
...
Response: 200 OK;
Request: http://localhost<host>:9091<port>/queries/rules/macs/test.json?version=2 OR http://localhost<host>:9091<port>/queries/rules/macs/test?version=2
JSON response
[
Code Block | ||||
---|---|---|---|---|
| ||||
[ { |
...
"id": "18542fe1-94f2-487c-8f41-9f20965648f5", |
...
"name": "test", |
...
"macListRef": "macs", |
...
"targetedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareConfig": { |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-" |
...
}, |
...
"macList": [ |
...
"AA:AA:AA:AA:AA:AA" |
...
] |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<MacRuleBeanWrapper> <id>18542fe1-94f2-487c-8f41-9f20965648f5</ |
...
id> <name>test</name> <macListRef>macs</macListRef> <targetedModelIds> <targetedModelIds>YETST</targetedModelIds> </targetedModelIds> <firmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </firmwareConfig> <macList> <macList>AA:AA:AA:AA:AA:AA</ |
...
macList> </macList> </MacRuleBeanWrapper> |
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA.json OR http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[ |
...
{ |
...
"name": "test", |
...
"macListRef": "macs", |
...
"targetedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareConfig": { |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-" |
...
} |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <name>test</name> <macListRef>macs</macListRef> <targetedModelIds> <targetedModelIds>YETST</targetedModelIds> </targetedModelIds> <firmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </firmwareConfig> </item> </ArrayList> |
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA.json?version=2 OR http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA?version=2
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[ |
...
{ |
...
"id": "18542fe1-94f2-487c-8f41-9f20965648f5", |
...
"name": "test", |
...
"macListRef": "macs", |
...
"targetedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareConfig": { |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-" |
...
}, |
...
"macList": [ |
...
"AA:AA:AA:AA:AA:AA" |
...
] |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>18542fe1-94f2-487c-8f41-9f20965648f5</ |
...
id> <name>test</name> <macListRef>macs</macListRef> <targetedModelIds> <targetedModelIds>YETST</targetedModelIds> </targetedModelIds> <firmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </firmwareConfig> <macList> <macList>AA:AA:AA:AA:AA:AA</ |
...
macList> </macList> </item> </ArrayList> |
If mac rule is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name, mac address list, model list, mac list, firmware configuration should be not empty, mac address list is never used in another rule, model list contain only existed model, firmware config should support given models
Request: http://localhost<host>:9091<port>/updates/rules/macs.json OR http://localhost<host>:9091<port>/updates/rules/macs
JSON request
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"id": "18542fe1-94f2-487c-8f41-9f20965648f5", |
...
"name": "test", |
...
"macListRef": "macs", |
...
"targetedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareConfig": { |
...
"id": "b65962b5-1481-4eed-a010-2abfa8c3bbfd", |
...
"description": "_-", |
...
"supportedModelIds": [ |
...
"YETST" |
...
], |
...
"firmwareFilename": "_-", |
...
"firmwareVersion": "_-" |
...
}, |
...
"macList": [ |
...
"AA:AA:AA:AA:AA:AA" |
...
] |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<MacRuleBeanWrapper> <id>18542fe1-94f2-487c-8f41-9f20965648f5</ |
...
id> <name>test</name> <macListRef>macs</macListRef> <targetedModelIds> <targetedModelIds>YETST</targetedModelIds> </targetedModelIds> <firmwareConfig> <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</ |
...
id> <description>_-</ |
...
description> <supportedModelIds> <supportedModelIds>YETST</supportedModelIds> </supportedModelIds> <firmwareFilename>_-</ |
...
firmwareFilename> <firmwareVersion>_-</ |
...
firmwareVersion> </firmwareConfig> <macList> <macList>AA:AA:AA:AA:AA:AA</ |
...
macList> </macList> </MacRuleBeanWrapper> |
DELETE http://<host>:<port>/delete/rules/macs/{macRuleName}?applicationType={type}
...
Response: 204 NO CONTENT and message: MacRule does'n exist OR MacRule deleted successfully, 400 BAD REQUEST
Request example: http://localhost<host>:9091<port>/delete/rules/macs/macRuleName
GET http://<host>:<port>/queries/models
...
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/models.json OR http://localhost<host>:9091<port>/queries/models
JSON response
[
Code Block | ||||
---|---|---|---|---|
| ||||
[ { |
...
"id": "YETST", |
...
"description": "" |
...
}, |
...
{ |
...
"id": "PX013ANC", |
...
"description": "Pace XG1v3 - Cisco Cable Card" |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>YETST</id> <description></description> </item> <item> <id>PX013ANC</id> <description>Pace XG1v3 - Cisco Cable Card</description> </item> </ArrayList> |
GET http://<host>:<port>/queries/models/<modelId>
...
Response: 200 OK; 204 NO CONTENT
Request: http://localhost<host>:9091<port>/queries/models/YETST.json OR http://localhost<host>:9091<port>/queries/models/YETST
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"id": "YETST", |
...
"description": "" |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<Model> <id>YETST</id> <description></description> </Model> |
POST http://<host>:<port>/updates/models
...
Model name should be unique and valid by pattern: ^[a-zA-Z0-9]+$
Request: http://localhost<host>:9091<port>/updates/models.json OR http://localhost<host>:9091<port>/updates/models
JSON request
Code Block |
---|
{
| ||||
{ "id": "test", |
...
"description": "" |
...
} |
XML request
...
<Model><id>YETST</id><description></description></Model>
Code Block | ||||
---|---|---|---|---|
| ||||
<Model>
<id>YETST</id>
<description></description>
</Model> |
PUT
DELETE http://<host>:<port>/deleteupdates/models/<modelId>
Headers: Accept Content-Type = application/json OR application/xml
Response: 204 NO CONTENT and message: Model doesn't exist OR Model deleted successfully;
Restrictions:
Model should be not used in another places
Request: http://localhost:9091/delete/models/YETST
NamespacedList
GET http://<host>:<port>/queries/nsLists
Headers:
xml Accept = application/json OR application/xml xml
Response: 200 OK; 400 BAD REQUEST; 404 NOT FOUND, 500 INTERNAL SERVER ERROR
Request: http://localhost:9091/queriesupdates/nsListsmodels.json OR http://localhost:9091/queriesupdates/nsListsmodels
JSON response
[
{
Request
Code Block | ||||
---|---|---|---|---|
| ||||
{
|
...
"id": |
...
" |
...
test", |
...
"description": |
...
"AA:AA:AA:AA:AA:AA"
]
}
]
XML response
...
<ArrayList><item><id>macs</id><data><data>AA:AA:AA:AA:AA:AA</data></data></item></ArrayList>
"description update"
} |
XML Request
Code Block | ||||
---|---|---|---|---|
| ||||
<Model><id>test</id><description>description update</description></Model> |
DELETE http://<host>:<port>/delete/models/<modelId>
Headers:
Accept = application/json OR application/xml
Response: 204 NO CONTENT and message: Model doesn't exist OR Model deleted successfully;
Restrictions:
Model should be not used in another places
Request: http://<host>:<port>/delete/models/YETST
...
GET http://<host>:<port>/queries/nsLists/byId/<nsListId>
Headers:
Accept = application/json OR application/xml
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/nsLists/byId/macs..json OR http://localhost<host>:9091<port>/queries/nsLists/byId/macs
JSON response
{
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
|
...
"id": "macs", |
...
"data": [ |
...
"AA:AA:AA:AA:AA:AA" |
...
] } ] |
}
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>macs</id> <data> <data>AA:AA:AA:AA:AA:AA< |
...
/data>
</data>
</item>
</ArrayList> |
...
GET http://<host>:<port>/queries/nsLists/byMacPartbyId/<macAddressPart><nsListId>
Headers:
Accept = application/json OR application/xml
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/nsLists/byMacPartbyId/AA:AAmacs.json OR http://localhost<host>:9091<port>/queries/nsLists/byMacPartbyId/AA:AAmacs
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"id": "macs", |
...
"data": [ |
...
"AA:AA:AA:AA:AA:AA" |
...
] |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<NamespacedList> <id>macs</id> <data> <data>AA:AA:AA:AA:AA:AA</ |
...
data> </data> </NamespacedList> |
...
POST GET http://<host>:<port>/updatesqueries/nsLists/byMacPart/<macAddressPart>
Headers:Content-Type = application/json OR application/xml
Accept = application/json OR application/xml
Response: 201 CREATED; 400 BAD REQUEST; 500 INTERNAL SERVER ERROR
Restrictions:
Name should be valid by pattern: ^[a-zA-Z0-9]+$, list data should be not empty and contain valid mac addresses, mac address should be used only in one NS list200 OK
Request: http://localhost<host>:9091<port>/updatesqueries/nsLists/byMacPart/AA:AA.json OR http://localhost<host>:9091<port>/updatesqueries/nsLists/byMacPart/AA:AA
JSON request
{
response
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id" |
...
: "macs", |
...
"data": [ |
...
"AA:AA:AA:AA:AA:AA" |
...
] |
...
} |
XML request
...
response
Code Block | ||||
---|---|---|---|---|
| ||||
<NamespacedList> <id>macs</id> <data> <data>AA:AA:AA:AA:AA:AA</ |
...
data> </data></NamespacedList> |
...
POST http://<host>:<port>/updates/nsLists/<nsListId>/addDataPOST http://<host>:<port>/updates/nslist/<nsListId>/addData - legacy endpoint
Headers:
Content-Type = application/json OR application/xml
Accept = application/json OR application/xmlxml
Response: 200 OK and NS list object (see get request)201 CREATED; 400 BAD REQUEST; 500 INTERNAL SERVER ERROR
Restrictions:
Name should be valid by pattern: ^[a-zA-Z0-9]+$, list data should be not empty and contain valid mac addresses, mac address should be used only in one NS listNS list with current id should be exist, see restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/nsLists/listName/addData.json OR http://localhost<host>:9091<port>/updates/nsLists/listName/addData
JSON request
...
{
"list": [
"11:22:33:44:55:66"
]
}
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id": "macs",
"data": [
"AA:AA:AA:AA:AA:AA"
]
} |
XML request
Code Block | ||||
---|---|---|---|---|
| ||||
<NamespacedList>
<id>macs</id>
<data>
<data>AA:AA:AA:AA:AA:AA</data>
</data>
</NamespacedList> |
POST
XML request
...
<StringListWrapper><list><list>11:22:33:44:55:66</list></list></StringListWrapper>
DELETE http://<host>:<port>/updates/nsLists/<nsListId>/removeDataaddData
DELETE POST http://<host>:<port>/updates/nslist/<nsListId>/removeData addData - legacy endpoint
Headers:
...
Accept = application/json OR application/xml
Response: 204 NO CONTENT 200 OK and NS list object (see get request); 400 BAD REQUEST; 500 INTERNAL SERVER ERROR
Restrictions:
NS list with current id should be exist, see List contains MACs, which should be present in current Namespaced list, namespaced list should contain at least one MAC address, and restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/nsLists/listName/removeDataaddData.json OR http://localhost<host>:9091<port>/updates/nsLists/listName/removeDataaddData
JSON request
Code Block | ||
---|---|---|
|
{
| ||
{ "list": [ |
...
"11:22:33:44:55:66" |
...
] |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<StringListWrapper> <list> <list>11:22:33:44:55:66</ |
...
list> </list> </StringListWrapper> |
...
...
DELETE http://<host>:<port>/deleteupdates/nsLists/<nsListId>/removeData
DELETE http://<host>:<port>/updates/nslist/<nsListId>/removeData - legacy endpoint
Headers:
Content-Type = application/json OR application/xml
Accept = application/json OR application/xml
Response: 200 OK and message: NamespacedList doesn't exist OR NamespacedList successfully deleted;204 NO CONTENT and NS list object (see get request); 400 BAD REQUEST
Restrictions:
NS list List contains MACs, which should be not used in another placespresent in current Namespaced list, namespaced list should contain at least one MAC address, and restrictions for create operation
Request: httpRequest: http://localhost<host>:9091<port>/deleteupdates/nsLists/listName/removeData.json OR http://localhost<host>:9091<port>/deleteupdates/nsLists/listName
RebootImmediately filter
JSON request
Code Block | ||||
---|---|---|---|---|
| ||||
{
"list": [
"11:22:33:44:55:66"
]
} |
XML request
Code Block | ||||
---|---|---|---|---|
| ||||
<StringListWrapper>
<list>
<list>11:22:33:44:55:66</list>
</list>
</StringListWrapper> |
DELETE GET http://<host>:<port>/queriesdelete/filters/ri?applicationType={type}nsLists/<nsListId>
Headers:
Accept = application/json OR application/xml
applicationType is not required, default value is stb
Response: 200 OK and message: NamespacedList doesn't exist OR NamespacedList successfully deleted;
Restrictions:
NS list should be not used in another places
Request: http://<host>:<port>/delete/nsLists/listName.json OR http://<host>:<port>/delete/nsLists/listName
GET http://<host>:<port>/queries/filters/ri?applicationType={type}
Headers:
Accept = application/json OR application/xml
applicationType is not required, default value is stb
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/ri.json OR http://localhost<host>:9091<port>/queries/filters/ri
JSON response
Code Block | ||||
---|---|---|---|---|
| ||||
[ |
...
{ |
...
"macAddresses": "[AA:AA:AA:AA:AA:AA]", |
...
"environments": [ |
...
"TEST" |
...
], |
...
"models": [ |
...
"YETST" |
...
], |
...
"id": "7f6d54d8-69e1-44c3-bb28-e1ed2f5b016f", |
...
"name": "u" |
...
} |
...
] |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <macAddresses>AA:AA:AA:AA:AA:AA</ |
...
macAddresses> <environments> <environments>TEST</environments> </environments> <models> <models>YETST</models> </models> <id>7f6d54d8-69e1-44c3-bb28-e1ed2f5b016f</ |
...
id> <name>u</name> </item> </ArrayList> |
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/ri/testName.json OR http://localhost<host>:9091<port>/queries/filters/ri/testName
JSON response
Code Block |
---|
{
| ||||
{ "macAddresses": "AA:AA:AA:AA:AA:AA", |
...
"environments": [ |
...
"TEST" |
...
], |
...
"models": [ |
...
"YETST" |
...
], |
...
"id": "7f6d54d8-69e1-44c3-bb28-e1ed2f5b016f", |
...
"name": "testName" |
...
} |
XML response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<RebootImmediatelyFilter> <macAddresses>AA:AA:AA:AA:AA:AA</ |
...
macAddresses> <environments> <environments>TEST</environments> </environments> <models> <models>YETST</models> </models> <id>7f6d54d8-69e1-44c3-bb28-e1ed2f5b016f</ |
...
id> <name>u</name> </RebootImmediatelyFilter> |
...
Name should be not empty, at least one of filter criteria should be specified, mac addresses should be valid
Request: http://localhost<host>:9091<port>/updates/filters/ri.json OR http://localhost<host>:9091<port>/updates/filters/ri
JSON request
Code Block |
---|
{
| ||||
{ "macAddresses": "AA:AA:AA:AA:AA:AA", |
...
"environments": [ |
...
"TEST" |
...
], |
...
"models": [ |
...
"YETST" |
...
], |
...
"id": "7f6d54d8-69e1-44c3-bb28-e1ed2f5b016f", |
...
"name": "testName" |
...
} |
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<RebootImmediatelyFilter> <macAddresses>AA:AA:AA:AA:AA:AA</ |
...
macAddresses> <environments> <environments>TEST</environments> </environments> <models> <models>YETST</models> </models> <id>7f6d54d8-69e1-44c3-bb28-e1ed2f5b016f</ |
...
id> <name>u</name> </RebootImmediatelyFilter> |
DELETE http://<host>:<port>/delete/filters/ri/{riFilterName}?applicationType={type}
...
Response: 204 NO CONTENT and message: Filter does't exist OR Successfully deleted, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/delete/filters/ri/testName
...
{"firmwareVersions":["PR150BN_2.1p5s2_VBN_HYBse","PXD01ANI_2.1p10s1_PROD_sdy"]}
GET http://<host>:<port>/firmwareruletemplate/filtered?name=MAC_RULE&key=someKey
Headers: Accept = application/json, Content-Type = application/json
Request params:
Parameters could be combined:
'?name=someName&value=testValue'
POST http://<host>:<port>/firmwareruletemplate/importAll
Headers: Accept = application/json
Content-Type = application/json
Request body is list of firmware rule templates:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "a1",
"rule": {
"negated": false,
"condition": {
"freeArg": {
"type": "STRING",
"name": "ipAddress"
},
"operation": "IS",
"fixedArg": {
"bean": {
"value": {
"java.lang.String": ""
}
}
}
},
"compoundParts": []
},
"applicableAction": {
"type": ".RuleAction",
"ttlMap": {},
"actionType": "RULE_TEMPLATE",
"active": true,
"firmwareCheckRequired": false,
"rebootImmediately": false
},
"priority": 15,
"requiredFields": [],
"byPassFilters": [],
"editable": true
}
] |
Return list of firmware rule templates' ids which were imported or not:
Response body:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": []
} |
Response codes: 200, 400, 404, 409
GET http://<host>:<port>/firmwarerule Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "7bc69543-c33a-42c5-97dc-7c21ecf06cdb",
"name": "testName",
"rule": {
"negated": false,
"condition": {
"freeArg": {
"type": "STRING",
"name": "eStbMac"
},
"operation": "IN_LIST",
"fixedArg": {
"bean": {
"value": {
"java.lang.String": "mac list"
}
}
}
}
},
"applicableAction": {
"type": ".DefinePropertiesAction",
"ttlMap": {},
"actionType": "DEFINE_PROPERTIES",
"properties": {
"rebootImmediately": "true"
},
"byPassFilters": [],
"activationFirmwareVersions": {}
},
"type": "RI_MACLIST",
"active": true,
"applicationType": "stb"
}
] |
GET http://<host>:<port>/firmwarerule/filtered?tepmlateId=TEST_ID&key=firmwareVersion
Headers: Accept = application/json, Content-Type = application/json
Request params:
'applicationType' param is required.
Parameters could be combined:
'?applicationType=stb&value=someValue'
POST http://<host>:<port>/firmwarerule/importAll
Headers: Accept = application/json Content-Type = application/json
Request body is list of firmware rules:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "7bc69543-c33a-42c5-97dc-7c21ecf06cdb",
"name": "testName",
"rule": {
"negated": false,
"condition": {
"freeArg": {
"type": "STRING",
"name": "eStbMac"
},
"operation": "IN_LIST",
"fixedArg": {
"bean": {
"value": {
"java.lang.String": "mac list"
}
}
}
}
},
"applicableAction": {
"type": ".DefinePropertiesAction",
"ttlMap": {},
"actionType": "DEFINE_PROPERTIES",
"properties": {
"rebootImmediately": "true"
},
"byPassFilters": [],
"activationFirmwareVersions": {}
},
"type": "RI_MACLIST",
"active": true,
"applicationType": "stb"
}
] |
Return list of imported and not imported firmware rules' names:
Response body:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["testName"]
} |
Response codes: 200, 400, 404, 409
GET http://<host>:<port>/feature
Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
"name": "name",
"featureName": "featureName",
"effectiveImmediate": false,
"enable": false,
"whitelisted": false,
"configData": {
"key1": "value1"
},
"whitelistProperty": {},
"applicationType": "stb"
}
] |
GET http://<host>:<port>/feature/filtered?
Headers: Accept = application/json, Content-Type = application/json
Request params:
'APPLICATION_TYPE' param is required.
Parameters could be combined:
'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'
POST http://<host>:<port>/feature/importAll
Headers: Accept = application/json Content-Type = application/json
Request body is list of features:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
"name": "name",
"featureInstance": "featureInstance",
"effectiveImmediate": false,
"enable": false,
"whitelisted": false,
"configData": {
"key1": "value1"
},
"whitelistProperty": {},
"applicationType": "stb"
}
] |
Return list of imported and not imported feature ID's:
Response body:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["featureID"]
} |
Response codes: 200, 400, 409
POST http://<host>:<port>/feature
Headers: Accept = application/json Content-Type = application/json
Request body is feature json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
"name": "name",
"featureInstance": "featureInstance",
"effectiveImmediate": false,
"enable": false,
"whitelisted": false,
"configData": {
"key1": "value1"
},
"whitelistProperty": {},
"applicationType": "stb"
} |
Response codes: 201, 400, 409.
Response body: created feature.
PUT http://<host>:<port>/feature
Headers: Accept = application/json Content-Type = application/json
Request body is feature json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
"name": "name",
"featureInstance": "featureInstance",
"effectiveImmediate": false,
"enable": false,
"whitelisted": false,
"configData": {
"key1": "value1"
},
"whitelistProperty": {},
"applicationType": "stb"
} |
Response codes: 201, 400, 404, 409.
Response body: created feature.
DELETE http://<host>:<port>/feature/{id}
Response codes: 204, 404, 409.
GET http://<host>:<port>/featurerule
Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "963b2b7c-d198-4c23-820a-b56ac809c333",
"name": "instance_test",
"rule": {
"negated": false,
"condition": {
"freeArg": {
"type": "STRING",
"name": "testKey"
},
"operation": "IS",
"fixedArg": {
"bean": {
"value": {
"java.lang.String": "testValue"
}
}
}
},
"compoundParts": []
},
"priority": 1,
"featureIds": [
"27a9d55e-0f0c-4809-b171-8357613f0efa"
],
"applicationType": "stb"
}
] |
Response codes: 200.
GET http://<host>:<port>/featurerule/filtered?
Headers: Accept = application/json, Content-Type = application/json
Request params:
'APPLICATION_TYPE' param is required.
Parameters could be combined:
'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'
If feature rule with provided id does not exist it is imported otherwise updated.
POST http://<host>:<port>/featurerule/importAll
Headers: Accept = application/json Content-Type = application/json
Request body is list of feature rules:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "963b2b7c-d198-4c23-820a-b56ac809c333",
"name": "instance_test",
"rule": {
"negated": false,
"condition": {
"freeArg": {
"type": "STRING",
"name": "testKey"
},
"operation": "IS",
"fixedArg": {
"bean": {
"value": {
"java.lang.String": "testValue"
}
}
}
},
"compoundParts": []
},
"priority": 1,
"featureIds": [
"27a9d55e-0f0c-4809-b171-8357613f0efa"
],
"applicationType": "stb"
}
] |
Return list of imported and not imported feature rule IDs:
Response body:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["featureRuleId"]
} |
Response codes: 200, 400, 404, 409
POST http://<host>:<port>/featurerule
Headers: Accept = application/json Content-Type = application/json
Request body is feature rule json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id": "963b2b7c-d198-4c23-820a-b56ac809c333",
"name": "instance_test",
"rule": {
"negated": false,
"condition": {
"freeArg": {
"type": "STRING",
"name": "testKey"
},
"operation": "IS",
"fixedArg": {
"bean": {
"value": {
"java.lang.String": "testValue"
}
}
}
},
"compoundParts": []
},
"priority": 1,
"featureIds": [
"27a9d55e-0f0c-4809-b171-8357613f0efa"
],
"applicationType": "stb"
} |
Response codes: 201, 400, 404, 409.
Response body: created feature rule.
PUT http://<host>:<port>/featurerule
Headers: Accept = application/json Content-Type = application/json
Request body is feature rule json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id": "963b2b7c-d198-4c23-820a-b56ac809c333",
"name": "instance_test",
"rule": {
"negated": false,
"condition": {
"freeArg": {
"type": "STRING",
"name": "testKey"
},
"operation": "IS",
"fixedArg": {
"bean": {
"value": {
"java.lang.String": "testValue"
}
}
}
},
"compoundParts": []
},
"priority": 1,
"featureIds": [
"27a9d55e-0f0c-4809-b171-8357613f0efa"
],
"applicationType": "stb"
} |
Response codes: 201, 400, 404, 409.
Response body: created feature rule.
DELETE http://<host>:<port>/featurerule/{id}
Response codes: 204, 404, 409.
GET http://<host>:<port>/amv
Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
"applicationType": "stb",
"description": "Activation Version",
"regularExpressions": [],
"model": "MX011AN",
"firmwareVersions": [
"FIRMWARE_VERSION"
]
}
] |
Response codes: 200.
GET http://<host>:<port>/amv/filtered?
Headers: Accept = application/json, Content-Type = application/json
Request params:
'applicationType' param is required.
Parameters could be combined:
'?APPLICATION_TYPE=stb&MODEL=modelId'
If activation minimum version with provided id does not exist it is imported otherwise updated.
POST http://<host>:<port>/amv/importAll
Headers: Accept = application/json Content-Type = application/json
Request body is list of activation minimum version:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
"applicationType": "stb",
"description": "Activation Version",
"regularExpressions": [],
"model": "MX011AN",
"firmwareVersions": [
"FIRMWARE_VERSION"
]
}
] |
Return list of imported and not imported activation minimum version IDs:
Response body:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["42670af7-6ea2-485f-9aee-1fa5895d655b"]
}
|
Response codes: 200, 400, 404, 409
POST http://<host>:<port>/amv
Headers: Accept = application/json Content-Type = application/json
Request body is activation minimum version json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
"applicationType": "stb",
"description": "Activation Version",
"regularExpressions": [],
"model": "MX011AN",
"firmwareVersions": [
"FIRMWARE_VERSION"
]
} |
Response codes : 201, 400, 404, 409.
Response body: created activation minimum version.
PUT http://<host>:<port>/amv Headers: Accept = application/json Content-Type = application/json
Request body is activation minimum version json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
"applicationType": "stb",
"description": "Activation Version",
"regularExpressions": [],
"model": "MX011AN",
"firmwareVersions": [
"FIRMWARE_VERSION"
]
} |
Response codes: 201, 400, 404, 409.
Response body: created activation minimum version.
DELETE http://<host>:<port>/amv/{id}
Response codes: 204, 404, 409.