{"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_summary_list":{"type":"array","items":{"type":"object","properties":{"application_id":{"type":"string","title":"Application id"},"application_data":{"type":"object","properties":{"application_id":{"type":"string","title":"Immutable Unique application identifier"},"version":{"type":"string","title":"Semantic version of Application containing Major.minor.patch"},"summary":{"type":"object","properties":{"name":{"type":"string","title":"Immutable Unique application identifier"},"description":{"type":"string","title":"Description of application"}},"title":"Summary - marketing data","example":{"name":"Example App","description":"This is a sample application"},"$$ref":"#/components/schemas/app_managerSummary"},"identifier_type":{"type":"string","enum":["UNKNOWN_IDENTIFIER_TYPE","APPLICATION","POD","RESOURCE"],"default":"UNKNOWN_IDENTIFIER_TYPE","description":"- APPLICATION: Composite package\n - POD: Executable package\n - RESOURCE: Physical file","title":"Identifier type","example":"APPLICATION","$$ref":"#/components/schemas/app_managerIdentifierType"},"category":{"type":"string","enum":["UNKNOWN_CATEGORY","EXTERNAL_APP","PLATFORM"],"default":"UNKNOWN_CATEGORY","description":"- EXTERNAL_APP: INTERNAL_APP = 1; reserved\n - PLATFORM: INFRA","title":"App Object Category to indicate whether it app is external app or an internal app or platform","example":"EXTERNAL_APP","$$ref":"#/components/schemas/app_managerCategory"},"build_information":{"type":"object","properties":{"date_time":{"type":"string","title":"Date on which image was built in RFC339 format"},"publisher":{"type":"string","title":"Publisher information"}},"title":"Build Information","example":{"date_time":"2023-09-01T12:00:00Z","publisher":"Cisco Systems"},"$$ref":"#/components/schemas/app_managerBuildInformation"},"contents":{"type":"array","items":{"type":"object","properties":{"unit_id":{"type":"string","title":"Immutable Unique application identifier"},"version":{"type":"string","title":"Semantic version of Application containing Major.minor.patch"},"description":{"type":"string","title":"Description of pod,resource"},"summary":{"type":"object","properties":{"name":{"type":"string","title":"Immutable Unique application identifier"},"description":{"type":"string","title":"Description of application"}},"title":"Summary - marketing data","example":{"name":"Example App","description":"This is a sample application"},"$$ref":"#/components/schemas/app_managerSummary"},"identifier_Type":{"type":"string","enum":["UNKNOWN_IDENTIFIER_TYPE","APPLICATION","POD","RESOURCE"],"default":"UNKNOWN_IDENTIFIER_TYPE","description":"- APPLICATION: Composite package\n - POD: Executable package\n - RESOURCE: Physical file","title":"Identifier type","example":"APPLICATION","$$ref":"#/components/schemas/app_managerIdentifierType"},"category":{"type":"string","enum":["UNKNOWN_CATEGORY","EXTERNAL_APP","PLATFORM"],"default":"UNKNOWN_CATEGORY","description":"- EXTERNAL_APP: INTERNAL_APP = 1; reserved\n - PLATFORM: INFRA","title":"App Object Category to indicate whether it app is external app or an internal app or platform","example":"EXTERNAL_APP","$$ref":"#/components/schemas/app_managerCategory"},"dependency_constraints":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","title":"identifier object ,cannot contain only alphabets _"},"identifier_type":{"type":"string","enum":["UNKNOWN_IDENTIFIER_TYPE","APPLICATION","POD","RESOURCE"],"default":"UNKNOWN_IDENTIFIER_TYPE","description":"- APPLICATION: Composite package\n - POD: Executable package\n - RESOURCE: Physical file","title":"Identifier type","example":"APPLICATION","$$ref":"#/components/schemas/app_managerIdentifierType"},"version_range":{"type":"string","title":"examples of valid range - \"\u003c1.0.0\",\"\u003c=1.0.0\",\"\u003e1.0.0\",\"\u003e=1.0.0\",\"1.0.0\", \"=1.0.0\",\"\u003e=1.0.0 \u003c=2.0.0\" or \"*\" indicating all versions is exceptable"}},"description":"constraint stanza defines rules for how a direct dependency must be incorporated into the dependency graph.","example":{"id":"constraint123","identifier_type":"APPLICATION","version_range":"\u003e=1.0.0 \u003c2.0.0"},"$$ref":"#/components/schemas/app_managerConstraint"},"title":"List of Dependencies"},"build_information":{"type":"object","properties":{"date_time":{"type":"string","title":"Date on which image was built in RFC339 format"},"publisher":{"type":"string","title":"Publisher information"}},"title":"Build Information","example":{"date_time":"2023-09-01T12:00:00Z","publisher":"Cisco Systems"},"$$ref":"#/components/schemas/app_managerBuildInformation"},"meta_schema_version":{"type":"string","title":"Schema Spec version"},"skip_auto_install":{"type":"boolean","title":"Skip auto install"},"runtime_type":{"type":"string","enum":["UNKNOWN_DEPLOYMENT_RUNTIME_TYPE","BUILD_TIME","DYNAMIC"],"default":"UNKNOWN_DEPLOYMENT_RUNTIME_TYPE","description":"- UNKNOWN_DEPLOYMENT_RUNTIME_TYPE: Unknown runtime type\n - BUILD_TIME: Static deployment\n - DYNAMIC: Dynamic deployment","title":"DeploymentRunTimeType - Type of deployment runtime","example":"DYNAMIC","$$ref":"#/components/schemas/app_managerDeploymentRunTimeType"}},"title":"Kubernetes deployment units","example":{"unit_id":"unit1234","version":"1.0.0","description":"This is a deployment unit for XYZ functionality.","summary":{"name":"Unit Name","description":"Unit Description"},"identifier_Type":"POD","category":"EXTERNAL_APP","dependency_constraints":[],"build_information":{"date_time":"2023-09-01T12:00:00Z","publisher":"Cisco Systems"},"meta_schema_version":"v1","skip_auto_install":false,"runtime_type":"DYNAMIC"},"$$ref":"#/components/schemas/app_managerDeploymentUnit"},"title":"List of constituent contents that make up the app"},"dependency_constraints":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","title":"identifier object ,cannot contain only alphabets _"},"identifier_type":{"type":"string","enum":["UNKNOWN_IDENTIFIER_TYPE","APPLICATION","POD","RESOURCE"],"default":"UNKNOWN_IDENTIFIER_TYPE","description":"- APPLICATION: Composite package\n - POD: Executable package\n - RESOURCE: Physical file","title":"Identifier type","example":"APPLICATION","$$ref":"#/components/schemas/app_managerIdentifierType"},"version_range":{"type":"string","title":"examples of valid range - \"\u003c1.0.0\",\"\u003c=1.0.0\",\"\u003e1.0.0\",\"\u003e=1.0.0\",\"1.0.0\", \"=1.0.0\",\"\u003e=1.0.0 \u003c=2.0.0\" or \"*\" indicating all versions is exceptable"}},"description":"constraint stanza defines rules for how a direct dependency must be incorporated into the dependency graph.","example":{"id":"constraint123","identifier_type":"APPLICATION","version_range":"\u003e=1.0.0 \u003c2.0.0"},"$$ref":"#/components/schemas/app_managerConstraint"},"title":"List of Dependencies"},"license_data":{"type":"object","properties":{"product_id":{"type":"string","title":"Smart licensing server product id"},"software_id_tag":{"type":"string","title":"software id tag of product as registered\nin smart licensing server / CSSM"},"display_name":{"type":"string","description":"Should be filled with string to be displayed on UI\nWill be defaulted to PID if not given."},"entitlements":{"type":"array","items":{"type":"object","properties":{"entitlement_tag":{"type":"string","title":"unique tag of the entitlement as derived from CSSM"},"version":{"type":"string","title":"version of above entitlement"},"name":{"type":"string","title":"name of the entitlement"},"is_reset_after_first_registration":{"type":"boolean","title":"flag to be set true,if it is resettable after first registration"},"is_lab":{"type":"boolean","description":"set to true if it is a lab entitlement tag.\nUser will be able to use the extended trial period if it is available."}},"example":{"entitlement_tag":"ENT1234","version":"1.0","name":"Entitlement Name","is_reset_after_first_registration":true,"is_lab":false},"$$ref":"#/components/schemas/app_managerSmartLicensingEntitlement"},"title":"List of entitlements that would be used by product"},"capp_licensing_type":{"type":"string","enum":["UNKNOWN_TYPE","ESSENTIALS","ADVANCED"],"default":"UNKNOWN_TYPE","title":"type of the crosswork application","example":"ESSENTIALS","$$ref":"#/components/schemas/app_managerCappLicensingType"},"parent_software_id":{"type":"string","title":"if solution licensing is available, then link it here"},"is_lab_supported":{"type":"boolean","title":"set if lab mode is supported"},"auto_onboard":{"type":"boolean","title":"set if onboard / deboard is expected to happen as part of installation / uninstallation"}},"title":"SmartLicensingInfo for CLMS","example":{"product_id":"PID1234","software_id_tag":"TAG1234","display_name":"Sample Product","entitlements":[],"capp_licensing_type":"ESSENTIALS","parent_software_id":"SWID1234","is_lab_supported":true,"auto_onboard":false},"$$ref":"#/components/schemas/app_managerSmartLicensingData"},"meta_schema_version":{"type":"string","title":"Schema Spec version"}},"title":"Application Data","example":{"application_id":"app1234","version":"1.0.0","summary":{"name":"Example App","description":"This is a sample application"},"identifier_type":"APPLICATION","category":"EXTERNAL_APP","build_information":{"date_time":"2023-09-01T12:00:00Z","publisher":"Cisco Systems"},"contents":[],"dependency_constraints":[],"license_data":{"product_id":"PID1234","software_id_tag":"TAG1234","display_name":"Sample Product","entitlements":[],"capp_licensing_type":"ESSENTIALS","parent_software_id":"SWID1234","is_lab_supported":true,"auto_onboard":false},"meta_schema_version":"v1"},"$$ref":"#/components/schemas/app_managerApplicationData"},"application_state":{"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":"Application summary consolidates app data and state into one message","example":{"application_id":"app1234","application_data":{"application_id":"app1234","version":"1.0.0","summary":{"name":"Example App","description":"This is a sample application"},"identifier_type":"APPLICATION","category":"EXTERNAL_APP","build_information":{"date_time":"2023-09-01T12:00:00Z","publisher":"Cisco Systems"},"contents":[],"dependency_constraints":[],"license_data":{"product_id":"PID1234","software_id_tag":"TAG1234","display_name":"Sample Product","entitlements":[],"capp_licensing_type":"ESSENTIALS","parent_software_id":"SWID1234","is_lab_supported":true,"auto_onboard":false},"meta_schema_version":"v1"},"application_state":{"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_managerApplicationSummary"},"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_managerGetApplicationSummaryResponse","example":{"application_summary_list":[{"application_id":"app1234","application_data":{"application_id":"app1234","version":"1.0.0","summary":{"name":"Example App","description":"This is a sample application"},"identifier_type":"APPLICATION","category":"EXTERNAL_APP","build_information":{"date_time":"2023-09-01T12:00:00Z","publisher":"Cisco Systems"},"contents":[],"dependency_constraints":[],"license_data":{"product_id":"PID1234","software_id_tag":"TAG1234","display_name":"Sample Product","entitlements":[],"capp_licensing_type":"ESSENTIALS","parent_software_id":"SWID1234","is_lab_supported":true,"auto_onboard":false},"meta_schema_version":"v1"},"application_state":{"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_managerGetApplicationSummaryResponse"}}