From 1a3b62860b488a3090aeb6f52cd8def536a5076e Mon Sep 17 00:00:00 2001 From: "A. Craig West" Date: Thu, 3 Oct 2024 09:59:47 -0400 Subject: [PATCH] Add auth0_encryption_keys resource to allow rekeying of encryption keys (#1031) * Add auth0_encryption_key resource to allow rekeying of tenant encryption keys * Slight renaming, and use key_rotation_id instead of rekey attribute * Rename auth0_encryption_key to auth0_encryption_key_manager --- docs/resources/encryption_key_manager.md | 59 +++ .../auth0_encryption_key_manager/import.sh | 7 + .../auth0_encryption_key_manager/resource.tf | 8 + .../auth0/encryptionkeymanager/flatten.go | 22 + .../auth0/encryptionkeymanager/resource.go | 109 +++++ .../encryptionkeymanager/resource_test.go | 183 +++++++ internal/provider/provider.go | 8 +- .../TestAccEncryptionKeyManager.yaml | 458 ++++++++++++++++++ 8 files changed, 851 insertions(+), 3 deletions(-) create mode 100644 docs/resources/encryption_key_manager.md create mode 100644 examples/resources/auth0_encryption_key_manager/import.sh create mode 100644 examples/resources/auth0_encryption_key_manager/resource.tf create mode 100644 internal/auth0/encryptionkeymanager/flatten.go create mode 100644 internal/auth0/encryptionkeymanager/resource.go create mode 100644 internal/auth0/encryptionkeymanager/resource_test.go create mode 100644 test/data/recordings/TestAccEncryptionKeyManager.yaml diff --git a/docs/resources/encryption_key_manager.md b/docs/resources/encryption_key_manager.md new file mode 100644 index 00000000..a4b32f8d --- /dev/null +++ b/docs/resources/encryption_key_manager.md @@ -0,0 +1,59 @@ +--- +page_title: "Resource: auth0_encryption_key_manager" +description: |- + Resource to allow the rekeying of your tenant master key. +--- + +# Resource: auth0_encryption_key_manager + +Resource to allow the rekeying of your tenant master key. + +## Example Usage + +```terraform +resource "auth0_encryption_key_manager" "my_encryption_key_manager_initial" { + key_rotation_id = "da9f2f3b-1c7e-4245-8982-9a25da8407c4" +} + +resource "auth0_encryption_key_manager" "my_encryption_key_manager_rekey" { + key_rotation_id = "68feba2c-7768-40f3-9d71-4b91e0233abf" +} +``` + + +## Schema + +### Optional + +- `key_rotation_id` (String) If this value is changed, the encryption keys will be rotated. A UUID is recommended for the `key_rotation_id`. + +### Read-Only + +- `encryption_keys` (List of Object) All encryption keys. (see [below for nested schema](#nestedatt--encryption_keys)) +- `id` (String) The ID of this resource. + + +### Nested Schema for `encryption_keys` + +Read-Only: + +- `created_at` (String) +- `key_id` (String) +- `parent_key_id` (String) +- `state` (String) +- `type` (String) +- `updated_at` (String) + +## Import + +Import is supported using the following syntax: + +```shell +# As this is not a resource identifiable by an ID within the Auth0 Management API, +# auth0_encryption_key_manager can be imported using a random string. +# +# We recommend [Version 4 UUID](https://www.uuidgenerator.net/version4) +# +# Example: +terraform import auth0_encryption_key_manager.my_key_manager "6f0519ad-ea35-44a3-9b0e-ac9c631612c2" +``` diff --git a/examples/resources/auth0_encryption_key_manager/import.sh b/examples/resources/auth0_encryption_key_manager/import.sh new file mode 100644 index 00000000..b6090aca --- /dev/null +++ b/examples/resources/auth0_encryption_key_manager/import.sh @@ -0,0 +1,7 @@ +# As this is not a resource identifiable by an ID within the Auth0 Management API, +# auth0_encryption_key_manager can be imported using a random string. +# +# We recommend [Version 4 UUID](https://www.uuidgenerator.net/version4) +# +# Example: +terraform import auth0_encryption_key_manager.my_key_manager "6f0519ad-ea35-44a3-9b0e-ac9c631612c2" diff --git a/examples/resources/auth0_encryption_key_manager/resource.tf b/examples/resources/auth0_encryption_key_manager/resource.tf new file mode 100644 index 00000000..89375ccc --- /dev/null +++ b/examples/resources/auth0_encryption_key_manager/resource.tf @@ -0,0 +1,8 @@ +resource "auth0_encryption_key_manager" "my_encryption_key_manager_initial" { + key_rotation_id = "da9f2f3b-1c7e-4245-8982-9a25da8407c4" +} + +resource "auth0_encryption_key_manager" "my_encryption_key_manager_rekey" { + key_rotation_id = "68feba2c-7768-40f3-9d71-4b91e0233abf" +} + diff --git a/internal/auth0/encryptionkeymanager/flatten.go b/internal/auth0/encryptionkeymanager/flatten.go new file mode 100644 index 00000000..1302c4e1 --- /dev/null +++ b/internal/auth0/encryptionkeymanager/flatten.go @@ -0,0 +1,22 @@ +package encryptionkeymanager + +import ( + "github.com/auth0/go-auth0/management" +) + +func flattenEncryptionKeys(keys []*management.EncryptionKey) []interface{} { + var result []interface{} + const timeRFC3339WithMilliseconds = "2006-01-02T15:04:05.000Z07:00" + + for _, key := range keys { + result = append(result, map[string]interface{}{ + "key_id": key.GetKID(), + "parent_key_id": key.GetParentKID(), + "type": key.GetType(), + "state": key.GetState(), + "created_at": key.GetCreatedAt().Format(timeRFC3339WithMilliseconds), + "updated_at": key.GetUpdatedAt().Format(timeRFC3339WithMilliseconds), + }) + } + return result +} diff --git a/internal/auth0/encryptionkeymanager/resource.go b/internal/auth0/encryptionkeymanager/resource.go new file mode 100644 index 00000000..be5005dd --- /dev/null +++ b/internal/auth0/encryptionkeymanager/resource.go @@ -0,0 +1,109 @@ +package encryptionkeymanager + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + + "github.com/auth0/terraform-provider-auth0/internal/config" +) + +// NewEncryptionKeyManagerResource will return a new auth0_encryption_key_manager resource. +func NewEncryptionKeyManagerResource() *schema.Resource { + return &schema.Resource{ + CreateContext: createEncryptionKeyManager, + UpdateContext: updateEncryptionKeyManager, + ReadContext: readEncryptionKeyManager, + DeleteContext: deleteEncryptionKeyManager, + Description: "Resource to allow the rekeying of your tenant master key.", + Schema: map[string]*schema.Schema{ + "key_rotation_id": { + Type: schema.TypeString, + Optional: true, + Description: "If this value is changed, the encryption keys will be rotated. A UUID is recommended for the `key_rotation_id`.", + }, + "encryption_keys": { + Type: schema.TypeList, + Computed: true, + Description: "All encryption keys.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "key_id": { + Type: schema.TypeString, + Computed: true, + Description: "The key ID of the encryption key.", + }, + "type": { + Type: schema.TypeString, + Computed: true, + Description: "The type of the encryption key. One of " + + "`customer-provided-root-key`, `environment-root-key`, " + + "or `tenant-master-key`.", + }, + "state": { + Type: schema.TypeString, + Computed: true, + Description: "The state of the encryption key. One of " + + "`pre-activation`, `active`, `deactivated`, or `destroyed`.", + }, + "parent_key_id": { + Type: schema.TypeString, + Computed: true, + Description: "The key ID of the parent wrapping key.", + }, + "created_at": { + Type: schema.TypeString, + Computed: true, + Description: "The ISO 8601 formatted date the encryption key was created.", + }, + "updated_at": { + Type: schema.TypeString, + Computed: true, + Description: "The ISO 8601 formatted date the encryption key was updated.", + }, + }, + }, + }, + }, + } +} + +func createEncryptionKeyManager(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics { + data.SetId(id.UniqueId()) + + return updateEncryptionKeyManager(ctx, data, meta) +} + +func updateEncryptionKeyManager(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics { + api := meta.(*config.Config).GetAPI() + + if !data.IsNewResource() && data.HasChange("key_rotation_id") { + keyRotationID := data.GetRawConfig().GetAttr("key_rotation_id") + if !keyRotationID.IsNull() && len(keyRotationID.AsString()) > 0 { + if err := api.EncryptionKey.Rekey(ctx); err != nil { + return diag.FromErr(err) + } + } + } + + return readEncryptionKeyManager(ctx, data, meta) +} + +func readEncryptionKeyManager(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics { + api := meta.(*config.Config).GetAPI() + + encryptionKeys, err := api.EncryptionKey.List(ctx) + if err != nil { + return diag.FromErr(err) + } + + data.SetId(id.UniqueId()) + + return diag.FromErr(data.Set("encryption_keys", flattenEncryptionKeys(encryptionKeys.Keys))) +} + +func deleteEncryptionKeyManager(_ context.Context, _ *schema.ResourceData, _ interface{}) diag.Diagnostics { + return nil +} diff --git a/internal/auth0/encryptionkeymanager/resource_test.go b/internal/auth0/encryptionkeymanager/resource_test.go new file mode 100644 index 00000000..6daca5ef --- /dev/null +++ b/internal/auth0/encryptionkeymanager/resource_test.go @@ -0,0 +1,183 @@ +package encryptionkeymanager_test + +import ( + "fmt" + "regexp" + "strconv" + "strings" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/stretchr/testify/assert" + + "github.com/auth0/terraform-provider-auth0/internal/acctest" +) + +const testAccEncryptionKeyManagerCreate = ` +resource "auth0_encryption_key_manager" "my_key_manager" { } +` + +const testAccEncryptionKeyManagerFirstRotation = ` +resource "auth0_encryption_key_manager" "my_key_manager" { + key_rotation_id = "initial_value" +} +` + +const testAccEncryptionKeyManagerSecondRotation = ` +resource "auth0_encryption_key_manager" "my_key_manager" { + key_rotation_id = "changed_value" +} +` + +const testAccEncryptionKeyManagerUnsetRotation = ` +resource "auth0_encryption_key_manager" "my_key_manager" { +} +` + +func TestAccEncryptionKeyManager(t *testing.T) { + initialKey := make(map[string]string) + firstRotationKey := make(map[string]string) + secondRotationKey := make(map[string]string) + unsetRotationKey := make(map[string]string) + + acctest.Test(t, resource.TestCase{ + Steps: []resource.TestStep{ + { + Config: testAccEncryptionKeyManagerCreate, + Check: resource.ComposeTestCheckFunc( + resource.TestMatchResourceAttr("auth0_encryption_key_manager.my_key_manager", "encryption_keys.#", regexp.MustCompile("^[1-9][0-9]*")), + extractActiveKey("auth0_encryption_key_manager.my_key_manager", "encryption_keys", "tenant-master-key", &initialKey), + func(_ *terraform.State) error { + keyID, ok := initialKey["key_id"] + assert.True(t, ok && len(keyID) > 0, "key_id should exist") + parentKeyID, ok := initialKey["parent_key_id"] + assert.True(t, ok && len(parentKeyID) > 0, "parent_key_id should exist") + assert.Equal(t, initialKey["type"], "tenant-master-key") + assert.Equal(t, initialKey["state"], "active") + createdAt, ok := initialKey["created_at"] + assert.True(t, ok && len(createdAt) > 0, "created_at should exist") + updatedAt, ok := initialKey["updated_at"] + assert.True(t, ok && len(updatedAt) > 0, "updated_at should exist") + + return nil + }, + ), + }, + { + Config: testAccEncryptionKeyManagerFirstRotation, + Check: resource.ComposeTestCheckFunc( + resource.TestMatchResourceAttr("auth0_encryption_key_manager.my_key_manager", "encryption_keys.#", regexp.MustCompile("^[1-9][0-9]*")), + extractActiveKey("auth0_encryption_key_manager.my_key_manager", "encryption_keys", "tenant-master-key", &firstRotationKey), + func(_ *terraform.State) error { + keyID, ok := firstRotationKey["key_id"] + assert.True(t, ok && len(keyID) > 0, "key_id should exist") + assert.NotEqual(t, firstRotationKey["key_id"], initialKey["key_id"]) + parentKeyID, ok := firstRotationKey["parent_key_id"] + assert.True(t, ok && len(parentKeyID) > 0, "parent_key_id should exist") + assert.Equal(t, firstRotationKey["type"], "tenant-master-key") + assert.Equal(t, firstRotationKey["state"], "active") + createdAt, ok := firstRotationKey["created_at"] + assert.True(t, ok && len(createdAt) > 0, "created_at should exist") + updatedAt, ok := firstRotationKey["updated_at"] + assert.True(t, ok && len(updatedAt) > 0, "updated_at should exist") + + return nil + }, + ), + }, + { + Config: testAccEncryptionKeyManagerSecondRotation, + Check: resource.ComposeTestCheckFunc( + resource.TestMatchResourceAttr("auth0_encryption_key_manager.my_key_manager", "encryption_keys.#", regexp.MustCompile("^[1-9][0-9]*")), + extractActiveKey("auth0_encryption_key_manager.my_key_manager", "encryption_keys", "tenant-master-key", &secondRotationKey), + func(_ *terraform.State) error { + keyID, ok := secondRotationKey["key_id"] + assert.True(t, ok && len(keyID) > 0, "key_id should exist") + assert.NotEqual(t, secondRotationKey["key_id"], firstRotationKey["key_id"]) + parentKeyID, ok := secondRotationKey["parent_key_id"] + assert.True(t, ok && len(parentKeyID) > 0, "parent_key_id should exist") + assert.Equal(t, secondRotationKey["type"], "tenant-master-key") + assert.Equal(t, secondRotationKey["state"], "active") + createdAt, ok := secondRotationKey["created_at"] + assert.True(t, ok && len(createdAt) > 0, "created_at should exist") + updatedAt, ok := secondRotationKey["updated_at"] + assert.True(t, ok && len(updatedAt) > 0, "updated_at should exist") + + return nil + }, + ), + }, + { + Config: testAccEncryptionKeyManagerUnsetRotation, + Check: resource.ComposeTestCheckFunc( + resource.TestMatchResourceAttr("auth0_encryption_key_manager.my_key_manager", "encryption_keys.#", regexp.MustCompile("^[1-9][0-9]*")), + extractActiveKey("auth0_encryption_key_manager.my_key_manager", "encryption_keys", "tenant-master-key", &unsetRotationKey), + func(_ *terraform.State) error { + keyID, ok := unsetRotationKey["key_id"] + assert.True(t, ok && len(keyID) > 0, "key_id should exist") + assert.Equal(t, unsetRotationKey["key_id"], secondRotationKey["key_id"]) + parentKeyID, ok := unsetRotationKey["parent_key_id"] + assert.True(t, ok && len(parentKeyID) > 0, "parent_key_id should exist") + assert.Equal(t, unsetRotationKey["type"], "tenant-master-key") + assert.Equal(t, unsetRotationKey["state"], "active") + createdAt, ok := unsetRotationKey["created_at"] + assert.True(t, ok && len(createdAt) > 0, "created_at should exist") + updatedAt, ok := unsetRotationKey["updated_at"] + assert.True(t, ok && len(updatedAt) > 0, "updated_at should exist") + + return nil + }, + ), + }, + }, + }) +} + +func extractActiveKey(resource, attribute, keyType string, keyMapPtr *map[string]string) resource.TestCheckFunc { + return func(state *terraform.State) error { + clear(*keyMapPtr) + + tfResource, ok := state.RootModule().Resources[resource] + if !ok { + return fmt.Errorf("extractActiveKey: failed to find resource with name: %q", resource) + } + countValue, ok := tfResource.Primary.Attributes[fmt.Sprintf("%s.#", attribute)] + if !ok { + return fmt.Errorf("extractActiveKey: failed to find attribute with name: %q", attribute) + } + count, err := strconv.Atoi(countValue) + if err != nil { + return err + } + fmt.Printf("DEBUG: CRAIG: extract count: %d\n", count) + for i := range count { + stateValue, ok := tfResource.Primary.Attributes[keyName(attribute, i, "state")] + if !ok { + return fmt.Errorf("extractActiveKey: failed to find state for attribute with name: %q", attribute) + } + if stateValue != "active" { + continue + } + typeValue, ok := tfResource.Primary.Attributes[keyName(attribute, i, "type")] + if !ok { + return fmt.Errorf("extractActiveKey: failed to find type for attribute with name: %q", attribute) + } + if typeValue != keyType { + continue + } + for key, value := range tfResource.Primary.Attributes { + if strings.HasPrefix(key, keyName(attribute, i, "")) { + foundKey, _ := strings.CutPrefix(key, keyName(attribute, i, "")) + (*keyMapPtr)[foundKey] = value + } + } + return nil + } + return fmt.Errorf("extractActiveKey: active key of type %q not found", keyType) + } +} + +func keyName(attribute string, index int, key string) string { + return fmt.Sprintf("%s.%d.%s", attribute, index, key) +} diff --git a/internal/provider/provider.go b/internal/provider/provider.go index e5f958ff..90c54cca 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -14,6 +14,7 @@ import ( "github.com/auth0/terraform-provider-auth0/internal/auth0/connection" "github.com/auth0/terraform-provider-auth0/internal/auth0/customdomain" "github.com/auth0/terraform-provider-auth0/internal/auth0/email" + "github.com/auth0/terraform-provider-auth0/internal/auth0/encryptionkeymanager" "github.com/auth0/terraform-provider-auth0/internal/auth0/guardian" "github.com/auth0/terraform-provider-auth0/internal/auth0/hook" "github.com/auth0/terraform-provider-auth0/internal/auth0/logstream" @@ -107,6 +108,7 @@ func New() *schema.Provider { "auth0_custom_domain_verification": customdomain.NewVerificationResource(), "auth0_email_provider": email.NewResource(), "auth0_email_template": email.NewTemplateResource(), + "auth0_encryption_key_manager": encryptionkeymanager.NewEncryptionKeyManagerResource(), "auth0_guardian": guardian.NewResource(), "auth0_hook": hook.NewResource(), "auth0_log_stream": logstream.NewResource(), @@ -131,13 +133,13 @@ func New() *schema.Provider { "auth0_role_permissions": role.NewPermissionsResource(), "auth0_rule": rule.NewResource(), "auth0_rule_config": rule.NewConfigResource(), + "auth0_self_service_profile": selfserviceprofile.NewResource(), "auth0_tenant": tenant.NewResource(), "auth0_user": user.NewResource(), "auth0_user_permission": user.NewPermissionResource(), "auth0_user_permissions": user.NewPermissionsResource(), "auth0_user_role": user.NewRoleResource(), "auth0_user_roles": user.NewRolesResource(), - "auth0_self_service_profile": selfserviceprofile.NewResource(), }, DataSourcesMap: map[string]*schema.Resource{ "auth0_attack_protection": attackprotection.NewDataSource(), @@ -149,13 +151,13 @@ func New() *schema.Provider { "auth0_custom_domain": customdomain.NewDataSource(), "auth0_organization": organization.NewDataSource(), "auth0_pages": page.NewDataSource(), + "auth0_prompt_screen_partials": prompt.NewPromptScreenPartialsDataSource(), "auth0_resource_server": resourceserver.NewDataSource(), "auth0_role": role.NewDataSource(), + "auth0_self_service_profile": selfserviceprofile.NewDataSource(), "auth0_signing_keys": signingkey.NewDataSource(), "auth0_tenant": tenant.NewDataSource(), "auth0_user": user.NewDataSource(), - "auth0_self_service_profile": selfserviceprofile.NewDataSource(), - "auth0_prompt_screen_partials": prompt.NewPromptScreenPartialsDataSource(), }, } diff --git a/test/data/recordings/TestAccEncryptionKeyManager.yaml b/test/data/recordings/TestAccEncryptionKeyManager.yaml new file mode 100644 index 00000000..800d739f --- /dev/null +++ b/test/data/recordings/TestAccEncryptionKeyManager.yaml @@ -0,0 +1,458 @@ +--- +version: 2 +interactions: + - id: 0 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"active","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-25T15:09:32.169Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":7}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 200.30475ms + - id: 1 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"active","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-25T15:09:32.169Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":7}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 212.099125ms + - id: 2 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"active","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-25T15:09:32.169Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":7}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 166.162209ms + - id: 3 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption/rekey + method: POST + 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: 539.058417ms + - id: 4 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:45.190Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":8}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 166.365292ms + - id: 5 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:45.190Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":8}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 465.112042ms + - id: 6 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:45.190Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":8}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 195.606708ms + - id: 7 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption/rekey + method: POST + 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: 456.382542ms + - id: 8 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"633cb6bd-ddba-4bce-850c-a7003c844276","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:47.569Z","updated_at":"2024-09-27T15:07:47.569Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:47.826Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":9}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 175.728875ms + - id: 9 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"633cb6bd-ddba-4bce-850c-a7003c844276","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:47.569Z","updated_at":"2024-09-27T15:07:47.569Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:47.826Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":9}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 198.520334ms + - id: 10 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"633cb6bd-ddba-4bce-850c-a7003c844276","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:47.569Z","updated_at":"2024-09-27T15:07:47.569Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:47.826Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":9}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 176.769875ms + - id: 11 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"633cb6bd-ddba-4bce-850c-a7003c844276","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:47.569Z","updated_at":"2024-09-27T15:07:47.569Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:47.826Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":9}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 172.901167ms + - id: 12 + 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.10.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/keys/encryption?include_totals=true&per_page=50 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"keys":[{"kid":"633cb6bd-ddba-4bce-850c-a7003c844276","type":"tenant-master-key","state":"active","created_at":"2024-09-27T15:07:47.569Z","updated_at":"2024-09-27T15:07:47.569Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"9c7afe77-e49f-4d8e-a017-a182fc88d3dc","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-27T15:07:45.190Z","updated_at":"2024-09-27T15:07:47.826Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"6f09becd-6cd2-448e-a9a9-3fcf3159a00b","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:32.169Z","updated_at":"2024-09-27T15:07:45.522Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"43009337-5317-470f-9aa2-5f23ef484f56","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-25T15:09:30.247Z","updated_at":"2024-09-25T15:09:32.421Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"7ca3ae2d-b385-43a8-8832-2b7bb342dc5c","type":"customer-provided-root-key","state":"pre-activation","created_at":"2024-09-23T17:20:55.884Z","updated_at":"2024-09-23T17:20:55.884Z","parent_kid":null},{"kid":"ca3a67c9-f143-4fcf-853e-cbe7c548375f","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:31:30.272Z","updated_at":"2024-09-25T15:09:30.510Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"5bfb6eaa-cfb4-43ac-9398-ccfb138159a1","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T20:30:56.154Z","updated_at":"2024-09-20T20:31:30.525Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"},{"kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14","type":"environment-root-key","state":"active","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T19:10:35.858Z","parent_kid":null},{"kid":"b437af51-6250-4823-a3bd-33e4696a35d6","type":"tenant-master-key","state":"destroyed","created_at":"2024-09-20T19:10:35.858Z","updated_at":"2024-09-20T20:30:56.395Z","parent_kid":"51239e1c-b53c-441b-99c8-66bcdfda7e14"}],"start":0,"limit":50,"total":9}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 354.12375ms