VM Auto Scaling API (1-SDK.1)

Download OpenAPI specification:Download

The VM Auto Scaling Service enables IONOS clients to horizontally scale the number of VM replicas based on configured rules. You can use VM Auto Scaling to ensure that you have a sufficient number of replicas to handle your application loads at all times.

For this purpose, create a VM Auto Scaling Group that contains the server replicas. The VM Auto Scaling Service ensures that the number of replicas in the group is always within the defined limits.

When scaling policies are set, VM Auto Scaling creates or deletes replicas according to the requirements of your applications. For each policy, specified 'scale-in' and 'scale-out' actions are performed when the corresponding thresholds are reached.

Auto Scaling Groups

A VM Auto Scaling Group (ASG) manages a group of VMs by changing the number of replicas based on metrics configured by the customer.

Note the limits for the maximum number of groups, the maximum number of servers and the minimum delta between the 'scale-in' and 'scale-out' thresholds.

This process is limited to the contract owner, administrator and users with access rights to the data center hosting the VM Auto Scaling Group.

Get VM Auto Scaling Groups

Lists all VM Auto Scaling Groups of your account.

Authorizations:
tokenAuth
query Parameters
depth
number
Default: "0"

With this parameter, you control the level of detail of the response objects:

  • 0: Only direct properties are included; children (such as executions or transitions) are not considered.

  • 1: Direct properties and children references are included.

  • 2: Direct properties and children properties are included.

  • 3: Direct properties and children properties and children's children are included.

  • etc.

orderBy
string
Default: "createdDate"

Use this parameter to specify by which the returned list should be sorted. Valid values are: createdDate and lastModifiedDate.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "groups",
  • "items": [
    ]
}

Create a VM Auto Scaling Group

Creates a VM Auto Scaling Group.

Note that creating a group triggers the creation of two monitoring alarms for 'Scale-In' and 'Scale-Out' operations according to the 'Policy' settings.

Authorizations:
tokenAuth
Request Body schema: application/json
required
object (GroupProperties)

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "1d67ca27-d4c0-419d-9a64-9ea42dfdd036",
  • "type": "autoscaling-group",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {},
  • "startedActions": []
}

Get an Auto Scaling by ID

Retrieves the VM Auto Scaling Group specified by its ID including the details.

Authorizations:
tokenAuth
path Parameters
groupId
required
string
query Parameters
depth
number
Default: "0"

With this parameter, you control the level of detail of the response objects:

  • 0: Only direct properties are included; children (such as executions or transitions) are not considered.

  • 1: Direct properties and children references are included.

  • 2: Direct properties and children properties are included.

  • 3: Direct properties and children properties and children's children are included.

  • etc.

Responses

Response samples

Content type
application/json
{
  • "id": "1d67ca27-d4c0-419d-9a64-9ea42dfdd036",
  • "type": "autoscaling-group",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {}
}

Update a VM Auto Scaling Group by ID

Updates the VM Auto Scaling Group specified by its ID. The IDs assigned by the system when the resource is created, such as 'properties.datacenter.id' and 'backupunitId', are immutable and cannot be updated.

Authorizations:
tokenAuth
path Parameters
groupId
required
string <uuid>
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "1d67ca27-d4c0-419d-9a64-9ea42dfdd036",
  • "type": "autoscaling-group",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {}
}

Delete a VM Auto Scaling Group by ID

Deletes the VM Auto Scaling Group specified by its ID.

Deleting the associated servers and disks is currently not implemented.

Authorizations:
tokenAuth
path Parameters
groupId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "httpStatus": "401",
  • "messages": [
    ]
}

Get Scaling Actions

Retrieves the list of the last Auto Scaling actions or jobs performed by the VM Auto Scaling.The actions are specified by its ID. Only the last 10 actions are available

Authorizations:
tokenAuth
path Parameters
groupId
required
string
query Parameters
depth
number
Default: "0"

With this parameter, you control the level of detail of the response objects:

  • 0: Only direct properties are included; children (such as executions or transitions) are not considered.

  • 1: Direct properties and children references are included.

  • 2: Direct properties and children properties are included.

  • 3: Direct properties and children properties and children's children are included.

  • etc.

orderBy
string
Default: "createdDate"

Use this parameter to specify by which the returned list should be sorted. Valid values are: createdDate and lastModifiedDate.

Responses

Response samples

Content type
application/json
{}

Get Scaling Action Details by ID

Retrieves the details of a scaling action specified by its ID. This operation returns metadata, properties, and the current status, for the specified scaling action

Authorizations:
tokenAuth
path Parameters
actionId
required
string <uuid>
groupId
required
string
query Parameters
depth
number
Default: "0"

With this parameter, you control the level of detail of the response objects:

  • 0: Only direct properties are included; children (such as executions or transitions) are not considered.

  • 1: Direct properties and children references are included.

  • 2: Direct properties and children properties are included.

  • 3: Direct properties and children properties and children's children are included.

  • etc.

Responses

Response samples

Content type
application/json
{}

Get VM Auto Scaling Group Servers

Retrieves all servers associated with the VM Auto Scaling Group specified by its ID.

Note that the server IDs of the VM Auto Scaling Groups are different from and do not match the VM server IDs in the data center.

Authorizations:
tokenAuth
path Parameters
groupId
required
string
query Parameters
depth
number
Default: "0"

With this parameter, you control the level of detail of the response objects:

  • 0: Only direct properties are included; children (such as executions or transitions) are not considered.

  • 1: Direct properties and children references are included.

  • 2: Direct properties and children properties are included.

  • 3: Direct properties and children properties and children's children are included.

  • etc.

orderBy
string
Default: "createdDate"

Use this parameter to specify by which the returned list should be sorted. Valid values are: createdDate and lastModifiedDate.

Responses

Response samples

Content type
application/json
{}

Get VM Auto Scaling Group Server by ID

Retrieves the properties of the server specified by its ID.

Note that the server IDs of the VM Auto Scaling Groups are different from and do not match the VM server IDs in the data center.

Authorizations:
tokenAuth
path Parameters
groupId
required
string
serverId
required
string <uuid>
query Parameters
depth
number
Default: "0"

With this parameter, you control the level of detail of the response objects:

  • 0: Only direct properties are included; children (such as executions or transitions) are not considered.

  • 1: Direct properties and children references are included.

  • 2: Direct properties and children properties are included.

  • 3: Direct properties and children properties and children's children are included.

  • etc.

Responses

Response samples

Content type
application/json
{}