BREAKING CHANGES
- Partner API: Update to ISO 20022 structured billing addresses. Organization
creation now requires
display-nameand nestedbilling-addressobject instead of flat address fields. See PR for migration guide.
- Add Partner API client for distributor operations
- Partner API client follows same patterns as V2 API
- Automatic hourly updates of Partner API OpenAPI spec
- Handle multiple response codes per OpenAPI operation.
- Support hr-zag-1 zone
- Remove DBaaS service Redis (replaced by Valkey)
-
Internals: abstract client generation logic into a separate
exoscale.api.generatornamespace. -
API changes and additions:
-
SKS: Rotate CCM credentials
-
Instance: TMP and Secure Boot support
-
DBaaS:
- Kafka: cluster networking options
- New zone option:
hr-zag-1
-
- Bump python version requirement to 3.8 due to the use of the walrus operator.
- Add
Client.wait(operation_id)to poll for the result of an asynchronous API operation.
- Introduce exception classes that gets raised when the API responds with 4xx or 5xx HTTP statuses.
exoscale.api.v2.Client improvements:
-
Client initialization accepts two signatures:
Client(key, secret, zone)for typical use andClient(key, secret, url)when needing to target another endpoint than the public endpoint template. -
Drop support for Python 3.7, add Python 3.12 to the testing matrix.
-
Fix operations with multiple path parameters (@thomas-chauvet)
-
API changes and additions:
-
DBaaS:
- integrations settings
- Split secrets over to separate endpoints
- Add zone to service details
-
DNS record types cleanup
-
Instance password reset operation
-
Provide
at-vie-2in the zones choices -
Block Storage operations and CSI addon
-
Audit-trail format adjustments
-
Add MAC address to private network attachments
-
- Add
exoscale.api.v2.Client: a low-level API client targeting the Exoscale V2 API.
Fixes
- compute: fix
instance_private_networksarg check increate_instance_pool()method
Features
- compute: add support for Deploy Targets resources
- compute: Instance Pools now support Elastic IP attachment, Instance Prefix and Deploy Targets
- compute: the
InstancePool.update()method now supports updating Anti-Affinity Groups, IPv6 enabling, Security Groups, Private Networks and SSH Key. - compute: new
InstancePool.evict()method
Changes
- compute: the
get_instance_pool()method now accepts either ofname/idparameters - compute: the
InstancePool.delete()methodwait/max_pollparameters have been removed
Features
- compute: the
SecurityGroup.update()now updates the Compute instance Security Groups membership live without requiring to stop the instance - compute: add
Instance.user_dataproperty - compute: add
InstanceTemplate.boot_modeattribute - dns:
create_dns_record()now returns the created record
Fixes
- compute: don't crash when an Instance Template doesn't have details metadata
Fixes
- compute: add missing
bootmodeparameter toregister_instance_template()(#32)
Fixes
- Exclude tests from Python packaging
Features
- compute: add Anti-Affinity Groups support to Instance Pools (#27)
Fixes
- Rely on pathlib for home lookup (#29)
- compute: don't crash when listing instances generated from templates (#28)
Features
- compute: add support for Network Load Balancers
- compute: add support for Elastic IP HTTPS health checking
- compute: add support for snapshot exporting
Changes
- compute:
get_instance_pool()arguments order
New
- Add support for IAM (
iamsubmodule)
Features
- Allow HTTP session retry policy to be user configurable
- compute: add support for Instance Pools
- compute: add support for Elastic IP descriptions
- compute: add Instance
creation_dateattribute
Fixes
- storage: fix failing integration tests
- storage: honor global client settings
Features
- storage: add Bucket/BucketFile
urlattribute
Fixes
- compute: fix unhandled exception in
get_*functions
Changes
- compute:
create_instance()function root_disk_size parameter has been renamed to volume_size - compute:
get_elastic_ip()function now requires a zone parameter - compute:
get_instance_template()function now requires a zone parameter - compute:
get_instance()function now requires a zone parameter - compute:
get_private_network()function now requires a zone parameter - compute:
list_elastic_ips()function now requires a zone parameter - compute:
list_instance_templates()function now requires a zone parameter - compute:
list_instances()function now requires a zone parameter - compute:
list_private_networks()function now requires a zone parameter
- Initial release