# Changelog

## 7.7.0

### Features

* added new object storage management modules `object_storage_access_key_info`, `object_storage_access_key` and `object_storage_region_info`

## 7.6.0

### Features

* added check\_mode and diff to the `s3key` module
* added new certificate manager v2 modules `auto_certificate`, `auto_certificate_info`, `certificate_provider` and `certificate_provider_info`
* added `nic_multi_queue` to `server` and `vcpu_server`

### Fixes

* fixed `group_info` not working with user specified

### Changes

* changed `vcpu_server` module to be declarative, like the `server` module
* changed existing certificate manager to use the the certificate manager v2 API. Will not be compatible with sdk versions bellow 2.0.0
* removed dataplatform as the API was discontinued

## 7.5.3

### Changes

* change most arguments which have the possible values defined to only use them for the documentation instead of failing when the supplied value is not in the list
* cpu\_family does not default to INTEL\_ICELAKE anymore

### Fixes

* remove upgrade\_needed from server\_info as it was removed from the API
* use correct imports for Lan and LanProperties in cube\_server and vcpu\_server
* updated snapshot creation and restore methods to use new SDK object structure, the module is not longer compatible with sdks before 6.1.10

## 7.5.2

### Fixes

* use pagination to retrieve all datacenters when limit is exceeded
* show warning when resources are not found only for verbosity higher or equal to 3

## 7.5.1

### Features

* added location to mariadb modules

### Fixes

* throw error when data center is not found in volume modules

### Docs

* catch errors in docs generation

## 7.5.0

### Features

* Added check\_mode and diff to the user module
* Added ignored\_properties to the user module

### Changes

* use filters when retrieving user to speed up the request

### Fixes

* mark RegEx pattern as a raw string (fix by @jaudriga)

### Docs

* Added declarative modules page to summary

## 7.5.0-beta.1

### Features

* Added check\_mode and diff to the user module
* Added ignored\_properties to the user module

### Changes

* use filters when retrieving user to speed up the request

### Fixes

* mark RegEx pattern as a raw string (fix by @jaudriga)

### Docs

* Added declarative modules page to summary

## 7.4.1

### Fixes

* disk\_type on cube\_server now defaults to DAS, other arguments would have caused the call to fail

### Docs

* Added tutorials to docs, these show how this Ansible module can be used to provision many of our more commonly-used Compute resources and Managed Services in combinations that are at least *representative* of 'real-world' deployments.
* Updated the examples in the files to use the steps from our test playbooks to ensure they are working. This should fix numerous bugs within the examples.

## 7.4.0

### Features

* Added MariaDB modules
  * new modules: mariadb\_cluster, mariadb\_cluster\_info, mariadb\_backup\_info

## 7.3.0

* Refactor to use module\_utile to remove duplicate code.

### Changes

* Using ansible-galaxy when installing from github
* Modules called with the whole path(ionoscloudsdk.ionoscloud.\<module\_name>)
* allow\_replace and depth have been removed from modules that do not support replace, they can still be sent so past playbooks that use it do not fail

## 7.2.0

### Features

* Added Container Registry Vulnerability Scanning feature
  * new modules: registry\_artifact\_info, registry\_repository, registry\_repository\_info, registry\_vulnerability\_info
  * new argument for registry: features
* Added Private Kubernetes feature
  * new arguments for k8s\_cluster: public, location, nat\_gateway\_ip and node\_subnet

### Fixes

* Fixed argument lan not available in state present for module nic
* Fixed some wrong examples

### Known Issues

* When a registry is to be replaced while retaining the same name it would cause an error because the API does not allow two resources with the same name. Please change the name as well if you want to replace a registry for now

## 7.1.0

### Features

* Added Logging modules: pipeline and pipeline\_info
* Added VM Autoscaling modules: vm\_autoscaling\_group, vm\_autoscaling\_action\_info, vm\_autoscaling\_group\_info and vm\_autoscaling\_server\_info

## 7.0.0

### Features

* Added DNS modules: dns\_zone, dns\_record, dns\_secondary\_zone and corresponding info modules
* changed info modules to have the same format
* generating summary to include all modules, and split in them in subcategories
* Changed Private Cross Connect references in docs to Cross Connect

## 7.0.0-beta.1

### Features

* Reworked all modules to be declarative, for more details <https://github.com/ionos-cloud/module-ansible/blob/master/docs/usage/declarative\\_changes.md>
* changed info modules to have the same format
* added ipv6 support
* updated docs, added return examples and updated option descriptions

