{"type":"api","title":"Activate Applications using AutoAction","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":{"description":"Allows user to upload auto action definition file and then jobs will be scheduled based on the definition.","summary":"Activate Applications using AutoAction","operationId":"ApplicationManagerService_ActivateAutoAction","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"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":"AutoAction response","example":{"result":{"request_result":"ACCEPTED","error":null}},"$$ref":"#/components/schemas/app_managerAutoActionsResponse"}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"type_url":{"type":"string","description":"A URL/resource name whose content describes the type of the\nserialized protocol buffer message.\n\nFor URLs which use the scheme `http`, `https`, or no scheme, the\nfollowing restrictions and interpretations apply:\n\n* If no scheme is provided, `https` is assumed.\n* The last segment of the URL's path must represent the fully\n qualified name of the type (as in `path/google.protobuf.Duration`).\n The name should be in a canonical form (e.g., leading \".\" is\n not accepted).\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."},"value":{"type":"string","format":"byte","description":"Must be a valid serialized protocol buffer of the above specified type."}},"description":"`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := &pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }","$$ref":"#/components/schemas/protobufAny"}}},"example":{"error":"RuntimeException","code":500,"message":"An unexpected error occurred during execution.","details":[{"type_url":"type.googleapis.com/google.protobuf.Any","value":"Error details in binary format"}]},"$$ref":"#/components/schemas/gatewayruntimeError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"auto_action":{"type":"object","properties":{"add_to_repository_requests":{"type":"array","items":{"type":"object","properties":{"remote_file":{"type":"string","title":"file to download"},"ssh_config":{"type":"object","properties":{"remote_host":{"type":"string","title":"Remote host"},"username":{"type":"string","title":"Remote host user"},"password":{"type":"string","title":"Remote host password"},"port":{"type":"integer","format":"int64","title":"Remote host ssh port"}},"title":"SSHConfig for remote host","example":{"remote_host":"example.com","username":"user","password":"pass","port":22},"$$ref":"#/components/schemas/common_platformSshConfig"},"file_location":{"type":"object","properties":{"scp_location":{"type":"object","properties":{"remote_file":{"type":"string","title":"file to download"},"ssh_config":{"type":"object","properties":{"remote_host":{"type":"string","title":"Remote host"},"username":{"type":"string","title":"Remote host user"},"password":{"type":"string","title":"Remote host password"},"port":{"type":"integer","format":"int64","title":"Remote host ssh port"}},"title":"SSHConfig for remote host","example":{"remote_host":"example.com","username":"user","password":"pass","port":22},"$$ref":"#/components/schemas/common_platformSshConfig"}},"title":"SCP location to download the file from","example":{"remote_file":"/path/to/remote/file.tar.gz","ssh_config":{"remote_host":"example.com","username":"user","password":"pass","port":22}},"$$ref":"#/components/schemas/common_platformScpLocation"},"uri_location":{"type":"object","properties":{"uri":{"type":"string","title":"http or https or file url to download the file , supports ex https://www.foo.com/bar.tar.gz ,\nhttp://192.65.10.20/bar.tar.gz , file:///tmp/bar.tar.gz\nSupports http,https or file scheme"},"basic_auth":{"type":"object","properties":{"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"}},"title":"Basic Authentication","example":{"username":"user","password":"pass"},"$$ref":"#/components/schemas/common_platformBasicAuthentication"},"skip_tls_verify":{"type":"boolean","title":"Skip TLS verification if https"}},"title":"URI location for the file","example":{"uri":"https://example.com/file.tar.gz","basic_auth":{"username":"user","password":"pass"},"skip_tls_verify":false},"$$ref":"#/components/schemas/common_platformURILocation"}},"title":"File location to download the file from","example":{"scp_location":{"remote_file":"/path/to/remote/file.tar.gz","ssh_config":{"remote_host":"example.com","username":"user","password":"pass","port":22}},"uri_location":{"uri":"https://example.com/file.tar.gz","basic_auth":{"username":"user","password":"pass"},"skip_tls_verify":false}},"$$ref":"#/components/schemas/common_platformFileLocation"}},"title":"Add tar request to copy the bundle from remote host in CW and add it to internal repository","example":{"remote_file":"/path/to/remote/file.tar.gz","ssh_config":{"remote_host":"example.com","username":"user","password":"pass","port":22},"file_location":{"uri_location":{"uri":"https://example.com/file.tar.gz","basic_auth":{"username":"user","password":"pass"},"skip_tls_verify":false}}},"$$ref":"#/components/schemas/app_managerAddToRepositoryRequest"},"title":"List of apps to be added repository"},"install_activate_requests":{"type":"array","items":{"type":"object","properties":{"package_identifier":{"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"},"force":{"type":"boolean","title":"force_install allows you to install apps without dependency checks"}},"title":"Install a Application Request","example":{"package_identifier":{"id":"pkg1234","version":"1.0.0"},"force":true},"$$ref":"#/components/schemas/app_managerInstallAndActivateApplicationRequest"},"title":"List of apps to be installed/activated in that sequence post repository addition"}},"title":"AutoAction format for manifest file","$$ref":"#/components/schemas/app_managerAutoAction"}},"title":"AutoAction request","$$ref":"#/components/schemas/app_managerAutoActionsRequest"}}},"required":true},"tags":["ApplicationManagerService"],"__originalOperationId":"ApplicationManagerService_ActivateAutoAction","security":[{"bearerAuth":[]}],"method":"put","path":"/capp/application/autoaction/activate"}}