summaryrefslogtreecommitdiff
path: root/test/integration/targets/gcp_compute_target_https_proxy
diff options
context:
space:
mode:
authorAlex Stephen <alexstephen@google.com>2018-05-17 13:34:20 -0700
committeransibot <ansibot@users.noreply.github.com>2018-05-17 16:34:20 -0400
commitafdbdd99edd8a3915d838dc22919006dbdd0076e (patch)
tree596d54863641f4ff2cf4d668a1c3a647c3af6e50 /test/integration/targets/gcp_compute_target_https_proxy
parent98a198a777897297ea1890e36df1a485572608ee (diff)
downloadansible-afdbdd99edd8a3915d838dc22919006dbdd0076e.tar.gz
Adding support for GCP Compute Target Https Proxys (#38908)
Diffstat (limited to 'test/integration/targets/gcp_compute_target_https_proxy')
-rw-r--r--test/integration/targets/gcp_compute_target_https_proxy/aliases2
-rw-r--r--test/integration/targets/gcp_compute_target_https_proxy/defaults/main.yml3
-rw-r--r--test/integration/targets/gcp_compute_target_https_proxy/meta/main.yml0
-rw-r--r--test/integration/targets/gcp_compute_target_https_proxy/tasks/main.yml297
4 files changed, 302 insertions, 0 deletions
diff --git a/test/integration/targets/gcp_compute_target_https_proxy/aliases b/test/integration/targets/gcp_compute_target_https_proxy/aliases
new file mode 100644
index 0000000000..9812f019ca
--- /dev/null
+++ b/test/integration/targets/gcp_compute_target_https_proxy/aliases
@@ -0,0 +1,2 @@
+cloud/gcp
+unsupported
diff --git a/test/integration/targets/gcp_compute_target_https_proxy/defaults/main.yml b/test/integration/targets/gcp_compute_target_https_proxy/defaults/main.yml
new file mode 100644
index 0000000000..aa87a2a8e0
--- /dev/null
+++ b/test/integration/targets/gcp_compute_target_https_proxy/defaults/main.yml
@@ -0,0 +1,3 @@
+---
+# defaults file
+resource_name: '{{resource_prefix}}'
diff --git a/test/integration/targets/gcp_compute_target_https_proxy/meta/main.yml b/test/integration/targets/gcp_compute_target_https_proxy/meta/main.yml
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/integration/targets/gcp_compute_target_https_proxy/meta/main.yml
diff --git a/test/integration/targets/gcp_compute_target_https_proxy/tasks/main.yml b/test/integration/targets/gcp_compute_target_https_proxy/tasks/main.yml
new file mode 100644
index 0000000000..3b88d7107e
--- /dev/null
+++ b/test/integration/targets/gcp_compute_target_https_proxy/tasks/main.yml
@@ -0,0 +1,297 @@
+---
+# ----------------------------------------------------------------------------
+#
+# *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
+#
+# ----------------------------------------------------------------------------
+#
+# This file is automatically generated by Magic Modules and manual
+# changes will be clobbered when the file is regenerated.
+#
+# Please read more about how to change this file at
+# https://www.github.com/GoogleCloudPlatform/magic-modules
+#
+# ----------------------------------------------------------------------------
+# Pre-test setup
+- name: create a instance group
+ gcp_compute_instance_group:
+ name: 'instancegroup-targethttpsproxy'
+ zone: 'us-central1-a'
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: present
+ register: instancegroup
+- name: create a http health check
+ gcp_compute_http_health_check:
+ name: 'httphealthcheck-targethttpsproxy'
+ healthy_threshold: 10
+ port: 8080
+ timeout_sec: 2
+ unhealthy_threshold: 5
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: present
+ register: healthcheck
+- name: create a backend service
+ gcp_compute_backend_service:
+ name: 'backendservice-targethttpsproxy'
+ backends:
+ - group: "{{ instancegroup }}"
+ health_checks:
+ - "{{ healthcheck.selfLink }}"
+ enable_cdn: true
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: present
+ register: backendservice
+- name: create a url map
+ gcp_compute_url_map:
+ name: 'urlmap-targethttpsproxy'
+ default_service: "{{ backendservice }}"
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: present
+ register: urlmap
+- name: create a ssl certificate
+ gcp_compute_ssl_certificate:
+ name: 'sslcert-targethttpsproxy'
+ description: |
+ "A certificate for testing. Do not use this certificate in production"
+ certificate: |
+ -----BEGIN CERTIFICATE-----
+ MIICqjCCAk+gAwIBAgIJAIuJ+0352Kq4MAoGCCqGSM49BAMCMIGwMQswCQYDVQQG
+ EwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjERMA8GA1UEBwwIS2lya2xhbmQxFTAT
+ BgNVBAoMDEdvb2dsZSwgSW5jLjEeMBwGA1UECwwVR29vZ2xlIENsb3VkIFBsYXRm
+ b3JtMR8wHQYDVQQDDBZ3d3cubXktc2VjdXJlLXNpdGUuY29tMSEwHwYJKoZIhvcN
+ AQkBFhJuZWxzb25hQGdvb2dsZS5jb20wHhcNMTcwNjI4MDQ1NjI2WhcNMjcwNjI2
+ MDQ1NjI2WjCBsDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xETAP
+ BgNVBAcMCEtpcmtsYW5kMRUwEwYDVQQKDAxHb29nbGUsIEluYy4xHjAcBgNVBAsM
+ FUdvb2dsZSBDbG91ZCBQbGF0Zm9ybTEfMB0GA1UEAwwWd3d3Lm15LXNlY3VyZS1z
+ aXRlLmNvbTEhMB8GCSqGSIb3DQEJARYSbmVsc29uYUBnb29nbGUuY29tMFkwEwYH
+ KoZIzj0CAQYIKoZIzj0DAQcDQgAEHGzpcRJ4XzfBJCCPMQeXQpTXwlblimODQCuQ
+ 4mzkzTv0dXyB750fOGN02HtkpBOZzzvUARTR10JQoSe2/5PIwaNQME4wHQYDVR0O
+ BBYEFKIQC3A2SDpxcdfn0YLKineDNq/BMB8GA1UdIwQYMBaAFKIQC3A2SDpxcdfn
+ 0YLKineDNq/BMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhALs4vy+O
+ M3jcqgA4fSW/oKw6UJxp+M6a+nGMX+UJR3YgAiEAvvl39QRVAiv84hdoCuyON0lJ
+ zqGNhIPGq2ULqXKK8BY=
+ -----END CERTIFICATE-----
+ private_key: |
+ -----BEGIN EC PRIVATE KEY-----
+ MHcCAQEEIObtRo8tkUqoMjeHhsOh2ouPpXCgBcP+EDxZCB/tws15oAoGCCqGSM49
+ AwEHoUQDQgAEHGzpcRJ4XzfBJCCPMQeXQpTXwlblimODQCuQ4mzkzTv0dXyB750f
+ OGN02HtkpBOZzzvUARTR10JQoSe2/5PIwQ==
+ -----END EC PRIVATE KEY-----
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: present
+ register: sslcert
+- name: delete a target https proxy
+ gcp_compute_target_https_proxy:
+ name: "{{ resource_name }}"
+ ssl_certificates:
+ - "{{ sslcert }}"
+ url_map: "{{ urlmap }}"
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+#----------------------------------------------------------
+- name: create a target https proxy
+ gcp_compute_target_https_proxy:
+ name: "{{ resource_name }}"
+ ssl_certificates:
+ - "{{ sslcert }}"
+ url_map: "{{ urlmap }}"
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: present
+ register: result
+- name: assert changed is true
+ assert:
+ that:
+ - result.changed == true
+ - "result.kind == 'compute#targetHttpsProxy'"
+- name: verify that target_https_proxy was created
+ shell: |
+ gcloud compute target-https-proxies describe --project="{{ gcp_project}}" "{{ resource_name }}"
+ register: results
+- name: verify that command succeeded
+ assert:
+ that:
+ - results.rc == 0
+# ----------------------------------------------------------------------------
+- name: create a target https proxy that already exists
+ gcp_compute_target_https_proxy:
+ name: "{{ resource_name }}"
+ ssl_certificates:
+ - "{{ sslcert }}"
+ url_map: "{{ urlmap }}"
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: present
+ register: result
+- name: assert changed is false
+ assert:
+ that:
+ - result.changed == false
+ - "result.kind == 'compute#targetHttpsProxy'"
+#----------------------------------------------------------
+- name: delete a target https proxy
+ gcp_compute_target_https_proxy:
+ name: "{{ resource_name }}"
+ ssl_certificates:
+ - "{{ sslcert }}"
+ url_map: "{{ urlmap }}"
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+ register: result
+- name: assert changed is true
+ assert:
+ that:
+ - result.changed == true
+ - result.has_key('kind') == False
+- name: verify that target_https_proxy was deleted
+ shell: |
+ gcloud compute target-https-proxies describe --project="{{ gcp_project}}" "{{ resource_name }}"
+ register: results
+ failed_when: results.rc == 0
+- name: verify that command succeeded
+ assert:
+ that:
+ - results.rc == 1
+ - "\"'projects/{{ gcp_project }}/global/targetHttpsProxies/{{ resource_name }}' was not found\" in results.stderr"
+# ----------------------------------------------------------------------------
+- name: delete a target https proxy that does not exist
+ gcp_compute_target_https_proxy:
+ name: "{{ resource_name }}"
+ ssl_certificates:
+ - "{{ sslcert }}"
+ url_map: "{{ urlmap }}"
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+ register: result
+- name: assert changed is false
+ assert:
+ that:
+ - result.changed == false
+ - result.has_key('kind') == False
+#---------------------------------------------------------
+# Post-test teardown
+- name: delete a ssl certificate
+ gcp_compute_ssl_certificate:
+ name: 'sslcert-targethttpsproxy'
+ description: |
+ "A certificate for testing. Do not use this certificate in production"
+ certificate: |
+ -----BEGIN CERTIFICATE-----
+ MIICqjCCAk+gAwIBAgIJAIuJ+0352Kq4MAoGCCqGSM49BAMCMIGwMQswCQYDVQQG
+ EwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjERMA8GA1UEBwwIS2lya2xhbmQxFTAT
+ BgNVBAoMDEdvb2dsZSwgSW5jLjEeMBwGA1UECwwVR29vZ2xlIENsb3VkIFBsYXRm
+ b3JtMR8wHQYDVQQDDBZ3d3cubXktc2VjdXJlLXNpdGUuY29tMSEwHwYJKoZIhvcN
+ AQkBFhJuZWxzb25hQGdvb2dsZS5jb20wHhcNMTcwNjI4MDQ1NjI2WhcNMjcwNjI2
+ MDQ1NjI2WjCBsDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xETAP
+ BgNVBAcMCEtpcmtsYW5kMRUwEwYDVQQKDAxHb29nbGUsIEluYy4xHjAcBgNVBAsM
+ FUdvb2dsZSBDbG91ZCBQbGF0Zm9ybTEfMB0GA1UEAwwWd3d3Lm15LXNlY3VyZS1z
+ aXRlLmNvbTEhMB8GCSqGSIb3DQEJARYSbmVsc29uYUBnb29nbGUuY29tMFkwEwYH
+ KoZIzj0CAQYIKoZIzj0DAQcDQgAEHGzpcRJ4XzfBJCCPMQeXQpTXwlblimODQCuQ
+ 4mzkzTv0dXyB750fOGN02HtkpBOZzzvUARTR10JQoSe2/5PIwaNQME4wHQYDVR0O
+ BBYEFKIQC3A2SDpxcdfn0YLKineDNq/BMB8GA1UdIwQYMBaAFKIQC3A2SDpxcdfn
+ 0YLKineDNq/BMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhALs4vy+O
+ M3jcqgA4fSW/oKw6UJxp+M6a+nGMX+UJR3YgAiEAvvl39QRVAiv84hdoCuyON0lJ
+ zqGNhIPGq2ULqXKK8BY=
+ -----END CERTIFICATE-----
+ private_key: |
+ -----BEGIN EC PRIVATE KEY-----
+ MHcCAQEEIObtRo8tkUqoMjeHhsOh2ouPpXCgBcP+EDxZCB/tws15oAoGCCqGSM49
+ AwEHoUQDQgAEHGzpcRJ4XzfBJCCPMQeXQpTXwlblimODQCuQ4mzkzTv0dXyB750f
+ OGN02HtkpBOZzzvUARTR10JQoSe2/5PIwQ==
+ -----END EC PRIVATE KEY-----
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+ register: sslcert
+- name: delete a url map
+ gcp_compute_url_map:
+ name: 'urlmap-targethttpsproxy'
+ default_service: "{{ backendservice }}"
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+ register: urlmap
+- name: delete a backend service
+ gcp_compute_backend_service:
+ name: 'backendservice-targethttpsproxy'
+ backends:
+ - group: "{{ instancegroup }}"
+ health_checks:
+ - "{{ healthcheck.selfLink }}"
+ enable_cdn: true
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+ register: backendservice
+- name: delete a http health check
+ gcp_compute_http_health_check:
+ name: 'httphealthcheck-targethttpsproxy'
+ healthy_threshold: 10
+ port: 8080
+ timeout_sec: 2
+ unhealthy_threshold: 5
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+ register: healthcheck
+- name: delete a instance group
+ gcp_compute_instance_group:
+ name: 'instancegroup-targethttpsproxy'
+ zone: 'us-central1-a'
+ project: "{{ gcp_project }}"
+ auth_kind: "{{ gcp_cred_kind }}"
+ service_account_file: "{{ gcp_cred_file }}"
+ scopes:
+ - https://www.googleapis.com/auth/compute
+ state: absent
+ register: instancegroup