{"type":"model","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/ba77f57b-02d1-3e26-99d6-40948a543c9c","info":{"title":"Crosswork AppManager API","description":"AppManager provides API methods for managing Crosswork applications that run on top of Kubernetes. This includes install-activate, deactivate, update, and uninstall for these applications. It also provides APIs to manage the internal package repository from which application installs are carried out.","version":"3.0.0","contact":{"name":"Crosswork Team, Cisco","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"https://www.cisco.com/public/sw-license-agreement.html"}},"security":[{"bearerAuth":[]}],"x-parser-conf":{"overview":{"markdownPath":"reference/INFRA/APP/app-overview.md"}},"openapi":"3.0.0","servers":[{"url":"/crosswork/platform/v2"}],"securitySchemes":{"bearerAuth":{"type":"apiKey","name":"Authorization","in":"header","description":"Bearer token for API authentication."}}},"spec":{"type":"object","properties":{"application_states":{"type":"array","items":{"type":"object","properties":{"application_id":{"type":"string","title":"Immutable application id"},"version":{"type":"string","title":"Semantic version of Application containing Major.minor.patch, will be populated if application is active"},"install_id":{"type":"string","title":"unique install id per application"},"status":{"type":"string","enum":["UNKNOWN_STATE","INSTALLED","ACTIVE","INACTIVE","ACTIVATION_FAILED","DEACTIVATION_FAILED","INSTALL_FAILED","UNINSTALL_FAILED","UPDATE_FAILED","INSTALLING","ACTIVATING","DEACTIVATING","UNINSTALLING","UPDATING","UNINSTALLED","SKIPPED"],"default":"UNKNOWN_STATE","title":"Application status","example":"ACTIVE","$$ref":"#/components/schemas/app_managerStatus"},"progress":{"type":"number","format":"float","title":"Progress of transient state, if any"},"possible_actions":{"type":"array","items":{"type":"string","enum":["UNKNOWN_ACTION","INSTALL","ACTIVATE","DEACTIVATE","UPDATE","UNINSTALL","VIEW_APPLICATION_DETAILS","CONFIGURE"],"default":"UNKNOWN_ACTION","title":"Actions that can be performed on application","example":"ACTIVATE","$$ref":"#/components/schemas/app_managerApplicationAction"},"title":"Application actions that can be performed given the current state"},"available_updates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","title":"id"},"version":{"type":"string","title":"version"}},"title":"Repo app package identifier","example":{"id":"pkg1234","version":"1.0.0"},"$$ref":"#/components/schemas/app_managerPackageIdentifier"},"title":"list of available updates"},"pending_action":{"type":"object","properties":{"action":{"type":"string","enum":["UNKNOWN_ACTION","INSTALL","ACTIVATE","DEACTIVATE","UPDATE","UNINSTALL","VIEW_APPLICATION_DETAILS","CONFIGURE"],"default":"UNKNOWN_ACTION","title":"Actions that can be performed on application","example":"ACTIVATE","$$ref":"#/components/schemas/app_managerApplicationAction"},"job_id":{"type":"string","title":"job_id"}},"title":"Pending Action for Application","example":{"action":"INSTALL","job_id":"job1234"},"$$ref":"#/components/schemas/app_managerPendingApplicationAction"},"last_operation_error":{"type":"object","properties":{"message":{"type":"string","title":"Message is a textual description of reason for rejection, and can be safely passed on to operator through logs\nor UI"}},"title":"Error associated with an Object","example":{"message":"An error occurred due to invalid input."},"$$ref":"#/components/schemas/common_platformError"}},"title":"Notification object\nContext id : robot.orchestrator.capp.applicationstate.json\nApplication current state along with this events","example":{"application_id":"app1234","version":"1.0.0","install_id":"install5678","status":"ACTIVE","progress":100,"possible_actions":["DEACTIVATE","UPDATE"],"available_updates":[],"pending_action":null,"last_operation_error":null},"$$ref":"#/components/schemas/app_managerApplicationState"},"title":"List of applications as response"},"query_options":{"type":"object","properties":{"filters":{"type":"object","properties":{"filter_fields":{"type":"array","items":{"type":"object","properties":{"key_value":{"type":"object","properties":{"key":{"type":"string"},"string_value":{"type":"string","title":"Commented out is reserved for future use.\nbytes bytes_value = 2;"},"bool_value":{"type":"boolean"},"uint64_value":{"type":"string","format":"uint64","title":"uint32 uint32_value = 5;"},"sint64_value":{"type":"string","format":"int64","title":"sint32 sint32_value = 7;"},"double_value":{"type":"number","format":"double"}},"title":"Generic Key value message","example":{"key":"status","string_value":"ACTIVE"},"$$ref":"#/components/schemas/common_platformKeyValue"},"comparison_operator":{"type":"string","enum":["COMPARISON_UNKNOWN","CONTAINS","ICONTAINS","EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NOT_EQUAL"],"default":"COMPARISON_UNKNOWN","description":"- CONTAINS: STRING contains.Case sensitive May not be supported for all data types\n - ICONTAINS: STRING contains.Case Insensitive. May not be supported for all data types\n - EQUAL: Equal.\n - LESS_THAN: Commented ones are for future use\n Less than.\n - LESS_THAN_OR_EQUAL: // Less than or equal.\n - GREATER_THAN: // Greater than.\n - GREATER_THAN_OR_EQUAL: // Greater than or equal.\n - NOT_EQUAL: NOT EQUAL","title":"Comparison Operator","example":"EQUAL","$$ref":"#/components/schemas/common_platformComparisonOperator"}},"title":"Key Value filter set","example":{"key_value":{"key":"status","string_value":"ACTIVE"},"comparison_operator":"EQUAL"},"$$ref":"#/components/schemas/common_platformFilterKeyValue"},"title":"Key Value filters"},"logical_operator":{"type":"string","enum":["OPERATOR_LOGICAL_UNKNOWN","AND","OR"],"default":"OPERATOR_LOGICAL_UNKNOWN","description":"- AND: Logical AND\n - OR: Logical OR","title":"Logical Operator","example":"AND","$$ref":"#/components/schemas/common_platformLogicalOperator"},"sort_operator":{"type":"string","enum":["SORT_UNSPECIFIED","ASCENDING","DESCENDING"],"default":"SORT_UNSPECIFIED","description":"The sort direction.\n\n - SORT_UNSPECIFIED: Unspecified. This value must not be used.\n - ASCENDING: Ascending.\n - DESCENDING: Descending.","example":"ASCENDING","$$ref":"#/components/schemas/common_platformSortOperator"}},"title":"KeyValue Filter Set","example":{"filter_fields":[{"key_value":{"key":"status","string_value":"ACTIVE"},"comparison_operator":"EQUAL"}],"logical_operator":"AND","sort_operator":"ASCENDING"},"$$ref":"#/components/schemas/common_platformFilterKeyValueSet"},"cw_query":{"type":"object","properties":{"query":{"type":"string","title":"SQL like filter query\nselect * from robotnodedata where provider.provider.name='nso101'"}},"title":"SQL like CW query style","example":{"query":"select * from applications where status='ACTIVE'"},"$$ref":"#/components/schemas/common_platformCWQuery"},"pagination":{"type":"object","properties":{"page_token":{"type":"string","title":"Page token to echo back to get next page, is empty or page token is empty,\nthen there is no more results"},"page_size":{"type":"integer","format":"int64","title":"page_size"}},"title":"Pagination option","example":{"page_token":"","page_size":10},"$$ref":"#/components/schemas/common_platformPagination"}},"title":"Query Options","example":{"filters":{"filter_fields":[{"key_value":{"key":"status","string_value":"ACTIVE"},"comparison_operator":"EQUAL"}],"logical_operator":"AND","sort_operator":"ASCENDING"},"cw_query":{"query":"select * from applications where status='ACTIVE'"},"pagination":{"page_token":"","page_size":10}},"$$ref":"#/components/schemas/common_platformQueryOptions"},"result":{"type":"object","properties":{"request_result":{"type":"string","enum":["UNKNOWN_RESULT","REJECTED","ACCEPTED"],"default":"UNKNOWN_RESULT","description":"- REJECTED: Request has been rejected\n - ACCEPTED: Request has been accepted for processing","title":"Request - reply\nresponse","example":"ACCEPTED","$$ref":"#/components/schemas/app_managerRequestResult"},"error":{"type":"object","properties":{"message":{"type":"string","title":"Message is a textual description of reason for rejection, and can be safely passed on to operator through logs\nor UI"}},"title":"Error associated with an Object","example":{"message":"An error occurred due to invalid input."},"$$ref":"#/components/schemas/common_platformError"}},"description":"Result is used to convey whether an operation (individual or in a batch)\nhas been accepted or rejected. For sync API's an error or rejection indicates failure of operation.\nA string error message accompanies rejection to support troubleshooting. For notification objects,\nrejection represents failure to do intended operation.","example":{"request_result":"ACCEPTED","error":null},"$$ref":"#/components/schemas/app_managerResult"}},"title":"app_managerGetApplicationStatusResponse","example":{"application_states":[{"application_id":"app1234","version":"1.0.0","install_id":"install5678","status":"ACTIVE","progress":100,"possible_actions":["DEACTIVATE","UPDATE"],"available_updates":[],"pending_action":null,"last_operation_error":null}],"query_options":{"filters":null,"cw_query":null,"pagination":{"page_token":"","page_size":10}},"result":{"request_result":"ACCEPTED","error":null}},"$$ref":"#/components/schemas/app_managerGetApplicationStatusResponse"}}