Metadata-Version: 2.4
Name: ionoscloud_vm_autoscaling
Version: 2.0.0b1
Summary: VM Auto Scaling API
License: NoLicense
License-File: LICENSE
Keywords: OpenAPI,OpenAPI-Generator,VM Auto Scaling API
Author: IONOS Cloud Support
Author-email: support@cloud.ionos.com
Requires-Python: >=3.9,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: pydantic (>=2)
Requires-Dist: python-dateutil (>=2.8.2)
Requires-Dist: typing-extensions (>=4.7.1)
Requires-Dist: urllib3 (>=2.1.0,<3.0.0)
Project-URL: Repository, https://github.com/ionos-cloud/sdk-python
Description-Content-Type: text/markdown

# ionoscloud-vm-autoscaling
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.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 2.0.0-beta.1
- Generator version: 7.13.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://docs.ionos.com/faq/contact](https://docs.ionos.com/faq/contact)

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/ionos-cloud/sdk-python.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/ionos-cloud/sdk-python.git`)

Then import the package:
```python
import ionoscloud_vm_autoscaling
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import ionoscloud_vm_autoscaling
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import ionoscloud_vm_autoscaling
from ionoscloud_vm_autoscaling.rest import ApiException
from pprint import pprint
import os

# Defining the host is optional and defaults to https://api.ionos.com/autoscaling
# See configuration.py for a list of all supported configuration parameters.
configuration = ionoscloud_vm_autoscaling.Configuration(
    host = "https://api.ionos.com/autoscaling"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: tokenAuth
configuration.api_key['tokenAuth'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['tokenAuth'] = 'Bearer'


# Enter a context with an instance of the API client
with ionoscloud_vm_autoscaling.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_vm_autoscaling.AutoScalingGroupsApi(api_client)
    action_id = 'action_id_example' # str | 
    group_id = 'group_id_example' # str | 
    depth = 0 # float | 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.   (optional) (default to 0)

    try:
        # Get Scaling Action Details by ID
        api_response = api_instance.groups_actions_find_by_id(action_id, group_id, depth=depth)
        print("The response of AutoScalingGroupsApi->groups_actions_find_by_id:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AutoScalingGroupsApi->groups_actions_find_by_id: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.ionos.com/autoscaling*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AutoScalingGroupsApi* | [**groups_actions_find_by_id**](docs/api/AutoScalingGroupsApi.md#groups_actions_find_by_id) | **GET** /groups/{groupId}/actions/{actionId} | Get Scaling Action Details by ID
*AutoScalingGroupsApi* | [**groups_actions_get**](docs/api/AutoScalingGroupsApi.md#groups_actions_get) | **GET** /groups/{groupId}/actions | Get Scaling Actions
*AutoScalingGroupsApi* | [**groups_delete**](docs/api/AutoScalingGroupsApi.md#groups_delete) | **DELETE** /groups/{groupId} | Delete a VM Auto Scaling Group by ID
*AutoScalingGroupsApi* | [**groups_find_by_id**](docs/api/AutoScalingGroupsApi.md#groups_find_by_id) | **GET** /groups/{groupId} | Get an Auto Scaling by ID
*AutoScalingGroupsApi* | [**groups_get**](docs/api/AutoScalingGroupsApi.md#groups_get) | **GET** /groups | Get VM Auto Scaling Groups
*AutoScalingGroupsApi* | [**groups_post**](docs/api/AutoScalingGroupsApi.md#groups_post) | **POST** /groups | Create a VM Auto Scaling Group
*AutoScalingGroupsApi* | [**groups_put**](docs/api/AutoScalingGroupsApi.md#groups_put) | **PUT** /groups/{groupId} | Update a VM Auto Scaling Group by ID
*AutoScalingGroupsApi* | [**groups_servers_find_by_id**](docs/api/AutoScalingGroupsApi.md#groups_servers_find_by_id) | **GET** /groups/{groupId}/servers/{serverId} | Get VM Auto Scaling Group Server by ID
*AutoScalingGroupsApi* | [**groups_servers_get**](docs/api/AutoScalingGroupsApi.md#groups_servers_get) | **GET** /groups/{groupId}/servers | Get VM Auto Scaling Group Servers


## Documentation For Models

 - [Action](docs/models/Action.md)
 - [ActionAmount](docs/models/ActionAmount.md)
 - [ActionCollection](docs/models/ActionCollection.md)
 - [ActionProperties](docs/models/ActionProperties.md)
 - [ActionResource](docs/models/ActionResource.md)
 - [ActionStatus](docs/models/ActionStatus.md)
 - [ActionType](docs/models/ActionType.md)
 - [ActionsLinkResource](docs/models/ActionsLinkResource.md)
 - [AvailabilityZone](docs/models/AvailabilityZone.md)
 - [BusType](docs/models/BusType.md)
 - [CpuFamily](docs/models/CpuFamily.md)
 - [DatacenterServer](docs/models/DatacenterServer.md)
 - [Error401](docs/models/Error401.md)
 - [Error401Message](docs/models/Error401Message.md)
 - [Error404](docs/models/Error404.md)
 - [Error404Message](docs/models/Error404Message.md)
 - [ErrorAuthorize](docs/models/ErrorAuthorize.md)
 - [ErrorAuthorizeMessage](docs/models/ErrorAuthorizeMessage.md)
 - [ErrorGroupValidate](docs/models/ErrorGroupValidate.md)
 - [ErrorGroupValidateMessage](docs/models/ErrorGroupValidateMessage.md)
 - [ErrorMessage](docs/models/ErrorMessage.md)
 - [ErrorMessageParse](docs/models/ErrorMessageParse.md)
 - [Group](docs/models/Group.md)
 - [GroupCollection](docs/models/GroupCollection.md)
 - [GroupEntities](docs/models/GroupEntities.md)
 - [GroupPolicy](docs/models/GroupPolicy.md)
 - [GroupPolicyScaleInAction](docs/models/GroupPolicyScaleInAction.md)
 - [GroupPolicyScaleOutAction](docs/models/GroupPolicyScaleOutAction.md)
 - [GroupPost](docs/models/GroupPost.md)
 - [GroupPostEntities](docs/models/GroupPostEntities.md)
 - [GroupPostResponse](docs/models/GroupPostResponse.md)
 - [GroupProperties](docs/models/GroupProperties.md)
 - [GroupPropertiesDatacenter](docs/models/GroupPropertiesDatacenter.md)
 - [GroupPut](docs/models/GroupPut.md)
 - [GroupPutProperties](docs/models/GroupPutProperties.md)
 - [GroupPutPropertiesDatacenter](docs/models/GroupPutPropertiesDatacenter.md)
 - [GroupResource](docs/models/GroupResource.md)
 - [Metadata](docs/models/Metadata.md)
 - [MetadataBasic](docs/models/MetadataBasic.md)
 - [MetadataState](docs/models/MetadataState.md)
 - [Metric](docs/models/Metric.md)
 - [NicFirewallRule](docs/models/NicFirewallRule.md)
 - [NicFlowLog](docs/models/NicFlowLog.md)
 - [ParseError](docs/models/ParseError.md)
 - [QueryUnit](docs/models/QueryUnit.md)
 - [ReplicaNic](docs/models/ReplicaNic.md)
 - [ReplicaPropertiesPost](docs/models/ReplicaPropertiesPost.md)
 - [ReplicaVolumePost](docs/models/ReplicaVolumePost.md)
 - [Server](docs/models/Server.md)
 - [ServerCollection](docs/models/ServerCollection.md)
 - [ServerProperties](docs/models/ServerProperties.md)
 - [ServersLinkResource](docs/models/ServersLinkResource.md)
 - [TargetGroup](docs/models/TargetGroup.md)
 - [TerminationPolicyType](docs/models/TerminationPolicyType.md)
 - [VolumeHwType](docs/models/VolumeHwType.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="tokenAuth"></a>
### tokenAuth

- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header


## Author

support@cloud.ionos.com



