You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 10
Next »
POMBA will specify APIs which it will be able to consume to integrate with Data Dictionary. Data Dictionary itself is not part of POMBA sub-components.
API should support the following use cases:
- Please get me the list of valid values for this attribute
- Here is a value, please tell me if it meets constraints of the attribute (length, type, regex, range, enum, etc.)
- Here is a subset of attributes in a larger reference table/object, please return full rows that match subset. Note, subset could be one attribute.
- Here is a fully qualified row in a reference table/object, please tell me if it's valid
POMBA will include interface to consume the following APIs:
getEnumValuesOfStringAttribute
POST /commonModelElements/{commonModelElementId}/getEnumValues
Operation: getEnumValues
returns the enum values of a commonModelElement attribute
Inputs commonModelElementId: identifies the attribute as 'attribute~attribName~version'
Outputs:
on success: status code 200 with [ enumValues ]
on failure: status code 400 with json array of error messages: [ errorMessage ]
other failure status codes may be returned if for instance the proxy
is down (503)
Headers:
x-authorization: Basic XXXXXXXXXXXXXXXX
Content-Type: application/json
Sample:
POST /commonModelElements/attribute~nfRole~1.0/getEnumValues
Sample Success Response:
HTTP/1.1 200 OK
content-type: application/json
content-length: 12345
[
vFW,
vFW-A,
vFW-B,
]
validateInstance
Can this currently differentiate between 1) supported, bad value and 2) unsupported field?
POST /commonModelElements/{commonModelElementId}/validateInstance
Operation: validateInstance
validates whether an instance conforms to a type (for example: a value conforms to the
constraints of an attribute type, or, one or more rows of values conforms to the constraints
of an instance table)
Inputs commonModelElementId: identifies the entity defining the constraints as
'entityType~entityName~entityVer'
Inputs (JSON body variables):
{ "instance": instanceSchema }
where instanceSchema is the instance to be validated
Outputs:
on success: status code 204
on failure: status code 400 with json array of error messages: [ errorMessage ]
other failure status codes may be returned if for instance the proxy
is down (503)
Note: a pointer to a file containing the validation errors will be returned;
if less than 1Meg of validation errors occur, they will also be returned
in the error message array
Headers:
x-authorization: Basic XXXXXXXXXXXXXXXX
Content-Type: application/json
Sample Request:
POST /commonModelElements/instance~nfValuesCatalog~1.0/validateInstance HTTP/1.1
{
“instance”: [
{
"LineofBusiness": "string",
"NFFunction": "string",
"NFNamingCode": "string",
"NFRole": "string",
"NFType": "string",
"NFCFunction": "string",
"NFCNamingCode": "string",
"OwningEntity": "string"
}
]
}
Sample Success Response:
HTTP/1.1 204 No Content
Sample Error Response:
HTTP/1.1 400
content-type: application/json
[
"error message 1"
]
getInstanceTableRows
POST /commonModelElements/{commonModelElementId}/getInstanceTableRowsWithMatchingColumns
Operation: getInstanceTableRows
returns an array of instance table rows containing the column values provided
as input
Inputs (pathstring variables):
commonModelElementId: identifies the instance table as 'instance~instName~version'
Inputs (JSON body variables):
{ "columnKey1": "columnValueToMatch1", "columnKey2": "columnValueToMatch2" }
where as many column keys as necessary must be supplied and the match is done
as an AND across all key values (i.e., all key values must match)
Outputs:
on success: status code 200 with [ instanceTableRows ]
on failure: status code 400 with json array of error messages: [ errorMessage ]
other failure status codes may be returned if for instance the proxy
is down (503)
Headers:
x-authorization: Basic XXXXXXXXXXXXXXXX
Content-Type: application/json
Sample Request:
POST /commonModelElements/instance~nfValuesCatalog~1.0/getInstanceTableRowsWithMatchingColumns
{
"NFRole": "NF-ROLE-A",
"NFType": "NF-TYPE-A",
}
Sample Success Response:
HTTP/1.1 200 OK
content-type: application/json
[
{
"LineofBusiness": "string",
"NFFunction": "string",
"NFNamingCode": "string",
"NFRole": "NF-ROLE-A",
"NFType": "NF-TYPE-A",
"NFCFunction": "string"
},
{
"LineofBusiness": "string",
"NFFunction": "string",
"NFNamingCode": "string",
"NFRole": "NF-ROLE-A",
"NFType": "NF-TYPE -A",
"NFCFunction": "string"
}
]
Sample Error response:
HTTP/1.1 400
content-type: application/json
[
"error message 1",
"error message 2"
]
Validate Single Attribute
POST /commonModelElements/{commonModelElementId}/validateInstance
Operation: validate attribute value
validates whether an instance conforms to a type for a single attribute
Inputs commonModelElementId: identifies the entity defining the constraints as
'attribute~attributeName~entityVer'
Inputs (JSON body variables):
{ "instance": instanceSchema }
where instanceSchema is the attribute value under a test
Outputs:
on success: status code 204
on failure: status code 400 with errorMessage
other failure status codes may be returned if for instance the proxy
is down (503)
Note: a pointer to a file containing the validation errors will be returned;
if less than 1Meg of validation errors occur, they will also be returned
in the error message array
Headers:
x-authorization: Basic XXXXXXXXXXXXXXXX
Content-Type: application/json
Sample Request:
POST /commonModelElements/attribute~nfRole~1.0/validateInstance HTTP/1.1
{
"instance": "someValue"
}
Sample Success Response:
HTTP/1.1 204 No Content
Sample Error Response:
HTTP/1.1 400
content-type: application/json
{
"error message 1"
}