From 975f66f2eebe9dadba04f275774d4ab83f74cf25 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 14:04:41 +0200 Subject: Adding upstream version 7.7.0+dfsg. Signed-off-by: Daniel Baumann --- .../hetzner/hcloud/.azure-pipelines/README.md | 3 + .../hcloud/.azure-pipelines/azure-pipelines.yml | 147 ++ .../.azure-pipelines/scripts/aggregate-coverage.sh | 20 + .../.azure-pipelines/scripts/combine-coverage.py | 60 + .../.azure-pipelines/scripts/process-results.sh | 24 + .../.azure-pipelines/scripts/publish-codecov.sh | 27 + .../.azure-pipelines/scripts/report-coverage.sh | 15 + .../hcloud/.azure-pipelines/scripts/run-tests.sh | 34 + .../.azure-pipelines/scripts/time-command.py | 25 + .../hcloud/.azure-pipelines/templates/coverage.yml | 39 + .../hcloud/.azure-pipelines/templates/matrix.yml | 55 + .../hcloud/.azure-pipelines/templates/test.yml | 45 + .../workflows/check-changelog-fragments.yml | 20 + ansible_collections/hetzner/hcloud/.gitignore | 389 ++++ ansible_collections/hetzner/hcloud/.gitlab-ci.yml | 34 + ansible_collections/hetzner/hcloud/CHANGELOG.rst | 289 +++ ansible_collections/hetzner/hcloud/COPYING | 675 ++++++ ansible_collections/hetzner/hcloud/FILES.json | 2441 ++++++++++++++++++++ ansible_collections/hetzner/hcloud/MANIFEST.json | 36 + ansible_collections/hetzner/hcloud/README.md | 62 + .../hetzner/hcloud/changelogs/.gitignore | 1 + .../hetzner/hcloud/changelogs/changelog.yaml | 275 +++ .../hetzner/hcloud/changelogs/config.yaml | 28 + .../hetzner/hcloud/changelogs/fragments/.keep | 0 .../hetzner/hcloud/meta/runtime.yml | 35 + .../hcloud/plugins/doc_fragments/__init__.py | 0 .../hetzner/hcloud/plugins/doc_fragments/hcloud.py | 29 + .../hetzner/hcloud/plugins/inventory/__init__.py | 0 .../hetzner/hcloud/plugins/inventory/hcloud.py | 351 +++ .../hcloud/plugins/module_utils/__init__.py | 0 .../hetzner/hcloud/plugins/module_utils/hcloud.py | 63 + .../hetzner/hcloud/plugins/modules/__init__.py | 0 .../hcloud/plugins/modules/hcloud_certificate.py | 291 +++ .../plugins/modules/hcloud_certificate_info.py | 162 ++ .../plugins/modules/hcloud_datacenter_facts.py | 160 ++ .../plugins/modules/hcloud_datacenter_info.py | 160 ++ .../hcloud/plugins/modules/hcloud_firewall.py | 359 +++ .../hcloud/plugins/modules/hcloud_floating_ip.py | 355 +++ .../plugins/modules/hcloud_floating_ip_facts.py | 185 ++ .../plugins/modules/hcloud_floating_ip_info.py | 185 ++ .../hcloud/plugins/modules/hcloud_image_facts.py | 219 ++ .../hcloud/plugins/modules/hcloud_image_info.py | 219 ++ .../hcloud/plugins/modules/hcloud_load_balancer.py | 318 +++ .../plugins/modules/hcloud_load_balancer_info.py | 398 ++++ .../modules/hcloud_load_balancer_network.py | 209 ++ .../modules/hcloud_load_balancer_service.py | 620 +++++ .../plugins/modules/hcloud_load_balancer_target.py | 321 +++ .../modules/hcloud_load_balancer_type_info.py | 158 ++ .../plugins/modules/hcloud_location_facts.py | 159 ++ .../hcloud/plugins/modules/hcloud_location_info.py | 159 ++ .../hcloud/plugins/modules/hcloud_network.py | 243 ++ .../hcloud/plugins/modules/hcloud_network_info.py | 293 +++ .../plugins/modules/hcloud_placement_group.py | 230 ++ .../hcloud/plugins/modules/hcloud_primary_ip.py | 271 +++ .../hetzner/hcloud/plugins/modules/hcloud_rdns.py | 360 +++ .../hetzner/hcloud/plugins/modules/hcloud_route.py | 196 ++ .../hcloud/plugins/modules/hcloud_server.py | 928 ++++++++ .../hcloud/plugins/modules/hcloud_server_facts.py | 244 ++ .../hcloud/plugins/modules/hcloud_server_info.py | 244 ++ .../plugins/modules/hcloud_server_network.py | 246 ++ .../plugins/modules/hcloud_server_type_facts.py | 183 ++ .../plugins/modules/hcloud_server_type_info.py | 183 ++ .../hcloud/plugins/modules/hcloud_ssh_key.py | 243 ++ .../hcloud/plugins/modules/hcloud_ssh_key_facts.py | 169 ++ .../hcloud/plugins/modules/hcloud_ssh_key_info.py | 169 ++ .../hcloud/plugins/modules/hcloud_subnetwork.py | 247 ++ .../hcloud/plugins/modules/hcloud_volume.py | 340 +++ .../hcloud/plugins/modules/hcloud_volume_facts.py | 186 ++ .../hcloud/plugins/modules/hcloud_volume_info.py | 186 ++ .../hetzner/hcloud/tests/.gitignore | 1 + .../hcloud/tests/integration/constraints.txt | 1 + .../hcloud/tests/integration/requirements.txt | 2 + .../integration/targets/hcloud_certificate/aliases | 2 + .../targets/hcloud_certificate/defaults/main.yml | 6 + .../targets/hcloud_certificate/meta/main.yml | 5 + .../targets/hcloud_certificate/tasks/main.yml | 155 ++ .../targets/hcloud_certificate_info/aliases | 2 + .../hcloud_certificate_info/defaults/main.yml | 5 + .../targets/hcloud_certificate_info/meta/main.yml | 4 + .../targets/hcloud_certificate_info/tasks/main.yml | 66 + .../targets/hcloud_datacenter_info/aliases | 2 + .../hcloud_datacenter_info/defaults/main.yml | 6 + .../targets/hcloud_datacenter_info/meta/main.yml | 3 + .../targets/hcloud_datacenter_info/tasks/main.yml | 39 + .../integration/targets/hcloud_firewall/aliases | 2 + .../targets/hcloud_firewall/defaults/main.yml | 5 + .../targets/hcloud_firewall/meta/main.yml | 3 + .../targets/hcloud_firewall/tasks/main.yml | 210 ++ .../integration/targets/hcloud_floating_ip/aliases | 2 + .../targets/hcloud_floating_ip/defaults/main.yml | 6 + .../targets/hcloud_floating_ip/meta/main.yml | 3 + .../targets/hcloud_floating_ip/tasks/main.yml | 470 ++++ .../targets/hcloud_floating_ip_info/aliases | 2 + .../hcloud_floating_ip_info/defaults/main.yml | 5 + .../targets/hcloud_floating_ip_info/meta/main.yml | 3 + .../targets/hcloud_floating_ip_info/tasks/main.yml | 87 + .../integration/targets/hcloud_image_info/aliases | 2 + .../targets/hcloud_image_info/defaults/main.yml | 7 + .../targets/hcloud_image_info/meta/main.yml | 3 + .../targets/hcloud_image_info/tasks/main.yml | 93 + .../targets/hcloud_load_balancer/aliases | 2 + .../targets/hcloud_load_balancer/defaults/main.yml | 5 + .../targets/hcloud_load_balancer/meta/main.yml | 3 + .../targets/hcloud_load_balancer/tasks/main.yml | 247 ++ .../targets/hcloud_load_balancer_info/aliases | 2 + .../hcloud_load_balancer_info/defaults/main.yml | 6 + .../hcloud_load_balancer_info/meta/main.yml | 3 + .../hcloud_load_balancer_info/tasks/main.yml | 128 + .../targets/hcloud_load_balancer_network/aliases | 2 + .../hcloud_load_balancer_network/defaults/main.yml | 6 + .../hcloud_load_balancer_network/meta/main.yml | 3 + .../hcloud_load_balancer_network/tasks/main.yml | 181 ++ .../targets/hcloud_load_balancer_service/aliases | 2 + .../hcloud_load_balancer_service/defaults/main.yml | 5 + .../hcloud_load_balancer_service/meta/main.yml | 3 + .../hcloud_load_balancer_service/tasks/main.yml | 126 + .../targets/hcloud_load_balancer_target/aliases | 2 + .../hcloud_load_balancer_target/defaults/main.yml | 7 + .../hcloud_load_balancer_target/meta/main.yml | 3 + .../hcloud_load_balancer_target/tasks/main.yml | 154 ++ .../targets/hcloud_load_balancer_type_info/aliases | 2 + .../defaults/main.yml | 5 + .../hcloud_load_balancer_type_info/meta/main.yml | 3 + .../hcloud_load_balancer_type_info/tasks/main.yml | 38 + .../targets/hcloud_location_info/aliases | 2 + .../targets/hcloud_location_info/defaults/main.yml | 5 + .../targets/hcloud_location_info/meta/main.yml | 3 + .../targets/hcloud_location_info/tasks/main.yml | 57 + .../integration/targets/hcloud_network/aliases | 3 + .../targets/hcloud_network/defaults/main.yml | 5 + .../targets/hcloud_network/meta/main.yml | 3 + .../targets/hcloud_network/tasks/main.yml | 215 ++ .../targets/hcloud_network_info/aliases | 2 + .../targets/hcloud_network_info/defaults/main.yml | 5 + .../targets/hcloud_network_info/meta/main.yml | 3 + .../targets/hcloud_network_info/tasks/main.yml | 117 + .../targets/hcloud_placement_group/aliases | 2 + .../hcloud_placement_group/defaults/main.yml | 6 + .../targets/hcloud_placement_group/meta/main.yml | 3 + .../targets/hcloud_placement_group/tasks/main.yml | 169 ++ .../integration/targets/hcloud_primary_ip/aliases | 2 + .../targets/hcloud_primary_ip/defaults/main.yml | 6 + .../targets/hcloud_primary_ip/meta/main.yml | 3 + .../targets/hcloud_primary_ip/tasks/main.yml | 243 ++ .../tests/integration/targets/hcloud_rdns/aliases | 2 + .../targets/hcloud_rdns/defaults/main.yml | 8 + .../integration/targets/hcloud_rdns/meta/main.yml | 3 + .../integration/targets/hcloud_rdns/tasks/main.yml | 224 ++ .../tests/integration/targets/hcloud_route/aliases | 2 + .../targets/hcloud_route/defaults/main.yml | 5 + .../integration/targets/hcloud_route/meta/main.yml | 3 + .../targets/hcloud_route/tasks/main.yml | 99 + .../integration/targets/hcloud_server/aliases | 2 + .../targets/hcloud_server/defaults/main.yml | 8 + .../targets/hcloud_server/meta/main.yml | 3 + .../targets/hcloud_server/tasks/basic.yml | 615 +++++ .../targets/hcloud_server/tasks/firewalls.yml | 105 + .../targets/hcloud_server/tasks/main.yml | 8 + .../targets/hcloud_server/tasks/primary_ips.yml | 82 + .../hcloud_server/tasks/private_network_only.yml | 135 ++ .../targets/hcloud_server/tasks/validation.yml | 51 + .../integration/targets/hcloud_server_info/aliases | 2 + .../targets/hcloud_server_info/defaults/main.yml | 5 + .../targets/hcloud_server_info/meta/main.yml | 3 + .../targets/hcloud_server_info/tasks/main.yml | 128 + .../targets/hcloud_server_network/aliases | 3 + .../hcloud_server_network/defaults/main.yml | 6 + .../targets/hcloud_server_network/meta/main.yml | 3 + .../targets/hcloud_server_network/tasks/main.yml | 222 ++ .../targets/hcloud_server_type_info/aliases | 2 + .../hcloud_server_type_info/defaults/main.yml | 5 + .../targets/hcloud_server_type_info/meta/main.yml | 3 + .../targets/hcloud_server_type_info/tasks/main.yml | 38 + .../integration/targets/hcloud_ssh_key/aliases | 2 + .../targets/hcloud_ssh_key/defaults/main.yml | 11 + .../targets/hcloud_ssh_key/meta/main.yml | 5 + .../targets/hcloud_ssh_key/tasks/main.yml | 156 ++ .../targets/hcloud_ssh_key_info/aliases | 2 + .../targets/hcloud_ssh_key_info/defaults/main.yml | 5 + .../targets/hcloud_ssh_key_info/meta/main.yml | 5 + .../targets/hcloud_ssh_key_info/tasks/main.yml | 68 + .../integration/targets/hcloud_subnetwork/aliases | 2 + .../targets/hcloud_subnetwork/defaults/main.yml | 6 + .../targets/hcloud_subnetwork/meta/main.yml | 3 + .../targets/hcloud_subnetwork/tasks/main.yml | 125 + .../integration/targets/hcloud_volume/aliases | 2 + .../targets/hcloud_volume/defaults/main.yml | 6 + .../targets/hcloud_volume/meta/main.yml | 3 + .../targets/hcloud_volume/tasks/main.yml | 289 +++ .../integration/targets/hcloud_volume_info/aliases | 2 + .../targets/hcloud_volume_info/defaults/main.yml | 5 + .../targets/hcloud_volume_info/meta/main.yml | 3 + .../targets/hcloud_volume_info/tasks/main.yml | 101 + .../setup_selfsigned_certificate/tasks/main.yml | 27 + .../targets/setup_sshkey/tasks/main.yml | 55 + .../hetzner/hcloud/tests/requirements.yml | 3 + .../hetzner/hcloud/tests/sanity/ignore-2.12.txt | 2 + .../hetzner/hcloud/tests/sanity/ignore-2.13.txt | 2 + .../hetzner/hcloud/tests/sanity/ignore-2.14.txt | 2 + .../hetzner/hcloud/tests/sanity/ignore-2.15.txt | 2 + .../hetzner/hcloud/tests/utils/gitlab/gitlab.sh | 99 + .../hcloud/tests/utils/gitlab/integration.sh | 20 + .../hetzner/hcloud/tests/utils/gitlab/sanity.sh | 47 + .../hcloud/tests/utils/shippable/check_matrix.py | 120 + .../hetzner/hcloud/tests/utils/shippable/hcloud.sh | 34 + .../hetzner/hcloud/tests/utils/shippable/sanity.sh | 27 + .../hcloud/tests/utils/shippable/shippable.sh | 213 ++ .../hetzner/hcloud/tests/utils/shippable/timing.py | 16 + .../hetzner/hcloud/tests/utils/shippable/timing.sh | 5 + 209 files changed, 21264 insertions(+) create mode 100644 ansible_collections/hetzner/hcloud/.azure-pipelines/README.md create mode 100644 ansible_collections/hetzner/hcloud/.azure-pipelines/azure-pipelines.yml create mode 100755 ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/aggregate-coverage.sh create mode 100755 ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/combine-coverage.py create mode 100755 ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/process-results.sh create mode 100755 ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/publish-codecov.sh create mode 100755 ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/report-coverage.sh create mode 100755 ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/run-tests.sh create mode 100755 ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/time-command.py create mode 100644 ansible_collections/hetzner/hcloud/.azure-pipelines/templates/coverage.yml create mode 100644 ansible_collections/hetzner/hcloud/.azure-pipelines/templates/matrix.yml create mode 100644 ansible_collections/hetzner/hcloud/.azure-pipelines/templates/test.yml create mode 100644 ansible_collections/hetzner/hcloud/.github/workflows/check-changelog-fragments.yml create mode 100644 ansible_collections/hetzner/hcloud/.gitignore create mode 100644 ansible_collections/hetzner/hcloud/.gitlab-ci.yml create mode 100644 ansible_collections/hetzner/hcloud/CHANGELOG.rst create mode 100644 ansible_collections/hetzner/hcloud/COPYING create mode 100644 ansible_collections/hetzner/hcloud/FILES.json create mode 100644 ansible_collections/hetzner/hcloud/MANIFEST.json create mode 100644 ansible_collections/hetzner/hcloud/README.md create mode 100644 ansible_collections/hetzner/hcloud/changelogs/.gitignore create mode 100644 ansible_collections/hetzner/hcloud/changelogs/changelog.yaml create mode 100644 ansible_collections/hetzner/hcloud/changelogs/config.yaml create mode 100644 ansible_collections/hetzner/hcloud/changelogs/fragments/.keep create mode 100644 ansible_collections/hetzner/hcloud/meta/runtime.yml create mode 100644 ansible_collections/hetzner/hcloud/plugins/doc_fragments/__init__.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/doc_fragments/hcloud.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/inventory/__init__.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/inventory/hcloud.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/module_utils/__init__.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/module_utils/hcloud.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/__init__.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_certificate.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_certificate_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_datacenter_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_datacenter_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_firewall.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_floating_ip.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_floating_ip_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_floating_ip_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_image_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_image_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_load_balancer.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_load_balancer_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_load_balancer_network.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_load_balancer_service.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_load_balancer_target.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_load_balancer_type_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_location_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_location_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_network.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_network_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_placement_group.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_primary_ip.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_rdns.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_route.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server_network.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server_type_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server_type_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_ssh_key.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_ssh_key_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_ssh_key_info.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_subnetwork.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_volume.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_volume_facts.py create mode 100644 ansible_collections/hetzner/hcloud/plugins/modules/hcloud_volume_info.py create mode 100644 ansible_collections/hetzner/hcloud/tests/.gitignore create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/constraints.txt create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/requirements.txt create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_certificate_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_datacenter_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_datacenter_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_datacenter_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_datacenter_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_firewall/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_firewall/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_firewall/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_firewall/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_floating_ip_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_image_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_image_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_image_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_image_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_network/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_network/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_network/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_network/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_service/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_service/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_service/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_service/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_target/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_target/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_target/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_target/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_type_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_type_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_type_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_load_balancer_type_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_location_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_location_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_location_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_location_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_network_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_placement_group/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_placement_group/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_placement_group/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_placement_group/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_primary_ip/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_primary_ip/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_primary_ip/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_primary_ip/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_rdns/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_rdns/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_rdns/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_rdns/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_route/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_route/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_route/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_route/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/tasks/basic.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/tasks/firewalls.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/tasks/primary_ips.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/tasks/private_network_only.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server/tasks/validation.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_network/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_network/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_network/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_network/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_type_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_type_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_type_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_server_type_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_ssh_key_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_subnetwork/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_subnetwork/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_subnetwork/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_subnetwork/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume_info/aliases create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume_info/defaults/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume_info/meta/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/hcloud_volume_info/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/setup_selfsigned_certificate/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/integration/targets/setup_sshkey/tasks/main.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/requirements.yml create mode 100644 ansible_collections/hetzner/hcloud/tests/sanity/ignore-2.12.txt create mode 100644 ansible_collections/hetzner/hcloud/tests/sanity/ignore-2.13.txt create mode 100644 ansible_collections/hetzner/hcloud/tests/sanity/ignore-2.14.txt create mode 100644 ansible_collections/hetzner/hcloud/tests/sanity/ignore-2.15.txt create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/gitlab/gitlab.sh create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/gitlab/integration.sh create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/gitlab/sanity.sh create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/shippable/check_matrix.py create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/shippable/hcloud.sh create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/shippable/sanity.sh create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/shippable/shippable.sh create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/shippable/timing.py create mode 100755 ansible_collections/hetzner/hcloud/tests/utils/shippable/timing.sh (limited to 'ansible_collections/hetzner/hcloud') diff --git a/ansible_collections/hetzner/hcloud/.azure-pipelines/README.md b/ansible_collections/hetzner/hcloud/.azure-pipelines/README.md new file mode 100644 index 000000000..385e70bac --- /dev/null +++ b/ansible_collections/hetzner/hcloud/.azure-pipelines/README.md @@ -0,0 +1,3 @@ +## Azure Pipelines Configuration + +Please see the [Documentation](https://github.com/ansible/community/wiki/Testing:-Azure-Pipelines) for more information. diff --git a/ansible_collections/hetzner/hcloud/.azure-pipelines/azure-pipelines.yml b/ansible_collections/hetzner/hcloud/.azure-pipelines/azure-pipelines.yml new file mode 100644 index 000000000..d55524f27 --- /dev/null +++ b/ansible_collections/hetzner/hcloud/.azure-pipelines/azure-pipelines.yml @@ -0,0 +1,147 @@ +trigger: + batch: true + branches: + include: + - main + +pr: + autoCancel: true + branches: + include: + - main + +schedules: + - cron: 0 9 * * * + displayName: Nightly + always: true + branches: + include: + - main + +variables: + - name: checkoutPath + value: ansible_collections/hetzner/hcloud + - name: coverageBranches + value: main + - name: pipelinesCoverage + value: coverage + - name: entryPoint + value: tests/utils/shippable/shippable.sh + - name: fetchDepth + value: 0 + +resources: + containers: + - container: default + image: quay.io/ansible/azure-pipelines-test-container:3.0.0 + +pool: Standard + +stages: +### Sanity + - stage: Ansible_devel + displayName: Sanity devel + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + targets: + - name: Sanity + test: 'devel/sanity/1' + + - stage: Ansible_2_14 + displayName: Sanity 2.14 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + targets: + - name: Sanity + test: '2.14/sanity/1' + - stage: Ansible_2_13 + displayName: Sanity 2.13 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + targets: + - name: Sanity + test: '2.13/sanity/1' + - stage: Ansible_2_12 + displayName: Sanity 2.12 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + targets: + - name: Sanity + test: '2.12/sanity/1' + + +## Integration tests (remote) + - stage: Hetzner_devel + displayName: Hetzner devel + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + groups: + - 1 + - 2 + targets: + - name: hcloud + test: 'devel/hcloud/3.9' + + - stage: Hetzner_2_14 + displayName: Hetzner 2.14 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + groups: + - 1 + - 2 + targets: + - name: hcloud + test: '2.14/hcloud/3.9' + + - stage: Hetzner_2_13 + displayName: Hetzner 2.13 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + groups: + - 1 + - 2 + targets: + - name: hcloud + test: '2.13/hcloud/3.9' + + - stage: Hetzner_2_12 + displayName: Hetzner 2.12 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + groups: + - 1 + - 2 + targets: + - name: hcloud + test: '2.12/hcloud/3.9' + +### Finally + - stage: Summary + condition: succeededOrFailed() + dependsOn: + - Ansible_devel + - Ansible_2_14 + - Ansible_2_13 + - Ansible_2_12 + - Hetzner_devel + - Hetzner_2_14 + - Hetzner_2_13 + - Hetzner_2_12 + jobs: + - template: templates/coverage.yml diff --git a/ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/aggregate-coverage.sh b/ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/aggregate-coverage.sh new file mode 100755 index 000000000..f3113dd0a --- /dev/null +++ b/ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/aggregate-coverage.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Aggregate code coverage results for later processing. + +set -o pipefail -eu + +agent_temp_directory="$1" + +PATH="${PWD}/bin:${PATH}" + +mkdir "${agent_temp_directory}/coverage/" + +options=(--venv --venv-system-site-packages --color -v) + +ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}" + +if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then + # Only analyze coverage if the installed version of ansible-test supports it. + # Doing so allows this script to work unmodified for multiple Ansible versions. + ansible-test coverage analyze targets generate "${agent_temp_directory}/coverage/coverage-analyze-targets.json" "${options[@]}" +fi diff --git a/ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/combine-coverage.py b/ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/combine-coverage.py new file mode 100755 index 000000000..506ade646 --- /dev/null +++ b/ansible_collections/hetzner/hcloud/.azure-pipelines/scripts/combine-coverage.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +""" +Combine coverage data from multiple jobs, keeping the data only from the most recent attempt from each job. +Coverage artifacts must be named using the format: "Coverage $(System.JobAttempt) {StableUniqueNameForEachJob}" +The recommended coverage artifact name format is: Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName) +Keep in mind that Azure Pipelines does not enforce unique job display names (only names). +It is up to pipeline authors to avoid name collisions when deviating from the recommended format. +""" + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import os +import re +import shutil +import sys + + +def main(): + """Main program entry point.""" + source_directory = sys.argv[1] + + if '/ansible_collections/' in os.getcwd(): + output_path = "tests/output" + else: + output_path = "test/results" + + destination_directory = os.path.join(output_path, 'coverage') + + if not os.path.exists(destination_directory): + os.makedirs(destination_directory) + + jobs = {} + count = 0 + + for name in os.listdir(source_directory): + match = re.search('^Coverage (?P[0-9]+) (?P