You can add an auto-scaling policy using the CLI tool, REST API or the PPaaS Console as shown below:
Adding an auto-scaling policy via the CLI
Overview
CLI command | add-autoscaling-policy |
Description | Add an auto-scaling policy definition. |
Command format | add-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 theauto-scaling policy is stored. | Yes |
|
Example
Add the auto-scaling policy defined in the
<PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples
file./autoscaling-policies/autoscaling-policy-1.json
add-autoscaling-policy -p <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/autoscaling-policies/autoscaling-policy-1.json
Sample output
Autoscaling policy added successfully: [autoscale-policy] autoscaling-policy-1
Adding an auto-scaling policy via the REST API
Overview
Description | Add an auto-scaling policy. |
Resource Path | /autoscalingPolicies |
HTTP Method | POST |
Request/Response Format | application/json |
Command format | curl -X POST -H "Content-Type: application/json" -d @'<JSON_PAYLOAD>' -k -v -u <USERNAME>:<PASSWORD> https://<PRIVATE_PAAS_HOST>:<PRIVATE_PAAS_HTTPS_PORT>/api/autoscalingPolicies
|
Example
Add 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 POST -H "Content-Type: application/json" -d @'autoscaling-policies/autoscaling-policy-1.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
Sample output
> POST /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 201 Created < Date: Mon, 05 Oct 2015 09:28:57 GMT < Location: https://localhost:9443/api/autoscalingPolicies/autoscaling-policy-1 < Content-Type: application/json < Transfer-Encoding: chunked < Server: WSO2 Carbon Server < {"status":"success","message":"Autoscaling policy added successfully: [autoscale-policy] autoscaling-policy-1"}
You will come across the following HTTP status codes while adding an auto-scaling policy:
HTTP status code | 201, 400, 409, 500 See the descriptions of the HTTP status codes here. |
Location header URL | https://<STRATOS_HOST>:<STRATOS-HTTPS-PORT>/api/autoscalingPolicies/<AUTOSCALING_POLICY_ID> |
Adding an auto-scaling policy via the PPaaS Console
Adding an auto-scaling policy via the UI editor
Follow the instructions below to add an auto-scaling policy:
- Click Configurations on the home page.
- Click on Auto-scaling Policies.
- Click ADD AUTO-SCALING POLICY.
- Enter the required details. For property definitions, see Auto-scaling policy property definitions.
- Click SAVE AUTO-SCALING POLICY DEFINITION.
Adding an auto-scaling policy via the JSON editor
Follow the instructions below to add an auto-scaling policy:
- Click Configurations on the home page.
- Click Auto-scaling Policies.
- Click ADD AUTO-SCALING POLICY.
- Click on the editor control to switch to the JSON editor. The JSON code for the basic format of an 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 JSON code.
- Code the auto-scaling policy using JSON. For property definitions, see Auto-scaling Policy Resource Definition.
- Click SAVE AUTO-SCALING POLICY DEFINITION.
Sample auto-scaling policy JSON
{ "id": "autoscaling-policy-1", "loadThresholds": { "requestsInFlight": { "threshold": 20 }, "memoryConsumption": { "threshold": 80 }, "loadAverage": { "threshold": 120 } } }