## 6.5.3

### Features

* Added support for [vCPU Servers](https://docs.ionos.com/sections-test/ansible/api/compute-engine/modules/vcpu_server)

## 6.5.2

### Fixes

* Fixed error when exceeding maximum users per page

## 6.5.1

### Features

* New licenceType supported for `snapshot` and `volume` modules: `RHEL`
* Extend dynamic inventory to support regex-based grouping

## 6.5.0

### Features

* Implement filters for Container Registry info modules
* New Product: **DataPlatform**. Modules added:
  * dataplatform\_cluster
  * dataplatform\_cluster\_config
  * dataplatform\_cluster\_info
  * dataplatform\_nodepool
  * dataplatform\_nodepool\_info

⚠️ **Note:** Data Platform is currently in the Early Access (EA) phase. We recommend keeping usage and testing to non-production critical applications. Please contact your sales representative or support for more information.

### Fixes:

* Removed sensitive data from repository
* Fix #138 lan\_ids param is now a list of dicts

**Full Changelog**: <https://github.com/ionos-cloud/module-ansible/compare/v6.4.3...v6.5.0>

## 6.4.3

### Bug fixes:

* `k8s_version` is no longer a required parameter for cluster update

## 6.4.2

### Bug fixes:

* remove cpu\_family parameter from cube\_server module
* Cube Server documentation is now available on docs.ionos.com

## 6.4.1

### Features:

* added new modules for Container Registry (registry, registry\_token, registry\_info and registry\_token\_info)

## 6.4.0

### Features:

* added new modules for DBaaS Mongo (mongo\_cluster\_info, mongo\_cluster\_template\_info, mongo\_cluster\_user\_info, mongo\_cluster\_user and mongo\_cluster)
* added new modules for Certificate Manager (certificate, certificate\_info) and integration with the application\_load\_balancer\_forwardingrule module using the new `new_server_certificates` parameter
* added a new module for working with CUBE servers, cube\_server and depracationd notices when using the server module with CUBE servers
* added certificate pinning option to all modules using the certificate\_fingerprint parameter

### Bug fixes:

* fixed documentation for k8s\_nodepool should node\_count as string instead of int

## 6.3.2

### Features:

* added new `manage_dbaas` parameter to `group` module
* added new `depth` and `filters` parameters to info modules: `server_info`, `volume_info`, `postgres_backup_info`, `postgres_cluster_info`, `s3key_info`

### Bug fixes:

* fixed inventory cache
* name no longer required for k8s\_cluster update
* fix module indentation for nic and image

## 6.3.1

### Bug fixes

* Added token authentication for ALB
* For CUBE servers, on `state: present`, `user_data` and `ssh_keys` are now sent to the API

## 6.3.0

### Enhancements

* depth value for certain GET operations has been reduced

### Bug fixes

* Bug fixes relating to multiple resources sharing the exact same name:
  * If multiple resources have been found in an operation, an error is thrown. **Important Note: Please make sure you do not have multiple resources of the same type that share the same name. (i.e. two datacenters with the same name, or two volumes with identical name on the same server).**
  * For Server and Volume modules, you can now only rename one resource at a time. In practice, this means that now, `instance_ids` param now can only contain one ID if `state: update` and `name is not None`.
  * For Server and Volume modules, removed `auto_increment` flag. Now incrementation is done automatically if `count > 1` on creating new instances (because creating two instances with the same name is forbidden)
  * You can no longer rename a resource to have the same name as some other resource within the same entity (i.e. if by renaming a volume you will end up with two volumes sharing the same name within a server, then throw an error and fail the operation)
* Do not delete resources that have already been marked as `deleting`
* Inventory script fixes:
  * Inventory output is now JSON
  * Print with variable indent
  * Removed unused params: `group_by_licence_type`, `group_by_image_name`
* Now it is possible to rename ENTERPRISE servers, not just CUBE servers
* It is now also possible to use UUID to to identify users / nic\_flowlogs when `state` is `remove`
* When updating a user (respectively group) with other groups (respectively other users), registered variable at end of operation now correctly contains the new, updated groups that the user belongs to (respectively users belonging to that group)

### Features

* Added `user_data` parameter for server's module creation state. (The cloud-init configuration for the volume as a base64 encoded string.)
* Added ALB (Application Loadbalancer) modules:
  * application\_load\_balancer
  * application\_load\_balancer\_flowlog
  * application\_load\_balancer\_forwardingrule

## 6.2.0

### Bug fixes

* for s3key-info module, username & password parameters "required" status was too strict: now only required if no token provided
* remove duplicate lan arg in server module (now lan is a 'str')

### Features

* remove public, gateway\_ip params for k8s\_cluster and k8s\_nodepool (removed from python sdk)
* dbaas updates: added backup\_location to postgres\_cluster
* volume info module (#23)
* server info module (#22)

## 6.1.3

### Bug fixes

* **network\_load\_balancer\_rule** module: fixed `health_check` parameter *(the dict now supports snake case items instead of camel case)*

### Enhancements

* refactored the documentation based on states
* fix #1: added support for http proxies *(only for `ionoscloud` python package >= 6.0.3)*
  * using ***IONOS\_HTTP\_PROXY*** and ***IONOS\_HTTP\_PROXY\_HEADERS*** environment variables

### Features

* fix #63: implemented support for Token Authentication: can be used with `token` parameter or `IONOS_TOKEN` env variable
* new info module: **s3key\_info** - can be used to list all the s3keys
* **k8s\_nodepool** module: add support for updating labels and annotations
* fix #67: added new parameter on s3key module `idempotency` that ensures that If an s3key already exists, returns with already existing key instead of creating more

## 6.1.2

### Bug fixes:

* fix STOP server bug: the resources are now deallocated when a shut off server is stopped

## 6.1.1

### Enhancements:

* new parameters on *k8s\_cluster* module: `public`, `api_subnet_allow_list` and `s3_buckets`
* new parameters on *k8s\_nodepool* module: `gateway_ip`
* documentation updates related to Ansible Galaxy installation and usage

## 6.1.0

### Enhancements:

* add support for Dbaas Postgres: 3 new modules were added (postgres\_cluster, postgres\_cluster\_info, postgres\_backup\_info)

## 6.0.1

### Bug fixes:

* fix create volume bug that forced disk\_type to be always `HDD`

### Enhancements:

* add support for SSD storage *(new options for volume storage type: SSD Standard, SSD Premium)* - **SSD Premium is the default** if disk\_type=SSD

## 6.0.0 (11 January, 2022)

### Bug fixes:

* fix #31 - group deletion
* fix create volume response -> it will return the entire list of created volumes, not an empty list anymore

### Enhancements:

* improved deletion on all resources -> when trying to delete a resource that does not exist, the module will not fail anymore and it will succeed with `changed: False`
* allow name updates for volumes
* fix #28 - added new group permissions according to the Cloud API
* user resource now supports password updates

### Misc:

* docs: updated the name of the module in examples

## 6.0.0-beta.4 (23 October, 2021)

### Bug fixes:

* Remove the default value of `dhcp` parameter for `nic` module. The default value was `False`, which was not aligned with the CloudAPI swagger file.

## 6.0.0-beta.3 (September, 2021)

### Bug fixes:

* fixed issue: `Volume Module: HTTP 304 "Failed to parse request body" when attaching a volume to a server`

### Improvements:

* Added support for using image aliases when creating a volume. The modules now support *image ID, snapshot ID or image alias* values for the `image` parameter. If the image alias is provided, the module will resolve the image alias and use the correspondent image ID.
* new parameter for the `volume` module: `location` - used for identifying the image when image alias is used

## 6.0.0-beta.2 (June, 2021)

### Features:

* Added a new module (`image`). [Here](https://docs.ionos.com/sections-test/ansible/api/compute-engine/modules/image) you can find the more details about this feature.
* New parameters on `volume` module:
  * image\_alias
  * backupunit\_id
  * user\_data
  * cpu\_hot\_plug
  * ram\_hot\_plug
  * nic\_hot\_plug
  * nic\_hot\_unplug
  * disc\_virtio\_hot\_plug
  * disc\_virtio\_hot\_unplug
* New parameters on `server` module:
  * type
  * template\_uuid
  * boot\_volume
  * boot\_cdrom
* Removed the `cube_server` module. Now the users can create **CUBE servers** using the `server` module.

## 6.0.0-beta.1 (May, 2021)

### Features:

* Added the following modules:
  * cube\_server
  * template
  * nat\_gateway
  * nat\_gateway\_rule
  * nat\_gateway\_rule
  * network\_load\_balancer
  * network\_load\_balancer\_flowlog
  * network\_load\_balancer\_rule

### Misc:

* Removed `nat` parameter from **nic** and **server** module
* Added `user_password` parameter on **user** module
