From b2f9cce6296be17d5c7051c610830c77a7cfcbb4 Mon Sep 17 00:00:00 2001 From: Nikolai Mishin Date: Sun, 17 Sep 2023 16:29:27 +0200 Subject: [PATCH 1/8] Improve documentation for authenticated_origin_pulls & authenticated_origin_pulls_certificate --- .changelog/2771.txt | 3 +++ .../cloudflare_authenticated_origin_pulls/import.sh | 6 +++--- .../import.sh | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 .changelog/2771.txt diff --git a/.changelog/2771.txt b/.changelog/2771.txt new file mode 100644 index 0000000000..78b0f4bd01 --- /dev/null +++ b/.changelog/2771.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/cloudflare_authenticated_origin_pulls: Improve documentation for cloudflare_authenticated_origin_pulls and origin_pulls_certificate +``` diff --git a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh index 0c493dfccc..e7c1077858 100644 --- a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh +++ b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh @@ -1,8 +1,8 @@ # Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls_certificate.my_aop // +$ terraform import cloudflare_authenticated_origin_pulls.my_aop // # Per-Zone Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls_certificate.my_per_zone_aop // +$ terraform import cloudflare_authenticated_origin_pulls.my_per_zone_aop // # Per-Hostname Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls_certificate.my_per_hostname_aop // +$ terraform import cloudflare_authenticated_origin_pulls.my_per_hostname_aop // diff --git a/examples/resources/cloudflare_authenticated_origin_pulls_certificate/import.sh b/examples/resources/cloudflare_authenticated_origin_pulls_certificate/import.sh index 4d82f18cd3..946283f062 100644 --- a/examples/resources/cloudflare_authenticated_origin_pulls_certificate/import.sh +++ b/examples/resources/cloudflare_authenticated_origin_pulls_certificate/import.sh @@ -1 +1 @@ -$ terraform import cloudflare_authenticated_origin_pulls_certificate.2458ce5a-0c35-4c7f-82c7-8e9487d3ff60 // +$ terraform import cloudflare_authenticated_origin_pulls_certificate.example // From d44cdfe8ebcd8d693d02c5beb601d4359c66b861 Mon Sep 17 00:00:00 2001 From: Jacob Bednarz Date: Mon, 18 Sep 2023 19:37:17 +1000 Subject: [PATCH 2/8] Update import.sh --- .../resources/cloudflare_authenticated_origin_pulls/import.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh index e7c1077858..3e60c3e7dd 100644 --- a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh +++ b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh @@ -1,5 +1,5 @@ # Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.my_aop // +$ terraform import cloudflare_authenticated_origin_pulls.example # Per-Zone Authenticated Origin Pull configuration $ terraform import cloudflare_authenticated_origin_pulls.my_per_zone_aop // From 4d81f6800763f8bcc069207514796d64ecbdd8c9 Mon Sep 17 00:00:00 2001 From: Jacob Bednarz Date: Mon, 18 Sep 2023 19:37:22 +1000 Subject: [PATCH 3/8] Update import.sh --- .../resources/cloudflare_authenticated_origin_pulls/import.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh index 3e60c3e7dd..090dc086f1 100644 --- a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh +++ b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh @@ -2,7 +2,7 @@ $ terraform import cloudflare_authenticated_origin_pulls.example # Per-Zone Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.my_per_zone_aop // +$ terraform import cloudflare_authenticated_origin_pulls.example / # Per-Hostname Authenticated Origin Pull configuration $ terraform import cloudflare_authenticated_origin_pulls.my_per_hostname_aop // From 0b8b347b3c8316be8dfb89d9457055c4da08d257 Mon Sep 17 00:00:00 2001 From: Jacob Bednarz Date: Mon, 18 Sep 2023 19:37:27 +1000 Subject: [PATCH 4/8] Update import.sh --- .../resources/cloudflare_authenticated_origin_pulls/import.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh index 090dc086f1..915514fdf7 100644 --- a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh +++ b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh @@ -5,4 +5,4 @@ $ terraform import cloudflare_authenticated_origin_pulls.example $ terraform import cloudflare_authenticated_origin_pulls.example / # Per-Hostname Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.my_per_hostname_aop // +$ terraform import cloudflare_authenticated_origin_pulls.example // From 4bcb3c49ad4fe1bce26abe4b9f6be5001127952a Mon Sep 17 00:00:00 2001 From: Nikolai Mishin Date: Mon, 18 Sep 2023 11:54:23 +0200 Subject: [PATCH 5/8] Update import.sh --- .../resources/cloudflare_authenticated_origin_pulls/import.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh index 915514fdf7..47cf9145ec 100644 --- a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh +++ b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh @@ -1,8 +1,8 @@ # Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.example +$ terraform import cloudflare_authenticated_origin_pulls.example // # Per-Zone Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.example / +$ terraform import cloudflare_authenticated_origin_pulls.example // # Per-Hostname Authenticated Origin Pull configuration $ terraform import cloudflare_authenticated_origin_pulls.example // From d959323bc57a45eddcd466130343d01686aeaa50 Mon Sep 17 00:00:00 2001 From: Nikolai Mishin Date: Mon, 18 Sep 2023 11:55:24 +0200 Subject: [PATCH 6/8] Make docs --- docs/data-sources/rulesets.md | 2 ++ docs/resources/access_identity_provider.md | 5 ++++- docs/resources/authenticated_origin_pulls.md | 6 +++--- docs/resources/authenticated_origin_pulls_certificate.md | 2 +- docs/resources/ruleset.md | 2 ++ 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/data-sources/rulesets.md b/docs/data-sources/rulesets.md index 81491ff336..e6cb85b16c 100644 --- a/docs/data-sources/rulesets.md +++ b/docs/data-sources/rulesets.md @@ -109,11 +109,13 @@ Read-Only: - `mirage` (Boolean) - `opportunistic_encryption` (Boolean) - `origin` (List of Object) (see [below for nested schema](#nestedobjatt--rulesets--rules--action_parameters--origin)) +- `origin_cache_control` (Boolean) - `origin_error_page_passthru` (Boolean) - `overrides` (List of Object) (see [below for nested schema](#nestedobjatt--rulesets--rules--action_parameters--overrides)) - `phases` (Set of String) - `polish` (String) - `products` (Set of String) +- `read_timeout` (Number) - `request_fields` (Set of String) - `respect_strong_etags` (Boolean) - `response` (List of Object) (see [below for nested schema](#nestedobjatt--rulesets--rules--action_parameters--response)) diff --git a/docs/resources/access_identity_provider.md b/docs/resources/access_identity_provider.md index c690444909..6d668858e4 100644 --- a/docs/resources/access_identity_provider.md +++ b/docs/resources/access_identity_provider.md @@ -110,13 +110,16 @@ Optional: - `okta_account` (String) - `onelogin_account` (String) - `pkce_enabled` (Boolean) -- `redirect_url` (String) - `scopes` (List of String) - `sign_request` (Boolean) - `sso_target_url` (String) - `support_groups` (Boolean) - `token_url` (String) +Read-Only: + +- `redirect_url` (String) + ### Nested Schema for `scim_config` diff --git a/docs/resources/authenticated_origin_pulls.md b/docs/resources/authenticated_origin_pulls.md index 7cd4e607d8..b937ad5634 100644 --- a/docs/resources/authenticated_origin_pulls.md +++ b/docs/resources/authenticated_origin_pulls.md @@ -74,11 +74,11 @@ Import is supported using the following syntax: ```shell # Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls_certificate.my_aop // +$ terraform import cloudflare_authenticated_origin_pulls.example // # Per-Zone Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls_certificate.my_per_zone_aop // +$ terraform import cloudflare_authenticated_origin_pulls.example // # Per-Hostname Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls_certificate.my_per_hostname_aop // +$ terraform import cloudflare_authenticated_origin_pulls.example // ``` diff --git a/docs/resources/authenticated_origin_pulls_certificate.md b/docs/resources/authenticated_origin_pulls_certificate.md index 82c1465bd9..1eff04c12e 100644 --- a/docs/resources/authenticated_origin_pulls_certificate.md +++ b/docs/resources/authenticated_origin_pulls_certificate.md @@ -68,5 +68,5 @@ Optional: Import is supported using the following syntax: ```shell -$ terraform import cloudflare_authenticated_origin_pulls_certificate.2458ce5a-0c35-4c7f-82c7-8e9487d3ff60 // +$ terraform import cloudflare_authenticated_origin_pulls_certificate.example // ``` diff --git a/docs/resources/ruleset.md b/docs/resources/ruleset.md index 852b59048a..2451ab66da 100644 --- a/docs/resources/ruleset.md +++ b/docs/resources/ruleset.md @@ -508,11 +508,13 @@ Optional: - `mirage` (Boolean) Turn on or off Cloudflare Mirage of the Cloudflare Speed app. - `opportunistic_encryption` (Boolean) Turn on or off the Cloudflare Opportunistic Encryption feature of the Edge Certificates tab in the Cloudflare SSL/TLS app. - `origin` (Block List) List of properties to change request origin. (see [below for nested schema](#nestedblock--rules--action_parameters--origin)) +- `origin_cache_control` (Boolean) Enable or disable the use of a more compliant Cache Control parsing mechanism, enabled by default for most zones. - `origin_error_page_passthru` (Boolean) Pass-through error page for origin. - `overrides` (Block List) List of override configurations to apply to the ruleset. (see [below for nested schema](#nestedblock--rules--action_parameters--overrides)) - `phases` (Set of String) Point in the request/response lifecycle where the ruleset will be created. Available values: `ddos_l4`, `ddos_l7`, `http_config_settings`, `http_custom_errors`, `http_log_custom_fields`, `http_ratelimit`, `http_request_cache_settings`, `http_request_dynamic_redirect`, `http_request_firewall_custom`, `http_request_firewall_managed`, `http_request_late_transform`, `http_request_origin`, `http_request_redirect`, `http_request_sanitize`, `http_request_sbfm`, `http_request_transform`, `http_response_compression`, `http_response_firewall_managed`, `http_response_headers_transform`, `magic_transit`. - `polish` (String) Apply options from the Polish feature of the Cloudflare Speed app. - `products` (Set of String) Products to target with the actions. Available values: `bic`, `hot`, `ratelimit`, `securityLevel`, `uablock`, `waf`, `zonelockdown`. +- `read_timeout` (Number) Specifies a maximum timeout for reading content from an origin server. - `request_fields` (Set of String) List of request headers to include as part of custom fields logging, in lowercase. - `respect_strong_etags` (Boolean) Respect strong ETags. - `response` (Block List) List of parameters that configure the response given to end users. (see [below for nested schema](#nestedblock--rules--action_parameters--response)) From a986981a12d20f23263e3ad4d0c1a9832502d204 Mon Sep 17 00:00:00 2001 From: Nikolai Mishin Date: Tue, 19 Sep 2023 23:32:00 +0200 Subject: [PATCH 7/8] Improve import, update documentation for cloudflare_authenticated_origin_pulls --- .changelog/2771.txt | 2 +- ...e_cloudflare_authenticated_origin_pulls.go | 28 +++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.changelog/2771.txt b/.changelog/2771.txt index 78b0f4bd01..89a9b84b6c 100644 --- a/.changelog/2771.txt +++ b/.changelog/2771.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/cloudflare_authenticated_origin_pulls: Improve documentation for cloudflare_authenticated_origin_pulls and origin_pulls_certificate +resource/cloudflare_authenticated_origin_pulls: Improve import, update documentation ``` diff --git a/internal/sdkv2provider/resource_cloudflare_authenticated_origin_pulls.go b/internal/sdkv2provider/resource_cloudflare_authenticated_origin_pulls.go index 69b7cf9804..5adc00ed8e 100644 --- a/internal/sdkv2provider/resource_cloudflare_authenticated_origin_pulls.go +++ b/internal/sdkv2provider/resource_cloudflare_authenticated_origin_pulls.go @@ -149,24 +149,28 @@ func resourceCloudflareAuthenticatedOriginPullsImport(ctx context.Context, d *sc // split the id so we can lookup idAttr := strings.SplitN(d.Id(), "/", 3) - if len(idAttr) != 3 { - return nil, fmt.Errorf("invalid id (\"%s\") specified, should be in format \"zoneID/certID/hostname\"", d.Id()) - } - zoneID, certID, hostname := idAttr[0], idAttr[1], idAttr[2] - d.Set(consts.ZoneIDSchemaKey, zoneID) - - // Set attributes based on inputs which informs which form of AOP to use + var zoneID string + var certID string + var hostname string var checksum string - if hostname != "" && certID != "" { + + if len(idAttr) == 1 { + zoneID = idAttr[0] + checksum = stringChecksum(fmt.Sprintf("GlobalAOP/%s/", zoneID)) + } else if len(idAttr) == 2 { + zoneID, certID = idAttr[0], idAttr[1] + d.Set("authenticated_origin_pulls_certificate", certID) + checksum = stringChecksum(fmt.Sprintf("PerZoneAOP/%s/%s", zoneID, certID)) + } else if len(idAttr) == 3 { + zoneID, certID, hostname = idAttr[0], idAttr[1], idAttr[2] d.Set("hostname", hostname) d.Set("authenticated_origin_pulls_certificate", certID) checksum = stringChecksum(fmt.Sprintf("PerHostnameAOP/%s/%s/%s", zoneID, hostname, certID)) - } else if certID != "" { - d.Set("authenticated_origin_pulls_certificate", certID) - checksum = stringChecksum(fmt.Sprintf("PerZoneAOP/%s/%s", zoneID, certID)) } else { - checksum = stringChecksum(fmt.Sprintf("GlobalAOP/%s/", zoneID)) + return nil, fmt.Errorf("invalid id (\"%s\") specified, should be maximum 3 id specified for import", d.Id()) } + + d.Set(consts.ZoneIDSchemaKey, zoneID) d.SetId(checksum) resourceCloudflareAuthenticatedOriginPullsRead(ctx, d, meta) return []*schema.ResourceData{d}, nil From df154f86411f7680fadc50cff0fe1198c84dc55d Mon Sep 17 00:00:00 2001 From: Jacob Bednarz Date: Wed, 20 Sep 2023 10:57:56 +1000 Subject: [PATCH 8/8] `make docs` --- docs/resources/authenticated_origin_pulls.md | 10 +++++----- .../cloudflare_authenticated_origin_pulls/import.sh | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/resources/authenticated_origin_pulls.md b/docs/resources/authenticated_origin_pulls.md index b937ad5634..d04b24251a 100644 --- a/docs/resources/authenticated_origin_pulls.md +++ b/docs/resources/authenticated_origin_pulls.md @@ -73,12 +73,12 @@ resource "cloudflare_authenticated_origin_pulls" "my_per_hostname_aop" { Import is supported using the following syntax: ```shell -# Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.example // +# global +$ terraform import cloudflare_authenticated_origin_pulls.example -# Per-Zone Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.example // +# per zone +$ terraform import cloudflare_authenticated_origin_pulls.example / -# Per-Hostname Authenticated Origin Pull configuration +# per hostname $ terraform import cloudflare_authenticated_origin_pulls.example // ``` diff --git a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh index 47cf9145ec..2515b7ca1d 100644 --- a/examples/resources/cloudflare_authenticated_origin_pulls/import.sh +++ b/examples/resources/cloudflare_authenticated_origin_pulls/import.sh @@ -1,8 +1,8 @@ -# Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.example // +# global +$ terraform import cloudflare_authenticated_origin_pulls.example -# Per-Zone Authenticated Origin Pull configuration -$ terraform import cloudflare_authenticated_origin_pulls.example // +# per zone +$ terraform import cloudflare_authenticated_origin_pulls.example / -# Per-Hostname Authenticated Origin Pull configuration +# per hostname $ terraform import cloudflare_authenticated_origin_pulls.example //