From a31e812ba642729c2f465975d0969c9be833118e Mon Sep 17 00:00:00 2001 From: Todd Stansell Date: Fri, 3 Dec 2021 00:37:19 -0800 Subject: [PATCH 1/6] fix import of cloudflare_split_tunnel --- cloudflare/resource_cloudflare_split_tunnel.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cloudflare/resource_cloudflare_split_tunnel.go b/cloudflare/resource_cloudflare_split_tunnel.go index 4ae8572b74..134b40d260 100644 --- a/cloudflare/resource_cloudflare_split_tunnel.go +++ b/cloudflare/resource_cloudflare_split_tunnel.go @@ -75,8 +75,13 @@ func resourceCloudflareSplitTunnelDelete(d *schema.ResourceData, meta interface{ } func resourceCloudflareSplitTunnelImport(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) { - accountID := d.Get("account_id").(string) - mode := d.Get("mode").(string) + attributes := strings.SplitN(d.Id(), "/", 2) + + if len(attributes) != 2 { + return nil, fmt.Errorf("invalid id (\"%s\") specified, should be in format \"accountID/mode\"", d.Id()) + } + + accountID, mode := attributes[0], attributes[1] d.Set("mode", mode) d.Set("account_id", accountID) From 21807aaa0f1615459e20f3e4cc01383a2aa0bd27 Mon Sep 17 00:00:00 2001 From: Todd Stansell Date: Fri, 3 Dec 2021 01:06:16 -0800 Subject: [PATCH 2/6] fix docs --- website/docs/r/split_tunnel.html.markdown | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/docs/r/split_tunnel.html.markdown b/website/docs/r/split_tunnel.html.markdown index 18f1ebdf11..a73bf559aa 100644 --- a/website/docs/r/split_tunnel.html.markdown +++ b/website/docs/r/split_tunnel.html.markdown @@ -3,13 +3,14 @@ layout: "cloudflare" page_title: "Cloudflare: cloudflare_split_tunnel" sidebar_current: "docs-cloudflare-resource-split-tunnel" description: |- - Provides a Cloudflare Split Tunnel Exclude resource. + Provides a Cloudflare Split Tunnel resource. --- # cloudflare_split_tunnel Provides a Cloudflare Split Tunnel resource. Split tunnels are used to either -include or exclude lists of routes from the WARP client's tunnel. +include or exclude lists of routes from the WARP client's tunnel. A +single resource should be used choosing either the `include` or `exclude` mode. ## Example Usage @@ -40,6 +41,7 @@ resource "cloudflare_split_tunnel" "example_split_tunnel_include" { The following arguments are supported: - `account_id` - (Required) The account to which the device posture rule should be added. +- `mode` - (Required) The split tunnel mode. Valid values are `include` or `exclude`. - `tunnels` - (Required) The value of the tunnel attributes (refer to the [nested schema](#nestedblock--tunnels)). @@ -51,8 +53,8 @@ The following arguments are supported: ## Import -Split Tunnels can be imported using the account identifer. +Split Tunnels can be imported using the account identifer and mode. ``` -$ terraform import cloudflare_split_tunnel.example 1d5fdc9e88c8a8c4518b068cd94331fe +$ terraform import cloudflare_split_tunnel.example 1d5fdc9e88c8a8c4518b068cd94331fe/exclude ``` From d6cb391c8166de02f89688e3bd0fdd6cff56c5e0 Mon Sep 17 00:00:00 2001 From: Todd Stansell Date: Fri, 3 Dec 2021 01:09:15 -0800 Subject: [PATCH 3/6] update changelog with bugfix --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b91ad1cafd..c31972005c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ BUG FIXES: * resource/cloudflare_argo: call `Read` for `Import` operations ([#1295](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1295)) * resource/cloudflare_argo_tunnel: update CNAME to use `cfargotunnel.com` ([#1293](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1293)) * resource/cloudflare_origin_ca_certificate: reintroduce `DiffSuppressFunc` for `requested_validity` changes to handle all schema/SDK combinations ([#1289](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1289)) +* resource/cloudflare_split_tunnel: fix importing ([#1313](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1313)) ## 3.4.0 (November 1st, 2021) From a08a19fa67ee4f981e1cdb0892989d9f1deca853 Mon Sep 17 00:00:00 2001 From: Todd Stansell Date: Fri, 3 Dec 2021 01:23:02 -0800 Subject: [PATCH 4/6] fix changelog to proper format --- .changelog/1313.txt | 3 +++ CHANGELOG.md | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .changelog/1313.txt diff --git a/.changelog/1313.txt b/.changelog/1313.txt new file mode 100644 index 0000000000..a6dd954d03 --- /dev/null +++ b/.changelog/1313.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/cloudflare_split_tunnel: import now works by specifying accountId/mode +``` diff --git a/CHANGELOG.md b/CHANGELOG.md index c31972005c..b91ad1cafd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,6 @@ BUG FIXES: * resource/cloudflare_argo: call `Read` for `Import` operations ([#1295](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1295)) * resource/cloudflare_argo_tunnel: update CNAME to use `cfargotunnel.com` ([#1293](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1293)) * resource/cloudflare_origin_ca_certificate: reintroduce `DiffSuppressFunc` for `requested_validity` changes to handle all schema/SDK combinations ([#1289](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1289)) -* resource/cloudflare_split_tunnel: fix importing ([#1313](https://github.com/cloudflare/terraform-provider-cloudflare/issues/1313)) ## 3.4.0 (November 1st, 2021) From 44b4e584f37238f5e80379dfc4e1f6d4c83a68c7 Mon Sep 17 00:00:00 2001 From: Jacob Bednarz Date: Sat, 4 Dec 2021 15:20:01 +1100 Subject: [PATCH 5/6] clean up docs --- website/docs/r/split_tunnel.html.markdown | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/docs/r/split_tunnel.html.markdown b/website/docs/r/split_tunnel.html.markdown index a73bf559aa..e0fe2abd7c 100644 --- a/website/docs/r/split_tunnel.html.markdown +++ b/website/docs/r/split_tunnel.html.markdown @@ -9,8 +9,7 @@ description: |- # cloudflare_split_tunnel Provides a Cloudflare Split Tunnel resource. Split tunnels are used to either -include or exclude lists of routes from the WARP client's tunnel. A -single resource should be used choosing either the `include` or `exclude` mode. +include or exclude lists of routes from the WARP client's tunnel. ## Example Usage @@ -41,7 +40,7 @@ resource "cloudflare_split_tunnel" "example_split_tunnel_include" { The following arguments are supported: - `account_id` - (Required) The account to which the device posture rule should be added. -- `mode` - (Required) The split tunnel mode. Valid values are `include` or `exclude`. +- `mode` - (Required) The split tunnel mode. Valid values are `include` or `exclude`. - `tunnels` - (Required) The value of the tunnel attributes (refer to the [nested schema](#nestedblock--tunnels)). From 9026f43acc5dd67f80e122d4e5fb8f8c7003da03 Mon Sep 17 00:00:00 2001 From: Todd Stansell Date: Fri, 3 Dec 2021 22:19:06 -0800 Subject: [PATCH 6/6] need to import strings too --- cloudflare/resource_cloudflare_split_tunnel.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cloudflare/resource_cloudflare_split_tunnel.go b/cloudflare/resource_cloudflare_split_tunnel.go index 134b40d260..21dc0c417c 100644 --- a/cloudflare/resource_cloudflare_split_tunnel.go +++ b/cloudflare/resource_cloudflare_split_tunnel.go @@ -3,6 +3,7 @@ package cloudflare import ( "context" "fmt" + "strings" cloudflare "github.com/cloudflare/cloudflare-go" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"