diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 106a45e..baf3e02 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -90,6 +90,7 @@ jobs: -backend-config="endpoint=$S3_ENDPOINT" \ -backend-config="access_key=$S3_ACCESS_KEY" \ -backend-config="secret_key=$S3_SECRET_KEY" \ + -backend-config="workspace_key_prefix=" \ -backend-config="skip_credentials_validation=true" \ -backend-config="skip_region_validation=true" \ -backend-config="skip_requesting_account_id=true" \ diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl new file mode 100644 index 0000000..4dafc4c --- /dev/null +++ b/.terraform.lock.hcl @@ -0,0 +1,23 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hetznercloud/hcloud" { + version = "1.60.0" + constraints = "~> 1.45" + hashes = [ + "h1:a+0jnJt73mpSsncc36Idxy5ziS7N4Iim4otcW11XkXo=", + "zh:13d729f4859bdcf9e6c2e706bdb010d1e770d8e06834335a1ef7f982fffd0c99", + "zh:3b36a77cf1869a9abce3a45e2c796cb4f3e5e819497919a8a837badbb9576a1d", + "zh:4ec1f0d4e7fe4dffd7a4a2c5846d45243b1ade669c234a772631824c1d4faa10", + "zh:5042482e86618efd1122e398faf09ccdf2ba849b0aefa589b6da656b847402d5", + "zh:52d4524bdde5424cf2a8b130ab085c1236c694da16adae9d31c925c26bbde02d", + "zh:54af898bdbbb0e342b9a2bf39725114cff52713a03ee966bd734a6a2fef953b9", + "zh:59979a5377245ffd5c962123547703bca9201a7019c6ef5ba9cf2e6119b4911d", + "zh:6006e47336182ab68c18980d620d9dc4aab8bdb250744e4c9117d694bf01192a", + "zh:8061ace3e91510afde141d3556be50b1b23b2578ec0626843641fea8dad3bcaf", + "zh:c24f6fcf0ddbe5395c71ccbda2588196b00c0090017a84d7ae4b0132197dfcd2", + "zh:ca9143d179a3815d49e61f70cc8a3340abac44e8f75259f1107520e407252923", + "zh:d5ea79ba8b22db4cb6404334316a2c58a9b7b44e8eb2ddf7d62350d99c1831d5", + "zh:eb15f600011e7822b526b137fc5e88db15a7ef7c826ebaa16fa6486cf1f1ce2a", + ] +} diff --git a/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/CHANGELOG.md b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/CHANGELOG.md new file mode 100644 index 0000000..1405981 --- /dev/null +++ b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/CHANGELOG.md @@ -0,0 +1,1226 @@ +# Changelog + +## [v1.60.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.60.0) + +### Features + +- add `zone_record` resource (#1228) +- Storage Box support no longer experimental (#1329) +- **floating-ip**: unassign from server before deleting it (#1335) + +## [v1.59.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.59.0) + +### Features + +- add name to Storage Box Subaccount (#1323) + +### Bug Fixes + +- support importing storage box without forced replacement (#1314) +- panic on nil action in settle actions helper (#1321) + +## [v1.58.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.58.0) + +### Breaking Change for the *Storage Box* resource + +Previously the `hcloud_storage_box` resource ignored any changes to the `ssh_keys` attribute to avoid accidentally deleting the Storage Box (SSH Keys can not be changed through the API after the Storage Box is created). + +This is changed in this release, we now mark the resource as "requires replacement" if the SSH Keys are changed. If you want to ignore changes and keep the previous behaviour, please add the attribute to [`lifecycle.ignore_changes`](https://developer.hashicorp.com/terraform/language/meta-arguments/lifecycle#ignore_changes): + +```terraform +resource "hcloud_storage_box" "example" { + // Other attributes + + ssh_keys = [ "..." ] + lifecycle { + ignore_changes = [ ssh_keys ] + } +} +``` + +We are releasing this breaking change in a minor version as the *Storage Box support* is [marked as experimental](https://github.com/hetznercloud/terraform-provider-hcloud/issues/1285). + +### Deprecation of `datacenter` attribute for Primary IPs and Servers + +The `datacenter` attributes is deprecated in `Primary IPs` and `Servers` API resources and will be removed after 1 July 2026. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters for more details. + +Therefore, `datacenter` attributes is deprecated in favour of the `location` attribute in the following Terraform resources/datasources: + +- `hcloud_server` +- `data.hcloud_server` +- `data.hcloud_servers` +- `hcloud_primary_ip` +- `data.hcloud_primary_ip` +- `data.hcloud_primary_ips` + +The `location` attribute already exists for Servers, and was added for Primary IPs. + +The `datacenter` attribute will not be updated any more after it is no longer returned by the API. For existing resources this will keep the previous value, for new resources this will result in an empty string. + +Please make sure to upgrade to `v1.58.0+` before the removal date to avoid potential crashes in the provider. + +### Features + +- drop support for OpenTofu v1.8 +- add support for OpenTofu v1.11 +- **storage-box**: stop ignoring changes to ssh keys and replace resource instead (#1296) +- deprecate datacenter in primary ips and servers (#1309) + +### Bug Fixes + +- **storage-box**: run actions serially (#1294) +- **zone**: using variable for primary nameservers causes error (#1306) +- **storage-box**: retry snapshot+subaccount create when locked (#1307) + +## [v1.57.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.57.0) + +### Storage Box API Experimental + +This release adds support for the [Storage Box API](https://docs.hetzner.cloud/reference/hetzner#storage-boxes). + +The Storage Box integration will be introduced as an **experimental** feature. This experimental phase is expected to last until **2 January 2026**. During this period, upcoming minor releases of the project may include breaking changes to features related to the Storage Box API. You can find out the current state of this in [#1285](https://github.com/hetznercloud/terraform-provider-hcloud/issues/1285). + +This release includes all changes from the recent [Storage Box API changelog](https://docs.hetzner.cloud/changelog#2025-10-21-storage-box-api-update) entry. + +#### Examples + +```terraform +resource "hcloud_storage_box" "backups" { + name = "backups" + storage_box_type = "bx21" + location = "hel1" + password = var.storage_box_password +} + +resource "hcloud_storage_box_snapshot" "tool_xyz_migration" { + storage_box_id = hcloud_storage_box.backups.id + + description = "Before Tool XYZ Migration" + labels = { + env = "production" + } +} + +resource "hcloud_storage_box_subaccount" "team_badger" { + storage_box_id = hcloud_storage_box.backups.id + + home_directory = "teams/badger/" + password = var.team_badger_password +} +``` + +### Features + +- drop builds for windows arm (32 bit) (#1260) +- drop support for terraform v1.11 +- drop support for terraform v1.12 +- add support for terraform v1.13 +- add support for terraform v1.14 +- add support for Storage Boxes (#1166) + +### Bug Fixes + +- abort when data transformation errors (#1253) +- ensure partially created resources are tainted in the state (#1257) +- dns records order is not guaranteed (#1259) + +## [v1.56.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.56.0) + +### DNS API is now generally available + +The DNS API is now generally available, as well as support for features in this project that are related to the DNS API. + +To migrate existing zones to the new DNS API, see the [DNS migration guide](https://docs.hetzner.com/networking/dns/migration-to-hetzner-console/process/). + +See the [changelog](https://docs.hetzner.cloud/changelog#2025-11-10-dns-ga) for more details. + +### Server and load balancer network attachment + +With this release, the `hcloud_server_network` and `hcloud_load_balancer_network` resource now supports assigning a server or load balancer to a specific network subnet using the `subnet_id` attribute. The `subnet_id` attribute also validates that the `network_id` and `ip` attributes are consistent with the `subnet_id`. If they are not consistent, the resource will be replaced. + +In the `hcloud_server_network` resource, the `alias_ips` attributes now defaults to an empty set when undefined. + +### Features + +- attach server to a specific network subnet (#1217) +- attach load balancer to a specific network subnet (#1242) +- DNS support is now generally available (#1247) + +## [v1.55.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.55.0) + +### Features + +- support managing records of type SOA (#1225) +- **firewall**: importing firewall attachments (#1231) +- add `txt_record` helper function (#1227) + +### Bug Fixes + +- **load-balancer**: mark health check retries as required (#1232) + +## [v1.54.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.54.0) + +### DNS API Beta + +This release adds support for the new [DNS API](https://docs.hetzner.cloud/reference/cloud#dns). + +The DNS API is currently in **beta**, which will likely end on 10 November 2025. After the beta ended, it will no longer be possible to create new zones in the old DNS system. See the [DNS Beta FAQ](https://docs.hetzner.com/networking/dns/faq/beta) for more details. + +Future minor releases of this project may include breaking changes for features that are related to the DNS API. + +See the [DNS API Beta changelog](https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta) for more details. + +**Examples** + +```terraform +resource "hcloud_zone" "example" { + name = "example.com" + mode = "primary" + labels = { + key = "value" + } +} + +resource "hcloud_zone_rrset" "apex_a_example" { + zone = hcloud_zone.example.name + name = "@" + type = "A" + records = [ + { value = "201.78.10.45", comment = "server1" }, + ] +} +``` + +### Features + +- support the new DNS API (#1210) + +## [v1.53.1](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.53.1) + +### Bug Fixes + +- show warnings using diagnostics instead of logs (#1197) +- also check server type deprecation after server creation (#1201) + +## [v1.53.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.53.0) + +[Server Types](https://docs.hetzner.cloud/reference/cloud#server-types) now depend on [Locations](https://docs.hetzner.cloud/reference/cloud#locations). + +- We added a new `locations` property to the [Server Types](https://docs.hetzner.cloud/reference/cloud#server-types) resource. The new property defines a list of supported [Locations](https://docs.hetzner.cloud/reference/cloud#locations) and additional per [Locations](https://docs.hetzner.cloud/reference/cloud#locations) details such as deprecations information. + +- We deprecated the `deprecation` property from the [Server Types](https://docs.hetzner.cloud/reference/cloud#server-types) resource. The property will gradually be phased out as per [Locations](https://docs.hetzner.cloud/reference/cloud#locations) deprecations are being announced. Please use the new per [Locations](https://docs.hetzner.cloud/reference/cloud#locations) deprecation information instead. + +See our [changelog](https://docs.hetzner.cloud/changelog#2025-09-24-per-location-server-types) for more details. + +**Upgrading** + +```tf +// Before +data "hcloud_server_type" "main" { + name = "cx22" +} + +check "server_type" { + assert { + condition = !data.hcloud_server_type.main.is_deprecated + error_message = "Server Type ${data.hcloud_server_type.main.name} is deprecated" + } +} +``` + +```tf +// After +data "hcloud_location" "main" { + name = "fsn1" +} + +data "hcloud_server_type" "main" { + name = "cx22" +} + +locals { + server_type_location = one([ + for o in data.hcloud_server_type.main.locations : o + if o.name == data.hcloud_location.main.name + ]) +} + +check "server_type_location" { + assert { + condition = local.server_type_location != null + error_message = "Server Type ${data.hcloud_server_type.main.name} does not exists in Location ${data.hcloud_location.main.name}" + } + assert { + condition = !local.server_type_location.is_deprecated + error_message = "Server Type ${data.hcloud_server_type.main.name} is deprecated in Location ${data.hcloud_location.main.name}" + } +} +``` + +### Features + +- add category property to server type (#1184) +- per locations server types (#1193) + +### Bug Fixes + +- ensure exponential poll backoff is configured (#1160) +- handle not found volume deletion (#1189) +- wait for floating_ip assign action to complete (#1195) +- add experimental features maturity (#1191) + +## [v1.52.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.52.0) + +### Features + +- drop support for terraform v1.9 (#1125) +- drop support for terraform v1.10 (#1126) +- add support for terraform v1.11 (#1127) +- add support for terraform v1.12 (#1128) +- warn when experimental features are used (#1155) +- drop support for opentofu v1.7 (#1158) +- add support for opentofu v1.10 (#1159) + +## [v1.51.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.51.0) + +### Features + +- **server**: add private networks in data_source (#1115) + +## [v1.50.1](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.50.1) + +### Bug Fixes + +- missing assignee_type in assign primary ip call (#1117) + +## [v1.50.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.50.0) + +In this release, we upgraded the underlying Hetzner Cloud API client ([hcloud-go](https://github.com/hetznercloud/hcloud-go)) for the entire provider, which involves risk of breakage. Please make sure to test this new version before using it on production environments. + +### Features + +- drop support for terraform v1.8 (#1066) +- add support for terraform v1.10 (#1067) +- add support for opentofu v1.9 (#1071) + +### Bug Fixes + +- upgrade hcloud-go to v2 (#1062) + +## [v1.50.0-rc.0](https://github.com/hetznercloud/terraform-provider-hcloud/releases/tag/v1.50.0-rc.0) + +In this release, we upgraded the underlying Hetzner Cloud API client ([hcloud-go](https://github.com/hetznercloud/hcloud-go)) for the entire provider, which involves risk of breakage. Please make sure to test this new version before using it on production environments. + +### Features + +- drop support for terraform v1.8 (#1066) +- add support for terraform v1.10 (#1067) +- add support for opentofu v1.9 (#1071) + +### Bug Fixes + +- upgrade hcloud-go to v2 (#1062) + +## [1.49.1](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.49.0...v1.49.1) (2024-11-21) + + +### Bug Fixes + +* remove server network interface workaround ([#1021](https://github.com/hetznercloud/terraform-provider-hcloud/issues/1021)) ([be330df](https://github.com/hetznercloud/terraform-provider-hcloud/commit/be330dfbd721b32e337c188c863c97667f021f65)) + +## [1.49.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.48.1...v1.49.0) (2024-11-07) + + +### Features + +* add data.load_balancer_type(s) data sources ([#991](https://github.com/hetznercloud/terraform-provider-hcloud/issues/991)) ([ef60613](https://github.com/hetznercloud/terraform-provider-hcloud/commit/ef60613cf649c60a04663011180eae9318afba7b)) +* add support for opentofu v1.8 ([#1029](https://github.com/hetznercloud/terraform-provider-hcloud/issues/1029)) ([c7902de](https://github.com/hetznercloud/terraform-provider-hcloud/commit/c7902deb659c39ae1f00352ac967d22b9e98e169)) +* drop support for opentofu v1.6 ([#1030](https://github.com/hetznercloud/terraform-provider-hcloud/issues/1030)) ([8c448dd](https://github.com/hetznercloud/terraform-provider-hcloud/commit/8c448dd02b3bdcbc881825fc18ea7163cecda22a)) + + +### Bug Fixes + +* do not retry deleting a protected primary ip ([#1015](https://github.com/hetznercloud/terraform-provider-hcloud/issues/1015)) ([e9de286](https://github.com/hetznercloud/terraform-provider-hcloud/commit/e9de2865836bef8d4f4e9604d2d8c83c5a7cd12e)), closes [#1014](https://github.com/hetznercloud/terraform-provider-hcloud/issues/1014) +* **primary-ip:** conflict when deleting IP ([#994](https://github.com/hetznercloud/terraform-provider-hcloud/issues/994)) ([0873fb1](https://github.com/hetznercloud/terraform-provider-hcloud/commit/0873fb1580bf33334bc266a508d42a94486c20c5)) + +## [1.48.1](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.48.0...v1.48.1) (2024-09-06) + + +### Bug Fixes + +* missing deprecation info in server type list data source ([#984](https://github.com/hetznercloud/terraform-provider-hcloud/issues/984)) ([c12560e](https://github.com/hetznercloud/terraform-provider-hcloud/commit/c12560ebbb1c5ed131f84154a9463e8d4ea7ab2a)) + +## [1.48.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.47.0...v1.48.0) (2024-07-25) + + +### Features + +* add support for opentofu v1.7 ([#950](https://github.com/hetznercloud/terraform-provider-hcloud/issues/950)) ([ae115a8](https://github.com/hetznercloud/terraform-provider-hcloud/commit/ae115a8c26cc16c3dea5faf2226617036e7bcb8b)) +* add support for terraform v1.9 ([#949](https://github.com/hetznercloud/terraform-provider-hcloud/issues/949)) ([642ac15](https://github.com/hetznercloud/terraform-provider-hcloud/commit/642ac1511689df6bd4dbc8a8e29e1c19a2fd8bd9)) +* drop support for terraform v1.7.x ([#947](https://github.com/hetznercloud/terraform-provider-hcloud/issues/947)) ([f6372aa](https://github.com/hetznercloud/terraform-provider-hcloud/commit/f6372aacf6e8d47839bbfa6101476f6e0c1c6125)) +* **server-type:** mark included_traffic attribute as deprecated ([#963](https://github.com/hetznercloud/terraform-provider-hcloud/issues/963)) ([e8101cc](https://github.com/hetznercloud/terraform-provider-hcloud/commit/e8101ccff942ffe3406a6e9ca5a07c3f7fc34a2d)) + + +### Bug Fixes + +* do not continue if an api error occurred ([#958](https://github.com/hetznercloud/terraform-provider-hcloud/issues/958)) ([85a4dd0](https://github.com/hetznercloud/terraform-provider-hcloud/commit/85a4dd0c3390cb533fafa5d982d3faff6749aa7d)) +* **load-balancer:** automatic import of target adds conflicting fields ([#962](https://github.com/hetznercloud/terraform-provider-hcloud/issues/962)) ([6c0b1c4](https://github.com/hetznercloud/terraform-provider-hcloud/commit/6c0b1c42c9eee68f1e6dbc1854fb0f8ec00fbfab)), closes [#961](https://github.com/hetznercloud/terraform-provider-hcloud/issues/961) + +## [1.47.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.46.1...v1.47.0) (2024-05-02) + + +### Features + +* test with Terraform 1.8 ([#919](https://github.com/hetznercloud/terraform-provider-hcloud/issues/919)) ([800a66c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/800a66c0b9e61337b86a58f3ce7ab478fad391b6)) + + +### Bug Fixes + +* **ssh-key:** data inconsistency with empty label objects ([#922](https://github.com/hetznercloud/terraform-provider-hcloud/issues/922)) ([7e1bf2c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/7e1bf2cd6c80c0a86d06b293e7d325e8986d5b3f)), closes [#921](https://github.com/hetznercloud/terraform-provider-hcloud/issues/921) +* **subnet:** handle new error message for deleting subnets with attached resources ([#923](https://github.com/hetznercloud/terraform-provider-hcloud/issues/923)) ([932c47b](https://github.com/hetznercloud/terraform-provider-hcloud/commit/932c47b8c626898fae47f07b4c161d0206561fb1)) + +## [1.46.1](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.46.0...v1.46.1) (2024-04-05) + + +### Bug Fixes + +* **server:** cannot update placement group ([#902](https://github.com/hetznercloud/terraform-provider-hcloud/issues/902)) ([fa5f98c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/fa5f98cf4e0c62249b14694ad2db59a5baf8fe30)) + +## [1.46.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.45.0...v1.46.0) (2024-03-26) + + +### Features + +* **firewall:** set IPs without prefix directly ([#874](https://github.com/hetznercloud/terraform-provider-hcloud/issues/874)) ([40df28d](https://github.com/hetznercloud/terraform-provider-hcloud/commit/40df28d79dd192ef39edb51dfd6c4a6626d6413b)), closes [#807](https://github.com/hetznercloud/terraform-provider-hcloud/issues/807) [#715](https://github.com/hetznercloud/terraform-provider-hcloud/issues/715) +* support terraform v1.7.x ([#845](https://github.com/hetznercloud/terraform-provider-hcloud/issues/845)) ([a5229f4](https://github.com/hetznercloud/terraform-provider-hcloud/commit/a5229f492c5cee0bede74354ad697c452bd55211)) + + +### Bug Fixes + +* add api request status code in error diagnostics ([#839](https://github.com/hetznercloud/terraform-provider-hcloud/issues/839)) ([3689ade](https://github.com/hetznercloud/terraform-provider-hcloud/commit/3689ade53f2706f48bda4b3c14577b5bc9deadf3)) +* **firewall:** unnecessary diff if user specified non-minimal IPv6 ([40df28d](https://github.com/hetznercloud/terraform-provider-hcloud/commit/40df28d79dd192ef39edb51dfd6c4a6626d6413b)), closes [#870](https://github.com/hetznercloud/terraform-provider-hcloud/issues/870) +* return after error in datacenter data source ([#847](https://github.com/hetznercloud/terraform-provider-hcloud/issues/847)) ([bfac734](https://github.com/hetznercloud/terraform-provider-hcloud/commit/bfac734e1eefc135e3e1001c70904e93a7927859)) +* **server:** unable to attach two new networks ([#901](https://github.com/hetznercloud/terraform-provider-hcloud/issues/901)) ([df177e2](https://github.com/hetznercloud/terraform-provider-hcloud/commit/df177e285aba803ca117a639097f0745baa54a05)), closes [#899](https://github.com/hetznercloud/terraform-provider-hcloud/issues/899) + +## [1.45.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.44.1...v1.45.0) (2024-01-11) + + +### Features + +* **provider:** choose between constant & exponential backoff for actions ([#798](https://github.com/hetznercloud/terraform-provider-hcloud/issues/798)) ([fa7ea1f](https://github.com/hetznercloud/terraform-provider-hcloud/commit/fa7ea1f167750e64cc9ebbb26ce0eb8171d55df6)) +* **server:** add `primary_disk_size` attribute in resource and datasource ([#801](https://github.com/hetznercloud/terraform-provider-hcloud/issues/801)) ([98c2f2d](https://github.com/hetznercloud/terraform-provider-hcloud/commit/98c2f2d01bcdb08fcf5d564a774b1f2d60124296)) + + +### Bug Fixes + +* **network:** mark data source fields as computed ([#805](https://github.com/hetznercloud/terraform-provider-hcloud/issues/805)) ([63e157c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/63e157c42185b06cb2f9714014f564e9383a6976)) +* **placement-group:** mark data source fields as computed ([#806](https://github.com/hetznercloud/terraform-provider-hcloud/issues/806)) ([53069ac](https://github.com/hetznercloud/terraform-provider-hcloud/commit/53069ac9f4df7d6dc18567c61a92eba11afebd53)) +* **server:** missing field primary_disk_size ([#811](https://github.com/hetznercloud/terraform-provider-hcloud/issues/811)) ([9bd0ef0](https://github.com/hetznercloud/terraform-provider-hcloud/commit/9bd0ef0c1d005f00436567f4520b3354940fc041)) + +## [1.44.1](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.44.0...v1.44.1) (2023-10-05) + + +### Bug Fixes + +* failed to load plugin schemas ([#764](https://github.com/hetznercloud/terraform-provider-hcloud/issues/764)) ([b68a97c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/b68a97cfef01f4f3cb5968ce866dd0e77e437684)) + +## [1.44.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.43.0...v1.44.0) (2023-10-04) + + +### Features + +* setup initial plugin framework skaffolding ([#749](https://github.com/hetznercloud/terraform-provider-hcloud/issues/749)) ([5c284e2](https://github.com/hetznercloud/terraform-provider-hcloud/commit/5c284e293dd2e4a8ad83ae9b2784fd3b8261c323)) + + +### Bug Fixes + +* poll_interval not working as expected ([6ef7467](https://github.com/hetznercloud/terraform-provider-hcloud/commit/6ef7467b198ea1807715d7bc99e03fbad62688a2)) + +## [1.43.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.42.1...v1.43.0) (2023-09-20) + + +### Features + +* build with Go 1.21 ([#753](https://github.com/hetznercloud/terraform-provider-hcloud/issues/753)) ([f68e079](https://github.com/hetznercloud/terraform-provider-hcloud/commit/f68e0791307ee2cddce172f3bcd0f786fd2f2b32)) +* **server:** Optional graceful shutdown before deleting servers ([#755](https://github.com/hetznercloud/terraform-provider-hcloud/issues/755)) ([0c477a3](https://github.com/hetznercloud/terraform-provider-hcloud/commit/0c477a32b569c2cac455cf2d6131d8c62519803e)) + +## [1.42.1](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.42.0...v1.42.1) (2023-08-14) + + +### Bug Fixes + +* **primary_ip:** list data source only returned first 25 IPs ([#729](https://github.com/hetznercloud/terraform-provider-hcloud/issues/729)) ([62e9781](https://github.com/hetznercloud/terraform-provider-hcloud/commit/62e97810df58d2eccaaed2e81d7833fff4e5d6ae)) +* **server:** panic when passing empty string as ssh key ([#736](https://github.com/hetznercloud/terraform-provider-hcloud/issues/736)) ([d57b386](https://github.com/hetznercloud/terraform-provider-hcloud/commit/d57b38606c4b052b7d8181074d0860bd35935145)) +* **server:** Return `nil` instead of `"<nil>"` with IPv4/IPv6 disabled ([#723](https://github.com/hetznercloud/terraform-provider-hcloud/issues/723)) ([6cd2a37](https://github.com/hetznercloud/terraform-provider-hcloud/commit/6cd2a3753df03ebb6f3ebdb46899f2ff167d04ad)) +* use exponential backoff when retrying actions ([#735](https://github.com/hetznercloud/terraform-provider-hcloud/issues/735)) ([d51ee4a](https://github.com/hetznercloud/terraform-provider-hcloud/commit/d51ee4a46dd869320b90413d8e7806fab21dc419)) + +## [1.42.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.41.0...v1.42.0) (2023-07-13) + + +### Features + +* **image:** add filter include_deprecated to datasources ([#685](https://github.com/hetznercloud/terraform-provider-hcloud/issues/685)) ([#717](https://github.com/hetznercloud/terraform-provider-hcloud/issues/717)) ([9f039ba](https://github.com/hetznercloud/terraform-provider-hcloud/commit/9f039ba35b9b0e94f4f5581099031e11f001a6d8)) + + +### Bug Fixes + +* **lb:** early validation for lb_target arguments ([#721](https://github.com/hetznercloud/terraform-provider-hcloud/issues/721)) ([10928d1](https://github.com/hetznercloud/terraform-provider-hcloud/commit/10928d1389f4f7e08f042c33101af03a4e78d155)) +* **rdns:** crash when resource was deleted outside of terraform ([#720](https://github.com/hetznercloud/terraform-provider-hcloud/issues/720)) ([aad0614](https://github.com/hetznercloud/terraform-provider-hcloud/commit/aad0614d4abbe2dfbed53630b2e29380e6b087c5)), closes [#710](https://github.com/hetznercloud/terraform-provider-hcloud/issues/710) + +## [1.41.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.40.0...v1.41.0) (2023-06-22) + + +### Features + +* **network:** add support for exposing routes to vswitch connection ([#703](https://github.com/hetznercloud/terraform-provider-hcloud/issues/703)) ([f213550](https://github.com/hetznercloud/terraform-provider-hcloud/commit/f2135509328ff2418ddc5f5224872ccb68821f6c)) + +## [1.40.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.39.0...v1.40.0) (2023-06-13) + + +### Features + +* deprecation info for server types ([#691](https://github.com/hetznercloud/terraform-provider-hcloud/issues/691)) ([9e6a22c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/9e6a22cf2d5cc1e1859ec622c649978b83207938)) + + +### Bug Fixes + +* **server:** invalid ipv6_address nil1 when no IPv6 is used ([#689](https://github.com/hetznercloud/terraform-provider-hcloud/issues/689)) ([2912f45](https://github.com/hetznercloud/terraform-provider-hcloud/commit/2912f459bbf47b2d9f90325056713a4eb9d99d1d)) + +## v1.39.0 + +### What's Changed +* feat(rdns): support setting RDNS for Primary IPs by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/669 +* feat(server_type): return included traffic by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/680 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.38.2...v1.39.0 + +## v1.38.2 + +### What's Changed +* ci: run e2etests in parallel by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/660 +* fix(server): avoid recreate when using official image by ID by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/661 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.38.1...v1.38.2 + +## v1.38.1 + +Affordable, sustainable & powerful! rocketYou can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! +Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. sunglasses + +Learn more: https://www.hetzner.com/news/arm64-cloud + +### What's Changed +* fix(server): crash when non-existent server type is used by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/659 +* fix(server): unable to create server from image id by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/658 +* fix(deps): update module golang.org/x/crypto to v0.8.0 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/652 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.38.0...v1.38.1 + +## v1.38.0 + +Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! +Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎 + +Learn more: https://www.hetzner.com/news/arm64-cloud + +### What's Changed +* fix(deps): update github.com/hashicorp/go-cty digest to 8598007 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/633 +* fix(deps): update module golang.org/x/net to v0.9.0 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/651 +* feat: add support for ARM APIs by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/654 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.37.0...v1.38.0 + +## v1.37.0 + +### What's Changed +* docs: Add missing location (hil) by @akirak in https://github.com/hetznercloud/terraform-provider-hcloud/pull/606 +* docs: replace outdated example OS image by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/615 +* docs: list available datacenters by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/613 +* docs: explain deprecated attributes by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/614 +* feat(primaryip): return IPv6 subnet #600 by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/620 +* fix: state is missing resources when rate limit is reached #604 by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/621 +* chore(ci): run e2e on public workers by @samcday in https://github.com/hetznercloud/terraform-provider-hcloud/pull/631 +* Configure Renovate by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/629 +* chore: Test against Terraform v1.4 by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/638 +* fix(deps): update module github.com/hashicorp/terraform-plugin-log to v0.8.0 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/639 +* fix(deps): update module github.com/hetznercloud/hcloud-go to v1.41.0 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/637 +* fix(deps): update module github.com/hashicorp/terraform-plugin-sdk/v2 to v2.25.0 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/640 +* chore(deps): update goreleaser/goreleaser-action action to v4 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/642 +* fix: self-reported version not correct by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/630 +* chore(deps): update actions/setup-go action to v4 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/643 +* fix(deps): update module golang.org/x/crypto to v0.7.0 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/641 +* docs: freebsd64 is no longer available as rescue image by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/645 +* refactor: Make CI Happy Again by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/646 +* fix(deps): update module github.com/hashicorp/terraform-plugin-sdk/v2 to v2.26.1 by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/644 + +### New Contributors +* @akirak made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/606 +* @samcday made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/631 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.36.2...v1.37.0 + +## v1.36.2 + +### What's Changed +* test: fix acceptence tests for new location Hillsboro by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/598 +* fix(server): unhandled errors from API calls by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/602 +* fix(lb): lb_target breaks when load-balancer is deleted in API by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/603 +* fix(lb): add missing fields to data source by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/605 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.36.1...v1.36.2 + +## v1.36.1 + +### What's Changed +* chore: update hcloud-go to v1.37.0 by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/591 +* fix(server): make sure that each network block is unique by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/594 +* docs: mention that we only accept the location name as attribute by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/595 +* fix(server): unnecessary updates when using network #556 by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/593 +* fix: multiple resources break when parent resource is recreated by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/596 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.36.0...v1.36.1 + +## v1.36.0 + +### What's Changed +* Update auto delete on primary IP resource change by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/573 +* Update Dependencies by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/575 +* Add tests for Terraform 1.3 by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/576 +* docs: explain how to create a server from snapshot by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/582 +* docs: clarify arguments of hcloud_primary_ip resource by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/584 +* fix: error when deleting hcloud_primary_ip with auto_delete by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/585 +* test: fix flaky test TestServerResource_PrimaryIPNetworkTests by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/587 +* feat: import hcloud_load_balancer_target by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/589 +* fix: race-condition when re-creating server with external primary ip by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/590 + +### New Contributors +* @apricote made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/582 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.35.2...v1.36.0 + +## v1.35.2 + +### What's Changed +* bug: add missing datacenter option at primary_ip & fix file naming by @komandar in https://github.com/hetznercloud/terraform-provider-hcloud/pull/559 +* Fix private only server (attached to network) creation by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/562 +* feature: update workflow & golang to newest stable release 1.19 by @komandar in https://github.com/hetznercloud/terraform-provider-hcloud/pull/560 +* ci: fix not available gpg_private_key in workflow by @komandar in https://github.com/hetznercloud/terraform-provider-hcloud/pull/563 +* Remove < and > signs in import examples by @ekeih in https://github.com/hetznercloud/terraform-provider-hcloud/pull/564 +* fix: wrong required statement by @komandar in https://github.com/hetznercloud/terraform-provider-hcloud/pull/567 +* style: unify the bool and boolean type in the docs by @komandar in https://github.com/hetznercloud/terraform-provider-hcloud/pull/568 + +### New Contributors +* @komandar made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/559 +* @ekeih made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/564 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.35.1...v1.35.2 + +## v1.35.1 + +### What's Changed +* Add workaround "fix" for network interface issue by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/552 +* Update hcloud-go to v1.35.2 by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/554 +* Prevent segfault when image nonexistent by @acuteaura in https://github.com/hetznercloud/terraform-provider-hcloud/pull/553 + +### New Contributors +* @acuteaura made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/553 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.35.0...v1.35.1 + +## v1.35.0 + +### What's Changed +* Implement Server Create Without primary ip on update behavior by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/548 +* Add support of using deprecated images by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/549 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.3...v1.35.0 + +## v1.34.3 + +### What's Changed +* Create server without primary ips: Fix edge case bug + add test by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/546 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.2...v1.34.3 + +## v1.34.2 + +### What's Changed +* Server Create without primary IPs via public_net by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/544 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.1...v1.34.2 + +## v1.34.1 + +### What's Changed +* Add primary ip documentation by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/540 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.0...v1.34.1 + +## v1.34.0 + +### What's Changed +* Update Dependencies (TF SDK 2.7.1 -> 2.14) by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/524 +* DataSource Network `id` should be an integer by @guineveresaenger in https://github.com/hetznercloud/terraform-provider-hcloud/pull/525 +* Improve documentation by @02bensch in https://github.com/hetznercloud/terraform-provider-hcloud/pull/536 +* Add support for primary IPs by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/538 + +### New Contributors +* @guineveresaenger made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/525 +* @02bensch made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/536 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.33.2...v1.34.0 + +## v1.33.2 + +### What's Changed +* Implement validation on labels as per spec by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/522 +* Add resourceFloatingIPAssignmentUpdate by @CyberShadow in https://github.com/hetznercloud/terraform-provider-hcloud/pull/501 +* Use Go 1.18 for building by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/523 + +### New Contributors +* @4ND3R50N made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/522 +* @CyberShadow made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/501 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.33.1...v1.33.2 + +## v1.33.1 + +### What's Changed +* Datasource hcloud_location & hcloud_locations: Add network_zone by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/508 +* hcloud_servcer resource: Retry on enabling rescue (reset call) by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/511 + + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.33.0...v1.33.1 + +## v1.33.0 + +### What's Changed +* Update image.html.md by @FloMaetschke in https://github.com/hetznercloud/terraform-provider-hcloud/pull/494 +* docs: Add missing location (ash) by @dhoppe in https://github.com/hetznercloud/terraform-provider-hcloud/pull/496 +* Add missing argument for resource hcloud_ssh_key by @dhoppe in https://github.com/hetznercloud/terraform-provider-hcloud/pull/498 +* Make the image property of hcloud_server optional by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/499 +* Implement hcloud_firewall_attachment resource by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/500 + +### New Contributors +* @FloMaetschke made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/494 +* @dhoppe made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/496 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.32.2...v1.33.0 + +## v1.32.2 + +### What's Changed +* server: resource: fix spelling by @xdevs23 in https://github.com/hetznercloud/terraform-provider-hcloud/pull/480 +* Use our own E2E Test runner by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/481 +* Mark the hcloud_token sensitive by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/479 +* Fix nil check for RNDSupporter by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/485 +* fix: typo in docs by @RobertHeim in https://github.com/hetznercloud/terraform-provider-hcloud/pull/486 +* Adjust tests by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/489 +* fix: typo by @RobertHeim in https://github.com/hetznercloud/terraform-provider-hcloud/pull/488 + +### New Contributors +* @xdevs23 made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/480 +* @RobertHeim made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/486 + +**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.32.1...v1.32.2 + +## v1.32.1 + + + +- ec487e93 Fix failing tests +- d10e9f0d Fix firewall deletion + +## v1.32.0 + + + +- af8300cf Case-insensitive comparison of IPv6 addresses +- 4adfcfa9 Update hcloud-go to v1.33.0 +- 9e08f76f hcloud_firewall resource: Remove all resources before deleting the firewall + +## v1.31.1 + + + +- 545375f9 hcloud_server resource: Add computed to firewall_ids + +## v1.31.0 + +### What's Changed + +- 3a6384cc Add delete and rebuild protection (#432) +- 6eaecafa Add list data source for certificates +- 07b1b53e Add list data source for firewall (#445) +- 45843b99 Add list data source for floating ips (#448) +- 9914e064 Add list data source for images +- 21267191 Add list data source for load balancers +- eb3bcc0c Add list data source for networks (#452) +- a0045237 Add list data source for placement groups (#456) +- 333e38ca Add list data source for server (#434) +- 3a33c154 Add list data source for volumes +- 8de96d9d Allow updating of hcloud_load_balancer_network resource +- 14c10006 Deprecate hcloud_load_balancer resource `target` property +- 5a7feae8 Do not fail fast on e2e tests +- a3023bfc Fix datasources of server and volume (#431) +- b02858af Fix firewall apply_to if assigned with server resource (#455) +- b595efa6 Fix race condition on server data source test (#446) +- ff44ac8e Improve handling of "Error: cannot remove subnet because servers are attached to it" +- 86f5c990 Refactor list data source for datacenter (#444) +- 984c2e3b Refactor list data source for locations +- 32000fcb Refactor list data source for server types +- 2c8ad4f4 Refactor list data source for ssh keys (#438) +- b5f5073e Remove testing & official support of Terraform < 1.0 +- 7e4746f1 hcloud_firewall resource & datasource: Add apply_to possibility +- 54394aea hcloud_rdns: Fix nil pointer when resource does not exist + +## v1.30.0 + +### What's Changed + +- 985c1db9 Add dns ptr support for load balancer +- 13421a6a Update docs +- ce6982e0 Use go 1.17 for tests & builds + +## v1.29.0 + +### What's Changed + +- f0e2e3c1 Fix date format for certificate states +- e19f2d76 Placement groups (#426) +- 151a0b6a Update hcloud_firewall documentation on how to define port range + +## v1.28.1 + +### What's Changed + +- 93059571 Add missing firewall rule description docs +- 9abc5d7e Fix firewall rule description + +## v1.28.0 + +### What's Changed + +- 92a07cd0 Add description field to firewall rules +- a0a90b8f Increase amount of retries on firewall deletion + +## v1.27.2 + +### What's Changed + +- f397c38d Add a feature request template +- b4619110 Fix hcloud_snapshot resource documentation +- 8d204641 Fix spelling and grammar mistakes +- 219a6355 Update hcloud-go to v1.28.0 + +## v1.27.1 + +### What's Changed + +- 71f995bf Add issue template +- ad88a85f Add missing docs about the network attribute/argument on hcloud_server and implement the datatransformation of the network for the attribute +- 72a5fb48 Add testcase +- 449710e9 Add tests for terraform 1.0 +- 0cfa7c88 Docs: Add missing firewall_ids to hcloud_server resource and datasource +- 80ee6fab Docs: Improve documentation for hcloud_firewall resource to include information about port ranges and the `any` keyword (#381) +- 8f1c5c16 Docs: Mark example "hcloud_token" variable as sensitive +- b941c699 Fix non iso8601 timestamp in hcloud_image datasource +- 993b3cd2 Fix tests +- e775c362 Generate Changelog with goreleaser +- 1795d377 Improve error messages from hcloud-go +- 895813eb Improve hcloud_rdns resource documentation and validation of fields `server_id` and `floating_ip_id` that should be mutually exclusive +- 3cdd11b4 Increase create timeout for servers and snapshots +- 68a3d6a6 Move logic around to make it more readable +- faa15532 Network Attachments: Retry on ServiceError and NoSubnetAvailable Error +- edbddcfe Update dependencies +- 4027dd6f Update terraform SDK to v2.7.0 + + +## 1.27.0 (June 17, 2021) + +FEATURES: +* `hcloud_firewall` resource & datasource: Support GRE & ESP protocol in firewall rules + +## 1.26.2 (May 28, 2021) + +BUG FIXES: + +* Fix invalid checksum for release 1.26.1 + +## 1.26.1 (May 28, 2021) + +BUG FIXES: +* `hcloud_firewall` datasource: `destination_ips` missed in definition +* `hcloud_certificate` resource: panic when parsing certificate chains + (#359) + +## 1.26.0 (March 30, 2021) + +* **New Resource** `hcloud_managed_certificate` +* **New Resource** `hcloud_uploaded_certificate` +* **Deprecated Resource** `hcloud_certificate` + +## 1.25.2 (March 16, 2021) + +BUG FIXES: +* `hcloud_firewall` resource: plugin normalized CIDRs silently. + +## 1.25.1 (March 10, 2021) + +BUG FIXES: +* `hcloud_firewall` documentation: fix name of `firewall_ids` property. + +## 1.25.0 (March 10, 2021) + +FEATURES: +* **New Resource**: `hcloud_snapshot` +* **New Resource**: `hcloud_firewall` +* **New Data Source**: `hcloud_firewall` + +BUG FIXES: +* `hcloud_server` resource: image had a wrong type (int instead of string) when a server was created from a snapshot +* `hcloud_load_balancer_target` resource: force recreation when changing a target attribute (server_id, ip or label_selector) + +NOTES: +* The provider is now built with Go 1.16 + +## 1.24.1 (February 04, 2021) + +BUG FIXES: +* `hcloud_volume` datasource: id is now marked as computed to allow more setups where the id is unknown +* `hcloud_ssh_key` datasource: id is now marked as computed to allow more setups where the id is unknown +* `hcloud_network` datasource: id is now marked as computed to allow more setups where the id is unknown +* `hcloud_image` datasource: id is now marked as computed to allow more setups where the id is unknown +* `hcloud_certificate` datasource: id is now marked as computed to allow more setups where the id is unknown +* `hcloud_volume` resource: Automount is now working when you attach an already existing volume to a server. + +## 1.24.0 (January 12, 2021) + +FEATURES: +* **New Datasource**: `hcloud_server_type` +* **New Datasource**: `hcloud_server_types` +* New `network` property for `hcloud_server` resource. + +BUG FIXES: +* `hcloud_volume` resource: A race condition was fixed, that was called when you tried to create multiple volumes for a single server +* `hcloud_locations` datasource: Use a stable value as IDs instead of a timestamp. We now use a hash of the concatenation of all location IDs as ID +* `hcloud_datacenters` datasource: Use a stable value as IDs instead of a timestamp. We now use a hash of the concatenation of all datacenters IDs as ID + +Notes: +* This release is tested against Terraform 0.13.x and 0.14.x. Testing on 0.12.x was removed, therefore Terraform 0.12.x is no longer officially supported + +## 1.23.0 (November 03, 2020) + +FEATURES: +* `hcloud_network_subnet` supports vSwitch Subnets + +Notes: +* The provider was updated to use the Terraform Plugin SDK v2. + +## 1.22.0 (October 05, 2020) + +FEATURES: + +* All `hcloud_*` resources are now importable. + +BUG FIXES: +* `hcloud_rdns` resource: It is now possible to import the resource as documented. + +## 1.21.0 (September 09, 2020) + +CHANGED: + +* Un-deprecate `network_id` property of `hcloud_load_balancer_network` and + `hcloud_server_network` resources. +* Change module path from + `github.com/terraform-providers/terraform-provider-hcloud` to + `github.com/hetznercloud/terraform-provider-hcloud` + +## 1.20.1 (August 18, 2020) +BUG FIXES: + +* `hcloud_certificate` resource: Updating the certificate needs to recreate the certificate. + +NOTES: +* The provider is now build with Go 1.15 +* We overhauled parts of the underlying test suite + +## 1.20.0 (August 10, 2020) + +FEATURES: + +* Allow updating/resizing a Load Balancer through the + `load_balancer_type` of `hcloud_load_balancer` resource +* Add support for Load Balancer Label Selector and IP targets. + +## 1.19.2 (July 28, 2020) + +CHANGED: + +* Deprecate `network_id` property of `hcloud_server_network` and + `hcloud_load_balancer_network` resources. Introduce a `subnet_id` + property as replacement. + + Both resources require a subnet to be created. Since `network_id` + references the network and not the subnet there is no explicit + dependency between those resources. This leads to Terraform creating + those resources in parallel, which creates a race condition. Users + stuck with the `network_id` property can create an explicit dependency + on the subnet using `depends_on` to work around this issue. + +BUG FIXES: +* Enable and Disable `proxyprotocol` on a Load Balancer didn't work after creation +* Deleted all Load Balancer services when you changed the `listen_port` of one service +* `hcloud_load_balancer_target` was not idempotent when you add a target that was already defined + +NOTES: +* Update to hcloud-go v1.19.0 to fix the bad request issue + +## 1.19.1 (July 16, 2020) + +NOTES: + +* First release under new terraform registry +* Provider was moved to https://github.com/hetznercloud/terraform-provider-hcloud + +## 1.19.0 (July 10, 2020) + +BUG FIXES: + +* Update to hcloud-go v1.18.2 to fix a conflict issue +* Ensure `alias_ip` retain the same order. + +NOTES: + +* This release uses Terraform Plugin SDK v1.15.0. + +## 1.18.1 (July 02, 2020) + +BUG FIXES + +* Set correct defaults for `cookie_name` and `cookie_lifetime` + properties of `hcloud_load_balancer_service`. +* Remove unsupported `https` protocol from health check documentation. +* Force recreate of `hcloud_network` if `ip_range` changes. + +## 1.18.0 (June 30, 2020) + +FEATURES: + +* **New Resource**: `hcloud_load_balancer_target` which allows to add a + target to a load balancer. This resource extends the `target` property + of the `hcloud_load_balancer` resource. `hcloud_load_balancer_target` + should be preferred over the `target` property of + `hcloud_load_balancer`. + +## 1.17.0 (June 22, 2020) + +FEATURES: + +* **New Datasource**: `hcloud_load_balancer` +* **New Resource**: `hcloud_load_balancer` +* **New Resource**: `hcloud_load_balancer_service` +* **New Resource**: `hcloud_load_balancer_network` + +BUG FIXES: + +* resources/hcloud_network_route: Fix panic when trying to lookup an already deleted Network route + +## 1.16.0 (March 24, 2020) + +BUG FIXES: +* resource/hcloud_ssh_key: Fix panic when we update labels in SSH keys +* resource/hcloud_server_network: Fix alias ips ignored on creation of server network +* resource/hcloud_server: Use first assigned `ipv6_address` as value instead of the network address. **Attention: This can be a breaking change** + +NOTES: +* This release uses Terraform Plugin SDK v1.8.0. + +## 1.15.0 (November 11, 2019) + +IMPROVEMENTS: + +* resources/hcloud_server: Add retry mechanism for enabling the rescue mode. + +NOTES: +* This release uses Terraform Plugin SDK v1.3.0. + +## 1.14.0 (October 01, 2019) + +NOTES: +* This release uses the Terraform Plugin SDK v1.1.0. + +## 1.13.0 (September 19, 2019) + +IMPROVEMENTS: + +* resources/hcloud_floating_ip: Add `name` attribute to get or set the name of a Floating IP. +* datasource/hcloud_floating_ip: Add `name` attribute to get Floating IPs by their name. + +NOTES: + +* This release is Terraform 0.12.9+ compatible. +* Updated hcloud-go to `v1.16.0` +* The provider is now tested and build with Go `1.13` + +## 1.12.0 (July 29, 2019) + +FEATURES: + +* **New Datasource**: `hcloud_ssh_keys` Lookup all SSH keys. + +IMPROVEMENTS: + +* resources/hcloud_server_network: Add `mac_address` attribute to get the mac address of the Network interface. + +BUG FIXES: + +* Fix an error on server creation, when an iso id was given instead of an iso name. + +NOTES: + +* This release is Terraform 0.12.5+ compatible. +* Updated hcloud-go to `v1.15.1` +* Added hcloud-go request debugging when using `TF_LOG`. + +## 1.11.0 (July 10, 2019) + +FEATURES: + +* **New Resource**: `hcloud_network` Manage Networks. +* **New Resource**: `hcloud_network_subnet` Manage Networks Subnets. +* **New Resource**: `hcloud_network_route` Manage Networks Routes. +* **New Resource**: `hcloud_server_network` Manage attachment between servers and Networks. +* **New Datasource**: `hcloud_network` Lookup Networks. + +## 1.10.0 (May 14, 2019) + +NOTES: +* This release is Terraform 0.12-RC1+ compatible. + +## 1.9.0 (March 15, 2019) + +IMPROVEMENTS: + +* datasource/hcloud_server: Add `with_status` attribute to get images by their status. +* datasource/hcloud_image: Add `with_status` attribute to get servers by their status. +* datasource/hcloud_volume: Add `with_status` attribute to get volumes by their status. + +* Added `with_selector` to all datasources that support label selectors. + +NOTES: + +* **Deprecation**: datasource/hcloud_server: `selector`, will be removed in the near future. +* **Deprecation**: datasource/hcloud_floating_ip: `selector`, will be removed in the near future. +* **Deprecation**: datasource/hcloud_image: `selector`, will be removed in the near future. +* **Deprecation**: datasource/hcloud_ssh_key: `selector`, will be removed in the near future. +* **Deprecation**: datasource/hcloud_volume: `selector`, will be removed in the near future. + +## 1.8.1 (March 12, 2019) + +BUG FIXES: +* Fix an error on server creation, when a image id was given instead of a image name. +* Fix an missing error on `terraform plan`, when using an image name which does not exists. + +## 1.8.0 (February 06, 2019) + +FEATURES: +* **New Datasource**: `hcloud_server` Lookup a server. + +IMPROVEMENTS: +* Add API token length validation + +## 1.7.0 (December 18, 2018) + +FEATURES: +* **New Datasource**: `hcloud_location` Lookup a location. +* **New Datasource**: `hcloud_locations` Lookup all locations. +* **New Datasource**: `hcloud_datacenter` Lookup a datacenter. +* **New Datasource**: `hcloud_datacenters` Lookup all datacenters. +* Volume Automounting is now available for `hcloud_volume` and `hcloud_volume_attachment` + +## 1.6.0 (December 03, 2018) + +IMPROVEMENTS: +* datasource/hcloud_image: Add `most_recent` attribute to get the latest image when multiple images has the same label. + +BUG FIXES: +* Fix an error on volume_attachment creation, when server was locked. + +## 1.5.0 (November 16, 2018) + +FEATURES: +* **New Resource**: `hcloud_volume_attachment` Manage the attachment between volumes and servers. + +IMPROVEMENTS: +* resources/hcloud_server: Add `backups` attribute to enable or disable backups. + +NOTES: +* **Read Only**: resources/hcloud_server: `backup_window`, removed the ability to set the attribute. This attribute is now read only. +* Updated hcloud-go to `v1.11.0` + +## 1.4.0 (October 18, 2018) + +FEATURES: + +* **New Resource**: `hcloud_volume` Manage volumes. +* **New Datasource**: `hcloud_volume` Lookup volumes. + +NOTES: + +* **Deprecation**: resource/hcloud_server: `backup_window`, will be removed in the near future. + +## 1.3.0 (September 12, 2018) + +FEATURES: + +- **New Resource**: `hcloud_rnds` Manage reverse DNS entries for servers and Floating IPs. +* **New Resource**: `hcloud_floating_ip_assignment` Manage the association between Floating IPs and servers. +- **New Datasource**: `hcloud_floating_ip` Lookup Floating ips. +- **New Datasource**: `hcloud_image` Lookup images. +- **New Datasource**: `hcloud_ssh_key` Lookup SSH Keys. +- **New Provider Config**: `poll_interval` Configures the interval in which actions are polled by the client. Default `500ms`. Increase this interval if you run into rate limiting errors. + +IMPROVEMENTS: + +* resource/hcloud_server: Add `ipv6_network` attribute. + +NOTES: + +* Updated hcloud-go to `v1.9.0` + +## 1.2.0 (June 07, 2018) + +NOTES: + +* Switched from MIT licence to MPL2 +* removed `reverse_dns` property of `hcloud_floating_ip`, because it was not useable, see https://github.com/hetznercloud/terraform-provider-hcloud/issues/32 +* improved test coverage +* updated terraform to `v0.11.7` +* updated hcloud-go to `v1.6.0` +* added log when waiting for an action to complete + +BUG FIXES: + +* delete records from state that are invalid or are not found by the server +* resource update methods return the result of the read method + +## 1.1.0 (March 2, 2018) + +* Save hashsum of `user_data`, existing state is migrated +* update hcloud-go to v1.4.0 +* update terraform from v0.11.2 to v0.11.3 + +## 1.0.0 (January 30, 2018) + +* Initial release diff --git a/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/LICENSE b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/LICENSE new file mode 100644 index 0000000..a612ad9 --- /dev/null +++ b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/README.md b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/README.md new file mode 100644 index 0000000..611919a --- /dev/null +++ b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/README.md @@ -0,0 +1,202 @@ +# Terraform Provider for the Hetzner Cloud + +[![GitHub release](https://img.shields.io/github/tag/hetznercloud/terraform-provider-hcloud.svg?label=release)](https://github.com/hetznercloud/terraform-provider-hcloud/releases/latest) [![Actions Status](https://github.com/hetznercloud/terraform-provider-hcloud/workflows/test/badge.svg)](https://github.com/hetznercloud/terraform-provider-hcloud/actions)[![Actions Status](https://github.com/hetznercloud/terraform-provider-hcloud/workflows/release/badge.svg)](https://github.com/hetznercloud/terraform-provider-hcloud/actions) +[![Codecov](https://codecov.io/gh/hetznercloud/terraform-provider-hcloud/graph/badge.svg?token=og7OhpoV5W)](https://codecov.io/gh/hetznercloud/terraform-provider-hcloud/tree/main) + +- Documentation: https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs + +## Requirements + +- [Terraform](https://developer.hashicorp.com/terraform/install) or [OpenTofu](https://opentofu.org/docs/intro/install/) + - Our provider tests run with Terraform or OpenTofu releases that are supported upstream. + - Our provider should work with any tool that supports the [terraform plugin protocol version 6](https://developer.hashicorp.com/terraform/plugin/terraform-plugin-protocol#protocol-version-6). +- [Go](https://go.dev/doc/install) (to build the provider plugin) + +## Development + +### API Stability + +This Go module implements a Terraform Provider for Hetzner Cloud +Services. We thus guarantee backwards compatibility only for use through +Terraform HCL. The actual _Go code_ in this repository _may change +without a major version increase_. + +Currently, the code is mostly located in the `hcloud` package. In the +long term we want to move most of the `hcloud` package into individual +sub-packages located in the `internal` directory. The goal is a +structure similar to HashiCorp's [Terraform Provider +Scaffolding](https://github.com/hashicorp/terraform-provider-scaffolding) + +### Using the provider + +If you are building the provider, follow the instructions to [install it as a plugin](https://www.terraform.io/docs/plugins/basics.html#installing-a-plugin). After placing it into your plugins directory, run `terraform init` to initialize it. + +### Building the provider + +Clone repository to: `$GOPATH/src/github.com/hetznercloud/terraform-provider-hcloud` + +```sh +$ mkdir -p $GOPATH/src/github.com/hetznercloud; cd $GOPATH/src/github.com/hetznercloud +$ git clone https://github.com/hetznercloud/terraform-provider-hcloud.git +``` + +Enter the provider directory and build the provider + +```sh +$ cd $GOPATH/src/github.com/hetznercloud/terraform-provider-hcloud +$ make build +``` + +### Developing the provider + +If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (version 1.14+ is _required_). You'll also need to correctly setup a [GOPATH](http://golang.org/doc/code.html#GOPATH), as well as adding `$GOPATH/bin` to your `$PATH`. + +To compile the provider, run `make build`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory. + +```sh +$ make build +... +$ ./bin/terraform-provider-hcloud +... +``` + +In order to test the provider, you can simply run `make test`. + +```sh +$ make test +``` + +In order to run the full suite of Acceptance tests run `make testacc`. + +_Note:_ Acceptance tests create real resources, and often cost money to run. + +``` +$ make testacc +``` + +You may save your acceptance tests environment variables in the `.env` file, for example: + +```sh +$ cat .env +HCLOUD_TOKEN=YOUR_API_TEST_TOKEN +#TF_ACC=1 +TF_LOG=DEBUG +TF_LOG_PATH_MASK=test-%s.log + +$ go test -v -timeout=30m -parallel=8 ./internal/server +=== RUN TestAccHcloudDataSourceServerTest +# ... +``` + +### Running a local build + +Choose a terraform cli config file path: + +```sh +export TF_CLI_CONFIG_FILE="terraform.tfrc" +``` + +In the terraform cli config file, override the lookup path for the `hetznercloud/hcloud` provider to use the local build: + +```sh +cat <"$TF_CLI_CONFIG_FILE" +provider_installation { + dev_overrides { + "hetznercloud/hcloud" = "$PWD" + } + + direct {} +} +EOF +``` + +Build the provider, resulting in a `terraform-provider-hcloud` binary: + +```sh +make build +``` + +Finally, run your terraform plan to see if it works: + +```sh +tofu plan +``` + +You should see the following warning: + +``` +╷ +│ Warning: Provider development overrides are in effect +│ +│ The following provider development overrides are set in the CLI configuration: +│ - hetznercloud/hcloud in /home/user/code/github.com/hetznercloud/terraform-provider-hcloud +│ +│ The behavior may therefore not match any released version of the provider and applying changes may cause the state to become incompatible with published releases. +╵ +``` + +### Releasing experimental features + +To publish experimental features as part of regular releases: + +- an announcement, including a link to a changelog entry, must be added to the release notes. + +- an `Experimental` notice, must be added to the experimental resource, datasource, and functions descriptions: + + ```go + func (r *Resource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema.MarkdownDescription = ` + Manage a Hetzner Cloud Product. + + See https://docs.hetzner.cloud/reference/cloud#product for more details. + ` + experimental.Product.AppendNotice(&resp.Schema.MarkdownDescription) + } + ``` + +- a `Experimental` warning must be logged when experimental resource, datasource, or functions are being used: + + ```go + func (r *Resource) Configure(_ context.Context, _ resource.ConfigureRequest, resp *resource.ConfigureResponse) { + experimental.Product.AppendDiagnostic(&resp.Diagnostics) + } + ``` + +### Deprecating attributes + +When deprecating an attributes: + +1. Mark the attribute in the schema as deprecated (for SDKv2, the docs template may also need updating), in the message explain the deprecation and link to changelog, for example: + + ```go + func Resource() *schema.Resource { + return &schema.Resource{ + // ... + Schema: map[string]*schema.Schema{ + "datacenter": { + // ... + Deprecated: "The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.", + // ... + }, + }, + } + } + ``` + +2. - For inputs: Implement backwards-compatible behaviour if possible + - For output: Keep writing the attribute for as long as it is returned from the API. Once it is no longer + returned the code should return the user config/previous state if available, or `""` (SDKv2) / `null` (Plugin Framework). + +3. In the resource and datasource docs, add a `## Deprecations` section with a subsection for this field, explaining the behaviour and urging users to upgrade to a compatible version, for example: + + ```md + ### `datacenter` attribute + + The `datacenter` attribute is deprecated, use the `ABC` attribute instead. + + See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details. + + -> Please upgrade to `v1.W.0+` of the provider to avoid issues once the Hetzner Cloud API no longer returns the `XYZ` attribute. + ``` + +4. Highlight the deprecation in the Release Notes. diff --git a/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/terraform-provider-hcloud_v1.60.0 b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/terraform-provider-hcloud_v1.60.0 new file mode 100755 index 0000000..740db4d Binary files /dev/null and b/.terraform/providers/registry.terraform.io/hetznercloud/hcloud/1.60.0/darwin_arm64/terraform-provider-hcloud_v1.60.0 differ diff --git a/.terraform/terraform.tfstate b/.terraform/terraform.tfstate new file mode 100644 index 0000000..fa33e96 --- /dev/null +++ b/.terraform/terraform.tfstate @@ -0,0 +1,52 @@ +{ + "version": 3, + "serial": 1, + "lineage": "0290e863-8866-b524-28c7-502a72ae5e86", + "backend": { + "type": "s3", + "config": { + "access_key": "SCWFZWV16A7VNQH9EWH7", + "acl": null, + "assume_role_duration_seconds": null, + "assume_role_policy": null, + "assume_role_policy_arns": null, + "assume_role_tags": null, + "assume_role_transitive_tag_keys": null, + "bucket": "hetzner-terraform-state", + "dynamodb_endpoint": null, + "dynamodb_table": null, + "encrypt": null, + "endpoint": "https://s3.fr-par.scw.cloud", + "external_id": null, + "force_path_style": true, + "iam_endpoint": null, + "key": "hetzner/terraform.tfstate", + "kms_key_id": null, + "max_retries": null, + "profile": null, + "region": "fr-par", + "role_arn": null, + "secret_key": "d77f9fae-be4f-421f-a417-1bf8acc5af91", + "session_name": null, + "shared_credentials_file": null, + "skip_credentials_validation": true, + "skip_metadata_api_check": true, + "skip_region_validation": true, + "sse_customer_key": null, + "sts_endpoint": null, + "token": null, + "workspace_key_prefix": "" + }, + "hash": 893988343 + }, + "modules": [ + { + "path": [ + "root" + ], + "outputs": {}, + "resources": {}, + "depends_on": [] + } + ] +} diff --git a/data.tf b/data.tf index 0408598..c5e36b5 100644 --- a/data.tf +++ b/data.tf @@ -18,4 +18,4 @@ data "hcloud_server_type" "selected" { data "hcloud_location" "selected" { name = var.location -} \ No newline at end of file +} diff --git a/terraform.tfvars.example b/terraform.tfvars.example index a226121..3601e3c 100644 --- a/terraform.tfvars.example +++ b/terraform.tfvars.example @@ -5,5 +5,4 @@ image = "ubuntu-24.04" location = "nbg1" ssh_public_key = "__SSH_KEY__" ssh_key_name = "mrmbp" -existing_firewall_name = "my-existing-firewall"