Updated on 2024-09-11 GMT+08:00

Modifying Auto Scaling Policies

Function

This API is used to modify auto scaling policies. Before calling this API:

Constraints

This API is in the open beta test (OBT) phase. To use this API, submit a service ticket.

URI

PUT /v3/{project_id}/instances/{instance_id}/auto-scaling/policy

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID of a tenant in a region.

To obtain this value, see Obtaining a Project ID.

instance_id

Yes

String

Instance ID, which is compliant with the UUID format.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

It can be obtained by calling the IAM API used to obtain a user token.

The value of X-Subject-Token in the response header is the token value.

Content-Type

Yes

String

Content type.

Value: application/json

X-Language

No

String

Request language type. The default value is en-us. Values:

  • en-us
  • zh-cn
Table 3 Request body parameters

Parameter

Mandatory

Type

Description

status

Yes

String

Whether auto scaling is enabled.

Values:

  • ON: enabled
  • OFF: disabled

scaling_strategy

Yes

ScalingStrategyReqInfo object

Auto scaling policy.

monitor_cycle

No

Integer

Observation period, in seconds. During the entire observation period, if the average CPU usage is greater than or equal to the preset value, a scale-up is triggered.

Value: 300, 600, 900, or 1800.

This parameter is mandatory when status is set to ON.

silence_cycle

No

Integer

Silent period, in seconds. It indicates the minimum interval between two auto scale-up operations or two scale-down operations.

Value: 300, 600, 1800, 3600, 7200, 10800, 86400, or 604800.

This parameter is mandatory when status is set to ON.

enlarge_threshold

No

Integer

Average CPU usage (%).

Value range: 50–100.

This parameter is mandatory when status is set to ON.

max_flavor

No

String

Maximum specifications. This parameter is mandatory when the instance specifications are automatically scaled up or down.

reduce_enabled

No

Boolean

Whether auto-down is enabled. This parameter is mandatory when auto scaling is enabled.

  • true: enabled
  • false: disabled

max_read_only_count

No

Integer

Maximum number of read replicas. This parameter is mandatory when read replicas are automatically added or deleted.

read_only_weight

No

Integer

Read weights of read replicas. This parameter is mandatory when read replicas are automatically added or deleted.

Table 4 ScalingStrategyReqInfo

Parameter

Mandatory

Type

Description

flavor_switch

Yes

String

Whether instance specifications can be automatically scaled up or down.

  • ON: Yes
  • OFF: No

read_only_switch

Yes

String

Whether read replicas can be automatically added or deleted. To use this function, ensure that there is only one proxy instance. For details about how to create a proxy instance, see Creating a Proxy Instance.

  • ON: Yes
  • OFF: No

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

instance_id

String

Instance ID.

instance_name

String

Instance name.

switch_status

AutoScalingSwitchStatus object

Switch status.

Table 6 AutoScalingSwitchStatus

Parameter

Type

Description

scaling_switch

String

Whether auto scaling is enabled.

Values:

  • ON: enabled
  • OFF: disabled

flavor_switch

String

Whether instance specifications can be automatically scaled up or down.

Values:

  • ON: Instance specifications can be automatically scaled up or down.
  • OFF: Instance specifications cannot be automatically scaled up or down.

read_only_switch

String

Whether read replicas can be automatically added or deleted.

Values:

  • ON: Read replicas can be automatically added or deleted.
  • OFF: Read replicas cannot be automatically added or deleted.

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Request

Modifying auto scaling policies

PUT https://{endpoint}/v3/97b026aa9cc4417888c14c84a1ad9860/instances/61a4ea66210545909d74a05c27a7179ein07/auto-scaling/policy

{
  "enlarge_threshold" : 50,
  "max_flavor" : "gaussdb.mysql.large.x86.4",
  "max_read_only_count" : 2,
  "monitor_cycle" : 300,
  "read_only_weight" : 10,
  "reduce_enabled" : false,
  "scaling_strategy" : {
    "flavor_switch" : "ON",
    "read_only_switch" : "ON"
  },
  "silence_cycle" : 300,
  "status" : "ON"
}

Example Response

Status code: 200

Success.

{
  "instance_id" : "61a4ea66210545909d74a05c27a7179ein07",
  "instance_name" : "gauss-test-1",
  "switch_status" : {
    "scaling_switch" : "ON",
    "flavor_switch" : "ON",
    "read_only_switch" : "ON"
  }
}

Status Code

Status Code

Description

200

Success.

400

Client error.

500

Server error.

Error Code

For details, see Error Codes.