You can update an auto-scaling policy using the CLI tool, REST API or the PPaaS Console as shown below:
Updating an auto-scaling policy via the CLI
Overview
CLI command | update-autoscaling-policy |
Description | Update an auto-scaling policy. |
Command format | update-autoscaling-policy -p <JSON_FILE_PATH> The path to the JSON file that defines the auto-scaling policy needs to be defined as the |
Parameter definition
Short option | Long option | Description | Required | Example value |
---|---|---|---|---|
-p | --resource-path | Folder path where the JSON file that defines the auto-scaling policy is stored. | Yes |
|
Example
Update the auto-scaling policy defined in the <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples
file./autoscaling-policies/autoscaling-policy-1.json
update-autoscaling-policy -p <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/autoscaling-policies/autoscaling-policy-1.json
Sample output
Autoscaling policy updated successfully: [autoscale-policy] autoscaling-policy-1
Updating an auto-scaling policy via the REST API
Overview
Description | Update a specific auto-scaling policy. |
URL | /autoscalingPolicies |
HTTP Method | PUT |
Request/Response Format | application/json |
Command format | curl -X PUT -H "Content-Type: application/json" -d @'<JSON_PAYLOAD>' -k -v -u USERNAME>:<PASSWORD> https://<PRIVATE_PAAS_HOST>:<PRIVATE_PAAS_HTTPS_PORT>/api/autoscalingPolicies
|
Example
Update the auto-scaling policy defined in the <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/autoscaling-policies/autoscaling-policy-1.json
file.
cd <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples curl -X PUT -H "Content-Type: application/json" -d @'autoscaling-policies/autoscaling-policy-1.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
Sample output
> PUT /api/autoscalingPolicies HTTP/1.1 > Host: localhost:9443 > Authorization: Basic YWRtaW46YWRtaW4= > User-Agent: curl/7.43.0 > Accept: */* > Content-Type: application/json > Content-Length: 257 > < HTTP/1.1 200 OK < Date: Mon, 05 Oct 2015 09:51:36 GMT < Content-Type: application/json < Transfer-Encoding: chunked < Server: WSO2 Carbon Server < {"status":"success","message":"Autoscaling policy updated successfully: [autoscale-policy] autoscaling-policy-1"}
You will come across the following HTTP status codes while updating an auto-scaling policy:
HTTP status code | 200, 404, 500 See the descriptions of the HTTP status codes here. |
Updating an auto-scaling policy via the PPaaS Console
- Updating an auto-scaling policy via the UI editor
- Updating an auto-scaling policy via the JSON editor
Updating an auto-scaling policy via the UI editor
Follow the instructions below to view the details of an auto-scaling policy:
- Click Configurations on the home page.
- Click Auto-scaling Policies.
- Hover your mouse pointer over the auto-scaling policy that you wish to update for the Edit button to appear and click Edit.
- Update the auto-scaling policy definition. For property definitions, see the Auto-scaling Policy Resource Definition.
- Click Save.
Updating an auto-scaling policy via the JSON editor
Follow the instructions below to view the details of an auto-scaling policy:
- Click Configurations on the home page.
- Click Auto-scaling Policies.
- Hover your mouse pointer over the auto-scaling policy that you wish to update for the Edit button to appear and click Edit.
- Click on the editor control to switch to the JSON editor. The JSON code format to update a auto-scaling policy will appear.
- Optionally, check the Auto correct with schema option to ensure that you do not accidentally delete any mandatory fields from the auto-scaling policy definition JSON code.
- Update the auto-scaling policy definition using JSON. For property definitions, see the Auto-scaling Policy Resource Definition.
- Click Save to save the changes of the updated auto-scaling policy definition.
The auto-scaling policy ID ( id
) can not be changed in the updating process.
{ "id": "autoscaling-policy-1", "loadThresholds": { "requestsInFlight": { "threshold": 20 }, "memoryConsumption": { "threshold": 80 }, "loadAverage": { "threshold": 120 } } }