This documentation is for WSO2 Private PaaS 4.1.0. View documentation for the latest release.
Updating an Application - WSO2 Private PaaS 4.1.0 - WSO2 Documentation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
||
Skip to end of metadata
Go to start of metadata

You can update an application using the CLI tool or the REST API as shown below:

 

Updating an application via the CLI

Overview
CLI command
update-application
DescriptionUpdate an application.
Command format
update-application -p <JSON_FILE_PATH>

The path to the JSON file that defines the application needs to be defined as the <JSON_FILE_PATH> value.

Parameter definition
Short optionLong optionDescriptionRequiredExample value
-p
--resource-pathFolder path where the JSON file that defines the application policy is stored.yes

<PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/applications/
wso2am-190-application/artifacts/wso2am-190-application.json

Example

Update the application defined in the <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/ applications/wso2am-190-application/artifacts/wso2am-190-application.json file. 

update-application -p <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/applications/wso2am-190-application/artifacts/wso2am-190-application.json
Sample output
Application updated successfully: [application] wso2am-190-application

Updating an application via the REST API

Overview
DescriptionUpdate an application definition.
Resource Path/applications
HTTP MethodPUT
Request/Response Formatapplication/json
Command format
curl -X UT -H "Content-Type: application/json" -d @'<JSON_PAYLOAD>' -k -v -u <USERNAME>:<PASSWORD> https://<PRIVATE_PAAS_HOST>:<PRIVATE_PAAS_HTTPS_PORT>/api/applications
  • The path to the JSON file that defines the application needs to be defined as the <JSON_PAYLOAD> value.
  • By default, <USERNAME>:<PASSWORD> is admin:admin.
  • By default, <PRIVATE_PAAS_HOST> is localhost. However, if you are using a public IP, the respective IP address or domain needs to be specified.
  • By default, <PRIVATE_PAAS_HTTPS_PORT> has been set to 9443. However, if the port offset has been incremented by n, the default port value needs to be incremented by n.
Example

Update the application defined in the <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/applications/wso2am-190-application/artifacts/wso2am-190-application.json file. 

cd <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples
curl -X PUT -H "Content-Type: application/json" -d @'applications/wso2am-190-application/artifacts/wso2am-190-application.json' -k -v -u admin:admin https://localhost:9443/api/applications
Sample output
> PUT /api/applications HTTP/1.1
> Host: localhost:9443
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 3193
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue
< HTTP/1.1 201 Created
< Date: Thu, 08 Oct 2015 09:47:29 GMT
< Location: https://localhost:9443/api/applications/wso2am-190-application
< Content-Type: application/json
< Transfer-Encoding: chunked
< Server: WSO2 Carbon Server
< 
{"status":"success","message":"Application updated successfully: [application] wso2am-190-application"}

You will come across the following HTTP status codes while updating an application:

HTTP status code

200, 400, 409, 500

See the descriptions of the HTTP status codes here.

Location header URL

https://<PRIVATE_PAAS_HOST>:<PRIVATE_PAAS_HTTPS_PORT>/api/applications/<APPLICATION_ID>

 


Sample application definition JSON

{
  "applicationId": "wso2am-190-application",
  "multiTenant": true,
  "alias": "wso2am-190-application",
  "components": {
    "groups": [
      {
        "name": "keymanager-gw-manager-gw-worker",
        "alias": "keymanager-gw-manager-gw-worker",
        "groupMinInstances": 1,
        "groupMaxInstances": 1,
        "cartridges": [
          {
            "type": "wso2am-190-gw-manager",
            "cartridgeMin": 1,
            "cartridgeMax": 1,
            "subscribableInfo": {
              "alias": "gateway-manager",
              "deploymentPolicy": "deployment-policy-1",
              "autoscalingPolicy": "autoscaling-policy-1"
            }
          },
          {
            "type": "wso2am-190-gw-worker",
            "cartridgeMin": 1,
            "cartridgeMax": 1,
            "subscribableInfo": {
              "alias": "gateway-worker",
              "deploymentPolicy": "deployment-policy-1",
              "autoscalingPolicy": "autoscaling-policy-1"
            }
          },
          {
            "type": "wso2am-190-km",
            "cartridgeMin": 1,
            "cartridgeMax": 1,
            "subscribableInfo": {
              "alias": "key-manager",
              "deploymentPolicy": "deployment-policy-1",
              "autoscalingPolicy": "autoscaling-policy-1"
            }
          }
        ]
      },
      {
        "name": "pub-store-grp",
        "alias": "pub-store-grp",
        "groupMinInstances": 1,
        "groupMaxInstances": 1,
        "cartridges": [
          {
            "type": "wso2am-190-pub",
            "cartridgeMin": 1,
            "cartridgeMax": 1,
            "subscribableInfo": {
              "alias": "publisher",
              "deploymentPolicy": "deployment-policy-1",
              "autoscalingPolicy": "autoscaling-policy-1"
            }
          },
          {
            "type": "wso2am-190-store",
            "cartridgeMin": 1,
            "cartridgeMax": 1,
            "subscribableInfo": {
              "alias": "store",
              "deploymentPolicy": "deployment-policy-1",
              "autoscalingPolicy": "autoscaling-policy-1"
            }
          }
        ]
      }
    ],
    "dependencies": {
      "startupOrders": [
        {
          "aliases": [
            "group.keymanager-gw-manager-gw-worker",
            "group.pub-store-grp"
          ]
        }
      ],
      "terminationBehaviour": "terminate-none"
    }
  }
}

 

  • No labels