{"type":"model","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/b95772dc6c621d9842faced8610ee58b0cb9cb02/42552ab7-d679-37b0-afe0-7313ad2e8c01","info":{"title":"Service Health Heuristic Packages APIs","description":"APIs for requesting rule and metric data stored by the Crosswork Service Health application.","termsOfService":"terms-of-service","contact":{"name":"Crosswork Team, Cisco","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"http://www.cisco.com/public/sw-license-agreement.html"},"version":"7.1.0"},"security":[{"bearerAuth":[]}],"x-parser-conf":{"overview":{"markdownPath":"reference/ServiceHealth/sh_heuristic_packages_overview.md"}},"openapi":"3.0.1","servers":[{"url":"/crosswork/aa/hpmgr"}],"securitySchemes":{"bearerAuth":{"type":"apiKey","description":"Security token for authorizing requests for these APIs.","name":"Authorization","in":"header"}}},"spec":{"type":"object","description":"Rule Class Dependency","properties":{"name":{"type":"string","description":"Name of RuleClassDependency"},"id":{"type":"string","description":"ID of RuleClassDependency"},"ss_class":{"type":"string","description":"Subservice Class of RuleClassDependency"},"namespace":{"type":"string","description":"Namespace of RuleClassDependency"},"type":{"type":"string","description":"Rule Class Dependency Type","default":"DEP_TYPE_NON_LIST","enum":["DEP_TYPE_NON_LIST","DEP_TYPE_LIST"],"$$ref":"#/components/schemas/RuleClassDependencyType"},"optional":{"description":"By default, all dependencies are treated as mandatory, so errors are thrown when a given dependency's parameters cannot be resolved. On the other hand, certain dependencies are conditional upon certain service config or oper data. In these cases, the dependencies should be set as optional, so they can be ignored silently when their respective parameters do not resolve.","type":"boolean"},"param_extraction_mechanism":{"type":"object","description":"Dependency Param Extraction Mechanism","properties":{"mode":{"type":"string","description":"Parameter Extraction mechanism mode","default":"EXTRACT_MODE_UNSPECIFIED","enum":["EXTRACT_MODE_UNSPECIFIED","EXTRACT_MODE_VALUE","EXTRACT_MODE_XPATH","EXTRACT_MODE_CUSTOM_PLUGIN","EXTRACT_MODE_CUSTOM_TEMPLATE"],"$$ref":"#/components/schemas/ParamExtractionMechanismMode"},"name":{"type":"string","description":"Name"},"namespace":{"type":"string","description":"Namespace"},"version":{"type":"string","description":"Version"},"validation_hash":{"type":"string","description":"Validation hash","format":"uint64"},"plugin_method":{"type":"string","description":"Plugin method"},"extracted_params":{"type":"array","description":"Extracted parameters","items":{"type":"string","description":"Items of Extracted parameters"}},"native_method":{"type":"string","description":"Native method"}},"$$ref":"#/components/schemas/DependencyParamExtractionMechanism"},"parameters":{"type":"array","description":"Parameters of RuleClassDependency","items":{"type":"object","description":"Dependency parameter","properties":{"name":{"type":"string","description":"Name of the Dependency parameter"},"iterator":{"type":"boolean","description":"This field is applicable only when the current dependency is of type 'list'. When set to True, one dependency shall be generated for each element in the extract_value."},"default_value":{"type":"string","description":"Set the default value for a given parameter, when it is possible that none of 'extraction_details' will be successful in extracting the value for this parameter. For example: In the case of Y.1731, a node may be configured only to measure Jitter but not Loss. In these cases, we still would like to spawn the Subservice related to Y.1731 but skip the Loss-related computations. Setting some default value allows the respective Subservice to tweak its eval expression accordingly. If the value could not be extracted and the default_value is not set, then Rule Dependency will be dropped if the dependency is optional. If Dependency is not optional, the failure will be generated and the Service will be marked as 'monitoring failed'."},"extraction_method":{"type":"string","description":"Dependency Parameter Type","default":"DEP_PARAM_UNSPECIFIED","enum":["DEP_PARAM_UNSPECIFIED","DEP_PARAM_VALUE","DEP_PARAM_XPATH","DEP_PARAM_PLUGIN_OUTPUT","DEP_PARAM_NATIVE_OUTPUT"],"$$ref":"#/components/schemas/DependencyParameterType"},"extraction_details":{"type":"array","description":"Extraction details","items":{"type":"object","description":"Parameter Extraction Detail","properties":{"description":{"type":"string","description":"Description"},"extract_value":{"type":"string","description":"Extract value"}},"$$ref":"#/components/schemas/ParameterExtractionDetail"}}},"$$ref":"#/components/schemas/DependencyParameter"}},"sub_dependencies":{"type":"array","description":"Subservice dependencies","items":{"type":"string"}},"soft_sub_dependencies":{"description":"The health of these dependencies does not affect the health of its parent subservice","type":"array","items":{"type":"string"}}},"$$ref":"#/components/schemas/RuleClassDependency","title":"RuleClassDependency"}}