Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

{"firmwareVersions":["PR150BN_2.1p5s2_VBN_HYBse","PXD01ANI_2.1p10s1_PROD_sdy"]}


FirmwareRuleTemplate


Retrieve filtered templates


GET http://<host>:<port>/firmwareruletemplate/filtered?name=MAC_RULE&key=someKey

Headers: Accept = application/json, Content-Type = application/json

Request params:

  1. Without params:
    Retrieve all firmware rule templates.
  2. 'name': 
    To filter templates by name.
  3. 'key':
    To filter by rule key
  4. 'value':
    to filter by rule value

Parameters could be combined: 

'?name=someName&value=testValue'


Import firmware rule templates


POST http://<host>:<port>/firmwareruletemplate/importAll

...

Content-Type = application/json


Request body is list of firmware rule templates:


Code Block
languagephp
themeConfluence
[
    {
        "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
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": []
}

Response codes: 200, 400, 404, 409


FirmwareRule


Retrieve all firmware rules


GET http://<host>:<port>/firmwarerule Headers: Accept = application/json

Response body

Code Block
languagephp
themeConfluence
[
  {
    "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"
  }
]


Retrieve filtered firmware rules

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.

  1. 'name: 
     'name=someName'
    To filter templates by name.
  2. 'key':
    'key=someKey'
    To filter by rule key
  3. 'value':
    'value=someValue'
    to filter by rule value
  4. 'firmwareVersion':
    'firmwareVersion=testFirmwareVersion'
    to filter by firmware version
  5. 'templateId':
    'templateId=testTemplate'
    to filter by template
  6. 'applicationType':
    'applicationType=stb'
    to filter by application type

Parameters could be combined: 

'?applicationType=stb&value=someValue'


Import firmware rule

POST http://<host>:<port>/firmwarerule/importAll

Headers: Accept = application/json Content-Type = application/json

Request body is list of firmware rules:

Code Block
languagephp
themeConfluence
[
  {
    "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
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": ["testName"]
}


Response codes: 200, 400, 404, 409


Feature

Retrieve all features

GET http://<host>:<port>/feature

Headers: Accept = application/json

Response body

Code Block
languagephp
themeConfluence
[
  {
        "id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
        "name": "name",
        "featureName": "featureName",
        "effectiveImmediate": false,
        "enable": false,
        "whitelisted": false,
        "configData": {
            "key1": "value1"
        },
        "whitelistProperty": {},
        "applicationType": "stb"
    }
]


Retrieve filtered features

GET http://<host>:<port>/feature/filtered?

Headers: Accept = application/json, Content-Type = application/json


Request params:

'APPLICATION_TYPE' param is required.

  1. NAME: 
    'NAME=someName'
    To filter features by name
  2. FEATURE_INSTANCE
    'FEATURE_INSTANCE=someInstance'
    To filter features by instance
  3. FREE_ARG:
    'FREE_ARG=someKey'
    To filter by property key
  4. FIXED_ARG:
    'FIXED_ARG=someValue'
    to filter by property value
  5. APPLICATION_TYPE:
    'APPLICATION_TYPE=stb'
    to filter by application type

Parameters could be combined: 

'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'


Import feature


POST http://<host>:<port>/feature/importAll

Headers: Accept = application/json Content-Type = application/json

Request body is list of features:

Code Block
languagephp
themeConfluence
[
  {
        "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
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": ["featureID"]
}

Response codes: 200, 400, 409


Create feature


POST http://<host>:<port>/feature

Headers: Accept = application/json Content-Type = application/json

Request body is feature json object

Code Block
languagephp
themeConfluence
{
	"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.

Update feature


PUT http://<host>:<port>/feature

Headers: Accept = application/json Content-Type = application/json

Request body is feature json object


Code Block
languagephp
themeConfluence
{
	"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 feature

DELETE http://<host>:<port>/feature/{id}

Response codes: 204, 404, 409.


Feature Rule

Retrieve all feature rules

GET http://<host>:<port>/featurerule

Headers: Accept = application/json

Response body

Code Block
languagephp
themeConfluence
[
    {
        "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.

Retrieve filtered feature rules

GET http://<host>:<port>/featurerule/filtered?

Headers: Accept = application/json, Content-Type = application/json

Request params:

'APPLICATION_TYPE' param is required.

  1. NAME: 
    'NAME=ruleName'
    to filter feature rule by name
  2. FREE_ARG:
    'FREE_ARG=someKey'
    to filter by feature rule key
  3. FIXED_ARG:
    'FIXED_ARG=someValue'
    to filter by feature rule value
  4. FEATURE:
    'FEATURE=featureInstance'
    to filter by feature instance.
  5. APPLICATION_TYPE:
    'APPLICATION_TYPE=stb'
    to filter by application type

Parameters could be combined: 

'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'

Import feature rule

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
languagephp
themeConfluence
[
	{
        "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
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": ["featureRuleId"]
}

Response codes: 200, 400, 404, 409


Create feature rule


POST http://<host>:<port>/featurerule

Headers: Accept = application/json Content-Type = application/json

Request body is feature rule json object

Code Block
languagephp
themeConfluence
{
    "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.


Update feature rule


PUT http://<host>:<port>/featurerule

Headers: Accept = application/json Content-Type = application/json

Request body is feature rule json object

Code Block
languagephp
themeConfluence
{
    "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 feature rule


DELETE http://<host>:<port>/featurerule/{id}

Response codes: 204, 404, 409.