{"type":"model","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/26ac3d17-3e68-3a52-bd26-162688e83359","info":{"title":"Crosswork System Package Manager API","description":"System Package Manager provides API methods for patching system packages on Crosswork. This includes OS packages, K8S, CRI etc.","version":"1.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/SYSTEM_PACKAGE/system-package-overview.md"}},"openapi":"3.0.0","servers":[{"url":"/crosswork/platform/v1"}],"securitySchemes":{"bearerAuth":{"type":"apiKey","name":"Authorization","in":"header","description":"Bearer token for API authentication."}}},"spec":{"type":"object","properties":{"package_states":{"type":"array","items":{"type":"object","properties":{"package_id":{"type":"string","title":"Immutable package id"},"version":{"type":"string","title":"Semantic version of package containing Major.minor.patch, will be populated if package is active"},"possible_actions":{"type":"array","items":{"type":"string","enum":["UNKNOWN_ACTION","APPLY","UPDATE","VIEW_PACKAGE_DETAILS"],"default":"UNKNOWN_ACTION","title":"Actions that can be performed on package","example":"APPLY","$$ref":"#/components/schemas/system_packagePackageAction"},"title":"Package actions that can be performed given the current state"},"available_updates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","title":"id","description":"System package identifier.","default":"spack"},"version":{"type":"string","title":"version","description":"Version of the system package."}},"required":["id","version"],"title":"Repo system package identifier","example":{"id":"package123","version":"1.0.0"},"$$ref":"#/components/schemas/system_packagePackageIdentifier"},"title":"list of available updates"},"pending_action":{"type":"object","properties":{"action":{"type":"string","enum":["UNKNOWN_ACTION","APPLY","UPDATE","VIEW_PACKAGE_DETAILS"],"default":"UNKNOWN_ACTION","title":"Actions that can be performed on package","example":"APPLY","$$ref":"#/components/schemas/system_packagePackageAction"},"job_id":{"type":"string","title":"job_id"}},"title":"Pending Action for Package","example":{"action":"APPLY","job_id":"job123"},"$$ref":"#/components/schemas/system_packagePendingPackageAction"},"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 while processing the request."},"$$ref":"#/components/schemas/common_platformError"},"VMStatus":{"type":"array","items":{"type":"object","properties":{"vmName":{"type":"string","title":"name of vm for which package is applied"},"apply_id":{"type":"string","title":"unique apply id per package"},"status":{"type":"string","enum":["UNKNOWN_STATE","APPLIED","APPLY_FAILED","UPDATE_FAILED","APPLYING","UPDATING","PUSHING","PUSHED"],"default":"UNKNOWN_STATE","title":"System Package status","example":"APPLIED","$$ref":"#/components/schemas/system_packageStatus"},"progress":{"type":"number","format":"float","title":"Progress of transient state, if any"},"vmIp":{"type":"string","title":"ip of the vm"}},"example":{"vmName":"vm1","apply_id":"apply123","status":"APPLIED","progress":100,"vmIp":"192.168.1.10"},"$$ref":"#/components/schemas/system_packageVMStatus"},"title":"status of vm package installations"},"OSPackage":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"version_history":{"type":"array","items":{"type":"object","properties":{"package":{"type":"string"},"version":{"type":"string"},"update_time":{"type":"string","format":"int64"}},"example":{"package":"nginx","version":"1.17.0","update_time":"1610000000000"},"$$ref":"#/components/schemas/system_packageOSPackageVersionHistory"}}},"example":{"name":"nginx","version":"1.18.0","description":"Web server"},"$$ref":"#/components/schemas/system_packageOSPackage"},"title":"os package details"},"description":{"type":"string","title":"description of packagestate"},"status":{"type":"string","enum":["UNKNOWN_STATE","APPLIED","APPLY_FAILED","UPDATE_FAILED","APPLYING","UPDATING","PUSHING","PUSHED"],"default":"UNKNOWN_STATE","title":"System Package status","example":"APPLIED","$$ref":"#/components/schemas/system_packageStatus"}},"title":"Notification object\nContext id : robot.orchestrator.systempackage.packagestate.json\nSystem Package current state along with this events","example":{"package_id":"package123","version":"1.0.0","possible_actions":["APPLY","UPDATE"],"status":"APPLIED"},"$$ref":"#/components/schemas/system_packagePackageState"},"title":"List of packages 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":"priority","string_value":"high","bool_value":true},"$$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 table where column='value'"},"$$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":"token123","page_size":50},"$$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"},"pagination":{"page_token":"token123","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/system_packageRequestResult"},"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 while processing the request."},"$$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 APIs 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":{"message":""}},"$$ref":"#/components/schemas/system_packageResult"}},"example":{"package_states":[{"package_id":"package123","version":"1.0.0","status":"APPLIED"}],"result":{"request_result":"ACCEPTED"}},"$$ref":"#/components/schemas/system_packageGetPackageStatusResponse","title":"system_packageGetPackageStatusResponse"}}