Skip to content

Latest commit

 

History

History
598 lines (410 loc) · 17 KB

CHANGELOG.rst

File metadata and controls

598 lines (410 loc) · 17 KB

Hetzner Cloud Ansible Collection Release Notes

  • server - Wait up to 30 minutes for every action returned from server create
  • load_balancer_status - Add new filter to compute the status of a Load Balancer based on its targets.

API Changes for Traffic Prices and Server Type Included Traffic

There will be a breaking change in the API regarding Traffic Prices and Server Type Included Traffic on 2024-08-05. This release marks the affected fields as Deprecated. Please check if this affects any of your code.

You can learn more about this change in our changelog.

  • server - Keep force_upgrade deprecated alias for another major version.
  • Drop support for ansible-core 2.14.
  • inventory - Ensure inventory host variables are serializable and can be cached.
  • primary_ip - Use the server option to assign a Primary IP being created to a server.
  • server - Allow passing Datacenter name or ID to the datacenter argument.
  • server - Allow passing Image name or ID to the image argument.
  • server - Allow passing Location name or ID to the location argument.
  • server - Allow passing SSH Keys names or IDs to the ssh_keys argument.
  • server - Allow passing Volume names or IDs to the volumes argument.
  • server - Renamed the allow_deprecated_image option to image_allow_deprecated.
  • primary_ip - Added the missing auto_delete field to the return values.
  • primary_ip - The auto_delete option is now used when creating or updating a Primary IP.
  • primary_ip_info - Added the missing auto_delete field to the return values.
  • server - Do not remove the server from its placement group when the placement_group argument is not specified.
  • server - Pass an empty string to the placement_group argument to remove a server from its placement group.
  • server_network - The returned alias_ips list is now sorted.
  • inventory - Add hostname option used to template the hostname of the instances.
  • network - Allow renaming networks.
  • Drop support for ansible-core 2.13.
  • certificate - The not_valid_before and not_valid_after values are now returned as ISO-8601 formatted strings.
  • certificate_info - The not_valid_before and not_valid_after values are now returned as ISO-8601 formatted strings.
  • inventory - Remove the deprecated api_token_env option, you may use the ansible.builtin.env lookup as alternative.
  • iso_info - The deprecated value is now returned as ISO-8601 formatted strings.
  • load_balancer_info - Correctly return the cookie_lifetime value.
  • load_balancer_service - Correctly return the cookie_lifetime value.
  • Replace deprecated ansible.netcommon ip utils with python ipaddress module. The ansible.netcommon collection is no longer required by the collections.
  • firewall - Allow forcing the deletion of firewalls that are still in use.
  • firewall - Do not silence 'firewall still in use' delete failures.
  • firewall - Return resources the firewall is applied_to.
  • firewall_info - Add new firewall_info module to gather firewalls info.
  • firewall_resource - Add new firewall_resource module to manage firewalls resources.
  • inventory - Add hostvars_prefix and hostvars_suffix` options to customize the inventory host variables keys.
  • firewall_resource - Manage Resources a Hetzner Cloud Firewall is applied to.
  • hcloud inventory - Ensure the API client use a new cache for every cached session.
  • Add the hetzner.hcloud.all group to configure all the modules using module_defaults.
  • Allow to set the api_endpoint module argument using the HCLOUD_ENDPOINT environment variable.
  • Removed the hcloud_ prefix from all modules names, e.g. hetzner.hcloud.hcloud_firewall was renamed to hetzner.hcloud.firewall. Old module names will continue working.
  • Renamed the endpoint module argument to api_endpoint, backward compatibility is maintained using an alias.
  • hcloud inventory - Add the api_endpoint option.
  • hcloud inventory - Deprecate the api_token_env option, suggest using a lookup plugin ({{ lookup('ansible.builtin.env', 'YOUR_ENV_VAR') }}) or use the well-known HCLOUD_TOKEN environment variable name.
  • hcloud inventory - Rename the token_env option to api_token_env, use aliases for backward compatibility.
  • hcloud inventory - Rename the token option to api_token, use aliases for backward compatibility.
  • hcloud_datacenter_info - Add server_types field
  • hcloud_server - Add created field
  • hcloud_server_info - Add created field
  • hcloud_iso_info - Add deprecation field
  • hcloud_load_balancer_network - Allow selecting a load_balancer or network using its ID.
  • hcloud_load_balancer_service - Allow selecting a load_balancer using its ID.
  • hcloud_load_balancer_target - Allow selecting a load_balancer or server using its ID.
  • hcloud_rdns - Allow selecting a server, floating_ip, primary_ip or load_balancer using its ID.
  • hcloud_route - Allow selecting a network using its ID.
  • hcloud_server_network - Allow selecting a network or server using its ID.
  • hcloud_subnetwork - Allow selecting to a network using its ID.
  • hcloud_firewall - The port argument is required when the firewall rule protocol is udp or tcp.
  • hcloud_load_balancer_service - In the returned data, the invalid health_check.http.certificates field was renamed to health_check.http.status_codes.
  • hcloud_server - Fix string formatting error on deprecated server type warning
  • Use the collection version in the hcloud user-agent instead of the ansible-core version.
  • hcloud_floating_ip_info - Allow querying floating ip by name.
  • hcloud_load_balancer_info - Add targets health status field.
  • inventory - Allow caching the hcloud inventory.
  • *_info - Consistently fail on invalid ID in *_info modules.

This release bundles the hcloud dependency in the collection, this allows us to ship new features or bug fixes without having to release new major versions and require the users to upgrade their version of the hcloud dependency.

  • Bundle hcloud python dependency inside the collection.
  • python-dateutil >= 2.7.5 is now required by the collection. If you already have the hcloud package installed, this dependency should also be installed.
  • requests >= 2.20 is now required by the collection. If you already have the hcloud package installed, this dependency should also be installed.
  • Drop support for ansible-core 2.12
  • Drop support for python 3.7
  • inventory plugin - Don't set the server image variables (image_id, image_os_flavor and image_name) when the server image is not defined.
  • hcloud_datacenter_facts Removed deprecated facts module
  • hcloud_floating_ip_facts Removed deprecated facts module
  • hcloud_image_facts Removed deprecated facts module
  • hcloud_location_facts Removed deprecated facts module
  • hcloud_server_facts Removed deprecated facts module
  • hcloud_server_type_facts Removed deprecated facts module
  • hcloud_ssh_key_facts Removed deprecated facts module
  • hcloud_volume_facts Removed deprecated facts module

This release bundles the hcloud dependency in the collection, this allows us to ship new features or bug fixes without having to release new major versions and require the users to upgrade their version of the hcloud dependency.

  • Bundle hcloud python dependency inside the collection.
  • python-dateutil >= 2.7.5 is now required by the collection. If you already have the hcloud package installed, this dependency should also be installed.
  • requests >= 2.20 is now required by the collection. If you already have the hcloud package installed, this dependency should also be installed.
  • hcloud_iso_info Create hcloud_iso_info module
  • hcloud_image_info Fix facts modules deprecated result key
  • hcloud_location_info Fix facts modules deprecation warnings
  • hcloud_server_type_info Fix facts modules deprecated result dict
  • hcloud_server_type_info Fix facts modules deprecation warnings
  • hcloud_network Add expose_routes_to_vswitch field.
  • hcloud_network_info Return expose_routes_to_vswitch for network.
  • hcloud_primary_ip_info Create hcloud_primary_ip_info module
  • hcloud_server Show warning if used server_type is deprecated.
  • hcloud_server_type_info Return deprecation info for server types.
  • hcloud_server - TypeError when trying to use deprecated image with allow_deprecated_image
  • hcloud_server_type_info - Add field included_traffic to returned server types
  • hcloud-python 1.20.0 is now required for full compatibility
  • hcloud_image_info - Add cpu architecture field to return value.
  • hcloud_image_info - Allow filtering images by cpu architecture.
  • hcloud_server - Select matching image for the cpu architecture of the server type on create & rebuild.
  • hcloud_server_type_info - Add cpu architecture field to return value.
  • inventory plugin - Add cpu architecture to server variables.
  • hcloud_server - Prevent backups from being disabled when undefined
  • hcloud_server - Server locked after attaching to placement group
  • hcloud_server - add private_networks_info containing name and private ip in responses
  • hcloud_server_info - add private_networks_info containing name and private ip in responses
  • inventory plugin - Add list of all private networks to server variables.
  • inventory plugin - Add new connect_with setting public_ipv6 to connect to discovered servers via public IPv6 address.
  • inventory plugin - Add public IPv6 address to server variables.
  • inventory plugin - Log warning instead of crashing when some servers do not work with global connect_with setting.
  • inventory plugin - Python v3.5+ is now required.
  • hcloud_server - externally attached networks (using hcloud_server_network) were removed when not specified in the hcloud_server resource
  • dynamic inventory - add support changing the name of the top level group all servers are added to
  • hcloud_firewall - add support for esp and gre protocols
  • hcloud_firewall - the deletion could fail if the firewall was referenced right before
  • hcloud_server - fix backup window was given out as "None" instead of null
  • hcloud_server_info - fix backup window was given out as "None" instead of null
  • hcloud_volume - fix server name was given out as "None" instead of null if no server was attached
  • hcloud_volume_info - fix server name was given out as "None" instead of null if no server was attached
  • dynamic inventory - fix crash when having servers without IPs (flexible networks)
  • hcloud_server - When state stopped and server is created, do not start the server
  • hcloud_server_info - fix crash when having servers without IPs (flexible networks)
  • hetzner.hcloud.hcloud_primary_ip - Create and manage cloud Primary IPs on the Hetzner Cloud.
  • inventory - allow filtering by server status
  • hcloud_server_network - fixes changed alias_ips by using sorted
  • inventory - support jinjia templating within network
  • hcloud_rdns Add support for load balancer
  • Introduction of placement groups
  • hcloud_firewall Add description field to firewall rules
  • hcloud_rdns improve error message on not existing server/Floating IP
  • hcloud_server backups property defaults to None now instead of False
  • hcloud_server Improve Error Message when attaching a not existing firewall to a server
  • hcloud_volume Force detaching of volumes on servers before deletion
  • hcloud_server Fix incompatbility with python < 3.6
  • hcloud_server Improve error handling when using not existing server types
  • inventory fix image name was set as server type instead of the correct server type
  • hcloud_server - improve the handling of deprecated images
  • hcloud_server - improve the validation and error response for not existing images
  • inventory - support jinjia templating within token
  • hcloud_certificate - mark the private_key parameter as no_log to prevent potential leaking of secret values (#70).
  • hcloud_firewall - fix idempotence related to rules comparison (#71).
  • hcloud_load_balancer_service - fix imported wrong HealthCheck from hcloud-python (#73).
  • hcloud_server - fix idempotence related to firewall handling (#71).
  • hcloud_server - fix a crash related to check mode if state=started or state=stopped (#54).
  • Add firewalls to hcloud_server module
  • hcloud_firewall - Manage Hetzner Cloud Firewalls
  • Inventory Restore Python 2.7 compatibility
  • Dynamic Inventory Add option to specifiy the token_env variable which is used for identification if now token is set
  • Improve imports of API Exception
  • hcloud_server_network Allow updating alias ips
  • hcloud_subnetwork Allow creating vswitch subnetworks
  • hcloud_load_balancer_info - Gather infos about your Hetzner Cloud load_balancers.
  • hcloud_floating_ip Allow creating Floating IP with protection
  • hcloud_load_balancer Allow creating Load Balancer with protection
  • hcloud_network Allow creating Network with protection
  • hcloud_server Allow creating server with protection
  • hcloud_volume Allow creating Volumes with protection
  • hcloud_floating_ip Fix idempotency when floating ip is assigned to server
  • hcloud_load_balancer Allow changing the type of a Load Balancer
  • hcloud_server Allow the creation of servers with enabled backups
  • hcloud inventory plugin - Allow usage of hcloud.yml and hcloud.yaml - this was removed by error within the migration from build-in ansible to our collection
  • hcloud_floating_ip - Create and manage cloud Floating IPs on the Hetzner Cloud.
  • hcloud_load_balancer - Create and manage cloud Load Balancers on the Hetzner Cloud.
  • hcloud_load_balancer_network - Manage the relationship between Hetzner Cloud Networks and Load Balancers
  • hcloud_load_balancer_service - Create and manage the services of cloud Load Balancers on the Hetzner Cloud.
  • hcloud_load_balancer_target - Manage Hetzner Cloud Load Balancer targets
  • hcloud_load_balancer_type_info - Gather infos about the Hetzner Cloud Load Balancer types.