diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index e08c110..960329a 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -17,7 +17,7 @@ jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
# Allow goreleaser to access older tag information.
fetch-depth: 0
@@ -32,7 +32,7 @@ jobs:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- name: Run GoReleaser
- uses: goreleaser/goreleaser-action@336e29918d653399e599bfca99fadc1d7ffbc9f7 # v4.3.0
+ uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
with:
args: release --clean
env:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index af0b6fe..e5b73f8 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version-file: 'go.mod'
@@ -37,7 +37,7 @@ jobs:
generate:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version-file: 'go.mod'
@@ -65,7 +65,7 @@ jobs:
- '1.3.*'
- '1.4.*'
steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version-file: 'go.mod'
diff --git a/.gitignore b/.gitignore
index fd3ad8e..cf9e7a4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@ website/vendor
# Keep windows files with windows line endings
*.winfile eol=crlf
+dev.auto.tfvars
diff --git a/docs/data-sources/account.md b/docs/data-sources/account.md
new file mode 100644
index 0000000..b534285
--- /dev/null
+++ b/docs/data-sources/account.md
@@ -0,0 +1,373 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_account Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_account (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--account_permissions))
+- `active` (Boolean)
+- `active_login` (Boolean)
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `can_request_groups` (Boolean)
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--directory))
+- `directory_name` (String)
+- `directory_password_change_required` (Boolean)
+- `directory_rotating_password` (String)
+- `directory_type` (String)
+- `display_name` (String)
+- `email` (String)
+- `groups` (Attributes List) (see [below for nested schema](#nestedatt--groups))
+- `id_in_directory` (String)
+- `key_hub_password_change_required` (Boolean)
+- `last_active` (String)
+- `last_modified_at` (String)
+- `license_role` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `locale` (String)
+- `pending_recovery_requests` (Attributes) (see [below for nested schema](#nestedatt--pending_recovery_requests))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `reregistration_required` (Boolean)
+- `settings` (Attributes) (see [below for nested schema](#nestedatt--settings))
+- `stored_attributes` (Attributes) (see [below for nested schema](#nestedatt--stored_attributes))
+- `token_password_enabled` (Boolean)
+- `two_factor_status` (String)
+- `username` (String)
+- `valid_in_directory` (Boolean)
+- `validity` (String)
+- `vault` (Attributes) (see [below for nested schema](#nestedatt--vault))
+
+
+### Nested Schema for `account_permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `admin` (Boolean)
+- `end_date` (String)
+- `folder` (Attributes) (see [below for nested schema](#nestedatt--groups--folder))
+- `last_used` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--permissions))
+- `provisioning_end_time` (String)
+- `rights` (String)
+- `uuid` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+### Nested Schema for `groups.folder`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--folder--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--folder--permissions))
+
+
+### Nested Schema for `groups.folder.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.folder.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `pending_recovery_requests`
+
+Read-Only:
+
+- `pending2fa_recovery_request` (Boolean)
+- `pending_password_recovery_request` (Boolean)
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `settings`
+
+Read-Only:
+
+- `default_organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--settings--default_organizational_unit))
+- `directory_name` (String)
+- `directory_type` (String)
+- `in_groups` (Boolean)
+- `in_multiple_organizational_units` (Boolean)
+- `key_hub_admin` (Boolean)
+- `multiple_organizational_units_exist` (Boolean)
+- `password_mode` (String)
+- `ssh_public_key` (String)
+- `two_factor_authentication` (String)
+- `use_token_password` (Boolean)
+- `vault_status` (String)
+
+
+### Nested Schema for `settings.default_organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--settings--default_organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--settings--default_organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `settings.default_organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `settings.default_organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `stored_attributes`
+
+Read-Only:
+
+- `attributes` (Attributes List) (see [below for nested schema](#nestedatt--stored_attributes--attributes))
+
+
+### Nested Schema for `stored_attributes.attributes`
+
+Read-Only:
+
+- `name` (String)
+- `value` (String)
+
+
+
+
+### Nested Schema for `vault`
+
+Read-Only:
+
+- `access_available` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--vault--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--vault--permissions))
+- `records` (Attributes List) (see [below for nested schema](#nestedatt--vault--records))
+
+
+### Nested Schema for `vault.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `vault.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `vault.records`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `color` (String)
+- `derived` (Boolean)
+- `end_date` (String)
+- `filename` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--vault--records--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--vault--records--permissions))
+- `share_end_time` (String)
+- `types` (List of String)
+- `url` (String)
+- `username` (String)
+- `uuid` (String)
+- `warning_period` (String)
+
+
+### Nested Schema for `vault.records.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `vault.records.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/data-sources/certificate.md b/docs/data-sources/certificate.md
new file mode 100644
index 0000000..cb7334c
--- /dev/null
+++ b/docs/data-sources/certificate.md
@@ -0,0 +1,71 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_certificate Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_certificate (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `alias` (String)
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `key_data` (List of String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `subject_dn` (String)
+- `type` (String)
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/data-sources/client.md b/docs/data-sources/client.md
new file mode 100644
index 0000000..b77eb79
--- /dev/null
+++ b/docs/data-sources/client.md
@@ -0,0 +1,833 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_client Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_client (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `client_id` (String)
+- `groupclients` (Attributes List) (see [below for nested schema](#nestedatt--groupclients))
+- `groups` (Attributes List) (see [below for nested schema](#nestedatt--groups))
+- `last_modified_at` (String)
+- `ldap_client` (Attributes) (see [below for nested schema](#nestedatt--ldap_client))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `name` (String)
+- `o_auth2_client` (Attributes) (see [below for nested schema](#nestedatt--o_auth2_client))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `saml2_client` (Attributes) (see [below for nested schema](#nestedatt--saml2_client))
+- `scopes` (List of String)
+- `secret` (Attributes) (see [below for nested schema](#nestedatt--secret))
+- `sso_application` (Boolean)
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--technical_administrator))
+- `tile` (Attributes) (see [below for nested schema](#nestedatt--tile))
+- `type` (String)
+- `vault_record_count` (Number)
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `groupclients`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `activation_required` (Boolean)
+- `client` (Attributes) (see [below for nested schema](#nestedatt--groupclients--client))
+- `group` (Attributes) (see [below for nested schema](#nestedatt--groupclients--group))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--links))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--groupclients--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--permissions))
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--groupclients--technical_administrator))
+
+
+### Nested Schema for `groupclients.client`
+
+Read-Only:
+
+- `client_id` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--client--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--client--permissions))
+- `scopes` (List of String)
+- `sso_application` (Boolean)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `groupclients.client.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groupclients.client.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groupclients.group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groupclients.group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groupclients.group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groupclients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groupclients.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groupclients.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groupclients.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groupclients.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groupclients.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groupclients.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groupclients.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `groups`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `admin` (Boolean)
+- `application_administration` (Boolean)
+- `audit_config` (Attributes) (see [below for nested schema](#nestedatt--groups--audit_config))
+- `audit_requested` (Boolean)
+- `auditor` (Boolean)
+- `authorizing_group_auditing` (Attributes) (see [below for nested schema](#nestedatt--groups--authorizing_group_auditing))
+- `authorizing_group_delegation` (Attributes) (see [below for nested schema](#nestedatt--groups--authorizing_group_delegation))
+- `authorizing_group_membership` (Attributes) (see [below for nested schema](#nestedatt--groups--authorizing_group_membership))
+- `authorizing_group_provisioning` (Attributes) (see [below for nested schema](#nestedatt--groups--authorizing_group_provisioning))
+- `authorizing_group_types` (List of String)
+- `classification` (Attributes) (see [below for nested schema](#nestedatt--groups--classification))
+- `description` (String)
+- `extended_access` (String)
+- `hide_audit_trail` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--links))
+- `name` (String)
+- `nested_under` (Attributes) (see [below for nested schema](#nestedatt--groups--nested_under))
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--groups--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--permissions))
+- `private_group` (Boolean)
+- `record_trail` (Boolean)
+- `rotating_password_required` (Boolean)
+- `single_managed` (Boolean)
+- `uuid` (String)
+- `vault_recovery` (String)
+- `vault_requires_activation` (Boolean)
+
+
+### Nested Schema for `groups.audit_config`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--audit_config--links))
+- `months` (List of String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--audit_config--permissions))
+
+
+### Nested Schema for `groups.audit_config.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.audit_config.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.authorizing_group_auditing`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_auditing--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_auditing--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.authorizing_group_auditing.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.authorizing_group_auditing.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.authorizing_group_delegation`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_delegation--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_delegation--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.authorizing_group_delegation.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.authorizing_group_delegation.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.authorizing_group_membership`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_membership--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_membership--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.authorizing_group_membership.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.authorizing_group_membership.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.authorizing_group_provisioning`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_provisioning--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--authorizing_group_provisioning--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.authorizing_group_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.authorizing_group_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.classification`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--classification--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--classification--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.classification.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.classification.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.nested_under`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--nested_under--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--nested_under--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.nested_under.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.nested_under.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `ldap_client`
+
+Read-Only:
+
+- `bind_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--ldap_client--client_certificate))
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--ldap_client--shared_secret))
+- `used_for_provisioning` (Boolean)
+
+
+### Nested Schema for `ldap_client.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--ldap_client--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--ldap_client--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `ldap_client.client_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `ldap_client.client_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `ldap_client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--ldap_client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--ldap_client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `ldap_client.shared_secret.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `ldap_client.shared_secret.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `o_auth2_client`
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--o_auth2_client--account_permissions))
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--o_auth2_client--shared_secret))
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+
+### Nested Schema for `o_auth2_client.account_permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `o_auth2_client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--o_auth2_client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--o_auth2_client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `o_auth2_client.shared_secret.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `o_auth2_client.shared_secret.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `saml2_client`
+
+Read-Only:
+
+- `attributes` (Map of String)
+- `metadata` (String)
+- `metadata_url` (String)
+- `subject_format` (String)
+
+
+
+### Nested Schema for `secret`
+
+Read-Only:
+
+- `generated_secret` (String)
+- `old_secret` (String)
+- `regenerate` (Boolean)
+
+
+
+### Nested Schema for `technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `tile`
+
+Read-Only:
+
+- `uri` (String)
diff --git a/docs/data-sources/directory.md b/docs/data-sources/directory.md
new file mode 100644
index 0000000..610622f
--- /dev/null
+++ b/docs/data-sources/directory.md
@@ -0,0 +1,378 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_directory Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_directory (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `base_organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--base_organizational_unit))
+- `default_directory` (Boolean)
+- `helpdesk_group` (Attributes) (see [below for nested schema](#nestedatt--helpdesk_group))
+- `internal_directory` (Attributes) (see [below for nested schema](#nestedatt--internal_directory))
+- `l_d_a_p_directory` (Attributes) (see [below for nested schema](#nestedatt--l_d_a_p_directory))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `maintenance_directory` (Attributes) (see [below for nested schema](#nestedatt--maintenance_directory))
+- `markers` (Attributes) (see [below for nested schema](#nestedatt--markers))
+- `name` (String)
+- `o_id_c_directory` (Attributes) (see [below for nested schema](#nestedatt--o_id_c_directory))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `restrict2fa` (Boolean)
+- `rotating_password` (String)
+- `status` (Attributes) (see [below for nested schema](#nestedatt--status))
+- `type` (String)
+- `username_customizable` (Boolean)
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `base_organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--base_organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--base_organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `base_organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `base_organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `helpdesk_group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk_group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk_group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `helpdesk_group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `helpdesk_group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `internal_directory`
+
+Read-Only:
+
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--internal_directory--owner))
+
+
+### Nested Schema for `internal_directory.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--internal_directory--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--internal_directory--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `internal_directory.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `internal_directory.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `l_d_a_p_directory`
+
+Read-Only:
+
+- `attributes_to_store` (String)
+- `base_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--l_d_a_p_directory--client_certificate))
+- `dialect` (String)
+- `failover_host` (String)
+- `failover_trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--l_d_a_p_directory--failover_trusted_certificate))
+- `host` (String)
+- `password_recovery` (String)
+- `port` (Number)
+- `search_bind_dn` (String)
+- `search_bind_password` (String)
+- `search_filter` (String)
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--l_d_a_p_directory--trusted_certificate))
+
+
+### Nested Schema for `l_d_a_p_directory.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--l_d_a_p_directory--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--l_d_a_p_directory--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `l_d_a_p_directory.client_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `l_d_a_p_directory.client_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `l_d_a_p_directory.failover_trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--l_d_a_p_directory--failover_trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--l_d_a_p_directory--failover_trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `l_d_a_p_directory.failover_trusted_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `l_d_a_p_directory.failover_trusted_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `l_d_a_p_directory.trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--l_d_a_p_directory--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--l_d_a_p_directory--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `l_d_a_p_directory.trusted_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `l_d_a_p_directory.trusted_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `maintenance_directory`
+
+
+
+### Nested Schema for `markers`
+
+Read-Only:
+
+- `markers` (Attributes List) (see [below for nested schema](#nestedatt--markers--markers))
+
+
+### Nested Schema for `markers.markers`
+
+Read-Only:
+
+- `level` (String)
+- `parameters` (Map of String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `o_id_c_directory`
+
+Read-Only:
+
+- `acr_values` (String)
+- `attributes_to_store` (String)
+- `client_id` (String)
+- `client_secret` (String)
+- `domain_restriction` (String)
+- `enforces2fa` (Boolean)
+- `fully_resolved_issuer` (String)
+- `issuer` (String)
+- `logout_url` (String)
+- `send_login_hint` (Boolean)
+- `vendor_escaped` (String)
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `status`
+
+Read-Only:
+
+- `accounts` (Number)
+- `reason` (String)
+- `status` (String)
diff --git a/docs/data-sources/group.md b/docs/data-sources/group.md
new file mode 100644
index 0000000..8edfe7f
--- /dev/null
+++ b/docs/data-sources/group.md
@@ -0,0 +1,5385 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_group Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_group (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `accounts` (Attributes List) (see [below for nested schema](#nestedatt--accounts))
+- `admin` (Boolean)
+- `administered_clients` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients))
+- `administered_systems` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems))
+- `admins` (Attributes List, Deprecated) (see [below for nested schema](#nestedatt--admins))
+- `application_administration` (Boolean)
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `audit_config` (Attributes) (see [below for nested schema](#nestedatt--audit_config))
+- `audit_requested` (Boolean)
+- `auditor` (Boolean)
+- `authorized_groups` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups))
+- `authorizing_group_auditing` (Attributes) (see [below for nested schema](#nestedatt--authorizing_group_auditing))
+- `authorizing_group_delegation` (Attributes) (see [below for nested schema](#nestedatt--authorizing_group_delegation))
+- `authorizing_group_membership` (Attributes) (see [below for nested schema](#nestedatt--authorizing_group_membership))
+- `authorizing_group_provisioning` (Attributes) (see [below for nested schema](#nestedatt--authorizing_group_provisioning))
+- `authorizing_group_types` (List of String)
+- `classification` (Attributes) (see [below for nested schema](#nestedatt--classification))
+- `client_permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions))
+- `clients` (Attributes List) (see [below for nested schema](#nestedatt--clients))
+- `content_administered_systems` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems))
+- `description` (String)
+- `extended_access` (String)
+- `groupauditinginfo` (Attributes) (see [below for nested schema](#nestedatt--groupauditinginfo))
+- `groupinfo` (Attributes) (see [below for nested schema](#nestedatt--groupinfo))
+- `helpdesk` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk))
+- `hide_audit_trail` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `markers` (Attributes) (see [below for nested schema](#nestedatt--markers))
+- `myaccount` (Attributes) (see [below for nested schema](#nestedatt--myaccount))
+- `mydelegatedaccount` (Attributes) (see [below for nested schema](#nestedatt--mydelegatedaccount))
+- `name` (String)
+- `nested_groups` (Attributes List) (see [below for nested schema](#nestedatt--nested_groups))
+- `nested_under` (Attributes) (see [below for nested schema](#nestedatt--nested_under))
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--organizational_unit))
+- `owned_clients` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients))
+- `owned_directories` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories))
+- `owned_groups_on_system` (Attributes) (see [below for nested schema](#nestedatt--owned_groups_on_system))
+- `owned_organizational_units` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units))
+- `owned_systems` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `private_group` (Boolean)
+- `recent_audits` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits))
+- `record_trail` (Boolean)
+- `requeststatus` (String)
+- `rotating_password_required` (Boolean)
+- `service_accounts` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts))
+- `single_managed` (Boolean)
+- `systems` (Attributes List) (see [below for nested schema](#nestedatt--systems))
+- `vault` (Attributes) (see [below for nested schema](#nestedatt--vault))
+- `vault_recovery` (String)
+- `vault_requires_activation` (Boolean)
+- `webhooks` (Attributes List) (see [below for nested schema](#nestedatt--webhooks))
+
+
+### Nested Schema for `accounts`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--accounts--directory))
+- `disconnected_nested` (Boolean)
+- `display_name` (String)
+- `end_date` (String)
+- `last_active` (String)
+- `last_used` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--accounts--links))
+- `nested` (Boolean)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--accounts--permissions))
+- `provisioning_end_time` (String)
+- `rights` (String)
+- `two_factor_status` (String)
+- `username` (String)
+- `uuid` (String)
+- `validity` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+### Nested Schema for `accounts.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--accounts--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--accounts--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `accounts.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `accounts.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `accounts.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `accounts.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_clients`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `client_id` (String)
+- `last_modified_at` (String)
+- `ldap_client` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--ldap_client))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--links))
+- `name` (String)
+- `o_auth2_client` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--o_auth2_client))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--permissions))
+- `saml2_client` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--saml2_client))
+- `scopes` (List of String)
+- `sso_application` (Boolean)
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--technical_administrator))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_clients.ldap_client`
+
+Read-Only:
+
+- `bind_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--ldap_client--client_certificate))
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--ldap_client--shared_secret))
+- `used_for_provisioning` (Boolean)
+
+
+### Nested Schema for `administered_clients.ldap_client.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--ldap_client--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--ldap_client--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_clients.ldap_client.client_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.ldap_client.client_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_clients.ldap_client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--ldap_client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--ldap_client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_clients.ldap_client.shared_secret.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.ldap_client.shared_secret.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_clients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.o_auth2_client`
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--o_auth2_client--account_permissions))
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--o_auth2_client--shared_secret))
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+
+### Nested Schema for `administered_clients.o_auth2_client.account_permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.o_auth2_client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--o_auth2_client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--o_auth2_client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_clients.o_auth2_client.shared_secret.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.o_auth2_client.shared_secret.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_clients.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `administered_clients.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_clients.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.saml2_client`
+
+Read-Only:
+
+- `attributes` (Map of String)
+- `metadata` (String)
+- `metadata_url` (String)
+- `subject_format` (String)
+
+
+
+### Nested Schema for `administered_clients.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `administered_clients.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_systems`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `abstract_provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap))
+- `account_count` (Number)
+- `active` (Boolean)
+- `content_administrator` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--content_administrator))
+- `external_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--organizational_unit))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--permissions))
+- `provisioned_a_d` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_a_d))
+- `provisioned_azure_oidc_directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_oidc_directory))
+- `provisioned_azure_sync_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_sync_ldap_directory))
+- `provisioned_azure_tenant` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_tenant))
+- `provisioned_internal_ldap` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap))
+- `provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap))
+- `provisioned_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap_directory))
+- `self_service_existing_groups` (Boolean)
+- `self_service_new_groups` (Boolean)
+- `self_service_service_accounts` (Boolean)
+- `should_destroy_unknown_accounts` (Boolean)
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--technical_administrator))
+- `type` (String)
+- `username_prefix` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap`
+
+Read-Only:
+
+- `attributes` (Map of String)
+- `base_dn` (String)
+- `bind_dn` (String)
+- `bind_password` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--client_certificate))
+- `failover_host` (String)
+- `failover_trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--failover_trusted_certificate))
+- `group_dn` (String)
+- `host` (String)
+- `object_classes` (String)
+- `port` (Number)
+- `service_account_dn` (String)
+- `ssh_public_key_supported` (Boolean)
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--trusted_certificate))
+- `user_dn` (String)
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.client_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.client_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.failover_trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--failover_trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--failover_trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap.trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_systems.content_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--content_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--content_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.content_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.content_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_systems.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_systems.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_a_d`
+
+Read-Only:
+
+- `sam_account_name_scheme` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_oidc_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_oidc_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_azure_oidc_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_oidc_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_oidc_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_azure_oidc_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_oidc_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_sync_ldap_directory`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_sync_ldap_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_azure_sync_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_sync_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_sync_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_azure_sync_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_sync_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_tenant`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `idp_domain` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap`
+
+Read-Only:
+
+- `client` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap--client))
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap.client`
+
+Read-Only:
+
+- `bind_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap--client--client_certificate))
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap--client--shared_secret))
+- `used_for_provisioning` (Boolean)
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap.client.used_for_provisioning`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap--client--used_for_provisioning--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap--client--used_for_provisioning--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap.client.used_for_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap.client.used_for_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap.client.used_for_provisioning`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap--client--used_for_provisioning--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap--client--used_for_provisioning--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap.client.used_for_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap.client.used_for_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+
+### Nested Schema for `administered_systems.provisioned_ldap`
+
+Read-Only:
+
+- `gid` (Number)
+- `hashing_scheme` (String)
+- `numbering` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap--numbering))
+
+
+### Nested Schema for `administered_systems.provisioned_ldap.numbering`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `account_count` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap--numbering--links))
+- `name` (String)
+- `next_uid` (Number)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap--numbering--permissions))
+
+
+### Nested Schema for `administered_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_systems.provisioned_ldap_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap_directory--directory))
+- `group_dn` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.provisioned_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_systems.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `admins`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--admins--directory))
+- `disconnected_nested` (Boolean)
+- `display_name` (String)
+- `end_date` (String)
+- `last_active` (String)
+- `last_used` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--admins--links))
+- `nested` (Boolean)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--admins--permissions))
+- `provisioning_end_time` (String)
+- `rights` (String)
+- `two_factor_status` (String)
+- `username` (String)
+- `uuid` (String)
+- `validity` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+### Nested Schema for `admins.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--admins--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--admins--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `admins.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `admins.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `admins.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `admins.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `audit_config`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--audit_config--links))
+- `months` (List of String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--audit_config--permissions))
+
+
+### Nested Schema for `audit_config.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `audit_config.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups`
+
+Read-Only:
+
+- `group_count` (Number)
+- `items` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items))
+
+
+### Nested Schema for `authorized_groups.items`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `admin` (Boolean)
+- `application_administration` (Boolean)
+- `audit_config` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--audit_config))
+- `audit_requested` (Boolean)
+- `auditor` (Boolean)
+- `authorizing_group_auditing` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_auditing))
+- `authorizing_group_delegation` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_delegation))
+- `authorizing_group_membership` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_membership))
+- `authorizing_group_provisioning` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_provisioning))
+- `authorizing_group_types` (List of String)
+- `classification` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--classification))
+- `description` (String)
+- `extended_access` (String)
+- `hide_audit_trail` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--links))
+- `name` (String)
+- `nested_under` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--nested_under))
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--permissions))
+- `private_group` (Boolean)
+- `record_trail` (Boolean)
+- `rotating_password_required` (Boolean)
+- `single_managed` (Boolean)
+- `uuid` (String)
+- `vault_recovery` (String)
+- `vault_requires_activation` (Boolean)
+
+
+### Nested Schema for `authorized_groups.items.audit_config`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--audit_config--links))
+- `months` (List of String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--audit_config--permissions))
+
+
+### Nested Schema for `authorized_groups.items.audit_config.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.audit_config.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_auditing`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_auditing--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_auditing--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_auditing.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_auditing.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_delegation`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_delegation--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_delegation--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_delegation.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_delegation.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_membership`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_membership--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_membership--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_membership.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_membership.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_provisioning`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_provisioning--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--authorizing_group_provisioning--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_provisioning.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.authorizing_group_provisioning.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.classification`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--classification--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--classification--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.classification.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.classification.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.nested_under`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--nested_under--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--nested_under--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.nested_under.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.nested_under.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.organizational_unit.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.organizational_unit.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `authorizing_group_auditing`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_auditing--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_auditing--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorizing_group_auditing.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorizing_group_auditing.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorizing_group_delegation`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_delegation--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_delegation--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorizing_group_delegation.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorizing_group_delegation.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorizing_group_membership`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_membership--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_membership--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorizing_group_membership.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorizing_group_membership.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorizing_group_provisioning`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_provisioning--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorizing_group_provisioning--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorizing_group_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorizing_group_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `classification`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--classification--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--classification--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `classification.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `classification.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `client_permissions`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `client` (Attributes) (see [below for nested schema](#nestedatt--client_permissions--client))
+- `for_group` (Attributes) (see [below for nested schema](#nestedatt--client_permissions--for_group))
+- `for_system` (Attributes) (see [below for nested schema](#nestedatt--client_permissions--for_system))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--permissions))
+- `value` (String)
+
+
+### Nested Schema for `client_permissions.client`
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--client--account_permissions))
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--client_permissions--client--shared_secret))
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+
+### Nested Schema for `client_permissions.client.account_permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_permissions.client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `client_permissions.client.shared_secret.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_permissions.client.shared_secret.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `client_permissions.for_group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--for_group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--for_group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `client_permissions.for_group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_permissions.for_group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `client_permissions.for_system`
+
+Read-Only:
+
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--for_system--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--client_permissions--for_system--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--for_system--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `client_permissions.for_system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_permissions.for_system.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--for_system--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--for_system--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `client_permissions.for_system.organizational_unit.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_permissions.for_system.organizational_unit.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `client_permissions.for_system.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `client_permissions.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_permissions.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `clients`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `activation_required` (Boolean)
+- `client` (Attributes) (see [below for nested schema](#nestedatt--clients--client))
+- `group` (Attributes) (see [below for nested schema](#nestedatt--clients--group))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--clients--links))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--clients--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--clients--permissions))
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--clients--technical_administrator))
+
+
+### Nested Schema for `clients.client`
+
+Read-Only:
+
+- `client_id` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--clients--client--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--clients--client--permissions))
+- `scopes` (List of String)
+- `sso_application` (Boolean)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `clients.client.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `clients.client.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `clients.group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--clients--group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--clients--group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `clients.group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `clients.group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `clients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `clients.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--clients--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--clients--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `clients.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `clients.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `clients.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `clients.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--clients--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--clients--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `clients.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `clients.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `content_administered_systems`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `abstract_provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap))
+- `account_count` (Number)
+- `active` (Boolean)
+- `content_administrator` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--content_administrator))
+- `external_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--organizational_unit))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--permissions))
+- `provisioned_a_d` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_a_d))
+- `provisioned_azure_oidc_directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_oidc_directory))
+- `provisioned_azure_sync_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_sync_ldap_directory))
+- `provisioned_azure_tenant` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_tenant))
+- `provisioned_internal_ldap` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap))
+- `provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap))
+- `provisioned_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap_directory))
+- `self_service_existing_groups` (Boolean)
+- `self_service_new_groups` (Boolean)
+- `self_service_service_accounts` (Boolean)
+- `should_destroy_unknown_accounts` (Boolean)
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--technical_administrator))
+- `type` (String)
+- `username_prefix` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap`
+
+Read-Only:
+
+- `attributes` (Map of String)
+- `base_dn` (String)
+- `bind_dn` (String)
+- `bind_password` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--client_certificate))
+- `failover_host` (String)
+- `failover_trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--failover_trusted_certificate))
+- `group_dn` (String)
+- `host` (String)
+- `object_classes` (String)
+- `port` (Number)
+- `service_account_dn` (String)
+- `ssh_public_key_supported` (Boolean)
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--trusted_certificate))
+- `user_dn` (String)
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.client_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.client_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.failover_trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--failover_trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--failover_trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap.trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `content_administered_systems.content_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--content_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--content_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.content_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.content_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `content_administered_systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `content_administered_systems.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `content_administered_systems.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_a_d`
+
+Read-Only:
+
+- `sam_account_name_scheme` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_oidc_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_oidc_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_oidc_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_oidc_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_oidc_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_oidc_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_oidc_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_sync_ldap_directory`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_sync_ldap_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_sync_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_sync_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_sync_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_sync_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_sync_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_tenant`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `idp_domain` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap`
+
+Read-Only:
+
+- `client` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap--client))
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap.client`
+
+Read-Only:
+
+- `bind_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap--client--client_certificate))
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap--client--shared_secret))
+- `used_for_provisioning` (Boolean)
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap.client.used_for_provisioning`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap--client--used_for_provisioning--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap--client--used_for_provisioning--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap.client.used_for_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap.client.used_for_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap.client.used_for_provisioning`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap--client--used_for_provisioning--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap--client--used_for_provisioning--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap.client.used_for_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap.client.used_for_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap`
+
+Read-Only:
+
+- `gid` (Number)
+- `hashing_scheme` (String)
+- `numbering` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap--numbering))
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap.numbering`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `account_count` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap--numbering--links))
+- `name` (String)
+- `next_uid` (Number)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap--numbering--permissions))
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap_directory--directory))
+- `group_dn` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `content_administered_systems.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `groupauditinginfo`
+
+Read-Only:
+
+- `audit_due_date` (String)
+- `last_audit_date` (String)
+- `nr_accounts` (Number)
+- `nr_disabled_accounts` (Number)
+- `nr_disabled_managers` (Number)
+- `nr_expired_vault_records` (Number)
+- `nr_managers` (Number)
+- `nr_vault_records_with_end_date` (Number)
+
+
+
+### Nested Schema for `groupinfo`
+
+Read-Only:
+
+- `nr_accounts` (Number)
+- `nr_accounts_with_vault` (Number)
+- `nr_audits` (Number)
+- `nr_clients` (Number)
+- `nr_provisioned_systems` (Number)
+- `nr_vault_records` (Number)
+
+
+
+### Nested Schema for `helpdesk`
+
+Read-Only:
+
+- `domain_restriction` (String)
+- `fully_resolved_issuer` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk--permissions))
+- `status` (Attributes) (see [below for nested schema](#nestedatt--helpdesk--status))
+- `type` (String)
+- `username_customizable` (Boolean)
+
+
+### Nested Schema for `helpdesk.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `helpdesk.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `helpdesk.status`
+
+Read-Only:
+
+- `accounts` (Number)
+- `reason` (String)
+- `status` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `markers`
+
+Read-Only:
+
+- `markers` (Attributes List) (see [below for nested schema](#nestedatt--markers--markers))
+
+
+### Nested Schema for `markers.markers`
+
+Read-Only:
+
+- `level` (String)
+- `parameters` (Map of String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `myaccount`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--myaccount--directory))
+- `disconnected_nested` (Boolean)
+- `display_name` (String)
+- `end_date` (String)
+- `last_active` (String)
+- `last_used` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--myaccount--links))
+- `nested` (Boolean)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--myaccount--permissions))
+- `provisioning_end_time` (String)
+- `rights` (String)
+- `two_factor_status` (String)
+- `username` (String)
+- `uuid` (String)
+- `validity` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+### Nested Schema for `myaccount.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--myaccount--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--myaccount--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `myaccount.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `myaccount.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `myaccount.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `myaccount.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `mydelegatedaccount`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--mydelegatedaccount--directory))
+- `disconnected_nested` (Boolean)
+- `display_name` (String)
+- `end_date` (String)
+- `last_active` (String)
+- `last_used` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--mydelegatedaccount--links))
+- `nested` (Boolean)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--mydelegatedaccount--permissions))
+- `provisioning_end_time` (String)
+- `rights` (String)
+- `two_factor_status` (String)
+- `username` (String)
+- `uuid` (String)
+- `validity` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+### Nested Schema for `mydelegatedaccount.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--mydelegatedaccount--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--mydelegatedaccount--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `mydelegatedaccount.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `mydelegatedaccount.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `mydelegatedaccount.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `mydelegatedaccount.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `nested_groups`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--nested_groups--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--nested_groups--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `nested_groups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `nested_groups.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `nested_under`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--nested_under--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--nested_under--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `nested_under.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `nested_under.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_clients`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `client_id` (String)
+- `last_modified_at` (String)
+- `ldap_client` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--ldap_client))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--links))
+- `name` (String)
+- `o_auth2_client` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--o_auth2_client))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--permissions))
+- `saml2_client` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--saml2_client))
+- `scopes` (List of String)
+- `sso_application` (Boolean)
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--technical_administrator))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_clients.ldap_client`
+
+Read-Only:
+
+- `bind_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--ldap_client--client_certificate))
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--ldap_client--shared_secret))
+- `used_for_provisioning` (Boolean)
+
+
+### Nested Schema for `owned_clients.ldap_client.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--ldap_client--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--ldap_client--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_clients.ldap_client.client_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.ldap_client.client_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_clients.ldap_client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--ldap_client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--ldap_client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_clients.ldap_client.shared_secret.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.ldap_client.shared_secret.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_clients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.o_auth2_client`
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--o_auth2_client--account_permissions))
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--o_auth2_client--shared_secret))
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+
+### Nested Schema for `owned_clients.o_auth2_client.account_permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.o_auth2_client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--o_auth2_client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--o_auth2_client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_clients.o_auth2_client.shared_secret.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.o_auth2_client.shared_secret.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_clients.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_clients.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_clients.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.saml2_client`
+
+Read-Only:
+
+- `attributes` (Map of String)
+- `metadata` (String)
+- `metadata_url` (String)
+- `subject_format` (String)
+
+
+
+### Nested Schema for `owned_clients.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_clients.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_directories`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `base_organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--base_organizational_unit))
+- `default_directory` (Boolean)
+- `helpdesk_group` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--helpdesk_group))
+- `internal_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--internal_directory))
+- `l_d_a_p_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--links))
+- `maintenance_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--maintenance_directory))
+- `name` (String)
+- `o_id_c_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--o_id_c_directory))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--permissions))
+- `restrict2fa` (Boolean)
+- `rotating_password` (String)
+- `type` (String)
+- `username_customizable` (Boolean)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.base_organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--base_organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--base_organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.base_organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.base_organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_directories.helpdesk_group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--helpdesk_group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--helpdesk_group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.helpdesk_group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.helpdesk_group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_directories.internal_directory`
+
+Read-Only:
+
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--internal_directory--owner))
+
+
+### Nested Schema for `owned_directories.internal_directory.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--internal_directory--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--internal_directory--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.internal_directory.owner.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.internal_directory.owner.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory`
+
+Read-Only:
+
+- `attributes_to_store` (String)
+- `base_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--client_certificate))
+- `dialect` (String)
+- `failover_host` (String)
+- `failover_trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--failover_trusted_certificate))
+- `host` (String)
+- `password_recovery` (String)
+- `port` (Number)
+- `search_bind_dn` (String)
+- `search_bind_password` (String)
+- `search_filter` (String)
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--trusted_certificate))
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.client_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.client_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.failover_trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--failover_trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--failover_trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory.trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_directories.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.maintenance_directory`
+
+
+
+### Nested Schema for `owned_directories.o_id_c_directory`
+
+Read-Only:
+
+- `acr_values` (String)
+- `attributes_to_store` (String)
+- `client_id` (String)
+- `client_secret` (String)
+- `domain_restriction` (String)
+- `enforces2fa` (Boolean)
+- `fully_resolved_issuer` (String)
+- `issuer` (String)
+- `logout_url` (String)
+- `send_login_hint` (Boolean)
+- `vendor_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_groups_on_system`
+
+Read-Only:
+
+- `items` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items))
+- `unlinked_count` (Number)
+
+
+### Nested Schema for `owned_groups_on_system.items`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `display_name` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items--links))
+- `name_in_system` (String)
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owned_groups_on_system--items--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items--permissions))
+- `short_name_in_system` (String)
+- `type` (String)
+
+
+### Nested Schema for `owned_groups_on_system.items.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_groups_on_system.items.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_groups_on_system.items.owner.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_groups_on_system.items.owner.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_groups_on_system.items.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_organizational_units`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `depth` (Number)
+- `description` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--links))
+- `name` (String)
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owned_organizational_units--owner))
+- `parent` (Attributes) (see [below for nested schema](#nestedatt--owned_organizational_units--parent))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_organizational_units.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_organizational_units.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_organizational_units.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_organizational_units.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_organizational_units.parent`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--parent--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--parent--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_organizational_units.parent.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_organizational_units.parent.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_organizational_units.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `abstract_provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap))
+- `account_count` (Number)
+- `active` (Boolean)
+- `content_administrator` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--content_administrator))
+- `external_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--organizational_unit))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--permissions))
+- `provisioned_a_d` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_a_d))
+- `provisioned_azure_oidc_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_oidc_directory))
+- `provisioned_azure_sync_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_sync_ldap_directory))
+- `provisioned_azure_tenant` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_tenant))
+- `provisioned_internal_ldap` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap))
+- `provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap))
+- `provisioned_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap_directory))
+- `self_service_existing_groups` (Boolean)
+- `self_service_new_groups` (Boolean)
+- `self_service_service_accounts` (Boolean)
+- `should_destroy_unknown_accounts` (Boolean)
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--technical_administrator))
+- `type` (String)
+- `username_prefix` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap`
+
+Read-Only:
+
+- `attributes` (Map of String)
+- `base_dn` (String)
+- `bind_dn` (String)
+- `bind_password` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--client_certificate))
+- `failover_host` (String)
+- `failover_trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--failover_trusted_certificate))
+- `group_dn` (String)
+- `host` (String)
+- `object_classes` (String)
+- `port` (Number)
+- `service_account_dn` (String)
+- `ssh_public_key_supported` (Boolean)
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--trusted_certificate))
+- `user_dn` (String)
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.client_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.client_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.failover_trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--failover_trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--failover_trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.failover_trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.trusted_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap.trusted_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_systems.content_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--content_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--content_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.content_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.content_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_a_d`
+
+Read-Only:
+
+- `sam_account_name_scheme` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_oidc_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_oidc_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_azure_oidc_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_oidc_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_oidc_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_azure_oidc_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_oidc_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_sync_ldap_directory`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_sync_ldap_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_azure_sync_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_sync_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_sync_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_azure_sync_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_sync_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_tenant`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `idp_domain` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap`
+
+Read-Only:
+
+- `client` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap--client))
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap.client`
+
+Read-Only:
+
+- `bind_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap--client--client_certificate))
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap--client--shared_secret))
+- `used_for_provisioning` (Boolean)
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap.client.used_for_provisioning`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap--client--used_for_provisioning--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap--client--used_for_provisioning--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap.client.used_for_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap.client.used_for_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap.client.used_for_provisioning`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap--client--used_for_provisioning--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap--client--used_for_provisioning--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap.client.used_for_provisioning.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap.client.used_for_provisioning.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+
+### Nested Schema for `owned_systems.provisioned_ldap`
+
+Read-Only:
+
+- `gid` (Number)
+- `hashing_scheme` (String)
+- `numbering` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap--numbering))
+
+
+### Nested Schema for `owned_systems.provisioned_ldap.numbering`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `account_count` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap--numbering--links))
+- `name` (String)
+- `next_uid` (Number)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap--numbering--permissions))
+
+
+### Nested Schema for `owned_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_systems.provisioned_ldap_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap_directory--directory))
+- `group_dn` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.provisioned_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_ldap_directory.directory.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_systems.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `recent_audits`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `accounts` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--accounts))
+- `comment` (String)
+- `created_at` (String)
+- `created_by` (String)
+- `group_name` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--links))
+- `name_on_audit` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--permissions))
+- `reviewed_at` (String)
+- `reviewed_by` (String)
+- `status` (String)
+- `submitted_at` (String)
+- `submitted_by` (String)
+
+
+### Nested Schema for `recent_audits.accounts`
+
+Read-Only:
+
+- `account_uuid` (String)
+- `account_valid` (Boolean)
+- `action` (String)
+- `comment` (String)
+- `disconnected_nested` (Boolean)
+- `display_name` (String)
+- `end_date` (String)
+- `last_active` (String)
+- `last_used` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--accounts--links))
+- `nested` (Boolean)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--accounts--permissions))
+- `rights` (String)
+- `username` (String)
+
+
+### Nested Schema for `recent_audits.accounts.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `recent_audits.accounts.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `recent_audits.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `recent_audits.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `service_accounts`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `active` (Boolean)
+- `description` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--links))
+- `name` (String)
+- `password` (Attributes) (see [below for nested schema](#nestedatt--service_accounts--password))
+- `password_rotation` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--permissions))
+- `system` (Attributes) (see [below for nested schema](#nestedatt--service_accounts--system))
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--service_accounts--technical_administrator))
+- `username` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `service_accounts.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.password`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--password--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--password--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `service_accounts.password.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.password.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `service_accounts.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.system`
+
+Read-Only:
+
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--system--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--service_accounts--system--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--system--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `service_accounts.system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.system.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--system--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--system--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `service_accounts.system.organizational_unit.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.system.organizational_unit.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `service_accounts.system.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `service_accounts.technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `service_accounts.technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `systems`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `activation_required` (Boolean)
+- `group` (Attributes) (see [below for nested schema](#nestedatt--systems--group))
+- `group_on_system` (Attributes) (see [below for nested schema](#nestedatt--systems--group_on_system))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--systems--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--systems--permissions))
+
+
+### Nested Schema for `systems.group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--systems--group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--systems--group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `systems.group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `systems.group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `systems.group_on_system`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `display_name` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--systems--group_on_system--links))
+- `name_in_system` (String)
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--systems--group_on_system--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--systems--group_on_system--permissions))
+- `short_name_in_system` (String)
+- `type` (String)
+
+
+### Nested Schema for `systems.group_on_system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `systems.group_on_system.owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--systems--group_on_system--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--systems--group_on_system--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `systems.group_on_system.owner.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `systems.group_on_system.owner.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `systems.group_on_system.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `systems.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `vault`
+
+Read-Only:
+
+- `access_available` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--vault--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--vault--permissions))
+- `records` (Attributes List) (see [below for nested schema](#nestedatt--vault--records))
+
+
+### Nested Schema for `vault.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `vault.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `vault.records`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `color` (String)
+- `derived` (Boolean)
+- `end_date` (String)
+- `filename` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--vault--records--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--vault--records--permissions))
+- `share_end_time` (String)
+- `types` (List of String)
+- `url` (String)
+- `username` (String)
+- `uuid` (String)
+- `warning_period` (String)
+
+
+### Nested Schema for `vault.records.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `vault.records.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `webhooks`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `account` (Attributes) (see [below for nested schema](#nestedatt--webhooks--account))
+- `active` (Boolean)
+- `all_types` (Boolean)
+- `authentication_scheme` (String)
+- `basic_auth_password` (String)
+- `basic_auth_username` (String)
+- `bearer_token` (String)
+- `client` (Attributes) (see [below for nested schema](#nestedatt--webhooks--client))
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--webhooks--client_certificate))
+- `custom_header_name` (String)
+- `custom_header_value` (String)
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--webhooks--directory))
+- `group` (Attributes) (see [below for nested schema](#nestedatt--webhooks--group))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--permissions))
+- `system` (Attributes) (see [below for nested schema](#nestedatt--webhooks--system))
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--webhooks--trusted_certificate))
+- `types` (List of String)
+- `url` (String)
+- `uuid` (String)
+- `verbose_payloads` (Boolean)
+
+
+### Nested Schema for `webhooks.account`
+
+Read-Only:
+
+- `display_name` (String)
+- `last_active` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--account--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--account--permissions))
+- `username` (String)
+- `uuid` (String)
+- `validity` (String)
+
+
+### Nested Schema for `webhooks.account.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.account.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks.client`
+
+Read-Only:
+
+- `client_id` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--client--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--client--permissions))
+- `scopes` (List of String)
+- `sso_application` (Boolean)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.client.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.client.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.client_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.client_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks.group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.system`
+
+Read-Only:
+
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--system--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--webhooks--system--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--system--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.system.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--system--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--system--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.system.organizational_unit.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.system.organizational_unit.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks.system.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks.trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.trusted_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.trusted_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/data-sources/groupclassification.md b/docs/data-sources/groupclassification.md
new file mode 100644
index 0000000..716b026
--- /dev/null
+++ b/docs/data-sources/groupclassification.md
@@ -0,0 +1,84 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_groupclassification Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_groupclassification (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `authorizing_group_auditing_required` (Boolean)
+- `authorizing_group_delegation_required` (Boolean)
+- `authorizing_group_membership_required` (Boolean)
+- `authorizing_group_provisioning_required` (Boolean)
+- `default_classification` (Boolean)
+- `description` (String)
+- `info` (Attributes) (see [below for nested schema](#nestedatt--info))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `maximum_audit_interval` (Number)
+- `minimum_nr_managers` (Number)
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `record_trail_required` (Boolean)
+- `required_months` (List of String)
+- `rotating_password_required` (Boolean)
+- `vault_requires_activation` (Boolean)
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `info`
+
+Read-Only:
+
+- `nr_groups` (Number)
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/data-sources/organizationalunit.md b/docs/data-sources/organizationalunit.md
new file mode 100644
index 0000000..5709d14
--- /dev/null
+++ b/docs/data-sources/organizationalunit.md
@@ -0,0 +1,134 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_organizationalunit Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_organizationalunit (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `depth` (Number)
+- `description` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `name` (String)
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owner))
+- `parent` (Attributes) (see [below for nested schema](#nestedatt--parent))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `parent`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--parent--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--parent--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `parent.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `parent.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/data-sources/scaffolding_example.md b/docs/data-sources/scaffolding_example.md
deleted file mode 100644
index 9c9de1e..0000000
--- a/docs/data-sources/scaffolding_example.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "scaffolding_example Data Source - terraform-provider-scaffolding-framework"
-subcategory: ""
-description: |-
- Example data source
----
-
-# scaffolding_example (Data Source)
-
-Example data source
-
-## Example Usage
-
-```terraform
-data "scaffolding_example" "example" {
- configurable_attribute = "some-value"
-}
-```
-
-
-## Schema
-
-### Optional
-
-- `configurable_attribute` (String) Example configurable attribute
-
-### Read-Only
-
-- `id` (String) Example identifier
diff --git a/docs/data-sources/serviceaccount.md b/docs/data-sources/serviceaccount.md
new file mode 100644
index 0000000..f0031a6
--- /dev/null
+++ b/docs/data-sources/serviceaccount.md
@@ -0,0 +1,264 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_serviceaccount Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_serviceaccount (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `active` (Boolean)
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `description` (String)
+- `groups` (Attributes List) (see [below for nested schema](#nestedatt--groups))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `name` (String)
+- `password` (Attributes) (see [below for nested schema](#nestedatt--password))
+- `password_rotation` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `secret` (Attributes) (see [below for nested schema](#nestedatt--secret))
+- `system` (Attributes) (see [below for nested schema](#nestedatt--system))
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--technical_administrator))
+- `username` (String)
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `groups`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `display_name` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--links))
+- `name_in_system` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--permissions))
+- `short_name_in_system` (String)
+- `type` (String)
+
+
+### Nested Schema for `groups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `password`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--password--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--password--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `password.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `password.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `secret`
+
+Read-Only:
+
+- `generated_secret` (String)
+- `old_secret` (String)
+- `regenerate` (Boolean)
+
+
+
+### Nested Schema for `system`
+
+Required:
+
+- `uuid` (String)
+
+Read-Only:
+
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--system--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--system--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--system--permissions))
+- `type` (String)
+
+
+### Nested Schema for `system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `system.organizational_unit`
+
+Required:
+
+- `uuid` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--system--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--system--organizational_unit--permissions))
+
+
+### Nested Schema for `system.organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `system.organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `system.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/data-sources/system.md b/docs/data-sources/system.md
new file mode 100644
index 0000000..6d9bb70
--- /dev/null
+++ b/docs/data-sources/system.md
@@ -0,0 +1,965 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_system Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_system (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `abstract_provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap))
+- `account` (Attributes) (see [below for nested schema](#nestedatt--account))
+- `account_count` (Number)
+- `active` (Boolean)
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `content_administrator` (Attributes) (see [below for nested schema](#nestedatt--content_administrator))
+- `external_uuid` (String)
+- `issued_permissions` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `login_name` (String)
+- `management_permissions` (Attributes) (see [below for nested schema](#nestedatt--management_permissions))
+- `markers` (Attributes) (see [below for nested schema](#nestedatt--markers))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--organizational_unit))
+- `owner` (Attributes) (see [below for nested schema](#nestedatt--owner))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `provisioned_a_d` (Attributes) (see [below for nested schema](#nestedatt--provisioned_a_d))
+- `provisioned_azure_oidc_directory` (Attributes) (see [below for nested schema](#nestedatt--provisioned_azure_oidc_directory))
+- `provisioned_azure_sync_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--provisioned_azure_sync_ldap_directory))
+- `provisioned_azure_tenant` (Attributes) (see [below for nested schema](#nestedatt--provisioned_azure_tenant))
+- `provisioned_internal_ldap` (Attributes) (see [below for nested schema](#nestedatt--provisioned_internal_ldap))
+- `provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--provisioned_ldap))
+- `provisioned_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--provisioned_ldap_directory))
+- `self_service_existing_groups` (Boolean)
+- `self_service_new_groups` (Boolean)
+- `self_service_service_accounts` (Boolean)
+- `should_destroy_unknown_accounts` (Boolean)
+- `statistics` (Attributes) (see [below for nested schema](#nestedatt--statistics))
+- `supported_group_types` (Attributes) (see [below for nested schema](#nestedatt--supported_group_types))
+- `technical_administrator` (Attributes) (see [below for nested schema](#nestedatt--technical_administrator))
+- `type` (String)
+- `username_prefix` (String)
+
+
+### Nested Schema for `abstract_provisioned_ldap`
+
+Read-Only:
+
+- `attributes` (Map of String)
+- `base_dn` (String)
+- `bind_dn` (String)
+- `bind_password` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--client_certificate))
+- `failover_host` (String)
+- `failover_trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--failover_trusted_certificate))
+- `group_dn` (String)
+- `host` (String)
+- `object_classes` (String)
+- `port` (Number)
+- `service_account_dn` (String)
+- `ssh_public_key_supported` (Boolean)
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--trusted_certificate))
+- `user_dn` (String)
+
+
+### Nested Schema for `abstract_provisioned_ldap.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `abstract_provisioned_ldap.client_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `abstract_provisioned_ldap.client_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `abstract_provisioned_ldap.failover_trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--failover_trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--failover_trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `abstract_provisioned_ldap.failover_trusted_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `abstract_provisioned_ldap.failover_trusted_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `abstract_provisioned_ldap.trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--abstract_provisioned_ldap--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `abstract_provisioned_ldap.trusted_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `abstract_provisioned_ldap.trusted_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `account`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `display_name` (String)
+- `last_active` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--account--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--account--permissions))
+- `uid` (Number)
+- `username` (String)
+- `uuid` (String)
+- `validity` (String)
+
+
+### Nested Schema for `account.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `account.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `content_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `content_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `issued_permissions`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `client` (Attributes) (see [below for nested schema](#nestedatt--issued_permissions--client))
+- `for_group` (Attributes) (see [below for nested schema](#nestedatt--issued_permissions--for_group))
+- `for_system` (Attributes) (see [below for nested schema](#nestedatt--issued_permissions--for_system))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--permissions))
+- `value` (String)
+
+
+### Nested Schema for `issued_permissions.client`
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--client--account_permissions))
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--issued_permissions--client--shared_secret))
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+
+### Nested Schema for `issued_permissions.client.account_permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `issued_permissions.client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `issued_permissions.client.shared_secret.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `issued_permissions.client.shared_secret.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `issued_permissions.for_group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--for_group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--for_group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `issued_permissions.for_group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `issued_permissions.for_group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `issued_permissions.for_system`
+
+Read-Only:
+
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--for_system--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--issued_permissions--for_system--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--for_system--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `issued_permissions.for_system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `issued_permissions.for_system.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--for_system--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--issued_permissions--for_system--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `issued_permissions.for_system.organizational_unit.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `issued_permissions.for_system.organizational_unit.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `issued_permissions.for_system.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `issued_permissions.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `issued_permissions.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `management_permissions`
+
+Read-Only:
+
+- `create_new_groups_allowed` (Boolean)
+- `create_service_accounts_allowed` (Boolean)
+- `reuse_existing_groups_allowed` (Boolean)
+
+
+
+### Nested Schema for `markers`
+
+Read-Only:
+
+- `markers` (Attributes List) (see [below for nested schema](#nestedatt--markers--markers))
+
+
+### Nested Schema for `markers.markers`
+
+Read-Only:
+
+- `level` (String)
+- `parameters` (Map of String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `organizational_unit`
+
+Required:
+
+- `uuid` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--organizational_unit--permissions))
+
+
+### Nested Schema for `organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owner`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owner--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owner--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owner.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owner.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provisioned_a_d`
+
+Read-Only:
+
+- `sam_account_name_scheme` (String)
+
+
+
+### Nested Schema for `provisioned_azure_oidc_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--provisioned_azure_oidc_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `provisioned_azure_oidc_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_azure_oidc_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_azure_oidc_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `provisioned_azure_oidc_directory.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provisioned_azure_oidc_directory.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `provisioned_azure_sync_ldap_directory`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--provisioned_azure_sync_ldap_directory--directory))
+- `tenant` (String)
+
+
+### Nested Schema for `provisioned_azure_sync_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_azure_sync_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_azure_sync_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `provisioned_azure_sync_ldap_directory.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provisioned_azure_sync_ldap_directory.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `provisioned_azure_tenant`
+
+Read-Only:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `idp_domain` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `provisioned_internal_ldap`
+
+Read-Only:
+
+- `client` (Attributes) (see [below for nested schema](#nestedatt--provisioned_internal_ldap--client))
+
+
+### Nested Schema for `provisioned_internal_ldap.client`
+
+Read-Only:
+
+- `bind_dn` (String)
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--provisioned_internal_ldap--client--client_certificate))
+- `share_secret_in_vault` (Boolean)
+- `shared_secret` (Attributes) (see [below for nested schema](#nestedatt--provisioned_internal_ldap--client--shared_secret))
+- `used_for_provisioning` (Boolean)
+
+
+### Nested Schema for `provisioned_internal_ldap.client.client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_internal_ldap--client--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_internal_ldap--client--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `provisioned_internal_ldap.client.client_certificate.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provisioned_internal_ldap.client.client_certificate.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `provisioned_internal_ldap.client.shared_secret`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_internal_ldap--client--shared_secret--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_internal_ldap--client--shared_secret--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `provisioned_internal_ldap.client.shared_secret.uuid`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provisioned_internal_ldap.client.shared_secret.uuid`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+
+### Nested Schema for `provisioned_ldap`
+
+Read-Only:
+
+- `gid` (Number)
+- `hashing_scheme` (String)
+- `numbering` (Attributes) (see [below for nested schema](#nestedatt--provisioned_ldap--numbering))
+
+
+### Nested Schema for `provisioned_ldap.numbering`
+
+Optional:
+
+- `additional` (List of String)
+
+Read-Only:
+
+- `account_count` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_ldap--numbering--links))
+- `name` (String)
+- `next_uid` (Number)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_ldap--numbering--permissions))
+
+
+### Nested Schema for `provisioned_ldap.numbering.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `provisioned_ldap_directory`
+
+Read-Only:
+
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--provisioned_ldap_directory--directory))
+- `group_dn` (String)
+
+
+### Nested Schema for `provisioned_ldap_directory.directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_ldap_directory--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provisioned_ldap_directory--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `provisioned_ldap_directory.directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provisioned_ldap_directory.directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `statistics`
+
+Read-Only:
+
+- `number_of_failed_calls` (Number)
+- `number_of_not_permitted_calls` (Number)
+- `number_of_successful_calls` (Number)
+- `state` (String)
+
+
+
+### Nested Schema for `supported_group_types`
+
+Read-Only:
+
+- `types` (List of String)
+
+
+
+### Nested Schema for `technical_administrator`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--technical_administrator--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--technical_administrator--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `technical_administrator.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `technical_administrator.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/data-sources/vaultrecord.md b/docs/data-sources/vaultrecord.md
new file mode 100644
index 0000000..efe729e
--- /dev/null
+++ b/docs/data-sources/vaultrecord.md
@@ -0,0 +1,211 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_vaultrecord Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_vaultrecord (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `color` (String)
+- `derived` (Boolean)
+- `end_date` (String)
+- `filename` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `name` (String)
+- `parent` (Attributes) (see [below for nested schema](#nestedatt--parent))
+- `password_metadata` (Attributes) (see [below for nested schema](#nestedatt--password_metadata))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `secret` (Attributes) (see [below for nested schema](#nestedatt--secret))
+- `share_end_time` (String)
+- `share_summary` (Attributes) (see [below for nested schema](#nestedatt--share_summary))
+- `shares` (Attributes List) (see [below for nested schema](#nestedatt--shares))
+- `tile` (Attributes) (see [below for nested schema](#nestedatt--tile))
+- `types` (List of String)
+- `url` (String)
+- `username` (String)
+- `vaultholder` (Attributes) (see [below for nested schema](#nestedatt--vaultholder))
+- `warning_period` (String)
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `parent`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--parent--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--parent--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `parent.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `parent.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `password_metadata`
+
+Read-Only:
+
+- `dictionary` (Boolean)
+- `duplicate` (Boolean)
+- `hash` (String)
+- `length` (Number)
+- `lower_count` (Number)
+- `number_count` (Number)
+- `special_count` (Number)
+- `strength` (Number)
+- `upper_count` (Number)
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `secret`
+
+Read-Only:
+
+- `comment` (String)
+- `file` (String)
+- `password` (String)
+- `totp` (String)
+
+
+
+### Nested Schema for `share_summary`
+
+Read-Only:
+
+- `children` (Attributes List) (see [below for nested schema](#nestedatt--share_summary--children))
+- `parent` (Attributes) (see [below for nested schema](#nestedatt--share_summary--parent))
+
+
+### Nested Schema for `share_summary.children`
+
+Read-Only:
+
+- `name` (String)
+- `type` (String)
+
+
+
+### Nested Schema for `share_summary.parent`
+
+Read-Only:
+
+- `name` (String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `shares`
+
+Read-Only:
+
+- `color` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--shares--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--shares--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `shares.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `shares.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `tile`
+
+
+
+### Nested Schema for `vaultholder`
diff --git a/docs/data-sources/webhook.md b/docs/data-sources/webhook.md
new file mode 100644
index 0000000..9eace9d
--- /dev/null
+++ b/docs/data-sources/webhook.md
@@ -0,0 +1,373 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_webhook Data Source - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_webhook (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `uuid` (String)
+
+### Optional
+
+- `additional` (List of String)
+
+### Read-Only
+
+- `account` (Attributes) (see [below for nested schema](#nestedatt--account))
+- `active` (Boolean)
+- `all_types` (Boolean)
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `authentication_scheme` (String)
+- `basic_auth_password` (String)
+- `basic_auth_username` (String)
+- `bearer_token` (String)
+- `client` (Attributes) (see [below for nested schema](#nestedatt--client))
+- `client_certificate` (Attributes) (see [below for nested schema](#nestedatt--client_certificate))
+- `custom_header_name` (String)
+- `custom_header_value` (String)
+- `directory` (Attributes) (see [below for nested schema](#nestedatt--directory))
+- `group` (Attributes) (see [below for nested schema](#nestedatt--group))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `system` (Attributes) (see [below for nested schema](#nestedatt--system))
+- `tls` (String)
+- `trusted_certificate` (Attributes) (see [below for nested schema](#nestedatt--trusted_certificate))
+- `types` (List of String)
+- `url` (String)
+- `verbose_payloads` (Boolean)
+
+
+### Nested Schema for `account`
+
+Read-Only:
+
+- `display_name` (String)
+- `last_active` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--account--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--account--permissions))
+- `username` (String)
+- `uuid` (String)
+- `validity` (String)
+
+
+### Nested Schema for `account.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `account.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `audit`
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `client`
+
+Read-Only:
+
+- `client_id` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client--permissions))
+- `scopes` (List of String)
+- `sso_application` (Boolean)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `client.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `client_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `client_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `directory`
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--directory--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--directory--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `directory.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `directory.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `group`
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--group--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--group--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `group.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `group.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `system`
+
+Read-Only:
+
+- `active` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--system--links))
+- `name` (String)
+- `organizational_unit` (Attributes) (see [below for nested schema](#nestedatt--system--organizational_unit))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--system--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `system.organizational_unit`
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--system--organizational_unit--links))
+- `name` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--system--organizational_unit--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `system.organizational_unit.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `system.organizational_unit.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `system.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `trusted_certificate`
+
+Read-Only:
+
+- `alias` (String)
+- `certificate_data` (List of String)
+- `expiration` (String)
+- `fingerprint_sha1` (String)
+- `fingerprint_sha256` (String)
+- `global` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--trusted_certificate--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--trusted_certificate--permissions))
+- `subject_dn` (String)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `trusted_certificate.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `trusted_certificate.permissions`
+
+Read-Only:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/index.md b/docs/index.md
index 8eecef4..f0c9a53 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,12 +1,12 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "scaffolding-framework Provider"
+page_title: "keyhubpreview Provider"
subcategory: ""
description: |-
---
-# scaffolding-framework Provider
+# keyhubpreview Provider
@@ -23,4 +23,6 @@ provider "scaffolding" {
### Optional
-- `endpoint` (String) Example provider attribute
+- `clientid` (String)
+- `clientsecret` (String, Sensitive)
+- `issuer` (String)
diff --git a/docs/resources/client_vaultrecord.md b/docs/resources/client_vaultrecord.md
new file mode 100644
index 0000000..6836e0c
--- /dev/null
+++ b/docs/resources/client_vaultrecord.md
@@ -0,0 +1,184 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_client_vaultrecord Resource - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_client_vaultrecord (Resource)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `client_application_uuid` (String)
+- `name` (String)
+
+### Optional
+
+- `color` (String)
+- `delete_tile` (Boolean)
+- `end_date` (String)
+- `filename` (String)
+- `secret` (Attributes) (see [below for nested schema](#nestedatt--secret))
+- `tile` (Attributes) (see [below for nested schema](#nestedatt--tile))
+- `url` (String)
+- `username` (String)
+- `warning_period` (String)
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `derived` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `parent_uuid` (String)
+- `password_metadata` (Attributes) (see [below for nested schema](#nestedatt--password_metadata))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `share_end_time` (String)
+- `share_summary` (Attributes) (see [below for nested schema](#nestedatt--share_summary))
+- `shares` (Attributes List) (see [below for nested schema](#nestedatt--shares))
+- `types` (List of String)
+- `uuid` (String)
+- `vaultholder` (Attributes) (see [below for nested schema](#nestedatt--vaultholder))
+
+
+### Nested Schema for `secret`
+
+Optional:
+
+- `comment` (String)
+- `file` (String)
+- `password` (String)
+- `totp` (String)
+- `write_totp` (Boolean)
+
+
+
+### Nested Schema for `tile`
+
+
+
+### Nested Schema for `audit`
+
+Optional:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `password_metadata`
+
+Optional:
+
+- `dictionary` (Boolean)
+- `duplicate` (Boolean)
+- `hash` (String)
+- `length` (Number)
+- `lower_count` (Number)
+- `number_count` (Number)
+- `special_count` (Number)
+- `strength` (Number)
+- `upper_count` (Number)
+
+
+
+### Nested Schema for `permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `share_summary`
+
+Optional:
+
+- `children` (Attributes List) (see [below for nested schema](#nestedatt--share_summary--children))
+- `parent` (Attributes) (see [below for nested schema](#nestedatt--share_summary--parent))
+
+
+### Nested Schema for `share_summary.children`
+
+Optional:
+
+- `name` (String)
+- `type` (String)
+
+
+
+### Nested Schema for `share_summary.parent`
+
+Optional:
+
+- `name` (String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `shares`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `color` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--shares--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--shares--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `shares.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `shares.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `vaultholder`
diff --git a/docs/resources/clientapplication.md b/docs/resources/clientapplication.md
new file mode 100644
index 0000000..9e4f42c
--- /dev/null
+++ b/docs/resources/clientapplication.md
@@ -0,0 +1,293 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_clientapplication Resource - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_clientapplication (Resource)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `name` (String)
+
+### Optional
+
+- `client_id` (String)
+- `delete_tile` (Boolean)
+- `groupclients` (Attributes List) (see [below for nested schema](#nestedatt--groupclients))
+- `ldap_client` (Attributes) (see [below for nested schema](#nestedatt--ldap_client))
+- `o_auth2_client` (Attributes) (see [below for nested schema](#nestedatt--o_auth2_client))
+- `owner_uuid` (String)
+- `saml2_client` (Attributes) (see [below for nested schema](#nestedatt--saml2_client))
+- `scopes` (List of String)
+- `secret` (Attributes) (see [below for nested schema](#nestedatt--secret))
+- `technical_administrator_uuid` (String)
+- `tile` (Attributes) (see [below for nested schema](#nestedatt--tile))
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `groups` (Attributes List) (see [below for nested schema](#nestedatt--groups))
+- `last_modified_at` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `sso_application` (Boolean)
+- `type` (String)
+- `uuid` (String)
+- `vault_record_count` (Number)
+
+
+### Nested Schema for `groupclients`
+
+Optional:
+
+- `activation_required` (Boolean)
+
+Read-Only:
+
+- `client_uuid` (String)
+- `group_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--links))
+- `owner_uuid` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groupclients--permissions))
+- `technical_administrator_uuid` (String)
+
+
+### Nested Schema for `groupclients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groupclients.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `ldap_client`
+
+Optional:
+
+- `client_certificate_uuid` (String)
+- `share_secret_in_vault` (Boolean)
+
+Read-Only:
+
+- `bind_dn` (String)
+- `shared_secret_uuid` (String)
+- `used_for_provisioning` (Boolean)
+
+
+
+### Nested Schema for `o_auth2_client`
+
+Optional:
+
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--o_auth2_client--account_permissions))
+- `shared_secret_uuid` (String)
+
+
+### Nested Schema for `o_auth2_client.account_permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `saml2_client`
+
+Required:
+
+- `subject_format` (String)
+
+Optional:
+
+- `attributes` (Map of String)
+- `metadata` (String)
+- `metadata_url` (String)
+
+
+
+### Nested Schema for `secret`
+
+Optional:
+
+- `generated_secret` (String)
+- `old_secret` (String)
+- `regenerate` (Boolean)
+
+
+
+### Nested Schema for `tile`
+
+Optional:
+
+- `uri` (String)
+
+
+
+### Nested Schema for `audit`
+
+Optional:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `groups`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `application_administration` (Boolean)
+- `audit_config` (Attributes) (see [below for nested schema](#nestedatt--groups--audit_config))
+- `authorizing_group_auditing_uuid` (String)
+- `authorizing_group_delegation_uuid` (String)
+- `authorizing_group_membership_uuid` (String)
+- `authorizing_group_provisioning_uuid` (String)
+- `classification_uuid` (String)
+- `description` (String)
+- `extended_access` (String)
+- `hide_audit_trail` (Boolean)
+- `nested_under_uuid` (String)
+- `organizational_unit_uuid` (String)
+- `private_group` (Boolean)
+- `record_trail` (Boolean)
+- `rotating_password_required` (Boolean)
+- `single_managed` (Boolean)
+- `vault_recovery` (String)
+- `vault_requires_activation` (Boolean)
+
+Read-Only:
+
+- `admin` (Boolean)
+- `audit_requested` (Boolean)
+- `auditor` (Boolean)
+- `authorizing_group_types` (List of String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `groups.audit_config`
+
+Optional:
+
+- `months` (List of String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--audit_config--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--audit_config--permissions))
+
+
+### Nested Schema for `groups.audit_config.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.audit_config.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/resources/group.md b/docs/resources/group.md
new file mode 100644
index 0000000..d380cda
--- /dev/null
+++ b/docs/resources/group.md
@@ -0,0 +1,1893 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_group Resource - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_group (Resource)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `name` (String)
+
+### Optional
+
+- `accounts` (Attributes List) (see [below for nested schema](#nestedatt--accounts))
+- `admins` (Attributes List, Deprecated) (see [below for nested schema](#nestedatt--admins))
+- `application_administration` (Boolean)
+- `audit_config` (Attributes) (see [below for nested schema](#nestedatt--audit_config))
+- `authorizing_group_auditing_uuid` (String)
+- `authorizing_group_delegation_uuid` (String)
+- `authorizing_group_membership_uuid` (String)
+- `authorizing_group_provisioning_uuid` (String)
+- `classification_uuid` (String)
+- `client_permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions))
+- `description` (String)
+- `extended_access` (String)
+- `hide_audit_trail` (Boolean)
+- `nested_under_uuid` (String)
+- `organizational_unit_uuid` (String)
+- `private_group` (Boolean)
+- `record_trail` (Boolean)
+- `rotating_password_required` (Boolean)
+- `single_managed` (Boolean)
+- `vault_recovery` (String)
+- `vault_requires_activation` (Boolean)
+
+### Read-Only
+
+- `admin` (Boolean)
+- `administered_clients` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients))
+- `administered_systems` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems))
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `audit_requested` (Boolean)
+- `auditor` (Boolean)
+- `authorized_groups` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups))
+- `authorizing_group_types` (List of String)
+- `clients` (Attributes List) (see [below for nested schema](#nestedatt--clients))
+- `content_administered_systems` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems))
+- `groupauditinginfo` (Attributes) (see [below for nested schema](#nestedatt--groupauditinginfo))
+- `groupinfo` (Attributes) (see [below for nested schema](#nestedatt--groupinfo))
+- `helpdesk` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `markers` (Attributes) (see [below for nested schema](#nestedatt--markers))
+- `myaccount` (Attributes) (see [below for nested schema](#nestedatt--myaccount))
+- `mydelegatedaccount` (Attributes) (see [below for nested schema](#nestedatt--mydelegatedaccount))
+- `nested_groups` (Attributes List) (see [below for nested schema](#nestedatt--nested_groups))
+- `owned_clients` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients))
+- `owned_directories` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories))
+- `owned_groups_on_system` (Attributes) (see [below for nested schema](#nestedatt--owned_groups_on_system))
+- `owned_organizational_units` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units))
+- `owned_systems` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `recent_audits` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits))
+- `requeststatus` (String)
+- `service_accounts` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts))
+- `systems` (Attributes List) (see [below for nested schema](#nestedatt--systems))
+- `uuid` (String)
+- `vault` (Attributes) (see [below for nested schema](#nestedatt--vault))
+- `webhooks` (Attributes List) (see [below for nested schema](#nestedatt--webhooks))
+
+
+### Nested Schema for `accounts`
+
+Required:
+
+- `rights` (String)
+- `uuid` (String)
+
+Optional:
+
+- `end_date` (String)
+
+Read-Only:
+
+- `directory_uuid` (String)
+- `disconnected_nested` (Boolean)
+- `last_used` (String)
+- `nested` (Boolean)
+- `provisioning_end_time` (String)
+- `two_factor_status` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+
+### Nested Schema for `admins`
+
+Required:
+
+- `rights` (String)
+- `uuid` (String)
+
+Optional:
+
+- `end_date` (String)
+
+Read-Only:
+
+- `directory_uuid` (String)
+- `disconnected_nested` (Boolean)
+- `last_used` (String)
+- `nested` (Boolean)
+- `provisioning_end_time` (String)
+- `two_factor_status` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+
+### Nested Schema for `audit_config`
+
+Optional:
+
+- `months` (List of String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--audit_config--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--audit_config--permissions))
+
+
+### Nested Schema for `audit_config.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `audit_config.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `client_permissions`
+
+Required:
+
+- `value` (String)
+
+Optional:
+
+- `client_uuid` (String)
+- `for_group_uuid` (String)
+- `for_system_uuid` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--client_permissions--permissions))
+
+
+### Nested Schema for `client_permissions.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `client_permissions.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_clients`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `client_id` (String)
+- `ldap_client` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--ldap_client))
+- `o_auth2_client` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--o_auth2_client))
+- `owner_uuid` (String)
+- `saml2_client` (Attributes) (see [below for nested schema](#nestedatt--administered_clients--saml2_client))
+- `scopes` (List of String)
+- `technical_administrator_uuid` (String)
+
+Read-Only:
+
+- `last_modified_at` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--permissions))
+- `sso_application` (Boolean)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_clients.ldap_client`
+
+Optional:
+
+- `client_certificate_uuid` (String)
+- `share_secret_in_vault` (Boolean)
+
+Read-Only:
+
+- `bind_dn` (String)
+- `shared_secret_uuid` (String)
+- `used_for_provisioning` (Boolean)
+
+
+
+### Nested Schema for `administered_clients.o_auth2_client`
+
+Optional:
+
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_clients--o_auth2_client--account_permissions))
+- `shared_secret_uuid` (String)
+
+
+### Nested Schema for `administered_clients.o_auth2_client.account_permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_clients.saml2_client`
+
+Required:
+
+- `subject_format` (String)
+
+Optional:
+
+- `attributes` (Map of String)
+- `metadata` (String)
+- `metadata_url` (String)
+
+
+
+### Nested Schema for `administered_clients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_clients.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `administered_systems`
+
+Required:
+
+- `content_administrator_uuid` (String)
+- `name` (String)
+- `owner_uuid` (String)
+- `technical_administrator_uuid` (String)
+
+Optional:
+
+- `abstract_provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--abstract_provisioned_ldap))
+- `active` (Boolean)
+- `organizational_unit_uuid` (String)
+- `provisioned_a_d` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_a_d))
+- `provisioned_azure_oidc_directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_oidc_directory))
+- `provisioned_azure_sync_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_sync_ldap_directory))
+- `provisioned_azure_tenant` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_azure_tenant))
+- `provisioned_internal_ldap` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_internal_ldap))
+- `provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap))
+- `provisioned_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap_directory))
+- `self_service_existing_groups` (Boolean)
+- `self_service_new_groups` (Boolean)
+- `self_service_service_accounts` (Boolean)
+- `should_destroy_unknown_accounts` (Boolean)
+- `username_prefix` (String)
+
+Read-Only:
+
+- `account_count` (Number)
+- `external_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `administered_systems.abstract_provisioned_ldap`
+
+Required:
+
+- `base_dn` (String)
+- `host` (String)
+- `tls` (String)
+
+Optional:
+
+- `attributes` (Map of String)
+- `bind_dn` (String)
+- `bind_password` (String)
+- `client_certificate_uuid` (String)
+- `failover_host` (String)
+- `failover_trusted_certificate_uuid` (String)
+- `group_dn` (String)
+- `object_classes` (String)
+- `port` (Number)
+- `service_account_dn` (String)
+- `ssh_public_key_supported` (Boolean)
+- `trusted_certificate_uuid` (String)
+- `user_dn` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_a_d`
+
+Required:
+
+- `sam_account_name_scheme` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_oidc_directory`
+
+Required:
+
+- `directory_uuid` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_sync_ldap_directory`
+
+Required:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `directory_uuid` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_azure_tenant`
+
+Required:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `tenant` (String)
+
+Optional:
+
+- `idp_domain` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_internal_ldap`
+
+Optional:
+
+- `client_uuid` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_ldap`
+
+Required:
+
+- `hashing_scheme` (String)
+- `numbering` (Attributes) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap--numbering))
+
+Optional:
+
+- `gid` (Number)
+
+
+### Nested Schema for `administered_systems.provisioned_ldap.numbering`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `next_uid` (Number)
+
+Read-Only:
+
+- `account_count` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap--numbering--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--administered_systems--provisioned_ldap--numbering--permissions))
+
+
+### Nested Schema for `administered_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.provisioned_ldap.numbering.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `administered_systems.provisioned_ldap_directory`
+
+Required:
+
+- `directory_uuid` (String)
+- `group_dn` (String)
+
+
+
+### Nested Schema for `administered_systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `administered_systems.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `audit`
+
+Optional:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `authorized_groups`
+
+Optional:
+
+- `group_count` (Number)
+- `items` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items))
+
+
+### Nested Schema for `authorized_groups.items`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `application_administration` (Boolean)
+- `audit_config` (Attributes) (see [below for nested schema](#nestedatt--authorized_groups--items--audit_config))
+- `authorizing_group_auditing_uuid` (String)
+- `authorizing_group_delegation_uuid` (String)
+- `authorizing_group_membership_uuid` (String)
+- `authorizing_group_provisioning_uuid` (String)
+- `classification_uuid` (String)
+- `description` (String)
+- `extended_access` (String)
+- `hide_audit_trail` (Boolean)
+- `nested_under_uuid` (String)
+- `organizational_unit_uuid` (String)
+- `private_group` (Boolean)
+- `record_trail` (Boolean)
+- `rotating_password_required` (Boolean)
+- `single_managed` (Boolean)
+- `vault_recovery` (String)
+- `vault_requires_activation` (Boolean)
+
+Read-Only:
+
+- `admin` (Boolean)
+- `audit_requested` (Boolean)
+- `auditor` (Boolean)
+- `authorizing_group_types` (List of String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `authorized_groups.items.audit_config`
+
+Optional:
+
+- `months` (List of String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--audit_config--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--authorized_groups--items--audit_config--permissions))
+
+
+### Nested Schema for `authorized_groups.items.audit_config.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.audit_config.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `authorized_groups.items.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `authorized_groups.items.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `clients`
+
+Optional:
+
+- `activation_required` (Boolean)
+
+Read-Only:
+
+- `client_uuid` (String)
+- `group_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--clients--links))
+- `owner_uuid` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--clients--permissions))
+- `technical_administrator_uuid` (String)
+
+
+### Nested Schema for `clients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `clients.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `content_administered_systems`
+
+Required:
+
+- `content_administrator_uuid` (String)
+- `name` (String)
+- `owner_uuid` (String)
+- `technical_administrator_uuid` (String)
+
+Optional:
+
+- `abstract_provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--abstract_provisioned_ldap))
+- `active` (Boolean)
+- `organizational_unit_uuid` (String)
+- `provisioned_a_d` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_a_d))
+- `provisioned_azure_oidc_directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_oidc_directory))
+- `provisioned_azure_sync_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_sync_ldap_directory))
+- `provisioned_azure_tenant` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_azure_tenant))
+- `provisioned_internal_ldap` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_internal_ldap))
+- `provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap))
+- `provisioned_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap_directory))
+- `self_service_existing_groups` (Boolean)
+- `self_service_new_groups` (Boolean)
+- `self_service_service_accounts` (Boolean)
+- `should_destroy_unknown_accounts` (Boolean)
+- `username_prefix` (String)
+
+Read-Only:
+
+- `account_count` (Number)
+- `external_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `content_administered_systems.abstract_provisioned_ldap`
+
+Required:
+
+- `base_dn` (String)
+- `host` (String)
+- `tls` (String)
+
+Optional:
+
+- `attributes` (Map of String)
+- `bind_dn` (String)
+- `bind_password` (String)
+- `client_certificate_uuid` (String)
+- `failover_host` (String)
+- `failover_trusted_certificate_uuid` (String)
+- `group_dn` (String)
+- `object_classes` (String)
+- `port` (Number)
+- `service_account_dn` (String)
+- `ssh_public_key_supported` (Boolean)
+- `trusted_certificate_uuid` (String)
+- `user_dn` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_a_d`
+
+Required:
+
+- `sam_account_name_scheme` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_oidc_directory`
+
+Required:
+
+- `directory_uuid` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_sync_ldap_directory`
+
+Required:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `directory_uuid` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_azure_tenant`
+
+Required:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `tenant` (String)
+
+Optional:
+
+- `idp_domain` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_internal_ldap`
+
+Optional:
+
+- `client_uuid` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap`
+
+Required:
+
+- `hashing_scheme` (String)
+- `numbering` (Attributes) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap--numbering))
+
+Optional:
+
+- `gid` (Number)
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap.numbering`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `next_uid` (Number)
+
+Read-Only:
+
+- `account_count` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap--numbering--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--content_administered_systems--provisioned_ldap--numbering--permissions))
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap.numbering.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `content_administered_systems.provisioned_ldap_directory`
+
+Required:
+
+- `directory_uuid` (String)
+- `group_dn` (String)
+
+
+
+### Nested Schema for `content_administered_systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `content_administered_systems.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `groupauditinginfo`
+
+Optional:
+
+- `audit_due_date` (String)
+- `last_audit_date` (String)
+- `nr_accounts` (Number)
+- `nr_disabled_accounts` (Number)
+- `nr_disabled_managers` (Number)
+- `nr_expired_vault_records` (Number)
+- `nr_managers` (Number)
+- `nr_vault_records_with_end_date` (Number)
+
+
+
+### Nested Schema for `groupinfo`
+
+Optional:
+
+- `nr_accounts` (Number)
+- `nr_accounts_with_vault` (Number)
+- `nr_audits` (Number)
+- `nr_clients` (Number)
+- `nr_provisioned_systems` (Number)
+- `nr_vault_records` (Number)
+
+
+
+### Nested Schema for `helpdesk`
+
+Optional:
+
+- `domain_restriction` (String)
+- `fully_resolved_issuer` (String)
+- `name` (String)
+- `status` (Attributes) (see [below for nested schema](#nestedatt--helpdesk--status))
+- `type` (String)
+- `username_customizable` (Boolean)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--helpdesk--permissions))
+
+
+### Nested Schema for `helpdesk.status`
+
+Optional:
+
+- `accounts` (Number)
+- `reason` (String)
+- `status` (String)
+
+
+
+### Nested Schema for `helpdesk.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `helpdesk.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `markers`
+
+Optional:
+
+- `markers` (Attributes List) (see [below for nested schema](#nestedatt--markers--markers))
+
+
+### Nested Schema for `markers.markers`
+
+Optional:
+
+- `level` (String)
+- `parameters` (Map of String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `myaccount`
+
+Required:
+
+- `rights` (String)
+- `uuid` (String)
+
+Optional:
+
+- `end_date` (String)
+
+Read-Only:
+
+- `directory_uuid` (String)
+- `disconnected_nested` (Boolean)
+- `last_used` (String)
+- `nested` (Boolean)
+- `provisioning_end_time` (String)
+- `two_factor_status` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+
+### Nested Schema for `mydelegatedaccount`
+
+Required:
+
+- `rights` (String)
+- `uuid` (String)
+
+Optional:
+
+- `end_date` (String)
+
+Read-Only:
+
+- `directory_uuid` (String)
+- `disconnected_nested` (Boolean)
+- `last_used` (String)
+- `nested` (Boolean)
+- `provisioning_end_time` (String)
+- `two_factor_status` (String)
+- `visible_for_provisioning` (Boolean)
+
+
+
+### Nested Schema for `nested_groups`
+
+Required:
+
+- `name` (String)
+
+Read-Only:
+
+- `admin` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--nested_groups--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--nested_groups--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `nested_groups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `nested_groups.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_clients`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `client_id` (String)
+- `ldap_client` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--ldap_client))
+- `o_auth2_client` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--o_auth2_client))
+- `owner_uuid` (String)
+- `saml2_client` (Attributes) (see [below for nested schema](#nestedatt--owned_clients--saml2_client))
+- `scopes` (List of String)
+- `technical_administrator_uuid` (String)
+
+Read-Only:
+
+- `last_modified_at` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--permissions))
+- `sso_application` (Boolean)
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_clients.ldap_client`
+
+Optional:
+
+- `client_certificate_uuid` (String)
+- `share_secret_in_vault` (Boolean)
+
+Read-Only:
+
+- `bind_dn` (String)
+- `shared_secret_uuid` (String)
+- `used_for_provisioning` (Boolean)
+
+
+
+### Nested Schema for `owned_clients.o_auth2_client`
+
+Optional:
+
+- `attributes` (Map of String)
+- `callback_uri` (String)
+- `confidential` (Boolean)
+- `debug_mode` (Boolean)
+- `id_token_claims` (String)
+- `initiate_login_uri` (String)
+- `resource_uris` (String)
+- `share_secret_in_vault` (Boolean)
+- `show_landing_page` (Boolean)
+- `use_client_credentials` (Boolean)
+
+Read-Only:
+
+- `account_permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_clients--o_auth2_client--account_permissions))
+- `shared_secret_uuid` (String)
+
+
+### Nested Schema for `owned_clients.o_auth2_client.account_permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_clients.saml2_client`
+
+Required:
+
+- `subject_format` (String)
+
+Optional:
+
+- `attributes` (Map of String)
+- `metadata` (String)
+- `metadata_url` (String)
+
+
+
+### Nested Schema for `owned_clients.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_clients.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_directories`
+
+Required:
+
+- `base_organizational_unit_uuid` (String)
+- `name` (String)
+- `rotating_password` (String)
+
+Optional:
+
+- `active` (Boolean)
+- `default_directory` (Boolean)
+- `helpdesk_group_uuid` (String)
+- `internal_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--internal_directory))
+- `l_d_a_p_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--l_d_a_p_directory))
+- `maintenance_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--maintenance_directory))
+- `o_id_c_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_directories--o_id_c_directory))
+- `restrict2fa` (Boolean)
+- `username_customizable` (Boolean)
+
+Read-Only:
+
+- `account_validity_supported` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_directories--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_directories.internal_directory`
+
+Required:
+
+- `owner_uuid` (String)
+
+
+
+### Nested Schema for `owned_directories.l_d_a_p_directory`
+
+Required:
+
+- `base_dn` (String)
+- `host` (String)
+- `password_recovery` (String)
+- `tls` (String)
+
+Optional:
+
+- `attributes_to_store` (String)
+- `client_certificate_uuid` (String)
+- `dialect` (String)
+- `failover_host` (String)
+- `failover_trusted_certificate_uuid` (String)
+- `port` (Number)
+- `search_bind_dn` (String)
+- `search_bind_password` (String)
+- `search_filter` (String)
+- `trusted_certificate_uuid` (String)
+
+
+
+### Nested Schema for `owned_directories.maintenance_directory`
+
+
+
+### Nested Schema for `owned_directories.o_id_c_directory`
+
+Required:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `issuer` (String)
+- `vendor_escaped` (String)
+
+Optional:
+
+- `acr_values` (String)
+- `attributes_to_store` (String)
+- `domain_restriction` (String)
+- `enforces2fa` (Boolean)
+- `logout_url` (String)
+- `send_login_hint` (Boolean)
+
+Read-Only:
+
+- `fully_resolved_issuer` (String)
+
+
+
+### Nested Schema for `owned_directories.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_directories.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_groups_on_system`
+
+Optional:
+
+- `items` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items))
+- `unlinked_count` (Number)
+
+
+### Nested Schema for `owned_groups_on_system.items`
+
+Required:
+
+- `name_in_system` (String)
+- `owner_uuid` (String)
+- `type` (String)
+
+Optional:
+
+- `display_name` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_groups_on_system--items--permissions))
+- `short_name_in_system` (String)
+
+
+### Nested Schema for `owned_groups_on_system.items.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_groups_on_system.items.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_organizational_units`
+
+Required:
+
+- `name` (String)
+- `owner_uuid` (String)
+
+Optional:
+
+- `description` (String)
+
+Read-Only:
+
+- `depth` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--links))
+- `parent_uuid` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_organizational_units--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `owned_organizational_units.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_organizational_units.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `owned_systems`
+
+Required:
+
+- `content_administrator_uuid` (String)
+- `name` (String)
+- `owner_uuid` (String)
+- `technical_administrator_uuid` (String)
+
+Optional:
+
+- `abstract_provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--abstract_provisioned_ldap))
+- `active` (Boolean)
+- `organizational_unit_uuid` (String)
+- `provisioned_a_d` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_a_d))
+- `provisioned_azure_oidc_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_oidc_directory))
+- `provisioned_azure_sync_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_sync_ldap_directory))
+- `provisioned_azure_tenant` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_azure_tenant))
+- `provisioned_internal_ldap` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_internal_ldap))
+- `provisioned_ldap` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap))
+- `provisioned_ldap_directory` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap_directory))
+- `self_service_existing_groups` (Boolean)
+- `self_service_new_groups` (Boolean)
+- `self_service_service_accounts` (Boolean)
+- `should_destroy_unknown_accounts` (Boolean)
+- `username_prefix` (String)
+
+Read-Only:
+
+- `account_count` (Number)
+- `external_uuid` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--permissions))
+- `type` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `owned_systems.abstract_provisioned_ldap`
+
+Required:
+
+- `base_dn` (String)
+- `host` (String)
+- `tls` (String)
+
+Optional:
+
+- `attributes` (Map of String)
+- `bind_dn` (String)
+- `bind_password` (String)
+- `client_certificate_uuid` (String)
+- `failover_host` (String)
+- `failover_trusted_certificate_uuid` (String)
+- `group_dn` (String)
+- `object_classes` (String)
+- `port` (Number)
+- `service_account_dn` (String)
+- `ssh_public_key_supported` (Boolean)
+- `trusted_certificate_uuid` (String)
+- `user_dn` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_a_d`
+
+Required:
+
+- `sam_account_name_scheme` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_oidc_directory`
+
+Required:
+
+- `directory_uuid` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_sync_ldap_directory`
+
+Required:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `directory_uuid` (String)
+- `tenant` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_azure_tenant`
+
+Required:
+
+- `client_id` (String)
+- `client_secret` (String)
+- `tenant` (String)
+
+Optional:
+
+- `idp_domain` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_internal_ldap`
+
+Optional:
+
+- `client_uuid` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_ldap`
+
+Required:
+
+- `hashing_scheme` (String)
+- `numbering` (Attributes) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap--numbering))
+
+Optional:
+
+- `gid` (Number)
+
+
+### Nested Schema for `owned_systems.provisioned_ldap.numbering`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `next_uid` (Number)
+
+Read-Only:
+
+- `account_count` (Number)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap--numbering--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--owned_systems--provisioned_ldap--numbering--permissions))
+
+
+### Nested Schema for `owned_systems.provisioned_ldap.numbering.permissions`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.provisioned_ldap.numbering.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+
+### Nested Schema for `owned_systems.provisioned_ldap_directory`
+
+Required:
+
+- `directory_uuid` (String)
+- `group_dn` (String)
+
+
+
+### Nested Schema for `owned_systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `owned_systems.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `recent_audits`
+
+Required:
+
+- `status` (String)
+
+Optional:
+
+- `accounts` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--accounts))
+- `comment` (String)
+
+Read-Only:
+
+- `created_at` (String)
+- `created_by` (String)
+- `group_name` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--links))
+- `name_on_audit` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--permissions))
+- `reviewed_at` (String)
+- `reviewed_by` (String)
+- `submitted_at` (String)
+- `submitted_by` (String)
+
+
+### Nested Schema for `recent_audits.accounts`
+
+Optional:
+
+- `account_uuid` (String)
+- `action` (String)
+- `comment` (String)
+
+Read-Only:
+
+- `account_valid` (Boolean)
+- `disconnected_nested` (Boolean)
+- `display_name` (String)
+- `end_date` (String)
+- `last_active` (String)
+- `last_used` (String)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--accounts--links))
+- `nested` (Boolean)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--recent_audits--accounts--permissions))
+- `rights` (String)
+- `username` (String)
+
+
+### Nested Schema for `recent_audits.accounts.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `recent_audits.accounts.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `recent_audits.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `recent_audits.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `service_accounts`
+
+Required:
+
+- `name` (String)
+- `password_rotation` (String)
+- `system_uuid` (String)
+
+Optional:
+
+- `active` (Boolean)
+- `description` (String)
+- `technical_administrator_uuid` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--links))
+- `password_uuid` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--permissions))
+- `username` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `service_accounts.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `systems`
+
+Required:
+
+- `group_uuid` (String)
+
+Optional:
+
+- `activation_required` (Boolean)
+
+Read-Only:
+
+- `group_on_system` (Attributes) (see [below for nested schema](#nestedatt--systems--group_on_system))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--systems--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--systems--permissions))
+
+
+### Nested Schema for `systems.group_on_system`
+
+Required:
+
+- `name_in_system` (String)
+- `owner_uuid` (String)
+- `type` (String)
+
+Optional:
+
+- `display_name` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--systems--group_on_system--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--systems--group_on_system--permissions))
+- `short_name_in_system` (String)
+
+
+### Nested Schema for `systems.group_on_system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `systems.group_on_system.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `systems.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `systems.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `vault`
+
+Optional:
+
+- `access_available` (Boolean)
+- `name` (String)
+- `records` (List of String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--vault--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--vault--permissions))
+
+
+### Nested Schema for `vault.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `vault.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `webhooks`
+
+Required:
+
+- `url` (String)
+
+Optional:
+
+- `account_uuid` (String)
+- `active` (Boolean)
+- `all_types` (Boolean)
+- `authentication_scheme` (String)
+- `basic_auth_password` (String)
+- `basic_auth_username` (String)
+- `bearer_token` (String)
+- `client_certificate_uuid` (String)
+- `client_uuid` (String)
+- `custom_header_name` (String)
+- `custom_header_value` (String)
+- `directory_uuid` (String)
+- `group_uuid` (String)
+- `name` (String)
+- `system_uuid` (String)
+- `tls` (String)
+- `trusted_certificate_uuid` (String)
+- `types` (List of String)
+- `verbose_payloads` (Boolean)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--webhooks--permissions))
+- `uuid` (String)
+
+
+### Nested Schema for `webhooks.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `webhooks.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/resources/group_vaultrecord.md b/docs/resources/group_vaultrecord.md
new file mode 100644
index 0000000..f886bab
--- /dev/null
+++ b/docs/resources/group_vaultrecord.md
@@ -0,0 +1,184 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_group_vaultrecord Resource - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_group_vaultrecord (Resource)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `group_uuid` (String)
+- `name` (String)
+
+### Optional
+
+- `color` (String)
+- `delete_tile` (Boolean)
+- `end_date` (String)
+- `filename` (String)
+- `secret` (Attributes) (see [below for nested schema](#nestedatt--secret))
+- `tile` (Attributes) (see [below for nested schema](#nestedatt--tile))
+- `url` (String)
+- `username` (String)
+- `warning_period` (String)
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `derived` (Boolean)
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `parent_uuid` (String)
+- `password_metadata` (Attributes) (see [below for nested schema](#nestedatt--password_metadata))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `share_end_time` (String)
+- `share_summary` (Attributes) (see [below for nested schema](#nestedatt--share_summary))
+- `shares` (Attributes List) (see [below for nested schema](#nestedatt--shares))
+- `types` (List of String)
+- `uuid` (String)
+- `vaultholder` (Attributes) (see [below for nested schema](#nestedatt--vaultholder))
+
+
+### Nested Schema for `secret`
+
+Optional:
+
+- `comment` (String)
+- `file` (String)
+- `password` (String)
+- `totp` (String)
+- `write_totp` (Boolean)
+
+
+
+### Nested Schema for `tile`
+
+
+
+### Nested Schema for `audit`
+
+Optional:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `password_metadata`
+
+Optional:
+
+- `dictionary` (Boolean)
+- `duplicate` (Boolean)
+- `hash` (String)
+- `length` (Number)
+- `lower_count` (Number)
+- `number_count` (Number)
+- `special_count` (Number)
+- `strength` (Number)
+- `upper_count` (Number)
+
+
+
+### Nested Schema for `permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `share_summary`
+
+Optional:
+
+- `children` (Attributes List) (see [below for nested schema](#nestedatt--share_summary--children))
+- `parent` (Attributes) (see [below for nested schema](#nestedatt--share_summary--parent))
+
+
+### Nested Schema for `share_summary.children`
+
+Optional:
+
+- `name` (String)
+- `type` (String)
+
+
+
+### Nested Schema for `share_summary.parent`
+
+Optional:
+
+- `name` (String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `shares`
+
+Required:
+
+- `name` (String)
+
+Optional:
+
+- `color` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--shares--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--shares--permissions))
+- `share_end_time` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `shares.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `shares.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `vaultholder`
diff --git a/docs/resources/grouponsystem.md b/docs/resources/grouponsystem.md
new file mode 100644
index 0000000..32b8694
--- /dev/null
+++ b/docs/resources/grouponsystem.md
@@ -0,0 +1,192 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_grouponsystem Resource - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_grouponsystem (Resource)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `name_in_system` (String)
+- `owner_uuid` (String)
+- `provisioned_system_uuid` (String)
+- `type` (String)
+
+### Optional
+
+- `display_name` (String)
+- `provgroups` (Attributes List) (see [below for nested schema](#nestedatt--provgroups))
+- `service_accounts` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts))
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `short_name_in_system` (String)
+
+
+### Nested Schema for `provgroups`
+
+Required:
+
+- `group_uuid` (String)
+
+Optional:
+
+- `activation_required` (Boolean)
+
+Read-Only:
+
+- `group_on_system` (Attributes) (see [below for nested schema](#nestedatt--provgroups--group_on_system))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provgroups--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provgroups--permissions))
+
+
+### Nested Schema for `provgroups.group_on_system`
+
+Required:
+
+- `name_in_system` (String)
+- `owner_uuid` (String)
+- `type` (String)
+
+Optional:
+
+- `display_name` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--provgroups--group_on_system--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--provgroups--group_on_system--permissions))
+- `short_name_in_system` (String)
+
+
+### Nested Schema for `provgroups.group_on_system.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provgroups.group_on_system.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `provgroups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `provgroups.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `service_accounts`
+
+Required:
+
+- `name` (String)
+- `system_uuid` (String)
+
+Optional:
+
+- `active` (Boolean)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--service_accounts--permissions))
+- `username` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `service_accounts.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `service_accounts.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `audit`
+
+Optional:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/docs/resources/scaffolding_example.md b/docs/resources/scaffolding_example.md
deleted file mode 100644
index 47e77ed..0000000
--- a/docs/resources/scaffolding_example.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "scaffolding_example Resource - terraform-provider-scaffolding-framework"
-subcategory: ""
-description: |-
- Example resource
----
-
-# scaffolding_example (Resource)
-
-Example resource
-
-## Example Usage
-
-```terraform
-resource "scaffolding_example" "example" {
- configurable_attribute = "some-value"
-}
-```
-
-
-## Schema
-
-### Optional
-
-- `configurable_attribute` (String) Example configurable attribute
-- `defaulted` (String) Example configurable attribute with default value
-
-### Read-Only
-
-- `id` (String) Example identifier
diff --git a/docs/resources/serviceaccount.md b/docs/resources/serviceaccount.md
new file mode 100644
index 0000000..3b7deeb
--- /dev/null
+++ b/docs/resources/serviceaccount.md
@@ -0,0 +1,122 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "keyhubpreview_serviceaccount Resource - terraform-provider-keyhubpreview"
+subcategory: ""
+description: |-
+
+---
+
+# keyhubpreview_serviceaccount (Resource)
+
+
+
+
+
+
+## Schema
+
+### Required
+
+- `name` (String)
+- `password_rotation` (String)
+- `system_uuid` (String)
+
+### Optional
+
+- `active` (Boolean)
+- `description` (String)
+- `secret` (Attributes) (see [below for nested schema](#nestedatt--secret))
+- `technical_administrator_uuid` (String)
+
+### Read-Only
+
+- `audit` (Attributes) (see [below for nested schema](#nestedatt--audit))
+- `groups` (Attributes List) (see [below for nested schema](#nestedatt--groups))
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--links))
+- `password_uuid` (String)
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--permissions))
+- `username` (String)
+- `uuid` (String)
+
+
+### Nested Schema for `secret`
+
+Optional:
+
+- `generated_secret` (String)
+- `old_secret` (String)
+- `regenerate` (Boolean)
+
+
+
+### Nested Schema for `audit`
+
+Optional:
+
+- `created_at` (String)
+- `created_by` (String)
+- `last_modified_at` (String)
+- `last_modified_by` (String)
+
+
+
+### Nested Schema for `groups`
+
+Required:
+
+- `name_in_system` (String)
+- `type` (String)
+
+Optional:
+
+- `display_name` (String)
+
+Read-Only:
+
+- `links` (Attributes List) (see [below for nested schema](#nestedatt--groups--links))
+- `permissions` (Attributes List) (see [below for nested schema](#nestedatt--groups--permissions))
+- `short_name_in_system` (String)
+
+
+### Nested Schema for `groups.links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `groups.permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
+
+
+
+
+### Nested Schema for `links`
+
+Read-Only:
+
+- `href` (String)
+- `id` (Number)
+- `rel` (String)
+- `type_escaped` (String)
+
+
+
+### Nested Schema for `permissions`
+
+Optional:
+
+- `full` (String)
+- `instances` (List of String)
+- `operations` (List of String)
+- `type_escaped` (String)
diff --git a/examples/provider-install-verification/main.tf b/examples/provider-install-verification/main.tf
index c175715..61853bd 100644
--- a/examples/provider-install-verification/main.tf
+++ b/examples/provider-install-verification/main.tf
@@ -1,18 +1,56 @@
terraform {
required_providers {
- keyhub = {
- source = "registry.terraform.io/hashicorp/keyhub-preview"
+ keyhubpreview = {
+ source = "registry.terraform.io/hashicorp/keyhubpreview"
}
}
}
-provider "keyhub" {
+variable "keyhub_secret" {
+ type = string
+ description = "Client secret on KeyHub"
+}
+
+variable "keyhub_secret_local" {
+ type = string
+ description = "Client secret on KeyHub"
+}
+
+provider "keyhubpreview" {
+ # issuer = "https://keyhub.topicusonderwijs.nl"
+ # clientid = "3a5e82ad-3f0d-4a63-846b-4b3e431f1135"
issuer = "https://keyhub.localhost:8443"
clientid = "ebdf81ac-b02b-4335-9dc4-4a9bc4eb406d"
- clientsecret = "o9n8b8j3TRk7A4eQfKEIDIoN-IUvRAlA3gGLUNW8"
+ clientsecret = var.keyhub_secret_local
}
-data "keyhub_group" "testgroup" {
- uuid = "c20a6ed4-1ae5-4a9f-91b5-2f56f5a1522f"
+resource "keyhubpreview_group" "terra" {
+ name = "Terraform"
+ accounts = [{
+ uuid = "7ea6622b-f9d2-4e52-a799-217b26f88376"
+ rights = "MANAGER"
+ }]
+ client_permissions = [{
+ client_uuid = "ebdf81ac-b02b-4335-9dc4-4a9bc4eb406d"
+ value = "GROUP_FULL_VAULT_ACCESS"
+ }]
}
+resource "keyhubpreview_group_vaultrecord" "terrarecord" {
+ name = "Terraform Record"
+ group_uuid = resource.keyhubpreview_group.terra.uuid
+ secret = {
+ password = "test3"
+ }
+}
+
+resource "keyhubpreview_grouponsystem" "terragos" {
+ provisioned_system_uuid = "47923975-b1af-47c8-bd7a-e52ebb4b9b84"
+ owner_uuid = resource.keyhubpreview_group.terra.uuid
+ name_in_system = "cn=terraform,ou=groups,ou=dev,dc=ad01,dc=keyhub,dc=s25,dc=topicus,dc=education"
+ type = "GROUP"
+ provgroups = [{
+ activation_required = "false"
+ group_uuid = "c6c98d08-2cbf-45e9-937a-c5c0427348e2"
+ }]
+}
diff --git a/go.mod b/go.mod
index ee735c7..91fc726 100644
--- a/go.mod
+++ b/go.mod
@@ -1,89 +1,81 @@
-module github.com/topicuskeyhub/terraform-provider-keyhub-preview
+module github.com/topicuskeyhub/terraform-provider-keyhubpreview
-go 1.19
+go 1.20
require (
+ github.com/google/uuid v1.4.0
github.com/hashicorp/terraform-plugin-docs v0.16.0
- github.com/hashicorp/terraform-plugin-framework v1.3.2
- github.com/hashicorp/terraform-plugin-go v0.18.0
+ github.com/hashicorp/terraform-plugin-framework v1.4.2
+ github.com/hashicorp/terraform-plugin-framework-validators v0.12.0
github.com/hashicorp/terraform-plugin-log v0.9.0
- github.com/hashicorp/terraform-plugin-testing v1.3.0
- github.com/topicuskeyhub/sdk-go v0.0.0-20230718084110-056ed14fd2bc
+ github.com/microsoft/kiota-abstractions-go v1.3.1
+ github.com/topicuskeyhub/sdk-go v0.29.1-0.20231031163120-580c3f972b4d
+ golang.org/x/exp v0.0.0-20231006140011-7918f672742d
)
require (
github.com/Masterminds/goutils v1.1.1 // indirect
- github.com/Masterminds/semver/v3 v3.1.1 // indirect
- github.com/Masterminds/sprig/v3 v3.2.2 // indirect
- github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
- github.com/agext/levenshtein v1.2.2 // indirect
- github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
+ github.com/Masterminds/semver/v3 v3.2.1 // indirect
+ github.com/Masterminds/sprig/v3 v3.2.3 // indirect
+ github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c // indirect
+ github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
github.com/armon/go-radix v1.0.0 // indirect
github.com/bgentry/speakeasy v0.1.0 // indirect
github.com/cjlapao/common-go v0.0.39 // indirect
github.com/cloudflare/circl v1.3.3 // indirect
github.com/coreos/go-oidc v2.2.1+incompatible // indirect
- github.com/fatih/color v1.13.0 // indirect
- github.com/go-logr/logr v1.2.4 // indirect
+ github.com/fatih/color v1.15.0 // indirect
+ github.com/go-logr/logr v1.3.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
- github.com/google/go-cmp v0.5.9 // indirect
- github.com/google/uuid v1.3.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
- github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect
github.com/hashicorp/go-hclog v1.5.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
- github.com/hashicorp/go-plugin v1.4.10 // indirect
+ github.com/hashicorp/go-plugin v1.5.2 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
- github.com/hashicorp/hc-install v0.5.2 // indirect
- github.com/hashicorp/hcl/v2 v2.17.0 // indirect
- github.com/hashicorp/logutils v1.0.0 // indirect
- github.com/hashicorp/terraform-exec v0.18.1 // indirect
+ github.com/hashicorp/hc-install v0.6.1 // indirect
+ github.com/hashicorp/terraform-exec v0.19.0 // indirect
github.com/hashicorp/terraform-json v0.17.1 // indirect
- github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1 // indirect
- github.com/hashicorp/terraform-registry-address v0.2.1 // indirect
+ github.com/hashicorp/terraform-plugin-go v0.19.0 // indirect
+ github.com/hashicorp/terraform-registry-address v0.2.3 // indirect
github.com/hashicorp/terraform-svchost v0.1.1 // indirect
- github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect
- github.com/huandu/xstrings v1.3.2 // indirect
- github.com/imdario/mergo v0.3.13 // indirect
+ github.com/hashicorp/yamux v0.1.1 // indirect
+ github.com/huandu/xstrings v1.4.0 // indirect
+ github.com/imdario/mergo v0.3.15 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
- github.com/mattn/go-isatty v0.0.16 // indirect
- github.com/microsoft/kiota-abstractions-go v1.1.0 // indirect
- github.com/microsoft/kiota-http-go v1.0.0 // indirect
+ github.com/mattn/go-isatty v0.0.20 // indirect
+ github.com/microsoft/kiota-http-go v1.1.0 // indirect
github.com/microsoft/kiota-serialization-json-go v1.0.4 // indirect
github.com/mitchellh/cli v1.1.5 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
- github.com/mitchellh/go-wordwrap v1.0.0 // indirect
- github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
- github.com/oklog/run v1.0.0 // indirect
+ github.com/oklog/run v1.1.0 // indirect
github.com/posener/complete v1.2.3 // indirect
github.com/pquerna/cachecontrol v0.2.0 // indirect
+ github.com/rogpeppe/go-internal v1.11.0 // indirect
github.com/russross/blackfriday v1.6.0 // indirect
github.com/shopspring/decimal v1.3.1 // indirect
- github.com/spf13/cast v1.5.0 // indirect
- github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
- github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
+ github.com/spf13/cast v1.5.1 // indirect
+ github.com/std-uritemplate/std-uritemplate/go v0.0.46 // indirect
+ github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
- github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
- github.com/zclconf/go-cty v1.13.2 // indirect
- go.opentelemetry.io/otel v1.16.0 // indirect
- go.opentelemetry.io/otel/metric v1.16.0 // indirect
- go.opentelemetry.io/otel/trace v1.16.0 // indirect
- golang.org/x/crypto v0.11.0 // indirect
- golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
- golang.org/x/mod v0.11.0 // indirect
- golang.org/x/net v0.12.0 // indirect
- golang.org/x/oauth2 v0.10.0 // indirect
- golang.org/x/sys v0.10.0 // indirect
- golang.org/x/text v0.11.0 // indirect
- google.golang.org/appengine v1.6.7 // indirect
- google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
- google.golang.org/grpc v1.56.1 // indirect
+ github.com/zclconf/go-cty v1.14.1 // indirect
+ go.opentelemetry.io/otel v1.19.0 // indirect
+ go.opentelemetry.io/otel/metric v1.19.0 // indirect
+ go.opentelemetry.io/otel/trace v1.19.0 // indirect
+ golang.org/x/crypto v0.14.0 // indirect
+ golang.org/x/mod v0.13.0 // indirect
+ golang.org/x/net v0.17.0 // indirect
+ golang.org/x/oauth2 v0.13.0 // indirect
+ golang.org/x/sys v0.13.0 // indirect
+ golang.org/x/text v0.13.0 // indirect
+ google.golang.org/appengine v1.6.8 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect
+ google.golang.org/grpc v1.59.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
)
diff --git a/go.sum b/go.sum
index 7e28b78..7b6a993 100644
--- a/go.sum
+++ b/go.sum
@@ -1,62 +1,61 @@
+dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
-github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
+github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
+github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
+github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk=
-github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8=
-github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk=
-github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA=
-github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA=
-github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g=
+github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA=
+github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM=
+github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
+github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c h1:kMFnB0vCcX7IL/m9Y5LO+KQYv+t1CQOiFe6+SV2J7bE=
+github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ=
-github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE=
-github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
-github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec=
-github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
-github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
+github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
+github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
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/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
-github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
+github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA=
+github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/cjlapao/common-go v0.0.39 h1:bAAUrj2B9v0kMzbAOhzjSmiyDy+rd56r2sy7oEiQLlA=
github.com/cjlapao/common-go v0.0.39/go.mod h1:M3dzazLjTjEtZJbbxoA5ZDiGCiHmpwqW9l4UWaddwOA=
-github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs=
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk=
github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
+github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
-github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
-github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
-github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4=
-github.com/go-git/go-git/v5 v5.6.1 h1:q4ZRqQl4pR/ZJHc1L5CFjGA1a10u76aV1iC+nh+bHsk=
+github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
+github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
+github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
+github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
+github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
+github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
-github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
+github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
-github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
-github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
-github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
-github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
+github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -65,63 +64,53 @@ github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuD
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
-github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI=
-github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs=
github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c=
github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
-github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk=
-github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0=
+github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y=
+github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4=
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
-github.com/hashicorp/hc-install v0.5.2 h1:SfwMFnEXVVirpwkDuSF5kymUOhrUxrTq3udEseZdOD0=
-github.com/hashicorp/hc-install v0.5.2/go.mod h1:9QISwe6newMWIfEiXpzuu1k9HAGtQYgnSH8H9T8wmoI=
-github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY=
-github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4=
-github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
-github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
-github.com/hashicorp/terraform-exec v0.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4=
-github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980=
+github.com/hashicorp/hc-install v0.6.1 h1:IGxShH7AVhPaSuSJpKtVi/EFORNjO+OYVJJrAtGG2mY=
+github.com/hashicorp/hc-install v0.6.1/go.mod h1:0fW3jpg+wraYSnFDJ6Rlie3RvLf1bIqVIkzoon4KoVE=
+github.com/hashicorp/terraform-exec v0.19.0 h1:FpqZ6n50Tk95mItTSS9BjeOVUb4eg81SpgVtZNNtFSM=
+github.com/hashicorp/terraform-exec v0.19.0/go.mod h1:tbxUpe3JKruE9Cuf65mycSIT8KiNPZ0FkuTE3H4urQg=
github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA=
github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o=
github.com/hashicorp/terraform-plugin-docs v0.16.0 h1:UmxFr3AScl6Wged84jndJIfFccGyBZn52KtMNsS12dI=
github.com/hashicorp/terraform-plugin-docs v0.16.0/go.mod h1:M3ZrlKBJAbPMtNOPwHicGi1c+hZUh7/g0ifT/z7TVfA=
-github.com/hashicorp/terraform-plugin-framework v1.3.2 h1:aQ6GSD0CTnvoALEWvKAkcH/d8jqSE0Qq56NYEhCexUs=
-github.com/hashicorp/terraform-plugin-framework v1.3.2/go.mod h1:oimsRAPJOYkZ4kY6xIGfR0PHjpHLDLaknzuptl6AvnY=
-github.com/hashicorp/terraform-plugin-go v0.18.0 h1:IwTkOS9cOW1ehLd/rG0y+u/TGLK9y6fGoBjXVUquzpE=
-github.com/hashicorp/terraform-plugin-go v0.18.0/go.mod h1:l7VK+2u5Kf2y+A+742GX0ouLut3gttudmvMgN0PA74Y=
+github.com/hashicorp/terraform-plugin-framework v1.4.2 h1:P7a7VP1GZbjc4rv921Xy5OckzhoiO3ig6SGxwelD2sI=
+github.com/hashicorp/terraform-plugin-framework v1.4.2/go.mod h1:GWl3InPFZi2wVQmdVnINPKys09s9mLmTZr95/ngLnbY=
+github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc=
+github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg=
+github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU=
+github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec=
github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0=
github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow=
-github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1 h1:G9WAfb8LHeCxu7Ae8nc1agZlQOSCUWsb610iAogBhCs=
-github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1/go.mod h1:xcOSYlRVdPLmDUoqPhO9fiO/YCN/l6MGYeTzGt5jgkQ=
-github.com/hashicorp/terraform-plugin-testing v1.3.0 h1:4Pn8fSspPCRUc5zRGPNZYc00VhQmQPEH6y6Pv4e/42M=
-github.com/hashicorp/terraform-plugin-testing v1.3.0/go.mod h1:mGOfGFTVIhP9buGPZyDQhmZFIO/Ig8E0Fo694UACr64=
-github.com/hashicorp/terraform-registry-address v0.2.1 h1:QuTf6oJ1+WSflJw6WYOHhLgwUiQ0FrROpHPYFtwTYWM=
-github.com/hashicorp/terraform-registry-address v0.2.1/go.mod h1:BSE9fIFzp0qWsJUUyGquo4ldV9k2n+psif6NYkBRS3Y=
+github.com/hashicorp/terraform-registry-address v0.2.3 h1:2TAiKJ1A3MAkZlH1YI/aTVcLZRu7JseiXNRHbOAyoTI=
+github.com/hashicorp/terraform-registry-address v0.2.3/go.mod h1:lFHA76T8jfQteVfT7caREqguFrW3c4MFSPhZB7HHgUM=
github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ=
github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc=
-github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ=
-github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
+github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE=
+github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ=
github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
-github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
+github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
+github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU=
+github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
-github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk=
-github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg=
+github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM=
+github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
-github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE=
+github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
@@ -130,12 +119,13 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
-github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/microsoft/kiota-abstractions-go v1.1.0 h1:X1aKlsYCRs/0RSChr/fbq4j/+kxRzbSY5GeWhtHQNYI=
-github.com/microsoft/kiota-abstractions-go v1.1.0/go.mod h1:RkxyZ5x87Njik7iVeQY9M2wtrrL1MJZcXiI/BxD/82g=
-github.com/microsoft/kiota-http-go v1.0.0 h1:F1hd6gMlLeEgH2CkRB7z13ow7LxMKMWEmms/t0VfS+k=
-github.com/microsoft/kiota-http-go v1.0.0/go.mod h1:eujxJliqodotsYepIc6ihhK+vXMMt5Q8YiSNL7+7M7U=
+github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
+github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/microsoft/kiota-abstractions-go v1.3.1 h1:lZ4hLvU/HpnAkvjqIt/mL1ooZ0b/2RKuM2K65fl2/mY=
+github.com/microsoft/kiota-abstractions-go v1.3.1/go.mod h1:NRJnAFg8qqOoX/VQWTe3ZYmcIbLa20LNC+eTqO2j60U=
+github.com/microsoft/kiota-http-go v1.1.0 h1:L5I93EiNtlP/X6YzeTlhjWt7Q1DxzC9CmWSVtX3b0tE=
+github.com/microsoft/kiota-http-go v1.1.0/go.mod h1:zESUM6ovki9LEupqziCbxJ+FAYoF0dFDYZVpOkAfSLc=
github.com/microsoft/kiota-serialization-json-go v1.0.4 h1:5TaISWwd2Me8clrK7SqNATo0tv9seOq59y4I5953egQ=
github.com/microsoft/kiota-serialization-json-go v1.0.4/go.mod h1:rM4+FsAY+9AEpBsBzkFFis+b/LZLlNKKewuLwK9Q6Mg=
github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng=
@@ -145,15 +135,11 @@ github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa1
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU=
github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8=
-github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4=
-github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
-github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
-github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
-github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw=
-github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
+github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=
+github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU=
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -162,17 +148,20 @@ github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXq
github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
github.com/pquerna/cachecontrol v0.2.0 h1:vBXSNuE5MYP9IJ5kjsdo8uq+w41jSPgvba2DEnkRx9k=
github.com/pquerna/cachecontrol v0.2.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI=
-github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
+github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
+github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
-github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0=
+github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
-github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
+github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA=
+github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48=
+github.com/std-uritemplate/std-uritemplate/go v0.0.46 h1:rWcEym/hz9YhPTXJELTXfrq48lTx69jNVhv+dOMmyZY=
+github.com/std-uritemplate/std-uritemplate/go v0.0.46/go.mod h1:Qov4Ay4U83j37XjgxMYevGJFLbnZ2o9cEOhGufBKgKY=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -180,44 +169,51 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
-github.com/topicuskeyhub/sdk-go v0.0.0-20230718084110-056ed14fd2bc h1:8iYhDYMKsNYewFVgKwVa+kXzyDQnkim+LtwKNSKLFAU=
-github.com/topicuskeyhub/sdk-go v0.0.0-20230718084110-056ed14fd2bc/go.mod h1:wuT0Z03lIjUofzN5RiRQgmoOuw/HvgcAoEcr2KjLmW0=
-github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
-github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
-github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
-github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
-github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
+github.com/topicuskeyhub/sdk-go v0.29.1-0.20231031163120-580c3f972b4d h1:QUcCSysZOnwe7rr0Oyu4ikkRKWmuenJvnooCbR2ud/Y=
+github.com/topicuskeyhub/sdk-go v0.29.1-0.20231031163120-580c3f972b4d/go.mod h1:s8qOQieJ+9cm/2s0uxPySRH9YNFbln3Nb9J8/XNaWbM=
+github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8=
+github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok=
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
-github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4=
-github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4=
-github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0=
-github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0=
-go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
-go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
-go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo=
-go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
-go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
-go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
+github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA=
+github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
+go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
+go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
+go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
+go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
+go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
+go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
-golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
-golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
-golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
-golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU=
-golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
+golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
+golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
+golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
+golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
+golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
+golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
-golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
-golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8=
-golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+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.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY=
+golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
+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=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -226,39 +222,53 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
-golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
+golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
+golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
-golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
+golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
+golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
-google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
-google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
-google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ=
-google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
+google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
+google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:AB/lmRny7e2pLhFEYIbl5qkDAUt2h0ZRO4wGPhZf+ik=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE=
+google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
+google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI=
gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/internal/provider/datasource-account.go b/internal/provider/datasource-account.go
new file mode 100644
index 0000000..b691a90
--- /dev/null
+++ b/internal/provider/datasource-account.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/account"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &accountDataSource{}
+ _ datasource.DataSourceWithConfigure = &accountDataSource{}
+)
+
+func NewAccountDataSource() datasource.DataSource {
+ return &accountDataSource{}
+}
+
+type accountDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *accountDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_account"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *accountDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsAuthAccount(true),
+ }
+}
+
+func (d *accountDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *accountDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data authAccountDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading account from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Account().Get(ctx, &keyhubreq.AccountRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.AccountRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.AuthAccountable](ctx, wrapper, "account", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSAuthAccount(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSAuthAccount(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-certificate.go b/internal/provider/datasource-certificate.go
new file mode 100644
index 0000000..c9eda70
--- /dev/null
+++ b/internal/provider/datasource-certificate.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/certificate"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &certificateDataSource{}
+ _ datasource.DataSourceWithConfigure = &certificateDataSource{}
+)
+
+func NewCertificateDataSource() datasource.DataSource {
+ return &certificateDataSource{}
+}
+
+type certificateDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *certificateDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_certificate"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *certificateDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsCertificateCertificate(true),
+ }
+}
+
+func (d *certificateDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *certificateDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data certificateCertificateDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading certificate from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Certificate().Get(ctx, &keyhubreq.CertificateRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.CertificateRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.CertificateCertificateable](ctx, wrapper, "certificate", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSCertificateCertificate(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSCertificateCertificate(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-client.go b/internal/provider/datasource-client.go
new file mode 100644
index 0000000..eeb64cd
--- /dev/null
+++ b/internal/provider/datasource-client.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/client"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &clientDataSource{}
+ _ datasource.DataSourceWithConfigure = &clientDataSource{}
+)
+
+func NewClientDataSource() datasource.DataSource {
+ return &clientDataSource{}
+}
+
+type clientDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *clientDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_client"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *clientDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsClientClientApplication(true),
+ }
+}
+
+func (d *clientDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *clientDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data clientClientApplicationDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading client from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Client().Get(ctx, &keyhubreq.ClientRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.ClientRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.ClientClientApplicationable](ctx, wrapper, "client", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSClientClientApplication(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSClientClientApplication(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-directory.go b/internal/provider/datasource-directory.go
new file mode 100644
index 0000000..d08af26
--- /dev/null
+++ b/internal/provider/datasource-directory.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/directory"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &directoryDataSource{}
+ _ datasource.DataSourceWithConfigure = &directoryDataSource{}
+)
+
+func NewDirectoryDataSource() datasource.DataSource {
+ return &directoryDataSource{}
+}
+
+type directoryDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *directoryDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_directory"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *directoryDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectory(true),
+ }
+}
+
+func (d *directoryDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *directoryDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data directoryAccountDirectoryDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading directory from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Directory().Get(ctx, &keyhubreq.DirectoryRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.DirectoryRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.DirectoryAccountDirectoryable](ctx, wrapper, "directory", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSDirectoryAccountDirectory(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSDirectoryAccountDirectory(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-group.go b/internal/provider/datasource-group.go
new file mode 100644
index 0000000..7a30cb4
--- /dev/null
+++ b/internal/provider/datasource-group.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/group"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &groupDataSource{}
+ _ datasource.DataSourceWithConfigure = &groupDataSource{}
+)
+
+func NewGroupDataSource() datasource.DataSource {
+ return &groupDataSource{}
+}
+
+type groupDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *groupDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_group"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *groupDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsGroupGroup(true),
+ }
+}
+
+func (d *groupDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *groupDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data groupGroupDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading group from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Group().Get(ctx, &keyhubreq.GroupRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.GroupRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.GroupGroupable](ctx, wrapper, "group", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSGroupGroup(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSGroupGroup(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-groupclassification.go b/internal/provider/datasource-groupclassification.go
new file mode 100644
index 0000000..95d0d1f
--- /dev/null
+++ b/internal/provider/datasource-groupclassification.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/groupclassification"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &groupclassificationDataSource{}
+ _ datasource.DataSourceWithConfigure = &groupclassificationDataSource{}
+)
+
+func NewGroupclassificationDataSource() datasource.DataSource {
+ return &groupclassificationDataSource{}
+}
+
+type groupclassificationDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *groupclassificationDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_groupclassification"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *groupclassificationDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsGroupGroupClassification(true),
+ }
+}
+
+func (d *groupclassificationDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *groupclassificationDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data groupGroupClassificationDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading groupclassification from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Groupclassification().Get(ctx, &keyhubreq.GroupclassificationRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.GroupclassificationRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.GroupGroupClassificationable](ctx, wrapper, "groupclassification", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSGroupGroupClassification(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSGroupGroupClassification(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-organizationalunit.go b/internal/provider/datasource-organizationalunit.go
new file mode 100644
index 0000000..04d96d6
--- /dev/null
+++ b/internal/provider/datasource-organizationalunit.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/organizationalunit"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &organizationalunitDataSource{}
+ _ datasource.DataSourceWithConfigure = &organizationalunitDataSource{}
+)
+
+func NewOrganizationalunitDataSource() datasource.DataSource {
+ return &organizationalunitDataSource{}
+}
+
+type organizationalunitDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *organizationalunitDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_organizationalunit"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *organizationalunitDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnit(true),
+ }
+}
+
+func (d *organizationalunitDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *organizationalunitDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data organizationOrganizationalUnitDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading organizationalunit from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Organizationalunit().Get(ctx, &keyhubreq.OrganizationalunitRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.OrganizationalunitRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.OrganizationOrganizationalUnitable](ctx, wrapper, "organizationalunit", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSOrganizationOrganizationalUnit(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSOrganizationOrganizationalUnit(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-serviceaccount.go b/internal/provider/datasource-serviceaccount.go
new file mode 100644
index 0000000..969177f
--- /dev/null
+++ b/internal/provider/datasource-serviceaccount.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/serviceaccount"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &serviceaccountDataSource{}
+ _ datasource.DataSourceWithConfigure = &serviceaccountDataSource{}
+)
+
+func NewServiceaccountDataSource() datasource.DataSource {
+ return &serviceaccountDataSource{}
+}
+
+type serviceaccountDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *serviceaccountDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_serviceaccount"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *serviceaccountDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsServiceaccountServiceAccount(true),
+ }
+}
+
+func (d *serviceaccountDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *serviceaccountDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data serviceaccountServiceAccountDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading serviceaccount from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Serviceaccount().Get(ctx, &keyhubreq.ServiceaccountRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.ServiceaccountRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.ServiceaccountServiceAccountable](ctx, wrapper, "serviceaccount", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSServiceaccountServiceAccount(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSServiceaccountServiceAccount(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-system.go b/internal/provider/datasource-system.go
new file mode 100644
index 0000000..8170786
--- /dev/null
+++ b/internal/provider/datasource-system.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/system"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &systemDataSource{}
+ _ datasource.DataSourceWithConfigure = &systemDataSource{}
+)
+
+func NewSystemDataSource() datasource.DataSource {
+ return &systemDataSource{}
+}
+
+type systemDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *systemDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_system"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *systemDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystem(true),
+ }
+}
+
+func (d *systemDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *systemDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data provisioningProvisionedSystemDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading system from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.System().Get(ctx, &keyhubreq.SystemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.SystemRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.ProvisioningProvisionedSystemable](ctx, wrapper, "system", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSProvisioningProvisionedSystem(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSProvisioningProvisionedSystem(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-vaultrecord.go b/internal/provider/datasource-vaultrecord.go
new file mode 100644
index 0000000..0573673
--- /dev/null
+++ b/internal/provider/datasource-vaultrecord.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/vaultrecord"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &vaultrecordDataSource{}
+ _ datasource.DataSourceWithConfigure = &vaultrecordDataSource{}
+)
+
+func NewVaultrecordDataSource() datasource.DataSource {
+ return &vaultrecordDataSource{}
+}
+
+type vaultrecordDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *vaultrecordDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_vaultrecord"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *vaultrecordDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecord(true),
+ }
+}
+
+func (d *vaultrecordDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *vaultrecordDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data vaultVaultRecordDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading vaultrecord from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Vaultrecord().Get(ctx, &keyhubreq.VaultrecordRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.VaultrecordRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.VaultVaultRecordable](ctx, wrapper, "vaultrecord", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSVaultVaultRecord(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSVaultVaultRecord(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/datasource-webhook.go b/internal/provider/datasource-webhook.go
new file mode 100644
index 0000000..b5bd1a0
--- /dev/null
+++ b/internal/provider/datasource-webhook.go
@@ -0,0 +1,103 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+ "log"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/webhook"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ datasource.DataSource = &webhookDataSource{}
+ _ datasource.DataSourceWithConfigure = &webhookDataSource{}
+)
+
+func NewWebhookDataSource() datasource.DataSource {
+ return &webhookDataSource{}
+}
+
+type webhookDataSource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (d *webhookDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_webhook"
+ log.Printf("Registered data source %s", resp.TypeName)
+}
+
+func (d *webhookDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: dataSourceSchemaAttrsWebhookWebhook(true),
+ }
+}
+
+func (d *webhookDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ d.client = client
+}
+
+func (d *webhookDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
+ var data webhookWebhookDataDS
+ resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Debug(ctx, "Reading webhook from Topicus KeyHub by UUID")
+ listValue, _ := data.Additional.ToListValue(ctx)
+ additional, _ := tfToSlice(listValue, func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ uuid := data.UUID.ValueString()
+
+ wrapper, err := d.client.Webhook().Get(ctx, &keyhubreq.WebhookRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.WebhookRequestBuilderGetQueryParameters{
+ Uuid: []string{uuid},
+ Additional: additional,
+ },
+ })
+
+ tkh, diags := findFirst[keyhubmodels.WebhookWebhookable](ctx, wrapper, "webhook", &uuid, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectDSWebhookWebhook(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ fillDataStructFromTFObjectDSWebhookWebhook(&data, tf)
+ data.Additional = listValue
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
diff --git a/internal/provider/example_resource.go b/internal/provider/example_resource.go
deleted file mode 100644
index af8c0fa..0000000
--- a/internal/provider/example_resource.go
+++ /dev/null
@@ -1,187 +0,0 @@
-// Copyright (c) HashiCorp, Inc.
-// SPDX-License-Identifier: MPL-2.0
-
-package provider
-
-import (
- "context"
- "fmt"
- "net/http"
-
- "github.com/hashicorp/terraform-plugin-framework/path"
- "github.com/hashicorp/terraform-plugin-framework/resource"
- "github.com/hashicorp/terraform-plugin-framework/resource/schema"
- "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
- "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault"
- "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
- "github.com/hashicorp/terraform-plugin-framework/types"
- "github.com/hashicorp/terraform-plugin-log/tflog"
-)
-
-// Ensure provider defined types fully satisfy framework interfaces.
-var _ resource.Resource = &ExampleResource{}
-var _ resource.ResourceWithImportState = &ExampleResource{}
-
-func NewExampleResource() resource.Resource {
- return &ExampleResource{}
-}
-
-// ExampleResource defines the resource implementation.
-type ExampleResource struct {
- client *http.Client
-}
-
-// ExampleResourceModel describes the resource data model.
-type ExampleResourceModel struct {
- ConfigurableAttribute types.String `tfsdk:"configurable_attribute"`
- Defaulted types.String `tfsdk:"defaulted"`
- Id types.String `tfsdk:"id"`
-}
-
-func (r *ExampleResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
- resp.TypeName = req.ProviderTypeName + "_example"
-}
-
-func (r *ExampleResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
- resp.Schema = schema.Schema{
- // This description is used by the documentation generator and the language server.
- MarkdownDescription: "Example resource",
-
- Attributes: map[string]schema.Attribute{
- "configurable_attribute": schema.StringAttribute{
- MarkdownDescription: "Example configurable attribute",
- Optional: true,
- },
- "defaulted": schema.StringAttribute{
- MarkdownDescription: "Example configurable attribute with default value",
- Optional: true,
- Computed: true,
- Default: stringdefault.StaticString("example value when not configured"),
- },
- "id": schema.StringAttribute{
- Computed: true,
- MarkdownDescription: "Example identifier",
- PlanModifiers: []planmodifier.String{
- stringplanmodifier.UseStateForUnknown(),
- },
- },
- },
- }
-}
-
-func (r *ExampleResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
- // Prevent panic if the provider has not been configured.
- if req.ProviderData == nil {
- return
- }
-
- client, ok := req.ProviderData.(*http.Client)
-
- if !ok {
- resp.Diagnostics.AddError(
- "Unexpected Resource Configure Type",
- fmt.Sprintf("Expected *http.Client, got: %T. Please report this issue to the provider developers.", req.ProviderData),
- )
-
- return
- }
-
- r.client = client
-}
-
-func (r *ExampleResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
- var data *ExampleResourceModel
-
- // Read Terraform plan data into the model
- resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
-
- if resp.Diagnostics.HasError() {
- return
- }
-
- // If applicable, this is a great opportunity to initialize any necessary
- // provider client data and make a call using it.
- // httpResp, err := r.client.Do(httpReq)
- // if err != nil {
- // resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to create example, got error: %s", err))
- // return
- // }
-
- // For the purposes of this example code, hardcoding a response value to
- // save into the Terraform state.
- data.Id = types.StringValue("example-id")
-
- // Write logs using the tflog package
- // Documentation: https://terraform.io/plugin/log
- tflog.Trace(ctx, "created a resource")
-
- // Save data into Terraform state
- resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
-}
-
-func (r *ExampleResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
- var data *ExampleResourceModel
-
- // Read Terraform prior state data into the model
- resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
-
- if resp.Diagnostics.HasError() {
- return
- }
-
- // If applicable, this is a great opportunity to initialize any necessary
- // provider client data and make a call using it.
- // httpResp, err := r.client.Do(httpReq)
- // if err != nil {
- // resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to read example, got error: %s", err))
- // return
- // }
-
- // Save updated data into Terraform state
- resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
-}
-
-func (r *ExampleResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
- var data *ExampleResourceModel
-
- // Read Terraform plan data into the model
- resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
-
- if resp.Diagnostics.HasError() {
- return
- }
-
- // If applicable, this is a great opportunity to initialize any necessary
- // provider client data and make a call using it.
- // httpResp, err := r.client.Do(httpReq)
- // if err != nil {
- // resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to update example, got error: %s", err))
- // return
- // }
-
- // Save updated data into Terraform state
- resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
-}
-
-func (r *ExampleResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
- var data *ExampleResourceModel
-
- // Read Terraform prior state data into the model
- resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
-
- if resp.Diagnostics.HasError() {
- return
- }
-
- // If applicable, this is a great opportunity to initialize any necessary
- // provider client data and make a call using it.
- // httpResp, err := r.client.Do(httpReq)
- // if err != nil {
- // resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to delete example, got error: %s", err))
- // return
- // }
-}
-
-func (r *ExampleResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
- resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp)
-}
diff --git a/internal/provider/example_resource_test.go b/internal/provider/example_resource_test.go
deleted file mode 100644
index c5464d0..0000000
--- a/internal/provider/example_resource_test.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright (c) HashiCorp, Inc.
-// SPDX-License-Identifier: MPL-2.0
-
-package provider
-
-import (
- "fmt"
- "testing"
-
- "github.com/hashicorp/terraform-plugin-testing/helper/resource"
-)
-
-func TestAccExampleResource(t *testing.T) {
- resource.Test(t, resource.TestCase{
- PreCheck: func() { testAccPreCheck(t) },
- ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
- Steps: []resource.TestStep{
- // Create and Read testing
- {
- Config: testAccExampleResourceConfig("one"),
- Check: resource.ComposeAggregateTestCheckFunc(
- resource.TestCheckResourceAttr("scaffolding_example.test", "configurable_attribute", "one"),
- resource.TestCheckResourceAttr("scaffolding_example.test", "defaulted", "example value when not configured"),
- resource.TestCheckResourceAttr("scaffolding_example.test", "id", "example-id"),
- ),
- },
- // ImportState testing
- {
- ResourceName: "scaffolding_example.test",
- ImportState: true,
- ImportStateVerify: true,
- // This is not normally necessary, but is here because this
- // example code does not have an actual upstream service.
- // Once the Read method is able to refresh information from
- // the upstream service, this can be removed.
- ImportStateVerifyIgnore: []string{"configurable_attribute", "defaulted"},
- },
- // Update and Read testing
- {
- Config: testAccExampleResourceConfig("two"),
- Check: resource.ComposeAggregateTestCheckFunc(
- resource.TestCheckResourceAttr("scaffolding_example.test", "configurable_attribute", "two"),
- ),
- },
- // Delete testing automatically occurs in TestCase
- },
- })
-}
-
-func testAccExampleResourceConfig(configurableAttribute string) string {
- return fmt.Sprintf(`
-resource "scaffolding_example" "test" {
- configurable_attribute = %[1]q
-}
-`, configurableAttribute)
-}
diff --git a/internal/provider/full-data-struct-ds.go b/internal/provider/full-data-struct-ds.go
new file mode 100644
index 0000000..f159e75
--- /dev/null
+++ b/internal/provider/full-data-struct-ds.go
@@ -0,0 +1,1504 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "github.com/hashicorp/terraform-plugin-framework/types"
+)
+
+var auditInfoAttrTypesDS = objectAttrsTypeDSAuditInfo(false)
+var auditInfoAttrTypesDSRecurse = objectAttrsTypeDSAuditInfo(true)
+
+type auditInfoDataDS struct {
+ CreatedAt types.String `tfsdk:"created_at"`
+ CreatedBy types.String `tfsdk:"created_by"`
+ LastModifiedAt types.String `tfsdk:"last_modified_at"`
+ LastModifiedBy types.String `tfsdk:"last_modified_by"`
+}
+
+var generatedSecretAttrTypesDS = objectAttrsTypeDSGeneratedSecret(false)
+var generatedSecretAttrTypesDSRecurse = objectAttrsTypeDSGeneratedSecret(true)
+
+type generatedSecretDataDS struct {
+ GeneratedSecret types.String `tfsdk:"generated_secret"`
+ OldSecret types.String `tfsdk:"old_secret"`
+ Regenerate types.Bool `tfsdk:"regenerate"`
+}
+
+var linkableAttrTypesDS = objectAttrsTypeDSLinkable(false)
+var linkableAttrTypesDSRecurse = objectAttrsTypeDSLinkable(true)
+
+type linkableDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+}
+
+var nonLinkableAttrTypesDS = objectAttrsTypeDSNonLinkable(false)
+var nonLinkableAttrTypesDSRecurse = objectAttrsTypeDSNonLinkable(true)
+
+type nonLinkableDataDS struct {
+}
+
+var restLinkAttrTypesDS = objectAttrsTypeDSRestLink(false)
+var restLinkAttrTypesDSRecurse = objectAttrsTypeDSRestLink(true)
+
+type restLinkDataDS struct {
+ Href types.String `tfsdk:"href"`
+ ID types.Int64 `tfsdk:"id"`
+ Rel types.String `tfsdk:"rel"`
+ TypeEscaped types.String `tfsdk:"type_escaped"`
+}
+
+var authAccountAttrTypesDS = objectAttrsTypeDSAuthAccount(false)
+var authAccountAttrTypesDSRecurse = objectAttrsTypeDSAuthAccount(true)
+
+type authAccountDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ LastActive types.String `tfsdk:"last_active"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+ Validity types.String `tfsdk:"validity"`
+ Additional types.List `tfsdk:"additional"`
+ AccountPermissions types.List `tfsdk:"account_permissions"`
+ Active types.Bool `tfsdk:"active"`
+ ActiveLogin types.Bool `tfsdk:"active_login" tkhao:"activeLogin"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Groups types.List `tfsdk:"groups" tkhao:"groups"`
+ PendingRecoveryRequests types.Object `tfsdk:"pending_recovery_requests" tkhao:"pendingRecoveryRequests"`
+ Settings types.Object `tfsdk:"settings" tkhao:"settings"`
+ StoredAttributes types.Object `tfsdk:"stored_attributes" tkhao:"storedAttributes"`
+ Vault types.Object `tfsdk:"vault" tkhao:"vault"`
+ CanRequestGroups types.Bool `tfsdk:"can_request_groups"`
+ Directory types.Object `tfsdk:"directory"`
+ DirectoryName types.String `tfsdk:"directory_name"`
+ DirectoryPasswordChangeRequired types.Bool `tfsdk:"directory_password_change_required"`
+ DirectoryRotatingPassword types.String `tfsdk:"directory_rotating_password"`
+ DirectoryType types.String `tfsdk:"directory_type"`
+ Email types.String `tfsdk:"email"`
+ IDInDirectory types.String `tfsdk:"id_in_directory"`
+ KeyHubPasswordChangeRequired types.Bool `tfsdk:"key_hub_password_change_required"`
+ LastModifiedAt types.String `tfsdk:"last_modified_at"`
+ LicenseRole types.String `tfsdk:"license_role"`
+ Locale types.String `tfsdk:"locale"`
+ ReregistrationRequired types.Bool `tfsdk:"reregistration_required"`
+ TokenPasswordEnabled types.Bool `tfsdk:"token_password_enabled"`
+ TwoFactorStatus types.String `tfsdk:"two_factor_status"`
+ ValidInDirectory types.Bool `tfsdk:"valid_in_directory"`
+}
+
+var authAccountPrimerAttrTypesDS = objectAttrsTypeDSAuthAccountPrimer(false)
+var authAccountPrimerAttrTypesDSRecurse = objectAttrsTypeDSAuthAccountPrimer(true)
+
+type authAccountPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ LastActive types.String `tfsdk:"last_active"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+ Validity types.String `tfsdk:"validity"`
+}
+
+var authAccountRecoveryStatusAttrTypesDS = objectAttrsTypeDSAuthAccountRecoveryStatus(false)
+var authAccountRecoveryStatusAttrTypesDSRecurse = objectAttrsTypeDSAuthAccountRecoveryStatus(true)
+
+type authAccountRecoveryStatusDataDS struct {
+ Pending2FARecoveryRequest types.Bool `tfsdk:"pending2fa_recovery_request"`
+ PendingPasswordRecoveryRequest types.Bool `tfsdk:"pending_password_recovery_request"`
+}
+
+var authAccountSettingsAttrTypesDS = objectAttrsTypeDSAuthAccountSettings(false)
+var authAccountSettingsAttrTypesDSRecurse = objectAttrsTypeDSAuthAccountSettings(true)
+
+type authAccountSettingsDataDS struct {
+ DefaultOrganizationalUnit types.Object `tfsdk:"default_organizational_unit"`
+ DirectoryName types.String `tfsdk:"directory_name"`
+ DirectoryType types.String `tfsdk:"directory_type"`
+ InGroups types.Bool `tfsdk:"in_groups"`
+ InMultipleOrganizationalUnits types.Bool `tfsdk:"in_multiple_organizational_units"`
+ KeyHubAdmin types.Bool `tfsdk:"key_hub_admin"`
+ MultipleOrganizationalUnitsExist types.Bool `tfsdk:"multiple_organizational_units_exist"`
+ PasswordMode types.String `tfsdk:"password_mode"`
+ SshPublicKey types.String `tfsdk:"ssh_public_key"`
+ TwoFactorAuthentication types.String `tfsdk:"two_factor_authentication"`
+ UseTokenPassword types.Bool `tfsdk:"use_token_password"`
+ VaultStatus types.String `tfsdk:"vault_status"`
+}
+
+var authAccount_additionalObjectsAttrTypesDS = objectAttrsTypeDSAuthAccount_additionalObjects(false)
+var authAccount_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSAuthAccount_additionalObjects(true)
+
+type authAccount_additionalObjectsDataDS struct {
+ ActiveLogin types.Bool `tfsdk:"active_login"`
+ Audit types.Object `tfsdk:"audit"`
+ Groups types.List `tfsdk:"groups"`
+ PendingRecoveryRequests types.Object `tfsdk:"pending_recovery_requests"`
+ Settings types.Object `tfsdk:"settings"`
+ StoredAttributes types.Object `tfsdk:"stored_attributes"`
+ Vault types.Object `tfsdk:"vault"`
+}
+
+var authPermissionAttrTypesDS = objectAttrsTypeDSAuthPermission(false)
+var authPermissionAttrTypesDSRecurse = objectAttrsTypeDSAuthPermission(true)
+
+type authPermissionDataDS struct {
+ Full types.String `tfsdk:"full"`
+ Instances types.List `tfsdk:"instances"`
+ Operations types.List `tfsdk:"operations"`
+ TypeEscaped types.String `tfsdk:"type_escaped"`
+}
+
+var authStoredAccountAttributeAttrTypesDS = objectAttrsTypeDSAuthStoredAccountAttribute(false)
+var authStoredAccountAttributeAttrTypesDSRecurse = objectAttrsTypeDSAuthStoredAccountAttribute(true)
+
+type authStoredAccountAttributeDataDS struct {
+ Name types.String `tfsdk:"name"`
+ Value types.String `tfsdk:"value"`
+}
+
+var authStoredAccountAttributesAttrTypesDS = objectAttrsTypeDSAuthStoredAccountAttributes(false)
+var authStoredAccountAttributesAttrTypesDSRecurse = objectAttrsTypeDSAuthStoredAccountAttributes(true)
+
+type authStoredAccountAttributesDataDS struct {
+ Attributes types.List `tfsdk:"attributes"`
+}
+
+var certificateCertificateAttrTypesDS = objectAttrsTypeDSCertificateCertificate(false)
+var certificateCertificateAttrTypesDSRecurse = objectAttrsTypeDSCertificateCertificate(true)
+
+type certificateCertificateDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Alias types.String `tfsdk:"alias"`
+ CertificateCertificatePrimerType types.String `tfsdk:"type"`
+ CertificateData types.List `tfsdk:"certificate_data"`
+ Expiration types.String `tfsdk:"expiration"`
+ FingerprintSha1 types.String `tfsdk:"fingerprint_sha1"`
+ FingerprintSha256 types.String `tfsdk:"fingerprint_sha256"`
+ Global types.Bool `tfsdk:"global"`
+ SubjectDN types.String `tfsdk:"subject_dn"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ KeyData types.List `tfsdk:"key_data"`
+}
+
+var certificateCertificatePrimerAttrTypesDS = objectAttrsTypeDSCertificateCertificatePrimer(false)
+var certificateCertificatePrimerAttrTypesDSRecurse = objectAttrsTypeDSCertificateCertificatePrimer(true)
+
+type certificateCertificatePrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Alias types.String `tfsdk:"alias"`
+ CertificateCertificatePrimerType types.String `tfsdk:"type"`
+ CertificateData types.List `tfsdk:"certificate_data"`
+ Expiration types.String `tfsdk:"expiration"`
+ FingerprintSha1 types.String `tfsdk:"fingerprint_sha1"`
+ FingerprintSha256 types.String `tfsdk:"fingerprint_sha256"`
+ Global types.Bool `tfsdk:"global"`
+ SubjectDN types.String `tfsdk:"subject_dn"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var certificateCertificate_additionalObjectsAttrTypesDS = objectAttrsTypeDSCertificateCertificate_additionalObjects(false)
+var certificateCertificate_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSCertificateCertificate_additionalObjects(true)
+
+type certificateCertificate_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var clientClientApplicationAttrTypesDS = objectAttrsTypeDSClientClientApplication(false)
+var clientClientApplicationAttrTypesDSRecurse = objectAttrsTypeDSClientClientApplication(true)
+
+type clientClientApplicationDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ ClientClientApplicationPrimerType types.String `tfsdk:"type"`
+ ClientID types.String `tfsdk:"client_id"`
+ Name types.String `tfsdk:"name"`
+ Scopes types.List `tfsdk:"scopes"`
+ SsoApplication types.Bool `tfsdk:"sso_application"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Groupclients types.List `tfsdk:"groupclients" tkhao:"groupclients"`
+ Groups types.List `tfsdk:"groups" tkhao:"groups"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ Tile types.Object `tfsdk:"tile" tkhao:"tile"`
+ VaultRecordCount types.Int64 `tfsdk:"vault_record_count" tkhao:"vaultRecordCount"`
+ LastModifiedAt types.String `tfsdk:"last_modified_at"`
+ Owner types.Object `tfsdk:"owner"`
+ TechnicalAdministrator types.Object `tfsdk:"technical_administrator"`
+ LDAPClient types.Object `tfsdk:"ldap_client"`
+ OAuth2Client types.Object `tfsdk:"o_auth2_client"`
+ Saml2Client types.Object `tfsdk:"saml2_client"`
+}
+
+var clientClientApplicationLinkableWrapperAttrTypesDS = objectAttrsTypeDSClientClientApplicationLinkableWrapper(false)
+var clientClientApplicationLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSClientClientApplicationLinkableWrapper(true)
+
+type clientClientApplicationLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var clientClientApplicationPrimerAttrTypesDS = objectAttrsTypeDSClientClientApplicationPrimer(false)
+var clientClientApplicationPrimerAttrTypesDSRecurse = objectAttrsTypeDSClientClientApplicationPrimer(true)
+
+type clientClientApplicationPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ ClientClientApplicationPrimerType types.String `tfsdk:"type"`
+ ClientID types.String `tfsdk:"client_id"`
+ Name types.String `tfsdk:"name"`
+ Scopes types.List `tfsdk:"scopes"`
+ SsoApplication types.Bool `tfsdk:"sso_application"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var clientClientApplication_additionalObjectsAttrTypesDS = objectAttrsTypeDSClientClientApplication_additionalObjects(false)
+var clientClientApplication_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSClientClientApplication_additionalObjects(true)
+
+type clientClientApplication_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Groupclients types.List `tfsdk:"groupclients"`
+ Groups types.List `tfsdk:"groups"`
+ Secret types.Object `tfsdk:"secret"`
+ Tile types.Object `tfsdk:"tile"`
+ VaultRecordCount types.Int64 `tfsdk:"vault_record_count"`
+}
+
+var clientLdapClientAttrTypesDS = objectAttrsTypeDSClientLdapClient(false)
+var clientLdapClientAttrTypesDSRecurse = objectAttrsTypeDSClientLdapClient(true)
+
+type clientLdapClientDataDS struct {
+ BindDN types.String `tfsdk:"bind_dn"`
+ ClientCertificate types.Object `tfsdk:"client_certificate"`
+ ShareSecretInVault types.Bool `tfsdk:"share_secret_in_vault"`
+ SharedSecret types.Object `tfsdk:"shared_secret"`
+ UsedForProvisioning types.Bool `tfsdk:"used_for_provisioning"`
+}
+
+var clientOAuth2ClientAttrTypesDS = objectAttrsTypeDSClientOAuth2Client(false)
+var clientOAuth2ClientAttrTypesDSRecurse = objectAttrsTypeDSClientOAuth2Client(true)
+
+type clientOAuth2ClientDataDS struct {
+ AccountPermissions types.List `tfsdk:"account_permissions"`
+ Attributes types.Map `tfsdk:"attributes"`
+ CallbackURI types.String `tfsdk:"callback_uri"`
+ Confidential types.Bool `tfsdk:"confidential"`
+ DebugMode types.Bool `tfsdk:"debug_mode"`
+ IDTokenClaims types.String `tfsdk:"id_token_claims"`
+ InitiateLoginURI types.String `tfsdk:"initiate_login_uri"`
+ ResourceURIs types.String `tfsdk:"resource_uris"`
+ ShareSecretInVault types.Bool `tfsdk:"share_secret_in_vault"`
+ SharedSecret types.Object `tfsdk:"shared_secret"`
+ ShowLandingPage types.Bool `tfsdk:"show_landing_page"`
+ UseClientCredentials types.Bool `tfsdk:"use_client_credentials"`
+}
+
+var clientOAuth2ClientPermissionAttrTypesDS = objectAttrsTypeDSClientOAuth2ClientPermission(false)
+var clientOAuth2ClientPermissionAttrTypesDSRecurse = objectAttrsTypeDSClientOAuth2ClientPermission(true)
+
+type clientOAuth2ClientPermissionDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ ForGroup types.Object `tfsdk:"for_group"`
+ ForSystem types.Object `tfsdk:"for_system"`
+ Value types.String `tfsdk:"value"`
+}
+
+var clientOAuth2ClientPermissionWithClientAttrTypesDS = objectAttrsTypeDSClientOAuth2ClientPermissionWithClient(false)
+var clientOAuth2ClientPermissionWithClientAttrTypesDSRecurse = objectAttrsTypeDSClientOAuth2ClientPermissionWithClient(true)
+
+type clientOAuth2ClientPermissionWithClientDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ ForGroup types.Object `tfsdk:"for_group"`
+ ForSystem types.Object `tfsdk:"for_system"`
+ Value types.String `tfsdk:"value"`
+ Client types.Object `tfsdk:"client"`
+}
+
+var clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesDS = objectAttrsTypeDSClientOAuth2ClientPermissionWithClientLinkableWrapper(false)
+var clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSClientOAuth2ClientPermissionWithClientLinkableWrapper(true)
+
+type clientOAuth2ClientPermissionWithClientLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var clientOAuth2ClientPermission_additionalObjectsAttrTypesDS = objectAttrsTypeDSClientOAuth2ClientPermission_additionalObjects(false)
+var clientOAuth2ClientPermission_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSClientOAuth2ClientPermission_additionalObjects(true)
+
+type clientOAuth2ClientPermission_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var clientSaml2ClientAttrTypesDS = objectAttrsTypeDSClientSaml2Client(false)
+var clientSaml2ClientAttrTypesDSRecurse = objectAttrsTypeDSClientSaml2Client(true)
+
+type clientSaml2ClientDataDS struct {
+ Attributes types.Map `tfsdk:"attributes"`
+ Metadata types.String `tfsdk:"metadata"`
+ MetadataURL types.String `tfsdk:"metadata_url"`
+ SubjectFormat types.String `tfsdk:"subject_format"`
+}
+
+var directoryAccountDirectoryAttrTypesDS = objectAttrsTypeDSDirectoryAccountDirectory(false)
+var directoryAccountDirectoryAttrTypesDSRecurse = objectAttrsTypeDSDirectoryAccountDirectory(true)
+
+type directoryAccountDirectoryDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountValiditySupported types.Bool `tfsdk:"account_validity_supported"`
+ Active types.Bool `tfsdk:"active"`
+ DirectoryAccountDirectoryPrimerType types.String `tfsdk:"type"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Markers types.Object `tfsdk:"markers" tkhao:"markers"`
+ Status types.Object `tfsdk:"status" tkhao:"status"`
+ BaseOrganizationalUnit types.Object `tfsdk:"base_organizational_unit"`
+ DefaultDirectory types.Bool `tfsdk:"default_directory"`
+ HelpdeskGroup types.Object `tfsdk:"helpdesk_group"`
+ Restrict2fa types.Bool `tfsdk:"restrict2fa"`
+ RotatingPassword types.String `tfsdk:"rotating_password"`
+ UsernameCustomizable types.Bool `tfsdk:"username_customizable"`
+ InternalDirectory types.Object `tfsdk:"internal_directory"`
+ LDAPDirectory types.Object `tfsdk:"l_d_a_p_directory"`
+ MaintenanceDirectory types.Object `tfsdk:"maintenance_directory"`
+ OIDCDirectory types.Object `tfsdk:"o_id_c_directory"`
+}
+
+var directoryAccountDirectoryLinkableWrapperAttrTypesDS = objectAttrsTypeDSDirectoryAccountDirectoryLinkableWrapper(false)
+var directoryAccountDirectoryLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSDirectoryAccountDirectoryLinkableWrapper(true)
+
+type directoryAccountDirectoryLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var directoryAccountDirectoryPrimerAttrTypesDS = objectAttrsTypeDSDirectoryAccountDirectoryPrimer(false)
+var directoryAccountDirectoryPrimerAttrTypesDSRecurse = objectAttrsTypeDSDirectoryAccountDirectoryPrimer(true)
+
+type directoryAccountDirectoryPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountValiditySupported types.Bool `tfsdk:"account_validity_supported"`
+ Active types.Bool `tfsdk:"active"`
+ DirectoryAccountDirectoryPrimerType types.String `tfsdk:"type"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var directoryAccountDirectoryStatusReportAttrTypesDS = objectAttrsTypeDSDirectoryAccountDirectoryStatusReport(false)
+var directoryAccountDirectoryStatusReportAttrTypesDSRecurse = objectAttrsTypeDSDirectoryAccountDirectoryStatusReport(true)
+
+type directoryAccountDirectoryStatusReportDataDS struct {
+ Accounts types.Int64 `tfsdk:"accounts"`
+ Reason types.String `tfsdk:"reason"`
+ Status types.String `tfsdk:"status"`
+}
+
+var directoryAccountDirectorySummaryAttrTypesDS = objectAttrsTypeDSDirectoryAccountDirectorySummary(false)
+var directoryAccountDirectorySummaryAttrTypesDSRecurse = objectAttrsTypeDSDirectoryAccountDirectorySummary(true)
+
+type directoryAccountDirectorySummaryDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DirectoryAccountDirectorySummaryType types.String `tfsdk:"type"`
+ DomainRestriction types.String `tfsdk:"domain_restriction"`
+ FullyResolvedIssuer types.String `tfsdk:"fully_resolved_issuer"`
+ Name types.String `tfsdk:"name"`
+ Status types.Object `tfsdk:"status"`
+ UsernameCustomizable types.Bool `tfsdk:"username_customizable"`
+}
+
+var directoryAccountDirectorySummaryLinkableWrapperAttrTypesDS = objectAttrsTypeDSDirectoryAccountDirectorySummaryLinkableWrapper(false)
+var directoryAccountDirectorySummaryLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSDirectoryAccountDirectorySummaryLinkableWrapper(true)
+
+type directoryAccountDirectorySummaryLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var directoryAccountDirectory_additionalObjectsAttrTypesDS = objectAttrsTypeDSDirectoryAccountDirectory_additionalObjects(false)
+var directoryAccountDirectory_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSDirectoryAccountDirectory_additionalObjects(true)
+
+type directoryAccountDirectory_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Markers types.Object `tfsdk:"markers"`
+ Status types.Object `tfsdk:"status"`
+}
+
+var directoryInternalDirectoryAttrTypesDS = objectAttrsTypeDSDirectoryInternalDirectory(false)
+var directoryInternalDirectoryAttrTypesDSRecurse = objectAttrsTypeDSDirectoryInternalDirectory(true)
+
+type directoryInternalDirectoryDataDS struct {
+ Owner types.Object `tfsdk:"owner"`
+}
+
+var directoryLDAPDirectoryAttrTypesDS = objectAttrsTypeDSDirectoryLDAPDirectory(false)
+var directoryLDAPDirectoryAttrTypesDSRecurse = objectAttrsTypeDSDirectoryLDAPDirectory(true)
+
+type directoryLDAPDirectoryDataDS struct {
+ AttributesToStore types.String `tfsdk:"attributes_to_store"`
+ BaseDN types.String `tfsdk:"base_dn"`
+ ClientCertificate types.Object `tfsdk:"client_certificate"`
+ Dialect types.String `tfsdk:"dialect"`
+ FailoverHost types.String `tfsdk:"failover_host"`
+ FailoverTrustedCertificate types.Object `tfsdk:"failover_trusted_certificate"`
+ Host types.String `tfsdk:"host"`
+ PasswordRecovery types.String `tfsdk:"password_recovery"`
+ Port types.Int64 `tfsdk:"port"`
+ SearchBindDN types.String `tfsdk:"search_bind_dn"`
+ SearchBindPassword types.String `tfsdk:"search_bind_password"`
+ SearchFilter types.String `tfsdk:"search_filter"`
+ TLS types.String `tfsdk:"tls"`
+ TrustedCertificate types.Object `tfsdk:"trusted_certificate"`
+}
+
+var directoryMaintenanceDirectoryAttrTypesDS = objectAttrsTypeDSDirectoryMaintenanceDirectory(false)
+var directoryMaintenanceDirectoryAttrTypesDSRecurse = objectAttrsTypeDSDirectoryMaintenanceDirectory(true)
+
+type directoryMaintenanceDirectoryDataDS struct {
+}
+
+var directoryOIDCDirectoryAttrTypesDS = objectAttrsTypeDSDirectoryOIDCDirectory(false)
+var directoryOIDCDirectoryAttrTypesDSRecurse = objectAttrsTypeDSDirectoryOIDCDirectory(true)
+
+type directoryOIDCDirectoryDataDS struct {
+ AcrValues types.String `tfsdk:"acr_values"`
+ AttributesToStore types.String `tfsdk:"attributes_to_store"`
+ ClientID types.String `tfsdk:"client_id"`
+ ClientSecret types.String `tfsdk:"client_secret"`
+ DomainRestriction types.String `tfsdk:"domain_restriction"`
+ Enforces2fa types.Bool `tfsdk:"enforces2fa"`
+ FullyResolvedIssuer types.String `tfsdk:"fully_resolved_issuer"`
+ Issuer types.String `tfsdk:"issuer"`
+ LogoutURL types.String `tfsdk:"logout_url"`
+ SendLoginHint types.Bool `tfsdk:"send_login_hint"`
+ VendorEscaped types.String `tfsdk:"vendor_escaped"`
+}
+
+var groupAccountGroupAttrTypesDS = objectAttrsTypeDSGroupAccountGroup(false)
+var groupAccountGroupAttrTypesDSRecurse = objectAttrsTypeDSGroupAccountGroup(true)
+
+type groupAccountGroupDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Admin types.Bool `tfsdk:"admin"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Vault types.Object `tfsdk:"vault" tkhao:"vault"`
+ EndDate types.String `tfsdk:"end_date"`
+ Folder types.Object `tfsdk:"folder"`
+ LastUsed types.String `tfsdk:"last_used"`
+ ProvisioningEndTime types.String `tfsdk:"provisioning_end_time"`
+ Rights types.String `tfsdk:"rights"`
+ VisibleForProvisioning types.Bool `tfsdk:"visible_for_provisioning"`
+}
+
+var groupAccountGroupLinkableWrapperAttrTypesDS = objectAttrsTypeDSGroupAccountGroupLinkableWrapper(false)
+var groupAccountGroupLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupAccountGroupLinkableWrapper(true)
+
+type groupAccountGroupLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupAccountGroup_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupAccountGroup_additionalObjects(false)
+var groupAccountGroup_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupAccountGroup_additionalObjects(true)
+
+type groupAccountGroup_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Vault types.Object `tfsdk:"vault"`
+}
+
+var groupAuthorizedGroupsWrapperAttrTypesDS = objectAttrsTypeDSGroupAuthorizedGroupsWrapper(false)
+var groupAuthorizedGroupsWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupAuthorizedGroupsWrapper(true)
+
+type groupAuthorizedGroupsWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+ GroupCount types.Int64 `tfsdk:"group_count"`
+}
+
+var groupGroupAttrTypesDS = objectAttrsTypeDSGroupGroup(false)
+var groupGroupAttrTypesDSRecurse = objectAttrsTypeDSGroupGroup(true)
+
+type groupGroupDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Admin types.Bool `tfsdk:"admin"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Accounts types.List `tfsdk:"accounts" tkhao:"accounts"`
+ AdministeredClients types.List `tfsdk:"administered_clients" tkhao:"administeredClients"`
+ AdministeredSystems types.List `tfsdk:"administered_systems" tkhao:"administeredSystems"`
+ Admins types.List `tfsdk:"admins" tkhao:"admins"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ AuthorizedGroups types.Object `tfsdk:"authorized_groups" tkhao:"authorizedGroups"`
+ ClientPermissions types.List `tfsdk:"client_permissions" tkhao:"clientPermissions"`
+ Clients types.List `tfsdk:"clients" tkhao:"clients"`
+ ContentAdministeredSystems types.List `tfsdk:"content_administered_systems" tkhao:"contentAdministeredSystems"`
+ Groupauditinginfo types.Object `tfsdk:"groupauditinginfo" tkhao:"groupauditinginfo"`
+ Groupinfo types.Object `tfsdk:"groupinfo" tkhao:"groupinfo"`
+ Helpdesk types.List `tfsdk:"helpdesk" tkhao:"helpdesk"`
+ Markers types.Object `tfsdk:"markers" tkhao:"markers"`
+ Myaccount types.Object `tfsdk:"myaccount" tkhao:"myaccount"`
+ Mydelegatedaccount types.Object `tfsdk:"mydelegatedaccount" tkhao:"mydelegatedaccount"`
+ NestedGroups types.List `tfsdk:"nested_groups" tkhao:"nestedGroups"`
+ OwnedClients types.List `tfsdk:"owned_clients" tkhao:"ownedClients"`
+ OwnedDirectories types.List `tfsdk:"owned_directories" tkhao:"ownedDirectories"`
+ OwnedGroupsOnSystem types.Object `tfsdk:"owned_groups_on_system" tkhao:"ownedGroupsOnSystem"`
+ OwnedOrganizationalUnits types.List `tfsdk:"owned_organizational_units" tkhao:"ownedOrganizationalUnits"`
+ OwnedSystems types.List `tfsdk:"owned_systems" tkhao:"ownedSystems"`
+ RecentAudits types.List `tfsdk:"recent_audits" tkhao:"recentAudits"`
+ Requeststatus types.String `tfsdk:"requeststatus" tkhao:"requeststatus"`
+ ServiceAccounts types.List `tfsdk:"service_accounts" tkhao:"serviceAccounts"`
+ Systems types.List `tfsdk:"systems" tkhao:"systems"`
+ Vault types.Object `tfsdk:"vault" tkhao:"vault"`
+ Webhooks types.List `tfsdk:"webhooks" tkhao:"webhooks"`
+ ApplicationAdministration types.Bool `tfsdk:"application_administration"`
+ AuditConfig types.Object `tfsdk:"audit_config"`
+ AuditRequested types.Bool `tfsdk:"audit_requested"`
+ Auditor types.Bool `tfsdk:"auditor"`
+ AuthorizingGroupAuditing types.Object `tfsdk:"authorizing_group_auditing"`
+ AuthorizingGroupDelegation types.Object `tfsdk:"authorizing_group_delegation"`
+ AuthorizingGroupMembership types.Object `tfsdk:"authorizing_group_membership"`
+ AuthorizingGroupProvisioning types.Object `tfsdk:"authorizing_group_provisioning"`
+ AuthorizingGroupTypes types.List `tfsdk:"authorizing_group_types"`
+ Classification types.Object `tfsdk:"classification"`
+ Description types.String `tfsdk:"description"`
+ ExtendedAccess types.String `tfsdk:"extended_access"`
+ HideAuditTrail types.Bool `tfsdk:"hide_audit_trail"`
+ NestedUnder types.Object `tfsdk:"nested_under"`
+ OrganizationalUnit types.Object `tfsdk:"organizational_unit"`
+ PrivateGroup types.Bool `tfsdk:"private_group"`
+ RecordTrail types.Bool `tfsdk:"record_trail"`
+ RotatingPasswordRequired types.Bool `tfsdk:"rotating_password_required"`
+ SingleManaged types.Bool `tfsdk:"single_managed"`
+ VaultRecovery types.String `tfsdk:"vault_recovery"`
+ VaultRequiresActivation types.Bool `tfsdk:"vault_requires_activation"`
+}
+
+var groupGroupAccountAttrTypesDS = objectAttrsTypeDSGroupGroupAccount(false)
+var groupGroupAccountAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAccount(true)
+
+type groupGroupAccountDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ LastActive types.String `tfsdk:"last_active"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+ Validity types.String `tfsdk:"validity"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Directory types.Object `tfsdk:"directory"`
+ DisconnectedNested types.Bool `tfsdk:"disconnected_nested"`
+ EndDate types.String `tfsdk:"end_date"`
+ LastUsed types.String `tfsdk:"last_used"`
+ Nested types.Bool `tfsdk:"nested"`
+ ProvisioningEndTime types.String `tfsdk:"provisioning_end_time"`
+ Rights types.String `tfsdk:"rights"`
+ TwoFactorStatus types.String `tfsdk:"two_factor_status"`
+ VisibleForProvisioning types.Bool `tfsdk:"visible_for_provisioning"`
+}
+
+var groupGroupAccountLinkableWrapperAttrTypesDS = objectAttrsTypeDSGroupGroupAccountLinkableWrapper(false)
+var groupGroupAccountLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAccountLinkableWrapper(true)
+
+type groupGroupAccountLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupAccount_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupGroupAccount_additionalObjects(false)
+var groupGroupAccount_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAccount_additionalObjects(true)
+
+type groupGroupAccount_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupGroupAuditAttrTypesDS = objectAttrsTypeDSGroupGroupAudit(false)
+var groupGroupAuditAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAudit(true)
+
+type groupGroupAuditDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ Accounts types.List `tfsdk:"accounts"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Comment types.String `tfsdk:"comment"`
+ CreatedAt types.String `tfsdk:"created_at"`
+ CreatedBy types.String `tfsdk:"created_by"`
+ GroupName types.String `tfsdk:"group_name"`
+ NameOnAudit types.String `tfsdk:"name_on_audit"`
+ ReviewedAt types.String `tfsdk:"reviewed_at"`
+ ReviewedBy types.String `tfsdk:"reviewed_by"`
+ Status types.String `tfsdk:"status"`
+ SubmittedAt types.String `tfsdk:"submitted_at"`
+ SubmittedBy types.String `tfsdk:"submitted_by"`
+}
+
+var groupGroupAuditAccountAttrTypesDS = objectAttrsTypeDSGroupGroupAuditAccount(false)
+var groupGroupAuditAccountAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAuditAccount(true)
+
+type groupGroupAuditAccountDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountUUID types.String `tfsdk:"account_uuid"`
+ AccountValid types.Bool `tfsdk:"account_valid"`
+ Action types.String `tfsdk:"action"`
+ Comment types.String `tfsdk:"comment"`
+ DisconnectedNested types.Bool `tfsdk:"disconnected_nested"`
+ DisplayName types.String `tfsdk:"display_name"`
+ EndDate types.String `tfsdk:"end_date"`
+ LastActive types.String `tfsdk:"last_active"`
+ LastUsed types.String `tfsdk:"last_used"`
+ Nested types.Bool `tfsdk:"nested"`
+ Rights types.String `tfsdk:"rights"`
+ Username types.String `tfsdk:"username"`
+}
+
+var groupGroupAuditConfigAttrTypesDS = objectAttrsTypeDSGroupGroupAuditConfig(false)
+var groupGroupAuditConfigAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAuditConfig(true)
+
+type groupGroupAuditConfigDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Months types.List `tfsdk:"months"`
+}
+
+var groupGroupAuditLinkableWrapperAttrTypesDS = objectAttrsTypeDSGroupGroupAuditLinkableWrapper(false)
+var groupGroupAuditLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAuditLinkableWrapper(true)
+
+type groupGroupAuditLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupAudit_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupGroupAudit_additionalObjects(false)
+var groupGroupAudit_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAudit_additionalObjects(true)
+
+type groupGroupAudit_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupGroupAuditingInfoAttrTypesDS = objectAttrsTypeDSGroupGroupAuditingInfo(false)
+var groupGroupAuditingInfoAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupAuditingInfo(true)
+
+type groupGroupAuditingInfoDataDS struct {
+ AuditDueDate types.String `tfsdk:"audit_due_date"`
+ LastAuditDate types.String `tfsdk:"last_audit_date"`
+ NrAccounts types.Int64 `tfsdk:"nr_accounts"`
+ NrDisabledAccounts types.Int64 `tfsdk:"nr_disabled_accounts"`
+ NrDisabledManagers types.Int64 `tfsdk:"nr_disabled_managers"`
+ NrExpiredVaultRecords types.Int64 `tfsdk:"nr_expired_vault_records"`
+ NrManagers types.Int64 `tfsdk:"nr_managers"`
+ NrVaultRecordsWithEndDate types.Int64 `tfsdk:"nr_vault_records_with_end_date"`
+}
+
+var groupGroupClassificationAttrTypesDS = objectAttrsTypeDSGroupGroupClassification(false)
+var groupGroupClassificationAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupClassification(true)
+
+type groupGroupClassificationDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Info types.Object `tfsdk:"info" tkhao:"info"`
+ AuthorizingGroupAuditingRequired types.Bool `tfsdk:"authorizing_group_auditing_required"`
+ AuthorizingGroupDelegationRequired types.Bool `tfsdk:"authorizing_group_delegation_required"`
+ AuthorizingGroupMembershipRequired types.Bool `tfsdk:"authorizing_group_membership_required"`
+ AuthorizingGroupProvisioningRequired types.Bool `tfsdk:"authorizing_group_provisioning_required"`
+ DefaultClassification types.Bool `tfsdk:"default_classification"`
+ Description types.String `tfsdk:"description"`
+ MaximumAuditInterval types.Int64 `tfsdk:"maximum_audit_interval"`
+ MinimumNrManagers types.Int64 `tfsdk:"minimum_nr_managers"`
+ RecordTrailRequired types.Bool `tfsdk:"record_trail_required"`
+ RequiredMonths types.List `tfsdk:"required_months"`
+ RotatingPasswordRequired types.Bool `tfsdk:"rotating_password_required"`
+ VaultRequiresActivation types.Bool `tfsdk:"vault_requires_activation"`
+}
+
+var groupGroupClassificationInfoAttrTypesDS = objectAttrsTypeDSGroupGroupClassificationInfo(false)
+var groupGroupClassificationInfoAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupClassificationInfo(true)
+
+type groupGroupClassificationInfoDataDS struct {
+ NrGroups types.Int64 `tfsdk:"nr_groups"`
+}
+
+var groupGroupClassificationPrimerAttrTypesDS = objectAttrsTypeDSGroupGroupClassificationPrimer(false)
+var groupGroupClassificationPrimerAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupClassificationPrimer(true)
+
+type groupGroupClassificationPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var groupGroupClassification_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupGroupClassification_additionalObjects(false)
+var groupGroupClassification_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupClassification_additionalObjects(true)
+
+type groupGroupClassification_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Info types.Object `tfsdk:"info"`
+}
+
+var groupGroupClientAttrTypesDS = objectAttrsTypeDSGroupGroupClient(false)
+var groupGroupClientAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupClient(true)
+
+type groupGroupClientDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ ActivationRequired types.Bool `tfsdk:"activation_required"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Client types.Object `tfsdk:"client"`
+ Group types.Object `tfsdk:"group"`
+ Owner types.Object `tfsdk:"owner"`
+ TechnicalAdministrator types.Object `tfsdk:"technical_administrator"`
+}
+
+var groupGroupClientLinkableWrapperAttrTypesDS = objectAttrsTypeDSGroupGroupClientLinkableWrapper(false)
+var groupGroupClientLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupClientLinkableWrapper(true)
+
+type groupGroupClientLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupClient_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupGroupClient_additionalObjects(false)
+var groupGroupClient_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupClient_additionalObjects(true)
+
+type groupGroupClient_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupGroupFolderAttrTypesDS = objectAttrsTypeDSGroupGroupFolder(false)
+var groupGroupFolderAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupFolder(true)
+
+type groupGroupFolderDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Name types.String `tfsdk:"name"`
+}
+
+var groupGroupFolder_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupGroupFolder_additionalObjects(false)
+var groupGroupFolder_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupFolder_additionalObjects(true)
+
+type groupGroupFolder_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupGroupInfoAttrTypesDS = objectAttrsTypeDSGroupGroupInfo(false)
+var groupGroupInfoAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupInfo(true)
+
+type groupGroupInfoDataDS struct {
+ NrAccounts types.Int64 `tfsdk:"nr_accounts"`
+ NrAccountsWithVault types.Int64 `tfsdk:"nr_accounts_with_vault"`
+ NrAudits types.Int64 `tfsdk:"nr_audits"`
+ NrClients types.Int64 `tfsdk:"nr_clients"`
+ NrProvisionedSystems types.Int64 `tfsdk:"nr_provisioned_systems"`
+ NrVaultRecords types.Int64 `tfsdk:"nr_vault_records"`
+}
+
+var groupGroupLinkableWrapperAttrTypesDS = objectAttrsTypeDSGroupGroupLinkableWrapper(false)
+var groupGroupLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupLinkableWrapper(true)
+
+type groupGroupLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupPrimerAttrTypesDS = objectAttrsTypeDSGroupGroupPrimer(false)
+var groupGroupPrimerAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupPrimer(true)
+
+type groupGroupPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Admin types.Bool `tfsdk:"admin"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var groupGroupPrimerLinkableWrapperAttrTypesDS = objectAttrsTypeDSGroupGroupPrimerLinkableWrapper(false)
+var groupGroupPrimerLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupGroupPrimerLinkableWrapper(true)
+
+type groupGroupPrimerLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroup_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupGroup_additionalObjects(false)
+var groupGroup_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupGroup_additionalObjects(true)
+
+type groupGroup_additionalObjectsDataDS struct {
+ Accounts types.List `tfsdk:"accounts"`
+ AdministeredClients types.List `tfsdk:"administered_clients"`
+ AdministeredSystems types.List `tfsdk:"administered_systems"`
+ Admins types.List `tfsdk:"admins"`
+ Audit types.Object `tfsdk:"audit"`
+ AuthorizedGroups types.Object `tfsdk:"authorized_groups"`
+ ClientPermissions types.List `tfsdk:"client_permissions"`
+ Clients types.List `tfsdk:"clients"`
+ ContentAdministeredSystems types.List `tfsdk:"content_administered_systems"`
+ Groupauditinginfo types.Object `tfsdk:"groupauditinginfo"`
+ Groupinfo types.Object `tfsdk:"groupinfo"`
+ Helpdesk types.List `tfsdk:"helpdesk"`
+ Markers types.Object `tfsdk:"markers"`
+ Myaccount types.Object `tfsdk:"myaccount"`
+ Mydelegatedaccount types.Object `tfsdk:"mydelegatedaccount"`
+ NestedGroups types.List `tfsdk:"nested_groups"`
+ OwnedClients types.List `tfsdk:"owned_clients"`
+ OwnedDirectories types.List `tfsdk:"owned_directories"`
+ OwnedGroupsOnSystem types.Object `tfsdk:"owned_groups_on_system"`
+ OwnedOrganizationalUnits types.List `tfsdk:"owned_organizational_units"`
+ OwnedSystems types.List `tfsdk:"owned_systems"`
+ RecentAudits types.List `tfsdk:"recent_audits"`
+ Requeststatus types.String `tfsdk:"requeststatus"`
+ ServiceAccounts types.List `tfsdk:"service_accounts"`
+ Systems types.List `tfsdk:"systems"`
+ Vault types.Object `tfsdk:"vault"`
+ Webhooks types.List `tfsdk:"webhooks"`
+}
+
+var groupProvisioningGroupAttrTypesDS = objectAttrsTypeDSGroupProvisioningGroup(false)
+var groupProvisioningGroupAttrTypesDSRecurse = objectAttrsTypeDSGroupProvisioningGroup(true)
+
+type groupProvisioningGroupDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ ActivationRequired types.Bool `tfsdk:"activation_required"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Group types.Object `tfsdk:"group"`
+ GroupOnSystem types.Object `tfsdk:"group_on_system"`
+}
+
+var groupProvisioningGroupLinkableWrapperAttrTypesDS = objectAttrsTypeDSGroupProvisioningGroupLinkableWrapper(false)
+var groupProvisioningGroupLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSGroupProvisioningGroupLinkableWrapper(true)
+
+type groupProvisioningGroupLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupProvisioningGroup_additionalObjectsAttrTypesDS = objectAttrsTypeDSGroupProvisioningGroup_additionalObjects(false)
+var groupProvisioningGroup_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSGroupProvisioningGroup_additionalObjects(true)
+
+type groupProvisioningGroup_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var launchpadSsoApplicationLaunchpadTileAttrTypesDS = objectAttrsTypeDSLaunchpadSsoApplicationLaunchpadTile(false)
+var launchpadSsoApplicationLaunchpadTileAttrTypesDSRecurse = objectAttrsTypeDSLaunchpadSsoApplicationLaunchpadTile(true)
+
+type launchpadSsoApplicationLaunchpadTileDataDS struct {
+ URI types.String `tfsdk:"uri"`
+}
+
+var launchpadVaultRecordLaunchpadTileAttrTypesDS = objectAttrsTypeDSLaunchpadVaultRecordLaunchpadTile(false)
+var launchpadVaultRecordLaunchpadTileAttrTypesDSRecurse = objectAttrsTypeDSLaunchpadVaultRecordLaunchpadTile(true)
+
+type launchpadVaultRecordLaunchpadTileDataDS struct {
+}
+
+var markItemMarkerAttrTypesDS = objectAttrsTypeDSMarkItemMarker(false)
+var markItemMarkerAttrTypesDSRecurse = objectAttrsTypeDSMarkItemMarker(true)
+
+type markItemMarkerDataDS struct {
+ Level types.String `tfsdk:"level"`
+ MarkItemMarkerType types.String `tfsdk:"type"`
+ Parameters types.Map `tfsdk:"parameters"`
+}
+
+var markItemMarkersAttrTypesDS = objectAttrsTypeDSMarkItemMarkers(false)
+var markItemMarkersAttrTypesDSRecurse = objectAttrsTypeDSMarkItemMarkers(true)
+
+type markItemMarkersDataDS struct {
+ Markers types.List `tfsdk:"markers"`
+}
+
+var organizationOrganizationalUnitAttrTypesDS = objectAttrsTypeDSOrganizationOrganizationalUnit(false)
+var organizationOrganizationalUnitAttrTypesDSRecurse = objectAttrsTypeDSOrganizationOrganizationalUnit(true)
+
+type organizationOrganizationalUnitDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Depth types.Int64 `tfsdk:"depth"`
+ Description types.String `tfsdk:"description"`
+ Owner types.Object `tfsdk:"owner"`
+ Parent types.Object `tfsdk:"parent"`
+}
+
+var organizationOrganizationalUnitLinkableWrapperAttrTypesDS = objectAttrsTypeDSOrganizationOrganizationalUnitLinkableWrapper(false)
+var organizationOrganizationalUnitLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSOrganizationOrganizationalUnitLinkableWrapper(true)
+
+type organizationOrganizationalUnitLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var organizationOrganizationalUnitPrimerAttrTypesDS = objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(false)
+var organizationOrganizationalUnitPrimerAttrTypesDSRecurse = objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(true)
+
+type organizationOrganizationalUnitPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var organizationOrganizationalUnit_additionalObjectsAttrTypesDS = objectAttrsTypeDSOrganizationOrganizationalUnit_additionalObjects(false)
+var organizationOrganizationalUnit_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSOrganizationOrganizationalUnit_additionalObjects(true)
+
+type organizationOrganizationalUnit_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var provisioningAbstractProvisionedLDAPAttrTypesDS = objectAttrsTypeDSProvisioningAbstractProvisionedLDAP(false)
+var provisioningAbstractProvisionedLDAPAttrTypesDSRecurse = objectAttrsTypeDSProvisioningAbstractProvisionedLDAP(true)
+
+type provisioningAbstractProvisionedLDAPDataDS struct {
+ Attributes types.Map `tfsdk:"attributes"`
+ BaseDN types.String `tfsdk:"base_dn"`
+ BindDN types.String `tfsdk:"bind_dn"`
+ BindPassword types.String `tfsdk:"bind_password"`
+ ClientCertificate types.Object `tfsdk:"client_certificate"`
+ FailoverHost types.String `tfsdk:"failover_host"`
+ FailoverTrustedCertificate types.Object `tfsdk:"failover_trusted_certificate"`
+ GroupDN types.String `tfsdk:"group_dn"`
+ Host types.String `tfsdk:"host"`
+ ObjectClasses types.String `tfsdk:"object_classes"`
+ Port types.Int64 `tfsdk:"port"`
+ ServiceAccountDN types.String `tfsdk:"service_account_dn"`
+ SshPublicKeySupported types.Bool `tfsdk:"ssh_public_key_supported"`
+ TLS types.String `tfsdk:"tls"`
+ TrustedCertificate types.Object `tfsdk:"trusted_certificate"`
+ UserDN types.String `tfsdk:"user_dn"`
+}
+
+var provisioningCircuitBreakerStatisticsAttrTypesDS = objectAttrsTypeDSProvisioningCircuitBreakerStatistics(false)
+var provisioningCircuitBreakerStatisticsAttrTypesDSRecurse = objectAttrsTypeDSProvisioningCircuitBreakerStatistics(true)
+
+type provisioningCircuitBreakerStatisticsDataDS struct {
+ NumberOfFailedCalls types.Int64 `tfsdk:"number_of_failed_calls"`
+ NumberOfNotPermittedCalls types.Int64 `tfsdk:"number_of_not_permitted_calls"`
+ NumberOfSuccessfulCalls types.Int64 `tfsdk:"number_of_successful_calls"`
+ State types.String `tfsdk:"state"`
+}
+
+var provisioningGroupOnSystemAttrTypesDS = objectAttrsTypeDSProvisioningGroupOnSystem(false)
+var provisioningGroupOnSystemAttrTypesDSRecurse = objectAttrsTypeDSProvisioningGroupOnSystem(true)
+
+type provisioningGroupOnSystemDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ NameInSystem types.String `tfsdk:"name_in_system"`
+ ProvisioningGroupOnSystemPrimerType types.String `tfsdk:"type"`
+ ShortNameInSystem types.String `tfsdk:"short_name_in_system"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Provgroups types.List `tfsdk:"provgroups" tkhao:"provgroups"`
+ ServiceAccounts types.List `tfsdk:"service_accounts" tkhao:"serviceAccounts"`
+ Owner types.Object `tfsdk:"owner"`
+}
+
+var provisioningGroupOnSystemLinkableWrapperAttrTypesDS = objectAttrsTypeDSProvisioningGroupOnSystemLinkableWrapper(false)
+var provisioningGroupOnSystemLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSProvisioningGroupOnSystemLinkableWrapper(true)
+
+type provisioningGroupOnSystemLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var provisioningGroupOnSystemPrimerAttrTypesDS = objectAttrsTypeDSProvisioningGroupOnSystemPrimer(false)
+var provisioningGroupOnSystemPrimerAttrTypesDSRecurse = objectAttrsTypeDSProvisioningGroupOnSystemPrimer(true)
+
+type provisioningGroupOnSystemPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ NameInSystem types.String `tfsdk:"name_in_system"`
+ ProvisioningGroupOnSystemPrimerType types.String `tfsdk:"type"`
+ ShortNameInSystem types.String `tfsdk:"short_name_in_system"`
+}
+
+var provisioningGroupOnSystemTypesAttrTypesDS = objectAttrsTypeDSProvisioningGroupOnSystemTypes(false)
+var provisioningGroupOnSystemTypesAttrTypesDSRecurse = objectAttrsTypeDSProvisioningGroupOnSystemTypes(true)
+
+type provisioningGroupOnSystemTypesDataDS struct {
+ Types types.List `tfsdk:"types"`
+}
+
+var provisioningGroupOnSystem_additionalObjectsAttrTypesDS = objectAttrsTypeDSProvisioningGroupOnSystem_additionalObjects(false)
+var provisioningGroupOnSystem_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSProvisioningGroupOnSystem_additionalObjects(true)
+
+type provisioningGroupOnSystem_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Provgroups types.List `tfsdk:"provgroups"`
+ ServiceAccounts types.List `tfsdk:"service_accounts"`
+}
+
+var provisioningOwnedGroupOnSystemsWrapperAttrTypesDS = objectAttrsTypeDSProvisioningOwnedGroupOnSystemsWrapper(false)
+var provisioningOwnedGroupOnSystemsWrapperAttrTypesDSRecurse = objectAttrsTypeDSProvisioningOwnedGroupOnSystemsWrapper(true)
+
+type provisioningOwnedGroupOnSystemsWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+ UnlinkedCount types.Int64 `tfsdk:"unlinked_count"`
+}
+
+var provisioningProvisionNumberSequenceAttrTypesDS = objectAttrsTypeDSProvisioningProvisionNumberSequence(false)
+var provisioningProvisionNumberSequenceAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionNumberSequence(true)
+
+type provisioningProvisionNumberSequenceDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ AccountCount types.Int64 `tfsdk:"account_count"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Systems types.List `tfsdk:"systems" tkhao:"systems"`
+ Name types.String `tfsdk:"name"`
+ NextUID types.Int64 `tfsdk:"next_uid"`
+}
+
+var provisioningProvisionNumberSequence_additionalObjectsAttrTypesDS = objectAttrsTypeDSProvisioningProvisionNumberSequence_additionalObjects(false)
+var provisioningProvisionNumberSequence_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionNumberSequence_additionalObjects(true)
+
+type provisioningProvisionNumberSequence_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Systems types.List `tfsdk:"systems"`
+}
+
+var provisioningProvisionedADAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedAD(false)
+var provisioningProvisionedADAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedAD(true)
+
+type provisioningProvisionedADDataDS struct {
+ SamAccountNameScheme types.String `tfsdk:"sam_account_name_scheme"`
+}
+
+var provisioningProvisionedAccountAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedAccount(false)
+var provisioningProvisionedAccountAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedAccount(true)
+
+type provisioningProvisionedAccountDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ LastActive types.String `tfsdk:"last_active"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+ Validity types.String `tfsdk:"validity"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ UID types.Int64 `tfsdk:"uid"`
+}
+
+var provisioningProvisionedAccount_additionalObjectsAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedAccount_additionalObjects(false)
+var provisioningProvisionedAccount_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedAccount_additionalObjects(true)
+
+type provisioningProvisionedAccount_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var provisioningProvisionedAzureOIDCDirectoryAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedAzureOIDCDirectory(false)
+var provisioningProvisionedAzureOIDCDirectoryAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedAzureOIDCDirectory(true)
+
+type provisioningProvisionedAzureOIDCDirectoryDataDS struct {
+ Directory types.Object `tfsdk:"directory"`
+ Tenant types.String `tfsdk:"tenant"`
+}
+
+var provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedAzureSyncLDAPDirectory(false)
+var provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedAzureSyncLDAPDirectory(true)
+
+type provisioningProvisionedAzureSyncLDAPDirectoryDataDS struct {
+ ClientID types.String `tfsdk:"client_id"`
+ ClientSecret types.String `tfsdk:"client_secret"`
+ Directory types.Object `tfsdk:"directory"`
+ Tenant types.String `tfsdk:"tenant"`
+}
+
+var provisioningProvisionedAzureTenantAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedAzureTenant(false)
+var provisioningProvisionedAzureTenantAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedAzureTenant(true)
+
+type provisioningProvisionedAzureTenantDataDS struct {
+ ClientID types.String `tfsdk:"client_id"`
+ ClientSecret types.String `tfsdk:"client_secret"`
+ IDpDomain types.String `tfsdk:"idp_domain"`
+ Tenant types.String `tfsdk:"tenant"`
+}
+
+var provisioningProvisionedInternalLDAPAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedInternalLDAP(false)
+var provisioningProvisionedInternalLDAPAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedInternalLDAP(true)
+
+type provisioningProvisionedInternalLDAPDataDS struct {
+ Client types.Object `tfsdk:"client"`
+}
+
+var provisioningProvisionedLDAPAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedLDAP(false)
+var provisioningProvisionedLDAPAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedLDAP(true)
+
+type provisioningProvisionedLDAPDataDS struct {
+ Gid types.Int64 `tfsdk:"gid"`
+ HashingScheme types.String `tfsdk:"hashing_scheme"`
+ Numbering types.Object `tfsdk:"numbering"`
+}
+
+var provisioningProvisionedLDAPDirectoryAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedLDAPDirectory(false)
+var provisioningProvisionedLDAPDirectoryAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedLDAPDirectory(true)
+
+type provisioningProvisionedLDAPDirectoryDataDS struct {
+ Directory types.Object `tfsdk:"directory"`
+ GroupDN types.String `tfsdk:"group_dn"`
+}
+
+var provisioningProvisionedSystemAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedSystem(false)
+var provisioningProvisionedSystemAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedSystem(true)
+
+type provisioningProvisionedSystemDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ OrganizationalUnit types.Object `tfsdk:"organizational_unit"`
+ ProvisioningProvisionedSystemPrimerType types.String `tfsdk:"type"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ AccountCount types.Int64 `tfsdk:"account_count"`
+ Account types.Object `tfsdk:"account" tkhao:"account"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ IssuedPermissions types.List `tfsdk:"issued_permissions" tkhao:"issuedPermissions"`
+ LoginName types.String `tfsdk:"login_name" tkhao:"loginName"`
+ ManagementPermissions types.Object `tfsdk:"management_permissions" tkhao:"managementPermissions"`
+ Markers types.Object `tfsdk:"markers" tkhao:"markers"`
+ Statistics types.Object `tfsdk:"statistics" tkhao:"statistics"`
+ SupportedGroupTypes types.Object `tfsdk:"supported_group_types" tkhao:"supportedGroupTypes"`
+ ContentAdministrator types.Object `tfsdk:"content_administrator"`
+ ExternalUUID types.String `tfsdk:"external_uuid"`
+ Owner types.Object `tfsdk:"owner"`
+ SelfServiceExistingGroups types.Bool `tfsdk:"self_service_existing_groups"`
+ SelfServiceNewGroups types.Bool `tfsdk:"self_service_new_groups"`
+ SelfServiceServiceAccounts types.Bool `tfsdk:"self_service_service_accounts"`
+ ShouldDestroyUnknownAccounts types.Bool `tfsdk:"should_destroy_unknown_accounts"`
+ TechnicalAdministrator types.Object `tfsdk:"technical_administrator"`
+ UsernamePrefix types.String `tfsdk:"username_prefix"`
+ AbstractProvisionedLDAP types.Object `tfsdk:"abstract_provisioned_ldap"`
+ ProvisionedAD types.Object `tfsdk:"provisioned_a_d"`
+ ProvisionedAzureOIDCDirectory types.Object `tfsdk:"provisioned_azure_oidc_directory"`
+ ProvisionedAzureSyncLDAPDirectory types.Object `tfsdk:"provisioned_azure_sync_ldap_directory"`
+ ProvisionedAzureTenant types.Object `tfsdk:"provisioned_azure_tenant"`
+ ProvisionedInternalLDAP types.Object `tfsdk:"provisioned_internal_ldap"`
+ ProvisionedLDAP types.Object `tfsdk:"provisioned_ldap"`
+ ProvisionedLDAPDirectory types.Object `tfsdk:"provisioned_ldap_directory"`
+}
+
+var provisioningProvisionedSystemLinkableWrapperAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(false)
+var provisioningProvisionedSystemLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(true)
+
+type provisioningProvisionedSystemLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var provisioningProvisionedSystemPrimerAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedSystemPrimer(false)
+var provisioningProvisionedSystemPrimerAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedSystemPrimer(true)
+
+type provisioningProvisionedSystemPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ OrganizationalUnit types.Object `tfsdk:"organizational_unit"`
+ ProvisioningProvisionedSystemPrimerType types.String `tfsdk:"type"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedSystemPrimerLinkableWrapper(false)
+var provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedSystemPrimerLinkableWrapper(true)
+
+type provisioningProvisionedSystemPrimerLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var provisioningProvisionedSystem_additionalObjectsAttrTypesDS = objectAttrsTypeDSProvisioningProvisionedSystem_additionalObjects(false)
+var provisioningProvisionedSystem_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisionedSystem_additionalObjects(true)
+
+type provisioningProvisionedSystem_additionalObjectsDataDS struct {
+ Account types.Object `tfsdk:"account"`
+ Audit types.Object `tfsdk:"audit"`
+ IssuedPermissions types.List `tfsdk:"issued_permissions"`
+ LoginName types.String `tfsdk:"login_name"`
+ ManagementPermissions types.Object `tfsdk:"management_permissions"`
+ Markers types.Object `tfsdk:"markers"`
+ Statistics types.Object `tfsdk:"statistics"`
+ SupportedGroupTypes types.Object `tfsdk:"supported_group_types"`
+}
+
+var provisioningProvisioningManagementPermissionsAttrTypesDS = objectAttrsTypeDSProvisioningProvisioningManagementPermissions(false)
+var provisioningProvisioningManagementPermissionsAttrTypesDSRecurse = objectAttrsTypeDSProvisioningProvisioningManagementPermissions(true)
+
+type provisioningProvisioningManagementPermissionsDataDS struct {
+ CreateNewGroupsAllowed types.Bool `tfsdk:"create_new_groups_allowed"`
+ CreateServiceAccountsAllowed types.Bool `tfsdk:"create_service_accounts_allowed"`
+ ReuseExistingGroupsAllowed types.Bool `tfsdk:"reuse_existing_groups_allowed"`
+}
+
+var serviceaccountServiceAccountAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccount(false)
+var serviceaccountServiceAccountAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccount(true)
+
+type serviceaccountServiceAccountDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ System types.Object `tfsdk:"system"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Groups types.List `tfsdk:"groups" tkhao:"groups"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ Description types.String `tfsdk:"description"`
+ Password types.Object `tfsdk:"password"`
+ PasswordRotation types.String `tfsdk:"password_rotation"`
+ TechnicalAdministrator types.Object `tfsdk:"technical_administrator"`
+}
+
+var serviceaccountServiceAccountGroupAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccountGroup(false)
+var serviceaccountServiceAccountGroupAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccountGroup(true)
+
+type serviceaccountServiceAccountGroupDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ NameInSystem types.String `tfsdk:"name_in_system"`
+ ProvisioningGroupOnSystemPrimerType types.String `tfsdk:"type"`
+ ShortNameInSystem types.String `tfsdk:"short_name_in_system"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+}
+
+var serviceaccountServiceAccountGroupLinkableWrapperAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccountGroupLinkableWrapper(false)
+var serviceaccountServiceAccountGroupLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccountGroupLinkableWrapper(true)
+
+type serviceaccountServiceAccountGroupLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var serviceaccountServiceAccountGroup_additionalObjectsAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccountGroup_additionalObjects(false)
+var serviceaccountServiceAccountGroup_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccountGroup_additionalObjects(true)
+
+type serviceaccountServiceAccountGroup_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var serviceaccountServiceAccountLinkableWrapperAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccountLinkableWrapper(false)
+var serviceaccountServiceAccountLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccountLinkableWrapper(true)
+
+type serviceaccountServiceAccountLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var serviceaccountServiceAccountPrimerAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccountPrimer(false)
+var serviceaccountServiceAccountPrimerAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccountPrimer(true)
+
+type serviceaccountServiceAccountPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ System types.Object `tfsdk:"system"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccountPrimerLinkableWrapper(false)
+var serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccountPrimerLinkableWrapper(true)
+
+type serviceaccountServiceAccountPrimerLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var serviceaccountServiceAccount_additionalObjectsAttrTypesDS = objectAttrsTypeDSServiceaccountServiceAccount_additionalObjects(false)
+var serviceaccountServiceAccount_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSServiceaccountServiceAccount_additionalObjects(true)
+
+type serviceaccountServiceAccount_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Groups types.List `tfsdk:"groups"`
+ Secret types.Object `tfsdk:"secret"`
+}
+
+var vaultPasswordMetadataAttrTypesDS = objectAttrsTypeDSVaultPasswordMetadata(false)
+var vaultPasswordMetadataAttrTypesDSRecurse = objectAttrsTypeDSVaultPasswordMetadata(true)
+
+type vaultPasswordMetadataDataDS struct {
+ Dictionary types.Bool `tfsdk:"dictionary"`
+ Duplicate types.Bool `tfsdk:"duplicate"`
+ Hash types.String `tfsdk:"hash"`
+ Length types.Int64 `tfsdk:"length"`
+ LowerCount types.Int64 `tfsdk:"lower_count"`
+ NumberCount types.Int64 `tfsdk:"number_count"`
+ SpecialCount types.Int64 `tfsdk:"special_count"`
+ Strength types.Int64 `tfsdk:"strength"`
+ UpperCount types.Int64 `tfsdk:"upper_count"`
+}
+
+var vaultVaultAttrTypesDS = objectAttrsTypeDSVaultVault(false)
+var vaultVaultAttrTypesDSRecurse = objectAttrsTypeDSVaultVault(true)
+
+type vaultVaultDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccessAvailable types.Bool `tfsdk:"access_available"`
+ Name types.String `tfsdk:"name"`
+ Records types.List `tfsdk:"records"`
+}
+
+var vaultVaultHolderAttrTypesDS = objectAttrsTypeDSVaultVaultHolder(false)
+var vaultVaultHolderAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultHolder(true)
+
+type vaultVaultHolderDataDS struct {
+}
+
+var vaultVaultRecordAttrTypesDS = objectAttrsTypeDSVaultVaultRecord(false)
+var vaultVaultRecordAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultRecord(true)
+
+type vaultVaultRecordDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Color types.String `tfsdk:"color"`
+ Name types.String `tfsdk:"name"`
+ ShareEndTime types.String `tfsdk:"share_end_time"`
+ UUID types.String `tfsdk:"uuid"`
+ Additional types.List `tfsdk:"additional"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Parent types.Object `tfsdk:"parent" tkhao:"parent"`
+ PasswordMetadata types.Object `tfsdk:"password_metadata" tkhao:"passwordMetadata"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ ShareSummary types.Object `tfsdk:"share_summary" tkhao:"shareSummary"`
+ Shares types.List `tfsdk:"shares" tkhao:"shares"`
+ Tile types.Object `tfsdk:"tile" tkhao:"tile"`
+ Vaultholder types.Object `tfsdk:"vaultholder" tkhao:"vaultholder"`
+ Derived types.Bool `tfsdk:"derived"`
+ EndDate types.String `tfsdk:"end_date"`
+ Filename types.String `tfsdk:"filename"`
+ Types types.List `tfsdk:"types"`
+ URL types.String `tfsdk:"url"`
+ Username types.String `tfsdk:"username"`
+ WarningPeriod types.String `tfsdk:"warning_period"`
+}
+
+var vaultVaultRecordPrimerAttrTypesDS = objectAttrsTypeDSVaultVaultRecordPrimer(false)
+var vaultVaultRecordPrimerAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultRecordPrimer(true)
+
+type vaultVaultRecordPrimerDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Color types.String `tfsdk:"color"`
+ Name types.String `tfsdk:"name"`
+ ShareEndTime types.String `tfsdk:"share_end_time"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var vaultVaultRecordPrimerLinkableWrapperAttrTypesDS = objectAttrsTypeDSVaultVaultRecordPrimerLinkableWrapper(false)
+var vaultVaultRecordPrimerLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultRecordPrimerLinkableWrapper(true)
+
+type vaultVaultRecordPrimerLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var vaultVaultRecordSecretsAttrTypesDS = objectAttrsTypeDSVaultVaultRecordSecrets(false)
+var vaultVaultRecordSecretsAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultRecordSecrets(true)
+
+type vaultVaultRecordSecretsDataDS struct {
+ Comment types.String `tfsdk:"comment"`
+ File types.String `tfsdk:"file"`
+ Password types.String `tfsdk:"password"`
+ Totp types.String `tfsdk:"totp"`
+}
+
+var vaultVaultRecordShareAttrTypesDS = objectAttrsTypeDSVaultVaultRecordShare(false)
+var vaultVaultRecordShareAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultRecordShare(true)
+
+type vaultVaultRecordShareDataDS struct {
+ Name types.String `tfsdk:"name"`
+ VaultVaultRecordShareType types.String `tfsdk:"type"`
+}
+
+var vaultVaultRecordShareSummaryAttrTypesDS = objectAttrsTypeDSVaultVaultRecordShareSummary(false)
+var vaultVaultRecordShareSummaryAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultRecordShareSummary(true)
+
+type vaultVaultRecordShareSummaryDataDS struct {
+ Children types.List `tfsdk:"children"`
+ Parent types.Object `tfsdk:"parent"`
+}
+
+var vaultVaultRecord_additionalObjectsAttrTypesDS = objectAttrsTypeDSVaultVaultRecord_additionalObjects(false)
+var vaultVaultRecord_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSVaultVaultRecord_additionalObjects(true)
+
+type vaultVaultRecord_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Parent types.Object `tfsdk:"parent"`
+ PasswordMetadata types.Object `tfsdk:"password_metadata"`
+ Secret types.Object `tfsdk:"secret"`
+ ShareSummary types.Object `tfsdk:"share_summary"`
+ Shares types.List `tfsdk:"shares"`
+ Tile types.Object `tfsdk:"tile"`
+ Vaultholder types.Object `tfsdk:"vaultholder"`
+}
+
+var webhookWebhookAttrTypesDS = objectAttrsTypeDSWebhookWebhook(false)
+var webhookWebhookAttrTypesDSRecurse = objectAttrsTypeDSWebhookWebhook(true)
+
+type webhookWebhookDataDS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Additional types.List `tfsdk:"additional"`
+ Account types.Object `tfsdk:"account"`
+ Active types.Bool `tfsdk:"active"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ AllTypes types.Bool `tfsdk:"all_types"`
+ AuthenticationScheme types.String `tfsdk:"authentication_scheme"`
+ BasicAuthPassword types.String `tfsdk:"basic_auth_password"`
+ BasicAuthUsername types.String `tfsdk:"basic_auth_username"`
+ BearerToken types.String `tfsdk:"bearer_token"`
+ Client types.Object `tfsdk:"client"`
+ ClientCertificate types.Object `tfsdk:"client_certificate"`
+ CustomHeaderName types.String `tfsdk:"custom_header_name"`
+ CustomHeaderValue types.String `tfsdk:"custom_header_value"`
+ Directory types.Object `tfsdk:"directory"`
+ Group types.Object `tfsdk:"group"`
+ Name types.String `tfsdk:"name"`
+ System types.Object `tfsdk:"system"`
+ TLS types.String `tfsdk:"tls"`
+ TrustedCertificate types.Object `tfsdk:"trusted_certificate"`
+ Types types.List `tfsdk:"types"`
+ URL types.String `tfsdk:"url"`
+ UUID types.String `tfsdk:"uuid"`
+ VerbosePayloads types.Bool `tfsdk:"verbose_payloads"`
+}
+
+var webhookWebhookLinkableWrapperAttrTypesDS = objectAttrsTypeDSWebhookWebhookLinkableWrapper(false)
+var webhookWebhookLinkableWrapperAttrTypesDSRecurse = objectAttrsTypeDSWebhookWebhookLinkableWrapper(true)
+
+type webhookWebhookLinkableWrapperDataDS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var webhookWebhook_additionalObjectsAttrTypesDS = objectAttrsTypeDSWebhookWebhook_additionalObjects(false)
+var webhookWebhook_additionalObjectsAttrTypesDSRecurse = objectAttrsTypeDSWebhookWebhook_additionalObjects(true)
+
+type webhookWebhook_additionalObjectsDataDS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
diff --git a/internal/provider/full-data-struct-rs.go b/internal/provider/full-data-struct-rs.go
new file mode 100644
index 0000000..8986d17
--- /dev/null
+++ b/internal/provider/full-data-struct-rs.go
@@ -0,0 +1,1350 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "github.com/hashicorp/terraform-plugin-framework/types"
+)
+
+var auditInfoAttrTypesRS = objectAttrsTypeRSAuditInfo(false)
+var auditInfoAttrTypesRSRecurse = objectAttrsTypeRSAuditInfo(true)
+
+type auditInfoDataRS struct {
+ CreatedAt types.String `tfsdk:"created_at"`
+ CreatedBy types.String `tfsdk:"created_by"`
+ LastModifiedAt types.String `tfsdk:"last_modified_at"`
+ LastModifiedBy types.String `tfsdk:"last_modified_by"`
+}
+
+var generatedSecretAttrTypesRS = objectAttrsTypeRSGeneratedSecret(false)
+var generatedSecretAttrTypesRSRecurse = objectAttrsTypeRSGeneratedSecret(true)
+
+type generatedSecretDataRS struct {
+ GeneratedSecret types.String `tfsdk:"generated_secret"`
+ OldSecret types.String `tfsdk:"old_secret"`
+ Regenerate types.Bool `tfsdk:"regenerate"`
+}
+
+var linkableAttrTypesRS = objectAttrsTypeRSLinkable(false)
+var linkableAttrTypesRSRecurse = objectAttrsTypeRSLinkable(true)
+
+type linkableDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+}
+
+var nonLinkableAttrTypesRS = objectAttrsTypeRSNonLinkable(false)
+var nonLinkableAttrTypesRSRecurse = objectAttrsTypeRSNonLinkable(true)
+
+type nonLinkableDataRS struct {
+}
+
+var restLinkAttrTypesRS = objectAttrsTypeRSRestLink(false)
+var restLinkAttrTypesRSRecurse = objectAttrsTypeRSRestLink(true)
+
+type restLinkDataRS struct {
+ Href types.String `tfsdk:"href"`
+ ID types.Int64 `tfsdk:"id"`
+ Rel types.String `tfsdk:"rel"`
+ TypeEscaped types.String `tfsdk:"type_escaped"`
+}
+
+var authAccountPrimerAttrTypesRS = objectAttrsTypeRSAuthAccountPrimer(false)
+var authAccountPrimerAttrTypesRSRecurse = objectAttrsTypeRSAuthAccountPrimer(true)
+
+type authAccountPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ LastActive types.String `tfsdk:"last_active"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+ Validity types.String `tfsdk:"validity"`
+}
+
+var authPermissionAttrTypesRS = objectAttrsTypeRSAuthPermission(false)
+var authPermissionAttrTypesRSRecurse = objectAttrsTypeRSAuthPermission(true)
+
+type authPermissionDataRS struct {
+ Full types.String `tfsdk:"full"`
+ Instances types.List `tfsdk:"instances"`
+ Operations types.List `tfsdk:"operations"`
+ TypeEscaped types.String `tfsdk:"type_escaped"`
+}
+
+var certificateCertificatePrimerAttrTypesRS = objectAttrsTypeRSCertificateCertificatePrimer(false)
+var certificateCertificatePrimerAttrTypesRSRecurse = objectAttrsTypeRSCertificateCertificatePrimer(true)
+
+type certificateCertificatePrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Alias types.String `tfsdk:"alias"`
+ CertificateCertificatePrimerType types.String `tfsdk:"type"`
+ CertificateData types.List `tfsdk:"certificate_data"`
+ Expiration types.String `tfsdk:"expiration"`
+ FingerprintSha1 types.String `tfsdk:"fingerprint_sha1"`
+ FingerprintSha256 types.String `tfsdk:"fingerprint_sha256"`
+ Global types.Bool `tfsdk:"global"`
+ SubjectDN types.String `tfsdk:"subject_dn"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var clientApplicationVaultVaultRecordAttrTypesRS = objectAttrsTypeRSClientApplicationVaultVaultRecord(false)
+var clientApplicationVaultVaultRecordAttrTypesRSRecurse = objectAttrsTypeRSClientApplicationVaultVaultRecord(true)
+
+type clientApplicationVaultVaultRecordDataRS struct {
+ ClientApplicationUUID types.String `tfsdk:"client_application_uuid"`
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Color types.String `tfsdk:"color"`
+ Name types.String `tfsdk:"name"`
+ ShareEndTime types.String `tfsdk:"share_end_time"`
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ DeleteTile types.Bool `tfsdk:"delete_tile" tkhao:"deleteTile"`
+ ParentUUID types.String `tfsdk:"parent_uuid" tkhao:"parent"`
+ PasswordMetadata types.Object `tfsdk:"password_metadata" tkhao:"passwordMetadata"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ ShareSummary types.Object `tfsdk:"share_summary" tkhao:"shareSummary"`
+ Shares types.List `tfsdk:"shares" tkhao:"shares"`
+ Tile types.Object `tfsdk:"tile" tkhao:"tile"`
+ Vaultholder types.Object `tfsdk:"vaultholder" tkhao:"vaultholder"`
+ Derived types.Bool `tfsdk:"derived"`
+ EndDate types.String `tfsdk:"end_date"`
+ Filename types.String `tfsdk:"filename"`
+ Types types.List `tfsdk:"types"`
+ URL types.String `tfsdk:"url"`
+ Username types.String `tfsdk:"username"`
+ WarningPeriod types.String `tfsdk:"warning_period"`
+}
+
+var clientClientApplicationAttrTypesRS = objectAttrsTypeRSClientClientApplication(false)
+var clientClientApplicationAttrTypesRSRecurse = objectAttrsTypeRSClientClientApplication(true)
+
+type clientClientApplicationDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ ClientClientApplicationPrimerType types.String `tfsdk:"type"`
+ ClientID types.String `tfsdk:"client_id"`
+ Name types.String `tfsdk:"name"`
+ Scopes types.List `tfsdk:"scopes"`
+ SsoApplication types.Bool `tfsdk:"sso_application"`
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ DeleteTile types.Bool `tfsdk:"delete_tile" tkhao:"deleteTile"`
+ Groupclients types.List `tfsdk:"groupclients" tkhao:"groupclients"`
+ Groups types.List `tfsdk:"groups" tkhao:"groups"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ Tile types.Object `tfsdk:"tile" tkhao:"tile"`
+ VaultRecordCount types.Int64 `tfsdk:"vault_record_count" tkhao:"vaultRecordCount"`
+ LastModifiedAt types.String `tfsdk:"last_modified_at"`
+ OwnerUUID types.String `tfsdk:"owner_uuid"`
+ TechnicalAdministratorUUID types.String `tfsdk:"technical_administrator_uuid"`
+ LDAPClient types.Object `tfsdk:"ldap_client"`
+ OAuth2Client types.Object `tfsdk:"o_auth2_client"`
+ Saml2Client types.Object `tfsdk:"saml2_client"`
+}
+
+var clientClientApplicationLinkableWrapperAttrTypesRS = objectAttrsTypeRSClientClientApplicationLinkableWrapper(false)
+var clientClientApplicationLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSClientClientApplicationLinkableWrapper(true)
+
+type clientClientApplicationLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var clientClientApplicationPrimerAttrTypesRS = objectAttrsTypeRSClientClientApplicationPrimer(false)
+var clientClientApplicationPrimerAttrTypesRSRecurse = objectAttrsTypeRSClientClientApplicationPrimer(true)
+
+type clientClientApplicationPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ ClientClientApplicationPrimerType types.String `tfsdk:"type"`
+ ClientID types.String `tfsdk:"client_id"`
+ Name types.String `tfsdk:"name"`
+ Scopes types.List `tfsdk:"scopes"`
+ SsoApplication types.Bool `tfsdk:"sso_application"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var clientClientApplication_additionalObjectsAttrTypesRS = objectAttrsTypeRSClientClientApplication_additionalObjects(false)
+var clientClientApplication_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSClientClientApplication_additionalObjects(true)
+
+type clientClientApplication_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+ DeleteTile types.Bool `tfsdk:"delete_tile"`
+ Groupclients types.List `tfsdk:"groupclients"`
+ Groups types.List `tfsdk:"groups"`
+ Secret types.Object `tfsdk:"secret"`
+ Tile types.Object `tfsdk:"tile"`
+ VaultRecordCount types.Int64 `tfsdk:"vault_record_count"`
+}
+
+var clientLdapClientAttrTypesRS = objectAttrsTypeRSClientLdapClient(false)
+var clientLdapClientAttrTypesRSRecurse = objectAttrsTypeRSClientLdapClient(true)
+
+type clientLdapClientDataRS struct {
+ BindDN types.String `tfsdk:"bind_dn"`
+ ClientCertificateUUID types.String `tfsdk:"client_certificate_uuid"`
+ ShareSecretInVault types.Bool `tfsdk:"share_secret_in_vault"`
+ SharedSecretUUID types.String `tfsdk:"shared_secret_uuid"`
+ UsedForProvisioning types.Bool `tfsdk:"used_for_provisioning"`
+}
+
+var clientOAuth2ClientAttrTypesRS = objectAttrsTypeRSClientOAuth2Client(false)
+var clientOAuth2ClientAttrTypesRSRecurse = objectAttrsTypeRSClientOAuth2Client(true)
+
+type clientOAuth2ClientDataRS struct {
+ AccountPermissions types.List `tfsdk:"account_permissions"`
+ Attributes types.Map `tfsdk:"attributes"`
+ CallbackURI types.String `tfsdk:"callback_uri"`
+ Confidential types.Bool `tfsdk:"confidential"`
+ DebugMode types.Bool `tfsdk:"debug_mode"`
+ IDTokenClaims types.String `tfsdk:"id_token_claims"`
+ InitiateLoginURI types.String `tfsdk:"initiate_login_uri"`
+ ResourceURIs types.String `tfsdk:"resource_uris"`
+ ShareSecretInVault types.Bool `tfsdk:"share_secret_in_vault"`
+ SharedSecretUUID types.String `tfsdk:"shared_secret_uuid"`
+ ShowLandingPage types.Bool `tfsdk:"show_landing_page"`
+ UseClientCredentials types.Bool `tfsdk:"use_client_credentials"`
+}
+
+var clientOAuth2ClientPermissionAttrTypesRS = objectAttrsTypeRSClientOAuth2ClientPermission(false)
+var clientOAuth2ClientPermissionAttrTypesRSRecurse = objectAttrsTypeRSClientOAuth2ClientPermission(true)
+
+type clientOAuth2ClientPermissionDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ ForGroupUUID types.String `tfsdk:"for_group_uuid"`
+ ForSystemUUID types.String `tfsdk:"for_system_uuid"`
+ Value types.String `tfsdk:"value"`
+}
+
+var clientOAuth2ClientPermissionWithClientAttrTypesRS = objectAttrsTypeRSClientOAuth2ClientPermissionWithClient(false)
+var clientOAuth2ClientPermissionWithClientAttrTypesRSRecurse = objectAttrsTypeRSClientOAuth2ClientPermissionWithClient(true)
+
+type clientOAuth2ClientPermissionWithClientDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ ForGroupUUID types.String `tfsdk:"for_group_uuid"`
+ ForSystemUUID types.String `tfsdk:"for_system_uuid"`
+ Value types.String `tfsdk:"value"`
+ ClientUUID types.String `tfsdk:"client_uuid"`
+}
+
+var clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesRS = objectAttrsTypeRSClientOAuth2ClientPermissionWithClientLinkableWrapper(false)
+var clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSClientOAuth2ClientPermissionWithClientLinkableWrapper(true)
+
+type clientOAuth2ClientPermissionWithClientLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var clientOAuth2ClientPermission_additionalObjectsAttrTypesRS = objectAttrsTypeRSClientOAuth2ClientPermission_additionalObjects(false)
+var clientOAuth2ClientPermission_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSClientOAuth2ClientPermission_additionalObjects(true)
+
+type clientOAuth2ClientPermission_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var clientSaml2ClientAttrTypesRS = objectAttrsTypeRSClientSaml2Client(false)
+var clientSaml2ClientAttrTypesRSRecurse = objectAttrsTypeRSClientSaml2Client(true)
+
+type clientSaml2ClientDataRS struct {
+ Attributes types.Map `tfsdk:"attributes"`
+ Metadata types.String `tfsdk:"metadata"`
+ MetadataURL types.String `tfsdk:"metadata_url"`
+ SubjectFormat types.String `tfsdk:"subject_format"`
+}
+
+var directoryAccountDirectoryAttrTypesRS = objectAttrsTypeRSDirectoryAccountDirectory(false)
+var directoryAccountDirectoryAttrTypesRSRecurse = objectAttrsTypeRSDirectoryAccountDirectory(true)
+
+type directoryAccountDirectoryDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountValiditySupported types.Bool `tfsdk:"account_validity_supported"`
+ Active types.Bool `tfsdk:"active"`
+ DirectoryAccountDirectoryPrimerType types.String `tfsdk:"type"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Markers types.Object `tfsdk:"markers" tkhao:"markers"`
+ Status types.Object `tfsdk:"status" tkhao:"status"`
+ BaseOrganizationalUnitUUID types.String `tfsdk:"base_organizational_unit_uuid"`
+ DefaultDirectory types.Bool `tfsdk:"default_directory"`
+ HelpdeskGroupUUID types.String `tfsdk:"helpdesk_group_uuid"`
+ Restrict2fa types.Bool `tfsdk:"restrict2fa"`
+ RotatingPassword types.String `tfsdk:"rotating_password"`
+ UsernameCustomizable types.Bool `tfsdk:"username_customizable"`
+ InternalDirectory types.Object `tfsdk:"internal_directory"`
+ LDAPDirectory types.Object `tfsdk:"l_d_a_p_directory"`
+ MaintenanceDirectory types.Object `tfsdk:"maintenance_directory"`
+ OIDCDirectory types.Object `tfsdk:"o_id_c_directory"`
+}
+
+var directoryAccountDirectoryLinkableWrapperAttrTypesRS = objectAttrsTypeRSDirectoryAccountDirectoryLinkableWrapper(false)
+var directoryAccountDirectoryLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSDirectoryAccountDirectoryLinkableWrapper(true)
+
+type directoryAccountDirectoryLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var directoryAccountDirectoryPrimerAttrTypesRS = objectAttrsTypeRSDirectoryAccountDirectoryPrimer(false)
+var directoryAccountDirectoryPrimerAttrTypesRSRecurse = objectAttrsTypeRSDirectoryAccountDirectoryPrimer(true)
+
+type directoryAccountDirectoryPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountValiditySupported types.Bool `tfsdk:"account_validity_supported"`
+ Active types.Bool `tfsdk:"active"`
+ DirectoryAccountDirectoryPrimerType types.String `tfsdk:"type"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var directoryAccountDirectoryStatusReportAttrTypesRS = objectAttrsTypeRSDirectoryAccountDirectoryStatusReport(false)
+var directoryAccountDirectoryStatusReportAttrTypesRSRecurse = objectAttrsTypeRSDirectoryAccountDirectoryStatusReport(true)
+
+type directoryAccountDirectoryStatusReportDataRS struct {
+ Accounts types.Int64 `tfsdk:"accounts"`
+ Reason types.String `tfsdk:"reason"`
+ Status types.String `tfsdk:"status"`
+}
+
+var directoryAccountDirectorySummaryAttrTypesRS = objectAttrsTypeRSDirectoryAccountDirectorySummary(false)
+var directoryAccountDirectorySummaryAttrTypesRSRecurse = objectAttrsTypeRSDirectoryAccountDirectorySummary(true)
+
+type directoryAccountDirectorySummaryDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DirectoryAccountDirectorySummaryType types.String `tfsdk:"type"`
+ DomainRestriction types.String `tfsdk:"domain_restriction"`
+ FullyResolvedIssuer types.String `tfsdk:"fully_resolved_issuer"`
+ Name types.String `tfsdk:"name"`
+ Status types.Object `tfsdk:"status"`
+ UsernameCustomizable types.Bool `tfsdk:"username_customizable"`
+}
+
+var directoryAccountDirectorySummaryLinkableWrapperAttrTypesRS = objectAttrsTypeRSDirectoryAccountDirectorySummaryLinkableWrapper(false)
+var directoryAccountDirectorySummaryLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSDirectoryAccountDirectorySummaryLinkableWrapper(true)
+
+type directoryAccountDirectorySummaryLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var directoryAccountDirectory_additionalObjectsAttrTypesRS = objectAttrsTypeRSDirectoryAccountDirectory_additionalObjects(false)
+var directoryAccountDirectory_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSDirectoryAccountDirectory_additionalObjects(true)
+
+type directoryAccountDirectory_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Markers types.Object `tfsdk:"markers"`
+ Status types.Object `tfsdk:"status"`
+}
+
+var directoryInternalDirectoryAttrTypesRS = objectAttrsTypeRSDirectoryInternalDirectory(false)
+var directoryInternalDirectoryAttrTypesRSRecurse = objectAttrsTypeRSDirectoryInternalDirectory(true)
+
+type directoryInternalDirectoryDataRS struct {
+ OwnerUUID types.String `tfsdk:"owner_uuid"`
+}
+
+var directoryLDAPDirectoryAttrTypesRS = objectAttrsTypeRSDirectoryLDAPDirectory(false)
+var directoryLDAPDirectoryAttrTypesRSRecurse = objectAttrsTypeRSDirectoryLDAPDirectory(true)
+
+type directoryLDAPDirectoryDataRS struct {
+ AttributesToStore types.String `tfsdk:"attributes_to_store"`
+ BaseDN types.String `tfsdk:"base_dn"`
+ ClientCertificateUUID types.String `tfsdk:"client_certificate_uuid"`
+ Dialect types.String `tfsdk:"dialect"`
+ FailoverHost types.String `tfsdk:"failover_host"`
+ FailoverTrustedCertificateUUID types.String `tfsdk:"failover_trusted_certificate_uuid"`
+ Host types.String `tfsdk:"host"`
+ PasswordRecovery types.String `tfsdk:"password_recovery"`
+ Port types.Int64 `tfsdk:"port"`
+ SearchBindDN types.String `tfsdk:"search_bind_dn"`
+ SearchBindPassword types.String `tfsdk:"search_bind_password"`
+ SearchFilter types.String `tfsdk:"search_filter"`
+ TLS types.String `tfsdk:"tls"`
+ TrustedCertificateUUID types.String `tfsdk:"trusted_certificate_uuid"`
+}
+
+var directoryMaintenanceDirectoryAttrTypesRS = objectAttrsTypeRSDirectoryMaintenanceDirectory(false)
+var directoryMaintenanceDirectoryAttrTypesRSRecurse = objectAttrsTypeRSDirectoryMaintenanceDirectory(true)
+
+type directoryMaintenanceDirectoryDataRS struct {
+}
+
+var directoryOIDCDirectoryAttrTypesRS = objectAttrsTypeRSDirectoryOIDCDirectory(false)
+var directoryOIDCDirectoryAttrTypesRSRecurse = objectAttrsTypeRSDirectoryOIDCDirectory(true)
+
+type directoryOIDCDirectoryDataRS struct {
+ AcrValues types.String `tfsdk:"acr_values"`
+ AttributesToStore types.String `tfsdk:"attributes_to_store"`
+ ClientID types.String `tfsdk:"client_id"`
+ ClientSecret types.String `tfsdk:"client_secret"`
+ DomainRestriction types.String `tfsdk:"domain_restriction"`
+ Enforces2fa types.Bool `tfsdk:"enforces2fa"`
+ FullyResolvedIssuer types.String `tfsdk:"fully_resolved_issuer"`
+ Issuer types.String `tfsdk:"issuer"`
+ LogoutURL types.String `tfsdk:"logout_url"`
+ SendLoginHint types.Bool `tfsdk:"send_login_hint"`
+ VendorEscaped types.String `tfsdk:"vendor_escaped"`
+}
+
+var groupAuthorizedGroupsWrapperAttrTypesRS = objectAttrsTypeRSGroupAuthorizedGroupsWrapper(false)
+var groupAuthorizedGroupsWrapperAttrTypesRSRecurse = objectAttrsTypeRSGroupAuthorizedGroupsWrapper(true)
+
+type groupAuthorizedGroupsWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+ GroupCount types.Int64 `tfsdk:"group_count"`
+}
+
+var groupGroupAttrTypesRS = objectAttrsTypeRSGroupGroup(false)
+var groupGroupAttrTypesRSRecurse = objectAttrsTypeRSGroupGroup(true)
+
+type groupGroupDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Admin types.Bool `tfsdk:"admin"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Accounts types.List `tfsdk:"accounts" tkhao:"accounts"`
+ AdministeredClients types.List `tfsdk:"administered_clients" tkhao:"administeredClients"`
+ AdministeredSystems types.List `tfsdk:"administered_systems" tkhao:"administeredSystems"`
+ Admins types.List `tfsdk:"admins" tkhao:"admins"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ AuthorizedGroups types.Object `tfsdk:"authorized_groups" tkhao:"authorizedGroups"`
+ ClientPermissions types.List `tfsdk:"client_permissions" tkhao:"clientPermissions"`
+ Clients types.List `tfsdk:"clients" tkhao:"clients"`
+ ContentAdministeredSystems types.List `tfsdk:"content_administered_systems" tkhao:"contentAdministeredSystems"`
+ Groupauditinginfo types.Object `tfsdk:"groupauditinginfo" tkhao:"groupauditinginfo"`
+ Groupinfo types.Object `tfsdk:"groupinfo" tkhao:"groupinfo"`
+ Helpdesk types.List `tfsdk:"helpdesk" tkhao:"helpdesk"`
+ Markers types.Object `tfsdk:"markers" tkhao:"markers"`
+ Myaccount types.Object `tfsdk:"myaccount" tkhao:"myaccount"`
+ Mydelegatedaccount types.Object `tfsdk:"mydelegatedaccount" tkhao:"mydelegatedaccount"`
+ NestedGroups types.List `tfsdk:"nested_groups" tkhao:"nestedGroups"`
+ OwnedClients types.List `tfsdk:"owned_clients" tkhao:"ownedClients"`
+ OwnedDirectories types.List `tfsdk:"owned_directories" tkhao:"ownedDirectories"`
+ OwnedGroupsOnSystem types.Object `tfsdk:"owned_groups_on_system" tkhao:"ownedGroupsOnSystem"`
+ OwnedOrganizationalUnits types.List `tfsdk:"owned_organizational_units" tkhao:"ownedOrganizationalUnits"`
+ OwnedSystems types.List `tfsdk:"owned_systems" tkhao:"ownedSystems"`
+ RecentAudits types.List `tfsdk:"recent_audits" tkhao:"recentAudits"`
+ Requeststatus types.String `tfsdk:"requeststatus" tkhao:"requeststatus"`
+ ServiceAccounts types.List `tfsdk:"service_accounts" tkhao:"serviceAccounts"`
+ Systems types.List `tfsdk:"systems" tkhao:"systems"`
+ Vault types.Object `tfsdk:"vault" tkhao:"vault"`
+ Webhooks types.List `tfsdk:"webhooks" tkhao:"webhooks"`
+ ApplicationAdministration types.Bool `tfsdk:"application_administration"`
+ AuditConfig types.Object `tfsdk:"audit_config"`
+ AuditRequested types.Bool `tfsdk:"audit_requested"`
+ Auditor types.Bool `tfsdk:"auditor"`
+ AuthorizingGroupAuditingUUID types.String `tfsdk:"authorizing_group_auditing_uuid"`
+ AuthorizingGroupDelegationUUID types.String `tfsdk:"authorizing_group_delegation_uuid"`
+ AuthorizingGroupMembershipUUID types.String `tfsdk:"authorizing_group_membership_uuid"`
+ AuthorizingGroupProvisioningUUID types.String `tfsdk:"authorizing_group_provisioning_uuid"`
+ AuthorizingGroupTypes types.List `tfsdk:"authorizing_group_types"`
+ ClassificationUUID types.String `tfsdk:"classification_uuid"`
+ Description types.String `tfsdk:"description"`
+ ExtendedAccess types.String `tfsdk:"extended_access"`
+ HideAuditTrail types.Bool `tfsdk:"hide_audit_trail"`
+ NestedUnderUUID types.String `tfsdk:"nested_under_uuid"`
+ OrganizationalUnitUUID types.String `tfsdk:"organizational_unit_uuid"`
+ PrivateGroup types.Bool `tfsdk:"private_group"`
+ RecordTrail types.Bool `tfsdk:"record_trail"`
+ RotatingPasswordRequired types.Bool `tfsdk:"rotating_password_required"`
+ SingleManaged types.Bool `tfsdk:"single_managed"`
+ VaultRecovery types.String `tfsdk:"vault_recovery"`
+ VaultRequiresActivation types.Bool `tfsdk:"vault_requires_activation"`
+}
+
+var groupGroupAccountAttrTypesRS = objectAttrsTypeRSGroupGroupAccount(false)
+var groupGroupAccountAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAccount(true)
+
+type groupGroupAccountDataRS struct {
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ DirectoryUUID types.String `tfsdk:"directory_uuid"`
+ DisconnectedNested types.Bool `tfsdk:"disconnected_nested"`
+ EndDate types.String `tfsdk:"end_date"`
+ LastUsed types.String `tfsdk:"last_used"`
+ Nested types.Bool `tfsdk:"nested"`
+ ProvisioningEndTime types.String `tfsdk:"provisioning_end_time"`
+ Rights types.String `tfsdk:"rights"`
+ TwoFactorStatus types.String `tfsdk:"two_factor_status"`
+ VisibleForProvisioning types.Bool `tfsdk:"visible_for_provisioning"`
+}
+
+var groupGroupAccountLinkableWrapperAttrTypesRS = objectAttrsTypeRSGroupGroupAccountLinkableWrapper(false)
+var groupGroupAccountLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAccountLinkableWrapper(true)
+
+type groupGroupAccountLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupAccount_additionalObjectsAttrTypesRS = objectAttrsTypeRSGroupGroupAccount_additionalObjects(false)
+var groupGroupAccount_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAccount_additionalObjects(true)
+
+type groupGroupAccount_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupGroupAuditAttrTypesRS = objectAttrsTypeRSGroupGroupAudit(false)
+var groupGroupAuditAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAudit(true)
+
+type groupGroupAuditDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Accounts types.List `tfsdk:"accounts"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Comment types.String `tfsdk:"comment"`
+ CreatedAt types.String `tfsdk:"created_at"`
+ CreatedBy types.String `tfsdk:"created_by"`
+ GroupName types.String `tfsdk:"group_name"`
+ NameOnAudit types.String `tfsdk:"name_on_audit"`
+ ReviewedAt types.String `tfsdk:"reviewed_at"`
+ ReviewedBy types.String `tfsdk:"reviewed_by"`
+ Status types.String `tfsdk:"status"`
+ SubmittedAt types.String `tfsdk:"submitted_at"`
+ SubmittedBy types.String `tfsdk:"submitted_by"`
+}
+
+var groupGroupAuditAccountAttrTypesRS = objectAttrsTypeRSGroupGroupAuditAccount(false)
+var groupGroupAuditAccountAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAuditAccount(true)
+
+type groupGroupAuditAccountDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountUUID types.String `tfsdk:"account_uuid"`
+ AccountValid types.Bool `tfsdk:"account_valid"`
+ Action types.String `tfsdk:"action"`
+ Comment types.String `tfsdk:"comment"`
+ DisconnectedNested types.Bool `tfsdk:"disconnected_nested"`
+ DisplayName types.String `tfsdk:"display_name"`
+ EndDate types.String `tfsdk:"end_date"`
+ LastActive types.String `tfsdk:"last_active"`
+ LastUsed types.String `tfsdk:"last_used"`
+ Nested types.Bool `tfsdk:"nested"`
+ Rights types.String `tfsdk:"rights"`
+ Username types.String `tfsdk:"username"`
+}
+
+var groupGroupAuditConfigAttrTypesRS = objectAttrsTypeRSGroupGroupAuditConfig(false)
+var groupGroupAuditConfigAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAuditConfig(true)
+
+type groupGroupAuditConfigDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Months types.List `tfsdk:"months"`
+}
+
+var groupGroupAuditLinkableWrapperAttrTypesRS = objectAttrsTypeRSGroupGroupAuditLinkableWrapper(false)
+var groupGroupAuditLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAuditLinkableWrapper(true)
+
+type groupGroupAuditLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupAudit_additionalObjectsAttrTypesRS = objectAttrsTypeRSGroupGroupAudit_additionalObjects(false)
+var groupGroupAudit_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAudit_additionalObjects(true)
+
+type groupGroupAudit_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupGroupAuditingInfoAttrTypesRS = objectAttrsTypeRSGroupGroupAuditingInfo(false)
+var groupGroupAuditingInfoAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupAuditingInfo(true)
+
+type groupGroupAuditingInfoDataRS struct {
+ AuditDueDate types.String `tfsdk:"audit_due_date"`
+ LastAuditDate types.String `tfsdk:"last_audit_date"`
+ NrAccounts types.Int64 `tfsdk:"nr_accounts"`
+ NrDisabledAccounts types.Int64 `tfsdk:"nr_disabled_accounts"`
+ NrDisabledManagers types.Int64 `tfsdk:"nr_disabled_managers"`
+ NrExpiredVaultRecords types.Int64 `tfsdk:"nr_expired_vault_records"`
+ NrManagers types.Int64 `tfsdk:"nr_managers"`
+ NrVaultRecordsWithEndDate types.Int64 `tfsdk:"nr_vault_records_with_end_date"`
+}
+
+var groupGroupClassificationPrimerAttrTypesRS = objectAttrsTypeRSGroupGroupClassificationPrimer(false)
+var groupGroupClassificationPrimerAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupClassificationPrimer(true)
+
+type groupGroupClassificationPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var groupGroupClientAttrTypesRS = objectAttrsTypeRSGroupGroupClient(false)
+var groupGroupClientAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupClient(true)
+
+type groupGroupClientDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ ActivationRequired types.Bool `tfsdk:"activation_required"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ ClientUUID types.String `tfsdk:"client_uuid"`
+ GroupUUID types.String `tfsdk:"group_uuid"`
+ OwnerUUID types.String `tfsdk:"owner_uuid"`
+ TechnicalAdministratorUUID types.String `tfsdk:"technical_administrator_uuid"`
+}
+
+var groupGroupClientLinkableWrapperAttrTypesRS = objectAttrsTypeRSGroupGroupClientLinkableWrapper(false)
+var groupGroupClientLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupClientLinkableWrapper(true)
+
+type groupGroupClientLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupClient_additionalObjectsAttrTypesRS = objectAttrsTypeRSGroupGroupClient_additionalObjects(false)
+var groupGroupClient_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupClient_additionalObjects(true)
+
+type groupGroupClient_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupGroupInfoAttrTypesRS = objectAttrsTypeRSGroupGroupInfo(false)
+var groupGroupInfoAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupInfo(true)
+
+type groupGroupInfoDataRS struct {
+ NrAccounts types.Int64 `tfsdk:"nr_accounts"`
+ NrAccountsWithVault types.Int64 `tfsdk:"nr_accounts_with_vault"`
+ NrAudits types.Int64 `tfsdk:"nr_audits"`
+ NrClients types.Int64 `tfsdk:"nr_clients"`
+ NrProvisionedSystems types.Int64 `tfsdk:"nr_provisioned_systems"`
+ NrVaultRecords types.Int64 `tfsdk:"nr_vault_records"`
+}
+
+var groupGroupLinkableWrapperAttrTypesRS = objectAttrsTypeRSGroupGroupLinkableWrapper(false)
+var groupGroupLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupLinkableWrapper(true)
+
+type groupGroupLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroupPrimerAttrTypesRS = objectAttrsTypeRSGroupGroupPrimer(false)
+var groupGroupPrimerAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupPrimer(true)
+
+type groupGroupPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Admin types.Bool `tfsdk:"admin"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var groupGroupPrimerLinkableWrapperAttrTypesRS = objectAttrsTypeRSGroupGroupPrimerLinkableWrapper(false)
+var groupGroupPrimerLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSGroupGroupPrimerLinkableWrapper(true)
+
+type groupGroupPrimerLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupGroup_additionalObjectsAttrTypesRS = objectAttrsTypeRSGroupGroup_additionalObjects(false)
+var groupGroup_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSGroupGroup_additionalObjects(true)
+
+type groupGroup_additionalObjectsDataRS struct {
+ Accounts types.List `tfsdk:"accounts"`
+ AdministeredClients types.List `tfsdk:"administered_clients"`
+ AdministeredSystems types.List `tfsdk:"administered_systems"`
+ Admins types.List `tfsdk:"admins"`
+ Audit types.Object `tfsdk:"audit"`
+ AuthorizedGroups types.Object `tfsdk:"authorized_groups"`
+ ClientPermissions types.List `tfsdk:"client_permissions"`
+ Clients types.List `tfsdk:"clients"`
+ ContentAdministeredSystems types.List `tfsdk:"content_administered_systems"`
+ Groupauditinginfo types.Object `tfsdk:"groupauditinginfo"`
+ Groupinfo types.Object `tfsdk:"groupinfo"`
+ Helpdesk types.List `tfsdk:"helpdesk"`
+ Markers types.Object `tfsdk:"markers"`
+ Myaccount types.Object `tfsdk:"myaccount"`
+ Mydelegatedaccount types.Object `tfsdk:"mydelegatedaccount"`
+ NestedGroups types.List `tfsdk:"nested_groups"`
+ OwnedClients types.List `tfsdk:"owned_clients"`
+ OwnedDirectories types.List `tfsdk:"owned_directories"`
+ OwnedGroupsOnSystem types.Object `tfsdk:"owned_groups_on_system"`
+ OwnedOrganizationalUnits types.List `tfsdk:"owned_organizational_units"`
+ OwnedSystems types.List `tfsdk:"owned_systems"`
+ RecentAudits types.List `tfsdk:"recent_audits"`
+ Requeststatus types.String `tfsdk:"requeststatus"`
+ ServiceAccounts types.List `tfsdk:"service_accounts"`
+ Systems types.List `tfsdk:"systems"`
+ Vault types.Object `tfsdk:"vault"`
+ Webhooks types.List `tfsdk:"webhooks"`
+}
+
+var groupProvisioningGroupAttrTypesRS = objectAttrsTypeRSGroupProvisioningGroup(false)
+var groupProvisioningGroupAttrTypesRSRecurse = objectAttrsTypeRSGroupProvisioningGroup(true)
+
+type groupProvisioningGroupDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ ActivationRequired types.Bool `tfsdk:"activation_required"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ GroupUUID types.String `tfsdk:"group_uuid"`
+ GroupOnSystem types.Object `tfsdk:"group_on_system"`
+}
+
+var groupProvisioningGroupLinkableWrapperAttrTypesRS = objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(false)
+var groupProvisioningGroupLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(true)
+
+type groupProvisioningGroupLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var groupProvisioningGroup_additionalObjectsAttrTypesRS = objectAttrsTypeRSGroupProvisioningGroup_additionalObjects(false)
+var groupProvisioningGroup_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSGroupProvisioningGroup_additionalObjects(true)
+
+type groupProvisioningGroup_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var groupVaultVaultRecordAttrTypesRS = objectAttrsTypeRSGroupVaultVaultRecord(false)
+var groupVaultVaultRecordAttrTypesRSRecurse = objectAttrsTypeRSGroupVaultVaultRecord(true)
+
+type groupVaultVaultRecordDataRS struct {
+ GroupUUID types.String `tfsdk:"group_uuid"`
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Color types.String `tfsdk:"color"`
+ Name types.String `tfsdk:"name"`
+ ShareEndTime types.String `tfsdk:"share_end_time"`
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ DeleteTile types.Bool `tfsdk:"delete_tile" tkhao:"deleteTile"`
+ ParentUUID types.String `tfsdk:"parent_uuid" tkhao:"parent"`
+ PasswordMetadata types.Object `tfsdk:"password_metadata" tkhao:"passwordMetadata"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ ShareSummary types.Object `tfsdk:"share_summary" tkhao:"shareSummary"`
+ Shares types.List `tfsdk:"shares" tkhao:"shares"`
+ Tile types.Object `tfsdk:"tile" tkhao:"tile"`
+ Vaultholder types.Object `tfsdk:"vaultholder" tkhao:"vaultholder"`
+ Derived types.Bool `tfsdk:"derived"`
+ EndDate types.String `tfsdk:"end_date"`
+ Filename types.String `tfsdk:"filename"`
+ Types types.List `tfsdk:"types"`
+ URL types.String `tfsdk:"url"`
+ Username types.String `tfsdk:"username"`
+ WarningPeriod types.String `tfsdk:"warning_period"`
+}
+
+var launchpadSsoApplicationLaunchpadTileAttrTypesRS = objectAttrsTypeRSLaunchpadSsoApplicationLaunchpadTile(false)
+var launchpadSsoApplicationLaunchpadTileAttrTypesRSRecurse = objectAttrsTypeRSLaunchpadSsoApplicationLaunchpadTile(true)
+
+type launchpadSsoApplicationLaunchpadTileDataRS struct {
+ URI types.String `tfsdk:"uri"`
+}
+
+var launchpadVaultRecordLaunchpadTileAttrTypesRS = objectAttrsTypeRSLaunchpadVaultRecordLaunchpadTile(false)
+var launchpadVaultRecordLaunchpadTileAttrTypesRSRecurse = objectAttrsTypeRSLaunchpadVaultRecordLaunchpadTile(true)
+
+type launchpadVaultRecordLaunchpadTileDataRS struct {
+}
+
+var markItemMarkerAttrTypesRS = objectAttrsTypeRSMarkItemMarker(false)
+var markItemMarkerAttrTypesRSRecurse = objectAttrsTypeRSMarkItemMarker(true)
+
+type markItemMarkerDataRS struct {
+ Level types.String `tfsdk:"level"`
+ MarkItemMarkerType types.String `tfsdk:"type"`
+ Parameters types.Map `tfsdk:"parameters"`
+}
+
+var markItemMarkersAttrTypesRS = objectAttrsTypeRSMarkItemMarkers(false)
+var markItemMarkersAttrTypesRSRecurse = objectAttrsTypeRSMarkItemMarkers(true)
+
+type markItemMarkersDataRS struct {
+ Markers types.List `tfsdk:"markers"`
+}
+
+var nestedProvisioningGroupOnSystemAttrTypesRS = objectAttrsTypeRSNestedProvisioningGroupOnSystem(false)
+var nestedProvisioningGroupOnSystemAttrTypesRSRecurse = objectAttrsTypeRSNestedProvisioningGroupOnSystem(true)
+
+type nestedProvisioningGroupOnSystemDataRS struct {
+ ProvisionedSystemUUID types.String `tfsdk:"provisioned_system_uuid"`
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ NameInSystem types.String `tfsdk:"name_in_system"`
+ ProvisioningGroupOnSystemPrimerType types.String `tfsdk:"type"`
+ ShortNameInSystem types.String `tfsdk:"short_name_in_system"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Provgroups types.List `tfsdk:"provgroups" tkhao:"provgroups"`
+ ServiceAccounts types.List `tfsdk:"service_accounts" tkhao:"serviceAccounts"`
+ OwnerUUID types.String `tfsdk:"owner_uuid"`
+}
+
+var organizationOrganizationalUnitAttrTypesRS = objectAttrsTypeRSOrganizationOrganizationalUnit(false)
+var organizationOrganizationalUnitAttrTypesRSRecurse = objectAttrsTypeRSOrganizationOrganizationalUnit(true)
+
+type organizationOrganizationalUnitDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ CreateAsParentOf types.List `tfsdk:"create_as_parent_of" tkhao:"createAsParentOf"`
+ Depth types.Int64 `tfsdk:"depth"`
+ Description types.String `tfsdk:"description"`
+ OwnerUUID types.String `tfsdk:"owner_uuid"`
+ ParentUUID types.String `tfsdk:"parent_uuid"`
+}
+
+var organizationOrganizationalUnitLinkableWrapperAttrTypesRS = objectAttrsTypeRSOrganizationOrganizationalUnitLinkableWrapper(false)
+var organizationOrganizationalUnitLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSOrganizationOrganizationalUnitLinkableWrapper(true)
+
+type organizationOrganizationalUnitLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var organizationOrganizationalUnitPrimerAttrTypesRS = objectAttrsTypeRSOrganizationOrganizationalUnitPrimer(false)
+var organizationOrganizationalUnitPrimerAttrTypesRSRecurse = objectAttrsTypeRSOrganizationOrganizationalUnitPrimer(true)
+
+type organizationOrganizationalUnitPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Name types.String `tfsdk:"name"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var organizationOrganizationalUnitPrimerLinkableWrapperAttrTypesRS = objectAttrsTypeRSOrganizationOrganizationalUnitPrimerLinkableWrapper(false)
+var organizationOrganizationalUnitPrimerLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSOrganizationOrganizationalUnitPrimerLinkableWrapper(true)
+
+type organizationOrganizationalUnitPrimerLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var organizationOrganizationalUnit_additionalObjectsAttrTypesRS = objectAttrsTypeRSOrganizationOrganizationalUnit_additionalObjects(false)
+var organizationOrganizationalUnit_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSOrganizationOrganizationalUnit_additionalObjects(true)
+
+type organizationOrganizationalUnit_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+ CreateAsParentOf types.List `tfsdk:"create_as_parent_of"`
+}
+
+var provisioningAbstractProvisionedLDAPAttrTypesRS = objectAttrsTypeRSProvisioningAbstractProvisionedLDAP(false)
+var provisioningAbstractProvisionedLDAPAttrTypesRSRecurse = objectAttrsTypeRSProvisioningAbstractProvisionedLDAP(true)
+
+type provisioningAbstractProvisionedLDAPDataRS struct {
+ Attributes types.Map `tfsdk:"attributes"`
+ BaseDN types.String `tfsdk:"base_dn"`
+ BindDN types.String `tfsdk:"bind_dn"`
+ BindPassword types.String `tfsdk:"bind_password"`
+ ClientCertificateUUID types.String `tfsdk:"client_certificate_uuid"`
+ FailoverHost types.String `tfsdk:"failover_host"`
+ FailoverTrustedCertificateUUID types.String `tfsdk:"failover_trusted_certificate_uuid"`
+ GroupDN types.String `tfsdk:"group_dn"`
+ Host types.String `tfsdk:"host"`
+ ObjectClasses types.String `tfsdk:"object_classes"`
+ Port types.Int64 `tfsdk:"port"`
+ ServiceAccountDN types.String `tfsdk:"service_account_dn"`
+ SshPublicKeySupported types.Bool `tfsdk:"ssh_public_key_supported"`
+ TLS types.String `tfsdk:"tls"`
+ TrustedCertificateUUID types.String `tfsdk:"trusted_certificate_uuid"`
+ UserDN types.String `tfsdk:"user_dn"`
+}
+
+var provisioningCircuitBreakerStatisticsAttrTypesRS = objectAttrsTypeRSProvisioningCircuitBreakerStatistics(false)
+var provisioningCircuitBreakerStatisticsAttrTypesRSRecurse = objectAttrsTypeRSProvisioningCircuitBreakerStatistics(true)
+
+type provisioningCircuitBreakerStatisticsDataRS struct {
+ NumberOfFailedCalls types.Int64 `tfsdk:"number_of_failed_calls"`
+ NumberOfNotPermittedCalls types.Int64 `tfsdk:"number_of_not_permitted_calls"`
+ NumberOfSuccessfulCalls types.Int64 `tfsdk:"number_of_successful_calls"`
+ State types.String `tfsdk:"state"`
+}
+
+var provisioningGroupOnSystemAttrTypesRS = objectAttrsTypeRSProvisioningGroupOnSystem(false)
+var provisioningGroupOnSystemAttrTypesRSRecurse = objectAttrsTypeRSProvisioningGroupOnSystem(true)
+
+type provisioningGroupOnSystemDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ NameInSystem types.String `tfsdk:"name_in_system"`
+ ProvisioningGroupOnSystemPrimerType types.String `tfsdk:"type"`
+ ShortNameInSystem types.String `tfsdk:"short_name_in_system"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Provgroups types.List `tfsdk:"provgroups" tkhao:"provgroups"`
+ ServiceAccounts types.List `tfsdk:"service_accounts" tkhao:"serviceAccounts"`
+ OwnerUUID types.String `tfsdk:"owner_uuid"`
+}
+
+var provisioningGroupOnSystemLinkableWrapperAttrTypesRS = objectAttrsTypeRSProvisioningGroupOnSystemLinkableWrapper(false)
+var provisioningGroupOnSystemLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSProvisioningGroupOnSystemLinkableWrapper(true)
+
+type provisioningGroupOnSystemLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var provisioningGroupOnSystemPrimerAttrTypesRS = objectAttrsTypeRSProvisioningGroupOnSystemPrimer(false)
+var provisioningGroupOnSystemPrimerAttrTypesRSRecurse = objectAttrsTypeRSProvisioningGroupOnSystemPrimer(true)
+
+type provisioningGroupOnSystemPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ NameInSystem types.String `tfsdk:"name_in_system"`
+ ProvisioningGroupOnSystemPrimerType types.String `tfsdk:"type"`
+ ShortNameInSystem types.String `tfsdk:"short_name_in_system"`
+}
+
+var provisioningGroupOnSystemTypesAttrTypesRS = objectAttrsTypeRSProvisioningGroupOnSystemTypes(false)
+var provisioningGroupOnSystemTypesAttrTypesRSRecurse = objectAttrsTypeRSProvisioningGroupOnSystemTypes(true)
+
+type provisioningGroupOnSystemTypesDataRS struct {
+ Types types.List `tfsdk:"types"`
+}
+
+var provisioningGroupOnSystem_additionalObjectsAttrTypesRS = objectAttrsTypeRSProvisioningGroupOnSystem_additionalObjects(false)
+var provisioningGroupOnSystem_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSProvisioningGroupOnSystem_additionalObjects(true)
+
+type provisioningGroupOnSystem_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Provgroups types.List `tfsdk:"provgroups"`
+ ServiceAccounts types.List `tfsdk:"service_accounts"`
+}
+
+var provisioningOwnedGroupOnSystemsWrapperAttrTypesRS = objectAttrsTypeRSProvisioningOwnedGroupOnSystemsWrapper(false)
+var provisioningOwnedGroupOnSystemsWrapperAttrTypesRSRecurse = objectAttrsTypeRSProvisioningOwnedGroupOnSystemsWrapper(true)
+
+type provisioningOwnedGroupOnSystemsWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+ UnlinkedCount types.Int64 `tfsdk:"unlinked_count"`
+}
+
+var provisioningProvisionNumberSequenceAttrTypesRS = objectAttrsTypeRSProvisioningProvisionNumberSequence(false)
+var provisioningProvisionNumberSequenceAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionNumberSequence(true)
+
+type provisioningProvisionNumberSequenceDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountCount types.Int64 `tfsdk:"account_count"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Systems types.List `tfsdk:"systems" tkhao:"systems"`
+ Name types.String `tfsdk:"name"`
+ NextUID types.Int64 `tfsdk:"next_uid"`
+}
+
+var provisioningProvisionNumberSequence_additionalObjectsAttrTypesRS = objectAttrsTypeRSProvisioningProvisionNumberSequence_additionalObjects(false)
+var provisioningProvisionNumberSequence_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionNumberSequence_additionalObjects(true)
+
+type provisioningProvisionNumberSequence_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Systems types.List `tfsdk:"systems"`
+}
+
+var provisioningProvisionedADAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedAD(false)
+var provisioningProvisionedADAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedAD(true)
+
+type provisioningProvisionedADDataRS struct {
+ SamAccountNameScheme types.String `tfsdk:"sam_account_name_scheme"`
+}
+
+var provisioningProvisionedAccountAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedAccount(false)
+var provisioningProvisionedAccountAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedAccount(true)
+
+type provisioningProvisionedAccountDataRS struct {
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ UID types.Int64 `tfsdk:"uid"`
+}
+
+var provisioningProvisionedAccount_additionalObjectsAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedAccount_additionalObjects(false)
+var provisioningProvisionedAccount_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedAccount_additionalObjects(true)
+
+type provisioningProvisionedAccount_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var provisioningProvisionedAzureOIDCDirectoryAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedAzureOIDCDirectory(false)
+var provisioningProvisionedAzureOIDCDirectoryAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedAzureOIDCDirectory(true)
+
+type provisioningProvisionedAzureOIDCDirectoryDataRS struct {
+ DirectoryUUID types.String `tfsdk:"directory_uuid"`
+ Tenant types.String `tfsdk:"tenant"`
+}
+
+var provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedAzureSyncLDAPDirectory(false)
+var provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedAzureSyncLDAPDirectory(true)
+
+type provisioningProvisionedAzureSyncLDAPDirectoryDataRS struct {
+ ClientID types.String `tfsdk:"client_id"`
+ ClientSecret types.String `tfsdk:"client_secret"`
+ DirectoryUUID types.String `tfsdk:"directory_uuid"`
+ Tenant types.String `tfsdk:"tenant"`
+}
+
+var provisioningProvisionedAzureTenantAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedAzureTenant(false)
+var provisioningProvisionedAzureTenantAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedAzureTenant(true)
+
+type provisioningProvisionedAzureTenantDataRS struct {
+ ClientID types.String `tfsdk:"client_id"`
+ ClientSecret types.String `tfsdk:"client_secret"`
+ IDpDomain types.String `tfsdk:"idp_domain"`
+ Tenant types.String `tfsdk:"tenant"`
+}
+
+var provisioningProvisionedInternalLDAPAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedInternalLDAP(false)
+var provisioningProvisionedInternalLDAPAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedInternalLDAP(true)
+
+type provisioningProvisionedInternalLDAPDataRS struct {
+ ClientUUID types.String `tfsdk:"client_uuid"`
+}
+
+var provisioningProvisionedLDAPAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedLDAP(false)
+var provisioningProvisionedLDAPAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedLDAP(true)
+
+type provisioningProvisionedLDAPDataRS struct {
+ Gid types.Int64 `tfsdk:"gid"`
+ HashingScheme types.String `tfsdk:"hashing_scheme"`
+ Numbering types.Object `tfsdk:"numbering"`
+}
+
+var provisioningProvisionedLDAPDirectoryAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedLDAPDirectory(false)
+var provisioningProvisionedLDAPDirectoryAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedLDAPDirectory(true)
+
+type provisioningProvisionedLDAPDirectoryDataRS struct {
+ DirectoryUUID types.String `tfsdk:"directory_uuid"`
+ GroupDN types.String `tfsdk:"group_dn"`
+}
+
+var provisioningProvisionedSystemAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedSystem(false)
+var provisioningProvisionedSystemAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedSystem(true)
+
+type provisioningProvisionedSystemDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ OrganizationalUnitUUID types.String `tfsdk:"organizational_unit_uuid"`
+ ProvisioningProvisionedSystemPrimerType types.String `tfsdk:"type"`
+ UUID types.String `tfsdk:"uuid"`
+ AccountCount types.Int64 `tfsdk:"account_count"`
+ Account types.Object `tfsdk:"account" tkhao:"account"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ IssuedPermissions types.List `tfsdk:"issued_permissions" tkhao:"issuedPermissions"`
+ LoginName types.String `tfsdk:"login_name" tkhao:"loginName"`
+ ManagementPermissions types.Object `tfsdk:"management_permissions" tkhao:"managementPermissions"`
+ Markers types.Object `tfsdk:"markers" tkhao:"markers"`
+ Statistics types.Object `tfsdk:"statistics" tkhao:"statistics"`
+ SupportedGroupTypes types.Object `tfsdk:"supported_group_types" tkhao:"supportedGroupTypes"`
+ ContentAdministratorUUID types.String `tfsdk:"content_administrator_uuid"`
+ ExternalUUID types.String `tfsdk:"external_uuid"`
+ OwnerUUID types.String `tfsdk:"owner_uuid"`
+ SelfServiceExistingGroups types.Bool `tfsdk:"self_service_existing_groups"`
+ SelfServiceNewGroups types.Bool `tfsdk:"self_service_new_groups"`
+ SelfServiceServiceAccounts types.Bool `tfsdk:"self_service_service_accounts"`
+ ShouldDestroyUnknownAccounts types.Bool `tfsdk:"should_destroy_unknown_accounts"`
+ TechnicalAdministratorUUID types.String `tfsdk:"technical_administrator_uuid"`
+ UsernamePrefix types.String `tfsdk:"username_prefix"`
+ AbstractProvisionedLDAP types.Object `tfsdk:"abstract_provisioned_ldap"`
+ ProvisionedAD types.Object `tfsdk:"provisioned_a_d"`
+ ProvisionedAzureOIDCDirectory types.Object `tfsdk:"provisioned_azure_oidc_directory"`
+ ProvisionedAzureSyncLDAPDirectory types.Object `tfsdk:"provisioned_azure_sync_ldap_directory"`
+ ProvisionedAzureTenant types.Object `tfsdk:"provisioned_azure_tenant"`
+ ProvisionedInternalLDAP types.Object `tfsdk:"provisioned_internal_ldap"`
+ ProvisionedLDAP types.Object `tfsdk:"provisioned_ldap"`
+ ProvisionedLDAPDirectory types.Object `tfsdk:"provisioned_ldap_directory"`
+}
+
+var provisioningProvisionedSystemLinkableWrapperAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(false)
+var provisioningProvisionedSystemLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(true)
+
+type provisioningProvisionedSystemLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var provisioningProvisionedSystemPrimerAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedSystemPrimer(false)
+var provisioningProvisionedSystemPrimerAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedSystemPrimer(true)
+
+type provisioningProvisionedSystemPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ OrganizationalUnitUUID types.String `tfsdk:"organizational_unit_uuid"`
+ ProvisioningProvisionedSystemPrimerType types.String `tfsdk:"type"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedSystemPrimerLinkableWrapper(false)
+var provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedSystemPrimerLinkableWrapper(true)
+
+type provisioningProvisionedSystemPrimerLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var provisioningProvisionedSystem_additionalObjectsAttrTypesRS = objectAttrsTypeRSProvisioningProvisionedSystem_additionalObjects(false)
+var provisioningProvisionedSystem_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisionedSystem_additionalObjects(true)
+
+type provisioningProvisionedSystem_additionalObjectsDataRS struct {
+ Account types.Object `tfsdk:"account"`
+ Audit types.Object `tfsdk:"audit"`
+ IssuedPermissions types.List `tfsdk:"issued_permissions"`
+ LoginName types.String `tfsdk:"login_name"`
+ ManagementPermissions types.Object `tfsdk:"management_permissions"`
+ Markers types.Object `tfsdk:"markers"`
+ Statistics types.Object `tfsdk:"statistics"`
+ SupportedGroupTypes types.Object `tfsdk:"supported_group_types"`
+}
+
+var provisioningProvisioningManagementPermissionsAttrTypesRS = objectAttrsTypeRSProvisioningProvisioningManagementPermissions(false)
+var provisioningProvisioningManagementPermissionsAttrTypesRSRecurse = objectAttrsTypeRSProvisioningProvisioningManagementPermissions(true)
+
+type provisioningProvisioningManagementPermissionsDataRS struct {
+ CreateNewGroupsAllowed types.Bool `tfsdk:"create_new_groups_allowed"`
+ CreateServiceAccountsAllowed types.Bool `tfsdk:"create_service_accounts_allowed"`
+ ReuseExistingGroupsAllowed types.Bool `tfsdk:"reuse_existing_groups_allowed"`
+}
+
+var serviceaccountServiceAccountAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccount(false)
+var serviceaccountServiceAccountAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccount(true)
+
+type serviceaccountServiceAccountDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ SystemUUID types.String `tfsdk:"system_uuid"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ Groups types.List `tfsdk:"groups" tkhao:"groups"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ Description types.String `tfsdk:"description"`
+ PasswordUUID types.String `tfsdk:"password_uuid"`
+ PasswordRotation types.String `tfsdk:"password_rotation"`
+ TechnicalAdministratorUUID types.String `tfsdk:"technical_administrator_uuid"`
+}
+
+var serviceaccountServiceAccountGroupAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccountGroup(false)
+var serviceaccountServiceAccountGroupAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccountGroup(true)
+
+type serviceaccountServiceAccountGroupDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ DisplayName types.String `tfsdk:"display_name"`
+ NameInSystem types.String `tfsdk:"name_in_system"`
+ ProvisioningGroupOnSystemPrimerType types.String `tfsdk:"type"`
+ ShortNameInSystem types.String `tfsdk:"short_name_in_system"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+}
+
+var serviceaccountServiceAccountGroupLinkableWrapperAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccountGroupLinkableWrapper(false)
+var serviceaccountServiceAccountGroupLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccountGroupLinkableWrapper(true)
+
+type serviceaccountServiceAccountGroupLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var serviceaccountServiceAccountGroup_additionalObjectsAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccountGroup_additionalObjects(false)
+var serviceaccountServiceAccountGroup_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccountGroup_additionalObjects(true)
+
+type serviceaccountServiceAccountGroup_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
+
+var serviceaccountServiceAccountLinkableWrapperAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccountLinkableWrapper(false)
+var serviceaccountServiceAccountLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccountLinkableWrapper(true)
+
+type serviceaccountServiceAccountLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var serviceaccountServiceAccountPrimerAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccountPrimer(false)
+var serviceaccountServiceAccountPrimerAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccountPrimer(true)
+
+type serviceaccountServiceAccountPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Active types.Bool `tfsdk:"active"`
+ Name types.String `tfsdk:"name"`
+ SystemUUID types.String `tfsdk:"system_uuid"`
+ Username types.String `tfsdk:"username"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccountPrimerLinkableWrapper(false)
+var serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccountPrimerLinkableWrapper(true)
+
+type serviceaccountServiceAccountPrimerLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var serviceaccountServiceAccount_additionalObjectsAttrTypesRS = objectAttrsTypeRSServiceaccountServiceAccount_additionalObjects(false)
+var serviceaccountServiceAccount_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSServiceaccountServiceAccount_additionalObjects(true)
+
+type serviceaccountServiceAccount_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+ Groups types.List `tfsdk:"groups"`
+ Secret types.Object `tfsdk:"secret"`
+}
+
+var vaultPasswordMetadataAttrTypesRS = objectAttrsTypeRSVaultPasswordMetadata(false)
+var vaultPasswordMetadataAttrTypesRSRecurse = objectAttrsTypeRSVaultPasswordMetadata(true)
+
+type vaultPasswordMetadataDataRS struct {
+ Dictionary types.Bool `tfsdk:"dictionary"`
+ Duplicate types.Bool `tfsdk:"duplicate"`
+ Hash types.String `tfsdk:"hash"`
+ Length types.Int64 `tfsdk:"length"`
+ LowerCount types.Int64 `tfsdk:"lower_count"`
+ NumberCount types.Int64 `tfsdk:"number_count"`
+ SpecialCount types.Int64 `tfsdk:"special_count"`
+ Strength types.Int64 `tfsdk:"strength"`
+ UpperCount types.Int64 `tfsdk:"upper_count"`
+}
+
+var vaultVaultAttrTypesRS = objectAttrsTypeRSVaultVault(false)
+var vaultVaultAttrTypesRSRecurse = objectAttrsTypeRSVaultVault(true)
+
+type vaultVaultDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccessAvailable types.Bool `tfsdk:"access_available"`
+ Name types.String `tfsdk:"name"`
+ Records types.List `tfsdk:"records"`
+}
+
+var vaultVaultHolderAttrTypesRS = objectAttrsTypeRSVaultVaultHolder(false)
+var vaultVaultHolderAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultHolder(true)
+
+type vaultVaultHolderDataRS struct {
+}
+
+var vaultVaultRecordAttrTypesRS = objectAttrsTypeRSVaultVaultRecord(false)
+var vaultVaultRecordAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultRecord(true)
+
+type vaultVaultRecordDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Color types.String `tfsdk:"color"`
+ Name types.String `tfsdk:"name"`
+ ShareEndTime types.String `tfsdk:"share_end_time"`
+ UUID types.String `tfsdk:"uuid"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ DeleteTile types.Bool `tfsdk:"delete_tile" tkhao:"deleteTile"`
+ ParentUUID types.String `tfsdk:"parent_uuid" tkhao:"parent"`
+ PasswordMetadata types.Object `tfsdk:"password_metadata" tkhao:"passwordMetadata"`
+ Secret types.Object `tfsdk:"secret" tkhao:"secret"`
+ ShareSummary types.Object `tfsdk:"share_summary" tkhao:"shareSummary"`
+ Shares types.List `tfsdk:"shares" tkhao:"shares"`
+ Tile types.Object `tfsdk:"tile" tkhao:"tile"`
+ Vaultholder types.Object `tfsdk:"vaultholder" tkhao:"vaultholder"`
+ Derived types.Bool `tfsdk:"derived"`
+ EndDate types.String `tfsdk:"end_date"`
+ Filename types.String `tfsdk:"filename"`
+ Types types.List `tfsdk:"types"`
+ URL types.String `tfsdk:"url"`
+ Username types.String `tfsdk:"username"`
+ WarningPeriod types.String `tfsdk:"warning_period"`
+}
+
+var vaultVaultRecordPrimerAttrTypesRS = objectAttrsTypeRSVaultVaultRecordPrimer(false)
+var vaultVaultRecordPrimerAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultRecordPrimer(true)
+
+type vaultVaultRecordPrimerDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ Color types.String `tfsdk:"color"`
+ Name types.String `tfsdk:"name"`
+ ShareEndTime types.String `tfsdk:"share_end_time"`
+ UUID types.String `tfsdk:"uuid"`
+}
+
+var vaultVaultRecordPrimerLinkableWrapperAttrTypesRS = objectAttrsTypeRSVaultVaultRecordPrimerLinkableWrapper(false)
+var vaultVaultRecordPrimerLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultRecordPrimerLinkableWrapper(true)
+
+type vaultVaultRecordPrimerLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var vaultVaultRecordSecretsAttrTypesRS = objectAttrsTypeRSVaultVaultRecordSecrets(false)
+var vaultVaultRecordSecretsAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultRecordSecrets(true)
+
+type vaultVaultRecordSecretsDataRS struct {
+ Comment types.String `tfsdk:"comment"`
+ File types.String `tfsdk:"file"`
+ Password types.String `tfsdk:"password"`
+ Totp types.String `tfsdk:"totp"`
+ WriteTotp types.Bool `tfsdk:"write_totp"`
+}
+
+var vaultVaultRecordShareAttrTypesRS = objectAttrsTypeRSVaultVaultRecordShare(false)
+var vaultVaultRecordShareAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultRecordShare(true)
+
+type vaultVaultRecordShareDataRS struct {
+ Name types.String `tfsdk:"name"`
+ VaultVaultRecordShareType types.String `tfsdk:"type"`
+}
+
+var vaultVaultRecordShareSummaryAttrTypesRS = objectAttrsTypeRSVaultVaultRecordShareSummary(false)
+var vaultVaultRecordShareSummaryAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultRecordShareSummary(true)
+
+type vaultVaultRecordShareSummaryDataRS struct {
+ Children types.List `tfsdk:"children"`
+ Parent types.Object `tfsdk:"parent"`
+}
+
+var vaultVaultRecord_additionalObjectsAttrTypesRS = objectAttrsTypeRSVaultVaultRecord_additionalObjects(false)
+var vaultVaultRecord_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSVaultVaultRecord_additionalObjects(true)
+
+type vaultVaultRecord_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+ DeleteTile types.Bool `tfsdk:"delete_tile"`
+ ParentUUID types.String `tfsdk:"parent_uuid"`
+ PasswordMetadata types.Object `tfsdk:"password_metadata"`
+ Secret types.Object `tfsdk:"secret"`
+ ShareSummary types.Object `tfsdk:"share_summary"`
+ Shares types.List `tfsdk:"shares"`
+ Tile types.Object `tfsdk:"tile"`
+ Vaultholder types.Object `tfsdk:"vaultholder"`
+}
+
+var webhookWebhookAttrTypesRS = objectAttrsTypeRSWebhookWebhook(false)
+var webhookWebhookAttrTypesRSRecurse = objectAttrsTypeRSWebhookWebhook(true)
+
+type webhookWebhookDataRS struct {
+ Links types.List `tfsdk:"links"`
+ Permissions types.List `tfsdk:"permissions"`
+ AccountUUID types.String `tfsdk:"account_uuid"`
+ Active types.Bool `tfsdk:"active"`
+ Audit types.Object `tfsdk:"audit" tkhao:"audit"`
+ AllTypes types.Bool `tfsdk:"all_types"`
+ AuthenticationScheme types.String `tfsdk:"authentication_scheme"`
+ BasicAuthPassword types.String `tfsdk:"basic_auth_password"`
+ BasicAuthUsername types.String `tfsdk:"basic_auth_username"`
+ BearerToken types.String `tfsdk:"bearer_token"`
+ ClientUUID types.String `tfsdk:"client_uuid"`
+ ClientCertificateUUID types.String `tfsdk:"client_certificate_uuid"`
+ CustomHeaderName types.String `tfsdk:"custom_header_name"`
+ CustomHeaderValue types.String `tfsdk:"custom_header_value"`
+ DirectoryUUID types.String `tfsdk:"directory_uuid"`
+ GroupUUID types.String `tfsdk:"group_uuid"`
+ Name types.String `tfsdk:"name"`
+ SystemUUID types.String `tfsdk:"system_uuid"`
+ TLS types.String `tfsdk:"tls"`
+ TrustedCertificateUUID types.String `tfsdk:"trusted_certificate_uuid"`
+ Types types.List `tfsdk:"types"`
+ URL types.String `tfsdk:"url"`
+ UUID types.String `tfsdk:"uuid"`
+ VerbosePayloads types.Bool `tfsdk:"verbose_payloads"`
+}
+
+var webhookWebhookLinkableWrapperAttrTypesRS = objectAttrsTypeRSWebhookWebhookLinkableWrapper(false)
+var webhookWebhookLinkableWrapperAttrTypesRSRecurse = objectAttrsTypeRSWebhookWebhookLinkableWrapper(true)
+
+type webhookWebhookLinkableWrapperDataRS struct {
+ Items types.List `tfsdk:"items"`
+}
+
+var webhookWebhook_additionalObjectsAttrTypesRS = objectAttrsTypeRSWebhookWebhook_additionalObjects(false)
+var webhookWebhook_additionalObjectsAttrTypesRSRecurse = objectAttrsTypeRSWebhookWebhook_additionalObjects(true)
+
+type webhookWebhook_additionalObjectsDataRS struct {
+ Audit types.Object `tfsdk:"audit"`
+}
diff --git a/internal/provider/full-helpers.go b/internal/provider/full-helpers.go
new file mode 100644
index 0000000..be9bb42
--- /dev/null
+++ b/internal/provider/full-helpers.go
@@ -0,0 +1,581 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "context"
+ "fmt"
+ "reflect"
+ "strings"
+ "time"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ rsschema "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ "github.com/microsoft/kiota-abstractions-go/serialization"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubaccount "github.com/topicuskeyhub/sdk-go/account"
+ keyhubcertificate "github.com/topicuskeyhub/sdk-go/certificate"
+ keyhubclient "github.com/topicuskeyhub/sdk-go/client"
+ keyhubdirectory "github.com/topicuskeyhub/sdk-go/directory"
+ keyhubgroup "github.com/topicuskeyhub/sdk-go/group"
+ keyhubgroupclassification "github.com/topicuskeyhub/sdk-go/groupclassification"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhuborganizationalunit "github.com/topicuskeyhub/sdk-go/organizationalunit"
+ keyhubserviceaccount "github.com/topicuskeyhub/sdk-go/serviceaccount"
+ keyhubsystem "github.com/topicuskeyhub/sdk-go/system"
+ keyhubvaultrecord "github.com/topicuskeyhub/sdk-go/vaultrecord"
+)
+
+type contextKey int
+
+const (
+ keyHubClientKey contextKey = iota
+)
+
+func sliceToTF[T any](elemType attr.Type, vals []T, toValue func(T, *diag.Diagnostics) attr.Value) (attr.Value, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ ret := make([]attr.Value, 0, len(vals))
+ for _, curVal := range vals {
+ ret = append(ret, toValue(curVal, &diags))
+ }
+ return types.ListValue(elemType, ret)
+}
+
+func tfToSlice[T any](val basetypes.ListValue, toValue func(attr.Value, *diag.Diagnostics) T) ([]T, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ vals := val.Elements()
+ ret := make([]T, 0, len(vals))
+ for _, curVal := range vals {
+ ret = append(ret, toValue(curVal, &diags))
+ }
+ return ret, diags
+}
+
+func mapToTF[T any](elemType attr.Type, vals map[string]T, toValue func(T, *diag.Diagnostics) attr.Value) (attr.Value, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ ret := make(map[string]attr.Value)
+ for name, val := range vals {
+ ret[name] = toValue(val, &diags)
+ }
+ return types.MapValue(elemType, ret)
+}
+
+func tfToMap[T serialization.AdditionalDataHolder](val basetypes.MapValue, toValue func(attr.Value, *diag.Diagnostics) any, ret T) (T, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ vals := val.Elements()
+ retMap := make(map[string]any)
+ for name, val := range vals {
+ retMap[name] = toValue(val, &diags)
+ }
+ ret.SetAdditionalData(retMap)
+ return ret, diags
+}
+
+func int32PToInt64P(in *int32) *int64 {
+ if in == nil {
+ return nil
+ }
+ ret := int64(*in)
+ return &ret
+}
+
+func int64PToInt32P(in *int64) *int32 {
+ if in == nil {
+ return nil
+ }
+ ret := int32(*in)
+ return &ret
+}
+
+func stringerToTF[T fmt.Stringer](val *T) attr.Value {
+ if val == nil {
+ return types.StringNull()
+ }
+ return types.StringValue((*val).String())
+}
+
+func timeToTF(val time.Time) attr.Value {
+ ret, _ := val.MarshalText()
+ return types.StringValue(string(ret))
+}
+
+func timePointerToTF(val *time.Time) attr.Value {
+ if val == nil {
+ return types.StringNull()
+ }
+ ret, _ := val.MarshalText()
+ return types.StringValue(string(ret))
+}
+
+func tfToTime(val basetypes.StringValue) (time.Time, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ parsed, err := time.Parse(time.RFC3339, val.ValueString())
+ if err != nil {
+ diags.AddError("Conversion error", fmt.Sprintf("Unable to parse time: %s", err))
+ }
+ return parsed, diags
+}
+
+func tfToTimePointer(val basetypes.StringValue) (*time.Time, diag.Diagnostics) {
+ if val.IsNull() || val.IsUnknown() {
+ return nil, diag.Diagnostics{}
+ }
+ parsed, diags := tfToTime(val)
+ return &parsed, diags
+}
+
+func withUuidToTF(val interface{ GetUuid() *string }) attr.Value {
+ if val == nil {
+ return types.StringNull()
+ }
+ return types.StringPointerValue(val.GetUuid())
+}
+
+func toItemsList(ctx context.Context, val attr.Value) basetypes.ObjectValue {
+ attrType := map[string]attr.Type{"items": val.Type(ctx)}
+ if val.IsNull() || val.IsUnknown() {
+ return types.ObjectNull(attrType)
+ }
+ return types.ObjectValueMust(attrType, map[string]attr.Value{"items": val})
+}
+
+func getItemsAttr(val basetypes.ObjectValue, attrType attr.Type) attr.Value {
+ if val.IsNull() || val.IsUnknown() {
+ return types.ListNull(attrType.(basetypes.ListType).ElementType())
+ }
+ return val.Attributes()["items"]
+}
+
+func parsePointer[T any](val basetypes.StringValue, parser func(string) (T, error)) (*T, diag.Diagnostics) {
+ if val.IsNull() || val.IsUnknown() {
+ return nil, diag.Diagnostics{}
+ }
+ parsed, diags := parse(val, parser)
+ return &parsed, diags
+}
+
+func parsePointer2[T any](val basetypes.StringValue, parser func(string) (*T, error)) (*T, diag.Diagnostics) {
+ if val.IsNull() || val.IsUnknown() {
+ return nil, diag.Diagnostics{}
+ }
+ parsed, diags := parse(val, parser)
+ return parsed, diags
+}
+
+func parse[T any](val basetypes.StringValue, parser func(string) (T, error)) (T, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ parsed, err := parser(val.ValueString())
+ if err != nil {
+ diags.AddError("Conversion error", fmt.Sprintf("Unable to parse %s: %s", val.ValueString(), err))
+ }
+ return parsed, diags
+}
+
+func parseCastPointer[T any, Z any](val basetypes.StringValue, parser func(string) (Z, error), caster func(Z) T) (*T, diag.Diagnostics) {
+ if val.IsNull() || val.IsUnknown() {
+ return nil, diag.Diagnostics{}
+ }
+ parsed, diags := parseCast(val, parser, caster)
+ return &parsed, diags
+}
+
+func parseCast[T any, Z any](val basetypes.StringValue, parser func(string) (Z, error), caster func(Z) T) (T, diag.Diagnostics) {
+ parsed, diags := parse(val, parser)
+ var ret T
+ if diags.HasError() {
+ return ret, diags
+ }
+ return caster(parsed), diags
+}
+
+func findFirst[T keyhubmodels.Linkableable](ctx context.Context, wrapper interface{ GetItems() []T }, name string, uuid *string, err error) (T, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var noVal T
+ if err != nil {
+ diags.AddError("Client Error", fmt.Sprintf("Unable to read %s, got error: %s", name, errorReportToString(ctx, err)))
+ return noVal, diags
+ }
+ if len(wrapper.GetItems()) == 0 {
+ diags.AddError("Client Error", fmt.Sprintf("Unable to find %s with UUID %s", name, *uuid))
+ return noVal, diags
+ }
+ return wrapper.GetItems()[0], nil
+
+}
+
+func findGroupGroupPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.GroupGroupPrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Group().Get(ctx, &keyhubgroup.GroupRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubgroup.GroupRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.GroupGroupable](ctx, wrapper, "group", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.GroupGroupPrimer{})); ok {
+ ret := primer.(keyhubmodels.GroupGroupPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type GroupGroupPrimer")
+ return nil, diag
+}
+
+func findDirectoryAccountDirectoryPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.DirectoryAccountDirectoryPrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Directory().Get(ctx, &keyhubdirectory.DirectoryRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubdirectory.DirectoryRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.DirectoryAccountDirectoryable](ctx, wrapper, "directory", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.DirectoryAccountDirectoryPrimer{})); ok {
+ ret := primer.(keyhubmodels.DirectoryAccountDirectoryPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type DirectoryAccountDirectoryPrimer")
+ return nil, diag
+}
+
+func findOrganizationOrganizationalUnitPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.OrganizationOrganizationalUnitPrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Organizationalunit().Get(ctx, &keyhuborganizationalunit.OrganizationalunitRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhuborganizationalunit.OrganizationalunitRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.OrganizationOrganizationalUnitable](ctx, wrapper, "organizational unit", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.OrganizationOrganizationalUnitPrimer{})); ok {
+ ret := primer.(keyhubmodels.OrganizationOrganizationalUnitPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type OrganizationOrganizationalUnitPrimer")
+ return nil, diag
+}
+
+func findCertificateCertificatePrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.CertificateCertificatePrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Certificate().Get(ctx, &keyhubcertificate.CertificateRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubcertificate.CertificateRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.CertificateCertificateable](ctx, wrapper, "certificate", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.CertificateCertificatePrimer{})); ok {
+ ret := primer.(keyhubmodels.CertificateCertificatePrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type CertificateCertificatePrimer")
+ return nil, diag
+}
+
+func findProvisioningProvisionedSystemPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.ProvisioningProvisionedSystemPrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.System().Get(ctx, &keyhubsystem.SystemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubsystem.SystemRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.ProvisioningProvisionedSystemable](ctx, wrapper, "provisioned system", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.ProvisioningProvisionedSystemPrimer{})); ok {
+ ret := primer.(keyhubmodels.ProvisioningProvisionedSystemPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type ProvisioningProvisionedSystemPrimer")
+ return nil, diag
+}
+
+func findGroupGroupClassificationPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.GroupGroupClassificationPrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Groupclassification().Get(ctx, &keyhubgroupclassification.GroupclassificationRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubgroupclassification.GroupclassificationRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.GroupGroupClassificationable](ctx, wrapper, "group classification", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.GroupGroupClassificationPrimer{})); ok {
+ ret := primer.(keyhubmodels.GroupGroupClassificationPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type GroupGroupClassificationPrimer")
+ return nil, diag
+}
+
+func findClientClientApplicationPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.ClientClientApplicationPrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Client().Get(ctx, &keyhubclient.ClientRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubclient.ClientRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.ClientClientApplicationable](ctx, wrapper, "client application", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.ClientClientApplicationPrimer{})); ok {
+ ret := primer.(keyhubmodels.ClientClientApplicationPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type ClientClientApplicationPrimer")
+ return nil, diag
+}
+
+func findClientOAuth2ClientByUUID(ctx context.Context, uuid *string) (keyhubmodels.ClientOAuth2Clientable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Client().Get(ctx, &keyhubclient.ClientRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubclient.ClientRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.ClientClientApplicationable](ctx, wrapper, "client application", uuid, err)
+ if ret == nil {
+ return nil, diag
+ }
+ if retSub, ok := ret.(*keyhubmodels.ClientOAuth2Client); ok {
+ return retSub, diag
+ }
+ diag.AddError("Type error", "Result not of type ClientOAuth2Client")
+ return nil, diag
+}
+
+func findClientLdapClientByUUID(ctx context.Context, uuid *string) (keyhubmodels.ClientLdapClientable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Client().Get(ctx, &keyhubclient.ClientRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubclient.ClientRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.ClientClientApplicationable](ctx, wrapper, "client application", uuid, err)
+ if ret == nil {
+ return nil, diag
+ }
+ if retSub, ok := ret.(*keyhubmodels.ClientLdapClient); ok {
+ return retSub, diag
+ }
+ diag.AddError("Type error", "Result not of type ClientLdapClient")
+ return nil, diag
+}
+
+func findAuthAccountPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.AuthAccountPrimerable, diag.Diagnostics) {
+ ret, diag := findAuthAccountByUUID(ctx, uuid)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.AuthAccountPrimer{})); ok {
+ ret := primer.(keyhubmodels.AuthAccountPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type AuthAccountPrimer")
+ return nil, diag
+}
+
+func findAuthAccountByUUID(ctx context.Context, uuid *string) (keyhubmodels.AuthAccountable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Account().Get(ctx, &keyhubaccount.AccountRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubaccount.AccountRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ return findFirst[keyhubmodels.AuthAccountable](ctx, wrapper, "account", uuid, err)
+}
+
+func findServiceaccountServiceAccountPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.ServiceaccountServiceAccountPrimerable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Serviceaccount().Get(ctx, &keyhubserviceaccount.ServiceaccountRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubserviceaccount.ServiceaccountRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ ret, diag := findFirst[keyhubmodels.ServiceaccountServiceAccountable](ctx, wrapper, "service account", uuid, err)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.ServiceaccountServiceAccountPrimer{})); ok {
+ ret := primer.(keyhubmodels.ServiceaccountServiceAccountPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type ServiceaccountServiceAccountPrimer")
+ return nil, diag
+}
+
+func findVaultVaultRecordPrimerByUUID(ctx context.Context, uuid *string) (keyhubmodels.VaultVaultRecordPrimerable, diag.Diagnostics) {
+ ret, diag := findVaultVaultRecordByUUID(ctx, uuid)
+ if ret == nil {
+ return ret, diag
+ }
+ if primer, ok := findSuperStruct(ret, reflect.TypeOf(keyhubmodels.VaultVaultRecordPrimer{})); ok {
+ ret := primer.(keyhubmodels.VaultVaultRecordPrimer)
+ return &ret, diag
+ }
+ diag.AddError("Type error", "Result not of type VaultVaultRecordPrimer")
+ return nil, diag
+}
+
+func findVaultVaultRecordByUUID(ctx context.Context, uuid *string) (keyhubmodels.VaultVaultRecordable, diag.Diagnostics) {
+ if uuid == nil || *uuid == "" {
+ return nil, diag.Diagnostics{}
+ }
+ client := ctx.Value(keyHubClientKey).(*keyhub.KeyHubClient)
+ wrapper, err := client.Vaultrecord().Get(ctx, &keyhubvaultrecord.VaultrecordRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubvaultrecord.VaultrecordRequestBuilderGetQueryParameters{
+ Uuid: []string{*uuid},
+ },
+ })
+ return findFirst[keyhubmodels.VaultVaultRecordable](ctx, wrapper, "vault record", uuid, err)
+}
+
+func errorReportToString(ctx context.Context, err error) string {
+ report, ok := err.(keyhubmodels.ErrorReportable)
+ if !ok {
+ return err.Error()
+ }
+ var msg string
+ if report.GetApplicationError() == nil {
+ msg = fmt.Sprintf("Error %d from backend: %s", *report.GetCode(), stringPointerToString(report.GetMessage()))
+ } else {
+ msg = fmt.Sprintf("Error %d (%s) from backend: %s", *report.GetCode(), *report.GetApplicationError(), stringPointerToString(report.GetMessage()))
+ }
+ tflog.Info(ctx, msg)
+ if report.GetStacktrace() != nil {
+ tflog.Info(ctx, strings.Join(report.GetStacktrace(), "\n"))
+ }
+ return msg
+}
+
+func stringPointerToString(input *string) string {
+ if input != nil {
+ return *input
+ }
+ return ""
+}
+
+func getSelfLink(linksAttr basetypes.ListValue) restLinkDataRS {
+ var links restLinkDataRS
+ fillDataStructFromTFObjectRSRestLink(&links, linksAttr.Elements()[0].(basetypes.ObjectValue))
+ return links
+}
+
+func resetListNestedAttributeFlags(schema rsschema.ListNestedAttribute) rsschema.ListNestedAttribute {
+ schema.Optional = false
+ schema.Computed = false
+ schema.Required = false
+ schema.PlanModifiers = nil
+ return schema
+}
+
+func resetListAttributeFlags(schema rsschema.ListAttribute) rsschema.ListAttribute {
+ schema.Optional = false
+ schema.Computed = false
+ schema.Required = false
+ schema.PlanModifiers = nil
+ return schema
+}
+
+func isHttpStatusCodeOk(ctx context.Context, status int32, err error, diags *diag.Diagnostics) bool {
+ if err != nil {
+ report, ok := err.(keyhubmodels.ErrorReportable)
+ if !ok || *report.GetCode() != status {
+ diags.AddError("Client Error", fmt.Sprintf("Unexpected status code: %s", errorReportToString(ctx, err)))
+ return false
+ }
+ }
+ return true
+}
+
+func setAttributeValue(ctx context.Context, tf basetypes.ObjectValue, key string, value attr.Value) basetypes.ObjectValue {
+ obj := tf.Attributes()
+ obj[key] = value
+ return types.ObjectValueMust(tf.AttributeTypes(ctx), obj)
+}
+
+func collectAdditional(data any) []string {
+ reflectValue := reflect.ValueOf(data)
+ reflectType := reflectValue.Type()
+ ret := make([]string, 0)
+ for i := 0; i < reflectType.NumField(); i++ {
+ field := reflectType.Field(i)
+ tkhoa := field.Tag.Get("tkhao")
+ if tkhoa != "" {
+ attr := reflectValue.Field(i).Interface().(attr.Value)
+ if !attr.IsNull() && !attr.IsUnknown() {
+ ret = append(ret, tkhoa)
+ }
+ }
+ }
+ return ret
+}
+
+func findSuperStruct(data any, targetType reflect.Type) (any, bool) {
+ reflectValue := reflect.ValueOf(data)
+ reflectType := reflectValue.Type()
+ if reflectType.Kind() == reflect.Pointer {
+ return findSuperStruct(reflectValue.Elem().Interface(), targetType)
+ }
+ for i := 0; i < reflectType.NumField(); i++ {
+ field := reflectType.Field(i)
+ if field.Anonymous {
+ fieldValue := reflectValue.Field(i).Interface()
+ if field.Type == targetType {
+ return fieldValue, true
+ }
+ if ret, ok := findSuperStruct(fieldValue, targetType); ok {
+ return ret, true
+ }
+ }
+ }
+ return nil, false
+}
diff --git a/internal/provider/full-object-attrs-ds.go b/internal/provider/full-object-attrs-ds.go
new file mode 100644
index 0000000..e0188d2
--- /dev/null
+++ b/internal/provider/full-object-attrs-ds.go
@@ -0,0 +1,1428 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+)
+
+func objectAttrsTypeDSAuditInfo(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["created_at"] = types.StringType
+ objectAttrs["created_by"] = types.StringType
+ objectAttrs["last_modified_at"] = types.StringType
+ objectAttrs["last_modified_by"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGeneratedSecret(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["generated_secret"] = types.StringType
+ objectAttrs["old_secret"] = types.StringType
+ objectAttrs["regenerate"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSLinkable(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSNonLinkable(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeDSRestLink(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["href"] = types.StringType
+ objectAttrs["id"] = types.Int64Type
+ objectAttrs["rel"] = types.StringType
+ objectAttrs["type_escaped"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["active_login"] = types.BoolType
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["groups"] = objectAttrsTypeDSGroupAccountGroupLinkableWrapper(false)["items"]
+ objectAttrs["pending_recovery_requests"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuthAccountRecoveryStatus(false)}
+ objectAttrs["settings"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuthAccountSettings(false)}
+ objectAttrs["stored_attributes"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuthStoredAccountAttributes(false)}
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVault(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["last_active"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["validity"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["account_permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(false)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["can_request_groups"] = types.BoolType
+ objectAttrs["directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryPrimer(false)}
+ objectAttrs["directory_name"] = types.StringType
+ objectAttrs["directory_password_change_required"] = types.BoolType
+ objectAttrs["directory_rotating_password"] = types.StringType
+ objectAttrs["directory_type"] = types.StringType
+ objectAttrs["email"] = types.StringType
+ objectAttrs["id_in_directory"] = types.StringType
+ objectAttrs["key_hub_password_change_required"] = types.BoolType
+ objectAttrs["last_modified_at"] = types.StringType
+ objectAttrs["license_role"] = types.StringType
+ objectAttrs["locale"] = types.StringType
+ objectAttrs["reregistration_required"] = types.BoolType
+ objectAttrs["token_password_enabled"] = types.BoolType
+ objectAttrs["two_factor_status"] = types.StringType
+ objectAttrs["valid_in_directory"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthAccountPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["last_active"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["validity"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthAccountRecoveryStatus(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["pending2fa_recovery_request"] = types.BoolType
+ objectAttrs["pending_password_recovery_request"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthAccountSettings(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["default_organizational_unit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(recurse)}
+ objectAttrs["directory_name"] = types.StringType
+ objectAttrs["directory_type"] = types.StringType
+ objectAttrs["in_groups"] = types.BoolType
+ objectAttrs["in_multiple_organizational_units"] = types.BoolType
+ objectAttrs["key_hub_admin"] = types.BoolType
+ objectAttrs["multiple_organizational_units_exist"] = types.BoolType
+ objectAttrs["password_mode"] = types.StringType
+ objectAttrs["ssh_public_key"] = types.StringType
+ objectAttrs["two_factor_authentication"] = types.StringType
+ objectAttrs["use_token_password"] = types.BoolType
+ objectAttrs["vault_status"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthAccount_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["active_login"] = types.BoolType
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["groups"] = objectAttrsTypeDSGroupAccountGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["pending_recovery_requests"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuthAccountRecoveryStatus(recurse)}
+ objectAttrs["settings"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuthAccountSettings(recurse)}
+ objectAttrs["stored_attributes"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuthStoredAccountAttributes(recurse)}
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVault(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthPermission(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["full"] = types.StringType
+ objectAttrs["instances"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["operations"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["type_escaped"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthStoredAccountAttribute(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["name"] = types.StringType
+ objectAttrs["value"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSAuthStoredAccountAttributes(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["attributes"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthStoredAccountAttribute(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSCertificateCertificate(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["alias"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["certificate_data"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["expiration"] = types.StringType
+ objectAttrs["fingerprint_sha1"] = types.StringType
+ objectAttrs["fingerprint_sha256"] = types.StringType
+ objectAttrs["global"] = types.BoolType
+ objectAttrs["subject_dn"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["key_data"] = types.ListType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSCertificateCertificatePrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["alias"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["certificate_data"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["expiration"] = types.StringType
+ objectAttrs["fingerprint_sha1"] = types.StringType
+ objectAttrs["fingerprint_sha256"] = types.StringType
+ objectAttrs["global"] = types.BoolType
+ objectAttrs["subject_dn"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSCertificateCertificate_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientClientApplication(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["groupclients"] = objectAttrsTypeDSGroupGroupClientLinkableWrapper(false)["items"]
+ objectAttrs["groups"] = objectAttrsTypeDSGroupGroupLinkableWrapper(false)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGeneratedSecret(false)}
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeDSLaunchpadSsoApplicationLaunchpadTile(false)}
+ objectAttrs["vault_record_count"] = types.Int64Type
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["scopes"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["sso_application"] = types.BoolType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["last_modified_at"] = types.StringType
+ objectAttrs["owner"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["technical_administrator"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["ldap_client"] = types.ObjectType{AttrTypes: objectAttrsTypeDSClientLdapClient(false)}
+ objectAttrs["o_auth2_client"] = types.ObjectType{AttrTypes: objectAttrsTypeDSClientOAuth2Client(false)}
+ objectAttrs["saml2_client"] = types.ObjectType{AttrTypes: objectAttrsTypeDSClientSaml2Client(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientClientApplicationLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSClientClientApplication(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientClientApplicationPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["scopes"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["sso_application"] = types.BoolType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientClientApplication_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["groupclients"] = objectAttrsTypeDSGroupGroupClientLinkableWrapper(recurse)["items"]
+ objectAttrs["groups"] = objectAttrsTypeDSGroupGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGeneratedSecret(recurse)}
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeDSLaunchpadSsoApplicationLaunchpadTile(recurse)}
+ objectAttrs["vault_record_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientLdapClient(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["bind_dn"] = types.StringType
+ objectAttrs["client_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(recurse)}
+ objectAttrs["share_secret_in_vault"] = types.BoolType
+ objectAttrs["shared_secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordPrimer(recurse)}
+ objectAttrs["used_for_provisioning"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientOAuth2Client(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["account_permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["attributes"] = types.MapType{ElemType: types.StringType}
+ objectAttrs["callback_uri"] = types.StringType
+ objectAttrs["confidential"] = types.BoolType
+ objectAttrs["debug_mode"] = types.BoolType
+ objectAttrs["id_token_claims"] = types.StringType
+ objectAttrs["initiate_login_uri"] = types.StringType
+ objectAttrs["resource_uris"] = types.StringType
+ objectAttrs["share_secret_in_vault"] = types.BoolType
+ objectAttrs["shared_secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordPrimer(recurse)}
+ objectAttrs["show_landing_page"] = types.BoolType
+ objectAttrs["use_client_credentials"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientOAuth2ClientPermission(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["for_group"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["for_system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedSystemPrimer(false)}
+ objectAttrs["value"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientOAuth2ClientPermissionWithClient(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["for_group"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["for_system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedSystemPrimer(false)}
+ objectAttrs["value"] = types.StringType
+ objectAttrs["client"] = types.ObjectType{AttrTypes: objectAttrsTypeDSClientOAuth2Client(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSClientOAuth2ClientPermissionWithClient(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientOAuth2ClientPermission_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSClientSaml2Client(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["attributes"] = types.MapType{ElemType: types.StringType}
+ objectAttrs["metadata"] = types.StringType
+ objectAttrs["metadata_url"] = types.StringType
+ objectAttrs["subject_format"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryAccountDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeDSMarkItemMarkers(false)}
+ objectAttrs["status"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryStatusReport(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["account_validity_supported"] = types.BoolType
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["base_organizational_unit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(false)}
+ objectAttrs["default_directory"] = types.BoolType
+ objectAttrs["helpdesk_group"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["restrict2fa"] = types.BoolType
+ objectAttrs["rotating_password"] = types.StringType
+ objectAttrs["username_customizable"] = types.BoolType
+ objectAttrs["internal_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryInternalDirectory(false)}
+ objectAttrs["l_d_a_p_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryLDAPDirectory(false)}
+ objectAttrs["maintenance_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryMaintenanceDirectory(false)}
+ objectAttrs["o_id_c_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryOIDCDirectory(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryAccountDirectoryLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectory(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryAccountDirectoryPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["account_validity_supported"] = types.BoolType
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryAccountDirectoryStatusReport(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["accounts"] = types.Int64Type
+ objectAttrs["reason"] = types.StringType
+ objectAttrs["status"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryAccountDirectorySummary(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["domain_restriction"] = types.StringType
+ objectAttrs["fully_resolved_issuer"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["status"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryStatusReport(recurse)}
+ objectAttrs["username_customizable"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryAccountDirectorySummaryLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectorySummary(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryAccountDirectory_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeDSMarkItemMarkers(recurse)}
+ objectAttrs["status"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryStatusReport(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryInternalDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["owner"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryLDAPDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["attributes_to_store"] = types.StringType
+ objectAttrs["base_dn"] = types.StringType
+ objectAttrs["client_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(recurse)}
+ objectAttrs["dialect"] = types.StringType
+ objectAttrs["failover_host"] = types.StringType
+ objectAttrs["failover_trusted_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(recurse)}
+ objectAttrs["host"] = types.StringType
+ objectAttrs["password_recovery"] = types.StringType
+ objectAttrs["port"] = types.Int64Type
+ objectAttrs["search_bind_dn"] = types.StringType
+ objectAttrs["search_bind_password"] = types.StringType
+ objectAttrs["search_filter"] = types.StringType
+ objectAttrs["tls"] = types.StringType
+ objectAttrs["trusted_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryMaintenanceDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeDSDirectoryOIDCDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["acr_values"] = types.StringType
+ objectAttrs["attributes_to_store"] = types.StringType
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["client_secret"] = types.StringType
+ objectAttrs["domain_restriction"] = types.StringType
+ objectAttrs["enforces2fa"] = types.BoolType
+ objectAttrs["fully_resolved_issuer"] = types.StringType
+ objectAttrs["issuer"] = types.StringType
+ objectAttrs["logout_url"] = types.StringType
+ objectAttrs["send_login_hint"] = types.BoolType
+ objectAttrs["vendor_escaped"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupAccountGroup(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVault(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["admin"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["folder"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupFolder(false)}
+ objectAttrs["last_used"] = types.StringType
+ objectAttrs["provisioning_end_time"] = types.StringType
+ objectAttrs["rights"] = types.StringType
+ objectAttrs["visible_for_provisioning"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupAccountGroupLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupAccountGroup(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupAccountGroup_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVault(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupAuthorizedGroupsWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroup(recurse)}}
+ objectAttrs["group_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroup(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["accounts"] = objectAttrsTypeDSGroupGroupAccountLinkableWrapper(false)["items"]
+ objectAttrs["administered_clients"] = objectAttrsTypeDSClientClientApplicationLinkableWrapper(false)["items"]
+ objectAttrs["administered_systems"] = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(false)["items"]
+ objectAttrs["admins"] = objectAttrsTypeDSGroupGroupAccountLinkableWrapper(false)["items"]
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["authorized_groups"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupAuthorizedGroupsWrapper(false)}
+ objectAttrs["client_permissions"] = objectAttrsTypeDSClientOAuth2ClientPermissionWithClientLinkableWrapper(false)["items"]
+ objectAttrs["clients"] = objectAttrsTypeDSGroupGroupClientLinkableWrapper(false)["items"]
+ objectAttrs["content_administered_systems"] = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(false)["items"]
+ objectAttrs["groupauditinginfo"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAuditingInfo(false)}
+ objectAttrs["groupinfo"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupInfo(false)}
+ objectAttrs["helpdesk"] = objectAttrsTypeDSDirectoryAccountDirectorySummaryLinkableWrapper(false)["items"]
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeDSMarkItemMarkers(false)}
+ objectAttrs["myaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAccount(false)}
+ objectAttrs["mydelegatedaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAccount(false)}
+ objectAttrs["nested_groups"] = objectAttrsTypeDSGroupGroupPrimerLinkableWrapper(false)["items"]
+ objectAttrs["owned_clients"] = objectAttrsTypeDSClientClientApplicationLinkableWrapper(false)["items"]
+ objectAttrs["owned_directories"] = objectAttrsTypeDSDirectoryAccountDirectoryLinkableWrapper(false)["items"]
+ objectAttrs["owned_groups_on_system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningOwnedGroupOnSystemsWrapper(false)}
+ objectAttrs["owned_organizational_units"] = objectAttrsTypeDSOrganizationOrganizationalUnitLinkableWrapper(false)["items"]
+ objectAttrs["owned_systems"] = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(false)["items"]
+ objectAttrs["recent_audits"] = objectAttrsTypeDSGroupGroupAuditLinkableWrapper(false)["items"]
+ objectAttrs["requeststatus"] = types.StringType
+ objectAttrs["service_accounts"] = objectAttrsTypeDSServiceaccountServiceAccountLinkableWrapper(false)["items"]
+ objectAttrs["systems"] = objectAttrsTypeDSGroupProvisioningGroupLinkableWrapper(false)["items"]
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVault(false)}
+ objectAttrs["webhooks"] = objectAttrsTypeDSWebhookWebhookLinkableWrapper(false)["items"]
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["admin"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["application_administration"] = types.BoolType
+ objectAttrs["audit_config"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAuditConfig(false)}
+ objectAttrs["audit_requested"] = types.BoolType
+ objectAttrs["auditor"] = types.BoolType
+ objectAttrs["authorizing_group_auditing"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["authorizing_group_delegation"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["authorizing_group_membership"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["authorizing_group_provisioning"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["authorizing_group_types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["classification"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupClassificationPrimer(false)}
+ objectAttrs["description"] = types.StringType
+ objectAttrs["extended_access"] = types.StringType
+ objectAttrs["hide_audit_trail"] = types.BoolType
+ objectAttrs["nested_under"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["organizational_unit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(false)}
+ objectAttrs["private_group"] = types.BoolType
+ objectAttrs["record_trail"] = types.BoolType
+ objectAttrs["rotating_password_required"] = types.BoolType
+ objectAttrs["single_managed"] = types.BoolType
+ objectAttrs["vault_recovery"] = types.StringType
+ objectAttrs["vault_requires_activation"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["last_active"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["validity"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryPrimer(false)}
+ objectAttrs["disconnected_nested"] = types.BoolType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["last_used"] = types.StringType
+ objectAttrs["nested"] = types.BoolType
+ objectAttrs["provisioning_end_time"] = types.StringType
+ objectAttrs["rights"] = types.StringType
+ objectAttrs["two_factor_status"] = types.StringType
+ objectAttrs["visible_for_provisioning"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAccountLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAccount(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAccount_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAudit(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["accounts"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAuditAccount(false)}}
+ objectAttrs["comment"] = types.StringType
+ objectAttrs["created_at"] = types.StringType
+ objectAttrs["created_by"] = types.StringType
+ objectAttrs["group_name"] = types.StringType
+ objectAttrs["name_on_audit"] = types.StringType
+ objectAttrs["reviewed_at"] = types.StringType
+ objectAttrs["reviewed_by"] = types.StringType
+ objectAttrs["status"] = types.StringType
+ objectAttrs["submitted_at"] = types.StringType
+ objectAttrs["submitted_by"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAuditAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["account_uuid"] = types.StringType
+ objectAttrs["account_valid"] = types.BoolType
+ objectAttrs["action"] = types.StringType
+ objectAttrs["comment"] = types.StringType
+ objectAttrs["disconnected_nested"] = types.BoolType
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["last_active"] = types.StringType
+ objectAttrs["last_used"] = types.StringType
+ objectAttrs["nested"] = types.BoolType
+ objectAttrs["rights"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAuditConfig(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["months"] = types.ListType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAuditLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAudit(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAudit_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupAuditingInfo(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit_due_date"] = types.StringType
+ objectAttrs["last_audit_date"] = types.StringType
+ objectAttrs["nr_accounts"] = types.Int64Type
+ objectAttrs["nr_disabled_accounts"] = types.Int64Type
+ objectAttrs["nr_disabled_managers"] = types.Int64Type
+ objectAttrs["nr_expired_vault_records"] = types.Int64Type
+ objectAttrs["nr_managers"] = types.Int64Type
+ objectAttrs["nr_vault_records_with_end_date"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupClassification(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["info"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupClassificationInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["authorizing_group_auditing_required"] = types.BoolType
+ objectAttrs["authorizing_group_delegation_required"] = types.BoolType
+ objectAttrs["authorizing_group_membership_required"] = types.BoolType
+ objectAttrs["authorizing_group_provisioning_required"] = types.BoolType
+ objectAttrs["default_classification"] = types.BoolType
+ objectAttrs["description"] = types.StringType
+ objectAttrs["maximum_audit_interval"] = types.Int64Type
+ objectAttrs["minimum_nr_managers"] = types.Int64Type
+ objectAttrs["record_trail_required"] = types.BoolType
+ objectAttrs["required_months"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["rotating_password_required"] = types.BoolType
+ objectAttrs["vault_requires_activation"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupClassificationInfo(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["nr_groups"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupClassificationPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupClassification_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["info"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupClassificationInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupClient(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["activation_required"] = types.BoolType
+ objectAttrs["client"] = types.ObjectType{AttrTypes: objectAttrsTypeDSClientClientApplicationPrimer(false)}
+ objectAttrs["group"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["owner"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["technical_administrator"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupClientLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupClient(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupClient_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupFolder(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["name"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupFolder_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupInfo(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["nr_accounts"] = types.Int64Type
+ objectAttrs["nr_accounts_with_vault"] = types.Int64Type
+ objectAttrs["nr_audits"] = types.Int64Type
+ objectAttrs["nr_clients"] = types.Int64Type
+ objectAttrs["nr_provisioned_systems"] = types.Int64Type
+ objectAttrs["nr_vault_records"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroup(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["admin"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroupPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupGroup_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["accounts"] = objectAttrsTypeDSGroupGroupAccountLinkableWrapper(recurse)["items"]
+ objectAttrs["administered_clients"] = objectAttrsTypeDSClientClientApplicationLinkableWrapper(recurse)["items"]
+ objectAttrs["administered_systems"] = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(recurse)["items"]
+ objectAttrs["admins"] = objectAttrsTypeDSGroupGroupAccountLinkableWrapper(recurse)["items"]
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["authorized_groups"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupAuthorizedGroupsWrapper(recurse)}
+ objectAttrs["client_permissions"] = objectAttrsTypeDSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"]
+ objectAttrs["clients"] = objectAttrsTypeDSGroupGroupClientLinkableWrapper(recurse)["items"]
+ objectAttrs["content_administered_systems"] = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(recurse)["items"]
+ objectAttrs["groupauditinginfo"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAuditingInfo(recurse)}
+ objectAttrs["groupinfo"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupInfo(recurse)}
+ objectAttrs["helpdesk"] = objectAttrsTypeDSDirectoryAccountDirectorySummaryLinkableWrapper(recurse)["items"]
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeDSMarkItemMarkers(recurse)}
+ objectAttrs["myaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAccount(recurse)}
+ objectAttrs["mydelegatedaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupAccount(recurse)}
+ objectAttrs["nested_groups"] = objectAttrsTypeDSGroupGroupPrimerLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_clients"] = objectAttrsTypeDSClientClientApplicationLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_directories"] = objectAttrsTypeDSDirectoryAccountDirectoryLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_groups_on_system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningOwnedGroupOnSystemsWrapper(recurse)}
+ objectAttrs["owned_organizational_units"] = objectAttrsTypeDSOrganizationOrganizationalUnitLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_systems"] = objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(recurse)["items"]
+ objectAttrs["recent_audits"] = objectAttrsTypeDSGroupGroupAuditLinkableWrapper(recurse)["items"]
+ objectAttrs["requeststatus"] = types.StringType
+ objectAttrs["service_accounts"] = objectAttrsTypeDSServiceaccountServiceAccountLinkableWrapper(recurse)["items"]
+ objectAttrs["systems"] = objectAttrsTypeDSGroupProvisioningGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVault(recurse)}
+ objectAttrs["webhooks"] = objectAttrsTypeDSWebhookWebhookLinkableWrapper(recurse)["items"]
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupProvisioningGroup(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["activation_required"] = types.BoolType
+ objectAttrs["group"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["group_on_system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningGroupOnSystem(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupProvisioningGroupLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSGroupProvisioningGroup(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSGroupProvisioningGroup_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSLaunchpadSsoApplicationLaunchpadTile(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["uri"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSLaunchpadVaultRecordLaunchpadTile(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeDSMarkItemMarker(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["level"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["parameters"] = types.MapType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSMarkItemMarkers(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["markers"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSMarkItemMarker(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSOrganizationOrganizationalUnit(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["depth"] = types.Int64Type
+ objectAttrs["description"] = types.StringType
+ objectAttrs["owner"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["parent"] = types.ObjectType{AttrTypes: objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSOrganizationOrganizationalUnitLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSOrganizationOrganizationalUnit(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSOrganizationOrganizationalUnit_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningAbstractProvisionedLDAP(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["attributes"] = types.MapType{ElemType: types.StringType}
+ objectAttrs["base_dn"] = types.StringType
+ objectAttrs["bind_dn"] = types.StringType
+ objectAttrs["bind_password"] = types.StringType
+ objectAttrs["client_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(recurse)}
+ objectAttrs["failover_host"] = types.StringType
+ objectAttrs["failover_trusted_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(recurse)}
+ objectAttrs["group_dn"] = types.StringType
+ objectAttrs["host"] = types.StringType
+ objectAttrs["object_classes"] = types.StringType
+ objectAttrs["port"] = types.Int64Type
+ objectAttrs["service_account_dn"] = types.StringType
+ objectAttrs["ssh_public_key_supported"] = types.BoolType
+ objectAttrs["tls"] = types.StringType
+ objectAttrs["trusted_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(recurse)}
+ objectAttrs["user_dn"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningCircuitBreakerStatistics(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["number_of_failed_calls"] = types.Int64Type
+ objectAttrs["number_of_not_permitted_calls"] = types.Int64Type
+ objectAttrs["number_of_successful_calls"] = types.Int64Type
+ objectAttrs["state"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningGroupOnSystem(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["provgroups"] = objectAttrsTypeDSGroupProvisioningGroupLinkableWrapper(false)["items"]
+ objectAttrs["service_accounts"] = objectAttrsTypeDSServiceaccountServiceAccountPrimerLinkableWrapper(false)["items"]
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["name_in_system"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["short_name_in_system"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["owner"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningGroupOnSystemLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningGroupOnSystem(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningGroupOnSystemPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["name_in_system"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["short_name_in_system"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningGroupOnSystemTypes(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningGroupOnSystem_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["provgroups"] = objectAttrsTypeDSGroupProvisioningGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["service_accounts"] = objectAttrsTypeDSServiceaccountServiceAccountPrimerLinkableWrapper(recurse)["items"]
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningOwnedGroupOnSystemsWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningGroupOnSystem(recurse)}}
+ objectAttrs["unlinked_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionNumberSequence(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["systems"] = objectAttrsTypeDSProvisioningProvisionedSystemPrimerLinkableWrapper(false)["items"]
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["account_count"] = types.Int64Type
+ objectAttrs["name"] = types.StringType
+ objectAttrs["next_uid"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionNumberSequence_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["systems"] = objectAttrsTypeDSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse)["items"]
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedAD(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["sam_account_name_scheme"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["last_active"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["validity"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["uid"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedAccount_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedAzureOIDCDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryPrimer(recurse)}
+ objectAttrs["tenant"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedAzureSyncLDAPDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["client_secret"] = types.StringType
+ objectAttrs["directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryPrimer(recurse)}
+ objectAttrs["tenant"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedAzureTenant(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["client_secret"] = types.StringType
+ objectAttrs["idp_domain"] = types.StringType
+ objectAttrs["tenant"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedInternalLDAP(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["client"] = types.ObjectType{AttrTypes: objectAttrsTypeDSClientLdapClient(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedLDAP(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["gid"] = types.Int64Type
+ objectAttrs["hashing_scheme"] = types.StringType
+ objectAttrs["numbering"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionNumberSequence(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedLDAPDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryPrimer(recurse)}
+ objectAttrs["group_dn"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedSystem(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["account"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedAccount(false)}
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["issued_permissions"] = objectAttrsTypeDSClientOAuth2ClientPermissionWithClientLinkableWrapper(false)["items"]
+ objectAttrs["login_name"] = types.StringType
+ objectAttrs["management_permissions"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisioningManagementPermissions(false)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeDSMarkItemMarkers(false)}
+ objectAttrs["statistics"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningCircuitBreakerStatistics(false)}
+ objectAttrs["supported_group_types"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningGroupOnSystemTypes(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["organizational_unit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(recurse)}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["account_count"] = types.Int64Type
+ objectAttrs["content_administrator"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["external_uuid"] = types.StringType
+ objectAttrs["owner"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["self_service_existing_groups"] = types.BoolType
+ objectAttrs["self_service_new_groups"] = types.BoolType
+ objectAttrs["self_service_service_accounts"] = types.BoolType
+ objectAttrs["should_destroy_unknown_accounts"] = types.BoolType
+ objectAttrs["technical_administrator"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["username_prefix"] = types.StringType
+ objectAttrs["abstract_provisioned_ldap"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningAbstractProvisionedLDAP(false)}
+ objectAttrs["provisioned_a_d"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedAD(false)}
+ objectAttrs["provisioned_azure_oidc_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedAzureOIDCDirectory(false)}
+ objectAttrs["provisioned_azure_sync_ldap_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedAzureSyncLDAPDirectory(false)}
+ objectAttrs["provisioned_azure_tenant"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedAzureTenant(false)}
+ objectAttrs["provisioned_internal_ldap"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedInternalLDAP(false)}
+ objectAttrs["provisioned_ldap"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedLDAP(false)}
+ objectAttrs["provisioned_ldap_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedLDAPDirectory(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedSystemLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedSystem(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedSystemPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["organizational_unit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSOrganizationOrganizationalUnitPrimer(recurse)}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedSystemPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisionedSystem_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["account"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedAccount(recurse)}
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["issued_permissions"] = objectAttrsTypeDSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"]
+ objectAttrs["login_name"] = types.StringType
+ objectAttrs["management_permissions"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisioningManagementPermissions(recurse)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeDSMarkItemMarkers(recurse)}
+ objectAttrs["statistics"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningCircuitBreakerStatistics(recurse)}
+ objectAttrs["supported_group_types"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningGroupOnSystemTypes(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSProvisioningProvisioningManagementPermissions(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["create_new_groups_allowed"] = types.BoolType
+ objectAttrs["create_service_accounts_allowed"] = types.BoolType
+ objectAttrs["reuse_existing_groups_allowed"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["groups"] = objectAttrsTypeDSServiceaccountServiceAccountGroupLinkableWrapper(false)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGeneratedSecret(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedSystemPrimer(recurse)}
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["description"] = types.StringType
+ objectAttrs["password"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordPrimer(false)}
+ objectAttrs["password_rotation"] = types.StringType
+ objectAttrs["technical_administrator"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccountGroup(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["name_in_system"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["short_name_in_system"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccountGroupLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSServiceaccountServiceAccountGroup(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccountGroup_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccountLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSServiceaccountServiceAccount(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccountPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedSystemPrimer(recurse)}
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccountPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSServiceaccountServiceAccountPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSServiceaccountServiceAccount_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["groups"] = objectAttrsTypeDSServiceaccountServiceAccountGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGeneratedSecret(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultPasswordMetadata(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["dictionary"] = types.BoolType
+ objectAttrs["duplicate"] = types.BoolType
+ objectAttrs["hash"] = types.StringType
+ objectAttrs["length"] = types.Int64Type
+ objectAttrs["lower_count"] = types.Int64Type
+ objectAttrs["number_count"] = types.Int64Type
+ objectAttrs["special_count"] = types.Int64Type
+ objectAttrs["strength"] = types.Int64Type
+ objectAttrs["upper_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVault(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["access_available"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["records"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecord(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultHolder(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultRecord(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ objectAttrs["parent"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordPrimer(false)}
+ objectAttrs["password_metadata"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultPasswordMetadata(false)}
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordSecrets(false)}
+ objectAttrs["share_summary"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordShareSummary(false)}
+ objectAttrs["shares"] = objectAttrsTypeDSVaultVaultRecordPrimerLinkableWrapper(false)["items"]
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeDSLaunchpadVaultRecordLaunchpadTile(false)}
+ objectAttrs["vaultholder"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultHolder(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["color"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["share_end_time"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["derived"] = types.BoolType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["filename"] = types.StringType
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["url"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["warning_period"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultRecordPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["color"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["share_end_time"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultRecordPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultRecordSecrets(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["comment"] = types.StringType
+ objectAttrs["file"] = types.StringType
+ objectAttrs["password"] = types.StringType
+ objectAttrs["totp"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultRecordShare(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["name"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultRecordShareSummary(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["children"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordShare(recurse)}}
+ objectAttrs["parent"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordShare(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSVaultVaultRecord_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ objectAttrs["parent"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordPrimer(recurse)}
+ objectAttrs["password_metadata"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultPasswordMetadata(recurse)}
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordSecrets(recurse)}
+ objectAttrs["share_summary"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultRecordShareSummary(recurse)}
+ objectAttrs["shares"] = objectAttrsTypeDSVaultVaultRecordPrimerLinkableWrapper(recurse)["items"]
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeDSLaunchpadVaultRecordLaunchpadTile(recurse)}
+ objectAttrs["vaultholder"] = types.ObjectType{AttrTypes: objectAttrsTypeDSVaultVaultHolder(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSWebhookWebhook(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSAuthPermission(recurse)}}
+ objectAttrs["additional"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["account"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuthAccountPrimer(false)}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["all_types"] = types.BoolType
+ objectAttrs["authentication_scheme"] = types.StringType
+ objectAttrs["basic_auth_password"] = types.StringType
+ objectAttrs["basic_auth_username"] = types.StringType
+ objectAttrs["bearer_token"] = types.StringType
+ objectAttrs["client"] = types.ObjectType{AttrTypes: objectAttrsTypeDSClientClientApplicationPrimer(false)}
+ objectAttrs["client_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(false)}
+ objectAttrs["custom_header_name"] = types.StringType
+ objectAttrs["custom_header_value"] = types.StringType
+ objectAttrs["directory"] = types.ObjectType{AttrTypes: objectAttrsTypeDSDirectoryAccountDirectoryPrimer(false)}
+ objectAttrs["group"] = types.ObjectType{AttrTypes: objectAttrsTypeDSGroupGroupPrimer(false)}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["system"] = types.ObjectType{AttrTypes: objectAttrsTypeDSProvisioningProvisionedSystemPrimer(false)}
+ objectAttrs["tls"] = types.StringType
+ objectAttrs["trusted_certificate"] = types.ObjectType{AttrTypes: objectAttrsTypeDSCertificateCertificatePrimer(false)}
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["url"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["verbose_payloads"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeDSWebhookWebhookLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeDSWebhookWebhook(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeDSWebhookWebhook_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeDSAuditInfo(recurse)}
+ return objectAttrs
+}
diff --git a/internal/provider/full-object-attrs-rs.go b/internal/provider/full-object-attrs-rs.go
new file mode 100644
index 0000000..d6728c9
--- /dev/null
+++ b/internal/provider/full-object-attrs-rs.go
@@ -0,0 +1,1282 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+)
+
+func objectAttrsTypeRSAuditInfo(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["created_at"] = types.StringType
+ objectAttrs["created_by"] = types.StringType
+ objectAttrs["last_modified_at"] = types.StringType
+ objectAttrs["last_modified_by"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGeneratedSecret(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["generated_secret"] = types.StringType
+ objectAttrs["old_secret"] = types.StringType
+ objectAttrs["regenerate"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSLinkable(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSNonLinkable(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeRSRestLink(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["href"] = types.StringType
+ objectAttrs["id"] = types.Int64Type
+ objectAttrs["rel"] = types.StringType
+ objectAttrs["type_escaped"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSAuthAccountPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["last_active"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["validity"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSAuthPermission(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["full"] = types.StringType
+ objectAttrs["instances"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["operations"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["type_escaped"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSCertificateCertificatePrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["alias"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["certificate_data"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["expiration"] = types.StringType
+ objectAttrs["fingerprint_sha1"] = types.StringType
+ objectAttrs["fingerprint_sha256"] = types.StringType
+ objectAttrs["global"] = types.BoolType
+ objectAttrs["subject_dn"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientApplicationVaultVaultRecord(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["delete_tile"] = types.BoolType
+ objectAttrs["parent_uuid"] = types.StringType
+ objectAttrs["password_metadata"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultPasswordMetadata(false)}
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordSecrets(false)}
+ objectAttrs["share_summary"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordShareSummary(false)}
+ objectAttrs["shares"] = objectAttrsTypeRSVaultVaultRecordPrimerLinkableWrapper(false)["items"]
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeRSLaunchpadVaultRecordLaunchpadTile(false)}
+ objectAttrs["vaultholder"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultHolder(false)}
+ }
+ objectAttrs["client_application_uuid"] = types.StringType
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["color"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["share_end_time"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["derived"] = types.BoolType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["filename"] = types.StringType
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["url"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["warning_period"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientClientApplication(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["delete_tile"] = types.BoolType
+ objectAttrs["groupclients"] = objectAttrsTypeRSGroupGroupClientLinkableWrapper(false)["items"]
+ objectAttrs["groups"] = objectAttrsTypeRSGroupGroupLinkableWrapper(false)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGeneratedSecret(false)}
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeRSLaunchpadSsoApplicationLaunchpadTile(false)}
+ objectAttrs["vault_record_count"] = types.Int64Type
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["scopes"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["sso_application"] = types.BoolType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["last_modified_at"] = types.StringType
+ objectAttrs["owner_uuid"] = types.StringType
+ objectAttrs["technical_administrator_uuid"] = types.StringType
+ objectAttrs["ldap_client"] = types.ObjectType{AttrTypes: objectAttrsTypeRSClientLdapClient(false)}
+ objectAttrs["o_auth2_client"] = types.ObjectType{AttrTypes: objectAttrsTypeRSClientOAuth2Client(false)}
+ objectAttrs["saml2_client"] = types.ObjectType{AttrTypes: objectAttrsTypeRSClientSaml2Client(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientClientApplicationLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSClientClientApplication(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientClientApplicationPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["scopes"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["sso_application"] = types.BoolType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientClientApplication_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["delete_tile"] = types.BoolType
+ objectAttrs["groupclients"] = objectAttrsTypeRSGroupGroupClientLinkableWrapper(recurse)["items"]
+ objectAttrs["groups"] = objectAttrsTypeRSGroupGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGeneratedSecret(recurse)}
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeRSLaunchpadSsoApplicationLaunchpadTile(recurse)}
+ objectAttrs["vault_record_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientLdapClient(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["bind_dn"] = types.StringType
+ objectAttrs["client_certificate_uuid"] = types.StringType
+ objectAttrs["share_secret_in_vault"] = types.BoolType
+ objectAttrs["shared_secret_uuid"] = types.StringType
+ objectAttrs["used_for_provisioning"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientOAuth2Client(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["account_permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["attributes"] = types.MapType{ElemType: types.StringType}
+ objectAttrs["callback_uri"] = types.StringType
+ objectAttrs["confidential"] = types.BoolType
+ objectAttrs["debug_mode"] = types.BoolType
+ objectAttrs["id_token_claims"] = types.StringType
+ objectAttrs["initiate_login_uri"] = types.StringType
+ objectAttrs["resource_uris"] = types.StringType
+ objectAttrs["share_secret_in_vault"] = types.BoolType
+ objectAttrs["shared_secret_uuid"] = types.StringType
+ objectAttrs["show_landing_page"] = types.BoolType
+ objectAttrs["use_client_credentials"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientOAuth2ClientPermission(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["for_group_uuid"] = types.StringType
+ objectAttrs["for_system_uuid"] = types.StringType
+ objectAttrs["value"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientOAuth2ClientPermissionWithClient(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["for_group_uuid"] = types.StringType
+ objectAttrs["for_system_uuid"] = types.StringType
+ objectAttrs["value"] = types.StringType
+ objectAttrs["client_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSClientOAuth2ClientPermissionWithClient(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientOAuth2ClientPermission_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSClientSaml2Client(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["attributes"] = types.MapType{ElemType: types.StringType}
+ objectAttrs["metadata"] = types.StringType
+ objectAttrs["metadata_url"] = types.StringType
+ objectAttrs["subject_format"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryAccountDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeRSMarkItemMarkers(false)}
+ objectAttrs["status"] = types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryAccountDirectoryStatusReport(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["account_validity_supported"] = types.BoolType
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["base_organizational_unit_uuid"] = types.StringType
+ objectAttrs["default_directory"] = types.BoolType
+ objectAttrs["helpdesk_group_uuid"] = types.StringType
+ objectAttrs["restrict2fa"] = types.BoolType
+ objectAttrs["rotating_password"] = types.StringType
+ objectAttrs["username_customizable"] = types.BoolType
+ objectAttrs["internal_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryInternalDirectory(false)}
+ objectAttrs["l_d_a_p_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryLDAPDirectory(false)}
+ objectAttrs["maintenance_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryMaintenanceDirectory(false)}
+ objectAttrs["o_id_c_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryOIDCDirectory(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryAccountDirectoryLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryAccountDirectory(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryAccountDirectoryPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["account_validity_supported"] = types.BoolType
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryAccountDirectoryStatusReport(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["accounts"] = types.Int64Type
+ objectAttrs["reason"] = types.StringType
+ objectAttrs["status"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryAccountDirectorySummary(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["type"] = types.StringType
+ objectAttrs["domain_restriction"] = types.StringType
+ objectAttrs["fully_resolved_issuer"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["status"] = types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryAccountDirectoryStatusReport(recurse)}
+ objectAttrs["username_customizable"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryAccountDirectorySummaryLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryAccountDirectorySummary(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryAccountDirectory_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeRSMarkItemMarkers(recurse)}
+ objectAttrs["status"] = types.ObjectType{AttrTypes: objectAttrsTypeRSDirectoryAccountDirectoryStatusReport(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryInternalDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["owner_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryLDAPDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["attributes_to_store"] = types.StringType
+ objectAttrs["base_dn"] = types.StringType
+ objectAttrs["client_certificate_uuid"] = types.StringType
+ objectAttrs["dialect"] = types.StringType
+ objectAttrs["failover_host"] = types.StringType
+ objectAttrs["failover_trusted_certificate_uuid"] = types.StringType
+ objectAttrs["host"] = types.StringType
+ objectAttrs["password_recovery"] = types.StringType
+ objectAttrs["port"] = types.Int64Type
+ objectAttrs["search_bind_dn"] = types.StringType
+ objectAttrs["search_bind_password"] = types.StringType
+ objectAttrs["search_filter"] = types.StringType
+ objectAttrs["tls"] = types.StringType
+ objectAttrs["trusted_certificate_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryMaintenanceDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeRSDirectoryOIDCDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["acr_values"] = types.StringType
+ objectAttrs["attributes_to_store"] = types.StringType
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["client_secret"] = types.StringType
+ objectAttrs["domain_restriction"] = types.StringType
+ objectAttrs["enforces2fa"] = types.BoolType
+ objectAttrs["fully_resolved_issuer"] = types.StringType
+ objectAttrs["issuer"] = types.StringType
+ objectAttrs["logout_url"] = types.StringType
+ objectAttrs["send_login_hint"] = types.BoolType
+ objectAttrs["vendor_escaped"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupAuthorizedGroupsWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroup(recurse)}}
+ objectAttrs["group_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroup(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["accounts"] = objectAttrsTypeRSGroupGroupAccountLinkableWrapper(false)["items"]
+ objectAttrs["administered_clients"] = objectAttrsTypeRSClientClientApplicationLinkableWrapper(false)["items"]
+ objectAttrs["administered_systems"] = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(false)["items"]
+ objectAttrs["admins"] = objectAttrsTypeRSGroupGroupAccountLinkableWrapper(false)["items"]
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["authorized_groups"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupAuthorizedGroupsWrapper(false)}
+ objectAttrs["client_permissions"] = objectAttrsTypeRSClientOAuth2ClientPermissionWithClientLinkableWrapper(false)["items"]
+ objectAttrs["clients"] = objectAttrsTypeRSGroupGroupClientLinkableWrapper(false)["items"]
+ objectAttrs["content_administered_systems"] = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(false)["items"]
+ objectAttrs["groupauditinginfo"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAuditingInfo(false)}
+ objectAttrs["groupinfo"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupInfo(false)}
+ objectAttrs["helpdesk"] = objectAttrsTypeRSDirectoryAccountDirectorySummaryLinkableWrapper(false)["items"]
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeRSMarkItemMarkers(false)}
+ objectAttrs["myaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAccount(false)}
+ objectAttrs["mydelegatedaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAccount(false)}
+ objectAttrs["nested_groups"] = objectAttrsTypeRSGroupGroupPrimerLinkableWrapper(false)["items"]
+ objectAttrs["owned_clients"] = objectAttrsTypeRSClientClientApplicationLinkableWrapper(false)["items"]
+ objectAttrs["owned_directories"] = objectAttrsTypeRSDirectoryAccountDirectoryLinkableWrapper(false)["items"]
+ objectAttrs["owned_groups_on_system"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningOwnedGroupOnSystemsWrapper(false)}
+ objectAttrs["owned_organizational_units"] = objectAttrsTypeRSOrganizationOrganizationalUnitLinkableWrapper(false)["items"]
+ objectAttrs["owned_systems"] = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(false)["items"]
+ objectAttrs["recent_audits"] = objectAttrsTypeRSGroupGroupAuditLinkableWrapper(false)["items"]
+ objectAttrs["requeststatus"] = types.StringType
+ objectAttrs["service_accounts"] = objectAttrsTypeRSServiceaccountServiceAccountLinkableWrapper(false)["items"]
+ objectAttrs["systems"] = objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(false)["items"]
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVault(false)}
+ objectAttrs["webhooks"] = objectAttrsTypeRSWebhookWebhookLinkableWrapper(false)["items"]
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["admin"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["application_administration"] = types.BoolType
+ objectAttrs["audit_config"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAuditConfig(false)}
+ objectAttrs["audit_requested"] = types.BoolType
+ objectAttrs["auditor"] = types.BoolType
+ objectAttrs["authorizing_group_auditing_uuid"] = types.StringType
+ objectAttrs["authorizing_group_delegation_uuid"] = types.StringType
+ objectAttrs["authorizing_group_membership_uuid"] = types.StringType
+ objectAttrs["authorizing_group_provisioning_uuid"] = types.StringType
+ objectAttrs["authorizing_group_types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["classification_uuid"] = types.StringType
+ objectAttrs["description"] = types.StringType
+ objectAttrs["extended_access"] = types.StringType
+ objectAttrs["hide_audit_trail"] = types.BoolType
+ objectAttrs["nested_under_uuid"] = types.StringType
+ objectAttrs["organizational_unit_uuid"] = types.StringType
+ objectAttrs["private_group"] = types.BoolType
+ objectAttrs["record_trail"] = types.BoolType
+ objectAttrs["rotating_password_required"] = types.BoolType
+ objectAttrs["single_managed"] = types.BoolType
+ objectAttrs["vault_recovery"] = types.StringType
+ objectAttrs["vault_requires_activation"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["directory_uuid"] = types.StringType
+ objectAttrs["disconnected_nested"] = types.BoolType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["last_used"] = types.StringType
+ objectAttrs["nested"] = types.BoolType
+ objectAttrs["provisioning_end_time"] = types.StringType
+ objectAttrs["rights"] = types.StringType
+ objectAttrs["two_factor_status"] = types.StringType
+ objectAttrs["visible_for_provisioning"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAccountLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAccount(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAccount_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAudit(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["accounts"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAuditAccount(false)}}
+ objectAttrs["comment"] = types.StringType
+ objectAttrs["created_at"] = types.StringType
+ objectAttrs["created_by"] = types.StringType
+ objectAttrs["group_name"] = types.StringType
+ objectAttrs["name_on_audit"] = types.StringType
+ objectAttrs["reviewed_at"] = types.StringType
+ objectAttrs["reviewed_by"] = types.StringType
+ objectAttrs["status"] = types.StringType
+ objectAttrs["submitted_at"] = types.StringType
+ objectAttrs["submitted_by"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAuditAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["account_uuid"] = types.StringType
+ objectAttrs["account_valid"] = types.BoolType
+ objectAttrs["action"] = types.StringType
+ objectAttrs["comment"] = types.StringType
+ objectAttrs["disconnected_nested"] = types.BoolType
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["last_active"] = types.StringType
+ objectAttrs["last_used"] = types.StringType
+ objectAttrs["nested"] = types.BoolType
+ objectAttrs["rights"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAuditConfig(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["months"] = types.ListType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAuditLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAudit(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAudit_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupAuditingInfo(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit_due_date"] = types.StringType
+ objectAttrs["last_audit_date"] = types.StringType
+ objectAttrs["nr_accounts"] = types.Int64Type
+ objectAttrs["nr_disabled_accounts"] = types.Int64Type
+ objectAttrs["nr_disabled_managers"] = types.Int64Type
+ objectAttrs["nr_expired_vault_records"] = types.Int64Type
+ objectAttrs["nr_managers"] = types.Int64Type
+ objectAttrs["nr_vault_records_with_end_date"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupClassificationPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupClient(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["activation_required"] = types.BoolType
+ objectAttrs["client_uuid"] = types.StringType
+ objectAttrs["group_uuid"] = types.StringType
+ objectAttrs["owner_uuid"] = types.StringType
+ objectAttrs["technical_administrator_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupClientLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupClient(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupClient_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupInfo(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["nr_accounts"] = types.Int64Type
+ objectAttrs["nr_accounts_with_vault"] = types.Int64Type
+ objectAttrs["nr_audits"] = types.Int64Type
+ objectAttrs["nr_clients"] = types.Int64Type
+ objectAttrs["nr_provisioned_systems"] = types.Int64Type
+ objectAttrs["nr_vault_records"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroup(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["admin"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroupPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupGroup_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["accounts"] = objectAttrsTypeRSGroupGroupAccountLinkableWrapper(recurse)["items"]
+ objectAttrs["administered_clients"] = objectAttrsTypeRSClientClientApplicationLinkableWrapper(recurse)["items"]
+ objectAttrs["administered_systems"] = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(recurse)["items"]
+ objectAttrs["admins"] = objectAttrsTypeRSGroupGroupAccountLinkableWrapper(recurse)["items"]
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["authorized_groups"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupAuthorizedGroupsWrapper(recurse)}
+ objectAttrs["client_permissions"] = objectAttrsTypeRSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"]
+ objectAttrs["clients"] = objectAttrsTypeRSGroupGroupClientLinkableWrapper(recurse)["items"]
+ objectAttrs["content_administered_systems"] = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(recurse)["items"]
+ objectAttrs["groupauditinginfo"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAuditingInfo(recurse)}
+ objectAttrs["groupinfo"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupInfo(recurse)}
+ objectAttrs["helpdesk"] = objectAttrsTypeRSDirectoryAccountDirectorySummaryLinkableWrapper(recurse)["items"]
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeRSMarkItemMarkers(recurse)}
+ objectAttrs["myaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAccount(recurse)}
+ objectAttrs["mydelegatedaccount"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGroupGroupAccount(recurse)}
+ objectAttrs["nested_groups"] = objectAttrsTypeRSGroupGroupPrimerLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_clients"] = objectAttrsTypeRSClientClientApplicationLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_directories"] = objectAttrsTypeRSDirectoryAccountDirectoryLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_groups_on_system"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningOwnedGroupOnSystemsWrapper(recurse)}
+ objectAttrs["owned_organizational_units"] = objectAttrsTypeRSOrganizationOrganizationalUnitLinkableWrapper(recurse)["items"]
+ objectAttrs["owned_systems"] = objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(recurse)["items"]
+ objectAttrs["recent_audits"] = objectAttrsTypeRSGroupGroupAuditLinkableWrapper(recurse)["items"]
+ objectAttrs["requeststatus"] = types.StringType
+ objectAttrs["service_accounts"] = objectAttrsTypeRSServiceaccountServiceAccountLinkableWrapper(recurse)["items"]
+ objectAttrs["systems"] = objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["vault"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVault(recurse)}
+ objectAttrs["webhooks"] = objectAttrsTypeRSWebhookWebhookLinkableWrapper(recurse)["items"]
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupProvisioningGroup(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["activation_required"] = types.BoolType
+ objectAttrs["group_uuid"] = types.StringType
+ objectAttrs["group_on_system"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningGroupOnSystem(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSGroupProvisioningGroup(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupProvisioningGroup_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSGroupVaultVaultRecord(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["delete_tile"] = types.BoolType
+ objectAttrs["parent_uuid"] = types.StringType
+ objectAttrs["password_metadata"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultPasswordMetadata(false)}
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordSecrets(false)}
+ objectAttrs["share_summary"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordShareSummary(false)}
+ objectAttrs["shares"] = objectAttrsTypeRSVaultVaultRecordPrimerLinkableWrapper(false)["items"]
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeRSLaunchpadVaultRecordLaunchpadTile(false)}
+ objectAttrs["vaultholder"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultHolder(false)}
+ }
+ objectAttrs["group_uuid"] = types.StringType
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["color"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["share_end_time"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["derived"] = types.BoolType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["filename"] = types.StringType
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["url"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["warning_period"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSLaunchpadSsoApplicationLaunchpadTile(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["uri"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSLaunchpadVaultRecordLaunchpadTile(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeRSMarkItemMarker(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["level"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["parameters"] = types.MapType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSMarkItemMarkers(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["markers"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSMarkItemMarker(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSNestedProvisioningGroupOnSystem(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["provgroups"] = objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(false)["items"]
+ objectAttrs["service_accounts"] = objectAttrsTypeRSServiceaccountServiceAccountPrimerLinkableWrapper(false)["items"]
+ }
+ objectAttrs["provisioned_system_uuid"] = types.StringType
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["name_in_system"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["short_name_in_system"] = types.StringType
+ objectAttrs["owner_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSOrganizationOrganizationalUnit(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["create_as_parent_of"] = objectAttrsTypeRSOrganizationOrganizationalUnitPrimerLinkableWrapper(false)["items"]
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["depth"] = types.Int64Type
+ objectAttrs["description"] = types.StringType
+ objectAttrs["owner_uuid"] = types.StringType
+ objectAttrs["parent_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSOrganizationOrganizationalUnitLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSOrganizationOrganizationalUnit(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSOrganizationOrganizationalUnitPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["name"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSOrganizationOrganizationalUnitPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSOrganizationOrganizationalUnitPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSOrganizationOrganizationalUnit_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["create_as_parent_of"] = objectAttrsTypeRSOrganizationOrganizationalUnitPrimerLinkableWrapper(recurse)["items"]
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningAbstractProvisionedLDAP(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["attributes"] = types.MapType{ElemType: types.StringType}
+ objectAttrs["base_dn"] = types.StringType
+ objectAttrs["bind_dn"] = types.StringType
+ objectAttrs["bind_password"] = types.StringType
+ objectAttrs["client_certificate_uuid"] = types.StringType
+ objectAttrs["failover_host"] = types.StringType
+ objectAttrs["failover_trusted_certificate_uuid"] = types.StringType
+ objectAttrs["group_dn"] = types.StringType
+ objectAttrs["host"] = types.StringType
+ objectAttrs["object_classes"] = types.StringType
+ objectAttrs["port"] = types.Int64Type
+ objectAttrs["service_account_dn"] = types.StringType
+ objectAttrs["ssh_public_key_supported"] = types.BoolType
+ objectAttrs["tls"] = types.StringType
+ objectAttrs["trusted_certificate_uuid"] = types.StringType
+ objectAttrs["user_dn"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningCircuitBreakerStatistics(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["number_of_failed_calls"] = types.Int64Type
+ objectAttrs["number_of_not_permitted_calls"] = types.Int64Type
+ objectAttrs["number_of_successful_calls"] = types.Int64Type
+ objectAttrs["state"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningGroupOnSystem(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["provgroups"] = objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(false)["items"]
+ objectAttrs["service_accounts"] = objectAttrsTypeRSServiceaccountServiceAccountPrimerLinkableWrapper(false)["items"]
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["name_in_system"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["short_name_in_system"] = types.StringType
+ objectAttrs["owner_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningGroupOnSystemLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningGroupOnSystem(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningGroupOnSystemPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["name_in_system"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["short_name_in_system"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningGroupOnSystemTypes(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningGroupOnSystem_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["provgroups"] = objectAttrsTypeRSGroupProvisioningGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["service_accounts"] = objectAttrsTypeRSServiceaccountServiceAccountPrimerLinkableWrapper(recurse)["items"]
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningOwnedGroupOnSystemsWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningGroupOnSystem(recurse)}}
+ objectAttrs["unlinked_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionNumberSequence(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["systems"] = objectAttrsTypeRSProvisioningProvisionedSystemPrimerLinkableWrapper(false)["items"]
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["account_count"] = types.Int64Type
+ objectAttrs["name"] = types.StringType
+ objectAttrs["next_uid"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionNumberSequence_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["systems"] = objectAttrsTypeRSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse)["items"]
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedAD(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["sam_account_name_scheme"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["uid"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedAccount_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedAzureOIDCDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["directory_uuid"] = types.StringType
+ objectAttrs["tenant"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedAzureSyncLDAPDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["client_secret"] = types.StringType
+ objectAttrs["directory_uuid"] = types.StringType
+ objectAttrs["tenant"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedAzureTenant(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["client_id"] = types.StringType
+ objectAttrs["client_secret"] = types.StringType
+ objectAttrs["idp_domain"] = types.StringType
+ objectAttrs["tenant"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedInternalLDAP(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["client_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedLDAP(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["gid"] = types.Int64Type
+ objectAttrs["hashing_scheme"] = types.StringType
+ objectAttrs["numbering"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionNumberSequence(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedLDAPDirectory(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["directory_uuid"] = types.StringType
+ objectAttrs["group_dn"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedSystem(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["account"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedAccount(false)}
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["issued_permissions"] = objectAttrsTypeRSClientOAuth2ClientPermissionWithClientLinkableWrapper(false)["items"]
+ objectAttrs["login_name"] = types.StringType
+ objectAttrs["management_permissions"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisioningManagementPermissions(false)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeRSMarkItemMarkers(false)}
+ objectAttrs["statistics"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningCircuitBreakerStatistics(false)}
+ objectAttrs["supported_group_types"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningGroupOnSystemTypes(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["organizational_unit_uuid"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["account_count"] = types.Int64Type
+ objectAttrs["content_administrator_uuid"] = types.StringType
+ objectAttrs["external_uuid"] = types.StringType
+ objectAttrs["owner_uuid"] = types.StringType
+ objectAttrs["self_service_existing_groups"] = types.BoolType
+ objectAttrs["self_service_new_groups"] = types.BoolType
+ objectAttrs["self_service_service_accounts"] = types.BoolType
+ objectAttrs["should_destroy_unknown_accounts"] = types.BoolType
+ objectAttrs["technical_administrator_uuid"] = types.StringType
+ objectAttrs["username_prefix"] = types.StringType
+ objectAttrs["abstract_provisioned_ldap"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningAbstractProvisionedLDAP(false)}
+ objectAttrs["provisioned_a_d"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedAD(false)}
+ objectAttrs["provisioned_azure_oidc_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedAzureOIDCDirectory(false)}
+ objectAttrs["provisioned_azure_sync_ldap_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedAzureSyncLDAPDirectory(false)}
+ objectAttrs["provisioned_azure_tenant"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedAzureTenant(false)}
+ objectAttrs["provisioned_internal_ldap"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedInternalLDAP(false)}
+ objectAttrs["provisioned_ldap"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedLDAP(false)}
+ objectAttrs["provisioned_ldap_directory"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedLDAPDirectory(false)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedSystemLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedSystem(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedSystemPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["organizational_unit_uuid"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedSystemPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisionedSystem_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["account"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisionedAccount(recurse)}
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["issued_permissions"] = objectAttrsTypeRSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"]
+ objectAttrs["login_name"] = types.StringType
+ objectAttrs["management_permissions"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningProvisioningManagementPermissions(recurse)}
+ objectAttrs["markers"] = types.ObjectType{AttrTypes: objectAttrsTypeRSMarkItemMarkers(recurse)}
+ objectAttrs["statistics"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningCircuitBreakerStatistics(recurse)}
+ objectAttrs["supported_group_types"] = types.ObjectType{AttrTypes: objectAttrsTypeRSProvisioningGroupOnSystemTypes(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSProvisioningProvisioningManagementPermissions(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["create_new_groups_allowed"] = types.BoolType
+ objectAttrs["create_service_accounts_allowed"] = types.BoolType
+ objectAttrs["reuse_existing_groups_allowed"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccount(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["groups"] = objectAttrsTypeRSServiceaccountServiceAccountGroupLinkableWrapper(false)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGeneratedSecret(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["system_uuid"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["description"] = types.StringType
+ objectAttrs["password_uuid"] = types.StringType
+ objectAttrs["password_rotation"] = types.StringType
+ objectAttrs["technical_administrator_uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccountGroup(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["display_name"] = types.StringType
+ objectAttrs["name_in_system"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ objectAttrs["short_name_in_system"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccountGroupLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSServiceaccountServiceAccountGroup(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccountGroup_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccountLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSServiceaccountServiceAccount(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccountPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["system_uuid"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccountPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSServiceaccountServiceAccountPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSServiceaccountServiceAccount_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["groups"] = objectAttrsTypeRSServiceaccountServiceAccountGroupLinkableWrapper(recurse)["items"]
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSGeneratedSecret(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultPasswordMetadata(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["dictionary"] = types.BoolType
+ objectAttrs["duplicate"] = types.BoolType
+ objectAttrs["hash"] = types.StringType
+ objectAttrs["length"] = types.Int64Type
+ objectAttrs["lower_count"] = types.Int64Type
+ objectAttrs["number_count"] = types.Int64Type
+ objectAttrs["special_count"] = types.Int64Type
+ objectAttrs["strength"] = types.Int64Type
+ objectAttrs["upper_count"] = types.Int64Type
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVault(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["access_available"] = types.BoolType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["records"] = types.ListType{ElemType: types.StringType}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultHolder(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultRecord(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ objectAttrs["delete_tile"] = types.BoolType
+ objectAttrs["parent_uuid"] = types.StringType
+ objectAttrs["password_metadata"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultPasswordMetadata(false)}
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordSecrets(false)}
+ objectAttrs["share_summary"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordShareSummary(false)}
+ objectAttrs["shares"] = objectAttrsTypeRSVaultVaultRecordPrimerLinkableWrapper(false)["items"]
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeRSLaunchpadVaultRecordLaunchpadTile(false)}
+ objectAttrs["vaultholder"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultHolder(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["color"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["share_end_time"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["derived"] = types.BoolType
+ objectAttrs["end_date"] = types.StringType
+ objectAttrs["filename"] = types.StringType
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["url"] = types.StringType
+ objectAttrs["username"] = types.StringType
+ objectAttrs["warning_period"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultRecordPrimer(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["color"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["share_end_time"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultRecordPrimerLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordPrimer(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultRecordSecrets(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["comment"] = types.StringType
+ objectAttrs["file"] = types.StringType
+ objectAttrs["password"] = types.StringType
+ objectAttrs["totp"] = types.StringType
+ objectAttrs["write_totp"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultRecordShare(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["name"] = types.StringType
+ objectAttrs["type"] = types.StringType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultRecordShareSummary(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["children"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordShare(recurse)}}
+ objectAttrs["parent"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordShare(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSVaultVaultRecord_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ objectAttrs["delete_tile"] = types.BoolType
+ objectAttrs["parent_uuid"] = types.StringType
+ objectAttrs["password_metadata"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultPasswordMetadata(recurse)}
+ objectAttrs["secret"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordSecrets(recurse)}
+ objectAttrs["share_summary"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultRecordShareSummary(recurse)}
+ objectAttrs["shares"] = objectAttrsTypeRSVaultVaultRecordPrimerLinkableWrapper(recurse)["items"]
+ objectAttrs["tile"] = types.ObjectType{AttrTypes: objectAttrsTypeRSLaunchpadVaultRecordLaunchpadTile(recurse)}
+ objectAttrs["vaultholder"] = types.ObjectType{AttrTypes: objectAttrsTypeRSVaultVaultHolder(recurse)}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSWebhookWebhook(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ if recurse {
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(false)}
+ }
+ objectAttrs["links"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSRestLink(recurse)}}
+ objectAttrs["permissions"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSAuthPermission(recurse)}}
+ objectAttrs["account_uuid"] = types.StringType
+ objectAttrs["active"] = types.BoolType
+ objectAttrs["all_types"] = types.BoolType
+ objectAttrs["authentication_scheme"] = types.StringType
+ objectAttrs["basic_auth_password"] = types.StringType
+ objectAttrs["basic_auth_username"] = types.StringType
+ objectAttrs["bearer_token"] = types.StringType
+ objectAttrs["client_uuid"] = types.StringType
+ objectAttrs["client_certificate_uuid"] = types.StringType
+ objectAttrs["custom_header_name"] = types.StringType
+ objectAttrs["custom_header_value"] = types.StringType
+ objectAttrs["directory_uuid"] = types.StringType
+ objectAttrs["group_uuid"] = types.StringType
+ objectAttrs["name"] = types.StringType
+ objectAttrs["system_uuid"] = types.StringType
+ objectAttrs["tls"] = types.StringType
+ objectAttrs["trusted_certificate_uuid"] = types.StringType
+ objectAttrs["types"] = types.ListType{ElemType: types.StringType}
+ objectAttrs["url"] = types.StringType
+ objectAttrs["uuid"] = types.StringType
+ objectAttrs["verbose_payloads"] = types.BoolType
+ return objectAttrs
+}
+
+func objectAttrsTypeRSWebhookWebhookLinkableWrapper(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["items"] = types.ListType{ElemType: types.ObjectType{AttrTypes: objectAttrsTypeRSWebhookWebhook(recurse)}}
+ return objectAttrs
+}
+
+func objectAttrsTypeRSWebhookWebhook_additionalObjects(recurse bool) map[string]attr.Type {
+ objectAttrs := make(map[string]attr.Type)
+ objectAttrs["audit"] = types.ObjectType{AttrTypes: objectAttrsTypeRSAuditInfo(recurse)}
+ return objectAttrs
+}
diff --git a/internal/provider/full-schema-ds.go b/internal/provider/full-schema-ds.go
new file mode 100644
index 0000000..3677be2
--- /dev/null
+++ b/internal/provider/full-schema-ds.go
@@ -0,0 +1,3767 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "golang.org/x/exp/maps"
+ "regexp"
+
+ "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator"
+ "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
+ dsschema "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/schema/validator"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+)
+
+func dataSourceSchemaAttrsAuditInfo(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["created_at"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["created_by"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_modified_at"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_modified_by"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGeneratedSecret(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["generated_secret"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["old_secret"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["regenerate"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsLinkable(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsNonLinkable(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsRestLink(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["href"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["id"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["rel"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type_escaped"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthAccount(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsAuthAccount_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_active"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["validity"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "activeLogin", "audit", "groups", "pendingRecoveryRequests", "settings", "storedAttributes", "vault",
+ )),
+ },
+ }
+ schemaAttrs["account_permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(false),
+ },
+ Computed: true,
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["can_request_groups"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["directory"] = attr
+ }
+ schemaAttrs["directory_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["directory_password_change_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["directory_rotating_password"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["directory_type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["email"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["id_in_directory"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["key_hub_password_change_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_modified_at"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["license_role"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["locale"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["reregistration_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["token_password_enabled"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["two_factor_status"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["valid_in_directory"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthAccountPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_active"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["validity"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthAccountRecoveryStatus(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["pending2fa_recovery_request"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["pending_password_recovery_request"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthAccountSettings(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnitPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["default_organizational_unit"] = attr
+ }
+ schemaAttrs["directory_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["directory_type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["in_groups"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["in_multiple_organizational_units"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["key_hub_admin"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["multiple_organizational_units_exist"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["password_mode"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["ssh_public_key"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["two_factor_authentication"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["use_token_password"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["vault_status"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthAccount_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["active_login"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupAccountGroupLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["groups"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuthAccountRecoveryStatus(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["pending_recovery_requests"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuthAccountSettings(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["settings"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuthStoredAccountAttributes(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["stored_attributes"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVault(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["vault"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthPermission(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["full"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["instances"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["operations"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["type_escaped"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthStoredAccountAttribute(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["value"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsAuthStoredAccountAttributes(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["attributes"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthStoredAccountAttribute(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsCertificateCertificate(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsCertificateCertificate_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["alias"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["certificate_data"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["expiration"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fingerprint_sha1"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fingerprint_sha256"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["global"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["subject_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ schemaAttrs["key_data"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsCertificateCertificatePrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["alias"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["certificate_data"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["expiration"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fingerprint_sha1"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fingerprint_sha256"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["global"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["subject_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsCertificateCertificate_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientClientApplication(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsClientClientApplication_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["client_id"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["scopes"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["sso_application"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "groupclients", "groups", "secret", "tile", "vaultRecordCount",
+ )),
+ },
+ }
+ schemaAttrs["last_modified_at"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["owner"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["technical_administrator"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsClientLdapClient(false),
+ }
+ attr.Computed = true
+ schemaAttrs["ldap_client"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsClientOAuth2Client(false),
+ }
+ attr.Computed = true
+ schemaAttrs["o_auth2_client"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsClientSaml2Client(false),
+ }
+ attr.Computed = true
+ schemaAttrs["saml2_client"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientClientApplicationLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsClientClientApplication(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientClientApplicationPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["client_id"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["scopes"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["sso_application"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientClientApplication_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupGroupClientLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["groupclients"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupGroupLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["groups"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGeneratedSecret(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["secret"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsLaunchpadSsoApplicationLaunchpadTile(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["tile"] = attr
+ }
+ schemaAttrs["vault_record_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientLdapClient(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["bind_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["client_certificate"] = attr
+ }
+ schemaAttrs["share_secret_in_vault"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["shared_secret"] = attr
+ }
+ schemaAttrs["used_for_provisioning"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientOAuth2Client(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["account_permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["attributes"] = dsschema.MapAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["callback_uri"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["confidential"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["debug_mode"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["id_token_claims"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["initiate_login_uri"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["resource_uris"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["share_secret_in_vault"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["shared_secret"] = attr
+ }
+ schemaAttrs["show_landing_page"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["use_client_credentials"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientOAuth2ClientPermission(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsClientOAuth2ClientPermission_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["for_group"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystemPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["for_system"] = attr
+ }
+ schemaAttrs["value"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientOAuth2ClientPermissionWithClient(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsClientOAuth2ClientPermission_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["for_group"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystemPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["for_system"] = attr
+ }
+ schemaAttrs["value"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsClientOAuth2Client(false),
+ }
+ attr.Computed = true
+ schemaAttrs["client"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsClientOAuth2ClientPermissionWithClient(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientOAuth2ClientPermission_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsClientSaml2Client(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["attributes"] = dsschema.MapAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["metadata"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["metadata_url"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["subject_format"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryAccountDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsDirectoryAccountDirectory_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["account_validity_supported"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "markers", "status",
+ )),
+ },
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnitPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["base_organizational_unit"] = attr
+ }
+ schemaAttrs["default_directory"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["helpdesk_group"] = attr
+ }
+ schemaAttrs["restrict2fa"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["rotating_password"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username_customizable"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryInternalDirectory(false),
+ }
+ attr.Computed = true
+ schemaAttrs["internal_directory"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryLDAPDirectory(false),
+ }
+ attr.Computed = true
+ schemaAttrs["l_d_a_p_directory"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryMaintenanceDirectory(false),
+ }
+ attr.Computed = true
+ schemaAttrs["maintenance_directory"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryOIDCDirectory(false),
+ }
+ attr.Computed = true
+ schemaAttrs["o_id_c_directory"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryAccountDirectoryLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectory(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryAccountDirectoryPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["account_validity_supported"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryAccountDirectoryStatusReport(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["accounts"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["reason"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["status"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryAccountDirectorySummary(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["domain_restriction"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fully_resolved_issuer"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryStatusReport(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["status"] = attr
+ }
+ schemaAttrs["username_customizable"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryAccountDirectorySummaryLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectorySummary(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryAccountDirectory_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsMarkItemMarkers(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["markers"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryStatusReport(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["status"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryInternalDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["owner"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryLDAPDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["attributes_to_store"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["base_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["client_certificate"] = attr
+ }
+ schemaAttrs["dialect"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["failover_host"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["failover_trusted_certificate"] = attr
+ }
+ schemaAttrs["host"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["password_recovery"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["port"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["search_bind_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["search_bind_password"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["search_filter"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["tls"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["trusted_certificate"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryMaintenanceDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsDirectoryOIDCDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["acr_values"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["attributes_to_store"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["client_id"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["client_secret"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["domain_restriction"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["enforces2fa"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fully_resolved_issuer"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["issuer"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["logout_url"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["send_login_hint"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["vendor_escaped"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupAccountGroup(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupAccountGroup_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["admin"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "vault",
+ )),
+ },
+ }
+ schemaAttrs["end_date"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupFolder(false),
+ }
+ attr.Computed = true
+ schemaAttrs["folder"] = attr
+ }
+ schemaAttrs["last_used"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["provisioning_end_time"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["rights"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["visible_for_provisioning"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupAccountGroupLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupAccountGroup(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupAccountGroup_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVault(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["vault"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupAuthorizedGroupsWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupGroup(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["group_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroup(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupGroup_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["admin"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "accounts", "administeredClients", "administeredSystems", "admins", "audit", "authorizedGroups", "clientPermissions", "clients", "contentAdministeredSystems", "groupauditinginfo", "groupinfo", "helpdesk", "markers", "myaccount", "mydelegatedaccount", "nestedGroups", "ownedClients", "ownedDirectories", "ownedGroupsOnSystem", "ownedOrganizationalUnits", "ownedSystems", "recentAudits", "requeststatus", "serviceAccounts", "systems", "vault", "webhooks",
+ )),
+ },
+ }
+ schemaAttrs["application_administration"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupAuditConfig(false),
+ }
+ attr.Computed = true
+ schemaAttrs["audit_config"] = attr
+ }
+ schemaAttrs["audit_requested"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["auditor"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["authorizing_group_auditing"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["authorizing_group_delegation"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["authorizing_group_membership"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["authorizing_group_provisioning"] = attr
+ }
+ schemaAttrs["authorizing_group_types"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupClassificationPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["classification"] = attr
+ }
+ schemaAttrs["description"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["extended_access"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["hide_audit_trail"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["nested_under"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnitPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["organizational_unit"] = attr
+ }
+ schemaAttrs["private_group"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["record_trail"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["rotating_password_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["single_managed"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["vault_recovery"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["vault_requires_activation"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAccount(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupGroupAccount_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_active"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["validity"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["directory"] = attr
+ }
+ schemaAttrs["disconnected_nested"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["end_date"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_used"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["nested"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["provisioning_end_time"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["rights"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["two_factor_status"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["visible_for_provisioning"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAccountLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupGroupAccount(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAccount_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAudit(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupGroupAudit_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ schemaAttrs["accounts"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupGroupAuditAccount(false),
+ },
+ Computed: true,
+ }
+ schemaAttrs["comment"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["created_at"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["created_by"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["group_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name_on_audit"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["reviewed_at"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["reviewed_by"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["status"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["submitted_at"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["submitted_by"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAuditAccount(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["account_uuid"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["account_valid"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["action"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["comment"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["disconnected_nested"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["end_date"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_active"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_used"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["nested"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["rights"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAuditConfig(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["months"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAuditLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupGroupAudit(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAudit_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupAuditingInfo(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["audit_due_date"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_audit_date"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_accounts"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_disabled_accounts"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_disabled_managers"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_expired_vault_records"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_managers"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_vault_records_with_end_date"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupClassification(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupGroupClassification_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "info",
+ )),
+ },
+ }
+ schemaAttrs["authorizing_group_auditing_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["authorizing_group_delegation_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["authorizing_group_membership_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["authorizing_group_provisioning_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["default_classification"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["description"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["maximum_audit_interval"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["minimum_nr_managers"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["record_trail_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["required_months"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["rotating_password_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["vault_requires_activation"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupClassificationInfo(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["nr_groups"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupClassificationPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupClassification_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupClassificationInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["info"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupClient(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupGroupClient_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ schemaAttrs["activation_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsClientClientApplicationPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["client"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["group"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["owner"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["technical_administrator"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupClientLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupGroupClient(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupClient_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupFolder(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupGroupFolder_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupFolder_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupInfo(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["nr_accounts"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_accounts_with_vault"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_audits"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_clients"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_provisioned_systems"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["nr_vault_records"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupGroup(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["admin"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroupPrimerLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupGroup_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dataSourceSchemaAttrsGroupGroupAccountLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["accounts"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsClientClientApplicationLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["administered_clients"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["administered_systems"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupGroupAccountLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ attr.DeprecationMessage = "This property will be removed in a future version."
+ schemaAttrs["admins"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupAuthorizedGroupsWrapper(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["authorized_groups"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["client_permissions"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupGroupClientLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["clients"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["content_administered_systems"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupAuditingInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["groupauditinginfo"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["groupinfo"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsDirectoryAccountDirectorySummaryLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["helpdesk"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsMarkItemMarkers(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["markers"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupAccount(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["myaccount"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupAccount(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["mydelegatedaccount"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupGroupPrimerLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["nested_groups"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsClientClientApplicationLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["owned_clients"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsDirectoryAccountDirectoryLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["owned_directories"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningOwnedGroupOnSystemsWrapper(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["owned_groups_on_system"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsOrganizationOrganizationalUnitLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["owned_organizational_units"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["owned_systems"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupGroupAuditLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["recent_audits"] = attr
+ }
+ schemaAttrs["requeststatus"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dataSourceSchemaAttrsServiceaccountServiceAccountLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["service_accounts"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupProvisioningGroupLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["systems"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVault(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["vault"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsWebhookWebhookLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["webhooks"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupProvisioningGroup(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsGroupProvisioningGroup_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ schemaAttrs["activation_required"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["group"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningGroupOnSystem(false),
+ }
+ attr.Computed = true
+ schemaAttrs["group_on_system"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupProvisioningGroupLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsGroupProvisioningGroup(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsGroupProvisioningGroup_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsLaunchpadSsoApplicationLaunchpadTile(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["uri"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsLaunchpadVaultRecordLaunchpadTile(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsMarkItemMarker(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["level"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["parameters"] = dsschema.MapAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsMarkItemMarkers(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["markers"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsMarkItemMarker(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsOrganizationOrganizationalUnit(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsOrganizationOrganizationalUnit_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ schemaAttrs["depth"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["description"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["owner"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnitPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["parent"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsOrganizationOrganizationalUnitLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnit(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsOrganizationOrganizationalUnitPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsOrganizationOrganizationalUnit_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningAbstractProvisionedLDAP(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["attributes"] = dsschema.MapAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["base_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["bind_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["bind_password"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["client_certificate"] = attr
+ }
+ schemaAttrs["failover_host"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["failover_trusted_certificate"] = attr
+ }
+ schemaAttrs["group_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["host"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["object_classes"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["port"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["service_account_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["ssh_public_key_supported"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["tls"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["trusted_certificate"] = attr
+ }
+ schemaAttrs["user_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningCircuitBreakerStatistics(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["number_of_failed_calls"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["number_of_not_permitted_calls"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["number_of_successful_calls"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["state"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningGroupOnSystem(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsProvisioningGroupOnSystem_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name_in_system"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["short_name_in_system"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "provgroups", "serviceAccounts",
+ )),
+ },
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["owner"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningGroupOnSystemLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsProvisioningGroupOnSystem(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningGroupOnSystemPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name_in_system"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["short_name_in_system"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningGroupOnSystemTypes(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["types"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningGroupOnSystem_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsGroupProvisioningGroupLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["provgroups"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsServiceaccountServiceAccountPrimerLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["service_accounts"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningOwnedGroupOnSystemsWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsProvisioningGroupOnSystem(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["unlinked_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionNumberSequence(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsProvisioningProvisionNumberSequence_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "systems",
+ )),
+ },
+ }
+ schemaAttrs["account_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["next_uid"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionNumberSequence_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsProvisioningProvisionedSystemPrimerLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["systems"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedAD(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["sam_account_name_scheme"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedAccount(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsProvisioningProvisionedAccount_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_active"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["validity"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ schemaAttrs["uid"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedAccount_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedAzureOIDCDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["directory"] = attr
+ }
+ schemaAttrs["tenant"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedAzureSyncLDAPDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["client_id"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["client_secret"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["directory"] = attr
+ }
+ schemaAttrs["tenant"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedAzureTenant(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["client_id"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["client_secret"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["idp_domain"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["tenant"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedInternalLDAP(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsClientLdapClient(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["client"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedLDAP(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["gid"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["hashing_scheme"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionNumberSequence(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["numbering"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedLDAPDirectory(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["directory"] = attr
+ }
+ schemaAttrs["group_dn"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedSystem(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsProvisioningProvisionedSystem_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnitPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["organizational_unit"] = attr
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "account", "audit", "issuedPermissions", "loginName", "managementPermissions", "markers", "statistics", "supportedGroupTypes",
+ )),
+ },
+ }
+ schemaAttrs["account_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["content_administrator"] = attr
+ }
+ schemaAttrs["external_uuid"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["owner"] = attr
+ }
+ schemaAttrs["self_service_existing_groups"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["self_service_new_groups"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["self_service_service_accounts"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["should_destroy_unknown_accounts"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["technical_administrator"] = attr
+ }
+ schemaAttrs["username_prefix"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningAbstractProvisionedLDAP(false),
+ }
+ attr.Computed = true
+ schemaAttrs["abstract_provisioned_ldap"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedAD(false),
+ }
+ attr.Computed = true
+ schemaAttrs["provisioned_a_d"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedAzureOIDCDirectory(false),
+ }
+ attr.Computed = true
+ schemaAttrs["provisioned_azure_oidc_directory"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedAzureSyncLDAPDirectory(false),
+ }
+ attr.Computed = true
+ schemaAttrs["provisioned_azure_sync_ldap_directory"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedAzureTenant(false),
+ }
+ attr.Computed = true
+ schemaAttrs["provisioned_azure_tenant"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedInternalLDAP(false),
+ }
+ attr.Computed = true
+ schemaAttrs["provisioned_internal_ldap"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedLDAP(false),
+ }
+ attr.Computed = true
+ schemaAttrs["provisioned_ldap"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedLDAPDirectory(false),
+ }
+ attr.Computed = true
+ schemaAttrs["provisioned_ldap_directory"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystem(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedSystemPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsOrganizationOrganizationalUnitPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["organizational_unit"] = attr
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedSystemPrimerLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystemPrimer(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisionedSystem_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedAccount(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["account"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["issued_permissions"] = attr
+ }
+ schemaAttrs["login_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisioningManagementPermissions(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["management_permissions"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsMarkItemMarkers(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["markers"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningCircuitBreakerStatistics(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["statistics"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningGroupOnSystemTypes(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["supported_group_types"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsProvisioningProvisioningManagementPermissions(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["create_new_groups_allowed"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["create_service_accounts_allowed"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["reuse_existing_groups_allowed"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccount(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsServiceaccountServiceAccount_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystemPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["system"] = attr
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "groups", "secret",
+ )),
+ },
+ }
+ schemaAttrs["description"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["password"] = attr
+ }
+ schemaAttrs["password_rotation"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["technical_administrator"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccountGroup(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsServiceaccountServiceAccountGroup_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name_in_system"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["short_name_in_system"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccountGroupLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsServiceaccountServiceAccountGroup(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccountGroup_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccountLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsServiceaccountServiceAccount(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccountPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystemPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["system"] = attr
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccountPrimerLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsServiceaccountServiceAccountPrimer(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsServiceaccountServiceAccount_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsServiceaccountServiceAccountGroupLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["groups"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGeneratedSecret(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["secret"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultPasswordMetadata(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["dictionary"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["duplicate"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["hash"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["length"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["lower_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["number_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["special_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["strength"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["upper_count"] = dsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVault(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["access_available"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["records"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecord(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultHolder(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultRecord(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsVaultVaultRecord_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["color"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["share_end_time"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit", "parent", "passwordMetadata", "secret", "shareSummary", "shares", "tile", "vaultholder",
+ )),
+ },
+ }
+ schemaAttrs["derived"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["end_date"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["filename"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["types"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["url"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["warning_period"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultRecordPrimer(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["color"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["share_end_time"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultRecordPrimerLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordPrimer(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultRecordSecrets(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["comment"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["file"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["password"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["totp"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultRecordShare(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["type"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultRecordShareSummary(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["children"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordShare(recurse),
+ },
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordShare(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["parent"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsVaultVaultRecord_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordPrimer(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["parent"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultPasswordMetadata(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["password_metadata"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordSecrets(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["secret"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultRecordShareSummary(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["share_summary"] = attr
+ }
+ {
+ attr := dataSourceSchemaAttrsVaultVaultRecordPrimerLinkableWrapper(recurse)["items"].(dsschema.ListNestedAttribute)
+ attr.Computed = true
+ schemaAttrs["shares"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsLaunchpadVaultRecordLaunchpadTile(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["tile"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsVaultVaultHolder(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["vaultholder"] = attr
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsWebhookWebhook(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, dataSourceSchemaAttrsWebhookWebhook_additionalObjects(false))
+ }
+ schemaAttrs["links"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["permissions"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["additional"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(stringvalidator.OneOf(
+ "audit",
+ )),
+ },
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuthAccountPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["account"] = attr
+ }
+ schemaAttrs["active"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["all_types"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["authentication_scheme"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["basic_auth_password"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["basic_auth_username"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["bearer_token"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsClientClientApplicationPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["client"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["client_certificate"] = attr
+ }
+ schemaAttrs["custom_header_name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["custom_header_value"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsDirectoryAccountDirectoryPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["directory"] = attr
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsGroupGroupPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["group"] = attr
+ }
+ schemaAttrs["name"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsProvisioningProvisionedSystemPrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["system"] = attr
+ }
+ schemaAttrs["tls"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsCertificateCertificatePrimer(false),
+ }
+ attr.Computed = true
+ schemaAttrs["trusted_certificate"] = attr
+ }
+ schemaAttrs["types"] = dsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["url"] = dsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = dsschema.StringAttribute{
+ Required: recurse,
+ Computed: !recurse,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 36),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["verbose_payloads"] = dsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsWebhookWebhookLinkableWrapper(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ schemaAttrs["items"] = dsschema.ListNestedAttribute{
+ NestedObject: dsschema.NestedAttributeObject{
+ Attributes: dataSourceSchemaAttrsWebhookWebhook(recurse),
+ },
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func dataSourceSchemaAttrsWebhookWebhook_additionalObjects(recurse bool) map[string]dsschema.Attribute {
+ schemaAttrs := make(map[string]dsschema.Attribute)
+ {
+ attr := dsschema.SingleNestedAttribute{
+ Attributes: dataSourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
diff --git a/internal/provider/full-schema-rs.go b/internal/provider/full-schema-rs.go
new file mode 100644
index 0000000..459d803
--- /dev/null
+++ b/internal/provider/full-schema-rs.go
@@ -0,0 +1,3732 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "golang.org/x/exp/maps"
+ "regexp"
+
+ "github.com/hashicorp/terraform-plugin-framework-validators/int64validator"
+ "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator"
+ "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
+ rsschema "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64default"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/schema/validator"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+)
+
+func resourceSchemaAttrsAuditInfo(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["created_at"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["created_by"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["last_modified_at"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["last_modified_by"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGeneratedSecret(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["generated_secret"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["old_secret"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["regenerate"] = rsschema.BoolAttribute{
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsLinkable(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsNonLinkable(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ return schemaAttrs
+}
+func resourceSchemaAttrsRestLink(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["href"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["id"] = rsschema.Int64Attribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{int64planmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["rel"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["type_escaped"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsAuthAccountPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["display_name"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_active"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["validity"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsAuthPermission(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["full"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["instances"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ schemaAttrs["operations"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(
+ stringvalidator.OneOf(
+ "CREATE", "READ", "UPDATE", "DELETE",
+ ),
+ ),
+ },
+ }
+ schemaAttrs["type_escaped"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsCertificateCertificatePrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["alias"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 128),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["certificate_data"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ schemaAttrs["expiration"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fingerprint_sha1"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["fingerprint_sha256"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["global"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["subject_dn"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientApplicationVaultVaultRecord(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsVaultVaultRecord_additionalObjects(false))
+ }
+ schemaAttrs["client_application_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["color"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("NONE"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NONE", "GREEN", "RED", "BLUE", "DARK", "PINK_LAVENDER", "CRIMSON_RED", "MIDDLE_YELLOW", "ANDROID_GREEN", "SAGE", "ARTICHOKE",
+ ),
+ },
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["share_end_time"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["derived"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["end_date"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["filename"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["types"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["url"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["username"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["warning_period"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "AT_EXPIRATION", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS", "THREE_MONTHS", "SIX_MONTHS", "NEVER",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientClientApplication(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsClientClientApplication_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["client_id"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["scopes"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ schemaAttrs["sso_application"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["last_modified_at"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["owner_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["technical_administrator_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsClientLdapClient(false),
+ }
+ attr.Optional = true
+ schemaAttrs["ldap_client"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsClientOAuth2Client(false),
+ }
+ attr.Optional = true
+ schemaAttrs["o_auth2_client"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsClientSaml2Client(false),
+ }
+ attr.Optional = true
+ schemaAttrs["saml2_client"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientClientApplicationLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsClientClientApplication(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientClientApplicationPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["client_id"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["scopes"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ schemaAttrs["sso_application"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientClientApplication_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ schemaAttrs["delete_tile"] = rsschema.BoolAttribute{
+ Optional: true,
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupGroupClientLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Optional = true
+ schemaAttrs["groupclients"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupGroupLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["groups"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGeneratedSecret(recurse),
+ }
+ attr.Optional = true
+ schemaAttrs["secret"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsLaunchpadSsoApplicationLaunchpadTile(recurse),
+ }
+ attr.Optional = true
+ schemaAttrs["tile"] = attr
+ }
+ schemaAttrs["vault_record_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientLdapClient(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["bind_dn"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["client_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["share_secret_in_vault"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["shared_secret_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["used_for_provisioning"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientOAuth2Client(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["account_permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ }
+ schemaAttrs["attributes"] = rsschema.MapAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ schemaAttrs["callback_uri"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["confidential"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["debug_mode"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["id_token_claims"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["initiate_login_uri"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["resource_uris"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["share_secret_in_vault"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["shared_secret_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["show_landing_page"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["use_client_credentials"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientOAuth2ClientPermission(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsClientOAuth2ClientPermission_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["for_group_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["for_system_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["value"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "ACCOUNTS_QUERY", "ACCOUNTS_REMOVE", "CLIENTS_CREATE", "CLIENTS_QUERY", "GROUPONSYSTEM_CREATE", "GROUPS_CREATE", "GROUPS_GRANT_PERMISSIONS_AFTER_CREATE", "GROUPS_QUERY", "GROUPS_SET_CLASSIFICATION", "GROUP_FULL_VAULT_ACCESS", "GROUP_LAUNCHPADTILES", "GROUP_READ_CONTENTS", "GROUP_SET_AUTHORIZATION", "PROVISIONEDSYSTEMS_QUERY", "SERVICE_ACCOUNTS_CREATE", "SERVICE_ACCOUNTS_QUERY", "SERVICE_ACCOUNTS_UPDATE",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientOAuth2ClientPermissionWithClient(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsClientOAuth2ClientPermission_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["for_group_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["for_system_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["value"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "ACCOUNTS_QUERY", "ACCOUNTS_REMOVE", "CLIENTS_CREATE", "CLIENTS_QUERY", "GROUPONSYSTEM_CREATE", "GROUPS_CREATE", "GROUPS_GRANT_PERMISSIONS_AFTER_CREATE", "GROUPS_QUERY", "GROUPS_SET_CLASSIFICATION", "GROUP_FULL_VAULT_ACCESS", "GROUP_LAUNCHPADTILES", "GROUP_READ_CONTENTS", "GROUP_SET_AUTHORIZATION", "PROVISIONEDSYSTEMS_QUERY", "SERVICE_ACCOUNTS_CREATE", "SERVICE_ACCOUNTS_QUERY", "SERVICE_ACCOUNTS_UPDATE",
+ ),
+ },
+ }
+ schemaAttrs["client_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsClientOAuth2ClientPermissionWithClient(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientOAuth2ClientPermission_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsClientSaml2Client(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["attributes"] = rsschema.MapAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ schemaAttrs["metadata"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["metadata_url"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["subject_format"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "ID", "UPN", "USERNAME", "EMAIL",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryAccountDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsDirectoryAccountDirectory_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["account_validity_supported"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["active"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["base_organizational_unit_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["default_directory"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["helpdesk_group_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["restrict2fa"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["rotating_password"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "DEFAULT_OFF", "DEFAULT_ON", "ALWAYS_ON",
+ ),
+ },
+ }
+ schemaAttrs["username_customizable"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsDirectoryInternalDirectory(false),
+ }
+ attr.Optional = true
+ schemaAttrs["internal_directory"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsDirectoryLDAPDirectory(false),
+ }
+ attr.Optional = true
+ schemaAttrs["l_d_a_p_directory"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsDirectoryMaintenanceDirectory(false),
+ }
+ attr.Optional = true
+ schemaAttrs["maintenance_directory"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsDirectoryOIDCDirectory(false),
+ }
+ attr.Optional = true
+ schemaAttrs["o_id_c_directory"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryAccountDirectoryLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsDirectoryAccountDirectory(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryAccountDirectoryPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["account_validity_supported"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["active"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryAccountDirectoryStatusReport(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["accounts"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["reason"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["status"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "INIT_REQUIRED", "ONLINE", "DEGRADED", "NON_REDUNDANT", "OFFLINE", "DISABLED",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryAccountDirectorySummary(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "MAINTENANCE", "LDAP", "INTERNAL", "OIDC",
+ ),
+ },
+ }
+ schemaAttrs["domain_restriction"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["fully_resolved_issuer"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsDirectoryAccountDirectoryStatusReport(recurse),
+ }
+ attr.Optional = true
+ schemaAttrs["status"] = attr
+ }
+ schemaAttrs["username_customizable"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryAccountDirectorySummaryLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsDirectoryAccountDirectorySummary(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryAccountDirectory_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsMarkItemMarkers(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["markers"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsDirectoryAccountDirectoryStatusReport(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["status"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryInternalDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["owner_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryLDAPDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["attributes_to_store"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["base_dn"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["client_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["dialect"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("ACTIVE_DIRECTORY"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "ACTIVE_DIRECTORY", "OPENLDAP",
+ ),
+ },
+ }
+ schemaAttrs["failover_host"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["failover_trusted_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["host"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["password_recovery"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "DISABLED", "VERIFY_2FA", "VERIFY_MAIL", "VERIFY_MAIL_AND_2FA",
+ ),
+ },
+ }
+ schemaAttrs["port"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["search_bind_dn"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["search_bind_password"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 128),
+ },
+ }
+ schemaAttrs["search_filter"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["tls"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "VERIFIED_PINNED", "VERIFIED", "SECURE_PINNED", "SECURE", "ENCRYPTED", "UNSECURE",
+ ),
+ },
+ }
+ schemaAttrs["trusted_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryMaintenanceDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ return schemaAttrs
+}
+func resourceSchemaAttrsDirectoryOIDCDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["acr_values"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["attributes_to_store"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["client_id"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["client_secret"] = rsschema.StringAttribute{
+ Required: true,
+ }
+ schemaAttrs["domain_restriction"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["enforces2fa"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["fully_resolved_issuer"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["issuer"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["logout_url"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["send_login_hint"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["vendor_escaped"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "GENERIC", "GOOGLE", "AZURE_AD",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupAuthorizedGroupsWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupGroup(recurse),
+ },
+ Optional: true,
+ }
+ schemaAttrs["group_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroup(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsGroupGroup_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["admin"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["application_administration"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGroupGroupAuditConfig(false),
+ }
+ attr.Optional = true
+ attr.Computed = true
+ schemaAttrs["audit_config"] = attr
+ }
+ schemaAttrs["audit_requested"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["auditor"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["authorizing_group_auditing_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["authorizing_group_delegation_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["authorizing_group_membership_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["authorizing_group_provisioning_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["authorizing_group_types"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["classification_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["description"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["extended_access"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("NOT_ALLOWED"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NOT_ALLOWED", "ONE_WEEK", "TWO_WEEKS", "TWO_WEEKS_NO_CONFIRM",
+ ),
+ },
+ }
+ schemaAttrs["hide_audit_trail"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["nested_under_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["organizational_unit_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["private_group"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["record_trail"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["rotating_password_required"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["single_managed"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["vault_recovery"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("FULL"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NONE", "RECOVERY_KEY_ONLY", "FULL",
+ ),
+ },
+ }
+ schemaAttrs["vault_requires_activation"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAccount(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsGroupGroupAccount_additionalObjects(false))
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["directory_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["disconnected_nested"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["end_date"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["last_used"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["nested"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["provisioning_end_time"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["rights"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "MANAGER", "NORMAL",
+ ),
+ },
+ }
+ schemaAttrs["two_factor_status"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["visible_for_provisioning"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAccountLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupGroupAccount(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAccount_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAudit(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsGroupGroupAudit_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["accounts"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupGroupAuditAccount(false),
+ },
+ Optional: true,
+ }
+ schemaAttrs["comment"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["created_at"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["created_by"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["group_name"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["name_on_audit"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["reviewed_at"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["reviewed_by"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["status"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NEW", "DRAFT", "UNDER_REVIEW", "FINAL",
+ ),
+ },
+ }
+ schemaAttrs["submitted_at"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["submitted_by"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAuditAccount(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["account_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["account_valid"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["action"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "APPROVE", "CHANGE_TO_MANAGER", "CHANGE_TO_NORMAL", "REMOVE", "CONNECT_NESTED",
+ ),
+ },
+ }
+ schemaAttrs["comment"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["disconnected_nested"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["display_name"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["end_date"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_active"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["last_used"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["nested"] = rsschema.BoolAttribute{
+ Computed: true,
+ }
+ schemaAttrs["rights"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["username"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAuditConfig(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["months"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Computed: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(
+ stringvalidator.OneOf(
+ "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER",
+ ),
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAuditLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupGroupAudit(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAudit_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupAuditingInfo(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["audit_due_date"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["last_audit_date"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["nr_accounts"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_disabled_accounts"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_disabled_managers"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_expired_vault_records"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_managers"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_vault_records_with_end_date"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupClassificationPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupClient(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsGroupGroupClient_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["activation_required"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["client_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["group_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["owner_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["technical_administrator_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupClientLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupGroupClient(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupClient_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupInfo(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["nr_accounts"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_accounts_with_vault"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_audits"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_clients"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_provisioned_systems"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["nr_vault_records"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupGroup(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["admin"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroupPrimerLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupGroupPrimer(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupGroup_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupGroupAccountLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Optional = true
+ schemaAttrs["accounts"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsClientClientApplicationLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["administered_clients"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["administered_systems"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupGroupAccountLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Optional = true
+ attr.DeprecationMessage = "This property will be removed in a future version."
+ schemaAttrs["admins"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGroupAuthorizedGroupsWrapper(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["authorized_groups"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Optional = true
+ schemaAttrs["client_permissions"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupGroupClientLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["clients"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["content_administered_systems"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGroupGroupAuditingInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["groupauditinginfo"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGroupGroupInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["groupinfo"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsDirectoryAccountDirectorySummaryLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["helpdesk"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsMarkItemMarkers(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["markers"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGroupGroupAccount(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["myaccount"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGroupGroupAccount(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["mydelegatedaccount"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupGroupPrimerLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["nested_groups"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsClientClientApplicationLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["owned_clients"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsDirectoryAccountDirectoryLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["owned_directories"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningOwnedGroupOnSystemsWrapper(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["owned_groups_on_system"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsOrganizationOrganizationalUnitLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["owned_organizational_units"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["owned_systems"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupGroupAuditLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["recent_audits"] = attr
+ }
+ schemaAttrs["requeststatus"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsServiceaccountServiceAccountLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["service_accounts"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupProvisioningGroupLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["systems"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsVaultVault(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["vault"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsWebhookWebhookLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["webhooks"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupProvisioningGroup(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsGroupProvisioningGroup_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["activation_required"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["group_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningGroupOnSystem(false),
+ }
+ attr.Computed = true
+ attr.PlanModifiers = []planmodifier.Object{objectplanmodifier.UseStateForUnknown()}
+ schemaAttrs["group_on_system"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupProvisioningGroupLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsGroupProvisioningGroup(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupProvisioningGroup_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsGroupVaultVaultRecord(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsVaultVaultRecord_additionalObjects(false))
+ }
+ schemaAttrs["group_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["color"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("NONE"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NONE", "GREEN", "RED", "BLUE", "DARK", "PINK_LAVENDER", "CRIMSON_RED", "MIDDLE_YELLOW", "ANDROID_GREEN", "SAGE", "ARTICHOKE",
+ ),
+ },
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["share_end_time"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["derived"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["end_date"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["filename"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["types"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["url"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["username"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["warning_period"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "AT_EXPIRATION", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS", "THREE_MONTHS", "SIX_MONTHS", "NEVER",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsLaunchpadSsoApplicationLaunchpadTile(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["uri"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsLaunchpadVaultRecordLaunchpadTile(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ return schemaAttrs
+}
+func resourceSchemaAttrsMarkItemMarker(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["level"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "INFO", "WARNING",
+ ),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "TLS_DISABLED", "TLS_UNVERIFIED", "WEAK_PASSWORD_HASHING", "GROUP_NO_MANAGER", "GROUP_ONE_MANAGER", "GROUP_UNREADABLE_VAULT", "GROUP_UNRECOVERABLE_VAULT", "GROUP_CRITERIA_UNSATISFIED_AUDIT_INTERVAL", "GROUP_CRITERIA_UNSATISFIED_AUDIT_MONTHS", "GROUP_CRITERIA_UNSATISFIED_AUTHORIZING_GROUP_PROVISIONING", "GROUP_CRITERIA_UNSATISFIED_AUTHORIZING_GROUP_MEMBERSHIP", "GROUP_CRITERIA_UNSATISFIED_AUTHORIZING_GROUP_DELEGATION", "GROUP_CRITERIA_UNSATISFIED_AUTHORIZING_GROUP_AUDITING", "GROUP_CRITERIA_UNSATISFIED_RECORD_TRAIL", "GROUP_CRITERIA_UNSATISFIED_ROTATING_PASSWORD_REQUIRED", "GROUP_CRITERIA_UNSATISFIED_VAULT_REQUIRES_ACTIVATION", "GROUP_CRITERIA_UNSATISFIED_MINIMUM_NR_MANAGERS",
+ ),
+ },
+ }
+ schemaAttrs["parameters"] = rsschema.MapAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsMarkItemMarkers(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["markers"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsMarkItemMarker(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsNestedProvisioningGroupOnSystem(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsProvisioningGroupOnSystem_additionalObjects(false))
+ }
+ schemaAttrs["provisioned_system_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["display_name"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["name_in_system"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "POSIX_GROUP", "GROUP_OF_NAMES", "GROUP_OF_UNIQUE_NAMES", "GROUP", "AZURE_ROLE", "AZURE_UNIFIED_GROUP", "AZURE_SECURITY_GROUP",
+ ),
+ },
+ }
+ schemaAttrs["short_name_in_system"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["owner_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsOrganizationOrganizationalUnit(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsOrganizationOrganizationalUnit_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["depth"] = rsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["description"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["owner_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["parent_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsOrganizationOrganizationalUnitLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsOrganizationOrganizationalUnit(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsOrganizationOrganizationalUnitPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsOrganizationOrganizationalUnitPrimerLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsOrganizationOrganizationalUnitPrimer(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsOrganizationOrganizationalUnit_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsOrganizationOrganizationalUnitPrimerLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Optional = true
+ schemaAttrs["create_as_parent_of"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningAbstractProvisionedLDAP(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["attributes"] = rsschema.MapAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ }
+ schemaAttrs["base_dn"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["bind_dn"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["bind_password"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 128),
+ },
+ }
+ schemaAttrs["client_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["failover_host"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["failover_trusted_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["group_dn"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["host"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["object_classes"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["port"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["service_account_dn"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["ssh_public_key_supported"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["tls"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "VERIFIED_PINNED", "VERIFIED", "SECURE_PINNED", "SECURE", "ENCRYPTED", "UNSECURE",
+ ),
+ },
+ }
+ schemaAttrs["trusted_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["user_dn"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningCircuitBreakerStatistics(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["number_of_failed_calls"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["number_of_not_permitted_calls"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["number_of_successful_calls"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["state"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "CLOSED", "OPEN", "HALF_OPEN",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningGroupOnSystem(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsProvisioningGroupOnSystem_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["display_name"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["name_in_system"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "POSIX_GROUP", "GROUP_OF_NAMES", "GROUP_OF_UNIQUE_NAMES", "GROUP", "AZURE_ROLE", "AZURE_UNIFIED_GROUP", "AZURE_SECURITY_GROUP",
+ ),
+ },
+ }
+ schemaAttrs["short_name_in_system"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["owner_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningGroupOnSystemLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsProvisioningGroupOnSystem(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningGroupOnSystemPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["display_name"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["name_in_system"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "POSIX_GROUP", "GROUP_OF_NAMES", "GROUP_OF_UNIQUE_NAMES", "GROUP", "AZURE_ROLE", "AZURE_UNIFIED_GROUP", "AZURE_SECURITY_GROUP",
+ ),
+ },
+ }
+ schemaAttrs["short_name_in_system"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningGroupOnSystemTypes(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["types"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(
+ stringvalidator.OneOf(
+ "POSIX_GROUP", "GROUP_OF_NAMES", "GROUP_OF_UNIQUE_NAMES", "GROUP", "AZURE_ROLE", "AZURE_UNIFIED_GROUP", "AZURE_SECURITY_GROUP",
+ ),
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningGroupOnSystem_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsGroupProvisioningGroupLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Optional = true
+ schemaAttrs["provgroups"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsServiceaccountServiceAccountPrimerLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Optional = true
+ schemaAttrs["service_accounts"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningOwnedGroupOnSystemsWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsProvisioningGroupOnSystem(recurse),
+ },
+ Optional: true,
+ }
+ schemaAttrs["unlinked_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionNumberSequence(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsProvisioningProvisionNumberSequence_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["account_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["next_uid"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(2000),
+ Validators: []validator.Int64{
+ int64validator.Between(2000, 60000),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionNumberSequence_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsProvisioningProvisionedSystemPrimerLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["systems"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedAD(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["sam_account_name_scheme"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "OMIT", "TRUNCATE", "TRANSFER", "TRANSFER_TRUNCATE", "USERNAME",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedAccount(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsProvisioningProvisionedAccount_additionalObjects(false))
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["uid"] = rsschema.Int64Attribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{int64planmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedAccount_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedAzureOIDCDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["directory_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["tenant"] = rsschema.StringAttribute{
+ Required: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedAzureSyncLDAPDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["client_id"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["client_secret"] = rsschema.StringAttribute{
+ Required: true,
+ }
+ schemaAttrs["directory_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["tenant"] = rsschema.StringAttribute{
+ Required: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedAzureTenant(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["client_id"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["client_secret"] = rsschema.StringAttribute{
+ Required: true,
+ }
+ schemaAttrs["idp_domain"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["tenant"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedInternalLDAP(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["client_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedLDAP(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["gid"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["hashing_scheme"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "SSHA", "PBKDF2",
+ ),
+ },
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionNumberSequence(recurse),
+ }
+ attr.Required = true
+ schemaAttrs["numbering"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedLDAPDirectory(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["directory_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["group_dn"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedSystem(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsProvisioningProvisionedSystem_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["active"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["organizational_unit_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["account_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ }
+ schemaAttrs["content_administrator_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["external_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["owner_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["self_service_existing_groups"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["self_service_new_groups"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["self_service_service_accounts"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["should_destroy_unknown_accounts"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["technical_administrator_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["username_prefix"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningAbstractProvisionedLDAP(false),
+ }
+ attr.Optional = true
+ schemaAttrs["abstract_provisioned_ldap"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedAD(false),
+ }
+ attr.Optional = true
+ schemaAttrs["provisioned_a_d"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedAzureOIDCDirectory(false),
+ }
+ attr.Optional = true
+ schemaAttrs["provisioned_azure_oidc_directory"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedAzureSyncLDAPDirectory(false),
+ }
+ attr.Optional = true
+ schemaAttrs["provisioned_azure_sync_ldap_directory"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedAzureTenant(false),
+ }
+ attr.Optional = true
+ schemaAttrs["provisioned_azure_tenant"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedInternalLDAP(false),
+ }
+ attr.Optional = true
+ schemaAttrs["provisioned_internal_ldap"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedLDAP(false),
+ }
+ attr.Optional = true
+ schemaAttrs["provisioned_ldap"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedLDAPDirectory(false),
+ }
+ attr.Optional = true
+ schemaAttrs["provisioned_ldap_directory"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedSystemLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedSystem(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedSystemPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["active"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["organizational_unit_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedSystemPrimerLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedSystemPrimer(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisionedSystem_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisionedAccount(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["account"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["issued_permissions"] = attr
+ }
+ schemaAttrs["login_name"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningProvisioningManagementPermissions(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["management_permissions"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsMarkItemMarkers(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["markers"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningCircuitBreakerStatistics(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["statistics"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsProvisioningGroupOnSystemTypes(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["supported_group_types"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsProvisioningProvisioningManagementPermissions(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["create_new_groups_allowed"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["create_service_accounts_allowed"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["reuse_existing_groups_allowed"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccount(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsServiceaccountServiceAccount_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["active"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["system_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["username"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["description"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["password_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ schemaAttrs["password_rotation"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "MANUAL", "MANUAL_STORED_IN_VAULT", "DAILY",
+ ),
+ },
+ }
+ schemaAttrs["technical_administrator_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccountGroup(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsServiceaccountServiceAccountGroup_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["display_name"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["name_in_system"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "POSIX_GROUP", "GROUP_OF_NAMES", "GROUP_OF_UNIQUE_NAMES", "GROUP", "AZURE_ROLE", "AZURE_UNIFIED_GROUP", "AZURE_SECURITY_GROUP",
+ ),
+ },
+ }
+ schemaAttrs["short_name_in_system"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccountGroupLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsServiceaccountServiceAccountGroup(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccountGroup_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccountLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsServiceaccountServiceAccount(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccountPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["active"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["system_uuid"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["username"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccountPrimerLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsServiceaccountServiceAccountPrimer(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsServiceaccountServiceAccount_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsServiceaccountServiceAccountGroupLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["groups"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsGeneratedSecret(recurse),
+ }
+ attr.Optional = true
+ schemaAttrs["secret"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultPasswordMetadata(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["dictionary"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["duplicate"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["hash"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["length"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["lower_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["number_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["special_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["strength"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ schemaAttrs["upper_count"] = rsschema.Int64Attribute{
+ Computed: true,
+ Optional: true,
+ Default: int64default.StaticInt64(0),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVault(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["access_available"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["records"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultHolder(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultRecord(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsVaultVaultRecord_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["color"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("NONE"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NONE", "GREEN", "RED", "BLUE", "DARK", "PINK_LAVENDER", "CRIMSON_RED", "MIDDLE_YELLOW", "ANDROID_GREEN", "SAGE", "ARTICHOKE",
+ ),
+ },
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["share_end_time"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["derived"] = rsschema.BoolAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["end_date"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["filename"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["types"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Computed: true,
+ }
+ schemaAttrs["url"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["username"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["warning_period"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "AT_EXPIRATION", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS", "THREE_MONTHS", "SIX_MONTHS", "NEVER",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultRecordPrimer(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["color"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("NONE"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NONE", "GREEN", "RED", "BLUE", "DARK", "PINK_LAVENDER", "CRIMSON_RED", "MIDDLE_YELLOW", "ANDROID_GREEN", "SAGE", "ARTICHOKE",
+ ),
+ },
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["share_end_time"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultRecordPrimerLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsVaultVaultRecordPrimer(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultRecordSecrets(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["comment"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["file"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["password"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["totp"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["write_totp"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultRecordShare(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Optional: true,
+ }
+ schemaAttrs["type"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "ACCOUNT", "CLIENT", "GROUP",
+ ),
+ },
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultRecordShareSummary(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["children"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsVaultVaultRecordShare(recurse),
+ },
+ Optional: true,
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsVaultVaultRecordShare(recurse),
+ }
+ attr.Optional = true
+ schemaAttrs["parent"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsVaultVaultRecord_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ schemaAttrs["delete_tile"] = rsschema.BoolAttribute{
+ Optional: true,
+ }
+ schemaAttrs["parent_uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsVaultPasswordMetadata(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["password_metadata"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsVaultVaultRecordSecrets(recurse),
+ }
+ attr.Optional = true
+ schemaAttrs["secret"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsVaultVaultRecordShareSummary(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["share_summary"] = attr
+ }
+ {
+ attr := resetListNestedAttributeFlags(resourceSchemaAttrsVaultVaultRecordPrimerLinkableWrapper(recurse)["items"].(rsschema.ListNestedAttribute))
+ attr.Computed = true
+ schemaAttrs["shares"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsLaunchpadVaultRecordLaunchpadTile(recurse),
+ }
+ attr.Optional = true
+ schemaAttrs["tile"] = attr
+ }
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsVaultVaultHolder(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["vaultholder"] = attr
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsWebhookWebhook(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ if recurse {
+ maps.Copy(schemaAttrs, resourceSchemaAttrsWebhookWebhook_additionalObjects(false))
+ }
+ schemaAttrs["links"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsRestLink(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["permissions"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsAuthPermission(recurse),
+ },
+ Computed: true,
+ PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["account_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["active"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(true),
+ }
+ schemaAttrs["all_types"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ schemaAttrs["authentication_scheme"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("NONE"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "NONE", "BASIC", "BEARER", "CUSTOM",
+ ),
+ },
+ }
+ schemaAttrs["basic_auth_password"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["basic_auth_username"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["bearer_token"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["client_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["client_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["custom_header_name"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 64),
+ },
+ }
+ schemaAttrs["custom_header_value"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 1024),
+ },
+ }
+ schemaAttrs["directory_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["group_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["name"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 255),
+ },
+ }
+ schemaAttrs["system_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["tls"] = rsschema.StringAttribute{
+ Computed: true,
+ Optional: true,
+ Default: stringdefault.StaticString("SECURE"),
+ Validators: []validator.String{
+ stringvalidator.OneOf(
+ "VERIFIED_PINNED", "VERIFIED", "SECURE_PINNED", "SECURE", "ENCRYPTED", "UNSECURE",
+ ),
+ },
+ }
+ schemaAttrs["trusted_certificate_uuid"] = rsschema.StringAttribute{
+ Optional: true,
+ Validators: []validator.String{
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"), "The value must be a valid UUID"),
+ },
+ }
+ schemaAttrs["types"] = rsschema.ListAttribute{
+ ElementType: types.StringType,
+ Optional: true,
+ Validators: []validator.List{
+ listvalidator.ValueStringsAre(
+ stringvalidator.OneOf(
+ "ACCOUNT_2FA_DISABLED", "ACCOUNT_2FA_ENABLED", "ACCOUNT_ADDED_TO_GROUP", "ACCOUNT_ADDED_TO_ORGANIZATIONAL_UNIT", "ACCOUNT_CREATED", "ACCOUNT_DEPROVISIONED", "ACCOUNT_DISABLED", "ACCOUNT_ENABLED", "ACCOUNT_GROUP_ACTIVATED", "ACCOUNT_GROUP_ACTIVATION_REASON", "ACCOUNT_GROUP_DEPROVISIONED", "ACCOUNT_GROUP_PROVISIONED", "ACCOUNT_LOGIN", "ACCOUNT_LOGIN_FAILED", "ACCOUNT_MODIFIED_FOR_GROUP", "ACCOUNT_PASSWORD_CHANGED", "ACCOUNT_PROVISIONED", "ACCOUNT_PROVISIONING_DESTROYED", "ACCOUNT_PROVISIONING_INITED", "ACCOUNT_PROVISIONING_SETUP", "ACCOUNT_REMOVED", "ACCOUNT_REMOVED_FROM_GROUP", "ACCOUNT_REMOVED_FROM_ORGANIZATIONAL_UNIT", "ACCOUNT_REREGISTERED", "ACCOUNT_SSH_PUBLIC_KEY_MODIFIED", "ACCOUNT_TOKEN_SIGNED", "ACCOUNT_TOTP_OFFSET_CHANGED", "ACCOUNT_VAULT_UNLOCKED", "ADD_GROUP_ADMIN_ACCEPTED", "ADD_GROUP_ADMIN_DECLINED", "ADD_GROUP_ADMIN_REQUESTED", "AUDITOR_EXPORT_GENERATED", "CERTIFICATE_CREATED", "CERTIFICATE_MODIFIED", "CERTIFICATE_REMOVED", "CLIENT_ADDED_TO_GROUP", "CLIENT_CREATED", "CLIENT_MODIFIED", "CLIENT_MODIFIED_FOR_GROUP", "CLIENT_PERMISSION_GRANTED", "CLIENT_PERMISSION_REVOKED", "CLIENT_REMOVED", "CLIENT_REMOVED_FROM_GROUP", "CLIENT_SECRET_ROTATED", "CREATE_GROUP_ACCEPTED", "CREATE_GROUP_DECLINED", "CREATE_GROUP_REQUESTED", "CREATE_GROUP_ON_SYSTEM_ACCEPTED", "CREATE_GROUP_ON_SYSTEM_DECLINED", "CREATE_GROUP_ON_SYSTEM_REQUESTED", "CREATE_SERVICE_ACCOUNT_ACCEPTED", "CREATE_SERVICE_ACCOUNT_DECLINED", "CREATE_SERVICE_ACCOUNT_REQUESTED", "DIRECTORY_CREATED", "DIRECTORY_HELPDESK_MODIFIED", "DIRECTORY_MODIFIED", "DIRECTORY_REMOVED", "DISABLE_2FA_ACCEPTED", "DISABLE_2FA_DECLINED", "DISABLE_2FA_REQUESTED", "ENABLE_TECHNICAL_ADMINISTRATION_ACCEPTED", "ENABLE_TECHNICAL_ADMINISTRATION_DECLINED", "ENABLE_TECHNICAL_ADMINISTRATION_REQUESTED", "EXTENDED_ACCESS_ACCEPTED", "EXTENDED_ACCESS_DECLINED", "EXTENDED_ACCESS_REQUESTED", "GRANT_ACCESS_ACCEPTED", "GRANT_ACCESS_DECLINED", "GRANT_ACCESS_REQUESTED", "GRANT_APPLICATION_ACCEPTED", "GRANT_APPLICATION_DECLINED", "GRANT_APPLICATION_REQUESTED", "GRANT_CLIENT_PERMISSION_ACCEPTED", "GRANT_CLIENT_PERMISSION_DECLINED", "GRANT_CLIENT_PERMISSION_REQUESTED", "GRANT_GROUP_ON_SYSTEM_ACCEPTED", "GRANT_GROUP_ON_SYSTEM_DECLINED", "GRANT_GROUP_ON_SYSTEM_REQUESTED", "GRANT_GROUP_ON_SYSTEM_REQUEST_ACCEPTED", "GRANT_GROUP_ON_SYSTEM_REQUEST_DECLINED", "GRANT_GROUP_ON_SYSTEM_REQUEST_REQUESTED", "GRANT_SERVICE_ACCOUNT_GROUP_ACCEPTED", "GRANT_SERVICE_ACCOUNT_GROUP_DECLINED", "GRANT_SERVICE_ACCOUNT_GROUP_REQUESTED", "GROUP_AUDIT_CREATED", "GROUP_AUDIT_REQUESTED", "GROUP_AUTHORIZATION_CONNECTED", "GROUP_AUTHORIZATION_DISCONNECTED", "GROUP_CLASSIFICATION_ASSIGNED", "GROUP_CLASSIFICATION_CREATED", "GROUP_CLASSIFICATION_MODIFIED", "GROUP_CLASSIFICATION_REMOVED", "GROUP_CREATED", "GROUP_MODIFIED", "GROUP_NESTING_CONNECTED", "GROUP_NESTING_DISCONNECTED", "GROUP_ON_SYSTEM_CREATED", "GROUP_ON_SYSTEM_DEPROVISIONED", "GROUP_ON_SYSTEM_PROVISIONED", "GROUP_ON_SYSTEM_REMOVED", "GROUP_REMOVED", "INTERNAL_ACCOUNT_ACTIVATED", "INTERNAL_ACCOUNT_CREATED", "INTERNAL_ACCOUNT_MODIFIED", "INTERNAL_ACCOUNT_REMOVED", "INVALID_SIGNATURE_DETECTED", "JOIN_GROUP_ACCEPTED", "JOIN_GROUP_DECLINED", "JOIN_GROUP_REQUESTED", "JOIN_VAULT_ACCEPTED", "JOIN_VAULT_DECLINED", "JOIN_VAULT_REQUESTED", "LICENSE_KEY_UPLOADED", "ORGANIZATIONAL_UNIT_CREATED", "ORGANIZATIONAL_UNIT_MODIFIED", "ORGANIZATIONAL_UNIT_REMOVED", "PROVISIONED_SYSTEM_ADDED_TO_GROUP", "PROVISIONED_SYSTEM_CREATED", "PROVISIONED_SYSTEM_MODIFIED", "PROVISIONED_SYSTEM_MODIFIED_FOR_GROUP", "PROVISIONED_SYSTEM_REMOVED", "PROVISIONED_SYSTEM_REMOVED_FROM_GROUP", "PROVISIONED_SYSTEM_UNKNOWN_ACCOUNT_DESTROYED", "REMOVE_GROUP_ACCEPTED", "REMOVE_GROUP_DECLINED", "REMOVE_GROUP_REQUESTED", "REMOVE_ORGANIZATIONAL_UNIT_ACCEPTED", "REMOVE_ORGANIZATIONAL_UNIT_DECLINED", "REMOVE_ORGANIZATIONAL_UNIT_REQUESTED", "REMOVE_PROVISIONED_SYSTEM_ACCEPTED", "REMOVE_PROVISIONED_SYSTEM_DECLINED", "REMOVE_PROVISIONED_SYSTEM_REQUESTED", "RESET_PASSWORD_ACCEPTED", "RESET_PASSWORD_DECLINED", "RESET_PASSWORD_FINISHED", "RESET_PASSWORD_REQUESTED", "REVIEW_AUDIT_ACCEPTED", "REVIEW_AUDIT_DECLINED", "REVIEW_AUDIT_REQUESTED", "REVOKE_ADMIN_ACCEPTED", "REVOKE_ADMIN_DECLINED", "REVOKE_ADMIN_REQUESTED", "SERVICE_ACCOUNT_ADDED_TO_GROUP", "SERVICE_ACCOUNT_CREATED", "SERVICE_ACCOUNT_GROUP_DEPROVISIONED", "SERVICE_ACCOUNT_GROUP_PROVISIONED", "SERVICE_ACCOUNT_MODIFIED", "SERVICE_ACCOUNT_PASSWORD_ROTATED", "SERVICE_ACCOUNT_PROVISIONING_DESTROYED", "SERVICE_ACCOUNT_PROVISIONING_INITED", "SERVICE_ACCOUNT_REMOVED", "SERVICE_ACCOUNT_REMOVED_FROM_GROUP", "SETUP_AUTHORIZING_GROUP_CONNECT_ACCEPTED", "SETUP_AUTHORIZING_GROUP_CONNECT_DECLINED", "SETUP_AUTHORIZING_GROUP_CONNECT_REQUESTED", "SETUP_AUTHORIZING_GROUP_DISCONNECT_ACCEPTED", "SETUP_AUTHORIZING_GROUP_DISCONNECT_DECLINED", "SETUP_AUTHORIZING_GROUP_DISCONNECT_REQUESTED", "SETUP_NESTED_GROUP_CONNECT_ACCEPTED", "SETUP_NESTED_GROUP_CONNECT_DECLINED", "SETUP_NESTED_GROUP_CONNECT_REQUESTED", "SETUP_NESTED_GROUP_DISCONNECT_ACCEPTED", "SETUP_NESTED_GROUP_DISCONNECT_DECLINED", "SETUP_NESTED_GROUP_DISCONNECT_REQUESTED", "TRANSFER_APPLICATION_ADMINISTRATION_ACCEPTED", "TRANSFER_APPLICATION_ADMINISTRATION_DECLINED", "TRANSFER_APPLICATION_ADMINISTRATION_REQUESTED", "TRANSFER_APPLICATION_OWNERSHIP_ACCEPTED", "TRANSFER_APPLICATION_OWNERSHIP_DECLINED", "TRANSFER_APPLICATION_OWNERSHIP_REQUESTED", "TRANSFER_GROUP_ON_SYSTEM_OWNERSHIP_ACCEPTED", "TRANSFER_GROUP_ON_SYSTEM_OWNERSHIP_DECLINED", "TRANSFER_GROUP_ON_SYSTEM_OWNERSHIP_REQUESTED", "TRANSFER_ORGANIZATIONAL_UNIT_OWNERSHIP_ACCEPTED", "TRANSFER_ORGANIZATIONAL_UNIT_OWNERSHIP_DECLINED", "TRANSFER_ORGANIZATIONAL_UNIT_OWNERSHIP_REQUESTED", "TRANSFER_PROVISIONED_SYSTEM_ADMINISTRATION_ACCEPTED", "TRANSFER_PROVISIONED_SYSTEM_ADMINISTRATION_DECLINED", "TRANSFER_PROVISIONED_SYSTEM_ADMINISTRATION_REQUESTED", "TRANSFER_PROVISIONED_SYSTEM_CONTENT_ADMINISTRATION_ACCEPTED", "TRANSFER_PROVISIONED_SYSTEM_CONTENT_ADMINISTRATION_DECLINED", "TRANSFER_PROVISIONED_SYSTEM_CONTENT_ADMINISTRATION_REQUESTED", "TRANSFER_PROVISIONED_SYSTEM_OWNERSHIP_ACCEPTED", "TRANSFER_PROVISIONED_SYSTEM_OWNERSHIP_DECLINED", "TRANSFER_PROVISIONED_SYSTEM_OWNERSHIP_REQUESTED", "TRANSFER_SERVICE_ACCOUNT_ADMINISTRATION_ACCEPTED", "TRANSFER_SERVICE_ACCOUNT_ADMINISTRATION_DECLINED", "TRANSFER_SERVICE_ACCOUNT_ADMINISTRATION_REQUESTED", "TRANSFER_AUDITOR_GROUP_ACCEPTED", "TRANSFER_AUDITOR_GROUP_DECLINED", "TRANSFER_AUDITOR_GROUP_REQUESTED", "UPDATE_GROUP_MEMBERSHIP_ACCEPTED", "UPDATE_GROUP_MEMBERSHIP_DECLINED", "UPDATE_GROUP_MEMBERSHIP_REQUESTED", "VAULT_ACCESS_RESTORED", "VAULT_EXPORTED", "VAULT_PERSONAL_RESET", "VAULT_PERSONAL_SETUP", "VAULT_RECORD_CREATED", "VAULT_RECORD_MODIFIED", "VAULT_RECORD_MOVED_COPIED_SHARED", "VAULT_RECORD_READ", "VAULT_RECORD_REMOVED", "VAULT_RECOVERED", "VERIFY_INTERNAL_ACCOUNT_ACCEPTED", "VERIFY_INTERNAL_ACCOUNT_DECLINED", "VERIFY_INTERNAL_ACCOUNT_REQUESTED", "WEBHOOK_CREATED", "WEBHOOK_MODIFIED", "WEBHOOK_REMOVED",
+ ),
+ ),
+ },
+ }
+ schemaAttrs["url"] = rsschema.StringAttribute{
+ Required: true,
+ Validators: []validator.String{
+ stringvalidator.UTF8LengthBetween(0, 512),
+ },
+ }
+ schemaAttrs["uuid"] = rsschema.StringAttribute{
+ Computed: true,
+ PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
+ }
+ schemaAttrs["verbose_payloads"] = rsschema.BoolAttribute{
+ Computed: true,
+ Optional: true,
+ Default: booldefault.StaticBool(false),
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsWebhookWebhookLinkableWrapper(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ schemaAttrs["items"] = rsschema.ListNestedAttribute{
+ NestedObject: rsschema.NestedAttributeObject{
+ Attributes: resourceSchemaAttrsWebhookWebhook(recurse),
+ },
+ Optional: true,
+ }
+ return schemaAttrs
+}
+func resourceSchemaAttrsWebhookWebhook_additionalObjects(recurse bool) map[string]rsschema.Attribute {
+ schemaAttrs := make(map[string]rsschema.Attribute)
+ {
+ attr := rsschema.SingleNestedAttribute{
+ Attributes: resourceSchemaAttrsAuditInfo(recurse),
+ }
+ attr.Computed = true
+ schemaAttrs["audit"] = attr
+ }
+ return schemaAttrs
+}
diff --git a/internal/provider/full-tf-to-data-struct-ds.go b/internal/provider/full-tf-to-data-struct-ds.go
new file mode 100644
index 0000000..d399c5e
--- /dev/null
+++ b/internal/provider/full-tf-to-data-struct-ds.go
@@ -0,0 +1,1136 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+)
+
+func fillDataStructFromTFObjectDSAuditInfo(data *auditInfoDataDS, obj types.Object) {
+ data.CreatedAt = obj.Attributes()["created_at"].(basetypes.StringValue)
+ data.CreatedBy = obj.Attributes()["created_by"].(basetypes.StringValue)
+ data.LastModifiedAt = obj.Attributes()["last_modified_at"].(basetypes.StringValue)
+ data.LastModifiedBy = obj.Attributes()["last_modified_by"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSGeneratedSecret(data *generatedSecretDataDS, obj types.Object) {
+ data.GeneratedSecret = obj.Attributes()["generated_secret"].(basetypes.StringValue)
+ data.OldSecret = obj.Attributes()["old_secret"].(basetypes.StringValue)
+ data.Regenerate = obj.Attributes()["regenerate"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSLinkable(data *linkableDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSNonLinkable(data *nonLinkableDataDS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectDSRestLink(data *restLinkDataDS, obj types.Object) {
+ data.Href = obj.Attributes()["href"].(basetypes.StringValue)
+ data.ID = obj.Attributes()["id"].(basetypes.Int64Value)
+ data.Rel = obj.Attributes()["rel"].(basetypes.StringValue)
+ data.TypeEscaped = obj.Attributes()["type_escaped"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSAuthAccount(data *authAccountDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.LastActive = obj.Attributes()["last_active"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Validity = obj.Attributes()["validity"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.AccountPermissions = obj.Attributes()["account_permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.ActiveLogin = obj.Attributes()["active_login"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.PendingRecoveryRequests = obj.Attributes()["pending_recovery_requests"].(basetypes.ObjectValue)
+ data.Settings = obj.Attributes()["settings"].(basetypes.ObjectValue)
+ data.StoredAttributes = obj.Attributes()["stored_attributes"].(basetypes.ObjectValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+ data.CanRequestGroups = obj.Attributes()["can_request_groups"].(basetypes.BoolValue)
+ data.Directory = obj.Attributes()["directory"].(basetypes.ObjectValue)
+ data.DirectoryName = obj.Attributes()["directory_name"].(basetypes.StringValue)
+ data.DirectoryPasswordChangeRequired = obj.Attributes()["directory_password_change_required"].(basetypes.BoolValue)
+ data.DirectoryRotatingPassword = obj.Attributes()["directory_rotating_password"].(basetypes.StringValue)
+ data.DirectoryType = obj.Attributes()["directory_type"].(basetypes.StringValue)
+ data.Email = obj.Attributes()["email"].(basetypes.StringValue)
+ data.IDInDirectory = obj.Attributes()["id_in_directory"].(basetypes.StringValue)
+ data.KeyHubPasswordChangeRequired = obj.Attributes()["key_hub_password_change_required"].(basetypes.BoolValue)
+ data.LastModifiedAt = obj.Attributes()["last_modified_at"].(basetypes.StringValue)
+ data.LicenseRole = obj.Attributes()["license_role"].(basetypes.StringValue)
+ data.Locale = obj.Attributes()["locale"].(basetypes.StringValue)
+ data.ReregistrationRequired = obj.Attributes()["reregistration_required"].(basetypes.BoolValue)
+ data.TokenPasswordEnabled = obj.Attributes()["token_password_enabled"].(basetypes.BoolValue)
+ data.TwoFactorStatus = obj.Attributes()["two_factor_status"].(basetypes.StringValue)
+ data.ValidInDirectory = obj.Attributes()["valid_in_directory"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSAuthAccountPrimer(data *authAccountPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.LastActive = obj.Attributes()["last_active"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Validity = obj.Attributes()["validity"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSAuthAccountRecoveryStatus(data *authAccountRecoveryStatusDataDS, obj types.Object) {
+ data.Pending2FARecoveryRequest = obj.Attributes()["pending2fa_recovery_request"].(basetypes.BoolValue)
+ data.PendingPasswordRecoveryRequest = obj.Attributes()["pending_password_recovery_request"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSAuthAccountSettings(data *authAccountSettingsDataDS, obj types.Object) {
+ data.DefaultOrganizationalUnit = obj.Attributes()["default_organizational_unit"].(basetypes.ObjectValue)
+ data.DirectoryName = obj.Attributes()["directory_name"].(basetypes.StringValue)
+ data.DirectoryType = obj.Attributes()["directory_type"].(basetypes.StringValue)
+ data.InGroups = obj.Attributes()["in_groups"].(basetypes.BoolValue)
+ data.InMultipleOrganizationalUnits = obj.Attributes()["in_multiple_organizational_units"].(basetypes.BoolValue)
+ data.KeyHubAdmin = obj.Attributes()["key_hub_admin"].(basetypes.BoolValue)
+ data.MultipleOrganizationalUnitsExist = obj.Attributes()["multiple_organizational_units_exist"].(basetypes.BoolValue)
+ data.PasswordMode = obj.Attributes()["password_mode"].(basetypes.StringValue)
+ data.SshPublicKey = obj.Attributes()["ssh_public_key"].(basetypes.StringValue)
+ data.TwoFactorAuthentication = obj.Attributes()["two_factor_authentication"].(basetypes.StringValue)
+ data.UseTokenPassword = obj.Attributes()["use_token_password"].(basetypes.BoolValue)
+ data.VaultStatus = obj.Attributes()["vault_status"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSAuthAccount_additionalObjects(data *authAccount_additionalObjectsDataDS, obj types.Object) {
+ data.ActiveLogin = obj.Attributes()["active_login"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.PendingRecoveryRequests = obj.Attributes()["pending_recovery_requests"].(basetypes.ObjectValue)
+ data.Settings = obj.Attributes()["settings"].(basetypes.ObjectValue)
+ data.StoredAttributes = obj.Attributes()["stored_attributes"].(basetypes.ObjectValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSAuthPermission(data *authPermissionDataDS, obj types.Object) {
+ data.Full = obj.Attributes()["full"].(basetypes.StringValue)
+ data.Instances = obj.Attributes()["instances"].(basetypes.ListValue)
+ data.Operations = obj.Attributes()["operations"].(basetypes.ListValue)
+ data.TypeEscaped = obj.Attributes()["type_escaped"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSAuthStoredAccountAttribute(data *authStoredAccountAttributeDataDS, obj types.Object) {
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Value = obj.Attributes()["value"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSAuthStoredAccountAttributes(data *authStoredAccountAttributesDataDS, obj types.Object) {
+ data.Attributes = obj.Attributes()["attributes"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSCertificateCertificate(data *certificateCertificateDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Alias = obj.Attributes()["alias"].(basetypes.StringValue)
+ data.CertificateCertificatePrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.CertificateData = obj.Attributes()["certificate_data"].(basetypes.ListValue)
+ data.Expiration = obj.Attributes()["expiration"].(basetypes.StringValue)
+ data.FingerprintSha1 = obj.Attributes()["fingerprint_sha1"].(basetypes.StringValue)
+ data.FingerprintSha256 = obj.Attributes()["fingerprint_sha256"].(basetypes.StringValue)
+ data.Global = obj.Attributes()["global"].(basetypes.BoolValue)
+ data.SubjectDN = obj.Attributes()["subject_dn"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.KeyData = obj.Attributes()["key_data"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSCertificateCertificatePrimer(data *certificateCertificatePrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Alias = obj.Attributes()["alias"].(basetypes.StringValue)
+ data.CertificateCertificatePrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.CertificateData = obj.Attributes()["certificate_data"].(basetypes.ListValue)
+ data.Expiration = obj.Attributes()["expiration"].(basetypes.StringValue)
+ data.FingerprintSha1 = obj.Attributes()["fingerprint_sha1"].(basetypes.StringValue)
+ data.FingerprintSha256 = obj.Attributes()["fingerprint_sha256"].(basetypes.StringValue)
+ data.Global = obj.Attributes()["global"].(basetypes.BoolValue)
+ data.SubjectDN = obj.Attributes()["subject_dn"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSCertificateCertificate_additionalObjects(data *certificateCertificate_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSClientClientApplication(data *clientClientApplicationDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.ClientClientApplicationPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Scopes = obj.Attributes()["scopes"].(basetypes.ListValue)
+ data.SsoApplication = obj.Attributes()["sso_application"].(basetypes.BoolValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groupclients = obj.Attributes()["groupclients"].(basetypes.ListValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.VaultRecordCount = obj.Attributes()["vault_record_count"].(basetypes.Int64Value)
+ data.LastModifiedAt = obj.Attributes()["last_modified_at"].(basetypes.StringValue)
+ data.Owner = obj.Attributes()["owner"].(basetypes.ObjectValue)
+ data.TechnicalAdministrator = obj.Attributes()["technical_administrator"].(basetypes.ObjectValue)
+ data.LDAPClient = obj.Attributes()["ldap_client"].(basetypes.ObjectValue)
+ data.OAuth2Client = obj.Attributes()["o_auth2_client"].(basetypes.ObjectValue)
+ data.Saml2Client = obj.Attributes()["saml2_client"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSClientClientApplicationLinkableWrapper(data *clientClientApplicationLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSClientClientApplicationPrimer(data *clientClientApplicationPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.ClientClientApplicationPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Scopes = obj.Attributes()["scopes"].(basetypes.ListValue)
+ data.SsoApplication = obj.Attributes()["sso_application"].(basetypes.BoolValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSClientClientApplication_additionalObjects(data *clientClientApplication_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groupclients = obj.Attributes()["groupclients"].(basetypes.ListValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.VaultRecordCount = obj.Attributes()["vault_record_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSClientLdapClient(data *clientLdapClientDataDS, obj types.Object) {
+ data.BindDN = obj.Attributes()["bind_dn"].(basetypes.StringValue)
+ data.ClientCertificate = obj.Attributes()["client_certificate"].(basetypes.ObjectValue)
+ data.ShareSecretInVault = obj.Attributes()["share_secret_in_vault"].(basetypes.BoolValue)
+ data.SharedSecret = obj.Attributes()["shared_secret"].(basetypes.ObjectValue)
+ data.UsedForProvisioning = obj.Attributes()["used_for_provisioning"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSClientOAuth2Client(data *clientOAuth2ClientDataDS, obj types.Object) {
+ data.AccountPermissions = obj.Attributes()["account_permissions"].(basetypes.ListValue)
+ data.Attributes = obj.Attributes()["attributes"].(basetypes.MapValue)
+ data.CallbackURI = obj.Attributes()["callback_uri"].(basetypes.StringValue)
+ data.Confidential = obj.Attributes()["confidential"].(basetypes.BoolValue)
+ data.DebugMode = obj.Attributes()["debug_mode"].(basetypes.BoolValue)
+ data.IDTokenClaims = obj.Attributes()["id_token_claims"].(basetypes.StringValue)
+ data.InitiateLoginURI = obj.Attributes()["initiate_login_uri"].(basetypes.StringValue)
+ data.ResourceURIs = obj.Attributes()["resource_uris"].(basetypes.StringValue)
+ data.ShareSecretInVault = obj.Attributes()["share_secret_in_vault"].(basetypes.BoolValue)
+ data.SharedSecret = obj.Attributes()["shared_secret"].(basetypes.ObjectValue)
+ data.ShowLandingPage = obj.Attributes()["show_landing_page"].(basetypes.BoolValue)
+ data.UseClientCredentials = obj.Attributes()["use_client_credentials"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSClientOAuth2ClientPermission(data *clientOAuth2ClientPermissionDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.ForGroup = obj.Attributes()["for_group"].(basetypes.ObjectValue)
+ data.ForSystem = obj.Attributes()["for_system"].(basetypes.ObjectValue)
+ data.Value = obj.Attributes()["value"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSClientOAuth2ClientPermissionWithClient(data *clientOAuth2ClientPermissionWithClientDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.ForGroup = obj.Attributes()["for_group"].(basetypes.ObjectValue)
+ data.ForSystem = obj.Attributes()["for_system"].(basetypes.ObjectValue)
+ data.Value = obj.Attributes()["value"].(basetypes.StringValue)
+ data.Client = obj.Attributes()["client"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSClientOAuth2ClientPermissionWithClientLinkableWrapper(data *clientOAuth2ClientPermissionWithClientLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSClientOAuth2ClientPermission_additionalObjects(data *clientOAuth2ClientPermission_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSClientSaml2Client(data *clientSaml2ClientDataDS, obj types.Object) {
+ data.Attributes = obj.Attributes()["attributes"].(basetypes.MapValue)
+ data.Metadata = obj.Attributes()["metadata"].(basetypes.StringValue)
+ data.MetadataURL = obj.Attributes()["metadata_url"].(basetypes.StringValue)
+ data.SubjectFormat = obj.Attributes()["subject_format"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryAccountDirectory(data *directoryAccountDirectoryDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountValiditySupported = obj.Attributes()["account_validity_supported"].(basetypes.BoolValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.DirectoryAccountDirectoryPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Status = obj.Attributes()["status"].(basetypes.ObjectValue)
+ data.BaseOrganizationalUnit = obj.Attributes()["base_organizational_unit"].(basetypes.ObjectValue)
+ data.DefaultDirectory = obj.Attributes()["default_directory"].(basetypes.BoolValue)
+ data.HelpdeskGroup = obj.Attributes()["helpdesk_group"].(basetypes.ObjectValue)
+ data.Restrict2fa = obj.Attributes()["restrict2fa"].(basetypes.BoolValue)
+ data.RotatingPassword = obj.Attributes()["rotating_password"].(basetypes.StringValue)
+ data.UsernameCustomizable = obj.Attributes()["username_customizable"].(basetypes.BoolValue)
+ data.InternalDirectory = obj.Attributes()["internal_directory"].(basetypes.ObjectValue)
+ data.LDAPDirectory = obj.Attributes()["l_d_a_p_directory"].(basetypes.ObjectValue)
+ data.MaintenanceDirectory = obj.Attributes()["maintenance_directory"].(basetypes.ObjectValue)
+ data.OIDCDirectory = obj.Attributes()["o_id_c_directory"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryAccountDirectoryLinkableWrapper(data *directoryAccountDirectoryLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryAccountDirectoryPrimer(data *directoryAccountDirectoryPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountValiditySupported = obj.Attributes()["account_validity_supported"].(basetypes.BoolValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.DirectoryAccountDirectoryPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryAccountDirectoryStatusReport(data *directoryAccountDirectoryStatusReportDataDS, obj types.Object) {
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.Int64Value)
+ data.Reason = obj.Attributes()["reason"].(basetypes.StringValue)
+ data.Status = obj.Attributes()["status"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryAccountDirectorySummary(data *directoryAccountDirectorySummaryDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DirectoryAccountDirectorySummaryType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.DomainRestriction = obj.Attributes()["domain_restriction"].(basetypes.StringValue)
+ data.FullyResolvedIssuer = obj.Attributes()["fully_resolved_issuer"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Status = obj.Attributes()["status"].(basetypes.ObjectValue)
+ data.UsernameCustomizable = obj.Attributes()["username_customizable"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryAccountDirectorySummaryLinkableWrapper(data *directoryAccountDirectorySummaryLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryAccountDirectory_additionalObjects(data *directoryAccountDirectory_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Status = obj.Attributes()["status"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryInternalDirectory(data *directoryInternalDirectoryDataDS, obj types.Object) {
+ data.Owner = obj.Attributes()["owner"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryLDAPDirectory(data *directoryLDAPDirectoryDataDS, obj types.Object) {
+ data.AttributesToStore = obj.Attributes()["attributes_to_store"].(basetypes.StringValue)
+ data.BaseDN = obj.Attributes()["base_dn"].(basetypes.StringValue)
+ data.ClientCertificate = obj.Attributes()["client_certificate"].(basetypes.ObjectValue)
+ data.Dialect = obj.Attributes()["dialect"].(basetypes.StringValue)
+ data.FailoverHost = obj.Attributes()["failover_host"].(basetypes.StringValue)
+ data.FailoverTrustedCertificate = obj.Attributes()["failover_trusted_certificate"].(basetypes.ObjectValue)
+ data.Host = obj.Attributes()["host"].(basetypes.StringValue)
+ data.PasswordRecovery = obj.Attributes()["password_recovery"].(basetypes.StringValue)
+ data.Port = obj.Attributes()["port"].(basetypes.Int64Value)
+ data.SearchBindDN = obj.Attributes()["search_bind_dn"].(basetypes.StringValue)
+ data.SearchBindPassword = obj.Attributes()["search_bind_password"].(basetypes.StringValue)
+ data.SearchFilter = obj.Attributes()["search_filter"].(basetypes.StringValue)
+ data.TLS = obj.Attributes()["tls"].(basetypes.StringValue)
+ data.TrustedCertificate = obj.Attributes()["trusted_certificate"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSDirectoryMaintenanceDirectory(data *directoryMaintenanceDirectoryDataDS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectDSDirectoryOIDCDirectory(data *directoryOIDCDirectoryDataDS, obj types.Object) {
+ data.AcrValues = obj.Attributes()["acr_values"].(basetypes.StringValue)
+ data.AttributesToStore = obj.Attributes()["attributes_to_store"].(basetypes.StringValue)
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.ClientSecret = obj.Attributes()["client_secret"].(basetypes.StringValue)
+ data.DomainRestriction = obj.Attributes()["domain_restriction"].(basetypes.StringValue)
+ data.Enforces2fa = obj.Attributes()["enforces2fa"].(basetypes.BoolValue)
+ data.FullyResolvedIssuer = obj.Attributes()["fully_resolved_issuer"].(basetypes.StringValue)
+ data.Issuer = obj.Attributes()["issuer"].(basetypes.StringValue)
+ data.LogoutURL = obj.Attributes()["logout_url"].(basetypes.StringValue)
+ data.SendLoginHint = obj.Attributes()["send_login_hint"].(basetypes.BoolValue)
+ data.VendorEscaped = obj.Attributes()["vendor_escaped"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSGroupAccountGroup(data *groupAccountGroupDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Admin = obj.Attributes()["admin"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.Folder = obj.Attributes()["folder"].(basetypes.ObjectValue)
+ data.LastUsed = obj.Attributes()["last_used"].(basetypes.StringValue)
+ data.ProvisioningEndTime = obj.Attributes()["provisioning_end_time"].(basetypes.StringValue)
+ data.Rights = obj.Attributes()["rights"].(basetypes.StringValue)
+ data.VisibleForProvisioning = obj.Attributes()["visible_for_provisioning"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSGroupAccountGroupLinkableWrapper(data *groupAccountGroupLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupAccountGroup_additionalObjects(data *groupAccountGroup_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupAuthorizedGroupsWrapper(data *groupAuthorizedGroupsWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+ data.GroupCount = obj.Attributes()["group_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSGroupGroup(data *groupGroupDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Admin = obj.Attributes()["admin"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.ListValue)
+ data.AdministeredClients = obj.Attributes()["administered_clients"].(basetypes.ListValue)
+ data.AdministeredSystems = obj.Attributes()["administered_systems"].(basetypes.ListValue)
+ data.Admins = obj.Attributes()["admins"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.AuthorizedGroups = obj.Attributes()["authorized_groups"].(basetypes.ObjectValue)
+ data.ClientPermissions = obj.Attributes()["client_permissions"].(basetypes.ListValue)
+ data.Clients = obj.Attributes()["clients"].(basetypes.ListValue)
+ data.ContentAdministeredSystems = obj.Attributes()["content_administered_systems"].(basetypes.ListValue)
+ data.Groupauditinginfo = obj.Attributes()["groupauditinginfo"].(basetypes.ObjectValue)
+ data.Groupinfo = obj.Attributes()["groupinfo"].(basetypes.ObjectValue)
+ data.Helpdesk = obj.Attributes()["helpdesk"].(basetypes.ListValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Myaccount = obj.Attributes()["myaccount"].(basetypes.ObjectValue)
+ data.Mydelegatedaccount = obj.Attributes()["mydelegatedaccount"].(basetypes.ObjectValue)
+ data.NestedGroups = obj.Attributes()["nested_groups"].(basetypes.ListValue)
+ data.OwnedClients = obj.Attributes()["owned_clients"].(basetypes.ListValue)
+ data.OwnedDirectories = obj.Attributes()["owned_directories"].(basetypes.ListValue)
+ data.OwnedGroupsOnSystem = obj.Attributes()["owned_groups_on_system"].(basetypes.ObjectValue)
+ data.OwnedOrganizationalUnits = obj.Attributes()["owned_organizational_units"].(basetypes.ListValue)
+ data.OwnedSystems = obj.Attributes()["owned_systems"].(basetypes.ListValue)
+ data.RecentAudits = obj.Attributes()["recent_audits"].(basetypes.ListValue)
+ data.Requeststatus = obj.Attributes()["requeststatus"].(basetypes.StringValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+ data.Webhooks = obj.Attributes()["webhooks"].(basetypes.ListValue)
+ data.ApplicationAdministration = obj.Attributes()["application_administration"].(basetypes.BoolValue)
+ data.AuditConfig = obj.Attributes()["audit_config"].(basetypes.ObjectValue)
+ data.AuditRequested = obj.Attributes()["audit_requested"].(basetypes.BoolValue)
+ data.Auditor = obj.Attributes()["auditor"].(basetypes.BoolValue)
+ data.AuthorizingGroupAuditing = obj.Attributes()["authorizing_group_auditing"].(basetypes.ObjectValue)
+ data.AuthorizingGroupDelegation = obj.Attributes()["authorizing_group_delegation"].(basetypes.ObjectValue)
+ data.AuthorizingGroupMembership = obj.Attributes()["authorizing_group_membership"].(basetypes.ObjectValue)
+ data.AuthorizingGroupProvisioning = obj.Attributes()["authorizing_group_provisioning"].(basetypes.ObjectValue)
+ data.AuthorizingGroupTypes = obj.Attributes()["authorizing_group_types"].(basetypes.ListValue)
+ data.Classification = obj.Attributes()["classification"].(basetypes.ObjectValue)
+ data.Description = obj.Attributes()["description"].(basetypes.StringValue)
+ data.ExtendedAccess = obj.Attributes()["extended_access"].(basetypes.StringValue)
+ data.HideAuditTrail = obj.Attributes()["hide_audit_trail"].(basetypes.BoolValue)
+ data.NestedUnder = obj.Attributes()["nested_under"].(basetypes.ObjectValue)
+ data.OrganizationalUnit = obj.Attributes()["organizational_unit"].(basetypes.ObjectValue)
+ data.PrivateGroup = obj.Attributes()["private_group"].(basetypes.BoolValue)
+ data.RecordTrail = obj.Attributes()["record_trail"].(basetypes.BoolValue)
+ data.RotatingPasswordRequired = obj.Attributes()["rotating_password_required"].(basetypes.BoolValue)
+ data.SingleManaged = obj.Attributes()["single_managed"].(basetypes.BoolValue)
+ data.VaultRecovery = obj.Attributes()["vault_recovery"].(basetypes.StringValue)
+ data.VaultRequiresActivation = obj.Attributes()["vault_requires_activation"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAccount(data *groupGroupAccountDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.LastActive = obj.Attributes()["last_active"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Validity = obj.Attributes()["validity"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Directory = obj.Attributes()["directory"].(basetypes.ObjectValue)
+ data.DisconnectedNested = obj.Attributes()["disconnected_nested"].(basetypes.BoolValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.LastUsed = obj.Attributes()["last_used"].(basetypes.StringValue)
+ data.Nested = obj.Attributes()["nested"].(basetypes.BoolValue)
+ data.ProvisioningEndTime = obj.Attributes()["provisioning_end_time"].(basetypes.StringValue)
+ data.Rights = obj.Attributes()["rights"].(basetypes.StringValue)
+ data.TwoFactorStatus = obj.Attributes()["two_factor_status"].(basetypes.StringValue)
+ data.VisibleForProvisioning = obj.Attributes()["visible_for_provisioning"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAccountLinkableWrapper(data *groupGroupAccountLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAccount_additionalObjects(data *groupGroupAccount_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAudit(data *groupGroupAuditDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Comment = obj.Attributes()["comment"].(basetypes.StringValue)
+ data.CreatedAt = obj.Attributes()["created_at"].(basetypes.StringValue)
+ data.CreatedBy = obj.Attributes()["created_by"].(basetypes.StringValue)
+ data.GroupName = obj.Attributes()["group_name"].(basetypes.StringValue)
+ data.NameOnAudit = obj.Attributes()["name_on_audit"].(basetypes.StringValue)
+ data.ReviewedAt = obj.Attributes()["reviewed_at"].(basetypes.StringValue)
+ data.ReviewedBy = obj.Attributes()["reviewed_by"].(basetypes.StringValue)
+ data.Status = obj.Attributes()["status"].(basetypes.StringValue)
+ data.SubmittedAt = obj.Attributes()["submitted_at"].(basetypes.StringValue)
+ data.SubmittedBy = obj.Attributes()["submitted_by"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAuditAccount(data *groupGroupAuditAccountDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountUUID = obj.Attributes()["account_uuid"].(basetypes.StringValue)
+ data.AccountValid = obj.Attributes()["account_valid"].(basetypes.BoolValue)
+ data.Action = obj.Attributes()["action"].(basetypes.StringValue)
+ data.Comment = obj.Attributes()["comment"].(basetypes.StringValue)
+ data.DisconnectedNested = obj.Attributes()["disconnected_nested"].(basetypes.BoolValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.LastActive = obj.Attributes()["last_active"].(basetypes.StringValue)
+ data.LastUsed = obj.Attributes()["last_used"].(basetypes.StringValue)
+ data.Nested = obj.Attributes()["nested"].(basetypes.BoolValue)
+ data.Rights = obj.Attributes()["rights"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAuditConfig(data *groupGroupAuditConfigDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Months = obj.Attributes()["months"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAuditLinkableWrapper(data *groupGroupAuditLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAudit_additionalObjects(data *groupGroupAudit_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupAuditingInfo(data *groupGroupAuditingInfoDataDS, obj types.Object) {
+ data.AuditDueDate = obj.Attributes()["audit_due_date"].(basetypes.StringValue)
+ data.LastAuditDate = obj.Attributes()["last_audit_date"].(basetypes.StringValue)
+ data.NrAccounts = obj.Attributes()["nr_accounts"].(basetypes.Int64Value)
+ data.NrDisabledAccounts = obj.Attributes()["nr_disabled_accounts"].(basetypes.Int64Value)
+ data.NrDisabledManagers = obj.Attributes()["nr_disabled_managers"].(basetypes.Int64Value)
+ data.NrExpiredVaultRecords = obj.Attributes()["nr_expired_vault_records"].(basetypes.Int64Value)
+ data.NrManagers = obj.Attributes()["nr_managers"].(basetypes.Int64Value)
+ data.NrVaultRecordsWithEndDate = obj.Attributes()["nr_vault_records_with_end_date"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupClassification(data *groupGroupClassificationDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Info = obj.Attributes()["info"].(basetypes.ObjectValue)
+ data.AuthorizingGroupAuditingRequired = obj.Attributes()["authorizing_group_auditing_required"].(basetypes.BoolValue)
+ data.AuthorizingGroupDelegationRequired = obj.Attributes()["authorizing_group_delegation_required"].(basetypes.BoolValue)
+ data.AuthorizingGroupMembershipRequired = obj.Attributes()["authorizing_group_membership_required"].(basetypes.BoolValue)
+ data.AuthorizingGroupProvisioningRequired = obj.Attributes()["authorizing_group_provisioning_required"].(basetypes.BoolValue)
+ data.DefaultClassification = obj.Attributes()["default_classification"].(basetypes.BoolValue)
+ data.Description = obj.Attributes()["description"].(basetypes.StringValue)
+ data.MaximumAuditInterval = obj.Attributes()["maximum_audit_interval"].(basetypes.Int64Value)
+ data.MinimumNrManagers = obj.Attributes()["minimum_nr_managers"].(basetypes.Int64Value)
+ data.RecordTrailRequired = obj.Attributes()["record_trail_required"].(basetypes.BoolValue)
+ data.RequiredMonths = obj.Attributes()["required_months"].(basetypes.ListValue)
+ data.RotatingPasswordRequired = obj.Attributes()["rotating_password_required"].(basetypes.BoolValue)
+ data.VaultRequiresActivation = obj.Attributes()["vault_requires_activation"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupClassificationInfo(data *groupGroupClassificationInfoDataDS, obj types.Object) {
+ data.NrGroups = obj.Attributes()["nr_groups"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupClassificationPrimer(data *groupGroupClassificationPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupClassification_additionalObjects(data *groupGroupClassification_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Info = obj.Attributes()["info"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupClient(data *groupGroupClientDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.ActivationRequired = obj.Attributes()["activation_required"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Client = obj.Attributes()["client"].(basetypes.ObjectValue)
+ data.Group = obj.Attributes()["group"].(basetypes.ObjectValue)
+ data.Owner = obj.Attributes()["owner"].(basetypes.ObjectValue)
+ data.TechnicalAdministrator = obj.Attributes()["technical_administrator"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupClientLinkableWrapper(data *groupGroupClientLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupClient_additionalObjects(data *groupGroupClient_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupFolder(data *groupGroupFolderDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupFolder_additionalObjects(data *groupGroupFolder_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupInfo(data *groupGroupInfoDataDS, obj types.Object) {
+ data.NrAccounts = obj.Attributes()["nr_accounts"].(basetypes.Int64Value)
+ data.NrAccountsWithVault = obj.Attributes()["nr_accounts_with_vault"].(basetypes.Int64Value)
+ data.NrAudits = obj.Attributes()["nr_audits"].(basetypes.Int64Value)
+ data.NrClients = obj.Attributes()["nr_clients"].(basetypes.Int64Value)
+ data.NrProvisionedSystems = obj.Attributes()["nr_provisioned_systems"].(basetypes.Int64Value)
+ data.NrVaultRecords = obj.Attributes()["nr_vault_records"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupLinkableWrapper(data *groupGroupLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupPrimer(data *groupGroupPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Admin = obj.Attributes()["admin"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroupPrimerLinkableWrapper(data *groupGroupPrimerLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupGroup_additionalObjects(data *groupGroup_additionalObjectsDataDS, obj types.Object) {
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.ListValue)
+ data.AdministeredClients = obj.Attributes()["administered_clients"].(basetypes.ListValue)
+ data.AdministeredSystems = obj.Attributes()["administered_systems"].(basetypes.ListValue)
+ data.Admins = obj.Attributes()["admins"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.AuthorizedGroups = obj.Attributes()["authorized_groups"].(basetypes.ObjectValue)
+ data.ClientPermissions = obj.Attributes()["client_permissions"].(basetypes.ListValue)
+ data.Clients = obj.Attributes()["clients"].(basetypes.ListValue)
+ data.ContentAdministeredSystems = obj.Attributes()["content_administered_systems"].(basetypes.ListValue)
+ data.Groupauditinginfo = obj.Attributes()["groupauditinginfo"].(basetypes.ObjectValue)
+ data.Groupinfo = obj.Attributes()["groupinfo"].(basetypes.ObjectValue)
+ data.Helpdesk = obj.Attributes()["helpdesk"].(basetypes.ListValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Myaccount = obj.Attributes()["myaccount"].(basetypes.ObjectValue)
+ data.Mydelegatedaccount = obj.Attributes()["mydelegatedaccount"].(basetypes.ObjectValue)
+ data.NestedGroups = obj.Attributes()["nested_groups"].(basetypes.ListValue)
+ data.OwnedClients = obj.Attributes()["owned_clients"].(basetypes.ListValue)
+ data.OwnedDirectories = obj.Attributes()["owned_directories"].(basetypes.ListValue)
+ data.OwnedGroupsOnSystem = obj.Attributes()["owned_groups_on_system"].(basetypes.ObjectValue)
+ data.OwnedOrganizationalUnits = obj.Attributes()["owned_organizational_units"].(basetypes.ListValue)
+ data.OwnedSystems = obj.Attributes()["owned_systems"].(basetypes.ListValue)
+ data.RecentAudits = obj.Attributes()["recent_audits"].(basetypes.ListValue)
+ data.Requeststatus = obj.Attributes()["requeststatus"].(basetypes.StringValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+ data.Webhooks = obj.Attributes()["webhooks"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupProvisioningGroup(data *groupProvisioningGroupDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.ActivationRequired = obj.Attributes()["activation_required"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Group = obj.Attributes()["group"].(basetypes.ObjectValue)
+ data.GroupOnSystem = obj.Attributes()["group_on_system"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSGroupProvisioningGroupLinkableWrapper(data *groupProvisioningGroupLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSGroupProvisioningGroup_additionalObjects(data *groupProvisioningGroup_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSLaunchpadSsoApplicationLaunchpadTile(data *launchpadSsoApplicationLaunchpadTileDataDS, obj types.Object) {
+ data.URI = obj.Attributes()["uri"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSLaunchpadVaultRecordLaunchpadTile(data *launchpadVaultRecordLaunchpadTileDataDS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectDSMarkItemMarker(data *markItemMarkerDataDS, obj types.Object) {
+ data.Level = obj.Attributes()["level"].(basetypes.StringValue)
+ data.MarkItemMarkerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.Parameters = obj.Attributes()["parameters"].(basetypes.MapValue)
+}
+
+func fillDataStructFromTFObjectDSMarkItemMarkers(data *markItemMarkersDataDS, obj types.Object) {
+ data.Markers = obj.Attributes()["markers"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSOrganizationOrganizationalUnit(data *organizationOrganizationalUnitDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Depth = obj.Attributes()["depth"].(basetypes.Int64Value)
+ data.Description = obj.Attributes()["description"].(basetypes.StringValue)
+ data.Owner = obj.Attributes()["owner"].(basetypes.ObjectValue)
+ data.Parent = obj.Attributes()["parent"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSOrganizationOrganizationalUnitLinkableWrapper(data *organizationOrganizationalUnitLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSOrganizationOrganizationalUnitPrimer(data *organizationOrganizationalUnitPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSOrganizationOrganizationalUnit_additionalObjects(data *organizationOrganizationalUnit_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningAbstractProvisionedLDAP(data *provisioningAbstractProvisionedLDAPDataDS, obj types.Object) {
+ data.Attributes = obj.Attributes()["attributes"].(basetypes.MapValue)
+ data.BaseDN = obj.Attributes()["base_dn"].(basetypes.StringValue)
+ data.BindDN = obj.Attributes()["bind_dn"].(basetypes.StringValue)
+ data.BindPassword = obj.Attributes()["bind_password"].(basetypes.StringValue)
+ data.ClientCertificate = obj.Attributes()["client_certificate"].(basetypes.ObjectValue)
+ data.FailoverHost = obj.Attributes()["failover_host"].(basetypes.StringValue)
+ data.FailoverTrustedCertificate = obj.Attributes()["failover_trusted_certificate"].(basetypes.ObjectValue)
+ data.GroupDN = obj.Attributes()["group_dn"].(basetypes.StringValue)
+ data.Host = obj.Attributes()["host"].(basetypes.StringValue)
+ data.ObjectClasses = obj.Attributes()["object_classes"].(basetypes.StringValue)
+ data.Port = obj.Attributes()["port"].(basetypes.Int64Value)
+ data.ServiceAccountDN = obj.Attributes()["service_account_dn"].(basetypes.StringValue)
+ data.SshPublicKeySupported = obj.Attributes()["ssh_public_key_supported"].(basetypes.BoolValue)
+ data.TLS = obj.Attributes()["tls"].(basetypes.StringValue)
+ data.TrustedCertificate = obj.Attributes()["trusted_certificate"].(basetypes.ObjectValue)
+ data.UserDN = obj.Attributes()["user_dn"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningCircuitBreakerStatistics(data *provisioningCircuitBreakerStatisticsDataDS, obj types.Object) {
+ data.NumberOfFailedCalls = obj.Attributes()["number_of_failed_calls"].(basetypes.Int64Value)
+ data.NumberOfNotPermittedCalls = obj.Attributes()["number_of_not_permitted_calls"].(basetypes.Int64Value)
+ data.NumberOfSuccessfulCalls = obj.Attributes()["number_of_successful_calls"].(basetypes.Int64Value)
+ data.State = obj.Attributes()["state"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningGroupOnSystem(data *provisioningGroupOnSystemDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.NameInSystem = obj.Attributes()["name_in_system"].(basetypes.StringValue)
+ data.ProvisioningGroupOnSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ShortNameInSystem = obj.Attributes()["short_name_in_system"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Provgroups = obj.Attributes()["provgroups"].(basetypes.ListValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+ data.Owner = obj.Attributes()["owner"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningGroupOnSystemLinkableWrapper(data *provisioningGroupOnSystemLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningGroupOnSystemPrimer(data *provisioningGroupOnSystemPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.NameInSystem = obj.Attributes()["name_in_system"].(basetypes.StringValue)
+ data.ProvisioningGroupOnSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ShortNameInSystem = obj.Attributes()["short_name_in_system"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningGroupOnSystemTypes(data *provisioningGroupOnSystemTypesDataDS, obj types.Object) {
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningGroupOnSystem_additionalObjects(data *provisioningGroupOnSystem_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Provgroups = obj.Attributes()["provgroups"].(basetypes.ListValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningOwnedGroupOnSystemsWrapper(data *provisioningOwnedGroupOnSystemsWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+ data.UnlinkedCount = obj.Attributes()["unlinked_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionNumberSequence(data *provisioningProvisionNumberSequenceDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.AccountCount = obj.Attributes()["account_count"].(basetypes.Int64Value)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.NextUID = obj.Attributes()["next_uid"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionNumberSequence_additionalObjects(data *provisioningProvisionNumberSequence_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedAD(data *provisioningProvisionedADDataDS, obj types.Object) {
+ data.SamAccountNameScheme = obj.Attributes()["sam_account_name_scheme"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedAccount(data *provisioningProvisionedAccountDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.LastActive = obj.Attributes()["last_active"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Validity = obj.Attributes()["validity"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.UID = obj.Attributes()["uid"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedAccount_additionalObjects(data *provisioningProvisionedAccount_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedAzureOIDCDirectory(data *provisioningProvisionedAzureOIDCDirectoryDataDS, obj types.Object) {
+ data.Directory = obj.Attributes()["directory"].(basetypes.ObjectValue)
+ data.Tenant = obj.Attributes()["tenant"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedAzureSyncLDAPDirectory(data *provisioningProvisionedAzureSyncLDAPDirectoryDataDS, obj types.Object) {
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.ClientSecret = obj.Attributes()["client_secret"].(basetypes.StringValue)
+ data.Directory = obj.Attributes()["directory"].(basetypes.ObjectValue)
+ data.Tenant = obj.Attributes()["tenant"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedAzureTenant(data *provisioningProvisionedAzureTenantDataDS, obj types.Object) {
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.ClientSecret = obj.Attributes()["client_secret"].(basetypes.StringValue)
+ data.IDpDomain = obj.Attributes()["idp_domain"].(basetypes.StringValue)
+ data.Tenant = obj.Attributes()["tenant"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedInternalLDAP(data *provisioningProvisionedInternalLDAPDataDS, obj types.Object) {
+ data.Client = obj.Attributes()["client"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedLDAP(data *provisioningProvisionedLDAPDataDS, obj types.Object) {
+ data.Gid = obj.Attributes()["gid"].(basetypes.Int64Value)
+ data.HashingScheme = obj.Attributes()["hashing_scheme"].(basetypes.StringValue)
+ data.Numbering = obj.Attributes()["numbering"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedLDAPDirectory(data *provisioningProvisionedLDAPDirectoryDataDS, obj types.Object) {
+ data.Directory = obj.Attributes()["directory"].(basetypes.ObjectValue)
+ data.GroupDN = obj.Attributes()["group_dn"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedSystem(data *provisioningProvisionedSystemDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.OrganizationalUnit = obj.Attributes()["organizational_unit"].(basetypes.ObjectValue)
+ data.ProvisioningProvisionedSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.AccountCount = obj.Attributes()["account_count"].(basetypes.Int64Value)
+ data.Account = obj.Attributes()["account"].(basetypes.ObjectValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.IssuedPermissions = obj.Attributes()["issued_permissions"].(basetypes.ListValue)
+ data.LoginName = obj.Attributes()["login_name"].(basetypes.StringValue)
+ data.ManagementPermissions = obj.Attributes()["management_permissions"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Statistics = obj.Attributes()["statistics"].(basetypes.ObjectValue)
+ data.SupportedGroupTypes = obj.Attributes()["supported_group_types"].(basetypes.ObjectValue)
+ data.ContentAdministrator = obj.Attributes()["content_administrator"].(basetypes.ObjectValue)
+ data.ExternalUUID = obj.Attributes()["external_uuid"].(basetypes.StringValue)
+ data.Owner = obj.Attributes()["owner"].(basetypes.ObjectValue)
+ data.SelfServiceExistingGroups = obj.Attributes()["self_service_existing_groups"].(basetypes.BoolValue)
+ data.SelfServiceNewGroups = obj.Attributes()["self_service_new_groups"].(basetypes.BoolValue)
+ data.SelfServiceServiceAccounts = obj.Attributes()["self_service_service_accounts"].(basetypes.BoolValue)
+ data.ShouldDestroyUnknownAccounts = obj.Attributes()["should_destroy_unknown_accounts"].(basetypes.BoolValue)
+ data.TechnicalAdministrator = obj.Attributes()["technical_administrator"].(basetypes.ObjectValue)
+ data.UsernamePrefix = obj.Attributes()["username_prefix"].(basetypes.StringValue)
+ data.AbstractProvisionedLDAP = obj.Attributes()["abstract_provisioned_ldap"].(basetypes.ObjectValue)
+ data.ProvisionedAD = obj.Attributes()["provisioned_a_d"].(basetypes.ObjectValue)
+ data.ProvisionedAzureOIDCDirectory = obj.Attributes()["provisioned_azure_oidc_directory"].(basetypes.ObjectValue)
+ data.ProvisionedAzureSyncLDAPDirectory = obj.Attributes()["provisioned_azure_sync_ldap_directory"].(basetypes.ObjectValue)
+ data.ProvisionedAzureTenant = obj.Attributes()["provisioned_azure_tenant"].(basetypes.ObjectValue)
+ data.ProvisionedInternalLDAP = obj.Attributes()["provisioned_internal_ldap"].(basetypes.ObjectValue)
+ data.ProvisionedLDAP = obj.Attributes()["provisioned_ldap"].(basetypes.ObjectValue)
+ data.ProvisionedLDAPDirectory = obj.Attributes()["provisioned_ldap_directory"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedSystemLinkableWrapper(data *provisioningProvisionedSystemLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedSystemPrimer(data *provisioningProvisionedSystemPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.OrganizationalUnit = obj.Attributes()["organizational_unit"].(basetypes.ObjectValue)
+ data.ProvisioningProvisionedSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedSystemPrimerLinkableWrapper(data *provisioningProvisionedSystemPrimerLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisionedSystem_additionalObjects(data *provisioningProvisionedSystem_additionalObjectsDataDS, obj types.Object) {
+ data.Account = obj.Attributes()["account"].(basetypes.ObjectValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.IssuedPermissions = obj.Attributes()["issued_permissions"].(basetypes.ListValue)
+ data.LoginName = obj.Attributes()["login_name"].(basetypes.StringValue)
+ data.ManagementPermissions = obj.Attributes()["management_permissions"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Statistics = obj.Attributes()["statistics"].(basetypes.ObjectValue)
+ data.SupportedGroupTypes = obj.Attributes()["supported_group_types"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSProvisioningProvisioningManagementPermissions(data *provisioningProvisioningManagementPermissionsDataDS, obj types.Object) {
+ data.CreateNewGroupsAllowed = obj.Attributes()["create_new_groups_allowed"].(basetypes.BoolValue)
+ data.CreateServiceAccountsAllowed = obj.Attributes()["create_service_accounts_allowed"].(basetypes.BoolValue)
+ data.ReuseExistingGroupsAllowed = obj.Attributes()["reuse_existing_groups_allowed"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccount(data *serviceaccountServiceAccountDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.System = obj.Attributes()["system"].(basetypes.ObjectValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.Description = obj.Attributes()["description"].(basetypes.StringValue)
+ data.Password = obj.Attributes()["password"].(basetypes.ObjectValue)
+ data.PasswordRotation = obj.Attributes()["password_rotation"].(basetypes.StringValue)
+ data.TechnicalAdministrator = obj.Attributes()["technical_administrator"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccountGroup(data *serviceaccountServiceAccountGroupDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.NameInSystem = obj.Attributes()["name_in_system"].(basetypes.StringValue)
+ data.ProvisioningGroupOnSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ShortNameInSystem = obj.Attributes()["short_name_in_system"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccountGroupLinkableWrapper(data *serviceaccountServiceAccountGroupLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccountGroup_additionalObjects(data *serviceaccountServiceAccountGroup_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccountLinkableWrapper(data *serviceaccountServiceAccountLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccountPrimer(data *serviceaccountServiceAccountPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.System = obj.Attributes()["system"].(basetypes.ObjectValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccountPrimerLinkableWrapper(data *serviceaccountServiceAccountPrimerLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSServiceaccountServiceAccount_additionalObjects(data *serviceaccountServiceAccount_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSVaultPasswordMetadata(data *vaultPasswordMetadataDataDS, obj types.Object) {
+ data.Dictionary = obj.Attributes()["dictionary"].(basetypes.BoolValue)
+ data.Duplicate = obj.Attributes()["duplicate"].(basetypes.BoolValue)
+ data.Hash = obj.Attributes()["hash"].(basetypes.StringValue)
+ data.Length = obj.Attributes()["length"].(basetypes.Int64Value)
+ data.LowerCount = obj.Attributes()["lower_count"].(basetypes.Int64Value)
+ data.NumberCount = obj.Attributes()["number_count"].(basetypes.Int64Value)
+ data.SpecialCount = obj.Attributes()["special_count"].(basetypes.Int64Value)
+ data.Strength = obj.Attributes()["strength"].(basetypes.Int64Value)
+ data.UpperCount = obj.Attributes()["upper_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectDSVaultVault(data *vaultVaultDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccessAvailable = obj.Attributes()["access_available"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Records = obj.Attributes()["records"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSVaultVaultHolder(data *vaultVaultHolderDataDS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectDSVaultVaultRecord(data *vaultVaultRecordDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Color = obj.Attributes()["color"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.ShareEndTime = obj.Attributes()["share_end_time"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Parent = obj.Attributes()["parent"].(basetypes.ObjectValue)
+ data.PasswordMetadata = obj.Attributes()["password_metadata"].(basetypes.ObjectValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.ShareSummary = obj.Attributes()["share_summary"].(basetypes.ObjectValue)
+ data.Shares = obj.Attributes()["shares"].(basetypes.ListValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.Vaultholder = obj.Attributes()["vaultholder"].(basetypes.ObjectValue)
+ data.Derived = obj.Attributes()["derived"].(basetypes.BoolValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.Filename = obj.Attributes()["filename"].(basetypes.StringValue)
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+ data.URL = obj.Attributes()["url"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.WarningPeriod = obj.Attributes()["warning_period"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSVaultVaultRecordPrimer(data *vaultVaultRecordPrimerDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Color = obj.Attributes()["color"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.ShareEndTime = obj.Attributes()["share_end_time"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSVaultVaultRecordPrimerLinkableWrapper(data *vaultVaultRecordPrimerLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSVaultVaultRecordSecrets(data *vaultVaultRecordSecretsDataDS, obj types.Object) {
+ data.Comment = obj.Attributes()["comment"].(basetypes.StringValue)
+ data.File = obj.Attributes()["file"].(basetypes.StringValue)
+ data.Password = obj.Attributes()["password"].(basetypes.StringValue)
+ data.Totp = obj.Attributes()["totp"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSVaultVaultRecordShare(data *vaultVaultRecordShareDataDS, obj types.Object) {
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.VaultVaultRecordShareType = obj.Attributes()["type"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectDSVaultVaultRecordShareSummary(data *vaultVaultRecordShareSummaryDataDS, obj types.Object) {
+ data.Children = obj.Attributes()["children"].(basetypes.ListValue)
+ data.Parent = obj.Attributes()["parent"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSVaultVaultRecord_additionalObjects(data *vaultVaultRecord_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Parent = obj.Attributes()["parent"].(basetypes.ObjectValue)
+ data.PasswordMetadata = obj.Attributes()["password_metadata"].(basetypes.ObjectValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.ShareSummary = obj.Attributes()["share_summary"].(basetypes.ObjectValue)
+ data.Shares = obj.Attributes()["shares"].(basetypes.ListValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.Vaultholder = obj.Attributes()["vaultholder"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectDSWebhookWebhook(data *webhookWebhookDataDS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Additional = obj.Attributes()["additional"].(basetypes.ListValue)
+ data.Account = obj.Attributes()["account"].(basetypes.ObjectValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.AllTypes = obj.Attributes()["all_types"].(basetypes.BoolValue)
+ data.AuthenticationScheme = obj.Attributes()["authentication_scheme"].(basetypes.StringValue)
+ data.BasicAuthPassword = obj.Attributes()["basic_auth_password"].(basetypes.StringValue)
+ data.BasicAuthUsername = obj.Attributes()["basic_auth_username"].(basetypes.StringValue)
+ data.BearerToken = obj.Attributes()["bearer_token"].(basetypes.StringValue)
+ data.Client = obj.Attributes()["client"].(basetypes.ObjectValue)
+ data.ClientCertificate = obj.Attributes()["client_certificate"].(basetypes.ObjectValue)
+ data.CustomHeaderName = obj.Attributes()["custom_header_name"].(basetypes.StringValue)
+ data.CustomHeaderValue = obj.Attributes()["custom_header_value"].(basetypes.StringValue)
+ data.Directory = obj.Attributes()["directory"].(basetypes.ObjectValue)
+ data.Group = obj.Attributes()["group"].(basetypes.ObjectValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.System = obj.Attributes()["system"].(basetypes.ObjectValue)
+ data.TLS = obj.Attributes()["tls"].(basetypes.StringValue)
+ data.TrustedCertificate = obj.Attributes()["trusted_certificate"].(basetypes.ObjectValue)
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+ data.URL = obj.Attributes()["url"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.VerbosePayloads = obj.Attributes()["verbose_payloads"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectDSWebhookWebhookLinkableWrapper(data *webhookWebhookLinkableWrapperDataDS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectDSWebhookWebhook_additionalObjects(data *webhookWebhook_additionalObjectsDataDS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
diff --git a/internal/provider/full-tf-to-data-struct-rs.go b/internal/provider/full-tf-to-data-struct-rs.go
new file mode 100644
index 0000000..1b3fc4d
--- /dev/null
+++ b/internal/provider/full-tf-to-data-struct-rs.go
@@ -0,0 +1,1018 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+)
+
+func fillDataStructFromTFObjectRSAuditInfo(data *auditInfoDataRS, obj types.Object) {
+ data.CreatedAt = obj.Attributes()["created_at"].(basetypes.StringValue)
+ data.CreatedBy = obj.Attributes()["created_by"].(basetypes.StringValue)
+ data.LastModifiedAt = obj.Attributes()["last_modified_at"].(basetypes.StringValue)
+ data.LastModifiedBy = obj.Attributes()["last_modified_by"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSGeneratedSecret(data *generatedSecretDataRS, obj types.Object) {
+ data.GeneratedSecret = obj.Attributes()["generated_secret"].(basetypes.StringValue)
+ data.OldSecret = obj.Attributes()["old_secret"].(basetypes.StringValue)
+ data.Regenerate = obj.Attributes()["regenerate"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSLinkable(data *linkableDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSNonLinkable(data *nonLinkableDataRS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectRSRestLink(data *restLinkDataRS, obj types.Object) {
+ data.Href = obj.Attributes()["href"].(basetypes.StringValue)
+ data.ID = obj.Attributes()["id"].(basetypes.Int64Value)
+ data.Rel = obj.Attributes()["rel"].(basetypes.StringValue)
+ data.TypeEscaped = obj.Attributes()["type_escaped"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSAuthAccountPrimer(data *authAccountPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.LastActive = obj.Attributes()["last_active"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Validity = obj.Attributes()["validity"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSAuthPermission(data *authPermissionDataRS, obj types.Object) {
+ data.Full = obj.Attributes()["full"].(basetypes.StringValue)
+ data.Instances = obj.Attributes()["instances"].(basetypes.ListValue)
+ data.Operations = obj.Attributes()["operations"].(basetypes.ListValue)
+ data.TypeEscaped = obj.Attributes()["type_escaped"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSCertificateCertificatePrimer(data *certificateCertificatePrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Alias = obj.Attributes()["alias"].(basetypes.StringValue)
+ data.CertificateCertificatePrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.CertificateData = obj.Attributes()["certificate_data"].(basetypes.ListValue)
+ data.Expiration = obj.Attributes()["expiration"].(basetypes.StringValue)
+ data.FingerprintSha1 = obj.Attributes()["fingerprint_sha1"].(basetypes.StringValue)
+ data.FingerprintSha256 = obj.Attributes()["fingerprint_sha256"].(basetypes.StringValue)
+ data.Global = obj.Attributes()["global"].(basetypes.BoolValue)
+ data.SubjectDN = obj.Attributes()["subject_dn"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSClientApplicationVaultVaultRecord(data *clientApplicationVaultVaultRecordDataRS, obj types.Object) {
+ data.ClientApplicationUUID = obj.Attributes()["client_application_uuid"].(basetypes.StringValue)
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Color = obj.Attributes()["color"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.ShareEndTime = obj.Attributes()["share_end_time"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.DeleteTile = obj.Attributes()["delete_tile"].(basetypes.BoolValue)
+ data.ParentUUID = obj.Attributes()["parent_uuid"].(basetypes.StringValue)
+ data.PasswordMetadata = obj.Attributes()["password_metadata"].(basetypes.ObjectValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.ShareSummary = obj.Attributes()["share_summary"].(basetypes.ObjectValue)
+ data.Shares = obj.Attributes()["shares"].(basetypes.ListValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.Vaultholder = obj.Attributes()["vaultholder"].(basetypes.ObjectValue)
+ data.Derived = obj.Attributes()["derived"].(basetypes.BoolValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.Filename = obj.Attributes()["filename"].(basetypes.StringValue)
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+ data.URL = obj.Attributes()["url"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.WarningPeriod = obj.Attributes()["warning_period"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSClientClientApplication(data *clientClientApplicationDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.ClientClientApplicationPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Scopes = obj.Attributes()["scopes"].(basetypes.ListValue)
+ data.SsoApplication = obj.Attributes()["sso_application"].(basetypes.BoolValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.DeleteTile = obj.Attributes()["delete_tile"].(basetypes.BoolValue)
+ data.Groupclients = obj.Attributes()["groupclients"].(basetypes.ListValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.VaultRecordCount = obj.Attributes()["vault_record_count"].(basetypes.Int64Value)
+ data.LastModifiedAt = obj.Attributes()["last_modified_at"].(basetypes.StringValue)
+ data.OwnerUUID = obj.Attributes()["owner_uuid"].(basetypes.StringValue)
+ data.TechnicalAdministratorUUID = obj.Attributes()["technical_administrator_uuid"].(basetypes.StringValue)
+ data.LDAPClient = obj.Attributes()["ldap_client"].(basetypes.ObjectValue)
+ data.OAuth2Client = obj.Attributes()["o_auth2_client"].(basetypes.ObjectValue)
+ data.Saml2Client = obj.Attributes()["saml2_client"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSClientClientApplicationLinkableWrapper(data *clientClientApplicationLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSClientClientApplicationPrimer(data *clientClientApplicationPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.ClientClientApplicationPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Scopes = obj.Attributes()["scopes"].(basetypes.ListValue)
+ data.SsoApplication = obj.Attributes()["sso_application"].(basetypes.BoolValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSClientClientApplication_additionalObjects(data *clientClientApplication_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.DeleteTile = obj.Attributes()["delete_tile"].(basetypes.BoolValue)
+ data.Groupclients = obj.Attributes()["groupclients"].(basetypes.ListValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.VaultRecordCount = obj.Attributes()["vault_record_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSClientLdapClient(data *clientLdapClientDataRS, obj types.Object) {
+ data.BindDN = obj.Attributes()["bind_dn"].(basetypes.StringValue)
+ data.ClientCertificateUUID = obj.Attributes()["client_certificate_uuid"].(basetypes.StringValue)
+ data.ShareSecretInVault = obj.Attributes()["share_secret_in_vault"].(basetypes.BoolValue)
+ data.SharedSecretUUID = obj.Attributes()["shared_secret_uuid"].(basetypes.StringValue)
+ data.UsedForProvisioning = obj.Attributes()["used_for_provisioning"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSClientOAuth2Client(data *clientOAuth2ClientDataRS, obj types.Object) {
+ data.AccountPermissions = obj.Attributes()["account_permissions"].(basetypes.ListValue)
+ data.Attributes = obj.Attributes()["attributes"].(basetypes.MapValue)
+ data.CallbackURI = obj.Attributes()["callback_uri"].(basetypes.StringValue)
+ data.Confidential = obj.Attributes()["confidential"].(basetypes.BoolValue)
+ data.DebugMode = obj.Attributes()["debug_mode"].(basetypes.BoolValue)
+ data.IDTokenClaims = obj.Attributes()["id_token_claims"].(basetypes.StringValue)
+ data.InitiateLoginURI = obj.Attributes()["initiate_login_uri"].(basetypes.StringValue)
+ data.ResourceURIs = obj.Attributes()["resource_uris"].(basetypes.StringValue)
+ data.ShareSecretInVault = obj.Attributes()["share_secret_in_vault"].(basetypes.BoolValue)
+ data.SharedSecretUUID = obj.Attributes()["shared_secret_uuid"].(basetypes.StringValue)
+ data.ShowLandingPage = obj.Attributes()["show_landing_page"].(basetypes.BoolValue)
+ data.UseClientCredentials = obj.Attributes()["use_client_credentials"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSClientOAuth2ClientPermission(data *clientOAuth2ClientPermissionDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.ForGroupUUID = obj.Attributes()["for_group_uuid"].(basetypes.StringValue)
+ data.ForSystemUUID = obj.Attributes()["for_system_uuid"].(basetypes.StringValue)
+ data.Value = obj.Attributes()["value"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSClientOAuth2ClientPermissionWithClient(data *clientOAuth2ClientPermissionWithClientDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.ForGroupUUID = obj.Attributes()["for_group_uuid"].(basetypes.StringValue)
+ data.ForSystemUUID = obj.Attributes()["for_system_uuid"].(basetypes.StringValue)
+ data.Value = obj.Attributes()["value"].(basetypes.StringValue)
+ data.ClientUUID = obj.Attributes()["client_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSClientOAuth2ClientPermissionWithClientLinkableWrapper(data *clientOAuth2ClientPermissionWithClientLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSClientOAuth2ClientPermission_additionalObjects(data *clientOAuth2ClientPermission_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSClientSaml2Client(data *clientSaml2ClientDataRS, obj types.Object) {
+ data.Attributes = obj.Attributes()["attributes"].(basetypes.MapValue)
+ data.Metadata = obj.Attributes()["metadata"].(basetypes.StringValue)
+ data.MetadataURL = obj.Attributes()["metadata_url"].(basetypes.StringValue)
+ data.SubjectFormat = obj.Attributes()["subject_format"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryAccountDirectory(data *directoryAccountDirectoryDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountValiditySupported = obj.Attributes()["account_validity_supported"].(basetypes.BoolValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.DirectoryAccountDirectoryPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Status = obj.Attributes()["status"].(basetypes.ObjectValue)
+ data.BaseOrganizationalUnitUUID = obj.Attributes()["base_organizational_unit_uuid"].(basetypes.StringValue)
+ data.DefaultDirectory = obj.Attributes()["default_directory"].(basetypes.BoolValue)
+ data.HelpdeskGroupUUID = obj.Attributes()["helpdesk_group_uuid"].(basetypes.StringValue)
+ data.Restrict2fa = obj.Attributes()["restrict2fa"].(basetypes.BoolValue)
+ data.RotatingPassword = obj.Attributes()["rotating_password"].(basetypes.StringValue)
+ data.UsernameCustomizable = obj.Attributes()["username_customizable"].(basetypes.BoolValue)
+ data.InternalDirectory = obj.Attributes()["internal_directory"].(basetypes.ObjectValue)
+ data.LDAPDirectory = obj.Attributes()["l_d_a_p_directory"].(basetypes.ObjectValue)
+ data.MaintenanceDirectory = obj.Attributes()["maintenance_directory"].(basetypes.ObjectValue)
+ data.OIDCDirectory = obj.Attributes()["o_id_c_directory"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryAccountDirectoryLinkableWrapper(data *directoryAccountDirectoryLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryAccountDirectoryPrimer(data *directoryAccountDirectoryPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountValiditySupported = obj.Attributes()["account_validity_supported"].(basetypes.BoolValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.DirectoryAccountDirectoryPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryAccountDirectoryStatusReport(data *directoryAccountDirectoryStatusReportDataRS, obj types.Object) {
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.Int64Value)
+ data.Reason = obj.Attributes()["reason"].(basetypes.StringValue)
+ data.Status = obj.Attributes()["status"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryAccountDirectorySummary(data *directoryAccountDirectorySummaryDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DirectoryAccountDirectorySummaryType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.DomainRestriction = obj.Attributes()["domain_restriction"].(basetypes.StringValue)
+ data.FullyResolvedIssuer = obj.Attributes()["fully_resolved_issuer"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Status = obj.Attributes()["status"].(basetypes.ObjectValue)
+ data.UsernameCustomizable = obj.Attributes()["username_customizable"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryAccountDirectorySummaryLinkableWrapper(data *directoryAccountDirectorySummaryLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryAccountDirectory_additionalObjects(data *directoryAccountDirectory_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Status = obj.Attributes()["status"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryInternalDirectory(data *directoryInternalDirectoryDataRS, obj types.Object) {
+ data.OwnerUUID = obj.Attributes()["owner_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryLDAPDirectory(data *directoryLDAPDirectoryDataRS, obj types.Object) {
+ data.AttributesToStore = obj.Attributes()["attributes_to_store"].(basetypes.StringValue)
+ data.BaseDN = obj.Attributes()["base_dn"].(basetypes.StringValue)
+ data.ClientCertificateUUID = obj.Attributes()["client_certificate_uuid"].(basetypes.StringValue)
+ data.Dialect = obj.Attributes()["dialect"].(basetypes.StringValue)
+ data.FailoverHost = obj.Attributes()["failover_host"].(basetypes.StringValue)
+ data.FailoverTrustedCertificateUUID = obj.Attributes()["failover_trusted_certificate_uuid"].(basetypes.StringValue)
+ data.Host = obj.Attributes()["host"].(basetypes.StringValue)
+ data.PasswordRecovery = obj.Attributes()["password_recovery"].(basetypes.StringValue)
+ data.Port = obj.Attributes()["port"].(basetypes.Int64Value)
+ data.SearchBindDN = obj.Attributes()["search_bind_dn"].(basetypes.StringValue)
+ data.SearchBindPassword = obj.Attributes()["search_bind_password"].(basetypes.StringValue)
+ data.SearchFilter = obj.Attributes()["search_filter"].(basetypes.StringValue)
+ data.TLS = obj.Attributes()["tls"].(basetypes.StringValue)
+ data.TrustedCertificateUUID = obj.Attributes()["trusted_certificate_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSDirectoryMaintenanceDirectory(data *directoryMaintenanceDirectoryDataRS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectRSDirectoryOIDCDirectory(data *directoryOIDCDirectoryDataRS, obj types.Object) {
+ data.AcrValues = obj.Attributes()["acr_values"].(basetypes.StringValue)
+ data.AttributesToStore = obj.Attributes()["attributes_to_store"].(basetypes.StringValue)
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.ClientSecret = obj.Attributes()["client_secret"].(basetypes.StringValue)
+ data.DomainRestriction = obj.Attributes()["domain_restriction"].(basetypes.StringValue)
+ data.Enforces2fa = obj.Attributes()["enforces2fa"].(basetypes.BoolValue)
+ data.FullyResolvedIssuer = obj.Attributes()["fully_resolved_issuer"].(basetypes.StringValue)
+ data.Issuer = obj.Attributes()["issuer"].(basetypes.StringValue)
+ data.LogoutURL = obj.Attributes()["logout_url"].(basetypes.StringValue)
+ data.SendLoginHint = obj.Attributes()["send_login_hint"].(basetypes.BoolValue)
+ data.VendorEscaped = obj.Attributes()["vendor_escaped"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSGroupAuthorizedGroupsWrapper(data *groupAuthorizedGroupsWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+ data.GroupCount = obj.Attributes()["group_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSGroupGroup(data *groupGroupDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Admin = obj.Attributes()["admin"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.ListValue)
+ data.AdministeredClients = obj.Attributes()["administered_clients"].(basetypes.ListValue)
+ data.AdministeredSystems = obj.Attributes()["administered_systems"].(basetypes.ListValue)
+ data.Admins = obj.Attributes()["admins"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.AuthorizedGroups = obj.Attributes()["authorized_groups"].(basetypes.ObjectValue)
+ data.ClientPermissions = obj.Attributes()["client_permissions"].(basetypes.ListValue)
+ data.Clients = obj.Attributes()["clients"].(basetypes.ListValue)
+ data.ContentAdministeredSystems = obj.Attributes()["content_administered_systems"].(basetypes.ListValue)
+ data.Groupauditinginfo = obj.Attributes()["groupauditinginfo"].(basetypes.ObjectValue)
+ data.Groupinfo = obj.Attributes()["groupinfo"].(basetypes.ObjectValue)
+ data.Helpdesk = obj.Attributes()["helpdesk"].(basetypes.ListValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Myaccount = obj.Attributes()["myaccount"].(basetypes.ObjectValue)
+ data.Mydelegatedaccount = obj.Attributes()["mydelegatedaccount"].(basetypes.ObjectValue)
+ data.NestedGroups = obj.Attributes()["nested_groups"].(basetypes.ListValue)
+ data.OwnedClients = obj.Attributes()["owned_clients"].(basetypes.ListValue)
+ data.OwnedDirectories = obj.Attributes()["owned_directories"].(basetypes.ListValue)
+ data.OwnedGroupsOnSystem = obj.Attributes()["owned_groups_on_system"].(basetypes.ObjectValue)
+ data.OwnedOrganizationalUnits = obj.Attributes()["owned_organizational_units"].(basetypes.ListValue)
+ data.OwnedSystems = obj.Attributes()["owned_systems"].(basetypes.ListValue)
+ data.RecentAudits = obj.Attributes()["recent_audits"].(basetypes.ListValue)
+ data.Requeststatus = obj.Attributes()["requeststatus"].(basetypes.StringValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+ data.Webhooks = obj.Attributes()["webhooks"].(basetypes.ListValue)
+ data.ApplicationAdministration = obj.Attributes()["application_administration"].(basetypes.BoolValue)
+ data.AuditConfig = obj.Attributes()["audit_config"].(basetypes.ObjectValue)
+ data.AuditRequested = obj.Attributes()["audit_requested"].(basetypes.BoolValue)
+ data.Auditor = obj.Attributes()["auditor"].(basetypes.BoolValue)
+ data.AuthorizingGroupAuditingUUID = obj.Attributes()["authorizing_group_auditing_uuid"].(basetypes.StringValue)
+ data.AuthorizingGroupDelegationUUID = obj.Attributes()["authorizing_group_delegation_uuid"].(basetypes.StringValue)
+ data.AuthorizingGroupMembershipUUID = obj.Attributes()["authorizing_group_membership_uuid"].(basetypes.StringValue)
+ data.AuthorizingGroupProvisioningUUID = obj.Attributes()["authorizing_group_provisioning_uuid"].(basetypes.StringValue)
+ data.AuthorizingGroupTypes = obj.Attributes()["authorizing_group_types"].(basetypes.ListValue)
+ data.ClassificationUUID = obj.Attributes()["classification_uuid"].(basetypes.StringValue)
+ data.Description = obj.Attributes()["description"].(basetypes.StringValue)
+ data.ExtendedAccess = obj.Attributes()["extended_access"].(basetypes.StringValue)
+ data.HideAuditTrail = obj.Attributes()["hide_audit_trail"].(basetypes.BoolValue)
+ data.NestedUnderUUID = obj.Attributes()["nested_under_uuid"].(basetypes.StringValue)
+ data.OrganizationalUnitUUID = obj.Attributes()["organizational_unit_uuid"].(basetypes.StringValue)
+ data.PrivateGroup = obj.Attributes()["private_group"].(basetypes.BoolValue)
+ data.RecordTrail = obj.Attributes()["record_trail"].(basetypes.BoolValue)
+ data.RotatingPasswordRequired = obj.Attributes()["rotating_password_required"].(basetypes.BoolValue)
+ data.SingleManaged = obj.Attributes()["single_managed"].(basetypes.BoolValue)
+ data.VaultRecovery = obj.Attributes()["vault_recovery"].(basetypes.StringValue)
+ data.VaultRequiresActivation = obj.Attributes()["vault_requires_activation"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAccount(data *groupGroupAccountDataRS, obj types.Object) {
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.DirectoryUUID = obj.Attributes()["directory_uuid"].(basetypes.StringValue)
+ data.DisconnectedNested = obj.Attributes()["disconnected_nested"].(basetypes.BoolValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.LastUsed = obj.Attributes()["last_used"].(basetypes.StringValue)
+ data.Nested = obj.Attributes()["nested"].(basetypes.BoolValue)
+ data.ProvisioningEndTime = obj.Attributes()["provisioning_end_time"].(basetypes.StringValue)
+ data.Rights = obj.Attributes()["rights"].(basetypes.StringValue)
+ data.TwoFactorStatus = obj.Attributes()["two_factor_status"].(basetypes.StringValue)
+ data.VisibleForProvisioning = obj.Attributes()["visible_for_provisioning"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAccountLinkableWrapper(data *groupGroupAccountLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAccount_additionalObjects(data *groupGroupAccount_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAudit(data *groupGroupAuditDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Comment = obj.Attributes()["comment"].(basetypes.StringValue)
+ data.CreatedAt = obj.Attributes()["created_at"].(basetypes.StringValue)
+ data.CreatedBy = obj.Attributes()["created_by"].(basetypes.StringValue)
+ data.GroupName = obj.Attributes()["group_name"].(basetypes.StringValue)
+ data.NameOnAudit = obj.Attributes()["name_on_audit"].(basetypes.StringValue)
+ data.ReviewedAt = obj.Attributes()["reviewed_at"].(basetypes.StringValue)
+ data.ReviewedBy = obj.Attributes()["reviewed_by"].(basetypes.StringValue)
+ data.Status = obj.Attributes()["status"].(basetypes.StringValue)
+ data.SubmittedAt = obj.Attributes()["submitted_at"].(basetypes.StringValue)
+ data.SubmittedBy = obj.Attributes()["submitted_by"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAuditAccount(data *groupGroupAuditAccountDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountUUID = obj.Attributes()["account_uuid"].(basetypes.StringValue)
+ data.AccountValid = obj.Attributes()["account_valid"].(basetypes.BoolValue)
+ data.Action = obj.Attributes()["action"].(basetypes.StringValue)
+ data.Comment = obj.Attributes()["comment"].(basetypes.StringValue)
+ data.DisconnectedNested = obj.Attributes()["disconnected_nested"].(basetypes.BoolValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.LastActive = obj.Attributes()["last_active"].(basetypes.StringValue)
+ data.LastUsed = obj.Attributes()["last_used"].(basetypes.StringValue)
+ data.Nested = obj.Attributes()["nested"].(basetypes.BoolValue)
+ data.Rights = obj.Attributes()["rights"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAuditConfig(data *groupGroupAuditConfigDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Months = obj.Attributes()["months"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAuditLinkableWrapper(data *groupGroupAuditLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAudit_additionalObjects(data *groupGroupAudit_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupAuditingInfo(data *groupGroupAuditingInfoDataRS, obj types.Object) {
+ data.AuditDueDate = obj.Attributes()["audit_due_date"].(basetypes.StringValue)
+ data.LastAuditDate = obj.Attributes()["last_audit_date"].(basetypes.StringValue)
+ data.NrAccounts = obj.Attributes()["nr_accounts"].(basetypes.Int64Value)
+ data.NrDisabledAccounts = obj.Attributes()["nr_disabled_accounts"].(basetypes.Int64Value)
+ data.NrDisabledManagers = obj.Attributes()["nr_disabled_managers"].(basetypes.Int64Value)
+ data.NrExpiredVaultRecords = obj.Attributes()["nr_expired_vault_records"].(basetypes.Int64Value)
+ data.NrManagers = obj.Attributes()["nr_managers"].(basetypes.Int64Value)
+ data.NrVaultRecordsWithEndDate = obj.Attributes()["nr_vault_records_with_end_date"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupClassificationPrimer(data *groupGroupClassificationPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupClient(data *groupGroupClientDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.ActivationRequired = obj.Attributes()["activation_required"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.ClientUUID = obj.Attributes()["client_uuid"].(basetypes.StringValue)
+ data.GroupUUID = obj.Attributes()["group_uuid"].(basetypes.StringValue)
+ data.OwnerUUID = obj.Attributes()["owner_uuid"].(basetypes.StringValue)
+ data.TechnicalAdministratorUUID = obj.Attributes()["technical_administrator_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupClientLinkableWrapper(data *groupGroupClientLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupClient_additionalObjects(data *groupGroupClient_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupInfo(data *groupGroupInfoDataRS, obj types.Object) {
+ data.NrAccounts = obj.Attributes()["nr_accounts"].(basetypes.Int64Value)
+ data.NrAccountsWithVault = obj.Attributes()["nr_accounts_with_vault"].(basetypes.Int64Value)
+ data.NrAudits = obj.Attributes()["nr_audits"].(basetypes.Int64Value)
+ data.NrClients = obj.Attributes()["nr_clients"].(basetypes.Int64Value)
+ data.NrProvisionedSystems = obj.Attributes()["nr_provisioned_systems"].(basetypes.Int64Value)
+ data.NrVaultRecords = obj.Attributes()["nr_vault_records"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupLinkableWrapper(data *groupGroupLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupPrimer(data *groupGroupPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Admin = obj.Attributes()["admin"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroupPrimerLinkableWrapper(data *groupGroupPrimerLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupGroup_additionalObjects(data *groupGroup_additionalObjectsDataRS, obj types.Object) {
+ data.Accounts = obj.Attributes()["accounts"].(basetypes.ListValue)
+ data.AdministeredClients = obj.Attributes()["administered_clients"].(basetypes.ListValue)
+ data.AdministeredSystems = obj.Attributes()["administered_systems"].(basetypes.ListValue)
+ data.Admins = obj.Attributes()["admins"].(basetypes.ListValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.AuthorizedGroups = obj.Attributes()["authorized_groups"].(basetypes.ObjectValue)
+ data.ClientPermissions = obj.Attributes()["client_permissions"].(basetypes.ListValue)
+ data.Clients = obj.Attributes()["clients"].(basetypes.ListValue)
+ data.ContentAdministeredSystems = obj.Attributes()["content_administered_systems"].(basetypes.ListValue)
+ data.Groupauditinginfo = obj.Attributes()["groupauditinginfo"].(basetypes.ObjectValue)
+ data.Groupinfo = obj.Attributes()["groupinfo"].(basetypes.ObjectValue)
+ data.Helpdesk = obj.Attributes()["helpdesk"].(basetypes.ListValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Myaccount = obj.Attributes()["myaccount"].(basetypes.ObjectValue)
+ data.Mydelegatedaccount = obj.Attributes()["mydelegatedaccount"].(basetypes.ObjectValue)
+ data.NestedGroups = obj.Attributes()["nested_groups"].(basetypes.ListValue)
+ data.OwnedClients = obj.Attributes()["owned_clients"].(basetypes.ListValue)
+ data.OwnedDirectories = obj.Attributes()["owned_directories"].(basetypes.ListValue)
+ data.OwnedGroupsOnSystem = obj.Attributes()["owned_groups_on_system"].(basetypes.ObjectValue)
+ data.OwnedOrganizationalUnits = obj.Attributes()["owned_organizational_units"].(basetypes.ListValue)
+ data.OwnedSystems = obj.Attributes()["owned_systems"].(basetypes.ListValue)
+ data.RecentAudits = obj.Attributes()["recent_audits"].(basetypes.ListValue)
+ data.Requeststatus = obj.Attributes()["requeststatus"].(basetypes.StringValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+ data.Vault = obj.Attributes()["vault"].(basetypes.ObjectValue)
+ data.Webhooks = obj.Attributes()["webhooks"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupProvisioningGroup(data *groupProvisioningGroupDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.ActivationRequired = obj.Attributes()["activation_required"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.GroupUUID = obj.Attributes()["group_uuid"].(basetypes.StringValue)
+ data.GroupOnSystem = obj.Attributes()["group_on_system"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSGroupProvisioningGroupLinkableWrapper(data *groupProvisioningGroupLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSGroupProvisioningGroup_additionalObjects(data *groupProvisioningGroup_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSGroupVaultVaultRecord(data *groupVaultVaultRecordDataRS, obj types.Object) {
+ data.GroupUUID = obj.Attributes()["group_uuid"].(basetypes.StringValue)
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Color = obj.Attributes()["color"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.ShareEndTime = obj.Attributes()["share_end_time"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.DeleteTile = obj.Attributes()["delete_tile"].(basetypes.BoolValue)
+ data.ParentUUID = obj.Attributes()["parent_uuid"].(basetypes.StringValue)
+ data.PasswordMetadata = obj.Attributes()["password_metadata"].(basetypes.ObjectValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.ShareSummary = obj.Attributes()["share_summary"].(basetypes.ObjectValue)
+ data.Shares = obj.Attributes()["shares"].(basetypes.ListValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.Vaultholder = obj.Attributes()["vaultholder"].(basetypes.ObjectValue)
+ data.Derived = obj.Attributes()["derived"].(basetypes.BoolValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.Filename = obj.Attributes()["filename"].(basetypes.StringValue)
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+ data.URL = obj.Attributes()["url"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.WarningPeriod = obj.Attributes()["warning_period"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSLaunchpadSsoApplicationLaunchpadTile(data *launchpadSsoApplicationLaunchpadTileDataRS, obj types.Object) {
+ data.URI = obj.Attributes()["uri"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSLaunchpadVaultRecordLaunchpadTile(data *launchpadVaultRecordLaunchpadTileDataRS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectRSMarkItemMarker(data *markItemMarkerDataRS, obj types.Object) {
+ data.Level = obj.Attributes()["level"].(basetypes.StringValue)
+ data.MarkItemMarkerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.Parameters = obj.Attributes()["parameters"].(basetypes.MapValue)
+}
+
+func fillDataStructFromTFObjectRSMarkItemMarkers(data *markItemMarkersDataRS, obj types.Object) {
+ data.Markers = obj.Attributes()["markers"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSNestedProvisioningGroupOnSystem(data *nestedProvisioningGroupOnSystemDataRS, obj types.Object) {
+ data.ProvisionedSystemUUID = obj.Attributes()["provisioned_system_uuid"].(basetypes.StringValue)
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.NameInSystem = obj.Attributes()["name_in_system"].(basetypes.StringValue)
+ data.ProvisioningGroupOnSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ShortNameInSystem = obj.Attributes()["short_name_in_system"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Provgroups = obj.Attributes()["provgroups"].(basetypes.ListValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+ data.OwnerUUID = obj.Attributes()["owner_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSOrganizationOrganizationalUnit(data *organizationOrganizationalUnitDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.CreateAsParentOf = obj.Attributes()["create_as_parent_of"].(basetypes.ListValue)
+ data.Depth = obj.Attributes()["depth"].(basetypes.Int64Value)
+ data.Description = obj.Attributes()["description"].(basetypes.StringValue)
+ data.OwnerUUID = obj.Attributes()["owner_uuid"].(basetypes.StringValue)
+ data.ParentUUID = obj.Attributes()["parent_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSOrganizationOrganizationalUnitLinkableWrapper(data *organizationOrganizationalUnitLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSOrganizationOrganizationalUnitPrimer(data *organizationOrganizationalUnitPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSOrganizationOrganizationalUnitPrimerLinkableWrapper(data *organizationOrganizationalUnitPrimerLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSOrganizationOrganizationalUnit_additionalObjects(data *organizationOrganizationalUnit_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.CreateAsParentOf = obj.Attributes()["create_as_parent_of"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningAbstractProvisionedLDAP(data *provisioningAbstractProvisionedLDAPDataRS, obj types.Object) {
+ data.Attributes = obj.Attributes()["attributes"].(basetypes.MapValue)
+ data.BaseDN = obj.Attributes()["base_dn"].(basetypes.StringValue)
+ data.BindDN = obj.Attributes()["bind_dn"].(basetypes.StringValue)
+ data.BindPassword = obj.Attributes()["bind_password"].(basetypes.StringValue)
+ data.ClientCertificateUUID = obj.Attributes()["client_certificate_uuid"].(basetypes.StringValue)
+ data.FailoverHost = obj.Attributes()["failover_host"].(basetypes.StringValue)
+ data.FailoverTrustedCertificateUUID = obj.Attributes()["failover_trusted_certificate_uuid"].(basetypes.StringValue)
+ data.GroupDN = obj.Attributes()["group_dn"].(basetypes.StringValue)
+ data.Host = obj.Attributes()["host"].(basetypes.StringValue)
+ data.ObjectClasses = obj.Attributes()["object_classes"].(basetypes.StringValue)
+ data.Port = obj.Attributes()["port"].(basetypes.Int64Value)
+ data.ServiceAccountDN = obj.Attributes()["service_account_dn"].(basetypes.StringValue)
+ data.SshPublicKeySupported = obj.Attributes()["ssh_public_key_supported"].(basetypes.BoolValue)
+ data.TLS = obj.Attributes()["tls"].(basetypes.StringValue)
+ data.TrustedCertificateUUID = obj.Attributes()["trusted_certificate_uuid"].(basetypes.StringValue)
+ data.UserDN = obj.Attributes()["user_dn"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningCircuitBreakerStatistics(data *provisioningCircuitBreakerStatisticsDataRS, obj types.Object) {
+ data.NumberOfFailedCalls = obj.Attributes()["number_of_failed_calls"].(basetypes.Int64Value)
+ data.NumberOfNotPermittedCalls = obj.Attributes()["number_of_not_permitted_calls"].(basetypes.Int64Value)
+ data.NumberOfSuccessfulCalls = obj.Attributes()["number_of_successful_calls"].(basetypes.Int64Value)
+ data.State = obj.Attributes()["state"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningGroupOnSystem(data *provisioningGroupOnSystemDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.NameInSystem = obj.Attributes()["name_in_system"].(basetypes.StringValue)
+ data.ProvisioningGroupOnSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ShortNameInSystem = obj.Attributes()["short_name_in_system"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Provgroups = obj.Attributes()["provgroups"].(basetypes.ListValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+ data.OwnerUUID = obj.Attributes()["owner_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningGroupOnSystemLinkableWrapper(data *provisioningGroupOnSystemLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningGroupOnSystemPrimer(data *provisioningGroupOnSystemPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.NameInSystem = obj.Attributes()["name_in_system"].(basetypes.StringValue)
+ data.ProvisioningGroupOnSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ShortNameInSystem = obj.Attributes()["short_name_in_system"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningGroupOnSystemTypes(data *provisioningGroupOnSystemTypesDataRS, obj types.Object) {
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningGroupOnSystem_additionalObjects(data *provisioningGroupOnSystem_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Provgroups = obj.Attributes()["provgroups"].(basetypes.ListValue)
+ data.ServiceAccounts = obj.Attributes()["service_accounts"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningOwnedGroupOnSystemsWrapper(data *provisioningOwnedGroupOnSystemsWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+ data.UnlinkedCount = obj.Attributes()["unlinked_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionNumberSequence(data *provisioningProvisionNumberSequenceDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountCount = obj.Attributes()["account_count"].(basetypes.Int64Value)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.NextUID = obj.Attributes()["next_uid"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionNumberSequence_additionalObjects(data *provisioningProvisionNumberSequence_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Systems = obj.Attributes()["systems"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedAD(data *provisioningProvisionedADDataRS, obj types.Object) {
+ data.SamAccountNameScheme = obj.Attributes()["sam_account_name_scheme"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedAccount(data *provisioningProvisionedAccountDataRS, obj types.Object) {
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.UID = obj.Attributes()["uid"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedAccount_additionalObjects(data *provisioningProvisionedAccount_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedAzureOIDCDirectory(data *provisioningProvisionedAzureOIDCDirectoryDataRS, obj types.Object) {
+ data.DirectoryUUID = obj.Attributes()["directory_uuid"].(basetypes.StringValue)
+ data.Tenant = obj.Attributes()["tenant"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedAzureSyncLDAPDirectory(data *provisioningProvisionedAzureSyncLDAPDirectoryDataRS, obj types.Object) {
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.ClientSecret = obj.Attributes()["client_secret"].(basetypes.StringValue)
+ data.DirectoryUUID = obj.Attributes()["directory_uuid"].(basetypes.StringValue)
+ data.Tenant = obj.Attributes()["tenant"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedAzureTenant(data *provisioningProvisionedAzureTenantDataRS, obj types.Object) {
+ data.ClientID = obj.Attributes()["client_id"].(basetypes.StringValue)
+ data.ClientSecret = obj.Attributes()["client_secret"].(basetypes.StringValue)
+ data.IDpDomain = obj.Attributes()["idp_domain"].(basetypes.StringValue)
+ data.Tenant = obj.Attributes()["tenant"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedInternalLDAP(data *provisioningProvisionedInternalLDAPDataRS, obj types.Object) {
+ data.ClientUUID = obj.Attributes()["client_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedLDAP(data *provisioningProvisionedLDAPDataRS, obj types.Object) {
+ data.Gid = obj.Attributes()["gid"].(basetypes.Int64Value)
+ data.HashingScheme = obj.Attributes()["hashing_scheme"].(basetypes.StringValue)
+ data.Numbering = obj.Attributes()["numbering"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedLDAPDirectory(data *provisioningProvisionedLDAPDirectoryDataRS, obj types.Object) {
+ data.DirectoryUUID = obj.Attributes()["directory_uuid"].(basetypes.StringValue)
+ data.GroupDN = obj.Attributes()["group_dn"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedSystem(data *provisioningProvisionedSystemDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.OrganizationalUnitUUID = obj.Attributes()["organizational_unit_uuid"].(basetypes.StringValue)
+ data.ProvisioningProvisionedSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.AccountCount = obj.Attributes()["account_count"].(basetypes.Int64Value)
+ data.Account = obj.Attributes()["account"].(basetypes.ObjectValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.IssuedPermissions = obj.Attributes()["issued_permissions"].(basetypes.ListValue)
+ data.LoginName = obj.Attributes()["login_name"].(basetypes.StringValue)
+ data.ManagementPermissions = obj.Attributes()["management_permissions"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Statistics = obj.Attributes()["statistics"].(basetypes.ObjectValue)
+ data.SupportedGroupTypes = obj.Attributes()["supported_group_types"].(basetypes.ObjectValue)
+ data.ContentAdministratorUUID = obj.Attributes()["content_administrator_uuid"].(basetypes.StringValue)
+ data.ExternalUUID = obj.Attributes()["external_uuid"].(basetypes.StringValue)
+ data.OwnerUUID = obj.Attributes()["owner_uuid"].(basetypes.StringValue)
+ data.SelfServiceExistingGroups = obj.Attributes()["self_service_existing_groups"].(basetypes.BoolValue)
+ data.SelfServiceNewGroups = obj.Attributes()["self_service_new_groups"].(basetypes.BoolValue)
+ data.SelfServiceServiceAccounts = obj.Attributes()["self_service_service_accounts"].(basetypes.BoolValue)
+ data.ShouldDestroyUnknownAccounts = obj.Attributes()["should_destroy_unknown_accounts"].(basetypes.BoolValue)
+ data.TechnicalAdministratorUUID = obj.Attributes()["technical_administrator_uuid"].(basetypes.StringValue)
+ data.UsernamePrefix = obj.Attributes()["username_prefix"].(basetypes.StringValue)
+ data.AbstractProvisionedLDAP = obj.Attributes()["abstract_provisioned_ldap"].(basetypes.ObjectValue)
+ data.ProvisionedAD = obj.Attributes()["provisioned_a_d"].(basetypes.ObjectValue)
+ data.ProvisionedAzureOIDCDirectory = obj.Attributes()["provisioned_azure_oidc_directory"].(basetypes.ObjectValue)
+ data.ProvisionedAzureSyncLDAPDirectory = obj.Attributes()["provisioned_azure_sync_ldap_directory"].(basetypes.ObjectValue)
+ data.ProvisionedAzureTenant = obj.Attributes()["provisioned_azure_tenant"].(basetypes.ObjectValue)
+ data.ProvisionedInternalLDAP = obj.Attributes()["provisioned_internal_ldap"].(basetypes.ObjectValue)
+ data.ProvisionedLDAP = obj.Attributes()["provisioned_ldap"].(basetypes.ObjectValue)
+ data.ProvisionedLDAPDirectory = obj.Attributes()["provisioned_ldap_directory"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedSystemLinkableWrapper(data *provisioningProvisionedSystemLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedSystemPrimer(data *provisioningProvisionedSystemPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.OrganizationalUnitUUID = obj.Attributes()["organizational_unit_uuid"].(basetypes.StringValue)
+ data.ProvisioningProvisionedSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedSystemPrimerLinkableWrapper(data *provisioningProvisionedSystemPrimerLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisionedSystem_additionalObjects(data *provisioningProvisionedSystem_additionalObjectsDataRS, obj types.Object) {
+ data.Account = obj.Attributes()["account"].(basetypes.ObjectValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.IssuedPermissions = obj.Attributes()["issued_permissions"].(basetypes.ListValue)
+ data.LoginName = obj.Attributes()["login_name"].(basetypes.StringValue)
+ data.ManagementPermissions = obj.Attributes()["management_permissions"].(basetypes.ObjectValue)
+ data.Markers = obj.Attributes()["markers"].(basetypes.ObjectValue)
+ data.Statistics = obj.Attributes()["statistics"].(basetypes.ObjectValue)
+ data.SupportedGroupTypes = obj.Attributes()["supported_group_types"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSProvisioningProvisioningManagementPermissions(data *provisioningProvisioningManagementPermissionsDataRS, obj types.Object) {
+ data.CreateNewGroupsAllowed = obj.Attributes()["create_new_groups_allowed"].(basetypes.BoolValue)
+ data.CreateServiceAccountsAllowed = obj.Attributes()["create_service_accounts_allowed"].(basetypes.BoolValue)
+ data.ReuseExistingGroupsAllowed = obj.Attributes()["reuse_existing_groups_allowed"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccount(data *serviceaccountServiceAccountDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.SystemUUID = obj.Attributes()["system_uuid"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.Description = obj.Attributes()["description"].(basetypes.StringValue)
+ data.PasswordUUID = obj.Attributes()["password_uuid"].(basetypes.StringValue)
+ data.PasswordRotation = obj.Attributes()["password_rotation"].(basetypes.StringValue)
+ data.TechnicalAdministratorUUID = obj.Attributes()["technical_administrator_uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccountGroup(data *serviceaccountServiceAccountGroupDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.DisplayName = obj.Attributes()["display_name"].(basetypes.StringValue)
+ data.NameInSystem = obj.Attributes()["name_in_system"].(basetypes.StringValue)
+ data.ProvisioningGroupOnSystemPrimerType = obj.Attributes()["type"].(basetypes.StringValue)
+ data.ShortNameInSystem = obj.Attributes()["short_name_in_system"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccountGroupLinkableWrapper(data *serviceaccountServiceAccountGroupLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccountGroup_additionalObjects(data *serviceaccountServiceAccountGroup_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccountLinkableWrapper(data *serviceaccountServiceAccountLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccountPrimer(data *serviceaccountServiceAccountPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.SystemUUID = obj.Attributes()["system_uuid"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccountPrimerLinkableWrapper(data *serviceaccountServiceAccountPrimerLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSServiceaccountServiceAccount_additionalObjects(data *serviceaccountServiceAccount_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.Groups = obj.Attributes()["groups"].(basetypes.ListValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSVaultPasswordMetadata(data *vaultPasswordMetadataDataRS, obj types.Object) {
+ data.Dictionary = obj.Attributes()["dictionary"].(basetypes.BoolValue)
+ data.Duplicate = obj.Attributes()["duplicate"].(basetypes.BoolValue)
+ data.Hash = obj.Attributes()["hash"].(basetypes.StringValue)
+ data.Length = obj.Attributes()["length"].(basetypes.Int64Value)
+ data.LowerCount = obj.Attributes()["lower_count"].(basetypes.Int64Value)
+ data.NumberCount = obj.Attributes()["number_count"].(basetypes.Int64Value)
+ data.SpecialCount = obj.Attributes()["special_count"].(basetypes.Int64Value)
+ data.Strength = obj.Attributes()["strength"].(basetypes.Int64Value)
+ data.UpperCount = obj.Attributes()["upper_count"].(basetypes.Int64Value)
+}
+
+func fillDataStructFromTFObjectRSVaultVault(data *vaultVaultDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccessAvailable = obj.Attributes()["access_available"].(basetypes.BoolValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.Records = obj.Attributes()["records"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSVaultVaultHolder(data *vaultVaultHolderDataRS, obj types.Object) {
+}
+
+func fillDataStructFromTFObjectRSVaultVaultRecord(data *vaultVaultRecordDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Color = obj.Attributes()["color"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.ShareEndTime = obj.Attributes()["share_end_time"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.DeleteTile = obj.Attributes()["delete_tile"].(basetypes.BoolValue)
+ data.ParentUUID = obj.Attributes()["parent_uuid"].(basetypes.StringValue)
+ data.PasswordMetadata = obj.Attributes()["password_metadata"].(basetypes.ObjectValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.ShareSummary = obj.Attributes()["share_summary"].(basetypes.ObjectValue)
+ data.Shares = obj.Attributes()["shares"].(basetypes.ListValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.Vaultholder = obj.Attributes()["vaultholder"].(basetypes.ObjectValue)
+ data.Derived = obj.Attributes()["derived"].(basetypes.BoolValue)
+ data.EndDate = obj.Attributes()["end_date"].(basetypes.StringValue)
+ data.Filename = obj.Attributes()["filename"].(basetypes.StringValue)
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+ data.URL = obj.Attributes()["url"].(basetypes.StringValue)
+ data.Username = obj.Attributes()["username"].(basetypes.StringValue)
+ data.WarningPeriod = obj.Attributes()["warning_period"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSVaultVaultRecordPrimer(data *vaultVaultRecordPrimerDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.Color = obj.Attributes()["color"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.ShareEndTime = obj.Attributes()["share_end_time"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSVaultVaultRecordPrimerLinkableWrapper(data *vaultVaultRecordPrimerLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSVaultVaultRecordSecrets(data *vaultVaultRecordSecretsDataRS, obj types.Object) {
+ data.Comment = obj.Attributes()["comment"].(basetypes.StringValue)
+ data.File = obj.Attributes()["file"].(basetypes.StringValue)
+ data.Password = obj.Attributes()["password"].(basetypes.StringValue)
+ data.Totp = obj.Attributes()["totp"].(basetypes.StringValue)
+ data.WriteTotp = obj.Attributes()["write_totp"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSVaultVaultRecordShare(data *vaultVaultRecordShareDataRS, obj types.Object) {
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.VaultVaultRecordShareType = obj.Attributes()["type"].(basetypes.StringValue)
+}
+
+func fillDataStructFromTFObjectRSVaultVaultRecordShareSummary(data *vaultVaultRecordShareSummaryDataRS, obj types.Object) {
+ data.Children = obj.Attributes()["children"].(basetypes.ListValue)
+ data.Parent = obj.Attributes()["parent"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSVaultVaultRecord_additionalObjects(data *vaultVaultRecord_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.DeleteTile = obj.Attributes()["delete_tile"].(basetypes.BoolValue)
+ data.ParentUUID = obj.Attributes()["parent_uuid"].(basetypes.StringValue)
+ data.PasswordMetadata = obj.Attributes()["password_metadata"].(basetypes.ObjectValue)
+ data.Secret = obj.Attributes()["secret"].(basetypes.ObjectValue)
+ data.ShareSummary = obj.Attributes()["share_summary"].(basetypes.ObjectValue)
+ data.Shares = obj.Attributes()["shares"].(basetypes.ListValue)
+ data.Tile = obj.Attributes()["tile"].(basetypes.ObjectValue)
+ data.Vaultholder = obj.Attributes()["vaultholder"].(basetypes.ObjectValue)
+}
+
+func fillDataStructFromTFObjectRSWebhookWebhook(data *webhookWebhookDataRS, obj types.Object) {
+ data.Links = obj.Attributes()["links"].(basetypes.ListValue)
+ data.Permissions = obj.Attributes()["permissions"].(basetypes.ListValue)
+ data.AccountUUID = obj.Attributes()["account_uuid"].(basetypes.StringValue)
+ data.Active = obj.Attributes()["active"].(basetypes.BoolValue)
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+ data.AllTypes = obj.Attributes()["all_types"].(basetypes.BoolValue)
+ data.AuthenticationScheme = obj.Attributes()["authentication_scheme"].(basetypes.StringValue)
+ data.BasicAuthPassword = obj.Attributes()["basic_auth_password"].(basetypes.StringValue)
+ data.BasicAuthUsername = obj.Attributes()["basic_auth_username"].(basetypes.StringValue)
+ data.BearerToken = obj.Attributes()["bearer_token"].(basetypes.StringValue)
+ data.ClientUUID = obj.Attributes()["client_uuid"].(basetypes.StringValue)
+ data.ClientCertificateUUID = obj.Attributes()["client_certificate_uuid"].(basetypes.StringValue)
+ data.CustomHeaderName = obj.Attributes()["custom_header_name"].(basetypes.StringValue)
+ data.CustomHeaderValue = obj.Attributes()["custom_header_value"].(basetypes.StringValue)
+ data.DirectoryUUID = obj.Attributes()["directory_uuid"].(basetypes.StringValue)
+ data.GroupUUID = obj.Attributes()["group_uuid"].(basetypes.StringValue)
+ data.Name = obj.Attributes()["name"].(basetypes.StringValue)
+ data.SystemUUID = obj.Attributes()["system_uuid"].(basetypes.StringValue)
+ data.TLS = obj.Attributes()["tls"].(basetypes.StringValue)
+ data.TrustedCertificateUUID = obj.Attributes()["trusted_certificate_uuid"].(basetypes.StringValue)
+ data.Types = obj.Attributes()["types"].(basetypes.ListValue)
+ data.URL = obj.Attributes()["url"].(basetypes.StringValue)
+ data.UUID = obj.Attributes()["uuid"].(basetypes.StringValue)
+ data.VerbosePayloads = obj.Attributes()["verbose_payloads"].(basetypes.BoolValue)
+}
+
+func fillDataStructFromTFObjectRSWebhookWebhookLinkableWrapper(data *webhookWebhookLinkableWrapperDataRS, obj types.Object) {
+ data.Items = obj.Attributes()["items"].(basetypes.ListValue)
+}
+
+func fillDataStructFromTFObjectRSWebhookWebhook_additionalObjects(data *webhookWebhook_additionalObjectsDataRS, obj types.Object) {
+ data.Audit = obj.Attributes()["audit"].(basetypes.ObjectValue)
+}
diff --git a/internal/provider/full-tf-to-tkh-ds.go b/internal/provider/full-tf-to-tkh-ds.go
new file mode 100644
index 0000000..9cd01a9
--- /dev/null
+++ b/internal/provider/full-tf-to-tkh-ds.go
@@ -0,0 +1,4216 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "context"
+ "github.com/google/uuid"
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/microsoft/kiota-abstractions-go/serialization"
+ keyhubmodel "github.com/topicuskeyhub/sdk-go/models"
+)
+
+func tfObjectToTKHDSAuditInfo(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuditInfoable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuditInfoable
+ tkh = keyhubmodel.NewAuditInfo()
+ {
+ val, d := tfToTimePointer(objAttrs["created_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetCreatedAt(val)
+ }
+ tkh.SetCreatedBy(objAttrs["created_by"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_modified_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastModifiedAt(val)
+ }
+ tkh.SetLastModifiedBy(objAttrs["last_modified_by"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGeneratedSecret(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GeneratedSecretable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GeneratedSecretable
+ tkh = keyhubmodel.NewGeneratedSecret()
+ tkh.SetGeneratedSecret(objAttrs["generated_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetOldSecret(objAttrs["old_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetRegenerate(objAttrs["regenerate"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSLinkable(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.Linkableable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.Linkableable
+ tkh = keyhubmodel.NewLinkable()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSNonLinkable(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.NonLinkableable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.NonLinkableable
+ tkh = keyhubmodel.NewNonLinkable()
+ return tkh, diags
+}
+
+func tfObjectToTKHDSRestLink(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.RestLinkable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.RestLinkable
+ tkh = keyhubmodel.NewRestLink()
+ tkh.SetHref(objAttrs["href"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetId(objAttrs["id"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetRel(objAttrs["rel"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetTypeEscaped(objAttrs["type_escaped"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthAccountable
+ tkh = keyhubmodel.NewAuthAccount()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_active"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastActive(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["validity"].(basetypes.StringValue), keyhubmodel.ParseAuthAccountValidity, func(val any) keyhubmodel.AuthAccountValidity { return *val.(*keyhubmodel.AuthAccountValidity) })
+ diags.Append(d...)
+ tkh.SetValidity(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["account_permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, false, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAccountPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetCanRequestGroups(objAttrs["can_request_groups"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryPrimer(ctx, false, objAttrs["directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetDirectoryName(objAttrs["directory_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDirectoryPasswordChangeRequired(objAttrs["directory_password_change_required"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["directory_rotating_password"].(basetypes.StringValue), keyhubmodel.ParseDirectoryDirectoryRotatingPassword, func(val any) keyhubmodel.DirectoryDirectoryRotatingPassword {
+ return *val.(*keyhubmodel.DirectoryDirectoryRotatingPassword)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryRotatingPassword(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["directory_type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryType(val)
+ }
+ tkh.SetEmail(objAttrs["email"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetIdInDirectory(objAttrs["id_in_directory"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetKeyHubPasswordChangeRequired(objAttrs["key_hub_password_change_required"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_modified_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastModifiedAt(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["license_role"].(basetypes.StringValue), keyhubmodel.ParseAuthAccountLicenseRole, func(val any) keyhubmodel.AuthAccountLicenseRole { return *val.(*keyhubmodel.AuthAccountLicenseRole) })
+ diags.Append(d...)
+ tkh.SetLicenseRole(val)
+ }
+ tkh.SetLocale(objAttrs["locale"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetReregistrationRequired(objAttrs["reregistration_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetTokenPasswordEnabled(objAttrs["token_password_enabled"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["two_factor_status"].(basetypes.StringValue), keyhubmodel.ParseAuthTwoFactorAuthenticationStatus, func(val any) keyhubmodel.AuthTwoFactorAuthenticationStatus {
+ return *val.(*keyhubmodel.AuthTwoFactorAuthenticationStatus)
+ })
+ diags.Append(d...)
+ tkh.SetTwoFactorStatus(val)
+ }
+ tkh.SetValidInDirectory(objAttrs["valid_in_directory"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSAuthAccount_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthAccountPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthAccountPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthAccountPrimerable
+ tkh = keyhubmodel.NewAuthAccountPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_active"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastActive(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["validity"].(basetypes.StringValue), keyhubmodel.ParseAuthAccountValidity, func(val any) keyhubmodel.AuthAccountValidity { return *val.(*keyhubmodel.AuthAccountValidity) })
+ diags.Append(d...)
+ tkh.SetValidity(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthAccountRecoveryStatus(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthAccountRecoveryStatusable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthAccountRecoveryStatusable
+ tkh = keyhubmodel.NewAuthAccountRecoveryStatus()
+ tkh.SetPending2FARecoveryRequest(objAttrs["pending2fa_recovery_request"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetPendingPasswordRecoveryRequest(objAttrs["pending_password_recovery_request"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthAccountSettings(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthAccountSettingsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthAccountSettingsable
+ tkh = keyhubmodel.NewAuthAccountSettings()
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnitPrimer(ctx, recurse, objAttrs["default_organizational_unit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetDefaultOrganizationalUnit(val)
+ }
+ tkh.SetDirectoryName(objAttrs["directory_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["directory_type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryType(val)
+ }
+ tkh.SetInGroups(objAttrs["in_groups"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetInMultipleOrganizationalUnits(objAttrs["in_multiple_organizational_units"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetKeyHubAdmin(objAttrs["key_hub_admin"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetMultipleOrganizationalUnitsExist(objAttrs["multiple_organizational_units_exist"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["password_mode"].(basetypes.StringValue), keyhubmodel.ParseAuthPasswordMode, func(val any) keyhubmodel.AuthPasswordMode { return *val.(*keyhubmodel.AuthPasswordMode) })
+ diags.Append(d...)
+ tkh.SetPasswordMode(val)
+ }
+ tkh.SetSshPublicKey(objAttrs["ssh_public_key"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["two_factor_authentication"].(basetypes.StringValue), keyhubmodel.ParseAuthTwoFactorAuthenticationStatus, func(val any) keyhubmodel.AuthTwoFactorAuthenticationStatus {
+ return *val.(*keyhubmodel.AuthTwoFactorAuthenticationStatus)
+ })
+ diags.Append(d...)
+ tkh.SetTwoFactorAuthentication(val)
+ }
+ tkh.SetUseTokenPassword(objAttrs["use_token_password"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["vault_status"].(basetypes.StringValue), keyhubmodel.ParseVaultAccountVaultStatus, func(val any) keyhubmodel.VaultAccountVaultStatus { return *val.(*keyhubmodel.VaultAccountVaultStatus) })
+ diags.Append(d...)
+ tkh.SetVaultStatus(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthAccount_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthAccount_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthAccount_additionalObjectsable
+ tkh = keyhubmodel.NewAuthAccount_additionalObjects()
+ tkh.SetActiveLogin(objAttrs["active_login"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupAccountGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["groups"]))
+ diags.Append(d...)
+ tkh.SetGroups(val)
+ }
+ {
+ val, d := tfObjectToTKHDSAuthAccountRecoveryStatus(ctx, recurse, objAttrs["pending_recovery_requests"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetPendingRecoveryRequests(val)
+ }
+ {
+ val, d := tfObjectToTKHDSAuthAccountSettings(ctx, recurse, objAttrs["settings"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSettings(val)
+ }
+ {
+ val, d := tfObjectToTKHDSAuthStoredAccountAttributes(ctx, recurse, objAttrs["stored_attributes"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetStoredAttributes(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVault(ctx, recurse, objAttrs["vault"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetVault(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthPermission(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthPermissionable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthPermissionable
+ tkh = keyhubmodel.NewAuthPermission()
+ tkh.SetFull(objAttrs["full"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["instances"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetInstances(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["operations"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermittedOperation {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseAuthPermittedOperation, func(val any) keyhubmodel.AuthPermittedOperation { return *val.(*keyhubmodel.AuthPermittedOperation) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetOperations(val)
+ }
+ tkh.SetTypeEscaped(objAttrs["type_escaped"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthStoredAccountAttribute(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthStoredAccountAttributeable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthStoredAccountAttributeable
+ tkh = keyhubmodel.NewAuthStoredAccountAttribute()
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetValue(objAttrs["value"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSAuthStoredAccountAttributes(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthStoredAccountAttributesable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthStoredAccountAttributesable
+ tkh = keyhubmodel.NewAuthStoredAccountAttributes()
+ {
+ val, d := tfToSlice(objAttrs["attributes"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthStoredAccountAttributeable {
+ tkh, d := tfObjectToTKHDSAuthStoredAccountAttribute(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAttributes(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSCertificateCertificate(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.CertificateCertificateable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.CertificateCertificateable
+ tkh = keyhubmodel.NewCertificateCertificate()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAlias(objAttrs["alias"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseCertificateCertificateType, func(val any) keyhubmodel.CertificateCertificateType {
+ return *val.(*keyhubmodel.CertificateCertificateType)
+ })
+ diags.Append(d...)
+ tkh.SetCertificateCertificatePrimerType(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["certificate_data"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetCertificateData(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["expiration"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetExpiration(val)
+ }
+ tkh.SetFingerprintSha1(objAttrs["fingerprint_sha1"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetFingerprintSha256(objAttrs["fingerprint_sha256"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetGlobal(objAttrs["global"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSubjectDN(objAttrs["subject_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["key_data"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetKeyData(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSCertificateCertificate_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSCertificateCertificatePrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.CertificateCertificatePrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.CertificateCertificatePrimerable
+ tkh = keyhubmodel.NewCertificateCertificatePrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAlias(objAttrs["alias"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseCertificateCertificateType, func(val any) keyhubmodel.CertificateCertificateType {
+ return *val.(*keyhubmodel.CertificateCertificateType)
+ })
+ diags.Append(d...)
+ tkh.SetCertificateCertificatePrimerType(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["certificate_data"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetCertificateData(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["expiration"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetExpiration(val)
+ }
+ tkh.SetFingerprintSha1(objAttrs["fingerprint_sha1"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetFingerprintSha256(objAttrs["fingerprint_sha256"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetGlobal(objAttrs["global"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSubjectDN(objAttrs["subject_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSCertificateCertificate_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.CertificateCertificate_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.CertificateCertificate_additionalObjectsable
+ tkh = keyhubmodel.NewCertificateCertificate_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientClientApplication(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplicationable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplicationable
+ tkh = keyhubmodel.NewClientClientApplication()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseClientClientApplicationType, func(val any) keyhubmodel.ClientClientApplicationType {
+ return *val.(*keyhubmodel.ClientClientApplicationType)
+ })
+ diags.Append(d...)
+ tkh.SetClientClientApplicationPrimerType(val)
+ }
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["scopes"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetScopes(val)
+ }
+ tkh.SetSsoApplication(objAttrs["sso_application"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_modified_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastModifiedAt(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["owner"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["technical_administrator"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ if !objAttrs["ldap_client"].IsNull() {
+ val, d := tfObjectToTKHDSClientLdapClient(ctx, false, objAttrs["ldap_client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ClientLdapClient)).ClientClientApplication = *tkh.(*keyhubmodel.ClientClientApplication)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["o_auth2_client"].IsNull() {
+ val, d := tfObjectToTKHDSClientOAuth2Client(ctx, false, objAttrs["o_auth2_client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ClientOAuth2Client)).ClientClientApplication = *tkh.(*keyhubmodel.ClientClientApplication)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["saml2_client"].IsNull() {
+ val, d := tfObjectToTKHDSClientSaml2Client(ctx, false, objAttrs["saml2_client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ClientSaml2Client)).ClientClientApplication = *tkh.(*keyhubmodel.ClientClientApplication)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSClientClientApplication_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientClientApplicationLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplicationLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplicationLinkableWrapperable
+ tkh = keyhubmodel.NewClientClientApplicationLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ClientClientApplicationable {
+ tkh, d := tfObjectToTKHDSClientClientApplication(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientClientApplicationPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplicationPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplicationPrimerable
+ tkh = keyhubmodel.NewClientClientApplicationPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseClientClientApplicationType, func(val any) keyhubmodel.ClientClientApplicationType {
+ return *val.(*keyhubmodel.ClientClientApplicationType)
+ })
+ diags.Append(d...)
+ tkh.SetClientClientApplicationPrimerType(val)
+ }
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["scopes"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetScopes(val)
+ }
+ tkh.SetSsoApplication(objAttrs["sso_application"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientClientApplication_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplication_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplication_additionalObjectsable
+ tkh = keyhubmodel.NewClientClientApplication_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["groupclients"]))
+ diags.Append(d...)
+ tkh.SetGroupclients(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["groups"]))
+ diags.Append(d...)
+ tkh.SetGroups(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGeneratedSecret(ctx, recurse, objAttrs["secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSecret(val)
+ }
+ {
+ val, d := tfObjectToTKHDSLaunchpadSsoApplicationLaunchpadTile(ctx, recurse, objAttrs["tile"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTile(val)
+ }
+ tkh.SetVaultRecordCount(int64PToInt32P(objAttrs["vault_record_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientLdapClient(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientLdapClientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientLdapClientable
+ tkh = keyhubmodel.NewClientLdapClient()
+ tkh.SetBindDn(objAttrs["bind_dn"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, recurse, objAttrs["client_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ tkh.SetShareSecretInVault(objAttrs["share_secret_in_vault"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordPrimer(ctx, recurse, objAttrs["shared_secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSharedSecret(val)
+ }
+ tkh.SetUsedForProvisioning(objAttrs["used_for_provisioning"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientOAuth2Client(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2Clientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2Clientable
+ tkh = keyhubmodel.NewClientOAuth2Client()
+ {
+ val, d := tfToSlice(objAttrs["account_permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAccountPermissions(val)
+ }
+ {
+ val, d := tfToMap(objAttrs["attributes"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewClientOAuth2Client_attributes())
+ diags.Append(d...)
+ tkh.SetAttributes(val)
+ }
+ tkh.SetCallbackURI(objAttrs["callback_uri"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetConfidential(objAttrs["confidential"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDebugMode(objAttrs["debug_mode"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetIdTokenClaims(objAttrs["id_token_claims"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetInitiateLoginURI(objAttrs["initiate_login_uri"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetResourceURIs(objAttrs["resource_uris"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetShareSecretInVault(objAttrs["share_secret_in_vault"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordPrimer(ctx, recurse, objAttrs["shared_secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSharedSecret(val)
+ }
+ tkh.SetShowLandingPage(objAttrs["show_landing_page"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetUseClientCredentials(objAttrs["use_client_credentials"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientOAuth2ClientPermission(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermissionable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermissionable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermission()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["for_group"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetForGroup(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemPrimer(ctx, false, objAttrs["for_system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetForSystem(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["value"].(basetypes.StringValue), keyhubmodel.ParseClientOAuth2ClientPermissionType, func(val any) keyhubmodel.ClientOAuth2ClientPermissionType {
+ return *val.(*keyhubmodel.ClientOAuth2ClientPermissionType)
+ })
+ diags.Append(d...)
+ tkh.SetValue(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSClientOAuth2ClientPermission_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientOAuth2ClientPermissionWithClient(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermissionWithClientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermissionWithClient()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["for_group"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetForGroup(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemPrimer(ctx, false, objAttrs["for_system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetForSystem(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["value"].(basetypes.StringValue), keyhubmodel.ParseClientOAuth2ClientPermissionType, func(val any) keyhubmodel.ClientOAuth2ClientPermissionType {
+ return *val.(*keyhubmodel.ClientOAuth2ClientPermissionType)
+ })
+ diags.Append(d...)
+ tkh.SetValue(val)
+ }
+ {
+ val, d := tfObjectToTKHDSClientOAuth2Client(ctx, false, objAttrs["client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSClientOAuth2ClientPermission_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientOAuth2ClientPermissionWithClientLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermissionWithClientLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientLinkableWrapperable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermissionWithClientLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ClientOAuth2ClientPermissionWithClientable {
+ tkh, d := tfObjectToTKHDSClientOAuth2ClientPermissionWithClient(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientOAuth2ClientPermission_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermission_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermission_additionalObjectsable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermission_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSClientSaml2Client(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientSaml2Clientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientSaml2Clientable
+ tkh = keyhubmodel.NewClientSaml2Client()
+ {
+ val, d := tfToMap(objAttrs["attributes"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewClientSaml2Client_attributes())
+ diags.Append(d...)
+ tkh.SetAttributes(val)
+ }
+ tkh.SetMetadata(objAttrs["metadata"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetMetadataUrl(objAttrs["metadata_url"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["subject_format"].(basetypes.StringValue), keyhubmodel.ParseClientSubjectFormat, func(val any) keyhubmodel.ClientSubjectFormat { return *val.(*keyhubmodel.ClientSubjectFormat) })
+ diags.Append(d...)
+ tkh.SetSubjectFormat(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryAccountDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryable
+ tkh = keyhubmodel.NewDirectoryAccountDirectory()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountValiditySupported(objAttrs["account_validity_supported"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryAccountDirectoryPrimerType(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnitPrimer(ctx, false, objAttrs["base_organizational_unit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetBaseOrganizationalUnit(val)
+ }
+ tkh.SetDefaultDirectory(objAttrs["default_directory"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["helpdesk_group"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetHelpdeskGroup(val)
+ }
+ tkh.SetRestrict2fa(objAttrs["restrict2fa"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["rotating_password"].(basetypes.StringValue), keyhubmodel.ParseDirectoryDirectoryRotatingPassword, func(val any) keyhubmodel.DirectoryDirectoryRotatingPassword {
+ return *val.(*keyhubmodel.DirectoryDirectoryRotatingPassword)
+ })
+ diags.Append(d...)
+ tkh.SetRotatingPassword(val)
+ }
+ tkh.SetUsernameCustomizable(objAttrs["username_customizable"].(basetypes.BoolValue).ValueBoolPointer())
+ if !objAttrs["internal_directory"].IsNull() {
+ val, d := tfObjectToTKHDSDirectoryInternalDirectory(ctx, false, objAttrs["internal_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryInternalDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["l_d_a_p_directory"].IsNull() {
+ val, d := tfObjectToTKHDSDirectoryLDAPDirectory(ctx, false, objAttrs["l_d_a_p_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryLDAPDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["maintenance_directory"].IsNull() {
+ val, d := tfObjectToTKHDSDirectoryMaintenanceDirectory(ctx, false, objAttrs["maintenance_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryMaintenanceDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["o_id_c_directory"].IsNull() {
+ val, d := tfObjectToTKHDSDirectoryOIDCDirectory(ctx, false, objAttrs["o_id_c_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryOIDCDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectory_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryAccountDirectoryLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryLinkableWrapperable
+ tkh = keyhubmodel.NewDirectoryAccountDirectoryLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.DirectoryAccountDirectoryable {
+ tkh, d := tfObjectToTKHDSDirectoryAccountDirectory(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryAccountDirectoryPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryPrimerable
+ tkh = keyhubmodel.NewDirectoryAccountDirectoryPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountValiditySupported(objAttrs["account_validity_supported"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryAccountDirectoryPrimerType(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryAccountDirectoryStatusReport(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryStatusReportable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryStatusReportable
+ tkh = keyhubmodel.NewDirectoryAccountDirectoryStatusReport()
+ tkh.SetAccounts(objAttrs["accounts"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetReason(objAttrs["reason"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["status"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryStatus, func(val any) keyhubmodel.DirectoryAccountDirectoryStatus {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryStatus)
+ })
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryAccountDirectorySummary(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectorySummaryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectorySummaryable
+ tkh = keyhubmodel.NewDirectoryAccountDirectorySummary()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryAccountDirectorySummaryType(val)
+ }
+ tkh.SetDomainRestriction(objAttrs["domain_restriction"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetFullyResolvedIssuer(objAttrs["fully_resolved_issuer"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryStatusReport(ctx, recurse, objAttrs["status"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ tkh.SetUsernameCustomizable(objAttrs["username_customizable"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryAccountDirectorySummaryLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectorySummaryLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectorySummaryLinkableWrapperable
+ tkh = keyhubmodel.NewDirectoryAccountDirectorySummaryLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.DirectoryAccountDirectorySummaryable {
+ tkh, d := tfObjectToTKHDSDirectoryAccountDirectorySummary(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryAccountDirectory_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectory_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectory_additionalObjectsable
+ tkh = keyhubmodel.NewDirectoryAccountDirectory_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSMarkItemMarkers(ctx, recurse, objAttrs["markers"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryStatusReport(ctx, recurse, objAttrs["status"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryInternalDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryInternalDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryInternalDirectoryable
+ tkh = keyhubmodel.NewDirectoryInternalDirectory()
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, recurse, objAttrs["owner"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryLDAPDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryLDAPDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryLDAPDirectoryable
+ tkh = keyhubmodel.NewDirectoryLDAPDirectory()
+ tkh.SetAttributesToStore(objAttrs["attributes_to_store"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBaseDN(objAttrs["base_dn"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, recurse, objAttrs["client_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["dialect"].(basetypes.StringValue), keyhubmodel.ParseDirectoryLDAPDialect, func(val any) keyhubmodel.DirectoryLDAPDialect { return *val.(*keyhubmodel.DirectoryLDAPDialect) })
+ diags.Append(d...)
+ tkh.SetDialect(val)
+ }
+ tkh.SetFailoverHost(objAttrs["failover_host"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, recurse, objAttrs["failover_trusted_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetFailoverTrustedCertificate(val)
+ }
+ tkh.SetHost(objAttrs["host"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["password_recovery"].(basetypes.StringValue), keyhubmodel.ParseDirectoryLDAPDirectoryPasswordRecovery, func(val any) keyhubmodel.DirectoryLDAPDirectoryPasswordRecovery {
+ return *val.(*keyhubmodel.DirectoryLDAPDirectoryPasswordRecovery)
+ })
+ diags.Append(d...)
+ tkh.SetPasswordRecovery(val)
+ }
+ tkh.SetPort(int64PToInt32P(objAttrs["port"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetSearchBindDN(objAttrs["search_bind_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSearchBindPassword(objAttrs["search_bind_password"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSearchFilter(objAttrs["search_filter"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["tls"].(basetypes.StringValue), keyhubmodel.ParseTLSLevel, func(val any) keyhubmodel.TLSLevel { return *val.(*keyhubmodel.TLSLevel) })
+ diags.Append(d...)
+ tkh.SetTls(val)
+ }
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, recurse, objAttrs["trusted_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTrustedCertificate(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryMaintenanceDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryMaintenanceDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.DirectoryMaintenanceDirectoryable
+ tkh = keyhubmodel.NewDirectoryMaintenanceDirectory()
+ return tkh, diags
+}
+
+func tfObjectToTKHDSDirectoryOIDCDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryOIDCDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryOIDCDirectoryable
+ tkh = keyhubmodel.NewDirectoryOIDCDirectory()
+ tkh.SetAcrValues(objAttrs["acr_values"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetAttributesToStore(objAttrs["attributes_to_store"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientSecret(objAttrs["client_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDomainRestriction(objAttrs["domain_restriction"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetEnforces2fa(objAttrs["enforces2fa"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetFullyResolvedIssuer(objAttrs["fully_resolved_issuer"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetIssuer(objAttrs["issuer"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetLogoutUrl(objAttrs["logout_url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSendLoginHint(objAttrs["send_login_hint"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["vendor_escaped"].(basetypes.StringValue), keyhubmodel.ParseDirectoryOIDCVendor, func(val any) keyhubmodel.DirectoryOIDCVendor { return *val.(*keyhubmodel.DirectoryOIDCVendor) })
+ diags.Append(d...)
+ tkh.SetVendorEscaped(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupAccountGroup(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupAccountGroupable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupAccountGroupable
+ tkh = keyhubmodel.NewGroupAccountGroup()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAdmin(objAttrs["admin"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupFolder(ctx, false, objAttrs["folder"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetFolder(val)
+ }
+ {
+ val, d := parsePointer2(objAttrs["last_used"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetLastUsed(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["provisioning_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetProvisioningEndTime(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["rights"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupRights, func(val any) keyhubmodel.GroupGroupRights { return *val.(*keyhubmodel.GroupGroupRights) })
+ diags.Append(d...)
+ tkh.SetRights(val)
+ }
+ tkh.SetVisibleForProvisioning(objAttrs["visible_for_provisioning"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupAccountGroup_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupAccountGroupLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupAccountGroupLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupAccountGroupLinkableWrapperable
+ tkh = keyhubmodel.NewGroupAccountGroupLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupAccountGroupable {
+ tkh, d := tfObjectToTKHDSGroupAccountGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupAccountGroup_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupAccountGroup_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupAccountGroup_additionalObjectsable
+ tkh = keyhubmodel.NewGroupAccountGroup_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVault(ctx, recurse, objAttrs["vault"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetVault(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupAuthorizedGroupsWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupAuthorizedGroupsWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupAuthorizedGroupsWrapperable
+ tkh = keyhubmodel.NewGroupAuthorizedGroupsWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupable {
+ tkh, d := tfObjectToTKHDSGroupGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ tkh.SetGroupCount(objAttrs["group_count"].(basetypes.Int64Value).ValueInt64Pointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroup(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupable
+ tkh = keyhubmodel.NewGroupGroup()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAdmin(objAttrs["admin"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetApplicationAdministration(objAttrs["application_administration"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupAuditConfig(ctx, false, objAttrs["audit_config"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuditConfig(val)
+ }
+ tkh.SetAuditRequested(objAttrs["audit_requested"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetAuditor(objAttrs["auditor"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["authorizing_group_auditing"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupAuditing(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["authorizing_group_delegation"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupDelegation(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["authorizing_group_membership"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupMembership(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["authorizing_group_provisioning"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupProvisioning(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["authorizing_group_types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RequestAuthorizingGroupType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseRequestAuthorizingGroupType, func(val any) keyhubmodel.RequestAuthorizingGroupType {
+ return *val.(*keyhubmodel.RequestAuthorizingGroupType)
+ })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupTypes(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupClassificationPrimer(ctx, false, objAttrs["classification"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClassification(val)
+ }
+ tkh.SetDescription(objAttrs["description"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["extended_access"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupExtendedAccess, func(val any) keyhubmodel.GroupGroupExtendedAccess {
+ return *val.(*keyhubmodel.GroupGroupExtendedAccess)
+ })
+ diags.Append(d...)
+ tkh.SetExtendedAccess(val)
+ }
+ tkh.SetHideAuditTrail(objAttrs["hide_audit_trail"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["nested_under"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetNestedUnder(val)
+ }
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnitPrimer(ctx, false, objAttrs["organizational_unit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOrganizationalUnit(val)
+ }
+ tkh.SetPrivateGroup(objAttrs["private_group"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetRecordTrail(objAttrs["record_trail"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetRotatingPasswordRequired(objAttrs["rotating_password_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSingleManaged(objAttrs["single_managed"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["vault_recovery"].(basetypes.StringValue), keyhubmodel.ParseGroupVaultRecoveryAvailability, func(val any) keyhubmodel.GroupVaultRecoveryAvailability {
+ return *val.(*keyhubmodel.GroupVaultRecoveryAvailability)
+ })
+ diags.Append(d...)
+ tkh.SetVaultRecovery(val)
+ }
+ tkh.SetVaultRequiresActivation(objAttrs["vault_requires_activation"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupGroup_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAccountable
+ tkh = keyhubmodel.NewGroupGroupAccount()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_active"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastActive(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["validity"].(basetypes.StringValue), keyhubmodel.ParseAuthAccountValidity, func(val any) keyhubmodel.AuthAccountValidity { return *val.(*keyhubmodel.AuthAccountValidity) })
+ diags.Append(d...)
+ tkh.SetValidity(val)
+ }
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryPrimer(ctx, false, objAttrs["directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetDisconnectedNested(objAttrs["disconnected_nested"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ {
+ val, d := parsePointer2(objAttrs["last_used"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetLastUsed(val)
+ }
+ tkh.SetNested(objAttrs["nested"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["provisioning_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetProvisioningEndTime(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["rights"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupRights, func(val any) keyhubmodel.GroupGroupRights { return *val.(*keyhubmodel.GroupGroupRights) })
+ diags.Append(d...)
+ tkh.SetRights(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["two_factor_status"].(basetypes.StringValue), keyhubmodel.ParseAuthTwoFactorAuthenticationStatus, func(val any) keyhubmodel.AuthTwoFactorAuthenticationStatus {
+ return *val.(*keyhubmodel.AuthTwoFactorAuthenticationStatus)
+ })
+ diags.Append(d...)
+ tkh.SetTwoFactorStatus(val)
+ }
+ tkh.SetVisibleForProvisioning(objAttrs["visible_for_provisioning"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupGroupAccount_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAccountLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAccountLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAccountLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupAccountLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupAccountable {
+ tkh, d := tfObjectToTKHDSGroupGroupAccount(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAccount_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAccount_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAccount_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupAccount_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAudit(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditable
+ tkh = keyhubmodel.NewGroupGroupAudit()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["accounts"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupAuditAccountable {
+ tkh, d := tfObjectToTKHDSGroupGroupAuditAccount(ctx, false, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAccounts(val)
+ }
+ tkh.SetComment(objAttrs["comment"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["created_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetCreatedAt(val)
+ }
+ tkh.SetCreatedBy(objAttrs["created_by"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetGroupName(objAttrs["group_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameOnAudit(objAttrs["name_on_audit"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["reviewed_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetReviewedAt(val)
+ }
+ tkh.SetReviewedBy(objAttrs["reviewed_by"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["status"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupAuditStatus, func(val any) keyhubmodel.GroupGroupAuditStatus { return *val.(*keyhubmodel.GroupGroupAuditStatus) })
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["submitted_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetSubmittedAt(val)
+ }
+ tkh.SetSubmittedBy(objAttrs["submitted_by"].(basetypes.StringValue).ValueStringPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupGroupAudit_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAuditAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditAccountable
+ tkh = keyhubmodel.NewGroupGroupAuditAccount()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountUuid(objAttrs["account_uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetAccountValid(objAttrs["account_valid"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["action"].(basetypes.StringValue), keyhubmodel.ParseAuditAuditAccountAction, func(val any) keyhubmodel.AuditAuditAccountAction { return *val.(*keyhubmodel.AuditAuditAccountAction) })
+ diags.Append(d...)
+ tkh.SetAction(val)
+ }
+ tkh.SetComment(objAttrs["comment"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDisconnectedNested(objAttrs["disconnected_nested"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["last_active"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastActive(val)
+ }
+ {
+ val, d := parsePointer2(objAttrs["last_used"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetLastUsed(val)
+ }
+ tkh.SetNested(objAttrs["nested"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["rights"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupRights, func(val any) keyhubmodel.GroupGroupRights { return *val.(*keyhubmodel.GroupGroupRights) })
+ diags.Append(d...)
+ tkh.SetRights(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAuditConfig(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditConfigable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditConfigable
+ tkh = keyhubmodel.NewGroupGroupAuditConfig()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["months"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.Month {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseMonth, func(val any) keyhubmodel.Month { return *val.(*keyhubmodel.Month) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetMonths(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAuditLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupAuditLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupAuditable {
+ tkh, d := tfObjectToTKHDSGroupGroupAudit(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAudit_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAudit_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAudit_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupAudit_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupAuditingInfo(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditingInfoable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditingInfoable
+ tkh = keyhubmodel.NewGroupGroupAuditingInfo()
+ {
+ val, d := parsePointer2(objAttrs["audit_due_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetAuditDueDate(val)
+ }
+ {
+ val, d := parsePointer2(objAttrs["last_audit_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetLastAuditDate(val)
+ }
+ tkh.SetNrAccounts(objAttrs["nr_accounts"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrDisabledAccounts(objAttrs["nr_disabled_accounts"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrDisabledManagers(objAttrs["nr_disabled_managers"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrExpiredVaultRecords(objAttrs["nr_expired_vault_records"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrManagers(objAttrs["nr_managers"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrVaultRecordsWithEndDate(objAttrs["nr_vault_records_with_end_date"].(basetypes.Int64Value).ValueInt64Pointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupClassification(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClassificationable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClassificationable
+ tkh = keyhubmodel.NewGroupGroupClassification()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetAuthorizingGroupAuditingRequired(objAttrs["authorizing_group_auditing_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetAuthorizingGroupDelegationRequired(objAttrs["authorizing_group_delegation_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetAuthorizingGroupMembershipRequired(objAttrs["authorizing_group_membership_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetAuthorizingGroupProvisioningRequired(objAttrs["authorizing_group_provisioning_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDefaultClassification(objAttrs["default_classification"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDescription(objAttrs["description"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetMaximumAuditInterval(int64PToInt32P(objAttrs["maximum_audit_interval"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetMinimumNrManagers(int64PToInt32P(objAttrs["minimum_nr_managers"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetRecordTrailRequired(objAttrs["record_trail_required"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfToSlice(objAttrs["required_months"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.Month {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseMonth, func(val any) keyhubmodel.Month { return *val.(*keyhubmodel.Month) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetRequiredMonths(val)
+ }
+ tkh.SetRotatingPasswordRequired(objAttrs["rotating_password_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetVaultRequiresActivation(objAttrs["vault_requires_activation"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupGroupClassification_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupClassificationInfo(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClassificationInfoable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClassificationInfoable
+ tkh = keyhubmodel.NewGroupGroupClassificationInfo()
+ tkh.SetNrGroups(int64PToInt32P(objAttrs["nr_groups"].(basetypes.Int64Value).ValueInt64Pointer()))
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupClassificationPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClassificationPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClassificationPrimerable
+ tkh = keyhubmodel.NewGroupGroupClassificationPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupClassification_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClassification_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClassification_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupClassification_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupClassificationInfo(ctx, recurse, objAttrs["info"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetInfo(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupClient(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClientable
+ tkh = keyhubmodel.NewGroupGroupClient()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActivationRequired(objAttrs["activation_required"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSClientClientApplicationPrimer(ctx, false, objAttrs["client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["group"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroup(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["owner"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["technical_administrator"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupGroupClient_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupClientLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClientLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClientLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupClientLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupClientable {
+ tkh, d := tfObjectToTKHDSGroupGroupClient(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupClient_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClient_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClient_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupClient_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupFolder(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupFolderable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupFolderable
+ tkh = keyhubmodel.NewGroupGroupFolder()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupGroupFolder_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupFolder_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupFolder_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupFolder_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupFolder_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupInfo(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupInfoable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupInfoable
+ tkh = keyhubmodel.NewGroupGroupInfo()
+ tkh.SetNrAccounts(int64PToInt32P(objAttrs["nr_accounts"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrAccountsWithVault(int64PToInt32P(objAttrs["nr_accounts_with_vault"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrAudits(int64PToInt32P(objAttrs["nr_audits"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrClients(int64PToInt32P(objAttrs["nr_clients"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrProvisionedSystems(int64PToInt32P(objAttrs["nr_provisioned_systems"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrVaultRecords(int64PToInt32P(objAttrs["nr_vault_records"].(basetypes.Int64Value).ValueInt64Pointer()))
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupable {
+ tkh, d := tfObjectToTKHDSGroupGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupPrimerable
+ tkh = keyhubmodel.NewGroupGroupPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAdmin(objAttrs["admin"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroupPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupPrimerable {
+ tkh, d := tfObjectToTKHDSGroupGroupPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupGroup_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroup_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroup_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroup_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSGroupGroupAccountLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["accounts"]))
+ diags.Append(d...)
+ tkh.SetAccounts(val)
+ }
+ {
+ val, d := tfObjectToTKHDSClientClientApplicationLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["administered_clients"]))
+ diags.Append(d...)
+ tkh.SetAdministeredClients(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["administered_systems"]))
+ diags.Append(d...)
+ tkh.SetAdministeredSystems(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupAccountLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["admins"]))
+ diags.Append(d...)
+ tkh.SetAdmins(val)
+ }
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupAuthorizedGroupsWrapper(ctx, recurse, objAttrs["authorized_groups"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuthorizedGroups(val)
+ }
+ {
+ val, d := tfObjectToTKHDSClientOAuth2ClientPermissionWithClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["client_permissions"]))
+ diags.Append(d...)
+ tkh.SetClientPermissions(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["clients"]))
+ diags.Append(d...)
+ tkh.SetClients(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["content_administered_systems"]))
+ diags.Append(d...)
+ tkh.SetContentAdministeredSystems(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupAuditingInfo(ctx, recurse, objAttrs["groupauditinginfo"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroupauditinginfo(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupInfo(ctx, recurse, objAttrs["groupinfo"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroupinfo(val)
+ }
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectorySummaryLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["helpdesk"]))
+ diags.Append(d...)
+ tkh.SetHelpdesk(val)
+ }
+ {
+ val, d := tfObjectToTKHDSMarkItemMarkers(ctx, recurse, objAttrs["markers"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupAccount(ctx, recurse, objAttrs["myaccount"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMyaccount(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupAccount(ctx, recurse, objAttrs["mydelegatedaccount"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMydelegatedaccount(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["nested_groups"]))
+ diags.Append(d...)
+ tkh.SetNestedGroups(val)
+ }
+ {
+ val, d := tfObjectToTKHDSClientClientApplicationLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_clients"]))
+ diags.Append(d...)
+ tkh.SetOwnedClients(val)
+ }
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_directories"]))
+ diags.Append(d...)
+ tkh.SetOwnedDirectories(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningOwnedGroupOnSystemsWrapper(ctx, recurse, objAttrs["owned_groups_on_system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwnedGroupsOnSystem(val)
+ }
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnitLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_organizational_units"]))
+ diags.Append(d...)
+ tkh.SetOwnedOrganizationalUnits(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_systems"]))
+ diags.Append(d...)
+ tkh.SetOwnedSystems(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupAuditLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["recent_audits"]))
+ diags.Append(d...)
+ tkh.SetRecentAudits(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["requeststatus"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupRequestStatus, func(val any) keyhubmodel.GroupGroupRequestStatus { return *val.(*keyhubmodel.GroupGroupRequestStatus) })
+ diags.Append(d...)
+ tkh.SetRequeststatus(val)
+ }
+ {
+ val, d := tfObjectToTKHDSServiceaccountServiceAccountLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["service_accounts"]))
+ diags.Append(d...)
+ tkh.SetServiceAccounts(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupProvisioningGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["systems"]))
+ diags.Append(d...)
+ tkh.SetSystems(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVault(ctx, recurse, objAttrs["vault"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetVault(val)
+ }
+ {
+ val, d := tfObjectToTKHDSWebhookWebhookLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["webhooks"]))
+ diags.Append(d...)
+ tkh.SetWebhooks(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupProvisioningGroup(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupProvisioningGroupable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupProvisioningGroupable
+ tkh = keyhubmodel.NewGroupProvisioningGroup()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActivationRequired(objAttrs["activation_required"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["group"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroup(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningGroupOnSystem(ctx, false, objAttrs["group_on_system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroupOnSystem(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSGroupProvisioningGroup_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupProvisioningGroupLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupProvisioningGroupLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupProvisioningGroupLinkableWrapperable
+ tkh = keyhubmodel.NewGroupProvisioningGroupLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupProvisioningGroupable {
+ tkh, d := tfObjectToTKHDSGroupProvisioningGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSGroupProvisioningGroup_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupProvisioningGroup_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupProvisioningGroup_additionalObjectsable
+ tkh = keyhubmodel.NewGroupProvisioningGroup_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSLaunchpadSsoApplicationLaunchpadTile(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.LaunchpadSsoApplicationLaunchpadTileable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.LaunchpadSsoApplicationLaunchpadTileable
+ tkh = keyhubmodel.NewLaunchpadSsoApplicationLaunchpadTile()
+ tkh.SetUri(objAttrs["uri"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSLaunchpadVaultRecordLaunchpadTile(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.LaunchpadVaultRecordLaunchpadTileable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.LaunchpadVaultRecordLaunchpadTileable
+ tkh = keyhubmodel.NewLaunchpadVaultRecordLaunchpadTile()
+ return tkh, diags
+}
+
+func tfObjectToTKHDSMarkItemMarker(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.MarkItemMarkerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.MarkItemMarkerable
+ tkh = keyhubmodel.NewMarkItemMarker()
+ {
+ val, d := parseCastPointer(objAttrs["level"].(basetypes.StringValue), keyhubmodel.ParseMarkItemMarkerLevel, func(val any) keyhubmodel.MarkItemMarkerLevel { return *val.(*keyhubmodel.MarkItemMarkerLevel) })
+ diags.Append(d...)
+ tkh.SetLevel(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseMarkItemMarkerType, func(val any) keyhubmodel.MarkItemMarkerType { return *val.(*keyhubmodel.MarkItemMarkerType) })
+ diags.Append(d...)
+ tkh.SetMarkItemMarkerType(val)
+ }
+ {
+ val, d := tfToMap(objAttrs["parameters"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewMarkItemMarker_parameters())
+ diags.Append(d...)
+ tkh.SetParameters(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSMarkItemMarkers(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.MarkItemMarkersable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.MarkItemMarkersable
+ tkh = keyhubmodel.NewMarkItemMarkers()
+ {
+ val, d := tfToSlice(objAttrs["markers"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.MarkItemMarkerable {
+ tkh, d := tfObjectToTKHDSMarkItemMarker(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSOrganizationOrganizationalUnit(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnitable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnitable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnit()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDepth(int64PToInt32P(objAttrs["depth"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetDescription(objAttrs["description"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["owner"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnitPrimer(ctx, false, objAttrs["parent"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetParent(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnit_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSOrganizationOrganizationalUnitLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnitLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnitLinkableWrapperable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnitLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.OrganizationOrganizationalUnitable {
+ tkh, d := tfObjectToTKHDSOrganizationOrganizationalUnit(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSOrganizationOrganizationalUnitPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnitPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnitPrimerable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnitPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSOrganizationOrganizationalUnit_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnit_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnit_additionalObjectsable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnit_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningAbstractProvisionedLDAP(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningAbstractProvisionedLDAPable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningAbstractProvisionedLDAPable
+ tkh = keyhubmodel.NewProvisioningAbstractProvisionedLDAP()
+ {
+ val, d := tfToMap(objAttrs["attributes"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewProvisioningAbstractProvisionedLDAP_attributes())
+ diags.Append(d...)
+ tkh.SetAttributes(val)
+ }
+ tkh.SetBaseDN(objAttrs["base_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBindDN(objAttrs["bind_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBindPassword(objAttrs["bind_password"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, recurse, objAttrs["client_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ tkh.SetFailoverHost(objAttrs["failover_host"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, recurse, objAttrs["failover_trusted_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetFailoverTrustedCertificate(val)
+ }
+ tkh.SetGroupDN(objAttrs["group_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetHost(objAttrs["host"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetObjectClasses(objAttrs["object_classes"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetPort(int64PToInt32P(objAttrs["port"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetServiceAccountDN(objAttrs["service_account_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSshPublicKeySupported(objAttrs["ssh_public_key_supported"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["tls"].(basetypes.StringValue), keyhubmodel.ParseTLSLevel, func(val any) keyhubmodel.TLSLevel { return *val.(*keyhubmodel.TLSLevel) })
+ diags.Append(d...)
+ tkh.SetTls(val)
+ }
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, recurse, objAttrs["trusted_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTrustedCertificate(val)
+ }
+ tkh.SetUserDN(objAttrs["user_dn"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningCircuitBreakerStatistics(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningCircuitBreakerStatisticsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningCircuitBreakerStatisticsable
+ tkh = keyhubmodel.NewProvisioningCircuitBreakerStatistics()
+ tkh.SetNumberOfFailedCalls(objAttrs["number_of_failed_calls"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNumberOfNotPermittedCalls(objAttrs["number_of_not_permitted_calls"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNumberOfSuccessfulCalls(objAttrs["number_of_successful_calls"].(basetypes.Int64Value).ValueInt64Pointer())
+ {
+ val, d := parseCastPointer(objAttrs["state"].(basetypes.StringValue), keyhubmodel.ParseProvisioningCircuitBreakerState, func(val any) keyhubmodel.ProvisioningCircuitBreakerState {
+ return *val.(*keyhubmodel.ProvisioningCircuitBreakerState)
+ })
+ diags.Append(d...)
+ tkh.SetState(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningGroupOnSystem(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystem()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameInSystem(objAttrs["name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningGroupOnSystemPrimerType(val)
+ }
+ tkh.SetShortNameInSystem(objAttrs["short_name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["owner"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSProvisioningGroupOnSystem_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningGroupOnSystemLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemLinkableWrapperable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystemLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningGroupOnSystemable {
+ tkh, d := tfObjectToTKHDSProvisioningGroupOnSystem(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningGroupOnSystemPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemPrimerable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystemPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameInSystem(objAttrs["name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningGroupOnSystemPrimerType(val)
+ }
+ tkh.SetShortNameInSystem(objAttrs["short_name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningGroupOnSystemTypes(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemTypesable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemTypesable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystemTypes()
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningGroupOnSystemType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningGroupOnSystem_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystem_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystem_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystem_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupProvisioningGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["provgroups"]))
+ diags.Append(d...)
+ tkh.SetProvgroups(val)
+ }
+ {
+ val, d := tfObjectToTKHDSServiceaccountServiceAccountPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["service_accounts"]))
+ diags.Append(d...)
+ tkh.SetServiceAccounts(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningOwnedGroupOnSystemsWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningOwnedGroupOnSystemsWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningOwnedGroupOnSystemsWrapperable
+ tkh = keyhubmodel.NewProvisioningOwnedGroupOnSystemsWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningGroupOnSystemable {
+ tkh, d := tfObjectToTKHDSProvisioningGroupOnSystem(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ tkh.SetUnlinkedCount(objAttrs["unlinked_count"].(basetypes.Int64Value).ValueInt64Pointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionNumberSequence(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionNumberSequenceable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionNumberSequenceable
+ tkh = keyhubmodel.NewProvisioningProvisionNumberSequence()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountCount(int64PToInt32P(objAttrs["account_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNextUID(objAttrs["next_uid"].(basetypes.Int64Value).ValueInt64Pointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionNumberSequence_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionNumberSequence_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionNumberSequence_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionNumberSequence_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningProvisionNumberSequence_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["systems"]))
+ diags.Append(d...)
+ tkh.SetSystems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedAD(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedADable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedADable
+ tkh = keyhubmodel.NewProvisioningProvisionedAD()
+ {
+ val, d := parseCastPointer(objAttrs["sam_account_name_scheme"].(basetypes.StringValue), keyhubmodel.ParseProvisioningADSamAccountNameScheme, func(val any) keyhubmodel.ProvisioningADSamAccountNameScheme {
+ return *val.(*keyhubmodel.ProvisioningADSamAccountNameScheme)
+ })
+ diags.Append(d...)
+ tkh.SetSamAccountNameScheme(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAccountable
+ tkh = keyhubmodel.NewProvisioningProvisionedAccount()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_active"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastActive(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["validity"].(basetypes.StringValue), keyhubmodel.ParseAuthAccountValidity, func(val any) keyhubmodel.AuthAccountValidity { return *val.(*keyhubmodel.AuthAccountValidity) })
+ diags.Append(d...)
+ tkh.SetValidity(val)
+ }
+ tkh.SetUid(objAttrs["uid"].(basetypes.Int64Value).ValueInt64Pointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedAccount_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedAccount_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAccount_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAccount_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningProvisionedAccount_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedAzureOIDCDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable
+ tkh = keyhubmodel.NewProvisioningProvisionedAzureOIDCDirectory()
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryPrimer(ctx, recurse, objAttrs["directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetTenant(objAttrs["tenant"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedAzureSyncLDAPDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable
+ tkh = keyhubmodel.NewProvisioningProvisionedAzureSyncLDAPDirectory()
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientSecret(objAttrs["client_secret"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryPrimer(ctx, recurse, objAttrs["directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetTenant(objAttrs["tenant"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedAzureTenant(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAzureTenantable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAzureTenantable
+ tkh = keyhubmodel.NewProvisioningProvisionedAzureTenant()
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientSecret(objAttrs["client_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetIdpDomain(objAttrs["idp_domain"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetTenant(objAttrs["tenant"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedInternalLDAP(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedInternalLDAPable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedInternalLDAPable
+ tkh = keyhubmodel.NewProvisioningProvisionedInternalLDAP()
+ {
+ val, d := tfObjectToTKHDSClientLdapClient(ctx, recurse, objAttrs["client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedLDAP(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedLDAPable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedLDAPable
+ tkh = keyhubmodel.NewProvisioningProvisionedLDAP()
+ tkh.SetGid(objAttrs["gid"].(basetypes.Int64Value).ValueInt64Pointer())
+ {
+ val, d := parseCastPointer(objAttrs["hashing_scheme"].(basetypes.StringValue), keyhubmodel.ParseProvisioningLDAPPasswordHashingScheme, func(val any) keyhubmodel.ProvisioningLDAPPasswordHashingScheme {
+ return *val.(*keyhubmodel.ProvisioningLDAPPasswordHashingScheme)
+ })
+ diags.Append(d...)
+ tkh.SetHashingScheme(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionNumberSequence(ctx, recurse, objAttrs["numbering"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetNumbering(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedLDAPDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedLDAPDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedLDAPDirectoryable
+ tkh = keyhubmodel.NewProvisioningProvisionedLDAPDirectory()
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryPrimer(ctx, recurse, objAttrs["directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetGroupDN(objAttrs["group_dn"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedSystem(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystem()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnitPrimer(ctx, recurse, objAttrs["organizational_unit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOrganizationalUnit(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningProvisionedSystemType, func(val any) keyhubmodel.ProvisioningProvisionedSystemType {
+ return *val.(*keyhubmodel.ProvisioningProvisionedSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningProvisionedSystemPrimerType(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetAccountCount(int64PToInt32P(objAttrs["account_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["content_administrator"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetContentAdministrator(val)
+ }
+ {
+ val, d := parsePointer(objAttrs["external_uuid"].(basetypes.StringValue), uuid.Parse)
+ diags.Append(d...)
+ tkh.SetExternalUuid(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["owner"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ tkh.SetSelfServiceExistingGroups(objAttrs["self_service_existing_groups"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSelfServiceNewGroups(objAttrs["self_service_new_groups"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSelfServiceServiceAccounts(objAttrs["self_service_service_accounts"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetShouldDestroyUnknownAccounts(objAttrs["should_destroy_unknown_accounts"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["technical_administrator"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ tkh.SetUsernamePrefix(objAttrs["username_prefix"].(basetypes.StringValue).ValueStringPointer())
+ if !objAttrs["abstract_provisioned_ldap"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningAbstractProvisionedLDAP(ctx, false, objAttrs["abstract_provisioned_ldap"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningAbstractProvisionedLDAP)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_a_d"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningProvisionedAD(ctx, false, objAttrs["provisioned_a_d"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAD)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_azure_oidc_directory"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningProvisionedAzureOIDCDirectory(ctx, false, objAttrs["provisioned_azure_oidc_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAzureOIDCDirectory)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_azure_sync_ldap_directory"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningProvisionedAzureSyncLDAPDirectory(ctx, false, objAttrs["provisioned_azure_sync_ldap_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectory)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_azure_tenant"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningProvisionedAzureTenant(ctx, false, objAttrs["provisioned_azure_tenant"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAzureTenant)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_internal_ldap"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningProvisionedInternalLDAP(ctx, false, objAttrs["provisioned_internal_ldap"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedInternalLDAP)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_ldap"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningProvisionedLDAP(ctx, false, objAttrs["provisioned_ldap"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedLDAP)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_ldap_directory"].IsNull() {
+ val, d := tfObjectToTKHDSProvisioningProvisionedLDAPDirectory(ctx, false, objAttrs["provisioned_ldap_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedLDAPDirectory)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystem_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedSystemLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemLinkableWrapperable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystemLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningProvisionedSystemable {
+ tkh, d := tfObjectToTKHDSProvisioningProvisionedSystem(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedSystemPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemPrimerable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystemPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSOrganizationOrganizationalUnitPrimer(ctx, recurse, objAttrs["organizational_unit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOrganizationalUnit(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningProvisionedSystemType, func(val any) keyhubmodel.ProvisioningProvisionedSystemType {
+ return *val.(*keyhubmodel.ProvisioningProvisionedSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningProvisionedSystemPrimerType(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedSystemPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystemPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningProvisionedSystemPrimerable {
+ tkh, d := tfObjectToTKHDSProvisioningProvisionedSystemPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisionedSystem_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystem_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystem_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystem_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedAccount(ctx, recurse, objAttrs["account"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAccount(val)
+ }
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSClientOAuth2ClientPermissionWithClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["issued_permissions"]))
+ diags.Append(d...)
+ tkh.SetIssuedPermissions(val)
+ }
+ tkh.SetLoginName(objAttrs["login_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisioningManagementPermissions(ctx, recurse, objAttrs["management_permissions"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetManagementPermissions(val)
+ }
+ {
+ val, d := tfObjectToTKHDSMarkItemMarkers(ctx, recurse, objAttrs["markers"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningCircuitBreakerStatistics(ctx, recurse, objAttrs["statistics"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetStatistics(val)
+ }
+ {
+ val, d := tfObjectToTKHDSProvisioningGroupOnSystemTypes(ctx, recurse, objAttrs["supported_group_types"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSupportedGroupTypes(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSProvisioningProvisioningManagementPermissions(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisioningManagementPermissionsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisioningManagementPermissionsable
+ tkh = keyhubmodel.NewProvisioningProvisioningManagementPermissions()
+ tkh.SetCreateNewGroupsAllowed(objAttrs["create_new_groups_allowed"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetCreateServiceAccountsAllowed(objAttrs["create_service_accounts_allowed"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetReuseExistingGroupsAllowed(objAttrs["reuse_existing_groups_allowed"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountable
+ tkh = keyhubmodel.NewServiceaccountServiceAccount()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemPrimer(ctx, recurse, objAttrs["system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSystem(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDescription(objAttrs["description"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordPrimer(ctx, false, objAttrs["password"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetPassword(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["password_rotation"].(basetypes.StringValue), keyhubmodel.ParseServiceaccountPasswordRotationScheme, func(val any) keyhubmodel.ServiceaccountPasswordRotationScheme {
+ return *val.(*keyhubmodel.ServiceaccountPasswordRotationScheme)
+ })
+ diags.Append(d...)
+ tkh.SetPasswordRotation(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["technical_administrator"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSServiceaccountServiceAccount_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccountGroup(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountGroupable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountGroupable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountGroup()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameInSystem(objAttrs["name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningGroupOnSystemPrimerType(val)
+ }
+ tkh.SetShortNameInSystem(objAttrs["short_name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSServiceaccountServiceAccountGroup_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccountGroupLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountGroupLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountGroupLinkableWrapperable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountGroupLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ServiceaccountServiceAccountGroupable {
+ tkh, d := tfObjectToTKHDSServiceaccountServiceAccountGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccountGroup_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountGroup_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountGroup_additionalObjectsable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountGroup_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccountLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountLinkableWrapperable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ServiceaccountServiceAccountable {
+ tkh, d := tfObjectToTKHDSServiceaccountServiceAccount(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccountPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountPrimerable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemPrimer(ctx, recurse, objAttrs["system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSystem(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccountPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ServiceaccountServiceAccountPrimerable {
+ tkh, d := tfObjectToTKHDSServiceaccountServiceAccountPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSServiceaccountServiceAccount_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccount_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccount_additionalObjectsable
+ tkh = keyhubmodel.NewServiceaccountServiceAccount_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSServiceaccountServiceAccountGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["groups"]))
+ diags.Append(d...)
+ tkh.SetGroups(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGeneratedSecret(ctx, recurse, objAttrs["secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSecret(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultPasswordMetadata(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultPasswordMetadataable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultPasswordMetadataable
+ tkh = keyhubmodel.NewVaultPasswordMetadata()
+ tkh.SetDictionary(objAttrs["dictionary"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDuplicate(objAttrs["duplicate"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetHash(objAttrs["hash"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetLength(int64PToInt32P(objAttrs["length"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetLowerCount(int64PToInt32P(objAttrs["lower_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNumberCount(int64PToInt32P(objAttrs["number_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetSpecialCount(int64PToInt32P(objAttrs["special_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetStrength(int64PToInt32P(objAttrs["strength"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetUpperCount(int64PToInt32P(objAttrs["upper_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVault(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultable
+ tkh = keyhubmodel.NewVaultVault()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccessAvailable(objAttrs["access_available"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["records"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultRecordable {
+ tkh, d := tfObjectToTKHDSVaultVaultRecord(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetRecords(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultHolder(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultHolderable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.VaultVaultHolderable
+ tkh = keyhubmodel.NewVaultVaultHolder()
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultRecord(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordable
+ tkh = keyhubmodel.NewVaultVaultRecord()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["color"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordColor, func(val any) keyhubmodel.VaultVaultRecordColor { return *val.(*keyhubmodel.VaultVaultRecordColor) })
+ diags.Append(d...)
+ tkh.SetColor(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["share_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetShareEndTime(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDerived(objAttrs["derived"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ tkh.SetFilename(objAttrs["filename"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultSecretType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseVaultVaultSecretType, func(val any) keyhubmodel.VaultVaultSecretType { return *val.(*keyhubmodel.VaultVaultSecretType) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ tkh.SetUrl(objAttrs["url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["warning_period"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordWarningPeriod, func(val any) keyhubmodel.VaultVaultRecordWarningPeriod {
+ return *val.(*keyhubmodel.VaultVaultRecordWarningPeriod)
+ })
+ diags.Append(d...)
+ tkh.SetWarningPeriod(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecord_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultRecordPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordPrimerable
+ tkh = keyhubmodel.NewVaultVaultRecordPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["color"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordColor, func(val any) keyhubmodel.VaultVaultRecordColor { return *val.(*keyhubmodel.VaultVaultRecordColor) })
+ diags.Append(d...)
+ tkh.SetColor(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["share_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetShareEndTime(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultRecordPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewVaultVaultRecordPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultRecordPrimerable {
+ tkh, d := tfObjectToTKHDSVaultVaultRecordPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultRecordSecrets(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordSecretsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordSecretsable
+ tkh = keyhubmodel.NewVaultVaultRecordSecrets()
+ tkh.SetComment(objAttrs["comment"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetFile(objAttrs["file"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetPassword(objAttrs["password"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetTotp(objAttrs["totp"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultRecordShare(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordShareable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordShareable
+ tkh = keyhubmodel.NewVaultVaultRecordShare()
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultHolderType, func(val any) keyhubmodel.VaultVaultHolderType { return *val.(*keyhubmodel.VaultVaultHolderType) })
+ diags.Append(d...)
+ tkh.SetVaultVaultRecordShareType(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultRecordShareSummary(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordShareSummaryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordShareSummaryable
+ tkh = keyhubmodel.NewVaultVaultRecordShareSummary()
+ {
+ val, d := tfToSlice(objAttrs["children"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultRecordShareable {
+ tkh, d := tfObjectToTKHDSVaultVaultRecordShare(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetChildren(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordShare(ctx, recurse, objAttrs["parent"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetParent(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSVaultVaultRecord_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecord_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecord_additionalObjectsable
+ tkh = keyhubmodel.NewVaultVaultRecord_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordPrimer(ctx, recurse, objAttrs["parent"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetParent(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultPasswordMetadata(ctx, recurse, objAttrs["password_metadata"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetPasswordMetadata(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordSecrets(ctx, recurse, objAttrs["secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSecret(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordShareSummary(ctx, recurse, objAttrs["share_summary"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetShareSummary(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVaultRecordPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["shares"]))
+ diags.Append(d...)
+ tkh.SetShares(val)
+ }
+ {
+ val, d := tfObjectToTKHDSLaunchpadVaultRecordLaunchpadTile(ctx, recurse, objAttrs["tile"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTile(val)
+ }
+ {
+ val, d := tfObjectToTKHDSVaultVaultHolder(ctx, recurse, objAttrs["vaultholder"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetVaultholder(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSWebhookWebhook(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.WebhookWebhookable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.WebhookWebhookable
+ tkh = keyhubmodel.NewWebhookWebhook()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHDSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHDSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := tfObjectToTKHDSAuthAccountPrimer(ctx, false, objAttrs["account"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAccount(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetAllTypes(objAttrs["all_types"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["authentication_scheme"].(basetypes.StringValue), keyhubmodel.ParseWebhookWebhookAuthenticationScheme, func(val any) keyhubmodel.WebhookWebhookAuthenticationScheme {
+ return *val.(*keyhubmodel.WebhookWebhookAuthenticationScheme)
+ })
+ diags.Append(d...)
+ tkh.SetAuthenticationScheme(val)
+ }
+ tkh.SetBasicAuthPassword(objAttrs["basic_auth_password"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBasicAuthUsername(objAttrs["basic_auth_username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBearerToken(objAttrs["bearer_token"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSClientClientApplicationPrimer(ctx, false, objAttrs["client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, false, objAttrs["client_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ tkh.SetCustomHeaderName(objAttrs["custom_header_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetCustomHeaderValue(objAttrs["custom_header_value"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSDirectoryAccountDirectoryPrimer(ctx, false, objAttrs["directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ {
+ val, d := tfObjectToTKHDSGroupGroupPrimer(ctx, false, objAttrs["group"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroup(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHDSProvisioningProvisionedSystemPrimer(ctx, false, objAttrs["system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSystem(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["tls"].(basetypes.StringValue), keyhubmodel.ParseTLSLevel, func(val any) keyhubmodel.TLSLevel { return *val.(*keyhubmodel.TLSLevel) })
+ diags.Append(d...)
+ tkh.SetTls(val)
+ }
+ {
+ val, d := tfObjectToTKHDSCertificateCertificatePrimer(ctx, false, objAttrs["trusted_certificate"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTrustedCertificate(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuditAuditRecordType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseAuditAuditRecordType, func(val any) keyhubmodel.AuditAuditRecordType { return *val.(*keyhubmodel.AuditAuditRecordType) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ tkh.SetUrl(objAttrs["url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetVerbosePayloads(objAttrs["verbose_payloads"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHDSWebhookWebhook_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSWebhookWebhookLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.WebhookWebhookLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.WebhookWebhookLinkableWrapperable
+ tkh = keyhubmodel.NewWebhookWebhookLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.WebhookWebhookable {
+ tkh, d := tfObjectToTKHDSWebhookWebhook(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHDSWebhookWebhook_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.WebhookWebhook_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.WebhookWebhook_additionalObjectsable
+ tkh = keyhubmodel.NewWebhookWebhook_additionalObjects()
+ {
+ val, d := tfObjectToTKHDSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
diff --git a/internal/provider/full-tf-to-tkh-rs.go b/internal/provider/full-tf-to-tkh-rs.go
new file mode 100644
index 0000000..aab10a9
--- /dev/null
+++ b/internal/provider/full-tf-to-tkh-rs.go
@@ -0,0 +1,3886 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "context"
+ "github.com/google/uuid"
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-framework/types/basetypes"
+ "github.com/microsoft/kiota-abstractions-go/serialization"
+ keyhubmodel "github.com/topicuskeyhub/sdk-go/models"
+)
+
+func tfObjectToTKHRSAuditInfo(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuditInfoable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuditInfoable
+ tkh = keyhubmodel.NewAuditInfo()
+ {
+ val, d := tfToTimePointer(objAttrs["created_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetCreatedAt(val)
+ }
+ tkh.SetCreatedBy(objAttrs["created_by"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_modified_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastModifiedAt(val)
+ }
+ tkh.SetLastModifiedBy(objAttrs["last_modified_by"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGeneratedSecret(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GeneratedSecretable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GeneratedSecretable
+ tkh = keyhubmodel.NewGeneratedSecret()
+ tkh.SetGeneratedSecret(objAttrs["generated_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetOldSecret(objAttrs["old_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetRegenerate(objAttrs["regenerate"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSLinkable(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.Linkableable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.Linkableable
+ tkh = keyhubmodel.NewLinkable()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSNonLinkable(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.NonLinkableable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.NonLinkableable
+ tkh = keyhubmodel.NewNonLinkable()
+ return tkh, diags
+}
+
+func tfObjectToTKHRSRestLink(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.RestLinkable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.RestLinkable
+ tkh = keyhubmodel.NewRestLink()
+ tkh.SetHref(objAttrs["href"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetId(objAttrs["id"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetRel(objAttrs["rel"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetTypeEscaped(objAttrs["type_escaped"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSAuthAccountPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthAccountPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthAccountPrimerable
+ tkh = keyhubmodel.NewAuthAccountPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_active"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastActive(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["validity"].(basetypes.StringValue), keyhubmodel.ParseAuthAccountValidity, func(val any) keyhubmodel.AuthAccountValidity { return *val.(*keyhubmodel.AuthAccountValidity) })
+ diags.Append(d...)
+ tkh.SetValidity(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSAuthPermission(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.AuthPermissionable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.AuthPermissionable
+ tkh = keyhubmodel.NewAuthPermission()
+ tkh.SetFull(objAttrs["full"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["instances"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetInstances(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["operations"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermittedOperation {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseAuthPermittedOperation, func(val any) keyhubmodel.AuthPermittedOperation { return *val.(*keyhubmodel.AuthPermittedOperation) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetOperations(val)
+ }
+ tkh.SetTypeEscaped(objAttrs["type_escaped"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSCertificateCertificatePrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.CertificateCertificatePrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.CertificateCertificatePrimerable
+ tkh = keyhubmodel.NewCertificateCertificatePrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAlias(objAttrs["alias"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseCertificateCertificateType, func(val any) keyhubmodel.CertificateCertificateType {
+ return *val.(*keyhubmodel.CertificateCertificateType)
+ })
+ diags.Append(d...)
+ tkh.SetCertificateCertificatePrimerType(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["certificate_data"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetCertificateData(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["expiration"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetExpiration(val)
+ }
+ tkh.SetFingerprintSha1(objAttrs["fingerprint_sha1"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetFingerprintSha256(objAttrs["fingerprint_sha256"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetGlobal(objAttrs["global"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSubjectDN(objAttrs["subject_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientApplicationVaultVaultRecord(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordable
+ tkh = keyhubmodel.NewVaultVaultRecord()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["color"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordColor, func(val any) keyhubmodel.VaultVaultRecordColor { return *val.(*keyhubmodel.VaultVaultRecordColor) })
+ diags.Append(d...)
+ tkh.SetColor(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["share_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetShareEndTime(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDerived(objAttrs["derived"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ tkh.SetFilename(objAttrs["filename"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultSecretType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseVaultVaultSecretType, func(val any) keyhubmodel.VaultVaultSecretType { return *val.(*keyhubmodel.VaultVaultSecretType) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ tkh.SetUrl(objAttrs["url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["warning_period"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordWarningPeriod, func(val any) keyhubmodel.VaultVaultRecordWarningPeriod {
+ return *val.(*keyhubmodel.VaultVaultRecordWarningPeriod)
+ })
+ diags.Append(d...)
+ tkh.SetWarningPeriod(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSVaultVaultRecord_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientClientApplication(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplicationable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplicationable
+ tkh = keyhubmodel.NewClientClientApplication()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseClientClientApplicationType, func(val any) keyhubmodel.ClientClientApplicationType {
+ return *val.(*keyhubmodel.ClientClientApplicationType)
+ })
+ diags.Append(d...)
+ tkh.SetClientClientApplicationPrimerType(val)
+ }
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["scopes"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetScopes(val)
+ }
+ tkh.SetSsoApplication(objAttrs["sso_application"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["last_modified_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastModifiedAt(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["owner_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["technical_administrator_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ if !objAttrs["ldap_client"].IsNull() {
+ val, d := tfObjectToTKHRSClientLdapClient(ctx, false, objAttrs["ldap_client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ClientLdapClient)).ClientClientApplication = *tkh.(*keyhubmodel.ClientClientApplication)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["o_auth2_client"].IsNull() {
+ val, d := tfObjectToTKHRSClientOAuth2Client(ctx, false, objAttrs["o_auth2_client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ClientOAuth2Client)).ClientClientApplication = *tkh.(*keyhubmodel.ClientClientApplication)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["saml2_client"].IsNull() {
+ val, d := tfObjectToTKHRSClientSaml2Client(ctx, false, objAttrs["saml2_client"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ClientSaml2Client)).ClientClientApplication = *tkh.(*keyhubmodel.ClientClientApplication)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSClientClientApplication_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientClientApplicationLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplicationLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplicationLinkableWrapperable
+ tkh = keyhubmodel.NewClientClientApplicationLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ClientClientApplicationable {
+ tkh, d := tfObjectToTKHRSClientClientApplication(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientClientApplicationPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplicationPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplicationPrimerable
+ tkh = keyhubmodel.NewClientClientApplicationPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseClientClientApplicationType, func(val any) keyhubmodel.ClientClientApplicationType {
+ return *val.(*keyhubmodel.ClientClientApplicationType)
+ })
+ diags.Append(d...)
+ tkh.SetClientClientApplicationPrimerType(val)
+ }
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["scopes"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) string {
+ return val.(basetypes.StringValue).ValueString()
+ })
+ diags.Append(d...)
+ tkh.SetScopes(val)
+ }
+ tkh.SetSsoApplication(objAttrs["sso_application"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientClientApplication_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientClientApplication_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientClientApplication_additionalObjectsable
+ tkh = keyhubmodel.NewClientClientApplication_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ tkh.SetDeleteTile(objAttrs["delete_tile"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHRSGroupGroupClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["groupclients"]))
+ diags.Append(d...)
+ tkh.SetGroupclients(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["groups"]))
+ diags.Append(d...)
+ tkh.SetGroups(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGeneratedSecret(ctx, recurse, objAttrs["secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSecret(val)
+ }
+ {
+ val, d := tfObjectToTKHRSLaunchpadSsoApplicationLaunchpadTile(ctx, recurse, objAttrs["tile"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTile(val)
+ }
+ tkh.SetVaultRecordCount(int64PToInt32P(objAttrs["vault_record_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientLdapClient(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientLdapClientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientLdapClientable
+ tkh = keyhubmodel.NewClientLdapClient()
+ tkh.SetBindDn(objAttrs["bind_dn"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["client_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ tkh.SetShareSecretInVault(objAttrs["share_secret_in_vault"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findVaultVaultRecordPrimerByUUID(ctx, objAttrs["shared_secret_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetSharedSecret(val)
+ }
+ tkh.SetUsedForProvisioning(objAttrs["used_for_provisioning"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientOAuth2Client(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2Clientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2Clientable
+ tkh = keyhubmodel.NewClientOAuth2Client()
+ {
+ val, d := tfToSlice(objAttrs["account_permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAccountPermissions(val)
+ }
+ {
+ val, d := tfToMap(objAttrs["attributes"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewClientOAuth2Client_attributes())
+ diags.Append(d...)
+ tkh.SetAttributes(val)
+ }
+ tkh.SetCallbackURI(objAttrs["callback_uri"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetConfidential(objAttrs["confidential"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDebugMode(objAttrs["debug_mode"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetIdTokenClaims(objAttrs["id_token_claims"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetInitiateLoginURI(objAttrs["initiate_login_uri"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetResourceURIs(objAttrs["resource_uris"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetShareSecretInVault(objAttrs["share_secret_in_vault"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findVaultVaultRecordPrimerByUUID(ctx, objAttrs["shared_secret_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetSharedSecret(val)
+ }
+ tkh.SetShowLandingPage(objAttrs["show_landing_page"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetUseClientCredentials(objAttrs["use_client_credentials"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientOAuth2ClientPermission(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermissionable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermissionable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermission()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["for_group_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetForGroup(val)
+ }
+ {
+ val, d := findProvisioningProvisionedSystemPrimerByUUID(ctx, objAttrs["for_system_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetForSystem(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["value"].(basetypes.StringValue), keyhubmodel.ParseClientOAuth2ClientPermissionType, func(val any) keyhubmodel.ClientOAuth2ClientPermissionType {
+ return *val.(*keyhubmodel.ClientOAuth2ClientPermissionType)
+ })
+ diags.Append(d...)
+ tkh.SetValue(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSClientOAuth2ClientPermission_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientOAuth2ClientPermissionWithClient(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermissionWithClientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermissionWithClient()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["for_group_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetForGroup(val)
+ }
+ {
+ val, d := findProvisioningProvisionedSystemPrimerByUUID(ctx, objAttrs["for_system_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetForSystem(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["value"].(basetypes.StringValue), keyhubmodel.ParseClientOAuth2ClientPermissionType, func(val any) keyhubmodel.ClientOAuth2ClientPermissionType {
+ return *val.(*keyhubmodel.ClientOAuth2ClientPermissionType)
+ })
+ diags.Append(d...)
+ tkh.SetValue(val)
+ }
+ {
+ val, d := findClientOAuth2ClientByUUID(ctx, objAttrs["client_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSClientOAuth2ClientPermission_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientOAuth2ClientPermissionWithClientLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermissionWithClientLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientLinkableWrapperable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermissionWithClientLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ClientOAuth2ClientPermissionWithClientable {
+ tkh, d := tfObjectToTKHRSClientOAuth2ClientPermissionWithClient(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientOAuth2ClientPermission_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientOAuth2ClientPermission_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientOAuth2ClientPermission_additionalObjectsable
+ tkh = keyhubmodel.NewClientOAuth2ClientPermission_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSClientSaml2Client(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ClientSaml2Clientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ClientSaml2Clientable
+ tkh = keyhubmodel.NewClientSaml2Client()
+ {
+ val, d := tfToMap(objAttrs["attributes"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewClientSaml2Client_attributes())
+ diags.Append(d...)
+ tkh.SetAttributes(val)
+ }
+ tkh.SetMetadata(objAttrs["metadata"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetMetadataUrl(objAttrs["metadata_url"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["subject_format"].(basetypes.StringValue), keyhubmodel.ParseClientSubjectFormat, func(val any) keyhubmodel.ClientSubjectFormat { return *val.(*keyhubmodel.ClientSubjectFormat) })
+ diags.Append(d...)
+ tkh.SetSubjectFormat(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryAccountDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryable
+ tkh = keyhubmodel.NewDirectoryAccountDirectory()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountValiditySupported(objAttrs["account_validity_supported"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryAccountDirectoryPrimerType(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findOrganizationOrganizationalUnitPrimerByUUID(ctx, objAttrs["base_organizational_unit_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetBaseOrganizationalUnit(val)
+ }
+ tkh.SetDefaultDirectory(objAttrs["default_directory"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["helpdesk_group_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetHelpdeskGroup(val)
+ }
+ tkh.SetRestrict2fa(objAttrs["restrict2fa"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["rotating_password"].(basetypes.StringValue), keyhubmodel.ParseDirectoryDirectoryRotatingPassword, func(val any) keyhubmodel.DirectoryDirectoryRotatingPassword {
+ return *val.(*keyhubmodel.DirectoryDirectoryRotatingPassword)
+ })
+ diags.Append(d...)
+ tkh.SetRotatingPassword(val)
+ }
+ tkh.SetUsernameCustomizable(objAttrs["username_customizable"].(basetypes.BoolValue).ValueBoolPointer())
+ if !objAttrs["internal_directory"].IsNull() {
+ val, d := tfObjectToTKHRSDirectoryInternalDirectory(ctx, false, objAttrs["internal_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryInternalDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["l_d_a_p_directory"].IsNull() {
+ val, d := tfObjectToTKHRSDirectoryLDAPDirectory(ctx, false, objAttrs["l_d_a_p_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryLDAPDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["maintenance_directory"].IsNull() {
+ val, d := tfObjectToTKHRSDirectoryMaintenanceDirectory(ctx, false, objAttrs["maintenance_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryMaintenanceDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["o_id_c_directory"].IsNull() {
+ val, d := tfObjectToTKHRSDirectoryOIDCDirectory(ctx, false, objAttrs["o_id_c_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.DirectoryOIDCDirectory)).DirectoryAccountDirectory = *tkh.(*keyhubmodel.DirectoryAccountDirectory)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSDirectoryAccountDirectory_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryAccountDirectoryLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryLinkableWrapperable
+ tkh = keyhubmodel.NewDirectoryAccountDirectoryLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.DirectoryAccountDirectoryable {
+ tkh, d := tfObjectToTKHRSDirectoryAccountDirectory(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryAccountDirectoryPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryPrimerable
+ tkh = keyhubmodel.NewDirectoryAccountDirectoryPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountValiditySupported(objAttrs["account_validity_supported"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryAccountDirectoryPrimerType(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryAccountDirectoryStatusReport(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectoryStatusReportable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectoryStatusReportable
+ tkh = keyhubmodel.NewDirectoryAccountDirectoryStatusReport()
+ tkh.SetAccounts(objAttrs["accounts"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetReason(objAttrs["reason"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["status"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryStatus, func(val any) keyhubmodel.DirectoryAccountDirectoryStatus {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryStatus)
+ })
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryAccountDirectorySummary(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectorySummaryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectorySummaryable
+ tkh = keyhubmodel.NewDirectoryAccountDirectorySummary()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseDirectoryAccountDirectoryType, func(val any) keyhubmodel.DirectoryAccountDirectoryType {
+ return *val.(*keyhubmodel.DirectoryAccountDirectoryType)
+ })
+ diags.Append(d...)
+ tkh.SetDirectoryAccountDirectorySummaryType(val)
+ }
+ tkh.SetDomainRestriction(objAttrs["domain_restriction"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetFullyResolvedIssuer(objAttrs["fully_resolved_issuer"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHRSDirectoryAccountDirectoryStatusReport(ctx, recurse, objAttrs["status"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ tkh.SetUsernameCustomizable(objAttrs["username_customizable"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryAccountDirectorySummaryLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectorySummaryLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectorySummaryLinkableWrapperable
+ tkh = keyhubmodel.NewDirectoryAccountDirectorySummaryLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.DirectoryAccountDirectorySummaryable {
+ tkh, d := tfObjectToTKHRSDirectoryAccountDirectorySummary(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryAccountDirectory_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryAccountDirectory_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryAccountDirectory_additionalObjectsable
+ tkh = keyhubmodel.NewDirectoryAccountDirectory_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHRSMarkItemMarkers(ctx, recurse, objAttrs["markers"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ {
+ val, d := tfObjectToTKHRSDirectoryAccountDirectoryStatusReport(ctx, recurse, objAttrs["status"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryInternalDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryInternalDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryInternalDirectoryable
+ tkh = keyhubmodel.NewDirectoryInternalDirectory()
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["owner_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryLDAPDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryLDAPDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryLDAPDirectoryable
+ tkh = keyhubmodel.NewDirectoryLDAPDirectory()
+ tkh.SetAttributesToStore(objAttrs["attributes_to_store"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBaseDN(objAttrs["base_dn"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["client_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["dialect"].(basetypes.StringValue), keyhubmodel.ParseDirectoryLDAPDialect, func(val any) keyhubmodel.DirectoryLDAPDialect { return *val.(*keyhubmodel.DirectoryLDAPDialect) })
+ diags.Append(d...)
+ tkh.SetDialect(val)
+ }
+ tkh.SetFailoverHost(objAttrs["failover_host"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["failover_trusted_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetFailoverTrustedCertificate(val)
+ }
+ tkh.SetHost(objAttrs["host"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["password_recovery"].(basetypes.StringValue), keyhubmodel.ParseDirectoryLDAPDirectoryPasswordRecovery, func(val any) keyhubmodel.DirectoryLDAPDirectoryPasswordRecovery {
+ return *val.(*keyhubmodel.DirectoryLDAPDirectoryPasswordRecovery)
+ })
+ diags.Append(d...)
+ tkh.SetPasswordRecovery(val)
+ }
+ tkh.SetPort(int64PToInt32P(objAttrs["port"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetSearchBindDN(objAttrs["search_bind_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSearchBindPassword(objAttrs["search_bind_password"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSearchFilter(objAttrs["search_filter"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["tls"].(basetypes.StringValue), keyhubmodel.ParseTLSLevel, func(val any) keyhubmodel.TLSLevel { return *val.(*keyhubmodel.TLSLevel) })
+ diags.Append(d...)
+ tkh.SetTls(val)
+ }
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["trusted_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetTrustedCertificate(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryMaintenanceDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryMaintenanceDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.DirectoryMaintenanceDirectoryable
+ tkh = keyhubmodel.NewDirectoryMaintenanceDirectory()
+ return tkh, diags
+}
+
+func tfObjectToTKHRSDirectoryOIDCDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.DirectoryOIDCDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.DirectoryOIDCDirectoryable
+ tkh = keyhubmodel.NewDirectoryOIDCDirectory()
+ tkh.SetAcrValues(objAttrs["acr_values"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetAttributesToStore(objAttrs["attributes_to_store"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientSecret(objAttrs["client_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDomainRestriction(objAttrs["domain_restriction"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetEnforces2fa(objAttrs["enforces2fa"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetFullyResolvedIssuer(objAttrs["fully_resolved_issuer"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetIssuer(objAttrs["issuer"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetLogoutUrl(objAttrs["logout_url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSendLoginHint(objAttrs["send_login_hint"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["vendor_escaped"].(basetypes.StringValue), keyhubmodel.ParseDirectoryOIDCVendor, func(val any) keyhubmodel.DirectoryOIDCVendor { return *val.(*keyhubmodel.DirectoryOIDCVendor) })
+ diags.Append(d...)
+ tkh.SetVendorEscaped(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupAuthorizedGroupsWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupAuthorizedGroupsWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupAuthorizedGroupsWrapperable
+ tkh = keyhubmodel.NewGroupAuthorizedGroupsWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupable {
+ tkh, d := tfObjectToTKHRSGroupGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ tkh.SetGroupCount(objAttrs["group_count"].(basetypes.Int64Value).ValueInt64Pointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroup(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupable
+ tkh = keyhubmodel.NewGroupGroup()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAdmin(objAttrs["admin"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetApplicationAdministration(objAttrs["application_administration"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfObjectToTKHRSGroupGroupAuditConfig(ctx, false, objAttrs["audit_config"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuditConfig(val)
+ }
+ tkh.SetAuditRequested(objAttrs["audit_requested"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetAuditor(objAttrs["auditor"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["authorizing_group_auditing_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupAuditing(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["authorizing_group_delegation_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupDelegation(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["authorizing_group_membership_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupMembership(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["authorizing_group_provisioning_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupProvisioning(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["authorizing_group_types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RequestAuthorizingGroupType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseRequestAuthorizingGroupType, func(val any) keyhubmodel.RequestAuthorizingGroupType {
+ return *val.(*keyhubmodel.RequestAuthorizingGroupType)
+ })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAuthorizingGroupTypes(val)
+ }
+ {
+ val, d := findGroupGroupClassificationPrimerByUUID(ctx, objAttrs["classification_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClassification(val)
+ }
+ tkh.SetDescription(objAttrs["description"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["extended_access"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupExtendedAccess, func(val any) keyhubmodel.GroupGroupExtendedAccess {
+ return *val.(*keyhubmodel.GroupGroupExtendedAccess)
+ })
+ diags.Append(d...)
+ tkh.SetExtendedAccess(val)
+ }
+ tkh.SetHideAuditTrail(objAttrs["hide_audit_trail"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["nested_under_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetNestedUnder(val)
+ }
+ {
+ val, d := findOrganizationOrganizationalUnitPrimerByUUID(ctx, objAttrs["organizational_unit_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOrganizationalUnit(val)
+ }
+ tkh.SetPrivateGroup(objAttrs["private_group"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetRecordTrail(objAttrs["record_trail"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetRotatingPasswordRequired(objAttrs["rotating_password_required"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSingleManaged(objAttrs["single_managed"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["vault_recovery"].(basetypes.StringValue), keyhubmodel.ParseGroupVaultRecoveryAvailability, func(val any) keyhubmodel.GroupVaultRecoveryAvailability {
+ return *val.(*keyhubmodel.GroupVaultRecoveryAvailability)
+ })
+ diags.Append(d...)
+ tkh.SetVaultRecovery(val)
+ }
+ tkh.SetVaultRequiresActivation(objAttrs["vault_requires_activation"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSGroupGroup_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAccountable
+ tkh = keyhubmodel.NewGroupGroupAccount()
+ {
+ val, d := findAuthAccountPrimerByUUID(ctx, objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ if val != nil {
+ dtype := tkh.GetTypeEscaped()
+ (*tkh.(*keyhubmodel.GroupGroupAccount)).AuthAccountPrimer = *(val.(*keyhubmodel.AuthAccountPrimer))
+ tkh.SetTypeEscaped(dtype)
+ }
+ }
+ {
+ val, d := findDirectoryAccountDirectoryPrimerByUUID(ctx, objAttrs["directory_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetDisconnectedNested(objAttrs["disconnected_nested"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ {
+ val, d := parsePointer2(objAttrs["last_used"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetLastUsed(val)
+ }
+ tkh.SetNested(objAttrs["nested"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["provisioning_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetProvisioningEndTime(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["rights"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupRights, func(val any) keyhubmodel.GroupGroupRights { return *val.(*keyhubmodel.GroupGroupRights) })
+ diags.Append(d...)
+ tkh.SetRights(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["two_factor_status"].(basetypes.StringValue), keyhubmodel.ParseAuthTwoFactorAuthenticationStatus, func(val any) keyhubmodel.AuthTwoFactorAuthenticationStatus {
+ return *val.(*keyhubmodel.AuthTwoFactorAuthenticationStatus)
+ })
+ diags.Append(d...)
+ tkh.SetTwoFactorStatus(val)
+ }
+ tkh.SetVisibleForProvisioning(objAttrs["visible_for_provisioning"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSGroupGroupAccount_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAccountLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAccountLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAccountLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupAccountLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupAccountable {
+ tkh, d := tfObjectToTKHRSGroupGroupAccount(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAccount_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAccount_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAccount_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupAccount_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAudit(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditable
+ tkh = keyhubmodel.NewGroupGroupAudit()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["accounts"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupAuditAccountable {
+ tkh, d := tfObjectToTKHRSGroupGroupAuditAccount(ctx, false, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetAccounts(val)
+ }
+ tkh.SetComment(objAttrs["comment"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["created_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetCreatedAt(val)
+ }
+ tkh.SetCreatedBy(objAttrs["created_by"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetGroupName(objAttrs["group_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameOnAudit(objAttrs["name_on_audit"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["reviewed_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetReviewedAt(val)
+ }
+ tkh.SetReviewedBy(objAttrs["reviewed_by"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["status"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupAuditStatus, func(val any) keyhubmodel.GroupGroupAuditStatus { return *val.(*keyhubmodel.GroupGroupAuditStatus) })
+ diags.Append(d...)
+ tkh.SetStatus(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["submitted_at"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetSubmittedAt(val)
+ }
+ tkh.SetSubmittedBy(objAttrs["submitted_by"].(basetypes.StringValue).ValueStringPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSGroupGroupAudit_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAuditAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditAccountable
+ tkh = keyhubmodel.NewGroupGroupAuditAccount()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountUuid(objAttrs["account_uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetAccountValid(objAttrs["account_valid"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["action"].(basetypes.StringValue), keyhubmodel.ParseAuditAuditAccountAction, func(val any) keyhubmodel.AuditAuditAccountAction { return *val.(*keyhubmodel.AuditAuditAccountAction) })
+ diags.Append(d...)
+ tkh.SetAction(val)
+ }
+ tkh.SetComment(objAttrs["comment"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDisconnectedNested(objAttrs["disconnected_nested"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ {
+ val, d := tfToTimePointer(objAttrs["last_active"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetLastActive(val)
+ }
+ {
+ val, d := parsePointer2(objAttrs["last_used"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetLastUsed(val)
+ }
+ tkh.SetNested(objAttrs["nested"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["rights"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupRights, func(val any) keyhubmodel.GroupGroupRights { return *val.(*keyhubmodel.GroupGroupRights) })
+ diags.Append(d...)
+ tkh.SetRights(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAuditConfig(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditConfigable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditConfigable
+ tkh = keyhubmodel.NewGroupGroupAuditConfig()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["months"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.Month {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseMonth, func(val any) keyhubmodel.Month { return *val.(*keyhubmodel.Month) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetMonths(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAuditLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupAuditLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupAuditable {
+ tkh, d := tfObjectToTKHRSGroupGroupAudit(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAudit_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAudit_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAudit_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupAudit_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupAuditingInfo(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupAuditingInfoable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupAuditingInfoable
+ tkh = keyhubmodel.NewGroupGroupAuditingInfo()
+ {
+ val, d := parsePointer2(objAttrs["audit_due_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetAuditDueDate(val)
+ }
+ {
+ val, d := parsePointer2(objAttrs["last_audit_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetLastAuditDate(val)
+ }
+ tkh.SetNrAccounts(objAttrs["nr_accounts"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrDisabledAccounts(objAttrs["nr_disabled_accounts"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrDisabledManagers(objAttrs["nr_disabled_managers"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrExpiredVaultRecords(objAttrs["nr_expired_vault_records"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrManagers(objAttrs["nr_managers"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNrVaultRecordsWithEndDate(objAttrs["nr_vault_records_with_end_date"].(basetypes.Int64Value).ValueInt64Pointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupClassificationPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClassificationPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClassificationPrimerable
+ tkh = keyhubmodel.NewGroupGroupClassificationPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupClient(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClientable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClientable
+ tkh = keyhubmodel.NewGroupGroupClient()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActivationRequired(objAttrs["activation_required"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findClientClientApplicationPrimerByUUID(ctx, objAttrs["client_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["group_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetGroup(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["owner_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["technical_administrator_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSGroupGroupClient_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupClientLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClientLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClientLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupClientLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupClientable {
+ tkh, d := tfObjectToTKHRSGroupGroupClient(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupClient_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupClient_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupClient_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroupClient_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupInfo(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupInfoable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupInfoable
+ tkh = keyhubmodel.NewGroupGroupInfo()
+ tkh.SetNrAccounts(int64PToInt32P(objAttrs["nr_accounts"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrAccountsWithVault(int64PToInt32P(objAttrs["nr_accounts_with_vault"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrAudits(int64PToInt32P(objAttrs["nr_audits"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrClients(int64PToInt32P(objAttrs["nr_clients"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrProvisionedSystems(int64PToInt32P(objAttrs["nr_provisioned_systems"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNrVaultRecords(int64PToInt32P(objAttrs["nr_vault_records"].(basetypes.Int64Value).ValueInt64Pointer()))
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupable {
+ tkh, d := tfObjectToTKHRSGroupGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupPrimerable
+ tkh = keyhubmodel.NewGroupGroupPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAdmin(objAttrs["admin"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroupPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroupPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroupPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewGroupGroupPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupGroupPrimerable {
+ tkh, d := tfObjectToTKHRSGroupGroupPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupGroup_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupGroup_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupGroup_additionalObjectsable
+ tkh = keyhubmodel.NewGroupGroup_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSGroupGroupAccountLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["accounts"]))
+ diags.Append(d...)
+ tkh.SetAccounts(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSClientClientApplicationLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["administered_clients"]))
+ diags.Append(d...)
+ tkh.SetAdministeredClients(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionedSystemLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["administered_systems"]))
+ diags.Append(d...)
+ tkh.SetAdministeredSystems(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupAccountLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["admins"]))
+ diags.Append(d...)
+ tkh.SetAdmins(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupAuthorizedGroupsWrapper(ctx, recurse, objAttrs["authorized_groups"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAuthorizedGroups(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "group.AuthorizedGroupsWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSClientOAuth2ClientPermissionWithClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["client_permissions"]))
+ diags.Append(d...)
+ tkh.SetClientPermissions(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["clients"]))
+ diags.Append(d...)
+ tkh.SetClients(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionedSystemLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["content_administered_systems"]))
+ diags.Append(d...)
+ tkh.SetContentAdministeredSystems(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupAuditingInfo(ctx, recurse, objAttrs["groupauditinginfo"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroupauditinginfo(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupInfo(ctx, recurse, objAttrs["groupinfo"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroupinfo(val)
+ }
+ {
+ val, d := tfObjectToTKHRSDirectoryAccountDirectorySummaryLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["helpdesk"]))
+ diags.Append(d...)
+ tkh.SetHelpdesk(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSMarkItemMarkers(ctx, recurse, objAttrs["markers"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupAccount(ctx, recurse, objAttrs["myaccount"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMyaccount(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupAccount(ctx, recurse, objAttrs["mydelegatedaccount"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMydelegatedaccount(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["nested_groups"]))
+ diags.Append(d...)
+ tkh.SetNestedGroups(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSClientClientApplicationLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_clients"]))
+ diags.Append(d...)
+ tkh.SetOwnedClients(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSDirectoryAccountDirectoryLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_directories"]))
+ diags.Append(d...)
+ tkh.SetOwnedDirectories(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningOwnedGroupOnSystemsWrapper(ctx, recurse, objAttrs["owned_groups_on_system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetOwnedGroupsOnSystem(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "provisioning.OwnedGroupOnSystemsWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSOrganizationOrganizationalUnitLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_organizational_units"]))
+ diags.Append(d...)
+ tkh.SetOwnedOrganizationalUnits(val)
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionedSystemLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["owned_systems"]))
+ diags.Append(d...)
+ tkh.SetOwnedSystems(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupGroupAuditLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["recent_audits"]))
+ diags.Append(d...)
+ tkh.SetRecentAudits(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := parseCastPointer(objAttrs["requeststatus"].(basetypes.StringValue), keyhubmodel.ParseGroupGroupRequestStatus, func(val any) keyhubmodel.GroupGroupRequestStatus { return *val.(*keyhubmodel.GroupGroupRequestStatus) })
+ diags.Append(d...)
+ tkh.SetRequeststatus(val)
+ }
+ {
+ val, d := tfObjectToTKHRSServiceaccountServiceAccountLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["service_accounts"]))
+ diags.Append(d...)
+ tkh.SetServiceAccounts(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupProvisioningGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["systems"]))
+ diags.Append(d...)
+ tkh.SetSystems(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSVaultVault(ctx, recurse, objAttrs["vault"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetVault(val)
+ }
+ {
+ val, d := tfObjectToTKHRSWebhookWebhookLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["webhooks"]))
+ diags.Append(d...)
+ tkh.SetWebhooks(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupProvisioningGroup(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupProvisioningGroupable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupProvisioningGroupable
+ tkh = keyhubmodel.NewGroupProvisioningGroup()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActivationRequired(objAttrs["activation_required"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["group_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetGroup(val)
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningGroupOnSystem(ctx, false, objAttrs["group_on_system"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetGroupOnSystem(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSGroupProvisioningGroup_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupProvisioningGroupLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupProvisioningGroupLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupProvisioningGroupLinkableWrapperable
+ tkh = keyhubmodel.NewGroupProvisioningGroupLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.GroupProvisioningGroupable {
+ tkh, d := tfObjectToTKHRSGroupProvisioningGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupProvisioningGroup_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.GroupProvisioningGroup_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.GroupProvisioningGroup_additionalObjectsable
+ tkh = keyhubmodel.NewGroupProvisioningGroup_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSGroupVaultVaultRecord(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordable
+ tkh = keyhubmodel.NewVaultVaultRecord()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["color"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordColor, func(val any) keyhubmodel.VaultVaultRecordColor { return *val.(*keyhubmodel.VaultVaultRecordColor) })
+ diags.Append(d...)
+ tkh.SetColor(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["share_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetShareEndTime(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDerived(objAttrs["derived"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ tkh.SetFilename(objAttrs["filename"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultSecretType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseVaultVaultSecretType, func(val any) keyhubmodel.VaultVaultSecretType { return *val.(*keyhubmodel.VaultVaultSecretType) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ tkh.SetUrl(objAttrs["url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["warning_period"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordWarningPeriod, func(val any) keyhubmodel.VaultVaultRecordWarningPeriod {
+ return *val.(*keyhubmodel.VaultVaultRecordWarningPeriod)
+ })
+ diags.Append(d...)
+ tkh.SetWarningPeriod(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSVaultVaultRecord_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSLaunchpadSsoApplicationLaunchpadTile(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.LaunchpadSsoApplicationLaunchpadTileable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.LaunchpadSsoApplicationLaunchpadTileable
+ tkh = keyhubmodel.NewLaunchpadSsoApplicationLaunchpadTile()
+ tkh.SetUri(objAttrs["uri"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSLaunchpadVaultRecordLaunchpadTile(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.LaunchpadVaultRecordLaunchpadTileable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.LaunchpadVaultRecordLaunchpadTileable
+ tkh = keyhubmodel.NewLaunchpadVaultRecordLaunchpadTile()
+ return tkh, diags
+}
+
+func tfObjectToTKHRSMarkItemMarker(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.MarkItemMarkerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.MarkItemMarkerable
+ tkh = keyhubmodel.NewMarkItemMarker()
+ {
+ val, d := parseCastPointer(objAttrs["level"].(basetypes.StringValue), keyhubmodel.ParseMarkItemMarkerLevel, func(val any) keyhubmodel.MarkItemMarkerLevel { return *val.(*keyhubmodel.MarkItemMarkerLevel) })
+ diags.Append(d...)
+ tkh.SetLevel(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseMarkItemMarkerType, func(val any) keyhubmodel.MarkItemMarkerType { return *val.(*keyhubmodel.MarkItemMarkerType) })
+ diags.Append(d...)
+ tkh.SetMarkItemMarkerType(val)
+ }
+ {
+ val, d := tfToMap(objAttrs["parameters"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewMarkItemMarker_parameters())
+ diags.Append(d...)
+ tkh.SetParameters(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSMarkItemMarkers(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.MarkItemMarkersable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.MarkItemMarkersable
+ tkh = keyhubmodel.NewMarkItemMarkers()
+ {
+ val, d := tfToSlice(objAttrs["markers"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.MarkItemMarkerable {
+ tkh, d := tfObjectToTKHRSMarkItemMarker(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSNestedProvisioningGroupOnSystem(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystem()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameInSystem(objAttrs["name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningGroupOnSystemPrimerType(val)
+ }
+ tkh.SetShortNameInSystem(objAttrs["short_name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["owner_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSProvisioningGroupOnSystem_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSOrganizationOrganizationalUnit(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnitable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnitable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnit()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDepth(int64PToInt32P(objAttrs["depth"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetDescription(objAttrs["description"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["owner_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ {
+ val, d := findOrganizationOrganizationalUnitPrimerByUUID(ctx, objAttrs["parent_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetParent(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSOrganizationOrganizationalUnit_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSOrganizationOrganizationalUnitLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnitLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnitLinkableWrapperable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnitLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.OrganizationOrganizationalUnitable {
+ tkh, d := tfObjectToTKHRSOrganizationOrganizationalUnit(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSOrganizationOrganizationalUnitPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnitPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnitPrimerable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnitPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSOrganizationOrganizationalUnitPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnitPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnitPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnitPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.OrganizationOrganizationalUnitPrimerable {
+ tkh, d := tfObjectToTKHRSOrganizationOrganizationalUnitPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSOrganizationOrganizationalUnit_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.OrganizationOrganizationalUnit_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.OrganizationOrganizationalUnit_additionalObjectsable
+ tkh = keyhubmodel.NewOrganizationOrganizationalUnit_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHRSOrganizationOrganizationalUnitPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["create_as_parent_of"]))
+ diags.Append(d...)
+ tkh.SetCreateAsParentOf(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningAbstractProvisionedLDAP(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningAbstractProvisionedLDAPable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningAbstractProvisionedLDAPable
+ tkh = keyhubmodel.NewProvisioningAbstractProvisionedLDAP()
+ {
+ val, d := tfToMap(objAttrs["attributes"].(basetypes.MapValue), func(val attr.Value, diags *diag.Diagnostics) any {
+ return val.(basetypes.StringValue).ValueString()
+ }, keyhubmodel.NewProvisioningAbstractProvisionedLDAP_attributes())
+ diags.Append(d...)
+ tkh.SetAttributes(val)
+ }
+ tkh.SetBaseDN(objAttrs["base_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBindDN(objAttrs["bind_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBindPassword(objAttrs["bind_password"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["client_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ tkh.SetFailoverHost(objAttrs["failover_host"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["failover_trusted_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetFailoverTrustedCertificate(val)
+ }
+ tkh.SetGroupDN(objAttrs["group_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetHost(objAttrs["host"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetObjectClasses(objAttrs["object_classes"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetPort(int64PToInt32P(objAttrs["port"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetServiceAccountDN(objAttrs["service_account_dn"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetSshPublicKeySupported(objAttrs["ssh_public_key_supported"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["tls"].(basetypes.StringValue), keyhubmodel.ParseTLSLevel, func(val any) keyhubmodel.TLSLevel { return *val.(*keyhubmodel.TLSLevel) })
+ diags.Append(d...)
+ tkh.SetTls(val)
+ }
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["trusted_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetTrustedCertificate(val)
+ }
+ tkh.SetUserDN(objAttrs["user_dn"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningCircuitBreakerStatistics(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningCircuitBreakerStatisticsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningCircuitBreakerStatisticsable
+ tkh = keyhubmodel.NewProvisioningCircuitBreakerStatistics()
+ tkh.SetNumberOfFailedCalls(objAttrs["number_of_failed_calls"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNumberOfNotPermittedCalls(objAttrs["number_of_not_permitted_calls"].(basetypes.Int64Value).ValueInt64Pointer())
+ tkh.SetNumberOfSuccessfulCalls(objAttrs["number_of_successful_calls"].(basetypes.Int64Value).ValueInt64Pointer())
+ {
+ val, d := parseCastPointer(objAttrs["state"].(basetypes.StringValue), keyhubmodel.ParseProvisioningCircuitBreakerState, func(val any) keyhubmodel.ProvisioningCircuitBreakerState {
+ return *val.(*keyhubmodel.ProvisioningCircuitBreakerState)
+ })
+ diags.Append(d...)
+ tkh.SetState(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningGroupOnSystem(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystem()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameInSystem(objAttrs["name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningGroupOnSystemPrimerType(val)
+ }
+ tkh.SetShortNameInSystem(objAttrs["short_name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["owner_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSProvisioningGroupOnSystem_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningGroupOnSystemLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemLinkableWrapperable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystemLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningGroupOnSystemable {
+ tkh, d := tfObjectToTKHRSProvisioningGroupOnSystem(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningGroupOnSystemPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemPrimerable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystemPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameInSystem(objAttrs["name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningGroupOnSystemPrimerType(val)
+ }
+ tkh.SetShortNameInSystem(objAttrs["short_name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningGroupOnSystemTypes(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystemTypesable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystemTypesable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystemTypes()
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningGroupOnSystemType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningGroupOnSystem_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningGroupOnSystem_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningGroupOnSystem_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningGroupOnSystem_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHRSGroupProvisioningGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["provgroups"]))
+ diags.Append(d...)
+ tkh.SetProvgroups(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSServiceaccountServiceAccountPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["service_accounts"]))
+ diags.Append(d...)
+ tkh.SetServiceAccounts(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningOwnedGroupOnSystemsWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningOwnedGroupOnSystemsWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningOwnedGroupOnSystemsWrapperable
+ tkh = keyhubmodel.NewProvisioningOwnedGroupOnSystemsWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningGroupOnSystemable {
+ tkh, d := tfObjectToTKHRSProvisioningGroupOnSystem(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ tkh.SetUnlinkedCount(objAttrs["unlinked_count"].(basetypes.Int64Value).ValueInt64Pointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionNumberSequence(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionNumberSequenceable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionNumberSequenceable
+ tkh = keyhubmodel.NewProvisioningProvisionNumberSequence()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccountCount(int64PToInt32P(objAttrs["account_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNextUID(objAttrs["next_uid"].(basetypes.Int64Value).ValueInt64Pointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionNumberSequence_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionNumberSequence_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionNumberSequence_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionNumberSequence_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningProvisionNumberSequence_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionedSystemPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["systems"]))
+ diags.Append(d...)
+ tkh.SetSystems(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedAD(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedADable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedADable
+ tkh = keyhubmodel.NewProvisioningProvisionedAD()
+ {
+ val, d := parseCastPointer(objAttrs["sam_account_name_scheme"].(basetypes.StringValue), keyhubmodel.ParseProvisioningADSamAccountNameScheme, func(val any) keyhubmodel.ProvisioningADSamAccountNameScheme {
+ return *val.(*keyhubmodel.ProvisioningADSamAccountNameScheme)
+ })
+ diags.Append(d...)
+ tkh.SetSamAccountNameScheme(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAccountable
+ tkh = keyhubmodel.NewProvisioningProvisionedAccount()
+ {
+ val, d := findAuthAccountPrimerByUUID(ctx, objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ if val != nil {
+ dtype := tkh.GetTypeEscaped()
+ (*tkh.(*keyhubmodel.ProvisioningProvisionedAccount)).AuthAccountPrimer = *(val.(*keyhubmodel.AuthAccountPrimer))
+ tkh.SetTypeEscaped(dtype)
+ }
+ }
+ tkh.SetUid(objAttrs["uid"].(basetypes.Int64Value).ValueInt64Pointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionedAccount_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedAccount_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAccount_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAccount_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningProvisionedAccount_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedAzureOIDCDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable
+ tkh = keyhubmodel.NewProvisioningProvisionedAzureOIDCDirectory()
+ {
+ val, d := findDirectoryAccountDirectoryPrimerByUUID(ctx, objAttrs["directory_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetTenant(objAttrs["tenant"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedAzureSyncLDAPDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable
+ tkh = keyhubmodel.NewProvisioningProvisionedAzureSyncLDAPDirectory()
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientSecret(objAttrs["client_secret"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findDirectoryAccountDirectoryPrimerByUUID(ctx, objAttrs["directory_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetTenant(objAttrs["tenant"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedAzureTenant(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedAzureTenantable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedAzureTenantable
+ tkh = keyhubmodel.NewProvisioningProvisionedAzureTenant()
+ tkh.SetClientId(objAttrs["client_id"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetClientSecret(objAttrs["client_secret"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetIdpDomain(objAttrs["idp_domain"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetTenant(objAttrs["tenant"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedInternalLDAP(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedInternalLDAPable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedInternalLDAPable
+ tkh = keyhubmodel.NewProvisioningProvisionedInternalLDAP()
+ {
+ val, d := findClientLdapClientByUUID(ctx, objAttrs["client_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedLDAP(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedLDAPable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedLDAPable
+ tkh = keyhubmodel.NewProvisioningProvisionedLDAP()
+ tkh.SetGid(objAttrs["gid"].(basetypes.Int64Value).ValueInt64Pointer())
+ {
+ val, d := parseCastPointer(objAttrs["hashing_scheme"].(basetypes.StringValue), keyhubmodel.ParseProvisioningLDAPPasswordHashingScheme, func(val any) keyhubmodel.ProvisioningLDAPPasswordHashingScheme {
+ return *val.(*keyhubmodel.ProvisioningLDAPPasswordHashingScheme)
+ })
+ diags.Append(d...)
+ tkh.SetHashingScheme(val)
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionNumberSequence(ctx, recurse, objAttrs["numbering"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetNumbering(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedLDAPDirectory(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedLDAPDirectoryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedLDAPDirectoryable
+ tkh = keyhubmodel.NewProvisioningProvisionedLDAPDirectory()
+ {
+ val, d := findDirectoryAccountDirectoryPrimerByUUID(ctx, objAttrs["directory_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ tkh.SetGroupDN(objAttrs["group_dn"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedSystem(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystem()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findOrganizationOrganizationalUnitPrimerByUUID(ctx, objAttrs["organizational_unit_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOrganizationalUnit(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningProvisionedSystemType, func(val any) keyhubmodel.ProvisioningProvisionedSystemType {
+ return *val.(*keyhubmodel.ProvisioningProvisionedSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningProvisionedSystemPrimerType(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetAccountCount(int64PToInt32P(objAttrs["account_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["content_administrator_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetContentAdministrator(val)
+ }
+ {
+ val, d := parsePointer(objAttrs["external_uuid"].(basetypes.StringValue), uuid.Parse)
+ diags.Append(d...)
+ tkh.SetExternalUuid(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["owner_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOwner(val)
+ }
+ tkh.SetSelfServiceExistingGroups(objAttrs["self_service_existing_groups"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSelfServiceNewGroups(objAttrs["self_service_new_groups"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetSelfServiceServiceAccounts(objAttrs["self_service_service_accounts"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetShouldDestroyUnknownAccounts(objAttrs["should_destroy_unknown_accounts"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["technical_administrator_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ tkh.SetUsernamePrefix(objAttrs["username_prefix"].(basetypes.StringValue).ValueStringPointer())
+ if !objAttrs["abstract_provisioned_ldap"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningAbstractProvisionedLDAP(ctx, false, objAttrs["abstract_provisioned_ldap"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningAbstractProvisionedLDAP)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_a_d"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningProvisionedAD(ctx, false, objAttrs["provisioned_a_d"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAD)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_azure_oidc_directory"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningProvisionedAzureOIDCDirectory(ctx, false, objAttrs["provisioned_azure_oidc_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAzureOIDCDirectory)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_azure_sync_ldap_directory"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningProvisionedAzureSyncLDAPDirectory(ctx, false, objAttrs["provisioned_azure_sync_ldap_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectory)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_azure_tenant"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningProvisionedAzureTenant(ctx, false, objAttrs["provisioned_azure_tenant"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedAzureTenant)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_internal_ldap"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningProvisionedInternalLDAP(ctx, false, objAttrs["provisioned_internal_ldap"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedInternalLDAP)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_ldap"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningProvisionedLDAP(ctx, false, objAttrs["provisioned_ldap"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedLDAP)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if !objAttrs["provisioned_ldap_directory"].IsNull() {
+ val, d := tfObjectToTKHRSProvisioningProvisionedLDAPDirectory(ctx, false, objAttrs["provisioned_ldap_directory"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ dtype := val.GetTypeEscaped()
+ (*val.(*keyhubmodel.ProvisioningProvisionedLDAPDirectory)).ProvisioningProvisionedSystem = *tkh.(*keyhubmodel.ProvisioningProvisionedSystem)
+ val.SetTypeEscaped(dtype)
+ tkh = val
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionedSystem_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedSystemLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemLinkableWrapperable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystemLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningProvisionedSystemable {
+ tkh, d := tfObjectToTKHRSProvisioningProvisionedSystem(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedSystemPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemPrimerable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystemPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findOrganizationOrganizationalUnitPrimerByUUID(ctx, objAttrs["organizational_unit_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetOrganizationalUnit(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningProvisionedSystemType, func(val any) keyhubmodel.ProvisioningProvisionedSystemType {
+ return *val.(*keyhubmodel.ProvisioningProvisionedSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningProvisionedSystemPrimerType(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedSystemPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystemPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystemPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystemPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ProvisioningProvisionedSystemPrimerable {
+ tkh, d := tfObjectToTKHRSProvisioningProvisionedSystemPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisionedSystem_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisionedSystem_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisionedSystem_additionalObjectsable
+ tkh = keyhubmodel.NewProvisioningProvisionedSystem_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisionedAccount(ctx, recurse, objAttrs["account"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAccount(val)
+ }
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHRSClientOAuth2ClientPermissionWithClientLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["issued_permissions"]))
+ diags.Append(d...)
+ tkh.SetIssuedPermissions(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ tkh.SetLoginName(objAttrs["login_name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfObjectToTKHRSProvisioningProvisioningManagementPermissions(ctx, recurse, objAttrs["management_permissions"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetManagementPermissions(val)
+ }
+ {
+ val, d := tfObjectToTKHRSMarkItemMarkers(ctx, recurse, objAttrs["markers"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetMarkers(val)
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningCircuitBreakerStatistics(ctx, recurse, objAttrs["statistics"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetStatistics(val)
+ }
+ {
+ val, d := tfObjectToTKHRSProvisioningGroupOnSystemTypes(ctx, recurse, objAttrs["supported_group_types"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSupportedGroupTypes(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSProvisioningProvisioningManagementPermissions(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ProvisioningProvisioningManagementPermissionsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ProvisioningProvisioningManagementPermissionsable
+ tkh = keyhubmodel.NewProvisioningProvisioningManagementPermissions()
+ tkh.SetCreateNewGroupsAllowed(objAttrs["create_new_groups_allowed"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetCreateServiceAccountsAllowed(objAttrs["create_service_accounts_allowed"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetReuseExistingGroupsAllowed(objAttrs["reuse_existing_groups_allowed"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccount(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountable
+ tkh = keyhubmodel.NewServiceaccountServiceAccount()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findProvisioningProvisionedSystemPrimerByUUID(ctx, objAttrs["system_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetSystem(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDescription(objAttrs["description"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findVaultVaultRecordPrimerByUUID(ctx, objAttrs["password_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetPassword(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["password_rotation"].(basetypes.StringValue), keyhubmodel.ParseServiceaccountPasswordRotationScheme, func(val any) keyhubmodel.ServiceaccountPasswordRotationScheme {
+ return *val.(*keyhubmodel.ServiceaccountPasswordRotationScheme)
+ })
+ diags.Append(d...)
+ tkh.SetPasswordRotation(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["technical_administrator_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetTechnicalAdministrator(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSServiceaccountServiceAccount_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccountGroup(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountGroupable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountGroupable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountGroup()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetDisplayName(objAttrs["display_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetNameInSystem(objAttrs["name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseProvisioningGroupOnSystemType, func(val any) keyhubmodel.ProvisioningGroupOnSystemType {
+ return *val.(*keyhubmodel.ProvisioningGroupOnSystemType)
+ })
+ diags.Append(d...)
+ tkh.SetProvisioningGroupOnSystemPrimerType(val)
+ }
+ tkh.SetShortNameInSystem(objAttrs["short_name_in_system"].(basetypes.StringValue).ValueStringPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSServiceaccountServiceAccountGroup_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccountGroupLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountGroupLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountGroupLinkableWrapperable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountGroupLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ServiceaccountServiceAccountGroupable {
+ tkh, d := tfObjectToTKHRSServiceaccountServiceAccountGroup(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccountGroup_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountGroup_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountGroup_additionalObjectsable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountGroup_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccountLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountLinkableWrapperable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ServiceaccountServiceAccountable {
+ tkh, d := tfObjectToTKHRSServiceaccountServiceAccount(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccountPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountPrimerable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findProvisioningProvisionedSystemPrimerByUUID(ctx, objAttrs["system_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetSystem(val)
+ }
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccountPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccountPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccountPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewServiceaccountServiceAccountPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.ServiceaccountServiceAccountPrimerable {
+ tkh, d := tfObjectToTKHRSServiceaccountServiceAccountPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSServiceaccountServiceAccount_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.ServiceaccountServiceAccount_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.ServiceaccountServiceAccount_additionalObjectsable
+ tkh = keyhubmodel.NewServiceaccountServiceAccount_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ {
+ val, d := tfObjectToTKHRSServiceaccountServiceAccountGroupLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["groups"]))
+ diags.Append(d...)
+ tkh.SetGroups(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSGeneratedSecret(ctx, recurse, objAttrs["secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSecret(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultPasswordMetadata(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultPasswordMetadataable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultPasswordMetadataable
+ tkh = keyhubmodel.NewVaultPasswordMetadata()
+ tkh.SetDictionary(objAttrs["dictionary"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetDuplicate(objAttrs["duplicate"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetHash(objAttrs["hash"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetLength(int64PToInt32P(objAttrs["length"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetLowerCount(int64PToInt32P(objAttrs["lower_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetNumberCount(int64PToInt32P(objAttrs["number_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetSpecialCount(int64PToInt32P(objAttrs["special_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetStrength(int64PToInt32P(objAttrs["strength"].(basetypes.Int64Value).ValueInt64Pointer()))
+ tkh.SetUpperCount(int64PToInt32P(objAttrs["upper_count"].(basetypes.Int64Value).ValueInt64Pointer()))
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVault(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultable
+ tkh = keyhubmodel.NewVaultVault()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ tkh.SetAccessAvailable(objAttrs["access_available"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["records"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultRecordable {
+ tkh, d := findVaultVaultRecordByUUID(ctx, val.(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetRecords(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultHolder(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultHolderable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ var tkh keyhubmodel.VaultVaultHolderable
+ tkh = keyhubmodel.NewVaultVaultHolder()
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultRecord(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordable
+ tkh = keyhubmodel.NewVaultVaultRecord()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["color"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordColor, func(val any) keyhubmodel.VaultVaultRecordColor { return *val.(*keyhubmodel.VaultVaultRecordColor) })
+ diags.Append(d...)
+ tkh.SetColor(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["share_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetShareEndTime(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetDerived(objAttrs["derived"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parsePointer2(objAttrs["end_date"].(basetypes.StringValue), serialization.ParseDateOnly)
+ diags.Append(d...)
+ tkh.SetEndDate(val)
+ }
+ tkh.SetFilename(objAttrs["filename"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultSecretType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseVaultVaultSecretType, func(val any) keyhubmodel.VaultVaultSecretType { return *val.(*keyhubmodel.VaultVaultSecretType) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ tkh.SetUrl(objAttrs["url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUsername(objAttrs["username"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["warning_period"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordWarningPeriod, func(val any) keyhubmodel.VaultVaultRecordWarningPeriod {
+ return *val.(*keyhubmodel.VaultVaultRecordWarningPeriod)
+ })
+ diags.Append(d...)
+ tkh.SetWarningPeriod(val)
+ }
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSVaultVaultRecord_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultRecordPrimer(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordPrimerable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordPrimerable
+ tkh = keyhubmodel.NewVaultVaultRecordPrimer()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["color"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultRecordColor, func(val any) keyhubmodel.VaultVaultRecordColor { return *val.(*keyhubmodel.VaultVaultRecordColor) })
+ diags.Append(d...)
+ tkh.SetColor(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := tfToTimePointer(objAttrs["share_end_time"].(basetypes.StringValue))
+ diags.Append(d...)
+ tkh.SetShareEndTime(val)
+ }
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultRecordPrimerLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordPrimerLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordPrimerLinkableWrapperable
+ tkh = keyhubmodel.NewVaultVaultRecordPrimerLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultRecordPrimerable {
+ tkh, d := tfObjectToTKHRSVaultVaultRecordPrimer(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultRecordSecrets(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordSecretsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordSecretsable
+ tkh = keyhubmodel.NewVaultVaultRecordSecrets()
+ tkh.SetComment(objAttrs["comment"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetFile(objAttrs["file"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetPassword(objAttrs["password"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetTotp(objAttrs["totp"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetWriteTotp(objAttrs["write_totp"].(basetypes.BoolValue).ValueBoolPointer())
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultRecordShare(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordShareable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordShareable
+ tkh = keyhubmodel.NewVaultVaultRecordShare()
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := parseCastPointer(objAttrs["type"].(basetypes.StringValue), keyhubmodel.ParseVaultVaultHolderType, func(val any) keyhubmodel.VaultVaultHolderType { return *val.(*keyhubmodel.VaultVaultHolderType) })
+ diags.Append(d...)
+ tkh.SetVaultVaultRecordShareType(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultRecordShareSummary(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecordShareSummaryable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecordShareSummaryable
+ tkh = keyhubmodel.NewVaultVaultRecordShareSummary()
+ {
+ val, d := tfToSlice(objAttrs["children"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.VaultVaultRecordShareable {
+ tkh, d := tfObjectToTKHRSVaultVaultRecordShare(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetChildren(val)
+ }
+ {
+ val, d := tfObjectToTKHRSVaultVaultRecordShare(ctx, recurse, objAttrs["parent"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetParent(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSVaultVaultRecord_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.VaultVaultRecord_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.VaultVaultRecord_additionalObjectsable
+ tkh = keyhubmodel.NewVaultVaultRecord_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ tkh.SetDeleteTile(objAttrs["delete_tile"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := findVaultVaultRecordPrimerByUUID(ctx, objAttrs["parent_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetParent(val)
+ }
+ {
+ val, d := tfObjectToTKHRSVaultPasswordMetadata(ctx, recurse, objAttrs["password_metadata"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetPasswordMetadata(val)
+ }
+ {
+ val, d := tfObjectToTKHRSVaultVaultRecordSecrets(ctx, recurse, objAttrs["secret"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetSecret(val)
+ }
+ {
+ val, d := tfObjectToTKHRSVaultVaultRecordShareSummary(ctx, recurse, objAttrs["share_summary"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetShareSummary(val)
+ }
+ {
+ val, d := tfObjectToTKHRSVaultVaultRecordPrimerLinkableWrapper(ctx, recurse, toItemsList(ctx, objAttrs["shares"]))
+ diags.Append(d...)
+ tkh.SetShares(val)
+ if val != nil {
+ val.SetAdditionalData(map[string]any{"$type": "LinkableWrapper"})
+ }
+ }
+ {
+ val, d := tfObjectToTKHRSLaunchpadVaultRecordLaunchpadTile(ctx, recurse, objAttrs["tile"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetTile(val)
+ }
+ {
+ val, d := tfObjectToTKHRSVaultVaultHolder(ctx, recurse, objAttrs["vaultholder"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetVaultholder(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSWebhookWebhook(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.WebhookWebhookable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.WebhookWebhookable
+ tkh = keyhubmodel.NewWebhookWebhook()
+ {
+ val, d := tfToSlice(objAttrs["links"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.RestLinkable {
+ tkh, d := tfObjectToTKHRSRestLink(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetLinks(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["permissions"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuthPermissionable {
+ tkh, d := tfObjectToTKHRSAuthPermission(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetPermissions(val)
+ }
+ {
+ val, d := findAuthAccountPrimerByUUID(ctx, objAttrs["account_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetAccount(val)
+ }
+ tkh.SetActive(objAttrs["active"].(basetypes.BoolValue).ValueBoolPointer())
+ tkh.SetAllTypes(objAttrs["all_types"].(basetypes.BoolValue).ValueBoolPointer())
+ {
+ val, d := parseCastPointer(objAttrs["authentication_scheme"].(basetypes.StringValue), keyhubmodel.ParseWebhookWebhookAuthenticationScheme, func(val any) keyhubmodel.WebhookWebhookAuthenticationScheme {
+ return *val.(*keyhubmodel.WebhookWebhookAuthenticationScheme)
+ })
+ diags.Append(d...)
+ tkh.SetAuthenticationScheme(val)
+ }
+ tkh.SetBasicAuthPassword(objAttrs["basic_auth_password"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBasicAuthUsername(objAttrs["basic_auth_username"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetBearerToken(objAttrs["bearer_token"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findClientClientApplicationPrimerByUUID(ctx, objAttrs["client_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClient(val)
+ }
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["client_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetClientCertificate(val)
+ }
+ tkh.SetCustomHeaderName(objAttrs["custom_header_name"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetCustomHeaderValue(objAttrs["custom_header_value"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findDirectoryAccountDirectoryPrimerByUUID(ctx, objAttrs["directory_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetDirectory(val)
+ }
+ {
+ val, d := findGroupGroupPrimerByUUID(ctx, objAttrs["group_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetGroup(val)
+ }
+ tkh.SetName(objAttrs["name"].(basetypes.StringValue).ValueStringPointer())
+ {
+ val, d := findProvisioningProvisionedSystemPrimerByUUID(ctx, objAttrs["system_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetSystem(val)
+ }
+ {
+ val, d := parseCastPointer(objAttrs["tls"].(basetypes.StringValue), keyhubmodel.ParseTLSLevel, func(val any) keyhubmodel.TLSLevel { return *val.(*keyhubmodel.TLSLevel) })
+ diags.Append(d...)
+ tkh.SetTls(val)
+ }
+ {
+ val, d := findCertificateCertificatePrimerByUUID(ctx, objAttrs["trusted_certificate_uuid"].(basetypes.StringValue).ValueStringPointer())
+ diags.Append(d...)
+ tkh.SetTrustedCertificate(val)
+ }
+ {
+ val, d := tfToSlice(objAttrs["types"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.AuditAuditRecordType {
+ tkh, d := parseCast(val.(basetypes.StringValue), keyhubmodel.ParseAuditAuditRecordType, func(val any) keyhubmodel.AuditAuditRecordType { return *val.(*keyhubmodel.AuditAuditRecordType) })
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetTypes(val)
+ }
+ tkh.SetUrl(objAttrs["url"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetUuid(objAttrs["uuid"].(basetypes.StringValue).ValueStringPointer())
+ tkh.SetVerbosePayloads(objAttrs["verbose_payloads"].(basetypes.BoolValue).ValueBoolPointer())
+ if recurse {
+ {
+ val, d := tfObjectToTKHRSWebhookWebhook_additionalObjects(ctx, false, objVal)
+ diags.Append(d...)
+ tkh.SetAdditionalObjects(val)
+ }
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSWebhookWebhookLinkableWrapper(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.WebhookWebhookLinkableWrapperable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.WebhookWebhookLinkableWrapperable
+ tkh = keyhubmodel.NewWebhookWebhookLinkableWrapper()
+ {
+ val, d := tfToSlice(objAttrs["items"].(basetypes.ListValue), func(val attr.Value, diags *diag.Diagnostics) keyhubmodel.WebhookWebhookable {
+ tkh, d := tfObjectToTKHRSWebhookWebhook(ctx, recurse, val.(basetypes.ObjectValue))
+ diags.Append(d...)
+ return tkh
+ })
+ diags.Append(d...)
+ tkh.SetItems(val)
+ }
+ return tkh, diags
+}
+
+func tfObjectToTKHRSWebhookWebhook_additionalObjects(ctx context.Context, recurse bool, objVal types.Object) (keyhubmodel.WebhookWebhook_additionalObjectsable, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ if objVal.IsNull() || objVal.IsUnknown() {
+ return nil, diags
+ }
+ objAttrs := objVal.Attributes()
+ var tkh keyhubmodel.WebhookWebhook_additionalObjectsable
+ tkh = keyhubmodel.NewWebhookWebhook_additionalObjects()
+ {
+ val, d := tfObjectToTKHRSAuditInfo(ctx, recurse, objAttrs["audit"].(basetypes.ObjectValue))
+ diags.Append(d...)
+ tkh.SetAudit(val)
+ }
+ return tkh, diags
+}
diff --git a/internal/provider/full-tkh-to-tf-ds.go b/internal/provider/full-tkh-to-tf-ds.go
new file mode 100644
index 0000000..631a35d
--- /dev/null
+++ b/internal/provider/full-tkh-to-tf-ds.go
@@ -0,0 +1,4907 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "golang.org/x/exp/maps"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ keyhubmodel "github.com/topicuskeyhub/sdk-go/models"
+)
+
+func tkhToTFObjectDSAuditInfo(recurse bool, tkh keyhubmodel.AuditInfoable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = auditInfoAttrTypesDSRecurse
+ } else {
+ attrs = auditInfoAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["created_at"] = timePointerToTF(tkh.GetCreatedAt())
+ obj["created_by"] = types.StringPointerValue(tkh.GetCreatedBy())
+ obj["last_modified_at"] = timePointerToTF(tkh.GetLastModifiedAt())
+ obj["last_modified_by"] = types.StringPointerValue(tkh.GetLastModifiedBy())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGeneratedSecret(recurse bool, tkh keyhubmodel.GeneratedSecretable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = generatedSecretAttrTypesDSRecurse
+ } else {
+ attrs = generatedSecretAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["generated_secret"] = types.StringPointerValue(tkh.GetGeneratedSecret())
+ obj["old_secret"] = types.StringPointerValue(tkh.GetOldSecret())
+ obj["regenerate"] = types.BoolPointerValue(tkh.GetRegenerate())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSLinkable(recurse bool, tkh keyhubmodel.Linkableable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = linkableAttrTypesDSRecurse
+ } else {
+ attrs = linkableAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSNonLinkable(recurse bool, tkh keyhubmodel.NonLinkableable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = nonLinkableAttrTypesDSRecurse
+ } else {
+ attrs = nonLinkableAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSRestLink(recurse bool, tkh keyhubmodel.RestLinkable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = restLinkAttrTypesDSRecurse
+ } else {
+ attrs = restLinkAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["href"] = types.StringPointerValue(tkh.GetHref())
+ obj["id"] = types.Int64PointerValue(tkh.GetId())
+ obj["rel"] = types.StringPointerValue(tkh.GetRel())
+ obj["type_escaped"] = types.StringPointerValue(tkh.GetTypeEscaped())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthAccount(recurse bool, tkh keyhubmodel.AuthAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authAccountAttrTypesDSRecurse
+ } else {
+ attrs = authAccountAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSAuthAccount_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["last_active"] = timePointerToTF(tkh.GetLastActive())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["validity"] = stringerToTF(tkh.GetValidity())
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ elemType := attrs["account_permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAccountPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(false, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["account_permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["can_request_groups"] = types.BoolPointerValue(tkh.GetCanRequestGroups())
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryPrimer(false, tkh.GetDirectory())
+ diags.Append(d...)
+ obj["directory"] = val
+ }
+ obj["directory_name"] = types.StringPointerValue(tkh.GetDirectoryName())
+ obj["directory_password_change_required"] = types.BoolPointerValue(tkh.GetDirectoryPasswordChangeRequired())
+ obj["directory_rotating_password"] = stringerToTF(tkh.GetDirectoryRotatingPassword())
+ obj["directory_type"] = stringerToTF(tkh.GetDirectoryType())
+ obj["email"] = types.StringPointerValue(tkh.GetEmail())
+ obj["id_in_directory"] = types.StringPointerValue(tkh.GetIdInDirectory())
+ obj["key_hub_password_change_required"] = types.BoolPointerValue(tkh.GetKeyHubPasswordChangeRequired())
+ obj["last_modified_at"] = timePointerToTF(tkh.GetLastModifiedAt())
+ obj["license_role"] = stringerToTF(tkh.GetLicenseRole())
+ obj["locale"] = types.StringPointerValue(tkh.GetLocale())
+ obj["reregistration_required"] = types.BoolPointerValue(tkh.GetReregistrationRequired())
+ obj["token_password_enabled"] = types.BoolPointerValue(tkh.GetTokenPasswordEnabled())
+ obj["two_factor_status"] = stringerToTF(tkh.GetTwoFactorStatus())
+ obj["valid_in_directory"] = types.BoolPointerValue(tkh.GetValidInDirectory())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthAccountPrimer(recurse bool, tkh keyhubmodel.AuthAccountPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authAccountPrimerAttrTypesDSRecurse
+ } else {
+ attrs = authAccountPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["last_active"] = timePointerToTF(tkh.GetLastActive())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["validity"] = stringerToTF(tkh.GetValidity())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthAccountRecoveryStatus(recurse bool, tkh keyhubmodel.AuthAccountRecoveryStatusable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authAccountRecoveryStatusAttrTypesDSRecurse
+ } else {
+ attrs = authAccountRecoveryStatusAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["pending2fa_recovery_request"] = types.BoolPointerValue(tkh.GetPending2FARecoveryRequest())
+ obj["pending_password_recovery_request"] = types.BoolPointerValue(tkh.GetPendingPasswordRecoveryRequest())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthAccountSettings(recurse bool, tkh keyhubmodel.AuthAccountSettingsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authAccountSettingsAttrTypesDSRecurse
+ } else {
+ attrs = authAccountSettingsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnitPrimer(recurse, tkh.GetDefaultOrganizationalUnit())
+ diags.Append(d...)
+ obj["default_organizational_unit"] = val
+ }
+ obj["directory_name"] = types.StringPointerValue(tkh.GetDirectoryName())
+ obj["directory_type"] = stringerToTF(tkh.GetDirectoryType())
+ obj["in_groups"] = types.BoolPointerValue(tkh.GetInGroups())
+ obj["in_multiple_organizational_units"] = types.BoolPointerValue(tkh.GetInMultipleOrganizationalUnits())
+ obj["key_hub_admin"] = types.BoolPointerValue(tkh.GetKeyHubAdmin())
+ obj["multiple_organizational_units_exist"] = types.BoolPointerValue(tkh.GetMultipleOrganizationalUnitsExist())
+ obj["password_mode"] = stringerToTF(tkh.GetPasswordMode())
+ obj["ssh_public_key"] = types.StringPointerValue(tkh.GetSshPublicKey())
+ obj["two_factor_authentication"] = stringerToTF(tkh.GetTwoFactorAuthentication())
+ obj["use_token_password"] = types.BoolPointerValue(tkh.GetUseTokenPassword())
+ obj["vault_status"] = stringerToTF(tkh.GetVaultStatus())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthAccount_additionalObjects(recurse bool, tkh keyhubmodel.AuthAccount_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authAccount_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = authAccount_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["active_login"] = types.BoolPointerValue(tkh.GetActiveLogin())
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupAccountGroupLinkableWrapper(recurse, tkh.GetGroups())
+ diags.Append(d...)
+ obj["groups"] = getItemsAttr(val, attrs["groups"])
+ }
+ {
+ val, d := tkhToTFObjectDSAuthAccountRecoveryStatus(recurse, tkh.GetPendingRecoveryRequests())
+ diags.Append(d...)
+ obj["pending_recovery_requests"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSAuthAccountSettings(recurse, tkh.GetSettings())
+ diags.Append(d...)
+ obj["settings"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSAuthStoredAccountAttributes(recurse, tkh.GetStoredAttributes())
+ diags.Append(d...)
+ obj["stored_attributes"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVault(recurse, tkh.GetVault())
+ diags.Append(d...)
+ obj["vault"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthPermission(recurse bool, tkh keyhubmodel.AuthPermissionable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authPermissionAttrTypesDSRecurse
+ } else {
+ attrs = authPermissionAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["full"] = types.StringPointerValue(tkh.GetFull())
+ {
+ elemType := attrs["instances"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetInstances(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["instances"] = val
+ }
+ {
+ elemType := attrs["operations"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetOperations(), func(tkh keyhubmodel.AuthPermittedOperation, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["operations"] = val
+ }
+ obj["type_escaped"] = types.StringPointerValue(tkh.GetTypeEscaped())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthStoredAccountAttribute(recurse bool, tkh keyhubmodel.AuthStoredAccountAttributeable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authStoredAccountAttributeAttrTypesDSRecurse
+ } else {
+ attrs = authStoredAccountAttributeAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["value"] = types.StringPointerValue(tkh.GetValue())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSAuthStoredAccountAttributes(recurse bool, tkh keyhubmodel.AuthStoredAccountAttributesable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authStoredAccountAttributesAttrTypesDSRecurse
+ } else {
+ attrs = authStoredAccountAttributesAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["attributes"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAttributes(), func(tkh keyhubmodel.AuthStoredAccountAttributeable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthStoredAccountAttribute(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["attributes"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSCertificateCertificate(recurse bool, tkh keyhubmodel.CertificateCertificateable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = certificateCertificateAttrTypesDSRecurse
+ } else {
+ attrs = certificateCertificateAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSCertificateCertificate_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["alias"] = types.StringPointerValue(tkh.GetAlias())
+ obj["type"] = stringerToTF(tkh.GetCertificateCertificatePrimerType())
+ {
+ elemType := attrs["certificate_data"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetCertificateData(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["certificate_data"] = val
+ }
+ obj["expiration"] = timePointerToTF(tkh.GetExpiration())
+ obj["fingerprint_sha1"] = types.StringPointerValue(tkh.GetFingerprintSha1())
+ obj["fingerprint_sha256"] = types.StringPointerValue(tkh.GetFingerprintSha256())
+ obj["global"] = types.BoolPointerValue(tkh.GetGlobal())
+ obj["subject_dn"] = types.StringPointerValue(tkh.GetSubjectDN())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ elemType := attrs["key_data"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetKeyData(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["key_data"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSCertificateCertificatePrimer(recurse bool, tkh keyhubmodel.CertificateCertificatePrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = certificateCertificatePrimerAttrTypesDSRecurse
+ } else {
+ attrs = certificateCertificatePrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["alias"] = types.StringPointerValue(tkh.GetAlias())
+ obj["type"] = stringerToTF(tkh.GetCertificateCertificatePrimerType())
+ {
+ elemType := attrs["certificate_data"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetCertificateData(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["certificate_data"] = val
+ }
+ obj["expiration"] = timePointerToTF(tkh.GetExpiration())
+ obj["fingerprint_sha1"] = types.StringPointerValue(tkh.GetFingerprintSha1())
+ obj["fingerprint_sha256"] = types.StringPointerValue(tkh.GetFingerprintSha256())
+ obj["global"] = types.BoolPointerValue(tkh.GetGlobal())
+ obj["subject_dn"] = types.StringPointerValue(tkh.GetSubjectDN())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSCertificateCertificate_additionalObjects(recurse bool, tkh keyhubmodel.CertificateCertificate_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = certificateCertificate_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = certificateCertificate_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientClientApplication(recurse bool, tkh keyhubmodel.ClientClientApplicationable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplicationAttrTypesDSRecurse
+ } else {
+ attrs = clientClientApplicationAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSClientClientApplication_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetClientClientApplicationPrimerType())
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ elemType := attrs["scopes"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetScopes(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["scopes"] = val
+ }
+ obj["sso_application"] = types.BoolPointerValue(tkh.GetSsoApplication())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["last_modified_at"] = timePointerToTF(tkh.GetLastModifiedAt())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetOwner())
+ diags.Append(d...)
+ obj["owner"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetTechnicalAdministrator())
+ diags.Append(d...)
+ obj["technical_administrator"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ClientLdapClientable)
+ val, d := tkhToTFObjectDSClientLdapClient(false, tkhCast)
+ diags.Append(d...)
+ obj["ldap_client"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ClientOAuth2Clientable)
+ val, d := tkhToTFObjectDSClientOAuth2Client(false, tkhCast)
+ diags.Append(d...)
+ obj["o_auth2_client"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ClientSaml2Clientable)
+ val, d := tkhToTFObjectDSClientSaml2Client(false, tkhCast)
+ diags.Append(d...)
+ obj["saml2_client"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientClientApplicationLinkableWrapper(recurse bool, tkh keyhubmodel.ClientClientApplicationLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplicationLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = clientClientApplicationLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ClientClientApplicationable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSClientClientApplication(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientClientApplicationPrimer(recurse bool, tkh keyhubmodel.ClientClientApplicationPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplicationPrimerAttrTypesDSRecurse
+ } else {
+ attrs = clientClientApplicationPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetClientClientApplicationPrimerType())
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ elemType := attrs["scopes"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetScopes(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["scopes"] = val
+ }
+ obj["sso_application"] = types.BoolPointerValue(tkh.GetSsoApplication())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientClientApplication_additionalObjects(recurse bool, tkh keyhubmodel.ClientClientApplication_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplication_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = clientClientApplication_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupClientLinkableWrapper(recurse, tkh.GetGroupclients())
+ diags.Append(d...)
+ obj["groupclients"] = getItemsAttr(val, attrs["groupclients"])
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupLinkableWrapper(recurse, tkh.GetGroups())
+ diags.Append(d...)
+ obj["groups"] = getItemsAttr(val, attrs["groups"])
+ }
+ {
+ val, d := tkhToTFObjectDSGeneratedSecret(recurse, tkh.GetSecret())
+ diags.Append(d...)
+ obj["secret"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSLaunchpadSsoApplicationLaunchpadTile(recurse, tkh.GetTile())
+ diags.Append(d...)
+ obj["tile"] = val
+ }
+ obj["vault_record_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetVaultRecordCount()))
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientLdapClient(recurse bool, tkh keyhubmodel.ClientLdapClientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientLdapClientAttrTypesDSRecurse
+ } else {
+ attrs = clientLdapClientAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["bind_dn"] = types.StringPointerValue(tkh.GetBindDn())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(recurse, tkh.GetClientCertificate())
+ diags.Append(d...)
+ obj["client_certificate"] = val
+ }
+ obj["share_secret_in_vault"] = types.BoolPointerValue(tkh.GetShareSecretInVault())
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordPrimer(recurse, tkh.GetSharedSecret())
+ diags.Append(d...)
+ obj["shared_secret"] = val
+ }
+ obj["used_for_provisioning"] = types.BoolPointerValue(tkh.GetUsedForProvisioning())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientOAuth2Client(recurse bool, tkh keyhubmodel.ClientOAuth2Clientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientAttrTypesDSRecurse
+ } else {
+ attrs = clientOAuth2ClientAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["account_permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAccountPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["account_permissions"] = val
+ }
+ {
+ elemType := attrs["attributes"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetAttributes().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["attributes"] = val
+ }
+ obj["callback_uri"] = types.StringPointerValue(tkh.GetCallbackURI())
+ obj["confidential"] = types.BoolPointerValue(tkh.GetConfidential())
+ obj["debug_mode"] = types.BoolPointerValue(tkh.GetDebugMode())
+ obj["id_token_claims"] = types.StringPointerValue(tkh.GetIdTokenClaims())
+ obj["initiate_login_uri"] = types.StringPointerValue(tkh.GetInitiateLoginURI())
+ obj["resource_uris"] = types.StringPointerValue(tkh.GetResourceURIs())
+ obj["share_secret_in_vault"] = types.BoolPointerValue(tkh.GetShareSecretInVault())
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordPrimer(recurse, tkh.GetSharedSecret())
+ diags.Append(d...)
+ obj["shared_secret"] = val
+ }
+ obj["show_landing_page"] = types.BoolPointerValue(tkh.GetShowLandingPage())
+ obj["use_client_credentials"] = types.BoolPointerValue(tkh.GetUseClientCredentials())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientOAuth2ClientPermission(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermissionable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermissionAttrTypesDSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermissionAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSClientOAuth2ClientPermission_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetForGroup())
+ diags.Append(d...)
+ obj["for_group"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemPrimer(false, tkh.GetForSystem())
+ diags.Append(d...)
+ obj["for_system"] = val
+ }
+ obj["value"] = stringerToTF(tkh.GetValue())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientOAuth2ClientPermissionWithClient(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermissionWithClientAttrTypesDSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermissionWithClientAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSClientOAuth2ClientPermission_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetForGroup())
+ diags.Append(d...)
+ obj["for_group"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemPrimer(false, tkh.GetForSystem())
+ diags.Append(d...)
+ obj["for_system"] = val
+ }
+ obj["value"] = stringerToTF(tkh.GetValue())
+ {
+ val, d := tkhToTFObjectDSClientOAuth2Client(false, tkh.GetClient())
+ diags.Append(d...)
+ obj["client"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSClientOAuth2ClientPermissionWithClient(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientOAuth2ClientPermission_additionalObjects(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermission_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermission_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermission_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSClientSaml2Client(recurse bool, tkh keyhubmodel.ClientSaml2Clientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientSaml2ClientAttrTypesDSRecurse
+ } else {
+ attrs = clientSaml2ClientAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["attributes"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetAttributes().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["attributes"] = val
+ }
+ obj["metadata"] = types.StringPointerValue(tkh.GetMetadata())
+ obj["metadata_url"] = types.StringPointerValue(tkh.GetMetadataUrl())
+ obj["subject_format"] = stringerToTF(tkh.GetSubjectFormat())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryAccountDirectory(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = directoryAccountDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectory_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_validity_supported"] = types.BoolPointerValue(tkh.GetAccountValiditySupported())
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["type"] = stringerToTF(tkh.GetDirectoryAccountDirectoryPrimerType())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnitPrimer(false, tkh.GetBaseOrganizationalUnit())
+ diags.Append(d...)
+ obj["base_organizational_unit"] = val
+ }
+ obj["default_directory"] = types.BoolPointerValue(tkh.GetDefaultDirectory())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetHelpdeskGroup())
+ diags.Append(d...)
+ obj["helpdesk_group"] = val
+ }
+ obj["restrict2fa"] = types.BoolPointerValue(tkh.GetRestrict2fa())
+ obj["rotating_password"] = stringerToTF(tkh.GetRotatingPassword())
+ obj["username_customizable"] = types.BoolPointerValue(tkh.GetUsernameCustomizable())
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryInternalDirectoryable)
+ val, d := tkhToTFObjectDSDirectoryInternalDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["internal_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryLDAPDirectoryable)
+ val, d := tkhToTFObjectDSDirectoryLDAPDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["l_d_a_p_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryMaintenanceDirectoryable)
+ val, d := tkhToTFObjectDSDirectoryMaintenanceDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["maintenance_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryOIDCDirectoryable)
+ val, d := tkhToTFObjectDSDirectoryOIDCDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["o_id_c_directory"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryAccountDirectoryLinkableWrapper(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = directoryAccountDirectoryLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.DirectoryAccountDirectoryable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectory(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryAccountDirectoryPrimer(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryPrimerAttrTypesDSRecurse
+ } else {
+ attrs = directoryAccountDirectoryPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_validity_supported"] = types.BoolPointerValue(tkh.GetAccountValiditySupported())
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["type"] = stringerToTF(tkh.GetDirectoryAccountDirectoryPrimerType())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryAccountDirectoryStatusReport(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryStatusReportable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryStatusReportAttrTypesDSRecurse
+ } else {
+ attrs = directoryAccountDirectoryStatusReportAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["accounts"] = types.Int64PointerValue(tkh.GetAccounts())
+ obj["reason"] = types.StringPointerValue(tkh.GetReason())
+ obj["status"] = stringerToTF(tkh.GetStatus())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryAccountDirectorySummary(recurse bool, tkh keyhubmodel.DirectoryAccountDirectorySummaryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectorySummaryAttrTypesDSRecurse
+ } else {
+ attrs = directoryAccountDirectorySummaryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetDirectoryAccountDirectorySummaryType())
+ obj["domain_restriction"] = types.StringPointerValue(tkh.GetDomainRestriction())
+ obj["fully_resolved_issuer"] = types.StringPointerValue(tkh.GetFullyResolvedIssuer())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryStatusReport(recurse, tkh.GetStatus())
+ diags.Append(d...)
+ obj["status"] = val
+ }
+ obj["username_customizable"] = types.BoolPointerValue(tkh.GetUsernameCustomizable())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryAccountDirectorySummaryLinkableWrapper(recurse bool, tkh keyhubmodel.DirectoryAccountDirectorySummaryLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectorySummaryLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = directoryAccountDirectorySummaryLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.DirectoryAccountDirectorySummaryable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectorySummary(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryAccountDirectory_additionalObjects(recurse bool, tkh keyhubmodel.DirectoryAccountDirectory_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectory_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = directoryAccountDirectory_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSMarkItemMarkers(recurse, tkh.GetMarkers())
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryStatusReport(recurse, tkh.GetStatus())
+ diags.Append(d...)
+ obj["status"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryInternalDirectory(recurse bool, tkh keyhubmodel.DirectoryInternalDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryInternalDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = directoryInternalDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(recurse, tkh.GetOwner())
+ diags.Append(d...)
+ obj["owner"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryLDAPDirectory(recurse bool, tkh keyhubmodel.DirectoryLDAPDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryLDAPDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = directoryLDAPDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["attributes_to_store"] = types.StringPointerValue(tkh.GetAttributesToStore())
+ obj["base_dn"] = types.StringPointerValue(tkh.GetBaseDN())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(recurse, tkh.GetClientCertificate())
+ diags.Append(d...)
+ obj["client_certificate"] = val
+ }
+ obj["dialect"] = stringerToTF(tkh.GetDialect())
+ obj["failover_host"] = types.StringPointerValue(tkh.GetFailoverHost())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(recurse, tkh.GetFailoverTrustedCertificate())
+ diags.Append(d...)
+ obj["failover_trusted_certificate"] = val
+ }
+ obj["host"] = types.StringPointerValue(tkh.GetHost())
+ obj["password_recovery"] = stringerToTF(tkh.GetPasswordRecovery())
+ obj["port"] = types.Int64PointerValue(int32PToInt64P(tkh.GetPort()))
+ obj["search_bind_dn"] = types.StringPointerValue(tkh.GetSearchBindDN())
+ obj["search_bind_password"] = types.StringPointerValue(tkh.GetSearchBindPassword())
+ obj["search_filter"] = types.StringPointerValue(tkh.GetSearchFilter())
+ obj["tls"] = stringerToTF(tkh.GetTls())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(recurse, tkh.GetTrustedCertificate())
+ diags.Append(d...)
+ obj["trusted_certificate"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryMaintenanceDirectory(recurse bool, tkh keyhubmodel.DirectoryMaintenanceDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryMaintenanceDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = directoryMaintenanceDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSDirectoryOIDCDirectory(recurse bool, tkh keyhubmodel.DirectoryOIDCDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryOIDCDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = directoryOIDCDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["acr_values"] = types.StringPointerValue(tkh.GetAcrValues())
+ obj["attributes_to_store"] = types.StringPointerValue(tkh.GetAttributesToStore())
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["client_secret"] = types.StringPointerValue(tkh.GetClientSecret())
+ obj["domain_restriction"] = types.StringPointerValue(tkh.GetDomainRestriction())
+ obj["enforces2fa"] = types.BoolPointerValue(tkh.GetEnforces2fa())
+ obj["fully_resolved_issuer"] = types.StringPointerValue(tkh.GetFullyResolvedIssuer())
+ obj["issuer"] = types.StringPointerValue(tkh.GetIssuer())
+ obj["logout_url"] = types.StringPointerValue(tkh.GetLogoutUrl())
+ obj["send_login_hint"] = types.BoolPointerValue(tkh.GetSendLoginHint())
+ obj["vendor_escaped"] = stringerToTF(tkh.GetVendorEscaped())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupAccountGroup(recurse bool, tkh keyhubmodel.GroupAccountGroupable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupAccountGroupAttrTypesDSRecurse
+ } else {
+ attrs = groupAccountGroupAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupAccountGroup_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["admin"] = types.BoolPointerValue(tkh.GetAdmin())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ {
+ val, d := tkhToTFObjectDSGroupGroupFolder(false, tkh.GetFolder())
+ diags.Append(d...)
+ obj["folder"] = val
+ }
+ obj["last_used"] = stringerToTF(tkh.GetLastUsed())
+ obj["provisioning_end_time"] = timePointerToTF(tkh.GetProvisioningEndTime())
+ obj["rights"] = stringerToTF(tkh.GetRights())
+ obj["visible_for_provisioning"] = types.BoolPointerValue(tkh.GetVisibleForProvisioning())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupAccountGroupLinkableWrapper(recurse bool, tkh keyhubmodel.GroupAccountGroupLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupAccountGroupLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupAccountGroupLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupAccountGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupAccountGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupAccountGroup_additionalObjects(recurse bool, tkh keyhubmodel.GroupAccountGroup_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupAccountGroup_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupAccountGroup_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVault(recurse, tkh.GetVault())
+ diags.Append(d...)
+ obj["vault"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupAuthorizedGroupsWrapper(recurse bool, tkh keyhubmodel.GroupAuthorizedGroupsWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupAuthorizedGroupsWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupAuthorizedGroupsWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+ obj["group_count"] = types.Int64PointerValue(tkh.GetGroupCount())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroup(recurse bool, tkh keyhubmodel.GroupGroupable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupGroup_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["admin"] = types.BoolPointerValue(tkh.GetAdmin())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["application_administration"] = types.BoolPointerValue(tkh.GetApplicationAdministration())
+ {
+ val, d := tkhToTFObjectDSGroupGroupAuditConfig(false, tkh.GetAuditConfig())
+ diags.Append(d...)
+ obj["audit_config"] = val
+ }
+ obj["audit_requested"] = types.BoolPointerValue(tkh.GetAuditRequested())
+ obj["auditor"] = types.BoolPointerValue(tkh.GetAuditor())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetAuthorizingGroupAuditing())
+ diags.Append(d...)
+ obj["authorizing_group_auditing"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetAuthorizingGroupDelegation())
+ diags.Append(d...)
+ obj["authorizing_group_delegation"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetAuthorizingGroupMembership())
+ diags.Append(d...)
+ obj["authorizing_group_membership"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetAuthorizingGroupProvisioning())
+ diags.Append(d...)
+ obj["authorizing_group_provisioning"] = val
+ }
+ {
+ elemType := attrs["authorizing_group_types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAuthorizingGroupTypes(), func(tkh keyhubmodel.RequestAuthorizingGroupType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["authorizing_group_types"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupClassificationPrimer(false, tkh.GetClassification())
+ diags.Append(d...)
+ obj["classification"] = val
+ }
+ obj["description"] = types.StringPointerValue(tkh.GetDescription())
+ obj["extended_access"] = stringerToTF(tkh.GetExtendedAccess())
+ obj["hide_audit_trail"] = types.BoolPointerValue(tkh.GetHideAuditTrail())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetNestedUnder())
+ diags.Append(d...)
+ obj["nested_under"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnitPrimer(false, tkh.GetOrganizationalUnit())
+ diags.Append(d...)
+ obj["organizational_unit"] = val
+ }
+ obj["private_group"] = types.BoolPointerValue(tkh.GetPrivateGroup())
+ obj["record_trail"] = types.BoolPointerValue(tkh.GetRecordTrail())
+ obj["rotating_password_required"] = types.BoolPointerValue(tkh.GetRotatingPasswordRequired())
+ obj["single_managed"] = types.BoolPointerValue(tkh.GetSingleManaged())
+ obj["vault_recovery"] = stringerToTF(tkh.GetVaultRecovery())
+ obj["vault_requires_activation"] = types.BoolPointerValue(tkh.GetVaultRequiresActivation())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAccount(recurse bool, tkh keyhubmodel.GroupGroupAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAccountAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAccountAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupGroupAccount_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["last_active"] = timePointerToTF(tkh.GetLastActive())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["validity"] = stringerToTF(tkh.GetValidity())
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryPrimer(false, tkh.GetDirectory())
+ diags.Append(d...)
+ obj["directory"] = val
+ }
+ obj["disconnected_nested"] = types.BoolPointerValue(tkh.GetDisconnectedNested())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["last_used"] = stringerToTF(tkh.GetLastUsed())
+ obj["nested"] = types.BoolPointerValue(tkh.GetNested())
+ obj["provisioning_end_time"] = timePointerToTF(tkh.GetProvisioningEndTime())
+ obj["rights"] = stringerToTF(tkh.GetRights())
+ obj["two_factor_status"] = stringerToTF(tkh.GetTwoFactorStatus())
+ obj["visible_for_provisioning"] = types.BoolPointerValue(tkh.GetVisibleForProvisioning())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAccountLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupAccountLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAccountLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAccountLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupAccountable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupGroupAccount(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAccount_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupAccount_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAccount_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAccount_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAudit(recurse bool, tkh keyhubmodel.GroupGroupAuditable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAuditAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupGroupAudit_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ elemType := attrs["accounts"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAccounts(), func(tkh keyhubmodel.GroupGroupAuditAccountable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupGroupAuditAccount(false, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["accounts"] = val
+ }
+ obj["comment"] = types.StringPointerValue(tkh.GetComment())
+ obj["created_at"] = timePointerToTF(tkh.GetCreatedAt())
+ obj["created_by"] = types.StringPointerValue(tkh.GetCreatedBy())
+ obj["group_name"] = types.StringPointerValue(tkh.GetGroupName())
+ obj["name_on_audit"] = types.StringPointerValue(tkh.GetNameOnAudit())
+ obj["reviewed_at"] = timePointerToTF(tkh.GetReviewedAt())
+ obj["reviewed_by"] = types.StringPointerValue(tkh.GetReviewedBy())
+ obj["status"] = stringerToTF(tkh.GetStatus())
+ obj["submitted_at"] = timePointerToTF(tkh.GetSubmittedAt())
+ obj["submitted_by"] = types.StringPointerValue(tkh.GetSubmittedBy())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAuditAccount(recurse bool, tkh keyhubmodel.GroupGroupAuditAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditAccountAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAuditAccountAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_uuid"] = types.StringPointerValue(tkh.GetAccountUuid())
+ obj["account_valid"] = types.BoolPointerValue(tkh.GetAccountValid())
+ obj["action"] = stringerToTF(tkh.GetAction())
+ obj["comment"] = types.StringPointerValue(tkh.GetComment())
+ obj["disconnected_nested"] = types.BoolPointerValue(tkh.GetDisconnectedNested())
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["last_active"] = timePointerToTF(tkh.GetLastActive())
+ obj["last_used"] = stringerToTF(tkh.GetLastUsed())
+ obj["nested"] = types.BoolPointerValue(tkh.GetNested())
+ obj["rights"] = stringerToTF(tkh.GetRights())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAuditConfig(recurse bool, tkh keyhubmodel.GroupGroupAuditConfigable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditConfigAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAuditConfigAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ {
+ elemType := attrs["months"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetMonths(), func(tkh keyhubmodel.Month, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["months"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAuditLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupAuditLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAuditLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupAuditable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupGroupAudit(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAudit_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupAudit_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAudit_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAudit_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupAuditingInfo(recurse bool, tkh keyhubmodel.GroupGroupAuditingInfoable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditingInfoAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupAuditingInfoAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["audit_due_date"] = stringerToTF(tkh.GetAuditDueDate())
+ obj["last_audit_date"] = stringerToTF(tkh.GetLastAuditDate())
+ obj["nr_accounts"] = types.Int64PointerValue(tkh.GetNrAccounts())
+ obj["nr_disabled_accounts"] = types.Int64PointerValue(tkh.GetNrDisabledAccounts())
+ obj["nr_disabled_managers"] = types.Int64PointerValue(tkh.GetNrDisabledManagers())
+ obj["nr_expired_vault_records"] = types.Int64PointerValue(tkh.GetNrExpiredVaultRecords())
+ obj["nr_managers"] = types.Int64PointerValue(tkh.GetNrManagers())
+ obj["nr_vault_records_with_end_date"] = types.Int64PointerValue(tkh.GetNrVaultRecordsWithEndDate())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupClassification(recurse bool, tkh keyhubmodel.GroupGroupClassificationable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClassificationAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupClassificationAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupGroupClassification_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["authorizing_group_auditing_required"] = types.BoolPointerValue(tkh.GetAuthorizingGroupAuditingRequired())
+ obj["authorizing_group_delegation_required"] = types.BoolPointerValue(tkh.GetAuthorizingGroupDelegationRequired())
+ obj["authorizing_group_membership_required"] = types.BoolPointerValue(tkh.GetAuthorizingGroupMembershipRequired())
+ obj["authorizing_group_provisioning_required"] = types.BoolPointerValue(tkh.GetAuthorizingGroupProvisioningRequired())
+ obj["default_classification"] = types.BoolPointerValue(tkh.GetDefaultClassification())
+ obj["description"] = types.StringPointerValue(tkh.GetDescription())
+ obj["maximum_audit_interval"] = types.Int64PointerValue(int32PToInt64P(tkh.GetMaximumAuditInterval()))
+ obj["minimum_nr_managers"] = types.Int64PointerValue(int32PToInt64P(tkh.GetMinimumNrManagers()))
+ obj["record_trail_required"] = types.BoolPointerValue(tkh.GetRecordTrailRequired())
+ {
+ elemType := attrs["required_months"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetRequiredMonths(), func(tkh keyhubmodel.Month, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["required_months"] = val
+ }
+ obj["rotating_password_required"] = types.BoolPointerValue(tkh.GetRotatingPasswordRequired())
+ obj["vault_requires_activation"] = types.BoolPointerValue(tkh.GetVaultRequiresActivation())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupClassificationInfo(recurse bool, tkh keyhubmodel.GroupGroupClassificationInfoable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClassificationInfoAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupClassificationInfoAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["nr_groups"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrGroups()))
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupClassificationPrimer(recurse bool, tkh keyhubmodel.GroupGroupClassificationPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClassificationPrimerAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupClassificationPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupClassification_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupClassification_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClassification_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupClassification_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupClassificationInfo(recurse, tkh.GetInfo())
+ diags.Append(d...)
+ obj["info"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupClient(recurse bool, tkh keyhubmodel.GroupGroupClientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClientAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupClientAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupGroupClient_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["activation_required"] = types.BoolPointerValue(tkh.GetActivationRequired())
+ {
+ val, d := tkhToTFObjectDSClientClientApplicationPrimer(false, tkh.GetClient())
+ diags.Append(d...)
+ obj["client"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetGroup())
+ diags.Append(d...)
+ obj["group"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetOwner())
+ diags.Append(d...)
+ obj["owner"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetTechnicalAdministrator())
+ diags.Append(d...)
+ obj["technical_administrator"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupClientLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupClientLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClientLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupClientLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupClientable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupGroupClient(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupClient_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupClient_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClient_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupClient_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupFolder(recurse bool, tkh keyhubmodel.GroupGroupFolderable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupFolderAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupFolderAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupGroupFolder_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupFolder_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupFolder_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupFolder_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupFolder_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupInfo(recurse bool, tkh keyhubmodel.GroupGroupInfoable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupInfoAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupInfoAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["nr_accounts"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrAccounts()))
+ obj["nr_accounts_with_vault"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrAccountsWithVault()))
+ obj["nr_audits"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrAudits()))
+ obj["nr_clients"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrClients()))
+ obj["nr_provisioned_systems"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrProvisionedSystems()))
+ obj["nr_vault_records"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrVaultRecords()))
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupPrimer(recurse bool, tkh keyhubmodel.GroupGroupPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupPrimerAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["admin"] = types.BoolPointerValue(tkh.GetAdmin())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroupPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupPrimerLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupGroupPrimerLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupGroup_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroup_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroup_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupGroup_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSGroupGroupAccountLinkableWrapper(recurse, tkh.GetAccounts())
+ diags.Append(d...)
+ obj["accounts"] = getItemsAttr(val, attrs["accounts"])
+ }
+ {
+ val, d := tkhToTFObjectDSClientClientApplicationLinkableWrapper(recurse, tkh.GetAdministeredClients())
+ diags.Append(d...)
+ obj["administered_clients"] = getItemsAttr(val, attrs["administered_clients"])
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemLinkableWrapper(recurse, tkh.GetAdministeredSystems())
+ diags.Append(d...)
+ obj["administered_systems"] = getItemsAttr(val, attrs["administered_systems"])
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupAccountLinkableWrapper(recurse, tkh.GetAdmins())
+ diags.Append(d...)
+ obj["admins"] = getItemsAttr(val, attrs["admins"])
+ }
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupAuthorizedGroupsWrapper(recurse, tkh.GetAuthorizedGroups())
+ diags.Append(d...)
+ obj["authorized_groups"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse, tkh.GetClientPermissions())
+ diags.Append(d...)
+ obj["client_permissions"] = getItemsAttr(val, attrs["client_permissions"])
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupClientLinkableWrapper(recurse, tkh.GetClients())
+ diags.Append(d...)
+ obj["clients"] = getItemsAttr(val, attrs["clients"])
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemLinkableWrapper(recurse, tkh.GetContentAdministeredSystems())
+ diags.Append(d...)
+ obj["content_administered_systems"] = getItemsAttr(val, attrs["content_administered_systems"])
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupAuditingInfo(recurse, tkh.GetGroupauditinginfo())
+ diags.Append(d...)
+ obj["groupauditinginfo"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupInfo(recurse, tkh.GetGroupinfo())
+ diags.Append(d...)
+ obj["groupinfo"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectorySummaryLinkableWrapper(recurse, tkh.GetHelpdesk())
+ diags.Append(d...)
+ obj["helpdesk"] = getItemsAttr(val, attrs["helpdesk"])
+ }
+ {
+ val, d := tkhToTFObjectDSMarkItemMarkers(recurse, tkh.GetMarkers())
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupAccount(recurse, tkh.GetMyaccount())
+ diags.Append(d...)
+ obj["myaccount"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupAccount(recurse, tkh.GetMydelegatedaccount())
+ diags.Append(d...)
+ obj["mydelegatedaccount"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimerLinkableWrapper(recurse, tkh.GetNestedGroups())
+ diags.Append(d...)
+ obj["nested_groups"] = getItemsAttr(val, attrs["nested_groups"])
+ }
+ {
+ val, d := tkhToTFObjectDSClientClientApplicationLinkableWrapper(recurse, tkh.GetOwnedClients())
+ diags.Append(d...)
+ obj["owned_clients"] = getItemsAttr(val, attrs["owned_clients"])
+ }
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryLinkableWrapper(recurse, tkh.GetOwnedDirectories())
+ diags.Append(d...)
+ obj["owned_directories"] = getItemsAttr(val, attrs["owned_directories"])
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningOwnedGroupOnSystemsWrapper(recurse, tkh.GetOwnedGroupsOnSystem())
+ diags.Append(d...)
+ obj["owned_groups_on_system"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnitLinkableWrapper(recurse, tkh.GetOwnedOrganizationalUnits())
+ diags.Append(d...)
+ obj["owned_organizational_units"] = getItemsAttr(val, attrs["owned_organizational_units"])
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemLinkableWrapper(recurse, tkh.GetOwnedSystems())
+ diags.Append(d...)
+ obj["owned_systems"] = getItemsAttr(val, attrs["owned_systems"])
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupAuditLinkableWrapper(recurse, tkh.GetRecentAudits())
+ diags.Append(d...)
+ obj["recent_audits"] = getItemsAttr(val, attrs["recent_audits"])
+ }
+ obj["requeststatus"] = stringerToTF(tkh.GetRequeststatus())
+ {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccountLinkableWrapper(recurse, tkh.GetServiceAccounts())
+ diags.Append(d...)
+ obj["service_accounts"] = getItemsAttr(val, attrs["service_accounts"])
+ }
+ {
+ val, d := tkhToTFObjectDSGroupProvisioningGroupLinkableWrapper(recurse, tkh.GetSystems())
+ diags.Append(d...)
+ obj["systems"] = getItemsAttr(val, attrs["systems"])
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVault(recurse, tkh.GetVault())
+ diags.Append(d...)
+ obj["vault"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSWebhookWebhookLinkableWrapper(recurse, tkh.GetWebhooks())
+ diags.Append(d...)
+ obj["webhooks"] = getItemsAttr(val, attrs["webhooks"])
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupProvisioningGroup(recurse bool, tkh keyhubmodel.GroupProvisioningGroupable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupProvisioningGroupAttrTypesDSRecurse
+ } else {
+ attrs = groupProvisioningGroupAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSGroupProvisioningGroup_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["activation_required"] = types.BoolPointerValue(tkh.GetActivationRequired())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetGroup())
+ diags.Append(d...)
+ obj["group"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningGroupOnSystem(false, tkh.GetGroupOnSystem())
+ diags.Append(d...)
+ obj["group_on_system"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupProvisioningGroupLinkableWrapper(recurse bool, tkh keyhubmodel.GroupProvisioningGroupLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupProvisioningGroupLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = groupProvisioningGroupLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupProvisioningGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSGroupProvisioningGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSGroupProvisioningGroup_additionalObjects(recurse bool, tkh keyhubmodel.GroupProvisioningGroup_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupProvisioningGroup_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = groupProvisioningGroup_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSLaunchpadSsoApplicationLaunchpadTile(recurse bool, tkh keyhubmodel.LaunchpadSsoApplicationLaunchpadTileable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = launchpadSsoApplicationLaunchpadTileAttrTypesDSRecurse
+ } else {
+ attrs = launchpadSsoApplicationLaunchpadTileAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["uri"] = types.StringPointerValue(tkh.GetUri())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSLaunchpadVaultRecordLaunchpadTile(recurse bool, tkh keyhubmodel.LaunchpadVaultRecordLaunchpadTileable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = launchpadVaultRecordLaunchpadTileAttrTypesDSRecurse
+ } else {
+ attrs = launchpadVaultRecordLaunchpadTileAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSMarkItemMarker(recurse bool, tkh keyhubmodel.MarkItemMarkerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = markItemMarkerAttrTypesDSRecurse
+ } else {
+ attrs = markItemMarkerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["level"] = stringerToTF(tkh.GetLevel())
+ obj["type"] = stringerToTF(tkh.GetMarkItemMarkerType())
+ {
+ elemType := attrs["parameters"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetParameters().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["parameters"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSMarkItemMarkers(recurse bool, tkh keyhubmodel.MarkItemMarkersable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = markItemMarkersAttrTypesDSRecurse
+ } else {
+ attrs = markItemMarkersAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["markers"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetMarkers(), func(tkh keyhubmodel.MarkItemMarkerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSMarkItemMarker(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSOrganizationOrganizationalUnit(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnitable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnitAttrTypesDSRecurse
+ } else {
+ attrs = organizationOrganizationalUnitAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnit_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["depth"] = types.Int64PointerValue(int32PToInt64P(tkh.GetDepth()))
+ obj["description"] = types.StringPointerValue(tkh.GetDescription())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetOwner())
+ diags.Append(d...)
+ obj["owner"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnitPrimer(false, tkh.GetParent())
+ diags.Append(d...)
+ obj["parent"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSOrganizationOrganizationalUnitLinkableWrapper(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnitLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnitLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = organizationOrganizationalUnitLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.OrganizationOrganizationalUnitable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnit(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSOrganizationOrganizationalUnitPrimer(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnitPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnitPrimerAttrTypesDSRecurse
+ } else {
+ attrs = organizationOrganizationalUnitPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSOrganizationOrganizationalUnit_additionalObjects(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnit_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnit_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = organizationOrganizationalUnit_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningAbstractProvisionedLDAP(recurse bool, tkh keyhubmodel.ProvisioningAbstractProvisionedLDAPable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningAbstractProvisionedLDAPAttrTypesDSRecurse
+ } else {
+ attrs = provisioningAbstractProvisionedLDAPAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["attributes"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetAttributes().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["attributes"] = val
+ }
+ obj["base_dn"] = types.StringPointerValue(tkh.GetBaseDN())
+ obj["bind_dn"] = types.StringPointerValue(tkh.GetBindDN())
+ obj["bind_password"] = types.StringPointerValue(tkh.GetBindPassword())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(recurse, tkh.GetClientCertificate())
+ diags.Append(d...)
+ obj["client_certificate"] = val
+ }
+ obj["failover_host"] = types.StringPointerValue(tkh.GetFailoverHost())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(recurse, tkh.GetFailoverTrustedCertificate())
+ diags.Append(d...)
+ obj["failover_trusted_certificate"] = val
+ }
+ obj["group_dn"] = types.StringPointerValue(tkh.GetGroupDN())
+ obj["host"] = types.StringPointerValue(tkh.GetHost())
+ obj["object_classes"] = types.StringPointerValue(tkh.GetObjectClasses())
+ obj["port"] = types.Int64PointerValue(int32PToInt64P(tkh.GetPort()))
+ obj["service_account_dn"] = types.StringPointerValue(tkh.GetServiceAccountDN())
+ obj["ssh_public_key_supported"] = types.BoolPointerValue(tkh.GetSshPublicKeySupported())
+ obj["tls"] = stringerToTF(tkh.GetTls())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(recurse, tkh.GetTrustedCertificate())
+ diags.Append(d...)
+ obj["trusted_certificate"] = val
+ }
+ obj["user_dn"] = types.StringPointerValue(tkh.GetUserDN())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningCircuitBreakerStatistics(recurse bool, tkh keyhubmodel.ProvisioningCircuitBreakerStatisticsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningCircuitBreakerStatisticsAttrTypesDSRecurse
+ } else {
+ attrs = provisioningCircuitBreakerStatisticsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["number_of_failed_calls"] = types.Int64PointerValue(tkh.GetNumberOfFailedCalls())
+ obj["number_of_not_permitted_calls"] = types.Int64PointerValue(tkh.GetNumberOfNotPermittedCalls())
+ obj["number_of_successful_calls"] = types.Int64PointerValue(tkh.GetNumberOfSuccessfulCalls())
+ obj["state"] = stringerToTF(tkh.GetState())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningGroupOnSystem(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemAttrTypesDSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSProvisioningGroupOnSystem_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["name_in_system"] = types.StringPointerValue(tkh.GetNameInSystem())
+ obj["type"] = stringerToTF(tkh.GetProvisioningGroupOnSystemPrimerType())
+ obj["short_name_in_system"] = types.StringPointerValue(tkh.GetShortNameInSystem())
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetOwner())
+ diags.Append(d...)
+ obj["owner"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningGroupOnSystemLinkableWrapper(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningGroupOnSystemable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSProvisioningGroupOnSystem(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningGroupOnSystemPrimer(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemPrimerAttrTypesDSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["name_in_system"] = types.StringPointerValue(tkh.GetNameInSystem())
+ obj["type"] = stringerToTF(tkh.GetProvisioningGroupOnSystemPrimerType())
+ obj["short_name_in_system"] = types.StringPointerValue(tkh.GetShortNameInSystem())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningGroupOnSystemTypes(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemTypesable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemTypesAttrTypesDSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemTypesAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.ProvisioningGroupOnSystemType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningGroupOnSystem_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystem_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystem_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = provisioningGroupOnSystem_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupProvisioningGroupLinkableWrapper(recurse, tkh.GetProvgroups())
+ diags.Append(d...)
+ obj["provgroups"] = getItemsAttr(val, attrs["provgroups"])
+ }
+ {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccountPrimerLinkableWrapper(recurse, tkh.GetServiceAccounts())
+ diags.Append(d...)
+ obj["service_accounts"] = getItemsAttr(val, attrs["service_accounts"])
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningOwnedGroupOnSystemsWrapper(recurse bool, tkh keyhubmodel.ProvisioningOwnedGroupOnSystemsWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningOwnedGroupOnSystemsWrapperAttrTypesDSRecurse
+ } else {
+ attrs = provisioningOwnedGroupOnSystemsWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningGroupOnSystemable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSProvisioningGroupOnSystem(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+ obj["unlinked_count"] = types.Int64PointerValue(tkh.GetUnlinkedCount())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionNumberSequence(recurse bool, tkh keyhubmodel.ProvisioningProvisionNumberSequenceable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionNumberSequenceAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionNumberSequenceAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionNumberSequence_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["account_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetAccountCount()))
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["next_uid"] = types.Int64PointerValue(tkh.GetNextUID())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionNumberSequence_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningProvisionNumberSequence_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionNumberSequence_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionNumberSequence_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse, tkh.GetSystems())
+ diags.Append(d...)
+ obj["systems"] = getItemsAttr(val, attrs["systems"])
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedAD(recurse bool, tkh keyhubmodel.ProvisioningProvisionedADable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedADAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedADAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["sam_account_name_scheme"] = stringerToTF(tkh.GetSamAccountNameScheme())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedAccount(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAccountAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedAccountAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedAccount_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["last_active"] = timePointerToTF(tkh.GetLastActive())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["validity"] = stringerToTF(tkh.GetValidity())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["uid"] = types.Int64PointerValue(tkh.GetUid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedAccount_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAccount_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAccount_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedAccount_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedAzureOIDCDirectory(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAzureOIDCDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedAzureOIDCDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryPrimer(recurse, tkh.GetDirectory())
+ diags.Append(d...)
+ obj["directory"] = val
+ }
+ obj["tenant"] = types.StringPointerValue(tkh.GetTenant())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedAzureSyncLDAPDirectory(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["client_secret"] = types.StringPointerValue(tkh.GetClientSecret())
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryPrimer(recurse, tkh.GetDirectory())
+ diags.Append(d...)
+ obj["directory"] = val
+ }
+ obj["tenant"] = types.StringPointerValue(tkh.GetTenant())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedAzureTenant(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAzureTenantable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAzureTenantAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedAzureTenantAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["client_secret"] = types.StringPointerValue(tkh.GetClientSecret())
+ obj["idp_domain"] = types.StringPointerValue(tkh.GetIdpDomain())
+ obj["tenant"] = types.StringPointerValue(tkh.GetTenant())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedInternalLDAP(recurse bool, tkh keyhubmodel.ProvisioningProvisionedInternalLDAPable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedInternalLDAPAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedInternalLDAPAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSClientLdapClient(recurse, tkh.GetClient())
+ diags.Append(d...)
+ obj["client"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedLDAP(recurse bool, tkh keyhubmodel.ProvisioningProvisionedLDAPable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedLDAPAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedLDAPAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["gid"] = types.Int64PointerValue(tkh.GetGid())
+ obj["hashing_scheme"] = stringerToTF(tkh.GetHashingScheme())
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionNumberSequence(recurse, tkh.GetNumbering())
+ diags.Append(d...)
+ obj["numbering"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedLDAPDirectory(recurse bool, tkh keyhubmodel.ProvisioningProvisionedLDAPDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedLDAPDirectoryAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedLDAPDirectoryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryPrimer(recurse, tkh.GetDirectory())
+ diags.Append(d...)
+ obj["directory"] = val
+ }
+ obj["group_dn"] = types.StringPointerValue(tkh.GetGroupDN())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedSystem(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystem_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnitPrimer(recurse, tkh.GetOrganizationalUnit())
+ diags.Append(d...)
+ obj["organizational_unit"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetProvisioningProvisionedSystemPrimerType())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["account_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetAccountCount()))
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetContentAdministrator())
+ diags.Append(d...)
+ obj["content_administrator"] = val
+ }
+ obj["external_uuid"] = stringerToTF(tkh.GetExternalUuid())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetOwner())
+ diags.Append(d...)
+ obj["owner"] = val
+ }
+ obj["self_service_existing_groups"] = types.BoolPointerValue(tkh.GetSelfServiceExistingGroups())
+ obj["self_service_new_groups"] = types.BoolPointerValue(tkh.GetSelfServiceNewGroups())
+ obj["self_service_service_accounts"] = types.BoolPointerValue(tkh.GetSelfServiceServiceAccounts())
+ obj["should_destroy_unknown_accounts"] = types.BoolPointerValue(tkh.GetShouldDestroyUnknownAccounts())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetTechnicalAdministrator())
+ diags.Append(d...)
+ obj["technical_administrator"] = val
+ }
+ obj["username_prefix"] = types.StringPointerValue(tkh.GetUsernamePrefix())
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningAbstractProvisionedLDAPable)
+ val, d := tkhToTFObjectDSProvisioningAbstractProvisionedLDAP(false, tkhCast)
+ diags.Append(d...)
+ obj["abstract_provisioned_ldap"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedADable)
+ val, d := tkhToTFObjectDSProvisioningProvisionedAD(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_a_d"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable)
+ val, d := tkhToTFObjectDSProvisioningProvisionedAzureOIDCDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_azure_oidc_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable)
+ val, d := tkhToTFObjectDSProvisioningProvisionedAzureSyncLDAPDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_azure_sync_ldap_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedAzureTenantable)
+ val, d := tkhToTFObjectDSProvisioningProvisionedAzureTenant(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_azure_tenant"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedInternalLDAPable)
+ val, d := tkhToTFObjectDSProvisioningProvisionedInternalLDAP(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_internal_ldap"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedLDAPable)
+ val, d := tkhToTFObjectDSProvisioningProvisionedLDAP(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_ldap"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedLDAPDirectoryable)
+ val, d := tkhToTFObjectDSProvisioningProvisionedLDAPDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_ldap_directory"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedSystemLinkableWrapper(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningProvisionedSystemable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystem(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedSystemPrimer(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemPrimerAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ val, d := tkhToTFObjectDSOrganizationOrganizationalUnitPrimer(recurse, tkh.GetOrganizationalUnit())
+ diags.Append(d...)
+ obj["organizational_unit"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetProvisioningProvisionedSystemPrimerType())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningProvisionedSystemPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisionedSystem_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystem_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystem_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisionedSystem_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedAccount(recurse, tkh.GetAccount())
+ diags.Append(d...)
+ obj["account"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse, tkh.GetIssuedPermissions())
+ diags.Append(d...)
+ obj["issued_permissions"] = getItemsAttr(val, attrs["issued_permissions"])
+ }
+ obj["login_name"] = types.StringPointerValue(tkh.GetLoginName())
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisioningManagementPermissions(recurse, tkh.GetManagementPermissions())
+ diags.Append(d...)
+ obj["management_permissions"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSMarkItemMarkers(recurse, tkh.GetMarkers())
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningCircuitBreakerStatistics(recurse, tkh.GetStatistics())
+ diags.Append(d...)
+ obj["statistics"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSProvisioningGroupOnSystemTypes(recurse, tkh.GetSupportedGroupTypes())
+ diags.Append(d...)
+ obj["supported_group_types"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSProvisioningProvisioningManagementPermissions(recurse bool, tkh keyhubmodel.ProvisioningProvisioningManagementPermissionsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisioningManagementPermissionsAttrTypesDSRecurse
+ } else {
+ attrs = provisioningProvisioningManagementPermissionsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["create_new_groups_allowed"] = types.BoolPointerValue(tkh.GetCreateNewGroupsAllowed())
+ obj["create_service_accounts_allowed"] = types.BoolPointerValue(tkh.GetCreateServiceAccountsAllowed())
+ obj["reuse_existing_groups_allowed"] = types.BoolPointerValue(tkh.GetReuseExistingGroupsAllowed())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccount(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccount_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemPrimer(recurse, tkh.GetSystem())
+ diags.Append(d...)
+ obj["system"] = val
+ }
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["description"] = types.StringPointerValue(tkh.GetDescription())
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordPrimer(false, tkh.GetPassword())
+ diags.Append(d...)
+ obj["password"] = val
+ }
+ obj["password_rotation"] = stringerToTF(tkh.GetPasswordRotation())
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetTechnicalAdministrator())
+ diags.Append(d...)
+ obj["technical_administrator"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccountGroup(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountGroupable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountGroupAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountGroupAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccountGroup_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["name_in_system"] = types.StringPointerValue(tkh.GetNameInSystem())
+ obj["type"] = stringerToTF(tkh.GetProvisioningGroupOnSystemPrimerType())
+ obj["short_name_in_system"] = types.StringPointerValue(tkh.GetShortNameInSystem())
+ obj["additional"] = types.ListNull(types.StringType)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccountGroupLinkableWrapper(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountGroupLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountGroupLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountGroupLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ServiceaccountServiceAccountGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccountGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccountGroup_additionalObjects(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountGroup_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountGroup_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountGroup_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccountLinkableWrapper(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ServiceaccountServiceAccountable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccount(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccountPrimer(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountPrimerAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemPrimer(recurse, tkh.GetSystem())
+ diags.Append(d...)
+ obj["system"] = val
+ }
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccountPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ServiceaccountServiceAccountPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccountPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSServiceaccountServiceAccount_additionalObjects(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccount_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccount_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = serviceaccountServiceAccount_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSServiceaccountServiceAccountGroupLinkableWrapper(recurse, tkh.GetGroups())
+ diags.Append(d...)
+ obj["groups"] = getItemsAttr(val, attrs["groups"])
+ }
+ {
+ val, d := tkhToTFObjectDSGeneratedSecret(recurse, tkh.GetSecret())
+ diags.Append(d...)
+ obj["secret"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultPasswordMetadata(recurse bool, tkh keyhubmodel.VaultPasswordMetadataable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultPasswordMetadataAttrTypesDSRecurse
+ } else {
+ attrs = vaultPasswordMetadataAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["dictionary"] = types.BoolPointerValue(tkh.GetDictionary())
+ obj["duplicate"] = types.BoolPointerValue(tkh.GetDuplicate())
+ obj["hash"] = types.StringPointerValue(tkh.GetHash())
+ obj["length"] = types.Int64PointerValue(int32PToInt64P(tkh.GetLength()))
+ obj["lower_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetLowerCount()))
+ obj["number_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNumberCount()))
+ obj["special_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetSpecialCount()))
+ obj["strength"] = types.Int64PointerValue(int32PToInt64P(tkh.GetStrength()))
+ obj["upper_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetUpperCount()))
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVault(recurse bool, tkh keyhubmodel.VaultVaultable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["access_available"] = types.BoolPointerValue(tkh.GetAccessAvailable())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ elemType := attrs["records"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetRecords(), func(tkh keyhubmodel.VaultVaultRecordable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSVaultVaultRecord(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["records"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultHolder(recurse bool, tkh keyhubmodel.VaultVaultHolderable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultHolderAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultHolderAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultRecord(recurse bool, tkh keyhubmodel.VaultVaultRecordable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultRecordAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecord_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["color"] = stringerToTF(tkh.GetColor())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["share_end_time"] = timePointerToTF(tkh.GetShareEndTime())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["additional"] = types.ListNull(types.StringType)
+ obj["derived"] = types.BoolPointerValue(tkh.GetDerived())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["filename"] = types.StringPointerValue(tkh.GetFilename())
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.VaultVaultSecretType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+ obj["url"] = types.StringPointerValue(tkh.GetUrl())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["warning_period"] = stringerToTF(tkh.GetWarningPeriod())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultRecordPrimer(recurse bool, tkh keyhubmodel.VaultVaultRecordPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordPrimerAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultRecordPrimerAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["color"] = stringerToTF(tkh.GetColor())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["share_end_time"] = timePointerToTF(tkh.GetShareEndTime())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultRecordPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.VaultVaultRecordPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordPrimerLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultRecordPrimerLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.VaultVaultRecordPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSVaultVaultRecordPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultRecordSecrets(recurse bool, tkh keyhubmodel.VaultVaultRecordSecretsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordSecretsAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultRecordSecretsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["comment"] = types.StringPointerValue(tkh.GetComment())
+ obj["file"] = types.StringPointerValue(tkh.GetFile())
+ obj["password"] = types.StringPointerValue(tkh.GetPassword())
+ obj["totp"] = types.StringPointerValue(tkh.GetTotp())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultRecordShare(recurse bool, tkh keyhubmodel.VaultVaultRecordShareable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordShareAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultRecordShareAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["type"] = stringerToTF(tkh.GetVaultVaultRecordShareType())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultRecordShareSummary(recurse bool, tkh keyhubmodel.VaultVaultRecordShareSummaryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordShareSummaryAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultRecordShareSummaryAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["children"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetChildren(), func(tkh keyhubmodel.VaultVaultRecordShareable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSVaultVaultRecordShare(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["children"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordShare(recurse, tkh.GetParent())
+ diags.Append(d...)
+ obj["parent"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSVaultVaultRecord_additionalObjects(recurse bool, tkh keyhubmodel.VaultVaultRecord_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecord_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = vaultVaultRecord_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordPrimer(recurse, tkh.GetParent())
+ diags.Append(d...)
+ obj["parent"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultPasswordMetadata(recurse, tkh.GetPasswordMetadata())
+ diags.Append(d...)
+ obj["password_metadata"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordSecrets(recurse, tkh.GetSecret())
+ diags.Append(d...)
+ obj["secret"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordShareSummary(recurse, tkh.GetShareSummary())
+ diags.Append(d...)
+ obj["share_summary"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVaultRecordPrimerLinkableWrapper(recurse, tkh.GetShares())
+ diags.Append(d...)
+ obj["shares"] = getItemsAttr(val, attrs["shares"])
+ }
+ {
+ val, d := tkhToTFObjectDSLaunchpadVaultRecordLaunchpadTile(recurse, tkh.GetTile())
+ diags.Append(d...)
+ obj["tile"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSVaultVaultHolder(recurse, tkh.GetVaultholder())
+ diags.Append(d...)
+ obj["vaultholder"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSWebhookWebhook(recurse bool, tkh keyhubmodel.WebhookWebhookable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = webhookWebhookAttrTypesDSRecurse
+ } else {
+ attrs = webhookWebhookAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectDSWebhookWebhook_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["additional"] = types.ListNull(types.StringType)
+ {
+ val, d := tkhToTFObjectDSAuthAccountPrimer(false, tkh.GetAccount())
+ diags.Append(d...)
+ obj["account"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["all_types"] = types.BoolPointerValue(tkh.GetAllTypes())
+ obj["authentication_scheme"] = stringerToTF(tkh.GetAuthenticationScheme())
+ obj["basic_auth_password"] = types.StringPointerValue(tkh.GetBasicAuthPassword())
+ obj["basic_auth_username"] = types.StringPointerValue(tkh.GetBasicAuthUsername())
+ obj["bearer_token"] = types.StringPointerValue(tkh.GetBearerToken())
+ {
+ val, d := tkhToTFObjectDSClientClientApplicationPrimer(false, tkh.GetClient())
+ diags.Append(d...)
+ obj["client"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(false, tkh.GetClientCertificate())
+ diags.Append(d...)
+ obj["client_certificate"] = val
+ }
+ obj["custom_header_name"] = types.StringPointerValue(tkh.GetCustomHeaderName())
+ obj["custom_header_value"] = types.StringPointerValue(tkh.GetCustomHeaderValue())
+ {
+ val, d := tkhToTFObjectDSDirectoryAccountDirectoryPrimer(false, tkh.GetDirectory())
+ diags.Append(d...)
+ obj["directory"] = val
+ }
+ {
+ val, d := tkhToTFObjectDSGroupGroupPrimer(false, tkh.GetGroup())
+ diags.Append(d...)
+ obj["group"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ val, d := tkhToTFObjectDSProvisioningProvisionedSystemPrimer(false, tkh.GetSystem())
+ diags.Append(d...)
+ obj["system"] = val
+ }
+ obj["tls"] = stringerToTF(tkh.GetTls())
+ {
+ val, d := tkhToTFObjectDSCertificateCertificatePrimer(false, tkh.GetTrustedCertificate())
+ diags.Append(d...)
+ obj["trusted_certificate"] = val
+ }
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.AuditAuditRecordType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+ obj["url"] = types.StringPointerValue(tkh.GetUrl())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["verbose_payloads"] = types.BoolPointerValue(tkh.GetVerbosePayloads())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSWebhookWebhookLinkableWrapper(recurse bool, tkh keyhubmodel.WebhookWebhookLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = webhookWebhookLinkableWrapperAttrTypesDSRecurse
+ } else {
+ attrs = webhookWebhookLinkableWrapperAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.WebhookWebhookable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectDSWebhookWebhook(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectDSWebhookWebhook_additionalObjects(recurse bool, tkh keyhubmodel.WebhookWebhook_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = webhookWebhook_additionalObjectsAttrTypesDSRecurse
+ } else {
+ attrs = webhookWebhook_additionalObjectsAttrTypesDS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectDSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
diff --git a/internal/provider/full-tkh-to-tf-rs.go b/internal/provider/full-tkh-to-tf-rs.go
new file mode 100644
index 0000000..d57c6de
--- /dev/null
+++ b/internal/provider/full-tkh-to-tf-rs.go
@@ -0,0 +1,4193 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+//lint:ignore U1000 Ignore unused functions in generated code
+package provider
+
+import (
+ "golang.org/x/exp/maps"
+
+ "github.com/hashicorp/terraform-plugin-framework/attr"
+ "github.com/hashicorp/terraform-plugin-framework/diag"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ keyhubmodel "github.com/topicuskeyhub/sdk-go/models"
+)
+
+func tkhToTFObjectRSAuditInfo(recurse bool, tkh keyhubmodel.AuditInfoable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = auditInfoAttrTypesRSRecurse
+ } else {
+ attrs = auditInfoAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["created_at"] = timePointerToTF(tkh.GetCreatedAt())
+ obj["created_by"] = types.StringPointerValue(tkh.GetCreatedBy())
+ obj["last_modified_at"] = timePointerToTF(tkh.GetLastModifiedAt())
+ obj["last_modified_by"] = types.StringPointerValue(tkh.GetLastModifiedBy())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGeneratedSecret(recurse bool, tkh keyhubmodel.GeneratedSecretable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = generatedSecretAttrTypesRSRecurse
+ } else {
+ attrs = generatedSecretAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["generated_secret"] = types.StringPointerValue(tkh.GetGeneratedSecret())
+ obj["old_secret"] = types.StringPointerValue(tkh.GetOldSecret())
+ obj["regenerate"] = types.BoolPointerValue(tkh.GetRegenerate())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSLinkable(recurse bool, tkh keyhubmodel.Linkableable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = linkableAttrTypesRSRecurse
+ } else {
+ attrs = linkableAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSNonLinkable(recurse bool, tkh keyhubmodel.NonLinkableable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = nonLinkableAttrTypesRSRecurse
+ } else {
+ attrs = nonLinkableAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSRestLink(recurse bool, tkh keyhubmodel.RestLinkable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = restLinkAttrTypesRSRecurse
+ } else {
+ attrs = restLinkAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["href"] = types.StringPointerValue(tkh.GetHref())
+ obj["id"] = types.Int64PointerValue(tkh.GetId())
+ obj["rel"] = types.StringPointerValue(tkh.GetRel())
+ obj["type_escaped"] = types.StringPointerValue(tkh.GetTypeEscaped())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSAuthAccountPrimer(recurse bool, tkh keyhubmodel.AuthAccountPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authAccountPrimerAttrTypesRSRecurse
+ } else {
+ attrs = authAccountPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["last_active"] = timePointerToTF(tkh.GetLastActive())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["validity"] = stringerToTF(tkh.GetValidity())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSAuthPermission(recurse bool, tkh keyhubmodel.AuthPermissionable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = authPermissionAttrTypesRSRecurse
+ } else {
+ attrs = authPermissionAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["full"] = types.StringPointerValue(tkh.GetFull())
+ {
+ elemType := attrs["instances"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetInstances(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["instances"] = val
+ }
+ {
+ elemType := attrs["operations"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetOperations(), func(tkh keyhubmodel.AuthPermittedOperation, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["operations"] = val
+ }
+ obj["type_escaped"] = types.StringPointerValue(tkh.GetTypeEscaped())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSCertificateCertificatePrimer(recurse bool, tkh keyhubmodel.CertificateCertificatePrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = certificateCertificatePrimerAttrTypesRSRecurse
+ } else {
+ attrs = certificateCertificatePrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["alias"] = types.StringPointerValue(tkh.GetAlias())
+ obj["type"] = stringerToTF(tkh.GetCertificateCertificatePrimerType())
+ {
+ elemType := attrs["certificate_data"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetCertificateData(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["certificate_data"] = val
+ }
+ obj["expiration"] = timePointerToTF(tkh.GetExpiration())
+ obj["fingerprint_sha1"] = types.StringPointerValue(tkh.GetFingerprintSha1())
+ obj["fingerprint_sha256"] = types.StringPointerValue(tkh.GetFingerprintSha256())
+ obj["global"] = types.BoolPointerValue(tkh.GetGlobal())
+ obj["subject_dn"] = types.StringPointerValue(tkh.GetSubjectDN())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientApplicationVaultVaultRecord(recurse bool, tkh keyhubmodel.VaultVaultRecordable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientApplicationVaultVaultRecordAttrTypesRSRecurse
+ } else {
+ attrs = clientApplicationVaultVaultRecordAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSVaultVaultRecord_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ obj["client_application_uuid"] = types.StringNull()
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["color"] = stringerToTF(tkh.GetColor())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["share_end_time"] = timePointerToTF(tkh.GetShareEndTime())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["derived"] = types.BoolPointerValue(tkh.GetDerived())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["filename"] = types.StringPointerValue(tkh.GetFilename())
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.VaultVaultSecretType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+ obj["url"] = types.StringPointerValue(tkh.GetUrl())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["warning_period"] = stringerToTF(tkh.GetWarningPeriod())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientClientApplication(recurse bool, tkh keyhubmodel.ClientClientApplicationable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplicationAttrTypesRSRecurse
+ } else {
+ attrs = clientClientApplicationAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSClientClientApplication_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetClientClientApplicationPrimerType())
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ elemType := attrs["scopes"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetScopes(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["scopes"] = val
+ }
+ obj["sso_application"] = types.BoolPointerValue(tkh.GetSsoApplication())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["last_modified_at"] = timePointerToTF(tkh.GetLastModifiedAt())
+ obj["owner_uuid"] = withUuidToTF(tkh.GetOwner())
+ obj["technical_administrator_uuid"] = withUuidToTF(tkh.GetTechnicalAdministrator())
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ClientLdapClientable)
+ val, d := tkhToTFObjectRSClientLdapClient(false, tkhCast)
+ diags.Append(d...)
+ obj["ldap_client"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ClientOAuth2Clientable)
+ val, d := tkhToTFObjectRSClientOAuth2Client(false, tkhCast)
+ diags.Append(d...)
+ obj["o_auth2_client"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ClientSaml2Clientable)
+ val, d := tkhToTFObjectRSClientSaml2Client(false, tkhCast)
+ diags.Append(d...)
+ obj["saml2_client"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientClientApplicationLinkableWrapper(recurse bool, tkh keyhubmodel.ClientClientApplicationLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplicationLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = clientClientApplicationLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ClientClientApplicationable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSClientClientApplication(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientClientApplicationPrimer(recurse bool, tkh keyhubmodel.ClientClientApplicationPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplicationPrimerAttrTypesRSRecurse
+ } else {
+ attrs = clientClientApplicationPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetClientClientApplicationPrimerType())
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ elemType := attrs["scopes"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetScopes(), func(tkh string, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh)
+ })
+ diags.Append(d...)
+ obj["scopes"] = val
+ }
+ obj["sso_application"] = types.BoolPointerValue(tkh.GetSsoApplication())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientClientApplication_additionalObjects(recurse bool, tkh keyhubmodel.ClientClientApplication_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientClientApplication_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = clientClientApplication_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ obj["delete_tile"] = types.BoolPointerValue(tkh.GetDeleteTile())
+ {
+ val, d := tkhToTFObjectRSGroupGroupClientLinkableWrapper(recurse, tkh.GetGroupclients())
+ diags.Append(d...)
+ obj["groupclients"] = getItemsAttr(val, attrs["groupclients"])
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupLinkableWrapper(recurse, tkh.GetGroups())
+ diags.Append(d...)
+ obj["groups"] = getItemsAttr(val, attrs["groups"])
+ }
+ {
+ val, d := tkhToTFObjectRSGeneratedSecret(recurse, tkh.GetSecret())
+ diags.Append(d...)
+ obj["secret"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSLaunchpadSsoApplicationLaunchpadTile(recurse, tkh.GetTile())
+ diags.Append(d...)
+ obj["tile"] = val
+ }
+ obj["vault_record_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetVaultRecordCount()))
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientLdapClient(recurse bool, tkh keyhubmodel.ClientLdapClientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientLdapClientAttrTypesRSRecurse
+ } else {
+ attrs = clientLdapClientAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["bind_dn"] = types.StringPointerValue(tkh.GetBindDn())
+ obj["client_certificate_uuid"] = withUuidToTF(tkh.GetClientCertificate())
+ obj["share_secret_in_vault"] = types.BoolPointerValue(tkh.GetShareSecretInVault())
+ obj["shared_secret_uuid"] = withUuidToTF(tkh.GetSharedSecret())
+ obj["used_for_provisioning"] = types.BoolPointerValue(tkh.GetUsedForProvisioning())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientOAuth2Client(recurse bool, tkh keyhubmodel.ClientOAuth2Clientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientAttrTypesRSRecurse
+ } else {
+ attrs = clientOAuth2ClientAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["account_permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAccountPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["account_permissions"] = val
+ }
+ {
+ elemType := attrs["attributes"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetAttributes().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["attributes"] = val
+ }
+ obj["callback_uri"] = types.StringPointerValue(tkh.GetCallbackURI())
+ obj["confidential"] = types.BoolPointerValue(tkh.GetConfidential())
+ obj["debug_mode"] = types.BoolPointerValue(tkh.GetDebugMode())
+ obj["id_token_claims"] = types.StringPointerValue(tkh.GetIdTokenClaims())
+ obj["initiate_login_uri"] = types.StringPointerValue(tkh.GetInitiateLoginURI())
+ obj["resource_uris"] = types.StringPointerValue(tkh.GetResourceURIs())
+ obj["share_secret_in_vault"] = types.BoolPointerValue(tkh.GetShareSecretInVault())
+ obj["shared_secret_uuid"] = withUuidToTF(tkh.GetSharedSecret())
+ obj["show_landing_page"] = types.BoolPointerValue(tkh.GetShowLandingPage())
+ obj["use_client_credentials"] = types.BoolPointerValue(tkh.GetUseClientCredentials())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientOAuth2ClientPermission(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermissionable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermissionAttrTypesRSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermissionAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSClientOAuth2ClientPermission_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["for_group_uuid"] = withUuidToTF(tkh.GetForGroup())
+ obj["for_system_uuid"] = withUuidToTF(tkh.GetForSystem())
+ obj["value"] = stringerToTF(tkh.GetValue())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientOAuth2ClientPermissionWithClient(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermissionWithClientAttrTypesRSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermissionWithClientAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSClientOAuth2ClientPermission_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["for_group_uuid"] = withUuidToTF(tkh.GetForGroup())
+ obj["for_system_uuid"] = withUuidToTF(tkh.GetForSystem())
+ obj["value"] = stringerToTF(tkh.GetValue())
+ obj["client_uuid"] = withUuidToTF(tkh.GetClient())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermissionWithClientLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ClientOAuth2ClientPermissionWithClientable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSClientOAuth2ClientPermissionWithClient(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientOAuth2ClientPermission_additionalObjects(recurse bool, tkh keyhubmodel.ClientOAuth2ClientPermission_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientOAuth2ClientPermission_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = clientOAuth2ClientPermission_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSClientSaml2Client(recurse bool, tkh keyhubmodel.ClientSaml2Clientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = clientSaml2ClientAttrTypesRSRecurse
+ } else {
+ attrs = clientSaml2ClientAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["attributes"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetAttributes().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["attributes"] = val
+ }
+ obj["metadata"] = types.StringPointerValue(tkh.GetMetadata())
+ obj["metadata_url"] = types.StringPointerValue(tkh.GetMetadataUrl())
+ obj["subject_format"] = stringerToTF(tkh.GetSubjectFormat())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryAccountDirectory(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = directoryAccountDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSDirectoryAccountDirectory_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_validity_supported"] = types.BoolPointerValue(tkh.GetAccountValiditySupported())
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["type"] = stringerToTF(tkh.GetDirectoryAccountDirectoryPrimerType())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["base_organizational_unit_uuid"] = withUuidToTF(tkh.GetBaseOrganizationalUnit())
+ obj["default_directory"] = types.BoolPointerValue(tkh.GetDefaultDirectory())
+ obj["helpdesk_group_uuid"] = withUuidToTF(tkh.GetHelpdeskGroup())
+ obj["restrict2fa"] = types.BoolPointerValue(tkh.GetRestrict2fa())
+ obj["rotating_password"] = stringerToTF(tkh.GetRotatingPassword())
+ obj["username_customizable"] = types.BoolPointerValue(tkh.GetUsernameCustomizable())
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryInternalDirectoryable)
+ val, d := tkhToTFObjectRSDirectoryInternalDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["internal_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryLDAPDirectoryable)
+ val, d := tkhToTFObjectRSDirectoryLDAPDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["l_d_a_p_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryMaintenanceDirectoryable)
+ val, d := tkhToTFObjectRSDirectoryMaintenanceDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["maintenance_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.DirectoryOIDCDirectoryable)
+ val, d := tkhToTFObjectRSDirectoryOIDCDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["o_id_c_directory"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryAccountDirectoryLinkableWrapper(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = directoryAccountDirectoryLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.DirectoryAccountDirectoryable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSDirectoryAccountDirectory(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryAccountDirectoryPrimer(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryPrimerAttrTypesRSRecurse
+ } else {
+ attrs = directoryAccountDirectoryPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_validity_supported"] = types.BoolPointerValue(tkh.GetAccountValiditySupported())
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["type"] = stringerToTF(tkh.GetDirectoryAccountDirectoryPrimerType())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryAccountDirectoryStatusReport(recurse bool, tkh keyhubmodel.DirectoryAccountDirectoryStatusReportable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectoryStatusReportAttrTypesRSRecurse
+ } else {
+ attrs = directoryAccountDirectoryStatusReportAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["accounts"] = types.Int64PointerValue(tkh.GetAccounts())
+ obj["reason"] = types.StringPointerValue(tkh.GetReason())
+ obj["status"] = stringerToTF(tkh.GetStatus())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryAccountDirectorySummary(recurse bool, tkh keyhubmodel.DirectoryAccountDirectorySummaryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectorySummaryAttrTypesRSRecurse
+ } else {
+ attrs = directoryAccountDirectorySummaryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["type"] = stringerToTF(tkh.GetDirectoryAccountDirectorySummaryType())
+ obj["domain_restriction"] = types.StringPointerValue(tkh.GetDomainRestriction())
+ obj["fully_resolved_issuer"] = types.StringPointerValue(tkh.GetFullyResolvedIssuer())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ val, d := tkhToTFObjectRSDirectoryAccountDirectoryStatusReport(recurse, tkh.GetStatus())
+ diags.Append(d...)
+ obj["status"] = val
+ }
+ obj["username_customizable"] = types.BoolPointerValue(tkh.GetUsernameCustomizable())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryAccountDirectorySummaryLinkableWrapper(recurse bool, tkh keyhubmodel.DirectoryAccountDirectorySummaryLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectorySummaryLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = directoryAccountDirectorySummaryLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.DirectoryAccountDirectorySummaryable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSDirectoryAccountDirectorySummary(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryAccountDirectory_additionalObjects(recurse bool, tkh keyhubmodel.DirectoryAccountDirectory_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryAccountDirectory_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = directoryAccountDirectory_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSMarkItemMarkers(recurse, tkh.GetMarkers())
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSDirectoryAccountDirectoryStatusReport(recurse, tkh.GetStatus())
+ diags.Append(d...)
+ obj["status"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryInternalDirectory(recurse bool, tkh keyhubmodel.DirectoryInternalDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryInternalDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = directoryInternalDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["owner_uuid"] = withUuidToTF(tkh.GetOwner())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryLDAPDirectory(recurse bool, tkh keyhubmodel.DirectoryLDAPDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryLDAPDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = directoryLDAPDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["attributes_to_store"] = types.StringPointerValue(tkh.GetAttributesToStore())
+ obj["base_dn"] = types.StringPointerValue(tkh.GetBaseDN())
+ obj["client_certificate_uuid"] = withUuidToTF(tkh.GetClientCertificate())
+ obj["dialect"] = stringerToTF(tkh.GetDialect())
+ obj["failover_host"] = types.StringPointerValue(tkh.GetFailoverHost())
+ obj["failover_trusted_certificate_uuid"] = withUuidToTF(tkh.GetFailoverTrustedCertificate())
+ obj["host"] = types.StringPointerValue(tkh.GetHost())
+ obj["password_recovery"] = stringerToTF(tkh.GetPasswordRecovery())
+ obj["port"] = types.Int64PointerValue(int32PToInt64P(tkh.GetPort()))
+ obj["search_bind_dn"] = types.StringPointerValue(tkh.GetSearchBindDN())
+ obj["search_bind_password"] = types.StringPointerValue(tkh.GetSearchBindPassword())
+ obj["search_filter"] = types.StringPointerValue(tkh.GetSearchFilter())
+ obj["tls"] = stringerToTF(tkh.GetTls())
+ obj["trusted_certificate_uuid"] = withUuidToTF(tkh.GetTrustedCertificate())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryMaintenanceDirectory(recurse bool, tkh keyhubmodel.DirectoryMaintenanceDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryMaintenanceDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = directoryMaintenanceDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSDirectoryOIDCDirectory(recurse bool, tkh keyhubmodel.DirectoryOIDCDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = directoryOIDCDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = directoryOIDCDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["acr_values"] = types.StringPointerValue(tkh.GetAcrValues())
+ obj["attributes_to_store"] = types.StringPointerValue(tkh.GetAttributesToStore())
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["client_secret"] = types.StringPointerValue(tkh.GetClientSecret())
+ obj["domain_restriction"] = types.StringPointerValue(tkh.GetDomainRestriction())
+ obj["enforces2fa"] = types.BoolPointerValue(tkh.GetEnforces2fa())
+ obj["fully_resolved_issuer"] = types.StringPointerValue(tkh.GetFullyResolvedIssuer())
+ obj["issuer"] = types.StringPointerValue(tkh.GetIssuer())
+ obj["logout_url"] = types.StringPointerValue(tkh.GetLogoutUrl())
+ obj["send_login_hint"] = types.BoolPointerValue(tkh.GetSendLoginHint())
+ obj["vendor_escaped"] = stringerToTF(tkh.GetVendorEscaped())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupAuthorizedGroupsWrapper(recurse bool, tkh keyhubmodel.GroupAuthorizedGroupsWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupAuthorizedGroupsWrapperAttrTypesRSRecurse
+ } else {
+ attrs = groupAuthorizedGroupsWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+ obj["group_count"] = types.Int64PointerValue(tkh.GetGroupCount())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroup(recurse bool, tkh keyhubmodel.GroupGroupable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSGroupGroup_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["admin"] = types.BoolPointerValue(tkh.GetAdmin())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["application_administration"] = types.BoolPointerValue(tkh.GetApplicationAdministration())
+ {
+ val, d := tkhToTFObjectRSGroupGroupAuditConfig(false, tkh.GetAuditConfig())
+ diags.Append(d...)
+ obj["audit_config"] = val
+ }
+ obj["audit_requested"] = types.BoolPointerValue(tkh.GetAuditRequested())
+ obj["auditor"] = types.BoolPointerValue(tkh.GetAuditor())
+ obj["authorizing_group_auditing_uuid"] = withUuidToTF(tkh.GetAuthorizingGroupAuditing())
+ obj["authorizing_group_delegation_uuid"] = withUuidToTF(tkh.GetAuthorizingGroupDelegation())
+ obj["authorizing_group_membership_uuid"] = withUuidToTF(tkh.GetAuthorizingGroupMembership())
+ obj["authorizing_group_provisioning_uuid"] = withUuidToTF(tkh.GetAuthorizingGroupProvisioning())
+ {
+ elemType := attrs["authorizing_group_types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAuthorizingGroupTypes(), func(tkh keyhubmodel.RequestAuthorizingGroupType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["authorizing_group_types"] = val
+ }
+ obj["classification_uuid"] = withUuidToTF(tkh.GetClassification())
+ obj["description"] = types.StringPointerValue(tkh.GetDescription())
+ obj["extended_access"] = stringerToTF(tkh.GetExtendedAccess())
+ obj["hide_audit_trail"] = types.BoolPointerValue(tkh.GetHideAuditTrail())
+ obj["nested_under_uuid"] = withUuidToTF(tkh.GetNestedUnder())
+ obj["organizational_unit_uuid"] = withUuidToTF(tkh.GetOrganizationalUnit())
+ obj["private_group"] = types.BoolPointerValue(tkh.GetPrivateGroup())
+ obj["record_trail"] = types.BoolPointerValue(tkh.GetRecordTrail())
+ obj["rotating_password_required"] = types.BoolPointerValue(tkh.GetRotatingPasswordRequired())
+ obj["single_managed"] = types.BoolPointerValue(tkh.GetSingleManaged())
+ obj["vault_recovery"] = stringerToTF(tkh.GetVaultRecovery())
+ obj["vault_requires_activation"] = types.BoolPointerValue(tkh.GetVaultRequiresActivation())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAccount(recurse bool, tkh keyhubmodel.GroupGroupAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAccountAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAccountAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSGroupGroupAccount_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ obj["uuid"] = withUuidToTF(tkh)
+ obj["directory_uuid"] = withUuidToTF(tkh.GetDirectory())
+ obj["disconnected_nested"] = types.BoolPointerValue(tkh.GetDisconnectedNested())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["last_used"] = stringerToTF(tkh.GetLastUsed())
+ obj["nested"] = types.BoolPointerValue(tkh.GetNested())
+ obj["provisioning_end_time"] = timePointerToTF(tkh.GetProvisioningEndTime())
+ obj["rights"] = stringerToTF(tkh.GetRights())
+ obj["two_factor_status"] = stringerToTF(tkh.GetTwoFactorStatus())
+ obj["visible_for_provisioning"] = types.BoolPointerValue(tkh.GetVisibleForProvisioning())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAccountLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupAccountLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAccountLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAccountLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupAccountable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupGroupAccount(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAccount_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupAccount_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAccount_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAccount_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAudit(recurse bool, tkh keyhubmodel.GroupGroupAuditable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAuditAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSGroupGroupAudit_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ {
+ elemType := attrs["accounts"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetAccounts(), func(tkh keyhubmodel.GroupGroupAuditAccountable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupGroupAuditAccount(false, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["accounts"] = val
+ }
+ obj["comment"] = types.StringPointerValue(tkh.GetComment())
+ obj["created_at"] = timePointerToTF(tkh.GetCreatedAt())
+ obj["created_by"] = types.StringPointerValue(tkh.GetCreatedBy())
+ obj["group_name"] = types.StringPointerValue(tkh.GetGroupName())
+ obj["name_on_audit"] = types.StringPointerValue(tkh.GetNameOnAudit())
+ obj["reviewed_at"] = timePointerToTF(tkh.GetReviewedAt())
+ obj["reviewed_by"] = types.StringPointerValue(tkh.GetReviewedBy())
+ obj["status"] = stringerToTF(tkh.GetStatus())
+ obj["submitted_at"] = timePointerToTF(tkh.GetSubmittedAt())
+ obj["submitted_by"] = types.StringPointerValue(tkh.GetSubmittedBy())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAuditAccount(recurse bool, tkh keyhubmodel.GroupGroupAuditAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditAccountAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAuditAccountAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_uuid"] = types.StringPointerValue(tkh.GetAccountUuid())
+ obj["account_valid"] = types.BoolPointerValue(tkh.GetAccountValid())
+ obj["action"] = stringerToTF(tkh.GetAction())
+ obj["comment"] = types.StringPointerValue(tkh.GetComment())
+ obj["disconnected_nested"] = types.BoolPointerValue(tkh.GetDisconnectedNested())
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["last_active"] = timePointerToTF(tkh.GetLastActive())
+ obj["last_used"] = stringerToTF(tkh.GetLastUsed())
+ obj["nested"] = types.BoolPointerValue(tkh.GetNested())
+ obj["rights"] = stringerToTF(tkh.GetRights())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAuditConfig(recurse bool, tkh keyhubmodel.GroupGroupAuditConfigable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditConfigAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAuditConfigAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ {
+ elemType := attrs["months"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetMonths(), func(tkh keyhubmodel.Month, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["months"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAuditLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupAuditLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAuditLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupAuditable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupGroupAudit(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAudit_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupAudit_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAudit_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAudit_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupAuditingInfo(recurse bool, tkh keyhubmodel.GroupGroupAuditingInfoable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupAuditingInfoAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupAuditingInfoAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["audit_due_date"] = stringerToTF(tkh.GetAuditDueDate())
+ obj["last_audit_date"] = stringerToTF(tkh.GetLastAuditDate())
+ obj["nr_accounts"] = types.Int64PointerValue(tkh.GetNrAccounts())
+ obj["nr_disabled_accounts"] = types.Int64PointerValue(tkh.GetNrDisabledAccounts())
+ obj["nr_disabled_managers"] = types.Int64PointerValue(tkh.GetNrDisabledManagers())
+ obj["nr_expired_vault_records"] = types.Int64PointerValue(tkh.GetNrExpiredVaultRecords())
+ obj["nr_managers"] = types.Int64PointerValue(tkh.GetNrManagers())
+ obj["nr_vault_records_with_end_date"] = types.Int64PointerValue(tkh.GetNrVaultRecordsWithEndDate())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupClassificationPrimer(recurse bool, tkh keyhubmodel.GroupGroupClassificationPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClassificationPrimerAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupClassificationPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupClient(recurse bool, tkh keyhubmodel.GroupGroupClientable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClientAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupClientAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSGroupGroupClient_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["activation_required"] = types.BoolPointerValue(tkh.GetActivationRequired())
+ obj["client_uuid"] = withUuidToTF(tkh.GetClient())
+ obj["group_uuid"] = withUuidToTF(tkh.GetGroup())
+ obj["owner_uuid"] = withUuidToTF(tkh.GetOwner())
+ obj["technical_administrator_uuid"] = withUuidToTF(tkh.GetTechnicalAdministrator())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupClientLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupClientLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClientLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupClientLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupClientable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupGroupClient(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupClient_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroupClient_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupClient_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupClient_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupInfo(recurse bool, tkh keyhubmodel.GroupGroupInfoable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupInfoAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupInfoAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["nr_accounts"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrAccounts()))
+ obj["nr_accounts_with_vault"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrAccountsWithVault()))
+ obj["nr_audits"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrAudits()))
+ obj["nr_clients"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrClients()))
+ obj["nr_provisioned_systems"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrProvisionedSystems()))
+ obj["nr_vault_records"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNrVaultRecords()))
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupPrimer(recurse bool, tkh keyhubmodel.GroupGroupPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupPrimerAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["admin"] = types.BoolPointerValue(tkh.GetAdmin())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroupPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.GroupGroupPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroupPrimerLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = groupGroupPrimerLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupGroupPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupGroupPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupGroup_additionalObjects(recurse bool, tkh keyhubmodel.GroupGroup_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupGroup_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = groupGroup_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSGroupGroupAccountLinkableWrapper(recurse, tkh.GetAccounts())
+ diags.Append(d...)
+ obj["accounts"] = getItemsAttr(val, attrs["accounts"])
+ }
+ {
+ val, d := tkhToTFObjectRSClientClientApplicationLinkableWrapper(recurse, tkh.GetAdministeredClients())
+ diags.Append(d...)
+ obj["administered_clients"] = getItemsAttr(val, attrs["administered_clients"])
+ }
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionedSystemLinkableWrapper(recurse, tkh.GetAdministeredSystems())
+ diags.Append(d...)
+ obj["administered_systems"] = getItemsAttr(val, attrs["administered_systems"])
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupAccountLinkableWrapper(recurse, tkh.GetAdmins())
+ diags.Append(d...)
+ obj["admins"] = getItemsAttr(val, attrs["admins"])
+ }
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSGroupAuthorizedGroupsWrapper(recurse, tkh.GetAuthorizedGroups())
+ diags.Append(d...)
+ obj["authorized_groups"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse, tkh.GetClientPermissions())
+ diags.Append(d...)
+ obj["client_permissions"] = getItemsAttr(val, attrs["client_permissions"])
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupClientLinkableWrapper(recurse, tkh.GetClients())
+ diags.Append(d...)
+ obj["clients"] = getItemsAttr(val, attrs["clients"])
+ }
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionedSystemLinkableWrapper(recurse, tkh.GetContentAdministeredSystems())
+ diags.Append(d...)
+ obj["content_administered_systems"] = getItemsAttr(val, attrs["content_administered_systems"])
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupAuditingInfo(recurse, tkh.GetGroupauditinginfo())
+ diags.Append(d...)
+ obj["groupauditinginfo"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupInfo(recurse, tkh.GetGroupinfo())
+ diags.Append(d...)
+ obj["groupinfo"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSDirectoryAccountDirectorySummaryLinkableWrapper(recurse, tkh.GetHelpdesk())
+ diags.Append(d...)
+ obj["helpdesk"] = getItemsAttr(val, attrs["helpdesk"])
+ }
+ {
+ val, d := tkhToTFObjectRSMarkItemMarkers(recurse, tkh.GetMarkers())
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupAccount(recurse, tkh.GetMyaccount())
+ diags.Append(d...)
+ obj["myaccount"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupAccount(recurse, tkh.GetMydelegatedaccount())
+ diags.Append(d...)
+ obj["mydelegatedaccount"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupPrimerLinkableWrapper(recurse, tkh.GetNestedGroups())
+ diags.Append(d...)
+ obj["nested_groups"] = getItemsAttr(val, attrs["nested_groups"])
+ }
+ {
+ val, d := tkhToTFObjectRSClientClientApplicationLinkableWrapper(recurse, tkh.GetOwnedClients())
+ diags.Append(d...)
+ obj["owned_clients"] = getItemsAttr(val, attrs["owned_clients"])
+ }
+ {
+ val, d := tkhToTFObjectRSDirectoryAccountDirectoryLinkableWrapper(recurse, tkh.GetOwnedDirectories())
+ diags.Append(d...)
+ obj["owned_directories"] = getItemsAttr(val, attrs["owned_directories"])
+ }
+ {
+ val, d := tkhToTFObjectRSProvisioningOwnedGroupOnSystemsWrapper(recurse, tkh.GetOwnedGroupsOnSystem())
+ diags.Append(d...)
+ obj["owned_groups_on_system"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSOrganizationOrganizationalUnitLinkableWrapper(recurse, tkh.GetOwnedOrganizationalUnits())
+ diags.Append(d...)
+ obj["owned_organizational_units"] = getItemsAttr(val, attrs["owned_organizational_units"])
+ }
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionedSystemLinkableWrapper(recurse, tkh.GetOwnedSystems())
+ diags.Append(d...)
+ obj["owned_systems"] = getItemsAttr(val, attrs["owned_systems"])
+ }
+ {
+ val, d := tkhToTFObjectRSGroupGroupAuditLinkableWrapper(recurse, tkh.GetRecentAudits())
+ diags.Append(d...)
+ obj["recent_audits"] = getItemsAttr(val, attrs["recent_audits"])
+ }
+ obj["requeststatus"] = stringerToTF(tkh.GetRequeststatus())
+ {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccountLinkableWrapper(recurse, tkh.GetServiceAccounts())
+ diags.Append(d...)
+ obj["service_accounts"] = getItemsAttr(val, attrs["service_accounts"])
+ }
+ {
+ val, d := tkhToTFObjectRSGroupProvisioningGroupLinkableWrapper(recurse, tkh.GetSystems())
+ diags.Append(d...)
+ obj["systems"] = getItemsAttr(val, attrs["systems"])
+ }
+ {
+ val, d := tkhToTFObjectRSVaultVault(recurse, tkh.GetVault())
+ diags.Append(d...)
+ obj["vault"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSWebhookWebhookLinkableWrapper(recurse, tkh.GetWebhooks())
+ diags.Append(d...)
+ obj["webhooks"] = getItemsAttr(val, attrs["webhooks"])
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupProvisioningGroup(recurse bool, tkh keyhubmodel.GroupProvisioningGroupable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupProvisioningGroupAttrTypesRSRecurse
+ } else {
+ attrs = groupProvisioningGroupAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSGroupProvisioningGroup_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["activation_required"] = types.BoolPointerValue(tkh.GetActivationRequired())
+ obj["group_uuid"] = withUuidToTF(tkh.GetGroup())
+ {
+ val, d := tkhToTFObjectRSProvisioningGroupOnSystem(false, tkh.GetGroupOnSystem())
+ diags.Append(d...)
+ obj["group_on_system"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupProvisioningGroupLinkableWrapper(recurse bool, tkh keyhubmodel.GroupProvisioningGroupLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupProvisioningGroupLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = groupProvisioningGroupLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.GroupProvisioningGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSGroupProvisioningGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupProvisioningGroup_additionalObjects(recurse bool, tkh keyhubmodel.GroupProvisioningGroup_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupProvisioningGroup_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = groupProvisioningGroup_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSGroupVaultVaultRecord(recurse bool, tkh keyhubmodel.VaultVaultRecordable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = groupVaultVaultRecordAttrTypesRSRecurse
+ } else {
+ attrs = groupVaultVaultRecordAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSVaultVaultRecord_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ obj["group_uuid"] = types.StringNull()
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["color"] = stringerToTF(tkh.GetColor())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["share_end_time"] = timePointerToTF(tkh.GetShareEndTime())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["derived"] = types.BoolPointerValue(tkh.GetDerived())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["filename"] = types.StringPointerValue(tkh.GetFilename())
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.VaultVaultSecretType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+ obj["url"] = types.StringPointerValue(tkh.GetUrl())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["warning_period"] = stringerToTF(tkh.GetWarningPeriod())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSLaunchpadSsoApplicationLaunchpadTile(recurse bool, tkh keyhubmodel.LaunchpadSsoApplicationLaunchpadTileable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = launchpadSsoApplicationLaunchpadTileAttrTypesRSRecurse
+ } else {
+ attrs = launchpadSsoApplicationLaunchpadTileAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["uri"] = types.StringPointerValue(tkh.GetUri())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSLaunchpadVaultRecordLaunchpadTile(recurse bool, tkh keyhubmodel.LaunchpadVaultRecordLaunchpadTileable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = launchpadVaultRecordLaunchpadTileAttrTypesRSRecurse
+ } else {
+ attrs = launchpadVaultRecordLaunchpadTileAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSMarkItemMarker(recurse bool, tkh keyhubmodel.MarkItemMarkerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = markItemMarkerAttrTypesRSRecurse
+ } else {
+ attrs = markItemMarkerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["level"] = stringerToTF(tkh.GetLevel())
+ obj["type"] = stringerToTF(tkh.GetMarkItemMarkerType())
+ {
+ elemType := attrs["parameters"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetParameters().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["parameters"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSMarkItemMarkers(recurse bool, tkh keyhubmodel.MarkItemMarkersable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = markItemMarkersAttrTypesRSRecurse
+ } else {
+ attrs = markItemMarkersAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["markers"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetMarkers(), func(tkh keyhubmodel.MarkItemMarkerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSMarkItemMarker(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSNestedProvisioningGroupOnSystem(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = nestedProvisioningGroupOnSystemAttrTypesRSRecurse
+ } else {
+ attrs = nestedProvisioningGroupOnSystemAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSProvisioningGroupOnSystem_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ obj["provisioned_system_uuid"] = types.StringNull()
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["name_in_system"] = types.StringPointerValue(tkh.GetNameInSystem())
+ obj["type"] = stringerToTF(tkh.GetProvisioningGroupOnSystemPrimerType())
+ obj["short_name_in_system"] = types.StringPointerValue(tkh.GetShortNameInSystem())
+ obj["owner_uuid"] = withUuidToTF(tkh.GetOwner())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSOrganizationOrganizationalUnit(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnitable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnitAttrTypesRSRecurse
+ } else {
+ attrs = organizationOrganizationalUnitAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSOrganizationOrganizationalUnit_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["depth"] = types.Int64PointerValue(int32PToInt64P(tkh.GetDepth()))
+ obj["description"] = types.StringPointerValue(tkh.GetDescription())
+ obj["owner_uuid"] = withUuidToTF(tkh.GetOwner())
+ obj["parent_uuid"] = withUuidToTF(tkh.GetParent())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSOrganizationOrganizationalUnitLinkableWrapper(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnitLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnitLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = organizationOrganizationalUnitLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.OrganizationOrganizationalUnitable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSOrganizationOrganizationalUnit(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSOrganizationOrganizationalUnitPrimer(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnitPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnitPrimerAttrTypesRSRecurse
+ } else {
+ attrs = organizationOrganizationalUnitPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSOrganizationOrganizationalUnitPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnitPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnitPrimerLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = organizationOrganizationalUnitPrimerLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.OrganizationOrganizationalUnitPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSOrganizationOrganizationalUnitPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSOrganizationOrganizationalUnit_additionalObjects(recurse bool, tkh keyhubmodel.OrganizationOrganizationalUnit_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = organizationOrganizationalUnit_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = organizationOrganizationalUnit_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSOrganizationOrganizationalUnitPrimerLinkableWrapper(recurse, tkh.GetCreateAsParentOf())
+ diags.Append(d...)
+ obj["create_as_parent_of"] = getItemsAttr(val, attrs["create_as_parent_of"])
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningAbstractProvisionedLDAP(recurse bool, tkh keyhubmodel.ProvisioningAbstractProvisionedLDAPable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningAbstractProvisionedLDAPAttrTypesRSRecurse
+ } else {
+ attrs = provisioningAbstractProvisionedLDAPAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["attributes"].(types.MapType).ElemType
+ val, d := mapToTF(elemType, tkh.GetAttributes().GetAdditionalData(), func(tkh any, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.(string))
+ })
+ diags.Append(d...)
+ obj["attributes"] = val
+ }
+ obj["base_dn"] = types.StringPointerValue(tkh.GetBaseDN())
+ obj["bind_dn"] = types.StringPointerValue(tkh.GetBindDN())
+ obj["bind_password"] = types.StringPointerValue(tkh.GetBindPassword())
+ obj["client_certificate_uuid"] = withUuidToTF(tkh.GetClientCertificate())
+ obj["failover_host"] = types.StringPointerValue(tkh.GetFailoverHost())
+ obj["failover_trusted_certificate_uuid"] = withUuidToTF(tkh.GetFailoverTrustedCertificate())
+ obj["group_dn"] = types.StringPointerValue(tkh.GetGroupDN())
+ obj["host"] = types.StringPointerValue(tkh.GetHost())
+ obj["object_classes"] = types.StringPointerValue(tkh.GetObjectClasses())
+ obj["port"] = types.Int64PointerValue(int32PToInt64P(tkh.GetPort()))
+ obj["service_account_dn"] = types.StringPointerValue(tkh.GetServiceAccountDN())
+ obj["ssh_public_key_supported"] = types.BoolPointerValue(tkh.GetSshPublicKeySupported())
+ obj["tls"] = stringerToTF(tkh.GetTls())
+ obj["trusted_certificate_uuid"] = withUuidToTF(tkh.GetTrustedCertificate())
+ obj["user_dn"] = types.StringPointerValue(tkh.GetUserDN())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningCircuitBreakerStatistics(recurse bool, tkh keyhubmodel.ProvisioningCircuitBreakerStatisticsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningCircuitBreakerStatisticsAttrTypesRSRecurse
+ } else {
+ attrs = provisioningCircuitBreakerStatisticsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["number_of_failed_calls"] = types.Int64PointerValue(tkh.GetNumberOfFailedCalls())
+ obj["number_of_not_permitted_calls"] = types.Int64PointerValue(tkh.GetNumberOfNotPermittedCalls())
+ obj["number_of_successful_calls"] = types.Int64PointerValue(tkh.GetNumberOfSuccessfulCalls())
+ obj["state"] = stringerToTF(tkh.GetState())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningGroupOnSystem(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemAttrTypesRSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSProvisioningGroupOnSystem_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["name_in_system"] = types.StringPointerValue(tkh.GetNameInSystem())
+ obj["type"] = stringerToTF(tkh.GetProvisioningGroupOnSystemPrimerType())
+ obj["short_name_in_system"] = types.StringPointerValue(tkh.GetShortNameInSystem())
+ obj["owner_uuid"] = withUuidToTF(tkh.GetOwner())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningGroupOnSystemLinkableWrapper(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningGroupOnSystemable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSProvisioningGroupOnSystem(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningGroupOnSystemPrimer(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemPrimerAttrTypesRSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["name_in_system"] = types.StringPointerValue(tkh.GetNameInSystem())
+ obj["type"] = stringerToTF(tkh.GetProvisioningGroupOnSystemPrimerType())
+ obj["short_name_in_system"] = types.StringPointerValue(tkh.GetShortNameInSystem())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningGroupOnSystemTypes(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystemTypesable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystemTypesAttrTypesRSRecurse
+ } else {
+ attrs = provisioningGroupOnSystemTypesAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.ProvisioningGroupOnSystemType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningGroupOnSystem_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningGroupOnSystem_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningGroupOnSystem_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = provisioningGroupOnSystem_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSGroupProvisioningGroupLinkableWrapper(recurse, tkh.GetProvgroups())
+ diags.Append(d...)
+ obj["provgroups"] = getItemsAttr(val, attrs["provgroups"])
+ }
+ {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccountPrimerLinkableWrapper(recurse, tkh.GetServiceAccounts())
+ diags.Append(d...)
+ obj["service_accounts"] = getItemsAttr(val, attrs["service_accounts"])
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningOwnedGroupOnSystemsWrapper(recurse bool, tkh keyhubmodel.ProvisioningOwnedGroupOnSystemsWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningOwnedGroupOnSystemsWrapperAttrTypesRSRecurse
+ } else {
+ attrs = provisioningOwnedGroupOnSystemsWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningGroupOnSystemable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSProvisioningGroupOnSystem(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+ obj["unlinked_count"] = types.Int64PointerValue(tkh.GetUnlinkedCount())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionNumberSequence(recurse bool, tkh keyhubmodel.ProvisioningProvisionNumberSequenceable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionNumberSequenceAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionNumberSequenceAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionNumberSequence_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetAccountCount()))
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["next_uid"] = types.Int64PointerValue(tkh.GetNextUID())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionNumberSequence_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningProvisionNumberSequence_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionNumberSequence_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionNumberSequence_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse, tkh.GetSystems())
+ diags.Append(d...)
+ obj["systems"] = getItemsAttr(val, attrs["systems"])
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedAD(recurse bool, tkh keyhubmodel.ProvisioningProvisionedADable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedADAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedADAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["sam_account_name_scheme"] = stringerToTF(tkh.GetSamAccountNameScheme())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedAccount(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAccountAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedAccountAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionedAccount_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ obj["uuid"] = withUuidToTF(tkh)
+ obj["uid"] = types.Int64PointerValue(tkh.GetUid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedAccount_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAccount_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAccount_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedAccount_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedAzureOIDCDirectory(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAzureOIDCDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedAzureOIDCDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["directory_uuid"] = withUuidToTF(tkh.GetDirectory())
+ obj["tenant"] = types.StringPointerValue(tkh.GetTenant())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedAzureSyncLDAPDirectory(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedAzureSyncLDAPDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["client_secret"] = types.StringPointerValue(tkh.GetClientSecret())
+ obj["directory_uuid"] = withUuidToTF(tkh.GetDirectory())
+ obj["tenant"] = types.StringPointerValue(tkh.GetTenant())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedAzureTenant(recurse bool, tkh keyhubmodel.ProvisioningProvisionedAzureTenantable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedAzureTenantAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedAzureTenantAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["client_id"] = types.StringPointerValue(tkh.GetClientId())
+ obj["client_secret"] = types.StringPointerValue(tkh.GetClientSecret())
+ obj["idp_domain"] = types.StringPointerValue(tkh.GetIdpDomain())
+ obj["tenant"] = types.StringPointerValue(tkh.GetTenant())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedInternalLDAP(recurse bool, tkh keyhubmodel.ProvisioningProvisionedInternalLDAPable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedInternalLDAPAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedInternalLDAPAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["client_uuid"] = withUuidToTF(tkh.GetClient())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedLDAP(recurse bool, tkh keyhubmodel.ProvisioningProvisionedLDAPable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedLDAPAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedLDAPAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["gid"] = types.Int64PointerValue(tkh.GetGid())
+ obj["hashing_scheme"] = stringerToTF(tkh.GetHashingScheme())
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionNumberSequence(recurse, tkh.GetNumbering())
+ diags.Append(d...)
+ obj["numbering"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedLDAPDirectory(recurse bool, tkh keyhubmodel.ProvisioningProvisionedLDAPDirectoryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedLDAPDirectoryAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedLDAPDirectoryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["directory_uuid"] = withUuidToTF(tkh.GetDirectory())
+ obj["group_dn"] = types.StringPointerValue(tkh.GetGroupDN())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedSystem(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionedSystem_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["organizational_unit_uuid"] = withUuidToTF(tkh.GetOrganizationalUnit())
+ obj["type"] = stringerToTF(tkh.GetProvisioningProvisionedSystemPrimerType())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["account_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetAccountCount()))
+ obj["content_administrator_uuid"] = withUuidToTF(tkh.GetContentAdministrator())
+ obj["external_uuid"] = stringerToTF(tkh.GetExternalUuid())
+ obj["owner_uuid"] = withUuidToTF(tkh.GetOwner())
+ obj["self_service_existing_groups"] = types.BoolPointerValue(tkh.GetSelfServiceExistingGroups())
+ obj["self_service_new_groups"] = types.BoolPointerValue(tkh.GetSelfServiceNewGroups())
+ obj["self_service_service_accounts"] = types.BoolPointerValue(tkh.GetSelfServiceServiceAccounts())
+ obj["should_destroy_unknown_accounts"] = types.BoolPointerValue(tkh.GetShouldDestroyUnknownAccounts())
+ obj["technical_administrator_uuid"] = withUuidToTF(tkh.GetTechnicalAdministrator())
+ obj["username_prefix"] = types.StringPointerValue(tkh.GetUsernamePrefix())
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningAbstractProvisionedLDAPable)
+ val, d := tkhToTFObjectRSProvisioningAbstractProvisionedLDAP(false, tkhCast)
+ diags.Append(d...)
+ obj["abstract_provisioned_ldap"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedADable)
+ val, d := tkhToTFObjectRSProvisioningProvisionedAD(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_a_d"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedAzureOIDCDirectoryable)
+ val, d := tkhToTFObjectRSProvisioningProvisionedAzureOIDCDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_azure_oidc_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedAzureSyncLDAPDirectoryable)
+ val, d := tkhToTFObjectRSProvisioningProvisionedAzureSyncLDAPDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_azure_sync_ldap_directory"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedAzureTenantable)
+ val, d := tkhToTFObjectRSProvisioningProvisionedAzureTenant(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_azure_tenant"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedInternalLDAPable)
+ val, d := tkhToTFObjectRSProvisioningProvisionedInternalLDAP(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_internal_ldap"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedLDAPable)
+ val, d := tkhToTFObjectRSProvisioningProvisionedLDAP(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_ldap"] = val
+ }
+ {
+ tkhCast, _ := tkh.(keyhubmodel.ProvisioningProvisionedLDAPDirectoryable)
+ val, d := tkhToTFObjectRSProvisioningProvisionedLDAPDirectory(false, tkhCast)
+ diags.Append(d...)
+ obj["provisioned_ldap_directory"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedSystemLinkableWrapper(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningProvisionedSystemable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSProvisioningProvisionedSystem(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedSystemPrimer(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemPrimerAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["organizational_unit_uuid"] = withUuidToTF(tkh.GetOrganizationalUnit())
+ obj["type"] = stringerToTF(tkh.GetProvisioningProvisionedSystemPrimerType())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedSystemPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystemPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedSystemPrimerLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ProvisioningProvisionedSystemPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSProvisioningProvisionedSystemPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisionedSystem_additionalObjects(recurse bool, tkh keyhubmodel.ProvisioningProvisionedSystem_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisionedSystem_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisionedSystem_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisionedAccount(recurse, tkh.GetAccount())
+ diags.Append(d...)
+ obj["account"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSClientOAuth2ClientPermissionWithClientLinkableWrapper(recurse, tkh.GetIssuedPermissions())
+ diags.Append(d...)
+ obj["issued_permissions"] = getItemsAttr(val, attrs["issued_permissions"])
+ }
+ obj["login_name"] = types.StringPointerValue(tkh.GetLoginName())
+ {
+ val, d := tkhToTFObjectRSProvisioningProvisioningManagementPermissions(recurse, tkh.GetManagementPermissions())
+ diags.Append(d...)
+ obj["management_permissions"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSMarkItemMarkers(recurse, tkh.GetMarkers())
+ diags.Append(d...)
+ obj["markers"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSProvisioningCircuitBreakerStatistics(recurse, tkh.GetStatistics())
+ diags.Append(d...)
+ obj["statistics"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSProvisioningGroupOnSystemTypes(recurse, tkh.GetSupportedGroupTypes())
+ diags.Append(d...)
+ obj["supported_group_types"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSProvisioningProvisioningManagementPermissions(recurse bool, tkh keyhubmodel.ProvisioningProvisioningManagementPermissionsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = provisioningProvisioningManagementPermissionsAttrTypesRSRecurse
+ } else {
+ attrs = provisioningProvisioningManagementPermissionsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["create_new_groups_allowed"] = types.BoolPointerValue(tkh.GetCreateNewGroupsAllowed())
+ obj["create_service_accounts_allowed"] = types.BoolPointerValue(tkh.GetCreateServiceAccountsAllowed())
+ obj["reuse_existing_groups_allowed"] = types.BoolPointerValue(tkh.GetReuseExistingGroupsAllowed())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccount(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccount_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["system_uuid"] = withUuidToTF(tkh.GetSystem())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["description"] = types.StringPointerValue(tkh.GetDescription())
+ obj["password_uuid"] = withUuidToTF(tkh.GetPassword())
+ obj["password_rotation"] = stringerToTF(tkh.GetPasswordRotation())
+ obj["technical_administrator_uuid"] = withUuidToTF(tkh.GetTechnicalAdministrator())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccountGroup(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountGroupable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountGroupAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountGroupAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccountGroup_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["display_name"] = types.StringPointerValue(tkh.GetDisplayName())
+ obj["name_in_system"] = types.StringPointerValue(tkh.GetNameInSystem())
+ obj["type"] = stringerToTF(tkh.GetProvisioningGroupOnSystemPrimerType())
+ obj["short_name_in_system"] = types.StringPointerValue(tkh.GetShortNameInSystem())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccountGroupLinkableWrapper(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountGroupLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountGroupLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountGroupLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ServiceaccountServiceAccountGroupable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccountGroup(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccountGroup_additionalObjects(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountGroup_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountGroup_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountGroup_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccountLinkableWrapper(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ServiceaccountServiceAccountable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccount(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccountPrimer(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountPrimerAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["system_uuid"] = withUuidToTF(tkh.GetSystem())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccountPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccountPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccountPrimerLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.ServiceaccountServiceAccountPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccountPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSServiceaccountServiceAccount_additionalObjects(recurse bool, tkh keyhubmodel.ServiceaccountServiceAccount_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = serviceaccountServiceAccount_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = serviceaccountServiceAccount_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSServiceaccountServiceAccountGroupLinkableWrapper(recurse, tkh.GetGroups())
+ diags.Append(d...)
+ obj["groups"] = getItemsAttr(val, attrs["groups"])
+ }
+ {
+ val, d := tkhToTFObjectRSGeneratedSecret(recurse, tkh.GetSecret())
+ diags.Append(d...)
+ obj["secret"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultPasswordMetadata(recurse bool, tkh keyhubmodel.VaultPasswordMetadataable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultPasswordMetadataAttrTypesRSRecurse
+ } else {
+ attrs = vaultPasswordMetadataAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["dictionary"] = types.BoolPointerValue(tkh.GetDictionary())
+ obj["duplicate"] = types.BoolPointerValue(tkh.GetDuplicate())
+ obj["hash"] = types.StringPointerValue(tkh.GetHash())
+ obj["length"] = types.Int64PointerValue(int32PToInt64P(tkh.GetLength()))
+ obj["lower_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetLowerCount()))
+ obj["number_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetNumberCount()))
+ obj["special_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetSpecialCount()))
+ obj["strength"] = types.Int64PointerValue(int32PToInt64P(tkh.GetStrength()))
+ obj["upper_count"] = types.Int64PointerValue(int32PToInt64P(tkh.GetUpperCount()))
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVault(recurse bool, tkh keyhubmodel.VaultVaultable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["access_available"] = types.BoolPointerValue(tkh.GetAccessAvailable())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ {
+ elemType := attrs["records"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetRecords(), func(tkh keyhubmodel.VaultVaultRecordable, diags *diag.Diagnostics) attr.Value {
+ return withUuidToTF(tkh)
+ })
+ diags.Append(d...)
+ obj["records"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultHolder(recurse bool, tkh keyhubmodel.VaultVaultHolderable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultHolderAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultHolderAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultRecord(recurse bool, tkh keyhubmodel.VaultVaultRecordable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultRecordAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSVaultVaultRecord_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["color"] = stringerToTF(tkh.GetColor())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["share_end_time"] = timePointerToTF(tkh.GetShareEndTime())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["derived"] = types.BoolPointerValue(tkh.GetDerived())
+ obj["end_date"] = stringerToTF(tkh.GetEndDate())
+ obj["filename"] = types.StringPointerValue(tkh.GetFilename())
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.VaultVaultSecretType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+ obj["url"] = types.StringPointerValue(tkh.GetUrl())
+ obj["username"] = types.StringPointerValue(tkh.GetUsername())
+ obj["warning_period"] = stringerToTF(tkh.GetWarningPeriod())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultRecordPrimer(recurse bool, tkh keyhubmodel.VaultVaultRecordPrimerable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordPrimerAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultRecordPrimerAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["color"] = stringerToTF(tkh.GetColor())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["share_end_time"] = timePointerToTF(tkh.GetShareEndTime())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultRecordPrimerLinkableWrapper(recurse bool, tkh keyhubmodel.VaultVaultRecordPrimerLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordPrimerLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultRecordPrimerLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.VaultVaultRecordPrimerable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSVaultVaultRecordPrimer(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultRecordSecrets(recurse bool, tkh keyhubmodel.VaultVaultRecordSecretsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordSecretsAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultRecordSecretsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["comment"] = types.StringPointerValue(tkh.GetComment())
+ obj["file"] = types.StringPointerValue(tkh.GetFile())
+ obj["password"] = types.StringPointerValue(tkh.GetPassword())
+ obj["totp"] = types.StringPointerValue(tkh.GetTotp())
+ obj["write_totp"] = types.BoolPointerValue(tkh.GetWriteTotp())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultRecordShare(recurse bool, tkh keyhubmodel.VaultVaultRecordShareable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordShareAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultRecordShareAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["type"] = stringerToTF(tkh.GetVaultVaultRecordShareType())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultRecordShareSummary(recurse bool, tkh keyhubmodel.VaultVaultRecordShareSummaryable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecordShareSummaryAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultRecordShareSummaryAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["children"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetChildren(), func(tkh keyhubmodel.VaultVaultRecordShareable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSVaultVaultRecordShare(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["children"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSVaultVaultRecordShare(recurse, tkh.GetParent())
+ diags.Append(d...)
+ obj["parent"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSVaultVaultRecord_additionalObjects(recurse bool, tkh keyhubmodel.VaultVaultRecord_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = vaultVaultRecord_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = vaultVaultRecord_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+ obj["delete_tile"] = types.BoolPointerValue(tkh.GetDeleteTile())
+ obj["parent_uuid"] = withUuidToTF(tkh.GetParent())
+ {
+ val, d := tkhToTFObjectRSVaultPasswordMetadata(recurse, tkh.GetPasswordMetadata())
+ diags.Append(d...)
+ obj["password_metadata"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSVaultVaultRecordSecrets(recurse, tkh.GetSecret())
+ diags.Append(d...)
+ obj["secret"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSVaultVaultRecordShareSummary(recurse, tkh.GetShareSummary())
+ diags.Append(d...)
+ obj["share_summary"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSVaultVaultRecordPrimerLinkableWrapper(recurse, tkh.GetShares())
+ diags.Append(d...)
+ obj["shares"] = getItemsAttr(val, attrs["shares"])
+ }
+ {
+ val, d := tkhToTFObjectRSLaunchpadVaultRecordLaunchpadTile(recurse, tkh.GetTile())
+ diags.Append(d...)
+ obj["tile"] = val
+ }
+ {
+ val, d := tkhToTFObjectRSVaultVaultHolder(recurse, tkh.GetVaultholder())
+ diags.Append(d...)
+ obj["vaultholder"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSWebhookWebhook(recurse bool, tkh keyhubmodel.WebhookWebhookable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = webhookWebhookAttrTypesRSRecurse
+ } else {
+ attrs = webhookWebhookAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ if recurse {
+ {
+ val, d := tkhToTFObjectRSWebhookWebhook_additionalObjects(false, tkh.GetAdditionalObjects())
+ diags.Append(d...)
+ maps.Copy(obj, val.Attributes())
+ }
+ }
+ {
+ elemType := attrs["links"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetLinks(), func(tkh keyhubmodel.RestLinkable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSRestLink(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["links"] = val
+ }
+ {
+ elemType := attrs["permissions"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetPermissions(), func(tkh keyhubmodel.AuthPermissionable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSAuthPermission(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["permissions"] = val
+ }
+ obj["account_uuid"] = withUuidToTF(tkh.GetAccount())
+ obj["active"] = types.BoolPointerValue(tkh.GetActive())
+ obj["all_types"] = types.BoolPointerValue(tkh.GetAllTypes())
+ obj["authentication_scheme"] = stringerToTF(tkh.GetAuthenticationScheme())
+ obj["basic_auth_password"] = types.StringPointerValue(tkh.GetBasicAuthPassword())
+ obj["basic_auth_username"] = types.StringPointerValue(tkh.GetBasicAuthUsername())
+ obj["bearer_token"] = types.StringPointerValue(tkh.GetBearerToken())
+ obj["client_uuid"] = withUuidToTF(tkh.GetClient())
+ obj["client_certificate_uuid"] = withUuidToTF(tkh.GetClientCertificate())
+ obj["custom_header_name"] = types.StringPointerValue(tkh.GetCustomHeaderName())
+ obj["custom_header_value"] = types.StringPointerValue(tkh.GetCustomHeaderValue())
+ obj["directory_uuid"] = withUuidToTF(tkh.GetDirectory())
+ obj["group_uuid"] = withUuidToTF(tkh.GetGroup())
+ obj["name"] = types.StringPointerValue(tkh.GetName())
+ obj["system_uuid"] = withUuidToTF(tkh.GetSystem())
+ obj["tls"] = stringerToTF(tkh.GetTls())
+ obj["trusted_certificate_uuid"] = withUuidToTF(tkh.GetTrustedCertificate())
+ {
+ elemType := attrs["types"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetTypes(), func(tkh keyhubmodel.AuditAuditRecordType, diags *diag.Diagnostics) attr.Value {
+ return types.StringValue(tkh.String())
+ })
+ diags.Append(d...)
+ obj["types"] = val
+ }
+ obj["url"] = types.StringPointerValue(tkh.GetUrl())
+ obj["uuid"] = types.StringPointerValue(tkh.GetUuid())
+ obj["verbose_payloads"] = types.BoolPointerValue(tkh.GetVerbosePayloads())
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSWebhookWebhookLinkableWrapper(recurse bool, tkh keyhubmodel.WebhookWebhookLinkableWrapperable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = webhookWebhookLinkableWrapperAttrTypesRSRecurse
+ } else {
+ attrs = webhookWebhookLinkableWrapperAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ elemType := attrs["items"].(types.ListType).ElemType
+ val, d := sliceToTF(elemType, tkh.GetItems(), func(tkh keyhubmodel.WebhookWebhookable, diags *diag.Diagnostics) attr.Value {
+ val, d := tkhToTFObjectRSWebhookWebhook(recurse, tkh)
+ diags.Append(d...)
+ return val
+ })
+ diags.Append(d...)
+ obj["items"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
+
+func tkhToTFObjectRSWebhookWebhook_additionalObjects(recurse bool, tkh keyhubmodel.WebhookWebhook_additionalObjectsable) (types.Object, diag.Diagnostics) {
+ var diags diag.Diagnostics
+ var attrs map[string]attr.Type
+ if recurse {
+ attrs = webhookWebhook_additionalObjectsAttrTypesRSRecurse
+ } else {
+ attrs = webhookWebhook_additionalObjectsAttrTypesRS
+ }
+ if tkh == nil {
+ return types.ObjectNull(attrs), diags
+ }
+
+ obj := make(map[string]attr.Value)
+ {
+ val, d := tkhToTFObjectRSAuditInfo(recurse, tkh.GetAudit())
+ diags.Append(d...)
+ obj["audit"] = val
+ }
+
+ objVal, d := types.ObjectValue(attrs, obj)
+ diags.Append(d...)
+ return objVal, diags
+}
diff --git a/internal/provider/group_data_source.go b/internal/provider/group_data_source.go
deleted file mode 100644
index 0696ed2..0000000
--- a/internal/provider/group_data_source.go
+++ /dev/null
@@ -1,213 +0,0 @@
-// Copyright (c) HashiCorp, Inc.
-// SPDX-License-Identifier: MPL-2.0
-
-package provider
-
-import (
- "context"
- "fmt"
-
- "github.com/hashicorp/terraform-plugin-framework/datasource"
- "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
- "github.com/hashicorp/terraform-plugin-framework/types"
- keyhub "github.com/topicuskeyhub/sdk-go"
- keyhubgroup "github.com/topicuskeyhub/sdk-go/group"
- keyhubmodel "github.com/topicuskeyhub/sdk-go/models"
-)
-
-// Ensure provider defined types fully satisfy framework interfaces.
-var (
- _ datasource.DataSource = &groupDataSource{}
- _ datasource.DataSourceWithConfigure = &groupDataSource{}
-)
-
-func NewGroupDataSource() datasource.DataSource {
- return &groupDataSource{}
-}
-
-// groupDataSource defines the data source implementation.
-type groupDataSource struct {
- client *keyhub.KeyHubClient
-}
-
-// GroupDataSourceModel describes the data source data model.
-type GroupDataSourceModel struct {
- ID types.Int64 `tfsdk:"id"`
- UUID types.String `tfsdk:"uuid"`
- Name types.String `tfsdk:"name"`
- Description types.String `tfsdk:"description"`
- ExtendedAccess types.String `tfsdk:"extended_access"`
- VaultRecovery types.String `tfsdk:"vault_recovery"`
- AuditMonths types.List `tfsdk:"audit_months"`
- RotatingPasswordRequired types.Bool `tfsdk:"rotating_password_required"`
- RecordTrail types.Bool `tfsdk:"record_trail"`
- PrivateGroup types.Bool `tfsdk:"private_group"`
- HideAuditTrail types.Bool `tfsdk:"hide_audit_trail"`
- ApplicationAdministration types.Bool `tfsdk:"application_administration"`
- Auditor types.Bool `tfsdk:"auditor"`
- SingleManaged types.Bool `tfsdk:"single_managed"`
- ProvisioningAuthGroupUUID types.String `tfsdk:"provisioning_auth_groupuuid"`
- MembershipAuthGroupUUID types.String `tfsdk:"membership_auth_groupuuid"`
- AuditingAuthGroupUUID types.String `tfsdk:"auditing_auth_groupuuid"`
- NestedUnderGroupUUID types.String `tfsdk:"nested_under_groupuuid"`
-}
-
-func (d *groupDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) {
- resp.TypeName = req.ProviderTypeName + "_group"
-}
-
-func (d *groupDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) {
- resp.Schema = schema.Schema{
- // This description is used by the documentation generator and the language server.
- MarkdownDescription: "Group data source",
-
- Attributes: map[string]schema.Attribute{
- "id": schema.Int64Attribute{
- Computed: true,
- },
- "uuid": schema.StringAttribute{
- Required: true,
- },
- "name": schema.StringAttribute{
- Computed: true,
- },
- "description": schema.StringAttribute{
- Computed: true,
- },
- "extended_access": schema.StringAttribute{
- Computed: true,
- },
- "vault_recovery": schema.StringAttribute{
- Computed: true,
- },
- "audit_months": schema.ListAttribute{
- ElementType: types.StringType,
- Computed: true,
- },
- "rotating_password_required": schema.BoolAttribute{
- Computed: true,
- },
- "record_trail": schema.BoolAttribute{
- Computed: true,
- },
- "private_group": schema.BoolAttribute{
- Computed: true,
- },
- "hide_audit_trail": schema.BoolAttribute{
- Computed: true,
- },
- "application_administration": schema.BoolAttribute{
- Computed: true,
- },
- "auditor": schema.BoolAttribute{
- Computed: true,
- },
- "single_managed": schema.BoolAttribute{
- Computed: true,
- },
- "provisioning_auth_groupuuid": schema.StringAttribute{
- Computed: true,
- },
- "membership_auth_groupuuid": schema.StringAttribute{
- Computed: true,
- },
- "auditing_auth_groupuuid": schema.StringAttribute{
- Computed: true,
- },
- "nested_under_groupuuid": schema.StringAttribute{
- Computed: true,
- },
- },
- }
-}
-
-func (d *groupDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) {
- // Prevent panic if the provider has not been configured.
- if req.ProviderData == nil {
- return
- }
-
- client, ok := req.ProviderData.(*keyhub.KeyHubClient)
-
- if !ok {
- resp.Diagnostics.AddError(
- "Unexpected Data Source Configure Type",
- fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
- )
-
- return
- }
-
- d.client = client
-}
-
-func (d *groupDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
- var data GroupDataSourceModel
-
- // Read Terraform configuration data into the model
- resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
-
- if resp.Diagnostics.HasError() {
- return
- }
-
- groups, err := d.client.Group().Get(ctx, &keyhubgroup.GroupRequestBuilderGetRequestConfiguration{
- QueryParameters: &keyhubgroup.GroupRequestBuilderGetQueryParameters{
- Uuid: []string{data.UUID.ValueString()},
- },
- })
- if err != nil {
- resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to read group, got error: %s", err))
- return
- }
- if len(groups.GetItems()) == 0 {
- resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to find group with UUID %s", data.UUID.ValueString()))
- return
- }
- group := groups.GetItems()[0]
-
- data.ID = types.Int64PointerValue(group.GetLinks()[0].GetId())
- data.UUID = types.StringPointerValue(group.GetUuid())
- data.Name = types.StringPointerValue(group.GetName())
- data.Description = types.StringPointerValue(group.GetDescription())
- data.ExtendedAccess = types.StringValue(group.GetExtendedAccess().String())
- data.AuditMonths, _ = types.ListValueFrom(ctx, types.StringType, toMonthsString(group.GetAuditConfig().GetMonths()))
- data.RotatingPasswordRequired = types.BoolPointerValue(group.GetRotatingPasswordRequired())
- data.RecordTrail = types.BoolPointerValue(group.GetRecordTrail())
- data.PrivateGroup = types.BoolPointerValue(group.GetPrivateGroup())
- data.HideAuditTrail = types.BoolPointerValue(group.GetHideAuditTrail())
- data.ApplicationAdministration = types.BoolPointerValue(group.GetApplicationAdministration())
- data.Auditor = types.BoolPointerValue(group.GetAuditor())
- data.SingleManaged = types.BoolPointerValue(group.GetSingleManaged())
- if group.GetAuthorizingGroupProvisioning() == nil {
- data.ProvisioningAuthGroupUUID = types.StringNull()
- } else {
- data.ProvisioningAuthGroupUUID = types.StringPointerValue(group.GetAuthorizingGroupProvisioning().GetUuid())
- }
- if group.GetAuthorizingGroupMembership() == nil {
- data.MembershipAuthGroupUUID = types.StringNull()
- } else {
- data.MembershipAuthGroupUUID = types.StringPointerValue(group.GetAuthorizingGroupMembership().GetUuid())
- }
- if group.GetAuthorizingGroupAuditing() == nil {
- data.AuditingAuthGroupUUID = types.StringNull()
- } else {
- data.AuditingAuthGroupUUID = types.StringPointerValue(group.GetAuthorizingGroupAuditing().GetUuid())
- }
- if group.GetNestedUnder() == nil {
- data.NestedUnderGroupUUID = types.StringNull()
- } else {
- data.NestedUnderGroupUUID = types.StringPointerValue(group.GetNestedUnder().GetUuid())
- }
-
- // Save data into Terraform state
- resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
-}
-
-func toMonthsString(months []keyhubmodel.Month) []string {
- ret := make([]string, len(months))
- for _, month := range months {
- ret = append(ret, month.String())
- }
- return ret
-}
diff --git a/internal/provider/group_data_source_test.go b/internal/provider/group_data_source_test.go
deleted file mode 100644
index 5185574..0000000
--- a/internal/provider/group_data_source_test.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (c) HashiCorp, Inc.
-// SPDX-License-Identifier: MPL-2.0
-
-package provider
-
-import (
- "testing"
-
- "github.com/hashicorp/terraform-plugin-testing/helper/resource"
-)
-
-func TestAccExampleDataSource(t *testing.T) {
- resource.Test(t, resource.TestCase{
- PreCheck: func() { testAccPreCheck(t) },
- ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
- Steps: []resource.TestStep{
- // Read testing
- {
- Config: testAccGroupDataSourceConfig,
- Check: resource.ComposeAggregateTestCheckFunc(
- resource.TestCheckResourceAttr("data.keyhub_group.test", "id", "example-id"),
- ),
- },
- },
- })
-}
-
-const testAccGroupDataSourceConfig = `
-data "keyhub_group" "test" {
- uuid = "c20a6ed4-1ae5-4a9f-91b5-2f56f5a1522f"
-}
-`
diff --git a/internal/provider/provider.go b/internal/provider/provider.go
index c0f167c..383e9b0 100644
--- a/internal/provider/provider.go
+++ b/internal/provider/provider.go
@@ -14,6 +14,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/provider/schema"
"github.com/hashicorp/terraform-plugin-framework/resource"
"github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
keyhub "github.com/topicuskeyhub/sdk-go"
)
@@ -28,6 +29,8 @@ type KeyHubProvider struct {
version string
}
+const ProviderName = "keyhubpreview"
+
// KeyHubProviderModel describes the provider data model.
type KeyHubProviderModel struct {
Issuer types.String `tfsdk:"issuer"`
@@ -36,8 +39,9 @@ type KeyHubProviderModel struct {
}
func (p *KeyHubProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse) {
- resp.TypeName = "keyhub"
+ resp.TypeName = ProviderName
resp.Version = p.version
+ tflog.Info(ctx, "Provider name set to "+resp.TypeName)
}
func (p *KeyHubProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse) {
@@ -142,8 +146,13 @@ func (p *KeyHubProvider) Configure(ctx context.Context, req provider.ConfigureRe
if resp.Diagnostics.HasError() {
return
}
+ ctx = tflog.SetField(ctx, "keyhub_issuer", issuer)
+ ctx = tflog.SetField(ctx, "keyhub_clientid", clientid)
+ ctx = tflog.SetField(ctx, "keyhub_clientsecret", clientsecret)
+ ctx = tflog.MaskFieldValuesWithFieldKeys(ctx, "keyhub_clientsecret")
- adapter, err := keyhub.NewKeyHubRequestAdapter(http.DefaultClient, issuer, clientid, clientsecret)
+ tflog.Info(ctx, "Connecting to Topicus KeyHub")
+ adapter, err := keyhub.NewKeyHubRequestAdapter(&http.Client{}, issuer, clientid, clientsecret)
if err != nil {
resp.Diagnostics.AddError(
"Unable to create Topicus KeyHub API client",
@@ -157,17 +166,34 @@ func (p *KeyHubProvider) Configure(ctx context.Context, req provider.ConfigureRe
client := keyhub.NewKeyHubClient(adapter)
resp.DataSourceData = client
resp.ResourceData = client
+
+ tflog.Info(ctx, "Connected to Topicus KeyHub", map[string]any{"success": true})
}
func (p *KeyHubProvider) Resources(ctx context.Context) []func() resource.Resource {
return []func() resource.Resource{
- NewExampleResource,
+ NewClientapplicationResource,
+ NewClientVaultrecordResource,
+ NewGroupVaultrecordResource,
+ NewGroupResource,
+ NewGrouponsystemResource,
+ NewServiceaccountResource,
}
}
func (p *KeyHubProvider) DataSources(ctx context.Context) []func() datasource.DataSource {
return []func() datasource.DataSource{
+ NewAccountDataSource,
+ NewCertificateDataSource,
+ NewClientDataSource,
+ NewDirectoryDataSource,
NewGroupDataSource,
+ NewGroupclassificationDataSource,
+ NewOrganizationalunitDataSource,
+ NewServiceaccountDataSource,
+ NewSystemDataSource,
+ NewVaultrecordDataSource,
+ NewWebhookDataSource,
}
}
diff --git a/internal/provider/provider_test.go b/internal/provider/provider_test.go
deleted file mode 100644
index ef6599b..0000000
--- a/internal/provider/provider_test.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (c) HashiCorp, Inc.
-// SPDX-License-Identifier: MPL-2.0
-
-package provider
-
-import (
- "testing"
-
- "github.com/hashicorp/terraform-plugin-framework/providerserver"
- "github.com/hashicorp/terraform-plugin-go/tfprotov6"
-)
-
-// testAccProtoV6ProviderFactories are used to instantiate a provider during
-// acceptance testing. The factory function will be invoked for every Terraform
-// CLI command executed to create a provider server to which the CLI can
-// reattach.
-var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){
- "scaffolding": providerserver.NewProtocol6WithError(New("test")()),
-}
-
-func testAccPreCheck(t *testing.T) {
- // You can add code here to run prior to any test case execution, for example assertions
- // about the appropriate environment variables being set are common to see in a pre-check
- // function.
-}
diff --git a/internal/provider/resource-client_vaultrecord.go b/internal/provider/resource-client_vaultrecord.go
new file mode 100644
index 0000000..f7d5d21
--- /dev/null
+++ b/internal/provider/resource-client_vaultrecord.go
@@ -0,0 +1,225 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/hashicorp/terraform-plugin-framework/path"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/client"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ resource.Resource = &clientVaultrecordResource{}
+ _ resource.ResourceWithImportState = &clientVaultrecordResource{}
+ _ resource.ResourceWithConfigure = &clientVaultrecordResource{}
+)
+
+func NewClientVaultrecordResource() resource.Resource {
+ return &clientVaultrecordResource{}
+}
+
+type clientVaultrecordResource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (r *clientVaultrecordResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_client_vaultrecord"
+ tflog.Info(ctx, "Registred resource "+resp.TypeName)
+}
+
+func (r *clientVaultrecordResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: resourceSchemaAttrsClientApplicationVaultVaultRecord(true),
+ }
+}
+
+func (r *clientVaultrecordResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ r.client = client
+}
+
+func (r *clientVaultrecordResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
+ var data clientApplicationVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, clientApplicationVaultVaultRecordAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSClientApplicationVaultVaultRecord(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Creating Topicus KeyHub client_vaultrecord")
+ newWrapper := keyhubmodels.NewVaultVaultRecordLinkableWrapper()
+ newWrapper.SetItems([]keyhubmodels.VaultVaultRecordable{newTkh})
+ tkhParent, diags := findClientClientApplicationPrimerByUUID(ctx, data.ClientApplicationUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ wrapper, err := r.client.Client().ByClientidInt64(*tkhParent.GetLinks()[0].GetId()).Vault().Record().Post(
+ ctx, newWrapper, &keyhubreq.ItemVaultRecordRequestBuilderPostRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemVaultRecordRequestBuilderPostQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+ tkh, diags := findFirst[keyhubmodels.VaultVaultRecordable](ctx, wrapper, "client_vaultrecord", nil, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSClientApplicationVaultVaultRecord(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "client_application_uuid", types.StringValue(data.ClientApplicationUUID.ValueString()))
+ fillDataStructFromTFObjectRSClientApplicationVaultVaultRecord(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+
+ tflog.Info(ctx, "Created a new Topicus KeyHub client_vaultrecord")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *clientVaultrecordResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
+ var data clientApplicationVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Reading client_vaultrecord from Topicus KeyHub")
+ tkhParent, diags := findClientClientApplicationPrimerByUUID(ctx, data.ClientApplicationUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tkh, err := r.client.Client().ByClientidInt64(*tkhParent.GetLinks()[0].GetId()).Vault().Record().ByRecordidInt64(getSelfLink(data.Links).ID.ValueInt64()).Get(
+ ctx, &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderGetQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSClientApplicationVaultVaultRecord(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "client_application_uuid", types.StringValue(data.ClientApplicationUUID.ValueString()))
+ fillDataStructFromTFObjectRSClientApplicationVaultVaultRecord(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *clientVaultrecordResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
+ var data clientApplicationVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, clientApplicationVaultVaultRecordAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSClientApplicationVaultVaultRecord(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Updating Topicus KeyHub client_vaultrecord")
+ tkhParent, diags := findClientClientApplicationPrimerByUUID(ctx, data.ClientApplicationUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tkh, err := r.client.Client().ByClientidInt64(*tkhParent.GetLinks()[0].GetId()).Vault().Record().ByRecordidInt64(getSelfLink(data.Links).ID.ValueInt64()).Put(
+ ctx, newTkh, &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderPutRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderPutQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSClientApplicationVaultVaultRecord(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "client_application_uuid", types.StringValue(data.ClientApplicationUUID.ValueString()))
+ fillDataStructFromTFObjectRSClientApplicationVaultVaultRecord(&data, tf)
+
+ tflog.Info(ctx, "Updated a Topicus KeyHub client_vaultrecord")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *clientVaultrecordResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
+ var data clientApplicationVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Deleting client_vaultrecord from Topicus KeyHub")
+ err := r.client.Client().ByClientidInt64(-1).Vault().Record().ByRecordidInt64(-1).WithUrl(getSelfLink(data.Links).Href.ValueString()).Delete(ctx, nil)
+ if !isHttpStatusCodeOk(ctx, 404, err, &resp.Diagnostics) {
+ return
+ }
+ tflog.Info(ctx, "Deleted client_vaultrecord from Topicus KeyHub")
+}
+
+func (r *clientVaultrecordResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
+ resource.ImportStatePassthroughID(ctx, path.Root("uuid"), req, resp)
+}
diff --git a/internal/provider/resource-clientapplication.go b/internal/provider/resource-clientapplication.go
new file mode 100644
index 0000000..b259462
--- /dev/null
+++ b/internal/provider/resource-clientapplication.go
@@ -0,0 +1,153 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/hashicorp/terraform-plugin-framework/path"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/client"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ resource.Resource = &clientapplicationResource{}
+ _ resource.ResourceWithImportState = &clientapplicationResource{}
+ _ resource.ResourceWithConfigure = &clientapplicationResource{}
+)
+
+func NewClientapplicationResource() resource.Resource {
+ return &clientapplicationResource{}
+}
+
+type clientapplicationResource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (r *clientapplicationResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_clientapplication"
+ tflog.Info(ctx, "Registred resource "+resp.TypeName)
+}
+
+func (r *clientapplicationResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: resourceSchemaAttrsClientClientApplication(true),
+ }
+}
+
+func (r *clientapplicationResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ r.client = client
+}
+
+func (r *clientapplicationResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
+ var data clientClientApplicationDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, clientClientApplicationAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSClientClientApplication(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Creating Topicus KeyHub clientapplication")
+ newWrapper := keyhubmodels.NewClientClientApplicationLinkableWrapper()
+ newWrapper.SetItems([]keyhubmodels.ClientClientApplicationable{newTkh})
+ wrapper, err := r.client.Client().Post(
+ ctx, newWrapper, &keyhubreq.ClientRequestBuilderPostRequestConfiguration{
+ QueryParameters: &keyhubreq.ClientRequestBuilderPostQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+ tkh, diags := findFirst[keyhubmodels.ClientClientApplicationable](ctx, wrapper, "clientapplication", nil, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSClientClientApplication(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ fillDataStructFromTFObjectRSClientClientApplication(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+
+ tflog.Info(ctx, "Created a new Topicus KeyHub clientapplication")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *clientapplicationResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
+ var data clientClientApplicationDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Reading clientapplication from Topicus KeyHub")
+ tkh, err := r.client.Client().ByClientidInt64(getSelfLink(data.Links).ID.ValueInt64()).Get(
+ ctx, &keyhubreq.WithClientItemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.WithClientItemRequestBuilderGetQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSClientClientApplication(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ fillDataStructFromTFObjectRSClientClientApplication(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *clientapplicationResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
+ resp.Diagnostics.AddError("Cannot update a clientapplication", "Topicus KeyHub does not support updating a clientapplication via Terraform. The requested changes are not applied.")
+}
+
+func (r *clientapplicationResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
+ resp.Diagnostics.AddError("Cannot delete a clientapplication", "Topicus KeyHub does not support deleting a clientapplication via Terraform. The requested changes are not applied.")
+}
+
+func (r *clientapplicationResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
+ resource.ImportStatePassthroughID(ctx, path.Root("uuid"), req, resp)
+}
diff --git a/internal/provider/resource-group.go b/internal/provider/resource-group.go
new file mode 100644
index 0000000..bc5d1b4
--- /dev/null
+++ b/internal/provider/resource-group.go
@@ -0,0 +1,153 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/hashicorp/terraform-plugin-framework/path"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/group"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ resource.Resource = &groupResource{}
+ _ resource.ResourceWithImportState = &groupResource{}
+ _ resource.ResourceWithConfigure = &groupResource{}
+)
+
+func NewGroupResource() resource.Resource {
+ return &groupResource{}
+}
+
+type groupResource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (r *groupResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_group"
+ tflog.Info(ctx, "Registred resource "+resp.TypeName)
+}
+
+func (r *groupResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: resourceSchemaAttrsGroupGroup(true),
+ }
+}
+
+func (r *groupResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ r.client = client
+}
+
+func (r *groupResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
+ var data groupGroupDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, groupGroupAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSGroupGroup(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Creating Topicus KeyHub group")
+ newWrapper := keyhubmodels.NewGroupGroupLinkableWrapper()
+ newWrapper.SetItems([]keyhubmodels.GroupGroupable{newTkh})
+ wrapper, err := r.client.Group().Post(
+ ctx, newWrapper, &keyhubreq.GroupRequestBuilderPostRequestConfiguration{
+ QueryParameters: &keyhubreq.GroupRequestBuilderPostQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+ tkh, diags := findFirst[keyhubmodels.GroupGroupable](ctx, wrapper, "group", nil, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSGroupGroup(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ fillDataStructFromTFObjectRSGroupGroup(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+
+ tflog.Info(ctx, "Created a new Topicus KeyHub group")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *groupResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
+ var data groupGroupDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Reading group from Topicus KeyHub")
+ tkh, err := r.client.Group().ByGroupidInt64(getSelfLink(data.Links).ID.ValueInt64()).Get(
+ ctx, &keyhubreq.WithGroupItemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.WithGroupItemRequestBuilderGetQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSGroupGroup(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ fillDataStructFromTFObjectRSGroupGroup(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *groupResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
+ resp.Diagnostics.AddError("Cannot update a group", "Topicus KeyHub does not support updating a group via Terraform. The requested changes are not applied.")
+}
+
+func (r *groupResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
+ resp.Diagnostics.AddError("Cannot delete a group", "Topicus KeyHub does not support deleting a group via Terraform. The requested changes are not applied.")
+}
+
+func (r *groupResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
+ resource.ImportStatePassthroughID(ctx, path.Root("uuid"), req, resp)
+}
diff --git a/internal/provider/resource-group_vaultrecord.go b/internal/provider/resource-group_vaultrecord.go
new file mode 100644
index 0000000..06dca83
--- /dev/null
+++ b/internal/provider/resource-group_vaultrecord.go
@@ -0,0 +1,225 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/hashicorp/terraform-plugin-framework/path"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/group"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ resource.Resource = &groupVaultrecordResource{}
+ _ resource.ResourceWithImportState = &groupVaultrecordResource{}
+ _ resource.ResourceWithConfigure = &groupVaultrecordResource{}
+)
+
+func NewGroupVaultrecordResource() resource.Resource {
+ return &groupVaultrecordResource{}
+}
+
+type groupVaultrecordResource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (r *groupVaultrecordResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_group_vaultrecord"
+ tflog.Info(ctx, "Registred resource "+resp.TypeName)
+}
+
+func (r *groupVaultrecordResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: resourceSchemaAttrsGroupVaultVaultRecord(true),
+ }
+}
+
+func (r *groupVaultrecordResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ r.client = client
+}
+
+func (r *groupVaultrecordResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
+ var data groupVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, groupVaultVaultRecordAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSGroupVaultVaultRecord(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Creating Topicus KeyHub group_vaultrecord")
+ newWrapper := keyhubmodels.NewVaultVaultRecordLinkableWrapper()
+ newWrapper.SetItems([]keyhubmodels.VaultVaultRecordable{newTkh})
+ tkhParent, diags := findGroupGroupPrimerByUUID(ctx, data.GroupUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ wrapper, err := r.client.Group().ByGroupidInt64(*tkhParent.GetLinks()[0].GetId()).Vault().Record().Post(
+ ctx, newWrapper, &keyhubreq.ItemVaultRecordRequestBuilderPostRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemVaultRecordRequestBuilderPostQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+ tkh, diags := findFirst[keyhubmodels.VaultVaultRecordable](ctx, wrapper, "group_vaultrecord", nil, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSGroupVaultVaultRecord(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "group_uuid", types.StringValue(data.GroupUUID.ValueString()))
+ fillDataStructFromTFObjectRSGroupVaultVaultRecord(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+
+ tflog.Info(ctx, "Created a new Topicus KeyHub group_vaultrecord")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *groupVaultrecordResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
+ var data groupVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Reading group_vaultrecord from Topicus KeyHub")
+ tkhParent, diags := findGroupGroupPrimerByUUID(ctx, data.GroupUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tkh, err := r.client.Group().ByGroupidInt64(*tkhParent.GetLinks()[0].GetId()).Vault().Record().ByRecordidInt64(getSelfLink(data.Links).ID.ValueInt64()).Get(
+ ctx, &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderGetQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSGroupVaultVaultRecord(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "group_uuid", types.StringValue(data.GroupUUID.ValueString()))
+ fillDataStructFromTFObjectRSGroupVaultVaultRecord(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *groupVaultrecordResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
+ var data groupVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, groupVaultVaultRecordAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSGroupVaultVaultRecord(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Updating Topicus KeyHub group_vaultrecord")
+ tkhParent, diags := findGroupGroupPrimerByUUID(ctx, data.GroupUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tkh, err := r.client.Group().ByGroupidInt64(*tkhParent.GetLinks()[0].GetId()).Vault().Record().ByRecordidInt64(getSelfLink(data.Links).ID.ValueInt64()).Put(
+ ctx, newTkh, &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderPutRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemVaultRecordWithRecordItemRequestBuilderPutQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSGroupVaultVaultRecord(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "group_uuid", types.StringValue(data.GroupUUID.ValueString()))
+ fillDataStructFromTFObjectRSGroupVaultVaultRecord(&data, tf)
+
+ tflog.Info(ctx, "Updated a Topicus KeyHub group_vaultrecord")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *groupVaultrecordResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
+ var data groupVaultVaultRecordDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Deleting group_vaultrecord from Topicus KeyHub")
+ err := r.client.Group().ByGroupidInt64(-1).Vault().Record().ByRecordidInt64(-1).WithUrl(getSelfLink(data.Links).Href.ValueString()).Delete(ctx, nil)
+ if !isHttpStatusCodeOk(ctx, 404, err, &resp.Diagnostics) {
+ return
+ }
+ tflog.Info(ctx, "Deleted group_vaultrecord from Topicus KeyHub")
+}
+
+func (r *groupVaultrecordResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
+ resource.ImportStatePassthroughID(ctx, path.Root("uuid"), req, resp)
+}
diff --git a/internal/provider/resource-grouponsystem.go b/internal/provider/resource-grouponsystem.go
new file mode 100644
index 0000000..d19db29
--- /dev/null
+++ b/internal/provider/resource-grouponsystem.go
@@ -0,0 +1,167 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/hashicorp/terraform-plugin-framework/path"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/system"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ resource.Resource = &grouponsystemResource{}
+ _ resource.ResourceWithImportState = &grouponsystemResource{}
+ _ resource.ResourceWithConfigure = &grouponsystemResource{}
+)
+
+func NewGrouponsystemResource() resource.Resource {
+ return &grouponsystemResource{}
+}
+
+type grouponsystemResource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (r *grouponsystemResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_grouponsystem"
+ tflog.Info(ctx, "Registred resource "+resp.TypeName)
+}
+
+func (r *grouponsystemResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: resourceSchemaAttrsNestedProvisioningGroupOnSystem(true),
+ }
+}
+
+func (r *grouponsystemResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ r.client = client
+}
+
+func (r *grouponsystemResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
+ var data nestedProvisioningGroupOnSystemDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, nestedProvisioningGroupOnSystemAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSNestedProvisioningGroupOnSystem(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Creating Topicus KeyHub grouponsystem")
+ newWrapper := keyhubmodels.NewProvisioningGroupOnSystemLinkableWrapper()
+ newWrapper.SetItems([]keyhubmodels.ProvisioningGroupOnSystemable{newTkh})
+ tkhParent, diags := findProvisioningProvisionedSystemPrimerByUUID(ctx, data.ProvisionedSystemUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ wrapper, err := r.client.System().BySystemidInt64(*tkhParent.GetLinks()[0].GetId()).Group().Post(
+ ctx, newWrapper, &keyhubreq.ItemGroupRequestBuilderPostRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemGroupRequestBuilderPostQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+ tkh, diags := findFirst[keyhubmodels.ProvisioningGroupOnSystemable](ctx, wrapper, "grouponsystem", nil, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSNestedProvisioningGroupOnSystem(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "provisioned_system_uuid", types.StringValue(data.ProvisionedSystemUUID.ValueString()))
+ fillDataStructFromTFObjectRSNestedProvisioningGroupOnSystem(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+
+ tflog.Info(ctx, "Created a new Topicus KeyHub grouponsystem")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *grouponsystemResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
+ var data nestedProvisioningGroupOnSystemDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Reading grouponsystem from Topicus KeyHub")
+ tkhParent, diags := findProvisioningProvisionedSystemPrimerByUUID(ctx, data.ProvisionedSystemUUID.ValueStringPointer())
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tkh, err := r.client.System().BySystemidInt64(*tkhParent.GetLinks()[0].GetId()).Group().ByGroupidInt64(getSelfLink(data.Links).ID.ValueInt64()).Get(
+ ctx, &keyhubreq.ItemGroupWithGroupItemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.ItemGroupWithGroupItemRequestBuilderGetQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSNestedProvisioningGroupOnSystem(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ tf = setAttributeValue(ctx, tf, "provisioned_system_uuid", types.StringValue(data.ProvisionedSystemUUID.ValueString()))
+ fillDataStructFromTFObjectRSNestedProvisioningGroupOnSystem(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *grouponsystemResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
+ resp.Diagnostics.AddError("Cannot update a grouponsystem", "Topicus KeyHub does not support updating a grouponsystem via Terraform. The requested changes are not applied.")
+}
+
+func (r *grouponsystemResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
+ resp.Diagnostics.AddError("Cannot delete a grouponsystem", "Topicus KeyHub does not support deleting a grouponsystem via Terraform. The requested changes are not applied.")
+}
+
+func (r *grouponsystemResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
+ resource.ImportStatePassthroughID(ctx, path.Root("uuid"), req, resp)
+}
diff --git a/internal/provider/resource-serviceaccount.go b/internal/provider/resource-serviceaccount.go
new file mode 100644
index 0000000..eae7269
--- /dev/null
+++ b/internal/provider/resource-serviceaccount.go
@@ -0,0 +1,192 @@
+// Code generated by "terraform-provider-keyhub-generator"; DO NOT EDIT.
+
+package provider
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/hashicorp/terraform-plugin-framework/path"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-plugin-log/tflog"
+ keyhub "github.com/topicuskeyhub/sdk-go"
+ keyhubmodels "github.com/topicuskeyhub/sdk-go/models"
+ keyhubreq "github.com/topicuskeyhub/sdk-go/serviceaccount"
+)
+
+// Ensure provider defined types fully satisfy framework interfaces.
+var (
+ _ resource.Resource = &serviceaccountResource{}
+ _ resource.ResourceWithImportState = &serviceaccountResource{}
+ _ resource.ResourceWithConfigure = &serviceaccountResource{}
+)
+
+func NewServiceaccountResource() resource.Resource {
+ return &serviceaccountResource{}
+}
+
+type serviceaccountResource struct {
+ client *keyhub.KeyHubClient
+}
+
+func (r *serviceaccountResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
+ resp.TypeName = ProviderName + "_serviceaccount"
+ tflog.Info(ctx, "Registred resource "+resp.TypeName)
+}
+
+func (r *serviceaccountResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
+ resp.Schema = schema.Schema{
+ Attributes: resourceSchemaAttrsServiceaccountServiceAccount(true),
+ }
+}
+
+func (r *serviceaccountResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
+ // Prevent panic if the provider has not been configured.
+ if req.ProviderData == nil {
+ return
+ }
+
+ client, ok := req.ProviderData.(*keyhub.KeyHubClient)
+
+ if !ok {
+ resp.Diagnostics.AddError(
+ "Unexpected Data Source Configure Type",
+ fmt.Sprintf("Expected *keyhub.KeyHubClient, got: %T. Please report this issue to the provider developers.", req.ProviderData),
+ )
+
+ return
+ }
+
+ r.client = client
+}
+
+func (r *serviceaccountResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
+ var data serviceaccountServiceAccountDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, serviceaccountServiceAccountAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSServiceaccountServiceAccount(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Creating Topicus KeyHub serviceaccount")
+ newWrapper := keyhubmodels.NewServiceaccountServiceAccountLinkableWrapper()
+ newWrapper.SetItems([]keyhubmodels.ServiceaccountServiceAccountable{newTkh})
+ wrapper, err := r.client.Serviceaccount().Post(
+ ctx, newWrapper, &keyhubreq.ServiceaccountRequestBuilderPostRequestConfiguration{
+ QueryParameters: &keyhubreq.ServiceaccountRequestBuilderPostQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+ tkh, diags := findFirst[keyhubmodels.ServiceaccountServiceAccountable](ctx, wrapper, "serviceaccount", nil, err)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSServiceaccountServiceAccount(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ fillDataStructFromTFObjectRSServiceaccountServiceAccount(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+
+ tflog.Info(ctx, "Created a new Topicus KeyHub serviceaccount")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *serviceaccountResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
+ var data serviceaccountServiceAccountDataRS
+ resp.Diagnostics.Append(req.State.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ tflog.Info(ctx, "Reading serviceaccount from Topicus KeyHub")
+ tkh, err := r.client.Serviceaccount().ByServiceaccountidInt64(getSelfLink(data.Links).ID.ValueInt64()).Get(
+ ctx, &keyhubreq.WithServiceaccountItemRequestBuilderGetRequestConfiguration{
+ QueryParameters: &keyhubreq.WithServiceaccountItemRequestBuilderGetQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSServiceaccountServiceAccount(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ fillDataStructFromTFObjectRSServiceaccountServiceAccount(&data, tf)
+
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *serviceaccountResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
+ var data serviceaccountServiceAccountDataRS
+ resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ ctx = context.WithValue(ctx, keyHubClientKey, r.client)
+ obj, diags := types.ObjectValueFrom(ctx, serviceaccountServiceAccountAttrTypesRSRecurse, data)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ newTkh, diags := tfObjectToTKHRSServiceaccountServiceAccount(ctx, true, obj)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+
+ tflog.Info(ctx, "Updating Topicus KeyHub serviceaccount")
+ tkh, err := r.client.Serviceaccount().ByServiceaccountidInt64(getSelfLink(data.Links).ID.ValueInt64()).Put(
+ ctx, newTkh, &keyhubreq.WithServiceaccountItemRequestBuilderPutRequestConfiguration{
+ QueryParameters: &keyhubreq.WithServiceaccountItemRequestBuilderPutQueryParameters{
+ Additional: collectAdditional(data),
+ },
+ })
+
+ if !isHttpStatusCodeOk(ctx, -1, err, &resp.Diagnostics) {
+ return
+ }
+
+ tf, diags := tkhToTFObjectRSServiceaccountServiceAccount(true, tkh)
+ resp.Diagnostics.Append(diags...)
+ if resp.Diagnostics.HasError() {
+ return
+ }
+ fillDataStructFromTFObjectRSServiceaccountServiceAccount(&data, tf)
+
+ tflog.Info(ctx, "Updated a Topicus KeyHub serviceaccount")
+ resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
+}
+
+func (r *serviceaccountResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
+ resp.Diagnostics.AddError("Cannot delete a serviceaccount", "Topicus KeyHub does not support deleting a serviceaccount via Terraform. The requested changes are not applied.")
+}
+
+func (r *serviceaccountResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
+ resource.ImportStatePassthroughID(ctx, path.Root("uuid"), req, resp)
+}
diff --git a/main.go b/main.go
index ac2195a..7a3b3a1 100644
--- a/main.go
+++ b/main.go
@@ -9,10 +9,46 @@ import (
"log"
"github.com/hashicorp/terraform-plugin-framework/providerserver"
- "github.com/topicuskeyhub/terraform-provider-keyhub-preview/internal/provider"
+ "github.com/topicuskeyhub/terraform-provider-keyhubpreview/internal/provider"
)
-// Run "go generate" to format example terraform files and generate the docs for the registry/website
+// Run "go generate" to generate the source code, format example terraform files and generate the docs for the registry/website
+
+// no UUID
+// info
+// launchpadtile
+// numberseq
+// groupclient
+// provisioninggroup
+
+// sub resources
+// directory/{directoryid}/internalaccount
+// account/{accountid}/group
+// account/{accountid}/organizationalunit
+// client/{clientid}/permission
+// group/{groupid}/account
+// organizationalunit/{organizationalunitid}/account
+// system/{systemid}/group
+// serviceaccount/{accountid}/group
+
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode model
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource account --linkable authAccount
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource certificate --linkable certificateCertificate
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource client --linkable clientClientApplication
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource directory --linkable directoryAccountDirectory
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource group --linkable groupGroup
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource groupclassification --linkable groupGroupClassification
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource organizationalunit --linkable organizationOrganizationalUnit
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource serviceaccount --linkable serviceaccountServiceAccount
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource system --linkable provisioningProvisionedSystem
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource vaultrecord --linkable vaultVaultRecord
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode data --resource webhook --linkable webhookWebhook
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode resource --resource clientapplication
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode resource --resource client_vaultrecord
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode resource --resource group_vaultrecord
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode resource --resource group
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode resource --resource grouponsystem
+//go:generate go run github.com/topicuskeyhub/terraform-provider-keyhub-generator@v0.0.5 --mode resource --resource serviceaccount
// If you do not have terraform installed, you can remove the formatting command, but its suggested to
// ensure the documentation is formatted properly.
@@ -38,7 +74,7 @@ func main() {
flag.Parse()
opts := providerserver.ServeOpts{
- Address: "registry.terraform.io/hashicorp/keyhub-preview",
+ Address: "registry.terraform.io/hashicorp/keyhubpreview",
Debug: debug,
}