From 21e8c526ed1c7bfd3d889daef4efa5069f66a833 Mon Sep 17 00:00:00 2001 From: Michael Christenson II Date: Wed, 28 Feb 2024 12:54:33 -0500 Subject: [PATCH] Feat: Add resource for prompt partials (#918) * Add resource for prompt partials * Added docs for prompt partials * Add cassette for tests * Add comment to public function * Adjust imports for linter * Teardown partials in tests * Go the TF config route * Wait on branding for test dependency * Fix auth0_prompt_partials --------- Co-authored-by: Michael Christenson II Co-authored-by: Sergiu Ghitea <28300158+sergiught@users.noreply.github.com> --- .gitignore | 7 +- CHANGELOG.md | 7 + docs/resources/prompt_partials.md | 55 + .../resources/auth0_prompt_partials/import.sh | 4 + .../auth0_prompt_partials/resource.tf | 10 + go.mod | 8 +- go.sum | 16 +- internal/auth0/prompt/expand.go | 13 + internal/auth0/prompt/flatten.go | 13 + internal/auth0/prompt/resource_partials.go | 116 ++ .../auth0/prompt/resource_partials_test.go | 82 ++ internal/provider/provider.go | 1 + .../recordings/TestAccPromptPartials.yaml | 1081 +++++++++++++++++ 13 files changed, 1400 insertions(+), 13 deletions(-) create mode 100644 docs/resources/prompt_partials.md create mode 100644 examples/resources/auth0_prompt_partials/import.sh create mode 100644 examples/resources/auth0_prompt_partials/resource.tf create mode 100644 internal/auth0/prompt/resource_partials.go create mode 100644 internal/auth0/prompt/resource_partials_test.go create mode 100644 test/data/recordings/TestAccPromptPartials.yaml diff --git a/.gitignore b/.gitignore index 6446d75b0..5123afb16 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,12 @@ override.tf.json *_override.tf *_override.tf.json -# VSCode ### +# Editors ### .vscode/* !.vscode/tasks.json *.code-workspace +.idea + +# Environment +.env +.envrc diff --git a/CHANGELOG.md b/CHANGELOG.md index c302fc34a..4980d5e37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## v1.2.0 + +FEATURES: + +- `resource/auth0_prompt_partials`: Add new resource to manage prompt partials ([#918](https://github.com/auth0/terraform-provider-auth0/pull/918)) + + ## v1.1.2 ENHANCEMENTS: diff --git a/docs/resources/prompt_partials.md b/docs/resources/prompt_partials.md new file mode 100644 index 000000000..271ed16ef --- /dev/null +++ b/docs/resources/prompt_partials.md @@ -0,0 +1,55 @@ +--- +page_title: "Resource: auth0_prompt_partials" +description: |- + With this resource, you can manage a customized sign up and login experience by adding custom content, form elements and css/javascript. You can read more about this here https://auth0.com/docs/customize/universal-login-pages/customize-signup-and-login-prompts. +--- + +# Resource: auth0_prompt_partials + +With this resource, you can manage a customized sign up and login experience by adding custom content, form elements and css/javascript. You can read more about this [here](https://auth0.com/docs/customize/universal-login-pages/customize-signup-and-login-prompts). + +## Example Usage + +```terraform +resource "auth0_prompt_partials" "my_login_prompt_partials" { + prompt = "login" + + form_content_start = "
Updated Form Content Start
" + form_content_end = "
Updated Form Content End
" + form_footer_start = "
Updated Footer Start
" + form_footer_end = "
Updated Footer End
" + secondary_actions_start = "
Updated Secondary Actions Start
" + secondary_actions_end = "
Updated Secondary Actions End
" +} +``` + + +## Schema + +### Required + +- `prompt` (String) The prompt that you are adding partials for. Options are: `login-id`, `login`, `login-password`, `signup`, `signup-id`, `signup-password`. + +### Optional + +- `form_content_end` (String) Content that goes at the end of the form. +- `form_content_start` (String) Content that goes at the start of the form. +- `form_footer_end` (String) Footer content for the end of the footer. +- `form_footer_start` (String) Footer content for the start of the footer. +- `secondary_actions_end` (String) Actions that go at the end of secondary actions. +- `secondary_actions_start` (String) Actions that go at the start of secondary actions. + +### Read-Only + +- `id` (String) The ID of this resource. + +## Import + +Import is supported using the following syntax: + +```shell +# This resource can be imported using the prompt name. +# +# Example: +terraform import auth0_prompt_partials.my_login_prompt_partials "login" +``` diff --git a/examples/resources/auth0_prompt_partials/import.sh b/examples/resources/auth0_prompt_partials/import.sh new file mode 100644 index 000000000..ea487e6e2 --- /dev/null +++ b/examples/resources/auth0_prompt_partials/import.sh @@ -0,0 +1,4 @@ +# This resource can be imported using the prompt name. +# +# Example: +terraform import auth0_prompt_partials.my_login_prompt_partials "login" diff --git a/examples/resources/auth0_prompt_partials/resource.tf b/examples/resources/auth0_prompt_partials/resource.tf new file mode 100644 index 000000000..e1dae319b --- /dev/null +++ b/examples/resources/auth0_prompt_partials/resource.tf @@ -0,0 +1,10 @@ +resource "auth0_prompt_partials" "my_login_prompt_partials" { + prompt = "login" + + form_content_start = "
Updated Form Content Start
" + form_content_end = "
Updated Form Content End
" + form_footer_start = "
Updated Footer Start
" + form_footer_end = "
Updated Footer End
" + secondary_actions_start = "
Updated Secondary Actions Start
" + secondary_actions_end = "
Updated Secondary Actions End
" +} diff --git a/go.mod b/go.mod index 33e0a1589..c4102e671 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/PuerkitoBio/rehttp v1.3.0 - github.com/auth0/go-auth0 v1.4.0 + github.com/auth0/go-auth0 v1.4.1 github.com/google/go-cmp v0.6.0 github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 github.com/hashicorp/go-multierror v1.1.1 @@ -29,7 +29,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/fatih/color v1.16.0 // indirect github.com/golang/protobuf v1.5.3 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/cli v1.1.6 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -73,8 +73,8 @@ require ( golang.org/x/crypto v0.19.0 // indirect golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819 // indirect golang.org/x/mod v0.15.0 // indirect - golang.org/x/net v0.19.0 // indirect - golang.org/x/oauth2 v0.15.0 // indirect + golang.org/x/net v0.21.0 // indirect + golang.org/x/oauth2 v0.17.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect google.golang.org/appengine v1.6.8 // indirect diff --git a/go.sum b/go.sum index 810aa4b82..77e29d69e 100644 --- a/go.sum +++ b/go.sum @@ -21,8 +21,8 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/auth0/go-auth0 v1.4.0 h1:oZL3xIBBPW2ckLQmp6BSqpx5RV5yuqqOEVEPp4cipR4= -github.com/auth0/go-auth0 v1.4.0/go.mod h1:X1o5gVvYUYAQltayD5HrLimFZN9tfZUlJDUh+lz8h9I= +github.com/auth0/go-auth0 v1.4.1 h1:0AWqPCzw4Su38qx5jSxAwwuEBROdrpjsq4t9/GshZE0= +github.com/auth0/go-auth0 v1.4.1/go.mod h1:5EO0p8vRuUgY4a0VPTCDzXbIVMxWn8Jon3aEGQQFOoQ= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0/go.mod h1:6L7zgvqo0idzI7IO8de6ZC051AfXb5ipkIJ7bIA2tGA= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= @@ -66,8 +66,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/cli v1.1.6 h1:CMOV+/LJfL1tXCOKrgAX0uRKnzjj/mpmqNXloRSy2K8= github.com/hashicorp/cli v1.1.6/go.mod h1:MPon5QYlgjjo0BSoAiN0ESeT5fRzDjVRp+uioJ0piz4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -225,10 +225,10 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= +golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/internal/auth0/prompt/expand.go b/internal/auth0/prompt/expand.go index 3857a2169..f420cfe34 100644 --- a/internal/auth0/prompt/expand.go +++ b/internal/auth0/prompt/expand.go @@ -3,6 +3,7 @@ package prompt import ( "github.com/auth0/go-auth0/management" "github.com/hashicorp/go-cty/cty" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/auth0/terraform-provider-auth0/internal/value" ) @@ -20,3 +21,15 @@ func expandPrompt(data cty.Value) *management.Prompt { return &prompt } + +func expandPromptPartials(data *schema.ResourceData) *management.PromptPartials { + return &management.PromptPartials{ + Prompt: management.PromptType(data.Get("prompt").(string)), + FormContentStart: data.Get("form_content_start").(string), + FormContentEnd: data.Get("form_content_end").(string), + FormFooterStart: data.Get("form_footer_start").(string), + FormFooterEnd: data.Get("form_footer_end").(string), + SecondaryActionsStart: data.Get("secondary_actions_start").(string), + SecondaryActionsEnd: data.Get("secondary_actions_end").(string), + } +} diff --git a/internal/auth0/prompt/flatten.go b/internal/auth0/prompt/flatten.go index d7bbf07e8..bfdf00821 100644 --- a/internal/auth0/prompt/flatten.go +++ b/internal/auth0/prompt/flatten.go @@ -20,6 +20,19 @@ func flattenPrompt(data *schema.ResourceData, prompt *management.Prompt) error { return result.ErrorOrNil() } +func flattenPromptPartials(data *schema.ResourceData, promptPartials *management.PromptPartials) error { + result := multierror.Append( + data.Set("form_content_start", promptPartials.FormContentStart), + data.Set("form_content_end", promptPartials.FormContentEnd), + data.Set("form_footer_start", promptPartials.FormFooterStart), + data.Set("form_footer_end", promptPartials.FormFooterEnd), + data.Set("secondary_actions_start", promptPartials.SecondaryActionsStart), + data.Set("secondary_actions_end", promptPartials.SecondaryActionsEnd), + ) + + return result.ErrorOrNil() +} + func flattenPromptCustomText(data *schema.ResourceData, customText map[string]interface{}) error { body, err := marshalCustomTextBody(customText) if err != nil { diff --git a/internal/auth0/prompt/resource_partials.go b/internal/auth0/prompt/resource_partials.go new file mode 100644 index 000000000..818b77615 --- /dev/null +++ b/internal/auth0/prompt/resource_partials.go @@ -0,0 +1,116 @@ +package prompt + +import ( + "context" + "strings" + + "github.com/auth0/go-auth0/management" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" + + "github.com/auth0/terraform-provider-auth0/internal/config" +) + +var allowedPromptsWithPartials = []string{ + string(management.PromptLoginID), + string(management.PromptLogin), + string(management.PromptLoginPassword), + string(management.PromptSignup), + string(management.PromptSignupID), + string(management.PromptSignupPassword), +} + +// NewPartialsResource creates a new resource for partial prompts. +func NewPartialsResource() *schema.Resource { + return &schema.Resource{ + CreateContext: createPromptPartials, + ReadContext: readPromptPartials, + UpdateContext: updatePromptPartials, + DeleteContext: deletePromptPartials, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + Description: "With this resource, you can manage a customized sign up and login experience by adding custom content, form elements and css/javascript. " + + "You can read more about this [here](https://auth0.com/docs/customize/universal-login-pages/customize-signup-and-login-prompts).", + Schema: map[string]*schema.Schema{ + "form_content_start": { + Type: schema.TypeString, + Optional: true, + Description: "Content that goes at the start of the form.", + }, + "form_content_end": { + Type: schema.TypeString, + Optional: true, + Description: "Content that goes at the end of the form.", + }, + "form_footer_start": { + Type: schema.TypeString, + Optional: true, + Description: "Footer content for the start of the footer.", + }, + "form_footer_end": { + Type: schema.TypeString, + Optional: true, + Description: "Footer content for the end of the footer.", + }, + "secondary_actions_start": { + Type: schema.TypeString, + Optional: true, + Description: "Actions that go at the start of secondary actions.", + }, + "secondary_actions_end": { + Type: schema.TypeString, + Optional: true, + Description: "Actions that go at the end of secondary actions.", + }, + "prompt": { + Type: schema.TypeString, + ValidateFunc: validation.StringInSlice(allowedPromptsWithPartials, false), + Description: "The prompt that you are adding partials for. " + + "Options are: `" + strings.Join(allowedPromptsWithPartials, "`, `") + "`.", + Required: true, + }, + }, + } +} +func createPromptPartials(ctx context.Context, data *schema.ResourceData, meta any) diag.Diagnostics { + prompt := data.Get("prompt").(string) + data.SetId(prompt) + return updatePromptPartials(ctx, data, meta) +} + +func readPromptPartials(ctx context.Context, data *schema.ResourceData, meta any) diag.Diagnostics { + api := meta.(*config.Config).GetAPI() + + promptPartials, err := api.Prompt.ReadPartials(ctx, management.PromptType(data.Id())) + if err != nil { + return diag.FromErr(err) + } + + return diag.FromErr(flattenPromptPartials(data, promptPartials)) +} + +func updatePromptPartials(ctx context.Context, data *schema.ResourceData, meta any) diag.Diagnostics { + api := meta.(*config.Config).GetAPI() + + promptPartials := expandPromptPartials(data) + + if err := api.Prompt.UpdatePartials(ctx, promptPartials); err != nil { + return diag.FromErr(err) + } + + return readPromptPartials(ctx, data, meta) +} + +func deletePromptPartials(ctx context.Context, data *schema.ResourceData, meta any) diag.Diagnostics { + api := meta.(*config.Config).GetAPI() + + prompt := data.Get("prompt").(string) + + if err := api.Prompt.DeletePartials(ctx, management.PromptType(prompt)); err != nil { + return diag.FromErr(err) + } + + return nil +} diff --git a/internal/auth0/prompt/resource_partials_test.go b/internal/auth0/prompt/resource_partials_test.go new file mode 100644 index 000000000..a142bd594 --- /dev/null +++ b/internal/auth0/prompt/resource_partials_test.go @@ -0,0 +1,82 @@ +package prompt_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + + "github.com/auth0/terraform-provider-auth0/internal/acctest" +) + +const testAccGivenACustomDomain = ` +resource "auth0_custom_domain" "my_custom_domain" { + domain = "auth.terraform-provider-auth0.com" + type = "auth0_managed_certs" +} +` + +const testGivenABrandingTemplate = ` +resource "auth0_branding" "my_brand" { + depends_on = [ auth0_custom_domain.my_custom_domain ] + + universal_login { + body = "{%- auth0:head -%}{%- auth0:widget -%}" + } +} +` + +const testAccPromptPartialsCreate = testAccGivenACustomDomain + testGivenABrandingTemplate + ` +resource "auth0_prompt_partials" "prompt_partials" { + depends_on = [ auth0_branding.my_brand ] + + prompt = "login" + + form_content_start = "
Form Content Start
" +} +` + +const testAccPromptPartialsUpdate = testAccGivenACustomDomain + testGivenABrandingTemplate + ` +resource "auth0_prompt_partials" "prompt_partials" { + depends_on = [ auth0_branding.my_brand ] + + prompt = "login" + + form_content_start = "
Updated Form Content Start
" + form_content_end = "
Updated Form Content End
" + form_footer_start = "
Updated Footer Start
" + form_footer_end = "
Updated Footer End
" + secondary_actions_start = "
Updated Secondary Actions Start
" + secondary_actions_end = "
Updated Secondary Actions End
" +} +` + +func TestAccPromptPartials(t *testing.T) { + acctest.Test(t, resource.TestCase{ + Steps: []resource.TestStep{ + { + Config: testAccPromptPartialsCreate, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "prompt", "login"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_content_start", "
Form Content Start
"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_content_end", ""), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_footer_start", ""), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_footer_end", ""), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "secondary_actions_start", ""), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "secondary_actions_end", ""), + ), + }, + { + Config: testAccPromptPartialsUpdate, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "prompt", "login"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_content_start", "
Updated Form Content Start
"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_content_end", "
Updated Form Content End
"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_footer_start", "
Updated Footer Start
"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "form_footer_end", "
Updated Footer End
"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "secondary_actions_start", "
Updated Secondary Actions Start
"), + resource.TestCheckResourceAttr("auth0_prompt_partials.prompt_partials", "secondary_actions_end", "
Updated Secondary Actions End
"), + ), + }, + }, + }) +} diff --git a/internal/provider/provider.go b/internal/provider/provider.go index 132aae938..b64cdadc5 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -117,6 +117,7 @@ func New() *schema.Provider { "auth0_pages": page.NewResource(), "auth0_prompt": prompt.NewResource(), "auth0_prompt_custom_text": prompt.NewCustomTextResource(), + "auth0_prompt_partials": prompt.NewPartialsResource(), "auth0_resource_server": resourceserver.NewResource(), "auth0_resource_server_scope": resourceserver.NewScopeResource(), "auth0_resource_server_scopes": resourceserver.NewScopesResource(), diff --git a/test/data/recordings/TestAccPromptPartials.yaml b/test/data/recordings/TestAccPromptPartials.yaml new file mode 100644 index 000000000..60c50db44 --- /dev/null +++ b/test/data/recordings/TestAccPromptPartials.yaml @@ -0,0 +1,1081 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 76 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + {"domain":"auth.terraform-provider-auth0.com","type":"auth0_managed_certs"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 328 + uncompressed: false + body: '{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 201 Created + code: 201 + duration: 24.128678208s + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains/cd_d4QQOYsZz3fwoMpJ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 134.0355ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '[{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}]' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 136.499167ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 165 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + "\u003c!DOCTYPE html\u003e\u003chtml\u003e\u003chead\u003e{%- auth0:head -%}\u003c/head\u003e\u003cbody\u003e{%- auth0:widget -%}\u003c/body\u003e\u003c/html\u003e" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding/templates/universal-login + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2 + uncompressed: false + body: '{}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 201 Created + code: 201 + duration: 2.292042709s + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"colors":{"primary":"#0059d6","page_background":"#000000"},"favicon_url":"https://mycompany.org/favicon.ico","font":{"url":"https://mycompany.org/font/myfont.ttf"},"logo_url":"https://mycompany.org/logo.png"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 194.550916ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '[{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}]' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 157.917042ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding/templates/universal-login + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"body":"{%- auth0:head -%}{%- auth0:widget -%}"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 231.837709ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 85 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + {"login":{"form-content-start":"\u003cdiv\u003eForm Content Start\u003c/div\u003e"}} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"login":{"form-content-start":"
Form Content Start
"}}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 173.619167ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"login":{"form-content-start":"
Form Content Start
"}}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 330.384625ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains/cd_d4QQOYsZz3fwoMpJ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 117.127792ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"colors":{"primary":"#0059d6","page_background":"#000000"},"favicon_url":"https://mycompany.org/favicon.ico","font":{"url":"https://mycompany.org/font/myfont.ttf"},"logo_url":"https://mycompany.org/logo.png"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 125.555792ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '[{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}]' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 124.364917ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding/templates/universal-login + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"body":"{%- auth0:head -%}{%- auth0:widget -%}"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 236.534208ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"login":{"form-content-start":"
Form Content Start
"}}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 153.618417ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains/cd_d4QQOYsZz3fwoMpJ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 126.015542ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"colors":{"primary":"#0059d6","page_background":"#000000"},"favicon_url":"https://mycompany.org/favicon.ico","font":{"url":"https://mycompany.org/font/myfont.ttf"},"logo_url":"https://mycompany.org/logo.png"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 111.407792ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '[{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}]' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 104.912917ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding/templates/universal-login + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"body":"{%- auth0:head -%}{%- auth0:widget -%}"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 197.062958ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"login":{"form-content-start":"
Form Content Start
"}}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 147.484375ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 492 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + {"login":{"form-content-start":"\u003cdiv\u003eUpdated Form Content Start\u003c/div\u003e","form-content-end":"\u003cdiv\u003eUpdated Form Content End\u003c/div\u003e","form-footer-start":"\u003cdiv\u003eUpdated Footer Start\u003c/div\u003e","form-footer-end":"\u003cdiv\u003eUpdated Footer End\u003c/div\u003e","secondary-actions-start":"\u003cdiv\u003eUpdated Secondary Actions Start\u003c/div\u003e","secondary-actions-end":"\u003cdiv\u003eUpdated Secondary Actions End\u003c/div\u003e"}} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"login":{"form-content-start":"
Updated Form Content Start
","form-content-end":"
Updated Form Content End
","form-footer-start":"
Updated Footer Start
","form-footer-end":"
Updated Footer End
","secondary-actions-start":"
Updated Secondary Actions Start
","secondary-actions-end":"
Updated Secondary Actions End
"}}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 133.497041ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"login":{"form-footer-end":"
Updated Footer End
","form-content-end":"
Updated Form Content End
","form-footer-start":"
Updated Footer Start
","form-content-start":"
Updated Form Content Start
","secondary-actions-end":"
Updated Secondary Actions End
","secondary-actions-start":"
Updated Secondary Actions Start
"}}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 119.384291ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains/cd_d4QQOYsZz3fwoMpJ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 141.898667ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"colors":{"primary":"#0059d6","page_background":"#000000"},"favicon_url":"https://mycompany.org/favicon.ico","font":{"url":"https://mycompany.org/font/myfont.ttf"},"logo_url":"https://mycompany.org/logo.png"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 179.604792ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '[{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}]' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 133.949625ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding/templates/universal-login + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"body":"{%- auth0:head -%}{%- auth0:widget -%}"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 163.853833ms + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"login":{"form-footer-end":"
Updated Footer End
","form-content-end":"
Updated Form Content End
","form-footer-start":"
Updated Footer Start
","form-content-start":"
Updated Form Content Start
","secondary-actions-end":"
Updated Secondary Actions End
","secondary-actions-start":"
Updated Secondary Actions Start
"}}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 129.3735ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 13 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + {"login":{}} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/prompts/login/partials + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2 + uncompressed: false + body: '{}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 145.821292ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 5 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + null + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '[{"custom_domain_id":"cd_d4QQOYsZz3fwoMpJ","domain":"auth.terraform-provider-auth0.com","primary":true,"status":"pending_verification","type":"auth0_managed_certs","verification":{"methods":[{"name":"cname","record":"terraform-provider-auth0-dev-cd-d4qqoyszz3fwompj.edge.tenants.eu.auth0.com"}]},"tls_policy":"recommended"}]' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 119.269667ms + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/branding/templates/universal-login + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Content-Type: + - application/json; charset=utf-8 + status: 204 No Content + code: 204 + duration: 181.827458ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.4.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/custom-domains/cd_d4QQOYsZz3fwoMpJ + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Content-Type: + - application/json; charset=utf-8 + status: 204 No Content + code: 204 + duration: 28.535918292s