M365ConfigurationDataExample.psd1

# (2023-12-07 01:11:24) Generated using Microsoft365DSC v1.23.1206.1
@{
    AllNodes = @(
        @{
            NodeName = 'localhost'
            CertificateFile = '.\DSCCertificate.cer'
        }
    )
    NonNodeData = @{
        Environment = @{
            OrganizationName = '[Name of your organization, e.g. Test]'
            TenantId = '[Tenant URL, e.g. test.onmicrosoft.com]'
            Name = '[Name of your environment, e.g. Test]'
            ShortName = '[Abbreviation of the environment name, e.g. TST]'
        }
        AppCredentials = @(
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'AzureAD'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'Exchange'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'Intune'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'Office365'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'OneDrive'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'Planner'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'PowerPlatform'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'SecurityCompliance'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'SharePoint'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
            @{
                ApplicationId = '878459e4-79e4-4f9a-83d6-738c32ddd5c2'
                Workload = 'Teams'
                CertThumbprint = '65E427769F27CDA198231B2A7FF03940897FB687'
            }
        )
        AzureAD = @{
            AdministrativeUnits = @(
                @{
                    Visibility = 'String | Optional'
                    MembershipType = 'String | Optional'
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ScopedRoleMembers = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            RoleName = 'String | Optional'
                            RoleMemberInfo = @{
                                Type = 'String | Optional | User / Group / Device / ServicePrincipal'
                                Identity = 'String | Optional'
                            }
                        }
                    )
                    MembershipRule = 'String | Optional'
                    Members = @(
                        @{
                            Type = 'String | Optional | User / Group / Device / ServicePrincipal'
                            Identity = 'String | Optional'
                        }
                    )
                    MembershipRuleProcessingState = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            Applications = @(
                @{
                    IdentifierUris = 'StringArray | Optional'
                    Owners = 'StringArray | Optional'
                    PublicClient = 'Boolean | Optional'
                    Permissions = @(
                        @{
                            AdminConsentGranted = 'Boolean | Optional'
                            Type = 'String | Optional | AppOnly / Delegated'
                            Name = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            SourceAPI = 'String | Optional'
                        }
                    )
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    AppId = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    AvailableToOtherTenants = 'Boolean | Optional'
                    KnownClientApplications = 'StringArray | Optional'
                    IsFallbackPublicClient = 'Boolean | Optional'
                    GroupMembershipClaims = 'String | Optional'
                    ObjectId = 'String | Optional'
                    LogoutURL = 'String | Optional'
                    Homepage = 'String | Optional'
                    ReplyURLs = 'StringArray | Optional'
                }
            )
            AttributeSets = @(
                @{
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    MaxAttributesPerSet = 'UInt32 | Optional'
                    Id = 'String | Required'
                }
            )
            AuthenticationContextClassReferences = @(
                @{
                    IsAvailable = 'Boolean | Optional'
                    DisplayName = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    Id = 'String | Required | c1 / c2 / c3 / c4 / c5 / c6 / c7 / c8 / c9 / c10 / c11 / c12 / c13 / c14 / c15 / c16 / c17 / c18 / c19 / c20 / c21 / c22 / c23 / c24 / c25'
                }
            )
            AuthenticationMethodPolicies = @(
                @{
                    Id = 'String | Optional'
                    PolicyMigrationState = 'String | Optional | preMigration / migrationInProgress / migrationComplete / unknownFutureValue'
                    Ensure = 'String | Optional | Present / Absent'
                    ReconfirmationInDays = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    PolicyVersion = 'String | Optional'
                    RegistrationEnforcement = @{
                        AuthenticationMethodsRegistrationCampaign = @{
                            SnoozeDurationInDays = 'UInt32 | Optional'
                            ExcludeTargets = @(
                                @{
                                    Id = 'String | Optional'
                                    TargetType = 'String | Optional | user / group / unknownFutureValue'
                                }
                            )
                            IncludeTargets = @(
                                @{
                                    TargetedAuthenticationMethod = 'String | Optional'
                                    TargetType = 'String | Optional | user / group / unknownFutureValue'
                                    Id = 'String | Optional'
                                }
                            )
                            State = 'String | Optional | default / enabled / disabled / unknownFutureValue'
                        }
                    }
                    SystemCredentialPreferences = @{
                        ExcludeTargets = @(
                            @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | user / group / unknownFutureValue'
                            }
                        )
                        IncludeTargets = @(
                            @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | user / group / unknownFutureValue'
                            }
                        )
                        State = 'String | Optional | default / enabled / disabled / unknownFutureValue'
                    }
                    DisplayName = 'String | Required'
                }
            )
            AuthenticationMethodPoliciesAuthenticator = @(
                @{
                    Id = 'String | Required'
                    FeatureSettings = @{
                        DisplayLocationInformationRequiredState = @{
                            ExcludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            IncludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            State = 'String | Optional | default / enabled / disabled / unknownFutureValue'
                        }
                        NumberMatchingRequiredState = @{
                            ExcludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            IncludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            State = 'String | Optional | default / enabled / disabled / unknownFutureValue'
                        }
                        CompanionAppAllowedState = @{
                            ExcludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            IncludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            State = 'String | Optional | default / enabled / disabled / unknownFutureValue'
                        }
                        DisplayAppInformationRequiredState = @{
                            ExcludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            IncludeTarget = @{
                                Id = 'String | Optional'
                                TargetType = 'String | Optional | group / administrativeUnit / role / unknownFutureValue'
                            }
                            State = 'String | Optional | default / enabled / disabled / unknownFutureValue'
                        }
                    }
                    Ensure = 'String | Optional | Present / Absent'
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    IsSoftwareOathEnabled = 'Boolean | Optional'
                }
            )
            AuthenticationMethodPoliciesEmail = @(
                @{
                    Id = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    AllowExternalIdToUseEmailOtp = 'String | Optional | default / enabled / disabled / unknownFutureValue'
                }
            )
            AuthenticationMethodPoliciesFido2 = @(
                @{
                    Id = 'String | Required'
                    IsSelfServiceRegistrationAllowed = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    IsAttestationEnforced = 'Boolean | Optional'
                    KeyRestrictions = @{
                        IsEnforced = 'Boolean | Optional'
                        EnforcementType = 'String | Optional | allow / block / unknownFutureValue'
                        AaGuids = 'StringArray | Optional'
                    }
                }
            )
            AuthenticationMethodPoliciesSms = @(
                @{
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    Ensure = 'String | Optional | Present / Absent'
                    Id = 'String | Required'
                }
            )
            AuthenticationMethodPoliciesSoftware = @(
                @{
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    Ensure = 'String | Optional | Present / Absent'
                    Id = 'String | Required'
                }
            )
            AuthenticationMethodPolicyTemporaries = @(
                @{
                    MaximumLifetimeInMinutes = 'UInt32 | Optional'
                    Id = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    DefaultLength = 'UInt32 | Optional'
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    MinimumLifetimeInMinutes = 'UInt32 | Optional'
                    DefaultLifetimeInMinutes = 'UInt32 | Optional'
                    IsUsableOnce = 'Boolean | Optional'
                }
            )
            AuthenticationMethodPoliciesVoice = @(
                @{
                    Id = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | user / group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    IsOfficePhoneAllowed = 'Boolean | Optional'
                }
            )
            AuthenticationMethodPoliciesX509 = @(
                @{
                    AuthenticationModeConfiguration = @{
                        Rules = @(
                            @{
                                X509CertificateAuthenticationMode = 'String | Optional | x509CertificateSingleFactor / x509CertificateMultiFactor / unknownFutureValue'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                Identifier = 'String | Optional'
                                X509CertificateRuleType = 'String | Optional | issuerSubject / policyOID / unknownFutureValue'
                            }
                        )
                        X509CertificateAuthenticationDefaultMode = 'String | Optional | x509CertificateSingleFactor / x509CertificateMultiFactor / unknownFutureValue'
                    }
                    Id = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    IncludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | group / unknownFutureValue'
                        }
                    )
                    ExcludeTargets = @(
                        @{
                            Id = 'String | Optional'
                            TargetType = 'String | Optional | group / unknownFutureValue'
                        }
                    )
                    State = 'String | Optional | enabled / disabled'
                    CertificateUserBindings = @(
                        @{
                            Priority = 'UInt32 | Optional'
                            UserProperty = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            X509CertificateField = 'String | Optional'
                        }
                    )
                }
            )
            AuthenticationStrengthPolicies = @(
                @{
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowedCombinations = 'StringArray | Optional'
                    Id = 'String | Optional'
                }
            )
            AuthorizationPolicy = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                DefaultUserRoleAllowedToReadOtherUsers = 'Boolean | Optional'
                GuestUserRole = 'String | Optional | Guest / RestrictedGuest / User'
                DefaultUserRoleAllowedToReadBitlockerKeysForOwnedDevice = 'Boolean | Optional'
                DefaultUserRoleAllowedToCreateTenants = 'Boolean | Optional'
                PermissionGrantPolicyIdsAssignedToDefaultUserRole = 'StringArray | Optional'
                Ensure = 'String | Optional | Present'
                DefaultUserRoleAllowedToCreateSecurityGroups = 'Boolean | Optional'
                Description = 'String | Optional'
                AllowedToSignUpEmailBasedSubscriptions = 'Boolean | Optional'
                DisplayName = 'String | Optional'
                AllowedToUseSSPR = 'Boolean | Optional'
                BlockMsolPowershell = 'Boolean | Optional'
                DefaultUserRoleAllowedToCreateApps = 'Boolean | Optional'
                AllowEmailVerifiedUsersToJoinOrganization = 'Boolean | Optional'
                AllowInvitesFrom = 'String | Optional | None / AdminsAndGuestInviters / AdminsGuestInvitersAndAllMembers / Everyone'
            }
            ConditionalAccessPolicies = @(
                @{
                    PersistentBrowserIsEnabled = 'Boolean | Optional'
                    IncludeApplications = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                    IncludeRoles = 'StringArray | Optional'
                    SignInFrequencyInterval = 'String | Optional | timeBased / everyTime / unknownFutureValue'
                    ApplicationEnforcedRestrictionsIsEnabled = 'Boolean | Optional'
                    UserRiskLevels = 'StringArray | Optional'
                    ExcludeUsers = 'StringArray | Optional'
                    GrantControlOperator = 'String | Optional | AND / OR'
                    Id = 'String | Optional'
                    CustomAuthenticationFactors = 'StringArray | Optional'
                    DeviceFilterMode = 'String | Optional | include / exclude'
                    IncludeExternalTenantsMembers = 'StringArray | Optional'
                    CloudAppSecurityIsEnabled = 'Boolean | Optional'
                    SignInFrequencyIsEnabled = 'Boolean | Optional'
                    IncludeExternalTenantsMembershipKind = 'String | Optional | / all / enumerated / unknownFutureValue'
                    IncludeGroups = 'StringArray | Optional'
                    PersistentBrowserMode = 'String | Optional | Always / Never / '
                    ExcludeGuestOrExternalUserTypes = 'StringArray | Optional | none / internalGuest / b2bCollaborationGuest / b2bCollaborationMember / b2bDirectConnectUser / otherExternalUser / serviceProvider / unknownFutureValue'
                    IncludePlatforms = 'StringArray | Optional'
                    ExcludeGroups = 'StringArray | Optional'
                    ExcludeLocations = 'StringArray | Optional'
                    DeviceFilterRule = 'String | Optional'
                    BuiltInControls = 'StringArray | Optional'
                    IncludeUserActions = 'StringArray | Optional'
                    TermsOfUse = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AuthenticationStrength = 'String | Optional'
                    AuthenticationContexts = 'StringArray | Optional'
                    SignInFrequencyType = 'String | Optional | Days / Hours / '
                    CloudAppSecurityType = 'String | Optional'
                    SignInRiskLevels = 'StringArray | Optional'
                    ExcludeRoles = 'StringArray | Optional'
                    SignInFrequencyValue = 'UInt32 | Optional'
                    ExcludeApplications = 'StringArray | Optional'
                    ExcludeExternalTenantsMembershipKind = 'String | Optional | / all / enumerated / unknownFutureValue'
                    State = 'String | Optional | disabled / enabled / enabledForReportingButNotEnforced'
                    IncludeGuestOrExternalUserTypes = 'StringArray | Optional | none / internalGuest / b2bCollaborationGuest / b2bCollaborationMember / b2bDirectConnectUser / otherExternalUser / serviceProvider / unknownFutureValue'
                    ExcludePlatforms = 'StringArray | Optional'
                    ClientAppTypes = 'StringArray | Optional'
                    IncludeLocations = 'StringArray | Optional'
                    ExcludeExternalTenantsMembers = 'StringArray | Optional'
                    IncludeUsers = 'StringArray | Optional'
                }
            )
            CrossTenantAccessPolicy = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present / Absent'
                DisplayName = 'String | Optional'
                AllowedCloudEndpoints = 'StringArray | Optional | microsoftonline.com / microsoftonline.us / partner.microsoftonline.cn'
            }
            CrossTenantAccessPolicyConfigurationDefault = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present / Absent'
                InboundTrust = @{
                    IsCompliantDeviceAccepted = 'Boolean | Optional'
                    IsHybridAzureADJoinedDeviceAccepted = 'Boolean | Optional'
                    IsMfaAccepted = 'Boolean | Optional'
                }
                B2BCollaborationInbound = @{
                    Applications = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                    UsersAndGroups = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                }
                B2BCollaborationOutbound = @{
                    Applications = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                    UsersAndGroups = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                }
                B2BDirectConnectOutbound = @{
                    Applications = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                    UsersAndGroups = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                }
                B2BDirectConnectInbound = @{
                    Applications = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                    UsersAndGroups = @{
                        AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                        Targets = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                Target = 'String | Optional'
                            }
                        )
                    }
                }
            }
            CrossTenantAccessPoliciesConfigurationPartner = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    PartnerTenantId = 'String | Required'
                    B2BDirectConnectOutbound = @{
                        Applications = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                        UsersAndGroups = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                    }
                    InboundTrust = @{
                        IsCompliantDeviceAccepted = 'Boolean | Optional'
                        IsHybridAzureADJoinedDeviceAccepted = 'Boolean | Optional'
                        IsMfaAccepted = 'Boolean | Optional'
                    }
                    Ensure = 'String | Optional | Present / Absent'
                    B2BCollaborationInbound = @{
                        Applications = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                        UsersAndGroups = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                    }
                    B2BDirectConnectInbound = @{
                        Applications = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                        UsersAndGroups = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                    }
                    B2BCollaborationOutbound = @{
                        Applications = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                        UsersAndGroups = @{
                            AccessType = 'String | Optional | allowed / blocked / unknownFutureValue'
                            Targets = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    TargetType = 'String | Optional | user / group / application / unknownFutureValue'
                                    Target = 'String | Optional'
                                }
                            )
                        }
                    }
                    AutomaticUserConsentSettings = @{
                        InboundAllowed = 'Boolean | Optional'
                        OutboundAllowed = 'Boolean | Optional'
                    }
                }
            )
            EntitlementManagementAccessPackages = @(
                @{
                    IncompatibleAccessPackages = 'StringArray | Optional'
                    IncompatibleGroups = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    CatalogId = 'String | Optional'
                    IsRoleScopesVisible = 'Boolean | Optional'
                    AccessPackageResourceRoleScopes = @(
                        @{
                            AccessPackageResourceRoleDisplayName = 'String | Optional'
                            AccessPackageResourceOriginId = 'String | Optional'
                            Id = 'String | Optional'
                        }
                    )
                    IsHidden = 'Boolean | Optional'
                    AccessPackagesIncompatibleWith = 'StringArray | Optional'
                }
            )
            EntitlementManagementAccessPackageAssignmentPolicies = @(
                @{
                    ExpirationDateTime = 'String | Optional'
                    DisplayName = 'String | Required'
                    AccessReviewSettings = @{
                        IsEnabled = 'Boolean | Optional'
                        StartDateTime = 'String | Optional'
                        IsAccessRecommendationEnabled = 'Boolean | Optional'
                        AccessReviewTimeoutBehavior = 'String | Optional | acceptAccessRecommendation / keepAccess / removeAccess / unknownFutureValue'
                        IsApprovalJustificationRequired = 'Boolean | Optional'
                        RecurrenceType = 'String | Optional'
                        Reviewers = @(
                            @{
                                ManagerLevel = 'UInt32 | Optional'
                                IsBackup = 'Boolean | Optional'
                                Id = 'String | Optional'
                                odataType = 'String | Optional | #microsoft.graph.singleUser / #microsoft.graph.groupMembers / #microsoft.graph.requestorManager / #microsoft.graph.internalSponsors / #microsoft.graph.externalSponsors / #microsoft.graph.connectedOrganizationMembers'
                            }
                        )
                        ReviewerType = 'String | Optional'
                        DurationInDays = 'UInt32 | Optional'
                    }
                    RequestApprovalSettings = @{
                        ApprovalMode = 'String | Optional | SingleStage / Serial / Parallel / NoApproval'
                        IsRequestorJustificationRequired = 'Boolean | Optional'
                        IsApprovalRequiredForExtension = 'Boolean | Optional'
                        ApprovalStages = @(
                            @{
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                IsApproverJustificationRequired = 'Boolean | Optional'
                                EscalationTimeInMinutes = 'UInt32 | Optional'
                                EscalationApprovers = @(
                                    @{
                                        ManagerLevel = 'UInt32 | Optional'
                                        IsBackup = 'Boolean | Optional'
                                        Id = 'String | Optional'
                                        odataType = 'String | Optional | #microsoft.graph.singleUser / #microsoft.graph.groupMembers / #microsoft.graph.requestorManager / #microsoft.graph.internalSponsors / #microsoft.graph.externalSponsors / #microsoft.graph.connectedOrganizationMembers'
                                    }
                                )
                                PrimaryApprovers = @(
                                    @{
                                        ManagerLevel = 'UInt32 | Optional'
                                        IsBackup = 'Boolean | Optional'
                                        Id = 'String | Optional'
                                        odataType = 'String | Optional | #microsoft.graph.singleUser / #microsoft.graph.groupMembers / #microsoft.graph.requestorManager / #microsoft.graph.internalSponsors / #microsoft.graph.externalSponsors / #microsoft.graph.connectedOrganizationMembers'
                                    }
                                )
                                ApprovalStageTimeOutInDays = 'UInt32 | Optional'
                                IsEscalationEnabled = 'Boolean | Optional'
                            }
                        )
                        IsApprovalRequired = 'Boolean | Optional'
                    }
                    CustomExtensionHandlers = @(
                        @{
                            CustomExtensionId = 'String | Optional'
                            Id = 'String | Optional'
                            Stage = 'String | Optional | assignmentRequestCreated / assignmentRequestApproved / assignmentRequestGranted / assignmentRequestRemoved / assignmentFourteenDaysBeforeExpiration / assignmentOneDayBeforeExpiration / unknownFutureValue'
                        }
                    )
                    Ensure = 'String | Optional | Present / Absent'
                    RequestorSettings = @{
                        AllowedRequestors = @(
                            @{
                                ManagerLevel = 'UInt32 | Optional'
                                IsBackup = 'Boolean | Optional'
                                Id = 'String | Optional'
                                odataType = 'String | Optional | #microsoft.graph.singleUser / #microsoft.graph.groupMembers / #microsoft.graph.requestorManager / #microsoft.graph.internalSponsors / #microsoft.graph.externalSponsors / #microsoft.graph.connectedOrganizationMembers'
                            }
                        )
                        AcceptRequests = 'Boolean | Optional'
                        ScopeType = 'String | Optional | NoSubjects / SpecificDirectorySubjects / SpecificConnectedOrganizationSubjects / AllConfiguredConnectedOrganizationSubjects / AllExistingConnectedOrganizationSubjects / AllExistingDirectoryMemberUsers / AllExistingDirectorySubjects / AllExternalSubjects'
                    }
                    AccessPackageId = 'String | Optional'
                    Questions = @(
                        @{
                            AllowsMultipleSelection = 'Boolean | Optional'
                            IsAnswerEditable = 'Boolean | Optional'
                            Id = 'String | Optional'
                            RegexPattern = 'String | Optional'
                            IsSingleLineQuestion = 'Boolean | Optional'
                            QuestionText = @{
                                LocalizedTexts = @(
                                    @{
                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                        Text = 'String | Optional'
                                        LanguageCode = 'String | Optional'
                                    }
                                )
                                DefaultText = 'String | Optional'
                            }
                            IsRequired = 'Boolean | Optional'
                            odataType = 'String | Optional | #microsoft.graph.accessPackageMultipleChoiceQuestion / #microsoft.graph.accessPackageTextInputQuestion'
                            Choices = @(
                                @{
                                    ActualValue = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    displayValue = @{
                                        LocalizedTexts = @(
                                            @{
                                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                Text = 'String | Optional'
                                                LanguageCode = 'String | Optional'
                                            }
                                        )
                                        DefaultText = 'String | Optional'
                                    }
                                }
                            )
                            Sequence = 'UInt32 | Optional'
                        }
                    )
                    DurationInDays = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    CanExtend = 'Boolean | Optional'
                }
            )
            EntitlementManagementAccessPackageCatalogs = @(
                @{
                    IsExternallyVisible = 'Boolean | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    CatalogStatus = 'String | Optional'
                    Description = 'String | Optional'
                    CatalogType = 'String | Optional | UserManaged / ServiceDefault'
                    DisplayName = 'String | Required'
                }
            )
            EntitlementManagementAccessPackageCatalogResources = @(
                @{
                    ResourceType = 'String | Optional'
                    Description = 'String | Optional'
                    AddedBy = 'String | Optional'
                    DisplayName = 'String | Required'
                    OriginId = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Url = 'String | Optional'
                    CatalogId = 'String | Optional'
                    Attributes = @(
                        @{
                            Id = 'String | Optional'
                            AttributeName = 'String | Optional'
                            IsEditable = 'Boolean | Optional'
                            IsPersistedOnAssignmentRemoval = 'Boolean | Optional'
                            AttributeSource = @{
                                odataType = 'String | Optional | #microsoft.graph.accessPackageResourceAttributeQuestion'
                                Question = @{
                                    RegexPattern = 'String | Optional'
                                    Id = 'String | Optional'
                                    QuestionText = @{
                                        LocalizedTexts = @(
                                            @{
                                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                Text = 'String | Optional'
                                                LanguageCode = 'String | Optional'
                                            }
                                        )
                                        DefaultText = 'String | Optional'
                                    }
                                    IsRequired = 'Boolean | Optional'
                                    AllowsMultipleSelection = 'Boolean | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.accessPackageTextInputQuestion / #microsoft.graph.accessPackageMultipleChoiceQuestion'
                                    Choices = @(
                                        @{
                                            ActualValue = 'String | Optional'
                                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                            displayValue = @{
                                                DefaultText = 'String | Optional'
                                            }
                                        }
                                    )
                                    Sequence = 'UInt32 | Optional'
                                    IsSingleLine = 'Boolean | Optional'
                                }
                            }
                            AttributeDestination = @{
                                odataType = 'String | Optional | #microsoft.graph.accessPackageUserDirectoryAttributeStore'
                            }
                        }
                    )
                    Id = 'String | Optional'
                    AddedOn = 'String | Optional'
                    OriginSystem = 'String | Optional'
                    IsPendingOnboarding = 'Boolean | Optional'
                }
            )
            EntitlementManagementConnectedOrganizations = @(
                @{
                    Ensure = 'String | Optional | Present / Absent'
                    Id = 'String | Optional'
                    InternalSponsors = 'StringArray | Optional'
                    IdentitySources = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            CloudInstance = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.azureActiveDirectoryTenant / #microsoft.graph.crossCloudAzureActiveDirectoryTenant / #microsoft.graph.domainIdentitySource / #microsoft.graph.externalDomainFederation'
                            ExternalTenantId = 'String | Optional'
                            DomainName = 'String | Optional'
                            IssuerUri = 'String | Optional'
                            DisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    State = 'String | Optional | configured / proposed / unknownFutureValue'
                    ExternalSponsors = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                }
            )
            ExternalIdentityPolicy = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                AllowDeletedIdentitiesDataRemoval = 'Boolean | Optional'
                allowExternalIdentitiesToLeave = 'Boolean | Required'
            }
            Groups = @(
                @{
                    GroupTypes = 'StringArray | Optional'
                    Description = 'String | Optional'
                    Owners = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                    MailEnabled = 'Boolean | Required'
                    Members = 'StringArray | Optional'
                    MembershipRuleProcessingState = 'String | Optional | On / Paused'
                    AssignedToRole = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    IsAssignableToRole = 'Boolean | Optional'
                    SecurityEnabled = 'Boolean | Required'
                    MemberOf = 'StringArray | Optional'
                    Visibility = 'String | Optional | Public / Private / HiddenMembership'
                    Id = 'String | Optional'
                    MailNickname = 'String | Required'
                    MembershipRule = 'String | Optional'
                    AssignedLicenses = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            SkuId = 'String | Optional'
                            DisabledPlans = 'StringArray | Optional'
                        }
                    )
                }
            )
            GroupLifecyclePolicy = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present / Absent'
                GroupLifetimeInDays = 'UInt32 | Required'
                AlternateNotificationEmails = 'StringArray | Required'
                ManagedGroupTypes = 'String | Required | All / None / Selected'
            }
            GroupsNamingPolicy = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present / Absent'
                PrefixSuffixNamingRequirement = 'String | Optional'
                CustomBlockedWordsList = 'StringArray | Optional'
            }
            GroupsSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present / Absent'
                UsageGuidelinesUrl = 'String | Optional'
                AllowToAddGuests = 'Boolean | Optional'
                GroupCreationAllowedGroupName = 'String | Optional'
                EnableMIPLabels = 'Boolean | Optional'
                EnableGroupCreation = 'Boolean | Optional'
                GuestUsageGuidelinesUrl = 'String | Optional'
                AllowGuestsToAccessGroups = 'Boolean | Optional'
                AllowGuestsToBeGroupOwner = 'Boolean | Optional'
            }
            NamedLocationPolicies = @(
                @{
                    IncludeUnknownCountriesAndRegions = 'Boolean | Optional'
                    Id = 'String | Optional'
                    CountryLookupMethod = 'String | Optional | clientIpAddress / authenticatorAppGps'
                    Ensure = 'String | Optional | Present / Absent'
                    IsTrusted = 'Boolean | Optional'
                    OdataType = 'String | Optional | #microsoft.graph.countryNamedLocation / #microsoft.graph.ipNamedLocation / #microsoft.graph.compliantNetworkNamedLocation'
                    CountriesAndRegions = 'StringArray | Optional'
                    IpRanges = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                }
            )
            RoleDefinitions = @(
                @{
                    IsEnabled = 'Boolean | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Id = 'String | Optional'
                    Version = 'String | Optional'
                    Description = 'String | Optional'
                    ResourceScopes = 'StringArray | Optional'
                    RolePermissions = 'StringArray | Required'
                    TemplateId = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            RoleEligibilityScheduleRequests = @(
                @{
                    RoleDefinition = 'String | Required'
                    Action = 'String | Optional | adminAssign / adminUpdate / adminRemove / selfActivate / selfDeactivate / adminExtend / adminRenew / selfExtend / selfRenew / unknownFutureValue'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    TicketInfo = @{
                        ticketSystem = 'String | Optional'
                        ticketNumber = 'String | Optional'
                    }
                    PrincipalType = 'String | Optional | Group / User'
                    ScheduleInfo = @{
                        startDateTime = 'String | Optional'
                        expiration = @{
                            duration = 'String | Optional'
                            endDateTime = 'String | Optional'
                            type = 'String | Optional | notSpecified / noExpiration / afterDateTime / afterDuration'
                        }
                        recurrence = @{
                            range = @{
                                numberOfOccurrences = 'UInt32 | Optional'
                                type = 'String | Required | endDate / noEnd / numbered'
                                recurrenceTimeZone = 'String | Optional'
                                startDate = 'String | Required'
                                endDate = 'String | Required'
                            }
                            pattern = @{
                                daysOfWeek = 'StringArray | Optional | sunday / monday / tuesday / wednesday / thursday / friday / saturday'
                                type = 'String | Optional | daily / weekly / absoluteMonthly / relativeMonthly / absoluteYearly / relativeYearly'
                                interval = 'UInt32 | Optional'
                                month = 'UInt32 | Optional'
                                index = 'String | Optional | first / second / third / fourth / last'
                                firstDayOfWeek = 'String | Optional | sunday / monday / tuesday / wednesday / thursday / friday / saturday'
                                dayOfMonth = 'UInt32 | Optional'
                            }
                        }
                    }
                    IsValidationOnly = 'Boolean | Optional'
                    AppScopeId = 'String | Optional'
                    Principal = 'String | Required'
                    Justification = 'String | Optional'
                    DirectoryScopeId = 'String | Optional'
                }
            )
            RoleSettings = @(
                @{
                    ActiveAssigneeNotificationDefaultRecipient = 'Boolean | Optional'
                    ExpireActiveAssignment = 'String | Optional'
                    PermanentEligibleAssignmentisExpirationRequired = 'Boolean | Optional'
                    ActivateApprover = 'StringArray | Optional'
                    ActiveAssigneeNotificationAdditionalRecipient = 'StringArray | Optional'
                    Displayname = 'String | Required'
                    EligibleAlertNotificationOnlyCritical = 'Boolean | Optional'
                    AssignmentReqMFA = 'Boolean | Optional'
                    EligibleAlertNotificationAdditionalRecipient = 'StringArray | Optional'
                    ElegibilityAssignmentReqMFA = 'Boolean | Optional'
                    ActivationMaxDuration = 'String | Optional'
                    ActivationReqTicket = 'Boolean | Optional'
                    EligibleAssigneeNotificationOnlyCritical = 'Boolean | Optional'
                    ActiveApproveNotificationAdditionalRecipient = 'StringArray | Optional'
                    ApprovaltoActivate = 'Boolean | Optional'
                    EligibleApproveNotificationOnlyCritical = 'Boolean | Optional'
                    ActiveApproveNotificationOnlyCritical = 'Boolean | Optional'
                    EligibleAssignmentAssigneeNotificationAdditionalRecipient = 'StringArray | Optional'
                    ElegibilityAssignmentReqJustification = 'Boolean | Optional'
                    ActiveAlertNotificationOnlyCritical = 'Boolean | Optional'
                    EligibleAssignmentAlertNotificationDefaultRecipient = 'Boolean | Optional'
                    EligibleAssignmentAssigneeNotificationDefaultRecipient = 'Boolean | Optional'
                    PermanentActiveAssignmentisExpirationRequired = 'Boolean | Optional'
                    EligibleAssignmentAssigneeNotificationOnlyCritical = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ActiveAlertNotificationAdditionalRecipient = 'StringArray | Optional'
                    ActivationReqJustification = 'Boolean | Optional'
                    Id = 'String | Optional'
                    ActiveApproveNotificationDefaultRecipient = 'Boolean | Optional'
                    ExpireEligibleAssignment = 'String | Optional'
                    EligibleAssignmentAlertNotificationOnlyCritical = 'Boolean | Optional'
                    ActiveAlertNotificationDefaultRecipient = 'Boolean | Optional'
                    AssignmentReqJustification = 'Boolean | Optional'
                    EligibleAssigneeNotificationAdditionalRecipient = 'StringArray | Optional'
                    EligibleAlertNotificationDefaultRecipient = 'Boolean | Optional'
                    EligibleAssignmentAlertNotificationAdditionalRecipient = 'StringArray | Optional'
                    ActivationReqMFA = 'Boolean | Optional'
                    EligibleAssigneeNotificationDefaultRecipient = 'Boolean | Optional'
                    ActiveAssigneeNotificationOnlyCritical = 'Boolean | Optional'
                    EligibleApproveNotificationAdditionalRecipient = 'StringArray | Optional'
                    EligibleApproveNotificationDefaultRecipient = 'Boolean | Optional'
                }
            )
            SecurityDefaults = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present / Absent'
                DisplayName = 'String | Optional'
                IsEnabled = 'Boolean | Optional'
                Description = 'String | Optional'
            }
            ServicePrincipals = @(
                @{
                    AccountEnabled = 'Boolean | Optional'
                    Tags = 'StringArray | Optional'
                    Homepage = 'String | Optional'
                    DisplayName = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AlternativeNames = 'StringArray | Optional'
                    AppId = 'String | Required'
                    ErrorUrl = 'String | Optional'
                    PublisherName = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ObjectID = 'String | Optional'
                    LogoutUrl = 'String | Optional'
                    SamlMetadataUrl = 'String | Optional'
                    AppRoleAssignedTo = @(
                        @{
                            PrincipalType = 'String | Optional | Group / User'
                            Identity = 'String | Optional'
                        }
                    )
                    ServicePrincipalType = 'String | Optional'
                    AppRoleAssignmentRequired = 'Boolean | Optional'
                    ReplyUrls = 'StringArray | Optional'
                    ServicePrincipalNames = 'StringArray | Optional'
                }
            )
            SocialIdentityProviders = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ClientId = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    IdentityProviderType = 'String | Optional | AADSignup / EmailOTP / Microsoft / MicrosoftAccount / Google / Amazon / LinkedIn / Facebook / GitHub / Twitter / Weibo / QQ / WeChat'
                    ClientSecret = 'String | Optional'
                    DisplayName = 'String | Optional'
                }
            )
            TenantDetails = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                TechnicalNotificationMails = 'StringArray | Optional'
                MarketingNotificationEmails = 'StringArray | Optional'
                SecurityComplianceNotificationPhones = 'StringArray | Optional'
                SecurityComplianceNotificationMails = 'StringArray | Optional'
            }
            TokenLifetimePolicies = @(
                @{
                    IsOrganizationDefault = 'Boolean | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Definition = 'StringArray | Optional'
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            Users = @(
                @{
                    LicenseAssignment = 'StringArray | Optional'
                    Country = 'String | Optional'
                    LastName = 'String | Optional'
                    PasswordPolicies = 'String | Optional'
                    UserPrincipalName = 'String | Required'
                    DisplayName = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    MemberOf = 'StringArray | Optional'
                    Password = 'PSCredential | Optional'
                    FirstName = 'String | Optional'
                    UsageLocation = 'String | Optional'
                    Office = 'String | Optional'
                    Department = 'String | Optional'
                    Title = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    UserType = 'String | Optional | Guest / Member / Other / Viral'
                    Fax = 'String | Optional'
                    StreetAddress = 'String | Optional'
                    PreferredLanguage = 'String | Optional'
                    MobilePhone = 'String | Optional'
                    State = 'String | Optional'
                    PasswordNeverExpires = 'Boolean | Optional'
                    PhoneNumber = 'String | Optional'
                    PostalCode = 'String | Optional'
                    City = 'String | Optional'
                    Roles = 'StringArray | Optional'
                }
            )
        }
        Exchange = @{
            AcceptedDomains = @(
                @{
                    MatchSubDomains = 'Boolean | Optional'
                    DomainType = 'String | Optional | Authoritative / InternalRelay'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                    OutboundOnly = 'Boolean | Optional'
                }
            )
            ActiveSyncDeviceAccessRules = @(
                @{
                    Characteristic = 'String | Optional | DeviceModel / DeviceType / DeviceOS / UserAgent / XMSWLHeader'
                    AccessLevel = 'String | Optional | Allow / Block / Quarantine'
                    QueryString = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            AddressBookPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                    AddressLists = 'StringArray | Optional'
                    GlobalAddressList = 'String | Optional'
                    Name = 'String | Required'
                    RoomList = 'String | Optional'
                    OfflineAddressBook = 'String | Optional'
                }
            )
            AddressLists = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ConditionalCustomAttribute3 = 'StringArray | Optional'
                    DisplayName = 'String | Optional'
                    ConditionalCustomAttribute4 = 'StringArray | Optional'
                    ConditionalCustomAttribute9 = 'StringArray | Optional'
                    RecipientFilter = 'String | Optional'
                    ConditionalCustomAttribute13 = 'StringArray | Optional'
                    ConditionalCustomAttribute5 = 'StringArray | Optional'
                    Name = 'String | Required'
                    ConditionalDepartment = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ConditionalCustomAttribute6 = 'StringArray | Optional'
                    ConditionalCustomAttribute15 = 'StringArray | Optional'
                    IncludedRecipients = 'StringArray | Optional | AllRecipients / MailboxUsers / MailContacts / MailGroups / MailUsers / Resources'
                    ConditionalCustomAttribute1 = 'StringArray | Optional'
                    ConditionalCustomAttribute7 = 'StringArray | Optional'
                    ConditionalCustomAttribute10 = 'StringArray | Optional'
                    ConditionalStateOrProvince = 'StringArray | Optional'
                    ConditionalCustomAttribute12 = 'StringArray | Optional'
                    ConditionalCustomAttribute14 = 'StringArray | Optional'
                    ConditionalCompany = 'StringArray | Optional'
                    ConditionalCustomAttribute8 = 'StringArray | Optional'
                    ConditionalCustomAttribute2 = 'StringArray | Optional'
                    ConditionalCustomAttribute11 = 'StringArray | Optional'
                }
            )
            AntiPhishPolicies = @(
                @{
                    EnableFirstContactSafetyTips = 'Boolean | Optional'
                    MakeDefault = 'Boolean | Optional'
                    PhishThresholdLevel = 'String | Optional | 1 / 2 / 3 / 4'
                    EnableTargetedDomainsProtection = 'Boolean | Optional'
                    Identity = 'String | Required'
                    Enabled = 'Boolean | Optional'
                    EnableViaTag = 'Boolean | Optional'
                    MailboxIntelligenceProtectionAction = 'String | Optional'
                    TargetedDomainsToProtect = 'StringArray | Optional'
                    EnableOrganizationDomainsProtection = 'Boolean | Optional'
                    EnableSpoofIntelligence = 'Boolean | Optional'
                    EnableSimilarUsersSafetyTips = 'Boolean | Optional'
                    ExcludedDomains = 'StringArray | Optional'
                    ImpersonationProtectionState = 'String | Optional'
                    TargetedDomainActionRecipients = 'StringArray | Optional'
                    EnableMailboxIntelligence = 'Boolean | Optional'
                    TargetedDomainQuarantineTag = 'String | Optional'
                    EnableSimilarDomainsSafetyTips = 'Boolean | Optional'
                    TargetedUserQuarantineTag = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AuthenticationFailAction = 'String | Optional | MoveToJmf / Quarantine'
                    TargetedUserProtectionAction = 'String | Optional | BccMessage / Delete / MoveToJmf / NoAction / Quarantine / Redirect'
                    MailboxIntelligenceProtectionActionRecipients = 'StringArray | Optional'
                    MailboxIntelligenceQuarantineTag = 'String | Optional'
                    TargetedUsersToProtect = 'StringArray | Optional'
                    SpoofQuarantineTag = 'String | Optional'
                    EnableUnauthenticatedSender = 'Boolean | Optional'
                    EnableTargetedUserProtection = 'Boolean | Optional'
                    AdminDisplayName = 'String | Optional'
                    EnableUnusualCharactersSafetyTips = 'Boolean | Optional'
                    EnableMailboxIntelligenceProtection = 'Boolean | Optional'
                    TargetedUserActionRecipients = 'StringArray | Optional'
                    ExcludedSenders = 'StringArray | Optional'
                }
            )
            AntiPhishRules = @(
                @{
                    Identity = 'String | Required'
                    AntiPhishPolicy = 'String | Required'
                    Enabled = 'Boolean | Optional'
                    ExceptIfSentTo = 'StringArray | Optional'
                    RecipientDomainIs = 'StringArray | Optional'
                    Comments = 'String | Optional'
                    SentToMemberOf = 'StringArray | Optional'
                    ExceptIfRecipientDomainIs = 'StringArray | Optional'
                    SentTo = 'StringArray | Optional'
                    ExceptIfSentToMemberOf = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            ApplicationAccessPolicies = @(
                @{
                    Description = 'String | Optional'
                    PolicyScopeGroupId = 'String | Optional'
                    AppID = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                    AccessRight = 'String | Optional | RestrictAccess / DenyAccess'
                }
            )
            AtpPolicyForO365 = @{
                EnableSafeDocs = 'Boolean | Optional'
                EnableATPForSPOTeamsODB = 'Boolean | Optional'
                Identity = 'String | Optional'
                AllowSafeDocsOpen = 'Boolean | Optional'
                Ensure = 'String | Optional | Present'
            }
            AuthenticationPolicies = @(
                @{
                    AllowBasicAuthRpc = 'Boolean | Optional'
                    AllowBasicAuthPop = 'Boolean | Optional'
                    AllowBasicAuthSmtp = 'Boolean | Optional'
                    AllowBasicAuthMapi = 'Boolean | Optional'
                    AllowBasicAuthImap = 'Boolean | Optional'
                    AllowBasicAuthAutodiscover = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowBasicAuthPowershell = 'Boolean | Optional'
                    AllowBasicAuthActiveSync = 'Boolean | Optional'
                    AllowBasicAuthOfflineAddressBook = 'Boolean | Optional'
                    Identity = 'String | Required'
                    AllowBasicAuthReportingWebServices = 'Boolean | Optional'
                    AllowBasicAuthOutlookService = 'Boolean | Optional'
                    AllowBasicAuthWebServices = 'Boolean | Optional'
                }
            )
            AuthenticationPoliciesAssignment = @(
                @{
                    UserName = 'String | Required'
                    AuthenticationPolicyName = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            AvailabilityAddressSpaces = @(
                @{
                    Ensure = 'String | Optional | Present / Absent'
                    ForestName = 'String | Optional'
                    AccessMethod = 'String | Optional | PerUserFB / OrgWideFB / OrgWideFBBasic / InternalProxy'
                    Identity = 'String | Required'
                    TargetAutodiscoverEpr = 'String | Optional'
                    Credentials = 'String | Optional'
                }
            )
            AvailabilityConfigs = @(
                @{
                    OrgWideAccount = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            CalendarProcessings = @(
                @{
                    MaximumConflictInstances = 'UInt32 | Optional'
                    BookingType = 'String | Optional | Standard / Reserved'
                    ForwardRequestsToDelegates = 'Boolean | Optional'
                    RemoveCanceledMeetings = 'Boolean | Optional'
                    Identity = 'String | Required'
                    AdditionalResponse = 'String | Optional'
                    ResourceDelegates = 'StringArray | Optional'
                    DeleteNonCalendarItems = 'Boolean | Optional'
                    RemovePrivateProperty = 'Boolean | Optional'
                    EnforceSchedulingHorizon = 'Boolean | Optional'
                    EnableResponseDetails = 'Boolean | Optional'
                    RequestInPolicy = 'StringArray | Optional'
                    EnforceCapacity = 'Boolean | Optional'
                    ScheduleOnlyDuringWorkHours = 'Boolean | Optional'
                    AllRequestInPolicy = 'Boolean | Optional'
                    AllowConflicts = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present'
                    BookInPolicy = 'StringArray | Optional'
                    ConflictPercentageAllowed = 'UInt32 | Optional'
                    AutomateProcessing = 'String | Optional | None / AutoUpdate / AutoAccept'
                    AllRequestOutOfPolicy = 'Boolean | Optional'
                    AddNewRequestsTentatively = 'Boolean | Optional'
                    DeleteAttachments = 'Boolean | Optional'
                    AllBookInPolicy = 'Boolean | Optional'
                    ProcessExternalMeetingMessages = 'Boolean | Optional'
                    MinimumDurationInMinutes = 'UInt32 | Optional'
                    RequestOutOfPolicy = 'StringArray | Optional'
                    RemoveOldMeetingMessages = 'Boolean | Optional'
                    TentativePendingApproval = 'Boolean | Optional'
                    MaximumDurationInMinutes = 'UInt32 | Optional'
                    OrganizerInfo = 'Boolean | Optional'
                    PostReservationMaxClaimTimeInMinutes = 'UInt32 | Optional'
                    AddOrganizerToSubject = 'Boolean | Optional'
                    AddAdditionalResponse = 'Boolean | Optional'
                    DeleteComments = 'Boolean | Optional'
                    RemoveForwardedMeetingNotifications = 'Boolean | Optional'
                    EnableAutoRelease = 'Boolean | Optional'
                    BookingWindowInDays = 'UInt32 | Optional'
                    AllowRecurringMeetings = 'Boolean | Optional'
                    DeleteSubject = 'Boolean | Optional'
                }
            )
            CASMailboxPlans = @(
                @{
                    OwaMailboxPolicy = 'String | Optional'
                    Ensure = 'String | Optional | Present'
                    PopEnabled = 'Boolean | Optional'
                    Identity = 'String | Required'
                    ImapEnabled = 'Boolean | Optional'
                    ActiveSyncEnabled = 'Boolean | Optional'
                }
            )
            CASMailboxSettingsItems = @(
                @{
                    ImapEnabled = 'Boolean | Optional'
                    ImapSuppressReadReceipt = 'Boolean | Optional'
                    ActiveSyncSuppressReadReceipt = 'Boolean | Optional'
                    Identity = 'String | Required'
                    EwsBlockList = 'StringArray | Optional'
                    EwsAllowEntourage = 'Boolean | Optional'
                    OwaMailboxPolicy = 'String | Optional'
                    SmtpClientAuthenticationDisabled = 'Boolean | Optional'
                    PopForceICalForCalendarRetrievalOption = 'Boolean | Optional'
                    ImapForceICalForCalendarRetrievalOption = 'Boolean | Optional'
                    ShowGalAsDefaultView = 'Boolean | Optional'
                    OneWinNativeOutlookEnabled = 'Boolean | Optional'
                    ActiveSyncBlockedDeviceIDs = 'StringArray | Optional'
                    MAPIEnabled = 'Boolean | Optional'
                    EwsAllowOutlook = 'Boolean | Optional'
                    PopEnabled = 'Boolean | Optional'
                    OWAforDevicesEnabled = 'Boolean | Optional'
                    ActiveSyncAllowedDeviceIDs = 'StringArray | Optional'
                    EwsEnabled = 'Boolean | Optional'
                    OutlookMobileEnabled = 'Boolean | Optional'
                    EwsAllowMacOutlook = 'Boolean | Optional'
                    EwsApplicationAccessPolicy = 'String | Optional'
                    Ensure = 'String | Optional | Present'
                    PublicFolderClientAccess = 'Boolean | Optional'
                    OWAEnabled = 'Boolean | Optional'
                    ActiveSyncEnabled = 'Boolean | Optional'
                    ActiveSyncMailboxPolicy = 'String | Optional'
                    UniversalOutlookEnabled = 'Boolean | Optional'
                    ImapUseProtocolDefaults = 'Boolean | Optional'
                    ActiveSyncDebugLogging = 'Boolean | Optional'
                    PopMessagesRetrievalMimeFormat = 'String | Optional'
                    ImapMessagesRetrievalMimeFormat = 'String | Optional'
                    MacOutlookEnabled = 'Boolean | Optional'
                    PopSuppressReadReceipt = 'Boolean | Optional'
                    EwsAllowList = 'StringArray | Optional'
                    PopUseProtocolDefaults = 'Boolean | Optional'
                }
            )
            ClientAccessRules = @(
                @{
                    Action = 'String | Required | AllowAccess / DenyAccess'
                    AnyOfAuthenticationTypes = 'StringArray | Optional | AdfsAuthentication / BasicAuthentication / CertificateBasedAuthentication / NonBasicAuthentication / OAuthAuthentication'
                    Priority = 'UInt32 | Optional'
                    ExceptAnyOfProtocols = 'StringArray | Optional | ExchangeActiveSync / ExchangeAdminCenter / ExchangeWebServices / IMAP4 / OfflineAddressBook / OutlookAnywhere / OutlookWebApp / POP3 / PowerShellWebServices / RemotePowerShell / REST / UniversalOutlook'
                    ExceptAnyOfClientIPAddressesOrRanges = 'StringArray | Optional'
                    AnyOfClientIPAddressesOrRanges = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ExceptUsernameMatchesAnyOfPatterns = 'StringArray | Optional'
                    Identity = 'String | Required'
                    ExceptAnyOfAuthenticationTypes = 'StringArray | Optional | AdfsAuthentication / BasicAuthentication / CertificateBasedAuthentication / NonBasicAuthentication / OAuthAuthentication'
                    UserRecipientFilter = 'String | Optional'
                    AnyOfProtocols = 'StringArray | Optional | ExchangeActiveSync / ExchangeAdminCenter / ExchangeWebServices / IMAP4 / OfflineAddressBook / OutlookAnywhere / OutlookWebApp / POP3 / PowerShellWebServices / RemotePowerShell / REST / UniversalOutlook'
                    RuleScope = 'String | Optional | All / Users'
                    UsernameMatchesAnyOfPatterns = 'StringArray | Optional'
                    Enabled = 'Boolean | Optional'
                }
            )
            DataClassifications = @(
                @{
                    Description = 'String | Optional'
                    IsDefault = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Fingerprints = 'StringArray | Optional'
                    Name = 'String | Optional'
                    Identity = 'String | Required'
                    Locale = 'String | Optional'
                }
            )
            DataEncryptionPolicies = @(
                @{
                    Name = 'String | Optional'
                    AzureKeyIDs = 'StringArray | Optional'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    PermanentDataPurgeReason = 'String | Optional'
                    PermanentDataPurgeContact = 'String | Optional'
                    Identity = 'String | Required'
                }
            )
            DistributionGroups = @(
                @{
                    CustomAttribute12 = 'String | Optional'
                    CustomAttribute10 = 'String | Optional'
                    RequireSenderAuthenticationEnabled = 'Boolean | Optional'
                    Description = 'String | Optional'
                    AcceptMessagesOnlyFromSendersOrMembers = 'StringArray | Optional'
                    Identity = 'String | Required'
                    CustomAttribute8 = 'String | Optional'
                    DisplayName = 'String | Optional'
                    BccBlocked = 'Boolean | Optional'
                    MemberDepartRestriction = 'String | Optional | Open / Closed'
                    Name = 'String | Required'
                    CustomAttribute7 = 'String | Optional'
                    CustomAttribute1 = 'String | Optional'
                    CustomAttribute2 = 'String | Optional'
                    RoomList = 'Boolean | Optional'
                    HiddenFromAddressListsEnabled = 'Boolean | Optional'
                    CustomAttribute6 = 'String | Optional'
                    HiddenGroupMembershipEnabled = 'Boolean | Optional'
                    BypassNestedModerationEnabled = 'Boolean | Optional'
                    CustomAttribute3 = 'String | Optional'
                    ModeratedBy = 'StringArray | Optional'
                    CustomAttribute14 = 'String | Optional'
                    ModerationEnabled = 'Boolean | Optional'
                    Members = 'StringArray | Optional'
                    CustomAttribute4 = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    SendOofMessageToOriginatorEnabled = 'Boolean | Optional'
                    CustomAttribute5 = 'String | Optional'
                    CustomAttribute15 = 'String | Optional'
                    AcceptMessagesOnlyFromDLMembers = 'StringArray | Optional'
                    PrimarySmtpAddress = 'String | Optional'
                    MemberJoinRestriction = 'String | Optional | Open / Closed / ApprovalRequired'
                    CustomAttribute9 = 'String | Optional'
                    Type = 'String | Optional | Distribution / Security'
                    Alias = 'String | Optional'
                    ManagedBy = 'StringArray | Optional'
                    GrantSendOnBehalfTo = 'StringArray | Optional'
                    CustomAttribute13 = 'String | Optional'
                    SendModerationNotifications = 'String | Optional | Always / Internal / Never'
                    Notes = 'String | Optional'
                    OrganizationalUnit = 'String | Optional'
                    CustomAttribute11 = 'String | Optional'
                    EmailAddresses = 'StringArray | Optional'
                    AcceptMessagesOnlyFrom = 'StringArray | Optional'
                }
            )
            DkimSigningConfigs = @(
                @{
                    Enabled = 'Boolean | Optional'
                    KeySize = 'UInt16 | Optional | 1024'
                    Ensure = 'String | Optional | Present / Absent'
                    BodyCanonicalization = 'String | Optional | Simple / Relaxed'
                    AdminDisplayName = 'String | Optional'
                    Identity = 'String | Required'
                    HeaderCanonicalization = 'String | Optional | Simple / Relaxed'
                }
            )
            EmailAddressPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ManagedByFilter = 'String | Optional'
                    EnabledPrimarySMTPAddressTemplate = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Name = 'String | Required'
                    Priority = 'String | Optional'
                    EnabledEmailAddressTemplates = 'StringArray | Optional'
                }
            )
            GlobalAddressLists = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ConditionalCustomAttribute3 = 'StringArray | Optional'
                    ConditionalStateOrProvince = 'StringArray | Optional'
                    ConditionalCustomAttribute4 = 'StringArray | Optional'
                    RecipientFilter = 'String | Optional'
                    ConditionalCustomAttribute13 = 'StringArray | Optional'
                    ConditionalCustomAttribute14 = 'StringArray | Optional'
                    Name = 'String | Required'
                    ConditionalDepartment = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ConditionalCustomAttribute6 = 'StringArray | Optional'
                    ConditionalCustomAttribute15 = 'StringArray | Optional'
                    IncludedRecipients = 'StringArray | Optional | / AllRecipients / MailboxUsers / MailContacts / MailGroups / MailUsers / Resources'
                    ConditionalCustomAttribute1 = 'StringArray | Optional'
                    ConditionalCustomAttribute10 = 'StringArray | Optional'
                    ConditionalCustomAttribute5 = 'StringArray | Optional'
                    ConditionalCustomAttribute7 = 'StringArray | Optional'
                    ConditionalCustomAttribute9 = 'StringArray | Optional'
                    ConditionalCustomAttribute12 = 'StringArray | Optional'
                    ConditionalCompany = 'StringArray | Optional'
                    ConditionalCustomAttribute8 = 'StringArray | Optional'
                    ConditionalCustomAttribute2 = 'StringArray | Optional'
                    ConditionalCustomAttribute11 = 'StringArray | Optional'
                }
            )
            GroupSettingsItems = @(
                @{
                    MailboxRegion = 'String | Optional'
                    ModeratedBy = 'StringArray | Optional'
                    CustomAttribute10 = 'String | Optional'
                    RequireSenderAuthenticationEnabled = 'Boolean | Optional'
                    ModerationEnabled = 'Boolean | Optional'
                    ExtensionCustomAttribute4 = 'String | Optional'
                    CalendarMemberReadOnly = 'Boolean | Optional'
                    CustomAttribute8 = 'String | Optional'
                    DisplayName = 'String | Required'
                    CustomAttribute3 = 'String | Optional'
                    InformationBarrierMode = 'String | Optional | Explicit / Implicit / Open / OwnerModerated'
                    Classification = 'String | Optional'
                    MailTipTranslations = 'String | Optional'
                    UnifiedGroupWelcomeMessageEnabled = 'Boolean | Optional'
                    MaxReceiveSize = 'String | Optional'
                    CustomAttribute1 = 'String | Optional'
                    CustomAttribute2 = 'String | Optional'
                    CustomAttribute13 = 'String | Optional'
                    HiddenFromAddressListsEnabled = 'Boolean | Optional'
                    MaxSendSize = 'String | Optional'
                    ExtensionCustomAttribute2 = 'String | Optional'
                    CustomAttribute6 = 'String | Optional'
                    RejectMessagesFromSendersOrMembers = 'StringArray | Optional'
                    AuditLogAgeLimit = 'String | Optional'
                    ExtensionCustomAttribute3 = 'String | Optional'
                    SubscriptionEnabled = 'Boolean | Optional'
                    AccessType = 'String | Optional | Public / Private'
                    AcceptMessagesOnlyFromSendersOrMembers = 'StringArray | Optional'
                    DataEncryptionPolicy = 'String | Optional'
                    CustomAttribute14 = 'String | Optional'
                    MailTip = 'String | Optional'
                    AlwaysSubscribeMembersToCalendarEvents = 'Boolean | Optional'
                    CustomAttribute15 = 'String | Optional'
                    CustomAttribute7 = 'String | Optional'
                    CustomAttribute5 = 'String | Optional'
                    ExtensionCustomAttribute1 = 'String | Optional'
                    EmailAddresses = 'StringArray | Optional'
                    ExtensionCustomAttribute5 = 'String | Optional'
                    CustomAttribute4 = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Notes = 'String | Optional'
                    CustomAttribute9 = 'String | Optional'
                    GrantSendOnBehalfTo = 'StringArray | Optional'
                    AutoSubscribeNewMembers = 'Boolean | Optional'
                    PrimarySmtpAddress = 'String | Optional'
                    IsMemberAllowedToEditContent = 'Boolean | Optional'
                    Language = 'String | Optional'
                    CustomAttribute11 = 'String | Optional'
                    ConnectorsEnabled = 'Boolean | Optional'
                    SensitivityLabelId = 'String | Optional'
                    HiddenFromExchangeClientsEnabled = 'Boolean | Optional'
                    CustomAttribute12 = 'String | Optional'
                }
            )
            HostedConnectionFilterPolicies = @(
                @{
                    EnableSafeList = 'Boolean | Optional'
                    IPAllowList = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    IPBlockList = 'StringArray | Optional'
                    MakeDefault = 'Boolean | Optional'
                    Identity = 'String | Required'
                    AdminDisplayName = 'String | Optional'
                }
            )
            HostedContentFilterPolicies = @(
                @{
                    HighConfidenceSpamAction = 'String | Optional | MoveToJmf / AddXHeader / ModifySubject / Redirect / Delete / Quarantine / NoAction'
                    MakeDefault = 'Boolean | Optional'
                    TestModeBccToRecipients = 'StringArray | Optional'
                    MarkAsSpamWebBugsInHtml = 'String | Optional | Off / On / Test'
                    MarkAsSpamFramesInHtml = 'String | Optional | Off / On / Test'
                    Identity = 'String | Required'
                    EndUserSpamNotificationLanguage = 'String | Optional | Default / English / French / German / Italian / Japanese / Spanish / Korean / Portuguese / Russian / ChineseSimplified / ChineseTraditional / Amharic / Arabic / Bulgarian / BengaliIndia / Catalan / Czech / Cyrillic / Danish / Greek / Estonian / Basque / Farsi / Finnish / Filipino / Galician / Gujarati / Hebrew / Hindi / Croatian / Hungarian / Indonesian / Icelandic / Kazakh / Kannada / Lithuanian / Latvian / Malayalam / Marathi / Malay / Dutch / NorwegianNynorsk / Norwegian / Oriya / Polish / PortuguesePortugal / Romanian / Slovak / Slovenian / SerbianCyrillic / Serbian / Swedish / Swahili / Tamil / Telugu / Thai / Turkish / Ukrainian / Urdu / Vietnamese'
                    MarkAsSpamEmbedTagsInHtml = 'String | Optional | Off / On / Test'
                    BulkThreshold = 'UInt32 | Optional'
                    EnableLanguageBlockList = 'Boolean | Optional'
                    HighConfidenceSpamQuarantineTag = 'String | Optional'
                    PhishZapEnabled = 'Boolean | Optional'
                    EndUserSpamNotificationCustomSubject = 'String | Optional'
                    MarkAsSpamSensitiveWordList = 'String | Optional | Off / On / Test'
                    MarkAsSpamFormTagsInHtml = 'String | Optional | Off / On / Test'
                    SpamZapEnabled = 'Boolean | Optional'
                    MarkAsSpamJavaScriptInHtml = 'String | Optional | Off / On / Test'
                    BulkSpamAction = 'String | Optional | MoveToJmf / AddXHeader / ModifySubject / Redirect / Delete / Quarantine / NoAction'
                    BlockedSenders = 'StringArray | Optional'
                    IncreaseScoreWithImageLinks = 'String | Optional | Off / On / Test'
                    AddXHeaderValue = 'String | Optional'
                    MarkAsSpamNdrBackscatter = 'String | Optional | Off / On / Test'
                    QuarantineRetentionPeriod = 'UInt32 | Optional'
                    InlineSafetyTipsEnabled = 'Boolean | Optional'
                    PhishSpamAction = 'String | Optional | MoveToJmf / AddXHeader / ModifySubject / Redirect / Delete / Quarantine / NoAction'
                    HighConfidencePhishAction = 'String | Optional | MoveToJmf / Redirect / Quarantine'
                    EnableRegionBlockList = 'Boolean | Optional'
                    MarkAsSpamObjectTagsInHtml = 'String | Optional | Off / On / Test'
                    IncreaseScoreWithRedirectToOtherPort = 'String | Optional | Off / On / Test'
                    AllowedSenderDomains = 'StringArray | Optional'
                    TestModeAction = 'String | Optional | None / AddXHeader / BccMessage'
                    MarkAsSpamSpfRecordHardFail = 'String | Optional | Off / On / Test'
                    ModifySubjectValue = 'String | Optional'
                    EnableEndUserSpamNotifications = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    MarkAsSpamEmptyMessages = 'String | Optional | Off / On / Test'
                    PhishQuarantineTag = 'String | Optional'
                    SpamAction = 'String | Optional | MoveToJmf / AddXHeader / ModifySubject / Redirect / Delete / Quarantine / NoAction'
                    MarkAsSpamBulkMail = 'String | Optional | Off / On / Test'
                    LanguageBlockList = 'StringArray | Optional'
                    BulkQuarantineTag = 'String | Optional'
                    RedirectToRecipients = 'StringArray | Optional'
                    AllowedSenders = 'StringArray | Optional'
                    IncreaseScoreWithNumericIps = 'String | Optional | Off / On / Test'
                    RegionBlockList = 'StringArray | Optional'
                    HighConfidencePhishQuarantineTag = 'String | Optional'
                    SpamQuarantineTag = 'String | Optional'
                    IncreaseScoreWithBizOrInfoUrls = 'String | Optional | Off / On / Test'
                    AdminDisplayName = 'String | Optional'
                    EndUserSpamNotificationFrequency = 'UInt32 | Optional'
                    MarkAsSpamFromAddressAuthFail = 'String | Optional | Off / On / Test'
                    BlockedSenderDomains = 'StringArray | Optional'
                    DownloadLink = 'Boolean | Optional'
                }
            )
            HostedContentFilterRules = @(
                @{
                    Identity = 'String | Required'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    RecipientDomainIs = 'StringArray | Optional'
                    HostedContentFilterPolicy = 'String | Required'
                    Comments = 'String | Optional'
                    SentToMemberOf = 'StringArray | Optional'
                    ExceptIfSentTo = 'StringArray | Optional'
                    SentTo = 'StringArray | Optional'
                    ExceptIfSentToMemberOf = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                    ExceptIfRecipientDomainIs = 'StringArray | Optional'
                }
            )
            HostedOutboundSpamFilterPolicies = @(
                @{
                    Identity = 'String | Required'
                    ActionWhenThresholdReached = 'String | Optional'
                    RecipientLimitPerDay = 'String | Optional'
                    BccSuspiciousOutboundMail = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    RecipientLimitExternalPerHour = 'String | Optional'
                    RecipientLimitInternalPerHour = 'String | Optional'
                    NotifyOutboundSpamRecipients = 'StringArray | Optional'
                    AdminDisplayName = 'String | Optional'
                    AutoForwardingMode = 'String | Optional'
                    BccSuspiciousOutboundAdditionalRecipients = 'StringArray | Optional'
                    NotifyOutboundSpam = 'Boolean | Optional'
                }
            )
            HostedOutboundSpamFilterRules = @(
                @{
                    ExceptIfFrom = 'StringArray | Optional'
                    Comments = 'String | Optional'
                    FromMemberOf = 'StringArray | Optional'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ExceptIfFromMemberOf = 'StringArray | Optional'
                    ExceptIfSenderDomainIs = 'StringArray | Optional'
                    HostedOutboundSpamFilterPolicy = 'String | Required'
                    From = 'StringArray | Optional'
                    Identity = 'String | Required'
                    SenderDomainIs = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                }
            )
            InboundConnectors = @(
                @{
                    RestrictDomainsToCertificate = 'Boolean | Optional'
                    ConnectorSource = 'String | Optional | Default / Migrated / HybridWizard'
                    TreatMessagesAsInternal = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    TlsSenderCertificateName = 'String | Optional'
                    ConnectorType = 'String | Optional | Partner / OnPremises'
                    CloudServicesMailEnabled = 'Boolean | Optional'
                    Comment = 'String | Optional'
                    RestrictDomainsToIPAddresses = 'Boolean | Optional'
                    SenderDomains = 'StringArray | Optional'
                    EFSkipLastIP = 'Boolean | Optional'
                    EFUsers = 'StringArray | Optional'
                    Identity = 'String | Required'
                    AssociatedAcceptedDomains = 'StringArray | Optional'
                    EFSkipIPs = 'StringArray | Optional'
                    RequireTls = 'Boolean | Optional'
                    SenderIPAddresses = 'StringArray | Optional'
                    Enabled = 'Boolean | Optional'
                }
            )
            IntraOrganizationConnectors = @(
                @{
                    TargetSharingEpr = 'String | Optional'
                    Enabled = 'Boolean | Optional'
                    DiscoveryEndpoint = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    TargetAddressDomains = 'StringArray | Optional'
                    Identity = 'String | Required'
                }
            )
            IRMConfiguration = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                SimplifiedClientAccessEnabled = 'Boolean | Optional'
                SimplifiedClientAccessEncryptOnlyDisabled = 'Boolean | Optional'
                SimplifiedClientAccessDoNotForwardDisabled = 'Boolean | Optional'
                RMSOnlineKeySharingLocation = 'String | Optional'
                SearchEnabled = 'Boolean | Optional'
                TransportDecryptionSetting = 'String | Optional | Disabled / Mandatory / Optional'
                Ensure = 'String | Optional | Present / Absent'
                DecryptAttachmentForEncryptOnly = 'Boolean | Optional'
                EDiscoverySuperUserEnabled = 'Boolean | Optional'
                AzureRMSLicensingEnabled = 'Boolean | Optional'
                AutomaticServiceUpdateEnabled = 'Boolean | Optional'
                LicensingLocation = 'StringArray | Optional'
                RejectIfRecipientHasNoRights = 'Boolean | Optional'
                JournalReportDecryptionEnabled = 'Boolean | Optional'
                EnablePdfEncryption = 'Boolean | Optional'
                InternalLicensingEnabled = 'Boolean | Optional'
            }
            JournalRules = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    JournalEmailAddress = 'String | Required'
                    Enabled = 'Boolean | Optional'
                    Recipient = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Name = 'String | Required'
                    RuleScope = 'String | Optional | Global / Internal / External'
                }
            )
            MailboxAutoReplyConfigurations = @(
                @{
                    ExternalMessage = 'String | Optional'
                    AutoDeclineFutureRequestsWhenOOF = 'Boolean | Optional'
                    ExternalAudience = 'String | Optional | None / Known / All'
                    OOFEventSubject = 'String | Optional'
                    StartTime = 'String | Optional'
                    CreateOOFEvent = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present'
                    Identity = 'String | Required'
                    EventsToDeleteIDs = 'StringArray | Optional'
                    DeclineAllEventsForScheduledOOF = 'Boolean | Optional'
                    DeclineMeetingMessage = 'String | Optional'
                    AutoReplyState = 'String | Optional | Enabled / Disabled / Scheduled'
                    InternalMessage = 'String | Optional'
                    EndTime = 'String | Optional'
                    DeclineEventsForScheduledOOF = 'Boolean | Optional'
                }
            )
            MailboxCalendarFolders = @(
                @{
                    DetailLevel = 'String | Optional | AvailabilityOnly / LimitedDetails / FullDetails'
                    Ensure = 'String | Optional | Present'
                    SharedCalendarSyncStartDate = 'String | Optional'
                    SearchableUrlEnabled = 'Boolean | Optional'
                    Identity = 'String | Required'
                    PublishDateRangeTo = 'String | Optional | OneDay / ThreeDays / OneWeek / OneMonth / ThreeMonths / SixMonths / OneYear'
                    PublishDateRangeFrom = 'String | Optional | OneDay / ThreeDays / OneWeek / OneMonth / ThreeMonths / SixMonths / OneYear'
                    PublishEnabled = 'Boolean | Optional'
                }
            )
            MailboxPermissions = @(
                @{
                    Deny = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present'
                    AccessRights = 'StringArray | Required'
                    Owner = 'String | Optional'
                    Identity = 'String | Required'
                    InheritanceType = 'String | Required | None / All / Children / Descendents / SelfAndChildren'
                    User = 'String | Required'
                }
            )
            MailboxPlans = @(
                @{
                    RoleAssignmentPolicy = 'String | Optional'
                    ProhibitSendReceiveQuota = 'String | Optional'
                    MaxSendSize = 'String | Optional'
                    Ensure = 'String | Optional | Present'
                    IssueWarningQuota = 'String | Optional'
                    MaxReceiveSize = 'String | Optional'
                    Identity = 'String | Required'
                    ProhibitSendQuota = 'String | Optional'
                    RetentionPolicy = 'String | Optional'
                    RetainDeletedItemsFor = 'String | Optional'
                }
            )
            MailboxSettingsItems = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    TimeZone = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present'
                    Locale = 'String | Optional'
                }
            )
            MailContacts = @(
                @{
                    MacAttachmentFormat = 'String | Optional | BinHex / UuEncode / AppleSingle / AppleDouble'
                    LastName = 'String | Optional'
                    DisplayName = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ModeratedBy = 'StringArray | Optional'
                    Name = 'String | Required'
                    MessageBodyFormat = 'String | Optional | Text / Html / TextAndHtml'
                    Ensure = 'String | Optional | Present / Absent'
                    Alias = 'String | Optional'
                    OrganizationalUnit = 'String | Optional'
                    Initials = 'String | Optional'
                    MessageFormat = 'String | Optional | Mime / Text'
                    ModerationEnabled = 'Boolean | Optional'
                    UsePreferMessageFormat = 'Boolean | Optional'
                    SendModerationNotifications = 'String | Optional | Always / Internal / Never'
                    ExternalEmailAddress = 'String | Required'
                    FirstName = 'String | Optional'
                }
            )
            MailTipss = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    MailTipsGroupMetricsEnabled = 'Boolean | Optional'
                    Organization = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    MailTipsLargeAudienceThreshold = 'UInt32 | Optional'
                    MailTipsExternalRecipientsTipsEnabled = 'Boolean | Optional'
                    MailTipsMailboxSourcedTipsEnabled = 'Boolean | Optional'
                    MailTipsAllTipsEnabled = 'Boolean | Optional'
                }
            )
            MalwareFilterPolicies = @(
                @{
                    CustomFromAddress = 'String | Optional'
                    CustomInternalSubject = 'String | Optional'
                    EnableInternalSenderAdminNotifications = 'Boolean | Optional'
                    AdminDisplayName = 'String | Optional'
                    CustomFromName = 'String | Optional'
                    ZapEnabled = 'Boolean | Optional'
                    CustomExternalSubject = 'String | Optional'
                    CustomNotifications = 'Boolean | Optional'
                    FileTypeAction = 'String | Optional | Quarantine / Reject'
                    Ensure = 'String | Optional | Present / Absent'
                    CustomInternalBody = 'String | Optional'
                    CustomExternalBody = 'String | Optional'
                    FileTypes = 'StringArray | Optional'
                    EnableExternalSenderAdminNotifications = 'Boolean | Optional'
                    QuarantineTag = 'String | Optional'
                    InternalSenderAdminAddress = 'String | Optional'
                    Identity = 'String | Required'
                    ExternalSenderAdminAddress = 'String | Optional'
                    MakeDefault = 'Boolean | Optional'
                    EnableFileFilter = 'Boolean | Optional'
                }
            )
            MalwareFilterRules = @(
                @{
                    Identity = 'String | Required'
                    MalwareFilterPolicy = 'String | Optional'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    RecipientDomainIs = 'StringArray | Optional'
                    Comments = 'String | Optional'
                    SentToMemberOf = 'StringArray | Optional'
                    ExceptIfSentTo = 'StringArray | Optional'
                    SentTo = 'StringArray | Optional'
                    ExceptIfSentToMemberOf = 'StringArray | Optional'
                    Priority = 'String | Optional'
                    ExceptIfRecipientDomainIs = 'StringArray | Optional'
                }
            )
            ManagementRoles = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Description = 'String | Optional'
                    Name = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Parent = 'String | Required'
                }
            )
            ManagementRoleAssignments = @(
                @{
                    CustomRecipientWriteScope = 'String | Optional'
                    Name = 'String | Required'
                    SecurityGroup = 'String | Optional'
                    App = 'String | Optional'
                    User = 'String | Optional'
                    RecipientAdministrativeUnitScope = 'String | Optional'
                    ExclusiveRecipientWriteScope = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    CustomResourceScope = 'String | Optional'
                    Policy = 'String | Optional'
                    RecipientOrganizationalUnitScope = 'String | Optional'
                    RecipientRelativeWriteScope = 'String | Optional'
                    Role = 'String | Required'
                }
            )
            MessageClassifications = @(
                @{
                    SenderDescription = 'String | Optional'
                    RetainClassificationEnabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    RecipientDescription = 'String | Optional'
                    DisplayPrecedence = 'String | Optional | Highest / Higher / High / MediumHigh / Medium / MediumLow / Low / Lower / Lowest'
                    Name = 'String | Optional'
                    Identity = 'String | Required'
                    PermissionMenuVisible = 'Boolean | Optional'
                    ClassificationID = 'String | Optional'
                    DisplayName = 'String | Optional'
                }
            )
            MobileDeviceMailboxPolicies = @(
                @{
                    AllowSimplePassword = 'Boolean | Optional'
                    AllowGooglePushNotifications = 'Boolean | Optional'
                    AllowBluetooth = 'String | Optional | Disable / HandsfreeOnly / Allow'
                    RequireEncryptedSMIMEMessages = 'Boolean | Optional'
                    MaxAttachmentSize = 'String | Optional'
                    AllowDesktopSync = 'Boolean | Optional'
                    RequireSignedSMIMEAlgorithm = 'String | Optional | SHA1 / MD5'
                    MinPasswordLength = 'String | Optional'
                    PasswordExpiration = 'String | Optional'
                    AllowTextMessaging = 'Boolean | Optional'
                    AllowWiFi = 'Boolean | Optional'
                    AllowApplePushNotifications = 'Boolean | Optional'
                    AllowExternalDeviceManagement = 'Boolean | Optional'
                    RequireStorageCardEncryption = 'Boolean | Optional'
                    AllowUnsignedInstallationPackages = 'Boolean | Optional'
                    MaxEmailAgeFilter = 'String | Optional | All / OneDay / ThreeDays / OneWeek / TwoWeeks / OneMonth'
                    AllowNonProvisionableDevices = 'Boolean | Optional'
                    AllowIrDA = 'Boolean | Optional'
                    WSSAccessEnabled = 'Boolean | Optional'
                    MinPasswordComplexCharacters = 'String | Optional'
                    PasswordHistory = 'String | Optional'
                    DeviceEncryptionEnabled = 'Boolean | Optional'
                    PasswordEnabled = 'Boolean | Optional'
                    AllowPOPIMAPEmail = 'Boolean | Optional'
                    MaxCalendarAgeFilter = 'String | Optional | All / TwoWeeks / OneMonth / ThreeMonths / SixMonths'
                    MaxEmailHTMLBodyTruncationSize = 'String | Optional'
                    ApprovedApplicationList = 'StringArray | Optional'
                    AllowUnsignedApplications = 'Boolean | Optional'
                    AllowMobileOTAUpdate = 'Boolean | Optional'
                    UNCAccessEnabled = 'Boolean | Optional'
                    UnapprovedInROMApplicationList = 'StringArray | Optional'
                    RequireEncryptionSMIMEAlgorithm = 'String | Optional | DES / TripleDES / RC240bit / RC264bit / RC2128bit'
                    RequireDeviceEncryption = 'Boolean | Optional'
                    RequireManualSyncWhenRoaming = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    PasswordRecoveryEnabled = 'Boolean | Optional'
                    MaxPasswordFailedAttempts = 'String | Optional'
                    AllowSMIMESoftCerts = 'Boolean | Optional'
                    AlphanumericPasswordRequired = 'Boolean | Optional'
                    AllowCamera = 'Boolean | Optional'
                    AllowRemoteDesktop = 'Boolean | Optional'
                    IrmEnabled = 'Boolean | Optional'
                    RequireSignedSMIMEMessages = 'Boolean | Optional'
                    MaxInactivityTimeLock = 'String | Optional'
                    MaxEmailBodyTruncationSize = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    AllowConsumerEmail = 'Boolean | Optional'
                    AttachmentsEnabled = 'Boolean | Optional'
                    DevicePolicyRefreshInterval = 'String | Optional'
                    AllowInternetSharing = 'Boolean | Optional'
                    AllowBrowser = 'Boolean | Optional'
                    AllowStorageCard = 'Boolean | Optional'
                    AllowMicrosoftPushNotifications = 'Boolean | Optional'
                    Name = 'String | Required'
                    AllowSMIMEEncryptionAlgorithmNegotiation = 'String | Optional | AllowAnyAlgorithmNegotiation / BlockNegotiation / OnlyStrongAlgorithmNegotiation'
                    AllowHTMLEmail = 'Boolean | Optional'
                    IsDefault = 'Boolean | Optional'
                }
            )
            OfflineAddressBooks = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ConfiguredAttributes = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AddressLists = 'StringArray | Optional'
                    Name = 'String | Required'
                    DiffRetentionPeriod = 'String | Optional'
                    IsDefault = 'Boolean | Optional'
                }
            )
            OMEConfigurations = @(
                @{
                    Identity = 'String | Required'
                    SocialIdSignIn = 'Boolean | Optional'
                    IntroductionText = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    PrivacyStatementUrl = 'String | Optional'
                    ExternalMailExpiryInDays = 'UInt32 | Optional'
                    OTPEnabled = 'Boolean | Optional'
                    ReadButtonText = 'String | Optional'
                    EmailText = 'String | Optional'
                    DisclaimerText = 'String | Optional'
                    BackgroundColor = 'String | Optional'
                    PortalText = 'String | Optional'
                }
            )
            OnPremisesOrganizations = @(
                @{
                    Comment = 'String | Optional'
                    OrganizationGuid = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                    OutboundConnector = 'String | Optional'
                    OrganizationName = 'String | Optional'
                    HybridDomains = 'StringArray | Optional'
                    InboundConnector = 'String | Optional'
                    OrganizationRelationship = 'String | Optional'
                }
            )
            OrganizationConfig = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                IsGroupMemberAllowedToEditContent = 'Boolean | Optional'
                LeanPopoutEnabled = 'Boolean | Optional'
                LinkPreviewEnabled = 'Boolean | Optional'
                HierarchicalAddressBookRoot = 'String | Optional'
                IPListBlocked = 'StringArray | Optional'
                IsGroupFoldersAndRulesEnabled = 'Boolean | Optional'
                MailTipsAllTipsEnabled = 'Boolean | Optional'
                MailTipsMailboxSourcedTipsEnabled = 'Boolean | Optional'
                MaskClientIpInReceivedHeadersEnabled = 'Boolean | Optional'
                MatchSenderOrganizerProperties = 'Boolean | Optional'
                MailTipsExternalRecipientsTipsEnabled = 'Boolean | Optional'
                MailTipsGroupMetricsEnabled = 'Boolean | Optional'
                MailTipsLargeAudienceThreshold = 'UInt32 | Optional'
                FocusedInboxOn = 'Boolean | Optional'
                EwsAllowOutlook = 'Boolean | Optional'
                EwsApplicationAccessPolicy = 'String | Optional | EnforceAllowList / EnforceBlockList'
                EwsBlockList = 'StringArray | Optional'
                EwsAllowEntourage = 'Boolean | Optional'
                EwsAllowList = 'StringArray | Optional'
                EwsAllowMacOutlook = 'Boolean | Optional'
                EwsEnabled = 'Boolean | Optional'
                FindTimeAutoScheduleDisabled = 'Boolean | Optional'
                FindTimeLockPollForAttendeesEnabled = 'Boolean | Optional'
                FindTimeOnlineMeetingOptionDisabled = 'Boolean | Optional'
                ExchangeNotificationEnabled = 'Boolean | Optional'
                ExchangeNotificationRecipients = 'StringArray | Optional'
                FindTimeAttendeeAuthenticationEnabled = 'Boolean | Optional'
                MessageHighlightsEnabled = 'Boolean | Optional'
                ShortenEventScopeDefault = 'String | Optional'
                SiteMailboxCreationURL = 'String | Optional'
                SmtpActionableMessagesEnabled = 'Boolean | Optional'
                RemotePublicFolderMailboxes = 'StringArray | Optional'
                SendFromAliasEnabled = 'Boolean | Optional'
                SharedDomainEmailAddressFlowEnabled = 'Boolean | Optional'
                VisibleMeetingUpdateProperties = 'String | Optional'
                WebPushNotificationsDisabled = 'Boolean | Optional'
                WebSuggestedRepliesDisabled = 'Boolean | Optional'
                WorkspaceTenantEnabled = 'Boolean | Optional'
                RecallReadMessagesEnabled = 'Boolean | Optional'
                OAuth2ClientProfileEnabled = 'Boolean | Optional'
                OnlineMeetingsByDefaultEnabled = 'Boolean | Optional'
                OutlookGifPickerDisabled = 'Boolean | Optional'
                MessageRecallEnabled = 'Boolean | Optional'
                MessageRemindersEnabled = 'Boolean | Optional'
                MobileAppEducationEnabled = 'Boolean | Optional'
                OutlookMobileGCCRestrictionsEnabled = 'Boolean | Optional'
                PublicFoldersEnabled = 'String | Optional | None / Local / Remote'
                PublicFolderShowClientControl = 'Boolean | Optional'
                ReadTrackingEnabled = 'Boolean | Optional'
                OutlookPayEnabled = 'Boolean | Optional'
                OutlookTextPredictionDisabled = 'Boolean | Optional'
                PublicComputersDetectionEnabled = 'Boolean | Optional'
                BookingsNamingPolicyEnabled = 'Boolean | Optional'
                BookingsNamingPolicyPrefix = 'String | Optional'
                BookingsNamingPolicyPrefixEnabled = 'Boolean | Optional'
                BookingsEnabled = 'Boolean | Optional'
                BookingsExposureOfStaffDetailsRestricted = 'Boolean | Optional'
                BookingsMembershipApprovalRequired = 'Boolean | Optional'
                BookingsNamingPolicySuffix = 'String | Optional'
                BookingsPhoneNumberEntryRestricted = 'Boolean | Optional'
                BookingsSearchEngineIndexDisabled = 'Boolean | Optional'
                BookingsSmsMicrosoftEnabled = 'Boolean | Optional'
                BookingsNamingPolicySuffixEnabled = 'Boolean | Optional'
                BookingsNotesEntryRestricted = 'Boolean | Optional'
                BookingsPaymentsEnabled = 'Boolean | Optional'
                BookingsCreationOfCustomQuestionsRestricted = 'Boolean | Optional'
                ActivityBasedAuthenticationTimeoutWithSingleSignOnEnabled = 'Boolean | Optional'
                AppsForOfficeEnabled = 'Boolean | Optional'
                AsyncSendEnabled = 'Boolean | Optional'
                ActivityBasedAuthenticationTimeoutEnabled = 'Boolean | Optional'
                ActivityBasedAuthenticationTimeoutInterval = 'String | Optional'
                AuditDisabled = 'Boolean | Optional'
                BookingsAddressEntryRestricted = 'Boolean | Optional'
                BookingsAuthEnabled = 'Boolean | Optional'
                BookingsBlockedWordsEnabled = 'Boolean | Optional'
                AutodiscoverPartialDirSync = 'Boolean | Optional'
                AutoExpandingArchive = 'Boolean | Optional'
                BlockMoveMessagesForGroupFolders = 'Boolean | Optional'
                BookingsSocialSharingRestricted = 'Boolean | Optional'
                DefaultPublicFolderMovedItemRetention = 'String | Optional'
                DefaultPublicFolderProhibitPostQuota = 'String | Optional'
                DirectReportsGroupAutoCreationEnabled = 'Boolean | Optional'
                DefaultPublicFolderDeletedItemRetention = 'String | Optional'
                DefaultPublicFolderIssueWarningQuota = 'String | Optional'
                DefaultPublicFolderMaxItemSize = 'String | Optional'
                DisablePlusAddressInRecipients = 'Boolean | Optional'
                ElcProcessingDisabled = 'Boolean | Optional'
                EnableOutlookEvents = 'Boolean | Optional'
                EndUserDLUpgradeFlowsDisabled = 'Boolean | Optional'
                DistributionGroupDefaultOU = 'String | Optional'
                DistributionGroupNameBlockedWordsList = 'StringArray | Optional'
                DistributionGroupNamingPolicy = 'String | Optional'
                DefaultPublicFolderAgeLimit = 'String | Optional'
                ConnectorsEnabled = 'Boolean | Optional'
                ConnectorsEnabledForOutlook = 'Boolean | Optional'
                ConnectorsEnabledForSharepoint = 'Boolean | Optional'
                ByteEncoderTypeFor7BitCharsets = 'UInt32 | Optional'
                ComplianceMLBgdCrawlEnabled = 'Boolean | Optional'
                ConnectorsActionableMessagesEnabled = 'Boolean | Optional'
                ConnectorsEnabledForTeams = 'Boolean | Optional'
                DefaultGroupAccessType = 'String | Optional | Private / Public'
                DefaultMinutesToReduceLongEventsBy = 'UInt32 | Optional'
                DefaultMinutesToReduceShortEventsBy = 'UInt32 | Optional'
                ConnectorsEnabledForYammer = 'Boolean | Optional'
                CustomerLockboxEnabled = 'Boolean | Optional'
                DefaultAuthenticationPolicy = 'String | Optional'
            }
            OrganizationRelationships = @(
                @{
                    MailboxMovePublishedScopes = 'StringArray | Optional'
                    FreeBusyAccessLevel = 'String | Optional | None / AvailabilityOnly / LimitedDetails'
                    TargetAutodiscoverEpr = 'String | Optional'
                    DomainNames = 'StringArray | Optional'
                    MailboxMoveEnabled = 'Boolean | Optional'
                    MailboxMoveCapability = 'String | Optional | Inbound / Outbound / RemoteInbound / RemoteOutbound / None'
                    MailTipsAccessLevel = 'String | Optional | None / All / Limited'
                    OrganizationContact = 'String | Optional'
                    Name = 'String | Required'
                    ArchiveAccessEnabled = 'Boolean | Optional'
                    MailTipsAccessScope = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    OauthApplicationId = 'String | Optional'
                    TargetOwaURL = 'String | Optional'
                    DeliveryReportEnabled = 'Boolean | Optional'
                    MailTipsAccessEnabled = 'Boolean | Optional'
                    PhotosEnabled = 'Boolean | Optional'
                    TargetSharingEpr = 'String | Optional'
                    TargetApplicationUri = 'String | Optional'
                    FreeBusyAccessEnabled = 'Boolean | Optional'
                    Enabled = 'Boolean | Optional'
                    FreeBusyAccessScope = 'String | Optional'
                }
            )
            OutboundConnectors = @(
                @{
                    Comment = 'String | Optional'
                    RecipientDomains = 'StringArray | Optional'
                    TlsSettings = 'String | Optional | EncryptionOnly / CertificateValidation / DomainValidation'
                    ConnectorSource = 'String | Optional | Default / Migrated / HybridWizard'
                    Ensure = 'String | Optional | Present / Absent'
                    ValidationRecipients = 'StringArray | Optional'
                    ConnectorType = 'String | Optional | Partner / OnPremises'
                    TlsDomain = 'String | Optional'
                    CloudServicesMailEnabled = 'Boolean | Optional'
                    IsTransportRuleScoped = 'Boolean | Optional'
                    SenderRewritingEnabled = 'Boolean | Optional'
                    RouteAllMessagesViaOnPremises = 'Boolean | Optional'
                    AllAcceptedDomains = 'Boolean | Optional'
                    Identity = 'String | Required'
                    TestMode = 'Boolean | Optional'
                    SmartHosts = 'StringArray | Optional'
                    UseMXRecord = 'Boolean | Optional'
                    Enabled = 'Boolean | Optional'
                }
            )
            OwaMailboxPolicies = @(
                @{
                    MessagePreviewsDisabled = 'Boolean | Optional'
                    PersonalAccountCalendarsEnabled = 'Boolean | Optional'
                    ExplicitLogonEnabled = 'Boolean | Optional'
                    ShowOnlineArchiveEnabled = 'Boolean | Optional'
                    BlockedFileTypes = 'StringArray | Optional'
                    AllowedMimeTypes = 'StringArray | Optional'
                    ConditionalAccessPolicy = 'String | Optional | Off / ReadOnly / ReadOnlyPlusAttachmentsBlocked'
                    TeamSnapCalendarsEnabled = 'Boolean | Optional'
                    LocalEventsEnabled = 'Boolean | Optional'
                    WacViewingOnPublicComputersEnabled = 'Boolean | Optional'
                    OutlookBetaToggleEnabled = 'Boolean | Optional'
                    ExternalSPMySiteHostURL = 'String | Optional'
                    OnSendAddinsEnabled = 'Boolean | Optional'
                    ForceSaveMimeTypes = 'StringArray | Optional'
                    JournalEnabled = 'Boolean | Optional'
                    DisplayPhotosEnabled = 'Boolean | Optional'
                    GroupCreationEnabled = 'Boolean | Optional'
                    ForceSaveFileTypes = 'StringArray | Optional'
                    ChangeSettingsAccountEnabled = 'Boolean | Optional'
                    NpsSurveysEnabled = 'Boolean | Optional'
                    AdditionalAccountsEnabled = 'Boolean | Optional'
                    WacViewingOnPrivateComputersEnabled = 'Boolean | Optional'
                    TextMessagingEnabled = 'Boolean | Optional'
                    SearchFoldersEnabled = 'Boolean | Optional'
                    UserVoiceEnabled = 'Boolean | Optional'
                    ForceWacViewingFirstOnPublicComputers = 'Boolean | Optional'
                    InterestingCalendarsEnabled = 'Boolean | Optional'
                    GlobalAddressListEnabled = 'Boolean | Optional'
                    IRMEnabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    DirectFileAccessOnPublicComputersEnabled = 'Boolean | Optional'
                    DirectFileAccessOnPrivateComputersEnabled = 'Boolean | Optional'
                    SetPhotoURL = 'String | Optional'
                    ItemsToOtherAccountsEnabled = 'Boolean | Optional'
                    SignaturesEnabled = 'Boolean | Optional'
                    WacOMEXEnabled = 'Boolean | Optional'
                    WacExternalServicesEnabled = 'Boolean | Optional'
                    InternalSPMySiteHostURL = 'String | Optional'
                    RemindersAndNotificationsEnabled = 'Boolean | Optional'
                    SatisfactionEnabled = 'Boolean | Optional'
                    InstantMessagingType = 'String | Optional | None / Ocs'
                    ActiveSyncIntegrationEnabled = 'Boolean | Optional'
                    PersonalAccountsEnabled = 'Boolean | Optional'
                    DefaultTheme = 'String | Optional'
                    SetPhotoEnabled = 'Boolean | Optional'
                    ClassicAttachmentsEnabled = 'Boolean | Optional'
                    AllowCopyContactsToDeviceAddressBook = 'Boolean | Optional'
                    UseISO885915 = 'Boolean | Optional'
                    OutboundCharset = 'String | Optional | AutoDetect / AlwaysUTF8 / UserLanguageChoice'
                    PlacesEnabled = 'Boolean | Optional'
                    ReportJunkEmailEnabled = 'Boolean | Optional'
                    ForceWacViewingFirstOnPrivateComputers = 'Boolean | Optional'
                    RecoverDeletedItemsEnabled = 'Boolean | Optional'
                    NotesEnabled = 'Boolean | Optional'
                    OrganizationEnabled = 'Boolean | Optional'
                    WebPartsFrameOptionsType = 'String | Optional | None / SameOrigin / Deny'
                    ActionForUnknownFileAndMIMETypes = 'String | Optional | Allow / ForceSave / Block'
                    WacEditingEnabled = 'Boolean | Optional'
                    PublicFoldersEnabled = 'Boolean | Optional'
                    BookingsMailboxCreationEnabled = 'Boolean | Optional'
                    ForceSaveAttachmentFilteringEnabled = 'Boolean | Optional'
                    LogonAndErrorLanguage = 'SInt32 | Optional'
                    AllAddressListsEnabled = 'Boolean | Optional'
                    ExternalImageProxyEnabled = 'Boolean | Optional'
                    ProjectMocaEnabled = 'Boolean | Optional'
                    PremiumClientEnabled = 'Boolean | Optional'
                    BlockedMimeTypes = 'StringArray | Optional'
                    UMIntegrationEnabled = 'Boolean | Optional'
                    FeedbackEnabled = 'Boolean | Optional'
                    ThemeSelectionEnabled = 'Boolean | Optional'
                    WeatherEnabled = 'Boolean | Optional'
                    IsDefault = 'Boolean | Optional'
                    AllowedFileTypes = 'StringArray | Optional'
                    RulesEnabled = 'Boolean | Optional'
                    OneWinNativeOutlookEnabled = 'Boolean | Optional'
                    FreCardsEnabled = 'Boolean | Optional'
                    Name = 'String | Required'
                    InstantMessagingEnabled = 'Boolean | Optional'
                    AdditionalStorageProvidersAvailable = 'Boolean | Optional'
                    UseGB18030 = 'Boolean | Optional'
                    OWALightEnabled = 'Boolean | Optional'
                    PrintWithoutDownloadEnabled = 'Boolean | Optional'
                    SaveAttachmentsToCloudEnabled = 'Boolean | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    SkipCreateUnifiedGroupCustomSharepointClassification = 'Boolean | Optional'
                    ReferenceAttachmentsEnabled = 'Boolean | Optional'
                    DisableFacebook = 'Boolean | Optional'
                    PhoneticSupportEnabled = 'Boolean | Optional'
                }
            )
            PartnerApplications = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    AcceptSecurityIdentifierInformation = 'Boolean | Optional'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ApplicationIdentifier = 'String | Optional'
                    Name = 'String | Required'
                    LinkedAccount = 'String | Optional'
                    AccountType = 'String | Optional | OrganizationalAccount / ConsumerAccount'
                }
            )
            PerimeterConfiguration = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                GatewayIPAddresses = 'StringArray | Optional'
                Ensure = 'String | Optional | Present / Absent'
            }
            Places = @(
                @{
                    Street = 'String | Optional'
                    Tags = 'StringArray | Optional'
                    ParentId = 'String | Optional'
                    FloorLabel = 'String | Optional'
                    Floor = 'String | Optional'
                    MTREnabled = 'Boolean | Optional'
                    Label = 'String | Optional'
                    AudioDeviceName = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Desks = 'StringArray | Optional'
                    ParentType = 'String | Optional | Floor / Section / None'
                    Capacity = 'UInt32 | Optional'
                    GeoCoordinates = 'String | Optional'
                    CountryOrRegion = 'String | Optional'
                    PostalCode = 'String | Optional'
                    State = 'String | Optional'
                    Identity = 'String | Required'
                    DisplayDeviceName = 'String | Optional'
                    City = 'String | Optional'
                    Building = 'String | Optional'
                    VideoDeviceName = 'String | Optional'
                    IsWheelChairAccessible = 'Boolean | Optional'
                    Phone = 'String | Optional'
                }
            )
            PoliciesTipConfig = @(
                @{
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Value = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            QuarantinePolicies = @(
                @{
                    EndUserQuarantinePermissionsValue = 'UInt32 | Optional'
                    CustomDisclaimer = 'String | Optional'
                    EndUserSpamNotificationCustomFromAddress = 'String | Optional'
                    MultiLanguageSetting = 'StringArray | Optional'
                    ESNEnabled = 'Boolean | Optional'
                    MultiLanguageCustomDisclaimer = 'StringArray | Optional'
                    EndUserSpamNotificationFrequencyInDays = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    EsnCustomSubject = 'StringArray | Optional'
                    Identity = 'String | Required'
                    OrganizationBrandingEnabled = 'Boolean | Optional'
                    MultiLanguageSenderName = 'StringArray | Optional'
                    EndUserSpamNotificationFrequency = 'String | Optional'
                    QuarantinePolicyType = 'String | Optional'
                }
            )
            RemoteDomains = @(
                @{
                    CharacterSet = 'String | Optional'
                    DisplaySenderName = 'Boolean | Optional'
                    Name = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AutoReplyEnabled = 'Boolean | Optional'
                    TNEFEnabled = 'Boolean | Optional'
                    UseSimpleDisplayName = 'Boolean | Optional'
                    LineWrapSize = 'String | Optional'
                    PreferredInternetCodePageForShiftJis = 'String | Optional | 50220 / 50221 / 50222 / Undefined'
                    TrustedMailOutboundEnabled = 'Boolean | Optional'
                    NonMimeCharacterSet = 'String | Optional'
                    TargetDeliveryDomain = 'Boolean | Optional'
                    ContentType = 'String | Optional | MimeHtmlText / MimeText / MimeHtml'
                    AutoForwardEnabled = 'Boolean | Optional'
                    Identity = 'String | Required'
                    TrustedMailInboundEnabled = 'Boolean | Optional'
                    DeliveryReportEnabled = 'Boolean | Optional'
                    IsInternal = 'Boolean | Optional'
                    ByteEncoderTypeFor7BitCharsets = 'String | Optional | Use7Bit / UseQP / UseBase64 / UseQPHtmlDetectTextPlain / UseBase64HtmlDetectTextPlain / UseQPHtml7BitTextPlain / UseBase64Html7BitTextPlain / Undefined'
                    RequiredCharsetCoverage = 'SInt32 | Optional'
                    DomainName = 'String | Optional'
                    NDREnabled = 'Boolean | Optional'
                    AllowedOOFType = 'String | Optional | External / ExternalLegacy / InternalLegacy / None'
                    MeetingForwardNotificationEnabled = 'Boolean | Optional'
                }
            )
            ResourceConfiguration = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                ResourcePropertySchema = 'StringArray | Optional'
                Ensure = 'String | Optional | Present / Absent'
            }
            RoleAssignmentPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Description = 'String | Optional'
                    Roles = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Name = 'String | Required'
                    IsDefault = 'Boolean | Optional'
                }
            )
            RoleGroups = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Description = 'String | Optional'
                    Roles = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Name = 'String | Required'
                    Members = 'StringArray | Optional'
                }
            )
            SafeAttachmentPolicies = @(
                @{
                    Redirect = 'Boolean | Optional'
                    Enable = 'Boolean | Optional'
                    Action = 'String | Optional | Block / Replace / Allow / DynamicDelivery'
                    Ensure = 'String | Optional | Present / Absent'
                    RedirectAddress = 'String | Optional'
                    AdminDisplayName = 'String | Optional'
                    Identity = 'String | Required'
                    QuarantineTag = 'String | Optional'
                    ActionOnError = 'Boolean | Optional'
                }
            )
            SafeAttachmentRules = @(
                @{
                    Identity = 'String | Required'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    RecipientDomainIs = 'StringArray | Optional'
                    ExceptIfRecipientDomainIs = 'StringArray | Optional'
                    Comments = 'String | Optional'
                    SentToMemberOf = 'StringArray | Optional'
                    ExceptIfSentTo = 'StringArray | Optional'
                    SentTo = 'StringArray | Optional'
                    ExceptIfSentToMemberOf = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                    SafeAttachmentPolicy = 'String | Required'
                }
            )
            SafeLinksPolicies = @(
                @{
                    DisableUrlRewrite = 'Boolean | Optional'
                    EnableForInternalSenders = 'Boolean | Optional'
                    EnableOrganizationBranding = 'Boolean | Optional'
                    AdminDisplayName = 'String | Optional'
                    EnableSafeLinksForOffice = 'Boolean | Optional'
                    TrackClicks = 'Boolean | Optional'
                    EnableSafeLinksForEmail = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    DoNotRewriteUrls = 'StringArray | Optional'
                    EnableSafeLinksForTeams = 'Boolean | Optional'
                    AllowClickThrough = 'Boolean | Optional'
                    CustomNotificationText = 'String | Optional'
                    DeliverMessageAfterScan = 'Boolean | Optional'
                    ScanUrls = 'Boolean | Optional'
                    Identity = 'String | Required'
                    UseTranslatedNotificationText = 'Boolean | Optional'
                }
            )
            SafeLinksRules = @(
                @{
                    Identity = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Enabled = 'Boolean | Optional'
                    ExceptIfSentTo = 'StringArray | Optional'
                    RecipientDomainIs = 'StringArray | Optional'
                    Comments = 'String | Optional'
                    SentToMemberOf = 'StringArray | Optional'
                    ExceptIfRecipientDomainIs = 'StringArray | Optional'
                    SentTo = 'StringArray | Optional'
                    ExceptIfSentToMemberOf = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                    SafeLinksPolicy = 'String | Required'
                }
            )
            SharedMailboxs = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                    Alias = 'String | Optional'
                    EmailAddresses = 'StringArray | Optional'
                    PrimarySMTPAddress = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            SharingPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Enabled = 'Boolean | Optional'
                    Default = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Domains = 'StringArray | Optional'
                    Name = 'String | Required'
                }
            )
            TransportConfig = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                JournalingReportNdrTo = 'String | Optional'
                MaxRecipientEnvelopeLimit = 'String | Optional'
                ReplyAllStormBlockDurationHours = 'SInt32 | Optional'
                JournalMessageExpirationDays = 'SInt32 | Optional'
                InternalDsnLanguageDetectionEnabled = 'Boolean | Optional'
                InternalDsnReportingAuthority = 'String | Optional'
                InternalDsnSendHtml = 'Boolean | Optional'
                ReplyAllStormDetectionMinimumRecipients = 'SInt32 | Optional'
                SmtpClientAuthenticationDisabled = 'Boolean | Optional'
                ReplyAllStormDetectionMinimumReplies = 'SInt32 | Optional'
                ReplyAllStormProtectionEnabled = 'Boolean | Optional'
                Rfc2231EncodingEnabled = 'Boolean | Optional'
                ConvertDisclaimerWrapperToEml = 'Boolean | Optional'
                DSNConversionMode = 'String | Optional'
                ExternalDelayDsnEnabled = 'Boolean | Optional'
                ClearCategories = 'Boolean | Optional'
                AddressBookPolicyRoutingEnabled = 'Boolean | Optional'
                AllowLegacyTLSClients = 'Boolean | Optional'
                ExternalDsnDefaultLanguage = 'String | Optional'
                HeaderPromotionModeSetting = 'String | Optional'
                InternalDelayDsnEnabled = 'Boolean | Optional'
                InternalDsnDefaultLanguage = 'String | Optional'
                ExternalPostmasterAddress = 'String | Optional'
                ExternalDsnLanguageDetectionEnabled = 'Boolean | Optional'
                ExternalDsnReportingAuthority = 'String | Optional'
                ExternalDsnSendHtml = 'Boolean | Optional'
            }
            TransportRules = @(
                @{
                    ActivationDate = 'String | Optional'
                    ApplyHtmlDisclaimerFallbackAction = 'String | Optional | Wrap / Ignore / Reject'
                    ExceptIfRecipientADAttributeContainsWords = 'StringArray | Optional'
                    RecipientADAttributeMatchesPatterns = 'StringArray | Optional'
                    AttachmentSizeOver = 'String | Optional'
                    ExceptIfSenderADAttributeContainsWords = 'StringArray | Optional'
                    SetSCL = 'String | Optional'
                    ExceptIfSentToMemberOf = 'StringArray | Optional'
                    ExceptIfAnyOfCcHeader = 'StringArray | Optional'
                    ExceptIfAttachmentMatchesPatterns = 'StringArray | Optional'
                    RecipientDomainIs = 'StringArray | Optional'
                    SenderADAttributeContainsWords = 'StringArray | Optional'
                    ExceptIfHeaderMatchesPatterns = 'StringArray | Optional'
                    ExceptIfFromScope = 'String | Optional | InOrganization / NotInOrganization'
                    ADComparisonAttribute = 'String | Optional'
                    From = 'StringArray | Optional'
                    ExceptIfHeaderContainsWords = 'StringArray | Optional'
                    HeaderMatchesPatterns = 'StringArray | Optional'
                    RemoveRMSAttachmentEncryption = 'Boolean | Optional'
                    DeleteMessage = 'Boolean | Optional'
                    HasSenderOverride = 'Boolean | Optional'
                    ExceptIfSubjectOrBodyMatchesPatterns = 'StringArray | Optional'
                    ExceptIfHasSenderOverride = 'Boolean | Optional'
                    Quarantine = 'Boolean | Optional'
                    AnyOfCcHeaderMemberOf = 'StringArray | Optional'
                    ExceptIfRecipientInSenderList = 'StringArray | Optional'
                    RecipientAddressType = 'String | Optional | Original / Resolved'
                    ExceptIfContentCharacterSetContainsWords = 'StringArray | Optional'
                    BlindCopyTo = 'StringArray | Optional'
                    ApplyHtmlDisclaimerLocation = 'String | Optional | Append / Prepend'
                    ExceptIfMessageTypeMatches = 'String | Optional | OOF / AutoForward / Encrypted / Calendaring / PermissionControlled / Voicemail / Signed / ApprovalRequest / ReadReceipt'
                    SenderIpRanges = 'StringArray | Optional'
                    ExceptIfMessageContainsDataClassifications = 'StringArray | Optional'
                    ModerateMessageByUser = 'StringArray | Optional'
                    HasNoClassification = 'Boolean | Optional'
                    ExceptIfSenderInRecipientList = 'StringArray | Optional'
                    HeaderContainsMessageHeader = 'String | Optional'
                    RemoveHeader = 'String | Optional'
                    HasClassification = 'String | Optional'
                    MessageContainsDataClassifications = 'StringArray | Optional'
                    ExceptIfFromMemberOf = 'StringArray | Optional'
                    RuleSubType = 'String | Optional | Dlp / None'
                    ExceptIfFromAddressContainsWords = 'StringArray | Optional'
                    SentToScope = 'String | Optional | InOrganization / NotInOrganization / ExternalPartner / ExternalNonPartner'
                    AnyOfToCcHeaderMemberOf = 'StringArray | Optional'
                    SCLOver = 'String | Optional'
                    ExceptIfAnyOfRecipientAddressContainsWords = 'StringArray | Optional'
                    ExceptIfWithImportance = 'String | Optional | Low / Normal / High'
                    ContentCharacterSetContainsWords = 'StringArray | Optional'
                    SubjectContainsWords = 'StringArray | Optional'
                    RejectMessageEnhancedStatusCode = 'String | Optional'
                    SenderADAttributeMatchesPatterns = 'StringArray | Optional'
                    ExceptIfSenderADAttributeMatchesPatterns = 'StringArray | Optional'
                    IncidentReportContent = 'StringArray | Optional'
                    FromMemberOf = 'StringArray | Optional'
                    AttachmentContainsWords = 'StringArray | Optional'
                    ExceptIfSCLOver = 'String | Optional'
                    ExceptIfBetweenMemberOf1 = 'StringArray | Optional'
                    GenerateNotification = 'String | Optional'
                    NotifySender = 'String | Optional | NotifyOnly / RejectMessage / RejectUnlessFalsePositiveOverride / RejectUnlessSilentOverride / RejectUnlessExplicitOverride'
                    ExceptIfAttachmentIsPasswordProtected = 'Boolean | Optional'
                    AddToRecipients = 'StringArray | Optional'
                    ExceptIfSenderManagementRelationship = 'String | Optional | Manager / DirectReport'
                    SetAuditSeverity = 'String | Optional | DoNotAudit / Low / Medium / High'
                    AttachmentPropertyContainsWords = 'StringArray | Optional'
                    ExceptIfAnyOfToHeader = 'StringArray | Optional'
                    ApplyRightsProtectionCustomizationTemplate = 'String | Optional'
                    SetHeaderName = 'String | Optional'
                    RouteMessageOutboundRequireTls = 'Boolean | Optional'
                    RuleErrorAction = 'String | Optional | Ignore / Defer'
                    FromScope = 'String | Optional | InOrganization / NotInOrganization'
                    AttachmentNameMatchesPatterns = 'StringArray | Optional'
                    SentTo = 'StringArray | Optional'
                    ExceptIfFromAddressMatchesPatterns = 'StringArray | Optional'
                    Enabled = 'Boolean | Optional'
                    AttachmentIsPasswordProtected = 'Boolean | Optional'
                    ExceptIfManagerForEvaluatedUser = 'String | Optional'
                    RemoveOMEv2 = 'Boolean | Optional'
                    AnyOfToHeaderMemberOf = 'StringArray | Optional'
                    AttachmentHasExecutableContent = 'Boolean | Optional'
                    ExceptIfHasClassification = 'String | Optional'
                    RouteMessageOutboundConnector = 'String | Optional'
                    ExceptIfAttachmentNameMatchesPatterns = 'StringArray | Optional'
                    ExceptIfRecipientDomainIs = 'StringArray | Optional'
                    ExceptIfSenderDomainIs = 'StringArray | Optional'
                    SenderManagementRelationship = 'String | Optional | Manager / DirectReport'
                    ExceptIfBetweenMemberOf2 = 'StringArray | Optional'
                    RedirectMessageTo = 'StringArray | Optional'
                    ApplyOME = 'Boolean | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ExceptIfAttachmentSizeOver = 'String | Optional'
                    SenderDomainIs = 'StringArray | Optional'
                    MessageSizeOver = 'String | Optional'
                    ApplyHtmlDisclaimerText = 'String | Optional'
                    ExceptIfAttachmentHasExecutableContent = 'Boolean | Optional'
                    ExceptIfAttachmentIsUnsupported = 'Boolean | Optional'
                    ExceptIfAnyOfRecipientAddressMatchesPatterns = 'StringArray | Optional'
                    RemoveOME = 'Boolean | Optional'
                    RejectMessageReasonText = 'String | Optional'
                    RecipientAddressContainsWords = 'StringArray | Optional'
                    GenerateIncidentReport = 'String | Optional'
                    FromAddressContainsWords = 'StringArray | Optional'
                    AnyOfRecipientAddressMatchesPatterns = 'StringArray | Optional'
                    RecipientAddressMatchesPatterns = 'StringArray | Optional'
                    ExceptIfSubjectContainsWords = 'StringArray | Optional'
                    ExceptIfFrom = 'StringArray | Optional'
                    AnyOfToCcHeader = 'StringArray | Optional'
                    ExceptIfSentToScope = 'String | Optional | InOrganization / NotInOrganization / ExternalPartner / ExternalNonPartner'
                    ExceptIfAnyOfToCcHeaderMemberOf = 'StringArray | Optional'
                    ModerateMessageByManager = 'Boolean | Optional'
                    ADComparisonOperator = 'String | Optional | Equal / NotEqual'
                    BetweenMemberOf2 = 'StringArray | Optional'
                    SubjectMatchesPatterns = 'StringArray | Optional'
                    AttachmentProcessingLimitExceeded = 'Boolean | Optional'
                    ExceptIfAnyOfCcHeaderMemberOf = 'StringArray | Optional'
                    ExceptIfSubjectMatchesPatterns = 'StringArray | Optional'
                    Name = 'String | Required'
                    ExceptIfRecipientAddressContainsWords = 'StringArray | Optional'
                    HeaderMatchesMessageHeader = 'String | Optional'
                    AnyOfRecipientAddressContainsWords = 'StringArray | Optional'
                    HeaderContainsWords = 'StringArray | Optional'
                    ManagerForEvaluatedUser = 'String | Optional | Recipient / Sender'
                    Comments = 'String | Optional'
                    SentToMemberOf = 'StringArray | Optional'
                    WithImportance = 'String | Optional | Low / Normal / High'
                    ExceptIfSentTo = 'StringArray | Optional'
                    AddManagerAsRecipientType = 'String | Optional | To / Cc / Bcc / Redirect'
                    ExceptIfADComparisonOperator = 'String | Optional | Equal / NotEqual'
                    ExceptIfAnyOfToHeaderMemberOf = 'StringArray | Optional'
                    Mode = 'String | Optional | Audit / AuditAndNotify / Enforce'
                    RecipientInSenderList = 'StringArray | Optional'
                    SubjectOrBodyMatchesPatterns = 'StringArray | Optional'
                    ExceptIfAttachmentExtensionMatchesWords = 'StringArray | Optional'
                    ExceptIfRecipientAddressMatchesPatterns = 'StringArray | Optional'
                    ExceptIfHasNoClassification = 'Boolean | Optional'
                    ExceptIfSenderIpRanges = 'StringArray | Optional'
                    ExceptIfRecipientADAttributeMatchesPatterns = 'StringArray | Optional'
                    RecipientADAttributeContainsWords = 'StringArray | Optional'
                    AttachmentIsUnsupported = 'Boolean | Optional'
                    ExpiryDate = 'String | Optional'
                    AttachmentExtensionMatchesWords = 'StringArray | Optional'
                    ExceptIfSubjectOrBodyContainsWords = 'StringArray | Optional'
                    ExceptIfManagerAddresses = 'StringArray | Optional'
                    SenderInRecipientList = 'String | Optional'
                    ExceptIfAnyOfToCcHeader = 'StringArray | Optional'
                    AttachmentMatchesPatterns = 'StringArray | Optional'
                    DlpPolicy = 'String | Optional'
                    ManagerAddresses = 'StringArray | Optional'
                    SenderAddressLocation = 'String | Optional | Header / Envelope / HeaderOrEnvelope'
                    CopyTo = 'StringArray | Optional'
                    SubjectOrBodyContainsWords = 'StringArray | Optional'
                    ApplyClassification = 'String | Optional'
                    ExceptIfADComparisonAttribute = 'String | Optional'
                    SetHeaderValue = 'String | Optional'
                    Priority = 'String | Optional'
                    BetweenMemberOf1 = 'StringArray | Optional'
                    ExceptIfMessageSizeOver = 'String | Optional'
                    AnyOfCcHeader = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ExceptIfAttachmentProcessingLimitExceeded = 'Boolean | Optional'
                    FromAddressMatchesPatterns = 'StringArray | Optional'
                    ExceptIfHeaderMatchesMessageHeader = 'String | Optional'
                    ExceptIfAttachmentContainsWords = 'StringArray | Optional'
                    AnyOfToHeader = 'StringArray | Optional'
                    PrependSubject = 'String | Optional'
                    ApplyRightsProtectionTemplate = 'String | Optional'
                    MessageTypeMatches = 'String | Optional | OOF / AutoForward / Encrypted / Calendaring / PermissionControlled / Voicemail / Signed / ApprovalRequest / ReadReceipt'
                    ExceptIfAttachmentPropertyContainsWords = 'StringArray | Optional'
                    StopRuleProcessing = 'Boolean | Optional'
                    ExceptIfHeaderContainsMessageHeader = 'String | Optional'
                }
            )
        }
        Intune = @{
            AccountProtectionLocalAdministratorPasswordSolutionPolicies = @(
                @{
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    AdPasswordEncryptionEnabled = 'Boolean | Optional'
                    AdPasswordEncryptionPrincipal = 'String | Optional'
                    PasswordLength = 'UInt32 | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    PostAuthenticationActions = 'UInt32 | Optional | 1 / 3 / 5'
                    Ensure = 'String | Optional | Present / Absent'
                    PasswordAgeDays_AAD = 'UInt32 | Optional'
                    BackupDirectory = 'UInt32 | Optional | 0 / 1 / 2'
                    PostAuthenticationResetDelay = 'UInt32 | Optional'
                    PasswordAgeDays = 'UInt32 | Optional'
                    Identity = 'String | Required'
                    AdEncryptedPasswordHistorySize = 'UInt32 | Optional'
                    AdministratorAccountName = 'String | Optional'
                    PasswordExpirationProtectionEnabled = 'Boolean | Optional'
                    PasswordComplexity = 'UInt32 | Optional | 1 / 2 / 3 / 4'
                }
            )
            AccountProtectionLocalUserGroupMembershipPolicies = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                    LocalUserGroupCollection = @(
                        @{
                            LocalGroups = 'StringArray | Optional'
                            Members = 'StringArray | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Action = 'String | Optional | add_update / remove_update / add_replace'
                            UserSelectionType = 'String | Optional | users / manual'
                        }
                    )
                }
            )
            AccountProtectionPolicies = @(
                @{
                    PinRecoveryEnabled = 'Boolean | Optional'
                    PinExpirationInDays = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    UseSecurityKeyForSignin = 'Boolean | Optional'
                    PinUppercaseCharactersUsage = 'String | Optional | notConfigured / blocked / required / allowed'
                    DisplayName = 'String | Required'
                    SecurityDeviceRequired = 'Boolean | Optional'
                    UseCertificatesForOnPremisesAuthEnabled = 'Boolean | Optional'
                    UnlockWithBiometricsEnabled = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Ensure = 'String | Optional | Present / Absent'
                    PinLowercaseCharactersUsage = 'String | Optional | notConfigured / blocked / required / allowed'
                    Identity = 'String | Required'
                    PinPreviousBlockCount = 'UInt32 | Optional'
                    WindowsHelloForBusinessBlocked = 'String | Optional | notConfigured / true / false'
                    DeviceGuardLocalSystemAuthorityCredentialGuardSettings = 'String | Optional | notConfigured / disable / enableWithUEFILock / enableWithoutUEFILock'
                    PinSpecialCharactersUsage = 'String | Optional | notConfigured / blocked / required / allowed'
                    PinMaximumLength = 'UInt32 | Optional'
                    EnhancedAntiSpoofingForFacialFeaturesEnabled = 'Boolean | Optional'
                    PinMinimumLength = 'UInt32 | Optional'
                }
            )
            AntivirusPoliciesWindows10SettingCatalog = @(
                @{
                    signatureupdatefallbackorder = 'StringArray | Optional'
                    engineupdateschannel = 'String | Optional | 0 / 2 / 3 / 4 / 5 / 6'
                    disableaccountprotectionui = 'String | Optional | 0 / 1'
                    severethreats = 'String | Optional | clean / quarantine / remove / allow / userdefined / block'
                    disabletpmfirmwareupdatewarning = 'String | Optional | 0 / 1'
                    cloudextendedtimeout = 'SInt32 | Optional'
                    signatureupdatefilesharessources = 'StringArray | Optional'
                    daystoretaincleanedmalware = 'SInt32 | Optional'
                    disablecatchupfullscan = 'String | Optional | 0 / 1'
                    schedulequickscantime = 'SInt32 | Optional'
                    disablehealthui = 'String | Optional | 0 / 1'
                    allowscanningnetworkfiles = 'String | Optional | 0 / 1'
                    allowioavprotection = 'String | Optional | 0 / 1'
                    url = 'String | Optional'
                    disablefamilyui = 'String | Optional | 0 / 1'
                    securityintelligenceupdateschannel = 'String | Optional | 0 / 4 / 5'
                    disablelocaladminmerge = 'String | Optional | 0 / 1'
                    excludedextensions = 'StringArray | Optional'
                    enablelowcpupriority = 'String | Optional | 0 / 1'
                    templateId = 'String | Optional | d948ff9b-99cb-4ee0-8012-1fbc09685377_1 / e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1 / 45fea5e9-280d-4da1-9792-fb5736da0ca9_1 / 804339ad-1553-4478-a742-138fb5807418_1'
                    allowuseruiaccess = 'String | Optional | 0 / 1'
                    allowrealtimemonitoring = 'String | Optional | 0 / 1'
                    enableinappcustomization = 'String | Optional | 0 / 1'
                    email = 'String | Optional'
                    moderateseveritythreats = 'String | Optional | clean / quarantine / remove / allow / userdefined / block'
                    companyname = 'String | Optional'
                    hideransomwaredatarecovery = 'String | Optional | 0 / 1'
                    schedulescantime = 'SInt32 | Optional'
                    Description = 'String | Optional'
                    disablenetworkui = 'String | Optional | 0 / 1'
                    allowfullscanonmappednetworkdrives = 'String | Optional | 0 / 1'
                    checkforsignaturesbeforerunningscan = 'String | Optional | 0 / 1'
                    Ensure = 'String | Optional | Present / Absent'
                    signatureupdateinterval = 'SInt32 | Optional'
                    phone = 'String | Optional'
                    DisplayName = 'String | Required'
                    disabledevicesecurityui = 'String | Optional | 0 / 1'
                    tamperprotection = 'String | Optional | 0 / 1'
                    puaprotection = 'String | Optional | 0 / 1 / 2'
                    highseveritythreats = 'String | Optional | clean / quarantine / remove / allow / userdefined / block'
                    allowemailscanning = 'String | Optional | 0 / 1'
                    cloudblocklevel = 'String | Optional | 0 / 2 / 4 / 6'
                    disablecatchupquickscan = 'String | Optional | 0 / 1'
                    allowfullscanremovabledrivescanning = 'String | Optional | 0 / 1'
                    enablecustomizedtoasts = 'String | Optional | 0 / 1'
                    excludedprocesses = 'StringArray | Optional'
                    allowonaccessprotection = 'String | Optional | 0 / 1'
                    hidewindowssecuritynotificationareacontrol = 'String | Optional | 0 / 1'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    realtimescandirection = 'String | Optional | 0 / 1 / 2'
                    avgcpuloadfactor = 'SInt32 | Optional'
                    disablecleartpmbutton = 'String | Optional | 0 / 1'
                    disablevirusui = 'String | Optional | 0 / 1'
                    disableenhancednotifications = 'String | Optional | 0 / 1'
                    disableappbrowserui = 'String | Optional | 0 / 1'
                    enablenetworkprotection = 'String | Optional | 0 / 1 / 2'
                    allowintrusionpreventionsystem = 'String | Optional | 0 / 1'
                    allowscriptscanning = 'String | Optional | 0 / 1'
                    excludedpaths = 'StringArray | Optional'
                    lowseveritythreats = 'String | Optional | clean / quarantine / remove / allow / userdefined / block'
                    platformupdateschannel = 'String | Optional | 0 / 2 / 3 / 4 / 5 / 6'
                    schedulescanday = 'String | Optional | 0 / 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8'
                    allowcloudprotection = 'String | Optional | 0 / 1'
                    allowarchivescanning = 'String | Optional | 0 / 1'
                    Identity = 'String | Optional'
                    scanparameter = 'String | Optional | 1 / 2'
                    submitsamplesconsent = 'String | Optional | 0 / 1 / 2 / 3'
                    allowbehaviormonitoring = 'String | Optional | 0 / 1'
                }
            )
            AppConfigurationPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    CustomSettings = @(
                        @{
                            name = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            value = 'String | Optional'
                        }
                    )
                    DisplayName = 'String | Required'
                }
            )
            ApplicationControlPoliciesWindows10 = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AppLockerApplicationControl = 'String | Optional | notConfigured / enforceComponentsAndStoreApps / auditComponentsAndStoreApps / enforceComponentsStoreAppsAndSmartlocker / auditComponentsStoreAppsAndSmartlocker'
                    SmartScreenEnableInshell = 'Boolean | Optional'
                    SmartScreenBlockOverrideForFiles = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                }
            )
            AppProtectionPoliciesAndroid = @(
                @{
                    MinimumRequiredAppVersion = 'String | Optional'
                    ContactSyncBlocked = 'Boolean | Optional'
                    Description = 'String | Optional'
                    MinimumRequiredPatchVersion = 'String | Optional'
                    DisableAppEncryptionIfDeviceEncryptionIsEnabled = 'Boolean | Optional'
                    Assignments = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                    CustomBrowserDisplayName = 'String | Optional'
                    RequireClass3Biometrics = 'Boolean | Optional'
                    AllowedInboundDataTransferSources = 'String | Optional | allApps / managedApps / none'
                    AllowedOutboundDataTransferDestinations = 'String | Optional | allApps / managedApps / none'
                    MaximumPinRetries = 'UInt32 | Optional'
                    MinimumWarningOSVersion = 'String | Optional'
                    FingerprintBlocked = 'Boolean | Optional'
                    PinRequired = 'Boolean | Optional'
                    ManagedBrowserToOpenLinksRequired = 'Boolean | Optional'
                    OrganizationalCredentialsRequired = 'Boolean | Optional'
                    SimplePinBlocked = 'Boolean | Optional'
                    PrintBlocked = 'Boolean | Optional'
                    PeriodOfflineBeforeWipeIsEnforced = 'String | Optional'
                    CustomBrowserPackageId = 'String | Optional'
                    ScreenCaptureBlocked = 'Boolean | Optional'
                    AppGroupType = 'String | Optional | allApps / allMicrosoftApps / allCoreMicrosoftApps / selectedPublicApps'
                    ManagedBrowser = 'String | Optional | notConfigured / microsoftEdge'
                    PeriodBeforePinReset = 'String | Optional'
                    EncryptAppData = 'Boolean | Optional'
                    AllowedOutboundClipboardSharingLevel = 'String | Optional | allApps / managedAppsWithPasteIn / managedApps / blocked'
                    AllowedDataStorageLocations = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    MinimumWarningPatchVersion = 'String | Optional'
                    DeviceComplianceRequired = 'Boolean | Optional'
                    IsAssigned = 'Boolean | Optional'
                    MinimumPinLength = 'UInt32 | Optional'
                    Id = 'String | Optional'
                    DataBackupBlocked = 'Boolean | Optional'
                    Apps = 'StringArray | Optional'
                    MinimumRequiredOSVersion = 'String | Optional'
                    DisableAppPinIfDevicePinIsSet = 'Boolean | Optional'
                    RequirePinAfterBiometricChange = 'Boolean | Optional'
                    MinimumWarningAppVersion = 'String | Optional'
                    PeriodOnlineBeforeAccessCheck = 'String | Optional'
                    PinCharacterSet = 'String | Optional | numeric / alphanumericAndSymbol'
                    PeriodOfflineBeforeAccessCheck = 'String | Optional'
                    SaveAsBlocked = 'Boolean | Optional'
                    ExcludedGroups = 'StringArray | Optional'
                }
            )
            AppProtectionPoliciesiOS = @(
                @{
                    FilterOpenInToOnlyManagedApps = 'Boolean | Optional'
                    FaceIdBlocked = 'Boolean | Optional'
                    AppActionIfIosDeviceModelNotAllowed = 'String | Optional | block / wipe / warn'
                    TargetedAppManagementLevels = 'String | Optional | unspecified / unmanaged / mdm / androidEnterprise'
                    Identity = 'String | Optional'
                    Assignments = 'StringArray | Optional'
                    MinimumRequiredSdkVersion = 'String | Optional'
                    MinimumWipeOSVersion = 'String | Optional'
                    DisplayName = 'String | Required'
                    DisableProtectionOfManagedOutboundOpenInData = 'Boolean | Optional'
                    MinimumRequiredOSVersion = 'String | Optional'
                    MinimumWipeAppVersion = 'String | Optional'
                    AllowedInboundDataTransferSources = 'String | Optional | allApps / managedApps / none'
                    DisableAppPinIfDevicePinIsSet = 'Boolean | Optional'
                    AllowedOutboundDataTransferDestinations = 'String | Optional | allApps / managedApps / none'
                    MaximumPinRetries = 'UInt32 | Optional'
                    AppDataEncryptionType = 'String | Optional | useDeviceSettings / afterDeviceRestart / whenDeviceLockedExceptOpenFiles / whenDeviceLocked'
                    MinimumWarningOSVersion = 'String | Optional'
                    PeriodBeforePinReset = 'String | Optional'
                    ProtectInboundDataFromUnknownSources = 'Boolean | Optional'
                    PinRequired = 'Boolean | Optional'
                    ManagedBrowserToOpenLinksRequired = 'Boolean | Optional'
                    OrganizationalCredentialsRequired = 'Boolean | Optional'
                    CustomBrowserProtocol = 'String | Optional'
                    PrintBlocked = 'Boolean | Optional'
                    AppActionIfDeviceComplianceRequired = 'String | Optional | block / wipe / warn'
                    FingerprintBlocked = 'Boolean | Optional'
                    Description = 'String | Optional'
                    PinRequiredInsteadOfBiometricTimeout = 'String | Optional'
                    ManagedBrowser = 'String | Optional | notConfigured / microsoftEdge'
                    SimplePinBlocked = 'Boolean | Optional'
                    AllowedOutboundClipboardSharingLevel = 'String | Optional | allApps / managedAppsWithPasteIn / managedApps / blocked'
                    AllowedDataStorageLocations = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ExemptedAppProtocols = 'StringArray | Optional'
                    AllowedOutboundClipboardSharingExceptionLength = 'UInt32 | Optional'
                    DeviceComplianceRequired = 'Boolean | Optional'
                    PeriodOfflineBeforeWipeIsEnforced = 'String | Optional'
                    DataBackupBlocked = 'Boolean | Optional'
                    Apps = 'StringArray | Optional'
                    ContactSyncBlocked = 'Boolean | Optional'
                    AllowedIosDeviceModels = 'StringArray | Optional'
                    PeriodOnlineBeforeAccessCheck = 'String | Optional'
                    MinimumPinLength = 'UInt32 | Optional'
                    MinimumWarningAppVersion = 'String | Optional'
                    AppActionIfMaximumPinRetriesExceeded = 'String | Optional | block / wipe / warn'
                    MinimumWipeSdkVersion = 'String | Optional'
                    PinCharacterSet = 'String | Optional | numeric / alphanumericAndSymbol'
                    PeriodOfflineBeforeAccessCheck = 'String | Optional'
                    SaveAsBlocked = 'Boolean | Optional'
                    ExcludedGroups = 'StringArray | Optional'
                    MinimumRequiredAppVersion = 'String | Optional'
                    NotificationRestriction = 'String | Optional | allow / blockOrganizationalData / block'
                }
            )
            ASRRulesPoliciesWindows10 = @(
                @{
                    AttackSurfaceReductionExcludedPaths = 'StringArray | Optional'
                    UntrustedUSBProcessType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    Description = 'String | Optional'
                    UntrustedExecutableType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    OfficeCommunicationAppsLaunchChildProcess = 'String | Optional | notConfigured / userDefined / enable / auditMode / warn / disable'
                    DisplayName = 'String | Required'
                    AdditionalGuardedFolders = 'StringArray | Optional'
                    PreventCredentialStealingType = 'String | Optional | notConfigured / userDefined / enable / auditMode / warn'
                    OfficeAppsLaunchChildProcessType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    GuardedFoldersAllowedAppPaths = 'StringArray | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    OfficeAppsOtherProcessInjectionType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    ScriptObfuscatedMacroCodeType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    BlockPersistenceThroughWmiType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    OfficeAppsExecutableContentCreationOrLaunchType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    Ensure = 'String | Optional | Present / Absent'
                    AdvancedRansomewareProtectionType = 'String | Optional | notConfigured / userDefined / enable / auditMode'
                    OfficeMacroCodeAllowWin32ImportsType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    AdobeReaderLaunchChildProcess = 'String | Optional | notConfigured / userDefined / enable / auditMode / warn'
                    ProcessCreationType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    Identity = 'String | Optional'
                    GuardMyFoldersType = 'String | Optional | notConfigured / userDefined / enable / auditMode / blockDiskModification / auditDiskModification'
                    ScriptDownloadedPayloadExecutionType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                    EmailContentExecutionType = 'String | Optional | notConfigured / userDefined / block / auditMode / warn / disable'
                }
            )
            AttackSurfaceReductionRulesPoliciesWindows10ConfigManager = @(
                @{
                    BlockProcessCreationsFromPSExecAndWMICommands = 'String | Optional | off / block / audit / warn'
                    BlockOfficeCommunicationAppFromCreatingChildProcesses = 'String | Optional | off / block / audit / warn'
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    BlockExecutionOfPotentiallyObfuscatedScripts = 'String | Optional | off / block / audit / warn'
                    BlockExecutableContentFromEmailClientAndWebmail = 'String | Optional | off / block / audit / warn'
                    AttackSurfaceReductionOnlyExclusions = 'StringArray | Optional'
                    UseAdvancedProtectionAgainstRansomware = 'String | Optional | off / block / audit / warn'
                    ControlledFolderAccessAllowedApplications = 'StringArray | Optional'
                    BlockJavaScriptOrVBScriptFromLaunchingDownloadedExecutableContent = 'String | Optional | off / block / audit / warn'
                    EnableControlledFolderAccess = 'String | Optional | 0 / 1 / 2'
                    BlockAllOfficeApplicationsFromCreatingChildProcesses = 'String | Optional | off / block / audit / warn'
                    Ensure = 'String | Optional | Present / Absent'
                    BlockOfficeApplicationsFromInjectingCodeIntoOtherProcesses = 'String | Optional | off / block / audit / warn'
                    BlockCredentialStealingFromWindowsLocalSecurityAuthoritySubsystem = 'String | Optional | off / block / audit / warn'
                    Identity = 'String | Optional'
                    ControlledFolderAccessProtectedFolders = 'StringArray | Optional'
                    BlockUntrustedUnsignedProcessesThatRunFromUSB = 'String | Optional | off / block / audit / warn'
                    BlockWin32APICallsFromOfficeMacros = 'String | Optional | off / block / audit / warn'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    BlockExecutableFilesRunningUnlessTheyMeetPrevalenceAgeTrustedListCriterion = 'String | Optional | off / block / audit / warn'
                    BlockPersistenceThroughWMIEventSubscription = 'String | Optional | off / block / audit / warn'
                    BlockAbuseOfExploitedVulnerableSignedDrivers = 'String | Optional | off / block / audit / warn'
                    BlockOfficeApplicationsFromCreatingExecutableContent = 'String | Optional | off / block / audit / warn'
                    BlockAdobeReaderFromCreatingChildProcesses = 'String | Optional | off / block / audit / warn'
                }
            )
            DeviceAndAppManagementAssignmentFilters = @(
                @{
                    Description = 'String | Optional'
                    Platform = 'String | Optional | android / androidForWork / iOS / macOS / windowsPhone81 / windows81AndLater / windows10AndLater / androidWorkProfile / unknown'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Optional'
                    Rule = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            DeviceCategories = @(
                @{
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            DeviceCleanupRule = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present / Absent'
                Enabled = 'Boolean | Required'
                DeviceInactivityBeforeRetirementInDays = 'UInt32 | Optional'
            }
            DeviceCompliancePoliciesAndroid = @(
                @{
                    SecurityDisableUsbDebugging = 'Boolean | Optional'
                    Description = 'String | Optional'
                    StorageRequireEncryption = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DisplayName = 'String | Required'
                    RestrictedApps = 'String | Optional'
                    RequiredPasswordComplexity = 'String | Optional | none / low / medium / high'
                    OsMaximumVersion = 'String | Optional'
                    SecurityRequireSafetyNetAttestationBasicIntegrity = 'Boolean | Optional'
                    SecurityBlockJailbrokenDevices = 'Boolean | Optional'
                    MinAndroidSecurityPatchLevel = 'String | Optional'
                    SecurityRequireUpToDateSecurityProviders = 'Boolean | Optional'
                    SecurityRequireVerifyApps = 'Boolean | Optional'
                    DeviceThreatProtectionEnabled = 'Boolean | Optional'
                    RoleScopeTagIds = 'String | Optional'
                    PasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    SecurityBlockDeviceAdministratorManagedDevices = 'Boolean | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    AdvancedThreatProtectionRequiredSecurityLevel = 'String | Optional | unavailable / secured / low / medium / high / notSet'
                    SecurityRequireGooglePlayServices = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ConditionStatementId = 'String | Optional'
                    PasswordRequired = 'Boolean | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    SecurityRequireSafetyNetAttestationCertifiedDevice = 'Boolean | Optional'
                    DeviceThreatProtectionRequiredSecurityLevel = 'String | Optional | unavailable / secured / low / medium / high / notSet'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    SecurityRequireCompanyPortalAppIntegrity = 'Boolean | Optional'
                    SecurityPreventInstallAppsFromUnknownSources = 'Boolean | Optional'
                    OsMinimumVersion = 'String | Optional'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    PasswordRequiredType = 'String | Optional | deviceDefault / alphabetic / alphanumeric / alphanumericWithSymbols / lowSecurityBiometric / numeric / numericComplex / any'
                    PasswordMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                }
            )
            DeviceCompliancePoliciesAndroidDeviceOwner = @(
                @{
                    PasswordMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    passwordMinimumLength = 'UInt32 | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    passwordRequired = 'Boolean | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    RoleScopeTagIds = 'StringArray | Optional'
                    DeviceThreatProtectionRequiredSecurityLevel = 'String | Optional'
                    osMinimumVersion = 'String | Optional'
                    AdvancedThreatProtectionRequiredSecurityLevel = 'String | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    PasswordRequiredType = 'String | Optional | deviceDefault / alphabetic / alphanumeric / alphanumericWithSymbols / lowSecurityBiometric / numeric / numericComplex / any'
                    PasswordPreviousPasswordCountToBlock = 'UInt32 | Optional'
                    SecurityRequireSafetyNetAttestationCertifiedDevice = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    SecurityRequireSafetyNetAttestationBasicIntegrity = 'Boolean | Optional'
                    osMaximumVersion = 'String | Optional'
                    SecurityRequireIntuneAppIntegrity = 'Boolean | Optional'
                    DeviceThreatProtectionEnabled = 'Boolean | Optional'
                    StorageRequireEncryption = 'Boolean | Optional'
                }
            )
            DeviceCompliancePoliciesAndroidWorkProfile = @(
                @{
                    SecurityDisableUsbDebugging = 'Boolean | Optional'
                    Description = 'String | Optional'
                    StorageRequireEncryption = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DisplayName = 'String | Required'
                    OsMaximumVersion = 'String | Optional'
                    SecurityRequireSafetyNetAttestationBasicIntegrity = 'Boolean | Optional'
                    SecurityBlockJailbrokenDevices = 'Boolean | Optional'
                    MinAndroidSecurityPatchLevel = 'String | Optional'
                    SecurityRequireUpToDateSecurityProviders = 'Boolean | Optional'
                    SecurityRequireVerifyApps = 'Boolean | Optional'
                    DeviceThreatProtectionRequiredSecurityLevel = 'String | Optional | unavailable / secured / low / medium / high / notSet'
                    RoleScopeTagIds = 'String | Optional'
                    PasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    AdvancedThreatProtectionRequiredSecurityLevel = 'String | Optional | unavailable / secured / low / medium / high / notSet'
                    SecurityRequireGooglePlayServices = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    PasswordRequired = 'Boolean | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    SecurityRequireSafetyNetAttestationCertifiedDevice = 'Boolean | Optional'
                    SecurityRequiredAndroidSafetyNetEvaluationType = 'String | Optional | basic / hardwareBacked'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    SecurityRequireCompanyPortalAppIntegrity = 'Boolean | Optional'
                    SecurityPreventInstallAppsFromUnknownSources = 'Boolean | Optional'
                    OsMinimumVersion = 'String | Optional'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    DeviceThreatProtectionEnabled = 'Boolean | Optional'
                    PasswordRequiredType = 'String | Optional | deviceDefault / alphabetic / alphanumeric / alphanumericWithSymbols / lowSecurityBiometric / numeric / numericComplex / any'
                    PasswordMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                }
            )
            DeviceCompliancePoliciesiOs = @(
                @{
                    PasscodeBlockSimple = 'Boolean | Optional'
                    PasscodeMinimumCharacterSetCount = 'UInt32 | Optional'
                    OsMinimumBuildVersion = 'String | Optional'
                    Description = 'String | Optional'
                    PasscodeRequired = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    PasscodeMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    PasscodeExpirationDays = 'UInt32 | Optional'
                    OsMaximumVersion = 'String | Optional'
                    RestrictedApps = @(
                        @{
                            publisher = 'String | Optional'
                            appId = 'String | Optional'
                            name = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            appStoreUrl = 'String | Optional'
                        }
                    )
                    OsMinimumVersion = 'String | Optional'
                    AdvancedThreatProtectionRequiredSecurityLevel = 'String | Optional | unavailable / secured / low / medium / high / notSet'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    DeviceThreatProtectionRequiredSecurityLevel = 'String | Optional | unavailable / secured / low / medium / high / notSet'
                    PasscodeMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                    PasscodePreviousPasscodeBlockCount = 'UInt32 | Optional'
                    PasscodeRequiredType = 'String | Optional | deviceDefault / alphanumeric / numeric'
                    PasscodeMinimumLength = 'UInt32 | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    OsMaximumBuildVersion = 'String | Optional'
                    SecurityBlockJailbrokenDevices = 'Boolean | Optional'
                    DeviceThreatProtectionEnabled = 'Boolean | Optional'
                    ManagedEmailProfileRequired = 'Boolean | Optional'
                }
            )
            DeviceCompliancePoliciesMacOS = @(
                @{
                    GatekeeperAllowedAppSource = 'String | Optional | notConfigured / macAppStore / macAppStoreAndIdentifiedDevelopers / anywhere'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    SystemIntegrityProtectionEnabled = 'Boolean | Optional'
                    StorageRequireEncryption = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    FirewallBlockAllIncoming = 'Boolean | Optional'
                    PasswordRequired = 'Boolean | Optional'
                    PasswordMinimumCharacterSetCount = 'UInt32 | Optional'
                    OsMinimumBuildVersion = 'String | Optional'
                    DeviceThreatProtectionRequiredSecurityLevel = 'String | Optional | Unavailable / Secured / Low / Medium / High / NotSet'
                    OsMinimumVersion = 'String | Optional'
                    AdvancedThreatProtectionRequiredSecurityLevel = 'String | Optional | Unavailable / Secured / Low / Medium / High / NotSet'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    PasswordRequiredType = 'String | Optional | DeviceDefault / Alphanumeric / Numeric'
                    FirewallEnableStealthMode = 'Boolean | Optional'
                    PasswordBlockSimple = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    PasswordMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                    OsMaximumBuildVersion = 'String | Optional'
                    OsMaximumVersion = 'String | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    FirewallEnabled = 'Boolean | Optional'
                    DeviceThreatProtectionEnabled = 'Boolean | Optional'
                }
            )
            DeviceCompliancePoliciesWindows10 = @(
                @{
                    MobileOsMinimumVersion = 'String | Optional'
                    OsMinimumVersion = 'String | Optional'
                    OsMaximumVersion = 'String | Optional'
                    TPMRequired = 'Boolean | Optional'
                    Description = 'String | Optional'
                    StorageRequireEncryption = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    RequireHealthyDeviceReport = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    ActiveFirewallRequired = 'Boolean | Optional'
                    AntivirusRequired = 'Boolean | Optional'
                    PasswordRequiredToUnlockFromIdle = 'Boolean | Optional'
                    RTPEnabled = 'Boolean | Optional'
                    ValidOperatingSystemBuildRanges = 'StringArray | Optional'
                    SecureBootEnabled = 'Boolean | Optional'
                    AntiSpywareRequired = 'Boolean | Optional'
                    DefenderVersion = 'String | Optional'
                    CodeIntegrityEnabled = 'Boolean | Optional'
                    SignatureOutOfDate = 'Boolean | Optional'
                    PasswordRequiredType = 'String | Optional | DeviceDefault / Alphanumeric / Numeric'
                    DeviceThreatProtectionRequiredSecurityLevel = 'String | Optional | Unavailable / Secured / Low / Medium / High / NotSet'
                    PasswordBlockSimple = 'Boolean | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    PasswordRequired = 'Boolean | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    DefenderEnabled = 'Boolean | Optional'
                    MobileOsMaximumVersion = 'String | Optional'
                    EarlyLaunchAntiMalwareDriverEnabled = 'Boolean | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    DeviceCompliancePolicyScript = 'String | Optional'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    DeviceThreatProtectionEnabled = 'Boolean | Optional'
                    ConfigurationManagerComplianceRequired = 'Boolean | Optional'
                    BitLockerEnabled = 'Boolean | Optional'
                    PasswordMinimumCharacterSetCount = 'UInt32 | Optional'
                    PasswordMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                }
            )
            DeviceConfigurationAdministrativeTemplatePoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    DefinitionValues = @(
                        @{
                            ConfigurationType = 'String | Optional | policy / preference'
                            PresentationValues = @(
                                @{
                                    BooleanValue = 'Boolean | Optional'
                                    StringValue = 'String | Optional'
                                    Id = 'String | Optional'
                                    DecimalValue = 'UInt64 | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.groupPolicyPresentationValueBoolean / #microsoft.graph.groupPolicyPresentationValueDecimal / #microsoft.graph.groupPolicyPresentationValueList / #microsoft.graph.groupPolicyPresentationValueLongDecimal / #microsoft.graph.groupPolicyPresentationValueMultiText / #microsoft.graph.groupPolicyPresentationValueText'
                                    PresentationDefinitionLabel = 'String | Optional'
                                    KeyValuePairValues = @(
                                        @{
                                            Name = 'String | Optional'
                                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                            Value = 'String | Optional'
                                        }
                                    )
                                    PresentationDefinitionId = 'String | Optional'
                                    StringValues = 'StringArray | Optional'
                                }
                            )
                            Id = 'String | Optional'
                            Definition = @{
                                CategoryPath = 'String | Optional'
                                PolicyType = 'String | Optional | admxBacked / admxIngested'
                                SupportedOn = 'String | Optional'
                                MinDeviceCspVersion = 'String | Optional'
                                MinUserCspVersion = 'String | Optional'
                                ExplainText = 'String | Optional'
                                Id = 'String | Optional'
                                ClassType = 'String | Optional | user / machine'
                                GroupPolicyCategoryId = 'String | Optional'
                                HasRelatedDefinitions = 'Boolean | Optional'
                                DisplayName = 'String | Optional'
                            }
                            Enabled = 'Boolean | Optional'
                        }
                    )
                    PolicyConfigurationIngestionType = 'String | Optional | unknown / custom / builtIn / mixed / unknownFutureValue'
                }
            )
            DeviceConfigurationCustomPoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    SupportsScopeTags = 'Boolean | Optional'
                    OmaSettings = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            FileName = 'String | Optional'
                            Description = 'String | Optional'
                            OmaUri = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.omaSettingBase64 / #microsoft.graph.omaSettingBoolean / #microsoft.graph.omaSettingDateTime / #microsoft.graph.omaSettingFloatingPoint / #microsoft.graph.omaSettingInteger / #microsoft.graph.omaSettingString / #microsoft.graph.omaSettingStringXml'
                            SecretReferenceValueId = 'String | Optional'
                            Value = 'String | Optional'
                            IsReadOnly = 'Boolean | Optional'
                            IsEncrypted = 'Boolean | Optional'
                            DisplayName = 'String | Optional'
                        }
                    )
                }
            )
            DeviceConfigurationDefenderForEndpointOnboardingPoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Id = 'String | Optional'
                    AdvancedThreatProtectionOffboardingBlob = 'String | Optional'
                    AdvancedThreatProtectionOnboardingFilename = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowSampleSharing = 'Boolean | Optional'
                    Description = 'String | Optional'
                    EnableExpeditedTelemetryReporting = 'Boolean | Optional'
                    AdvancedThreatProtectionAutoPopulateOnboardingBlob = 'Boolean | Optional'
                    AdvancedThreatProtectionOnboardingBlob = 'String | Optional'
                    AdvancedThreatProtectionOffboardingFilename = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            DeviceConfigurationDeliveryOptimizationPoliciesWindows10 = @(
                @{
                    CacheServerForegroundDownloadFallbackToHttpDelayInSeconds = 'UInt32 | Optional'
                    GroupIdSource = @{
                        GroupIdCustom = 'String | Optional'
                        GroupIdSourceOption = 'String | Optional | notConfigured / adSite / authenticatedDomainSid / dhcpUserOption / dnsSuffix'
                        odataType = 'String | Optional | #microsoft.graph.deliveryOptimizationGroupIdCustom / #microsoft.graph.deliveryOptimizationGroupIdSourceOptions'
                    }
                    Id = 'String | Optional'
                    CacheServerHostNames = 'StringArray | Optional'
                    CacheServerBackgroundDownloadFallbackToHttpDelayInSeconds = 'UInt32 | Optional'
                    DisplayName = 'String | Required'
                    ForegroundDownloadFromHttpDelayInSeconds = 'UInt64 | Optional'
                    ModifyCacheLocation = 'String | Optional'
                    BandwidthMode = @{
                        MaximumDownloadBandwidthInKilobytesPerSecond = 'UInt64 | Optional'
                        BandwidthBackgroundPercentageHours = @{
                            BandwidthBeginBusinessHours = 'UInt32 | Optional'
                            BandwidthPercentageOutsideBusinessHours = 'UInt32 | Optional'
                            BandwidthPercentageDuringBusinessHours = 'UInt32 | Optional'
                            BandwidthEndBusinessHours = 'UInt32 | Optional'
                        }
                        MaximumForegroundBandwidthPercentage = 'UInt32 | Optional'
                        BandwidthForegroundPercentageHours = @{
                            BandwidthBeginBusinessHours = 'UInt32 | Optional'
                            BandwidthPercentageOutsideBusinessHours = 'UInt32 | Optional'
                            BandwidthPercentageDuringBusinessHours = 'UInt32 | Optional'
                            BandwidthEndBusinessHours = 'UInt32 | Optional'
                        }
                        MaximumBackgroundBandwidthPercentage = 'UInt32 | Optional'
                        MaximumUploadBandwidthInKilobytesPerSecond = 'UInt64 | Optional'
                        odataType = 'String | Optional | #microsoft.graph.deliveryOptimizationBandwidthAbsolute / #microsoft.graph.deliveryOptimizationBandwidthHoursWithPercentage / #microsoft.graph.deliveryOptimizationBandwidthPercentage'
                    }
                    DeliveryOptimizationMode = 'String | Optional | userDefined / httpOnly / httpWithPeeringNat / httpWithPeeringPrivateGroup / httpWithInternetPeering / simpleDownload / bypassMode'
                    Ensure = 'String | Optional | Present / Absent'
                    MinimumBatteryPercentageAllowedToUpload = 'UInt32 | Optional'
                    MaximumCacheSize = @{
                        MaximumCacheSizePercentage = 'UInt32 | Optional'
                        MaximumCacheSizeInGigabytes = 'UInt64 | Optional'
                        odataType = 'String | Optional | #microsoft.graph.deliveryOptimizationMaxCacheSizeAbsolute / #microsoft.graph.deliveryOptimizationMaxCacheSizePercentage'
                    }
                    BackgroundDownloadFromHttpDelayInSeconds = 'UInt64 | Optional'
                    MinimumRamAllowedToPeerInGigabytes = 'UInt32 | Optional'
                    VpnPeerCaching = 'String | Optional | notConfigured / enabled / disabled'
                    Description = 'String | Optional'
                    MaximumCacheAgeInDays = 'UInt32 | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    RestrictPeerSelectionBy = 'String | Optional | notConfigured / subnetMask'
                    SupportsScopeTags = 'Boolean | Optional'
                    MinimumDiskSizeAllowedToPeerInGigabytes = 'UInt32 | Optional'
                    MinimumFileSizeToCacheInMegabytes = 'UInt32 | Optional'
                }
            )
            DeviceConfigurationDomainJoinPoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ComputerNameSuffixRandomCharCount = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    ActiveDirectoryDomainName = 'String | Optional'
                    SupportsScopeTags = 'Boolean | Optional'
                    ComputerNameStaticPrefix = 'String | Optional'
                    OrganizationalUnit = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            DeviceConfigurationEmailProfilePoliciesWindows10 = @(
                @{
                    SyncCalendar = 'Boolean | Optional'
                    Description = 'String | Optional'
                    CustomDomainName = 'String | Optional'
                    DisplayName = 'String | Required'
                    EmailSyncSchedule = 'String | Optional | userDefined / asMessagesArrive / manual / fifteenMinutes / thirtyMinutes / sixtyMinutes / basedOnMyUsage'
                    UsernameSource = 'String | Optional | userPrincipalName / primarySmtpAddress'
                    UsernameAADSource = 'String | Optional | userPrincipalName / primarySmtpAddress / samAccountName'
                    EmailAddressSource = 'String | Optional | userPrincipalName / primarySmtpAddress'
                    SyncTasks = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    HostName = 'String | Optional'
                    UserDomainNameSource = 'String | Optional | fullDomainName / netBiosDomainName'
                    Id = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DurationOfEmailToSync = 'String | Optional | userDefined / oneDay / threeDays / oneWeek / twoWeeks / oneMonth / unlimited'
                    SyncContacts = 'Boolean | Optional'
                    RequireSsl = 'Boolean | Optional'
                    AccountName = 'String | Optional'
                }
            )
            DeviceConfigurationEndpointProtectionPoliciesWindows10 = @(
                @{
                    LocalSecurityOptionsClearVirtualMemoryPageFile = 'Boolean | Optional'
                    ApplicationGuardForceAuditing = 'Boolean | Optional'
                    DefenderEnableLowCpuPriority = 'Boolean | Optional'
                    UserRightsChangeSystemTime = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    LocalSecurityOptionsSwitchToSecureDesktopWhenPromptingForElevation = 'Boolean | Optional'
                    UserRightsIncreaseSchedulingPriority = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    UserRightsRestoreData = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderAllowOnAccessProtection = 'Boolean | Optional'
                    ApplicationGuardAllowPrintToPDF = 'Boolean | Optional'
                    LocalSecurityOptionsUseAdminApprovalMode = 'Boolean | Optional'
                    FirewallPreSharedKeyEncodingMethod = 'String | Optional | deviceDefault / none / utF8'
                    UserRightsDelegation = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderDisableScanDownloads = 'Boolean | Optional'
                    UserRightsDebugPrograms = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    LocalSecurityOptionsLogOnMessageTitle = 'String | Optional'
                    UserRightsBackupData = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    LocalSecurityOptionsFormatAndEjectOfRemovableMediaAllowedUser = 'String | Optional | notConfigured / administrators / administratorsAndPowerUsers / administratorsAndInteractiveUsers'
                    DefenderDisableOnAccessProtection = 'Boolean | Optional'
                    DefenderBlockPersistenceThroughWmiType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    DefenderDisableScanNetworkFiles = 'Boolean | Optional'
                    DefenderDisableCatchupQuickScan = 'Boolean | Optional'
                    LocalSecurityOptionsStandardUserElevationPromptBehavior = 'String | Optional | notConfigured / automaticallyDenyElevationRequests / promptForCredentialsOnTheSecureDesktop / promptForCredentials'
                    DefenderScanMaxCpuPercentage = 'UInt32 | Optional'
                    UserRightsGenerateSecurityAudits = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderSecurityCenterDisableClearTpmUI = 'Boolean | Optional'
                    DefenderEnableScanIncomingMail = 'Boolean | Optional'
                    DefenderAdobeReaderLaunchChildProcess = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    DefenderDisableCloudProtection = 'Boolean | Optional'
                    LocalSecurityOptionsSmartCardRemovalBehavior = 'String | Optional | noAction / lockWorkstation / forceLogoff / disconnectRemoteDesktopSession'
                    DefenderOfficeCommunicationAppsLaunchChildProcess = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    XboxServicesAccessoryManagementServiceStartupMode = 'String | Optional | manual / automatic / disabled'
                    DefenderScriptObfuscatedMacroCodeType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    XboxServicesEnableXboxGameSaveTask = 'Boolean | Optional'
                    UserRightsCreateGlobalObjects = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    LocalSecurityOptionsMachineInactivityLimit = 'UInt32 | Optional'
                    LocalSecurityOptionsDisableGuestAccount = 'Boolean | Optional'
                    LocalSecurityOptionsLogOnMessageText = 'String | Optional'
                    ApplicationGuardCertificateThumbprints = 'StringArray | Optional'
                    SmartScreenEnableInShell = 'Boolean | Optional'
                    DefenderProcessCreationType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    UserRightsLocalLogOn = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    LocalSecurityOptionsClientSendUnencryptedPasswordToThirdPartySMBServers = 'Boolean | Optional'
                    UserRightsProfileSingleProcess = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderPotentiallyUnwantedAppAction = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    LocalSecurityOptionsUseAdminApprovalModeForAdministrators = 'Boolean | Optional'
                    DefenderDisableRealTimeMonitoring = 'Boolean | Optional'
                    DefenderSecurityCenterNotificationsFromApp = 'String | Optional | notConfigured / blockNoncriticalNotifications / blockAllNotifications'
                    LocalSecurityOptionsAdministratorAccountName = 'String | Optional'
                    DefenderSecurityCenterDisableAccountUI = 'Boolean | Optional'
                    UserRightsBlockAccessFromNetwork = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderEmailContentExecutionType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    DefenderAllowScanNetworkFiles = 'Boolean | Optional'
                    LocalSecurityOptionsDoNotAllowAnonymousEnumerationOfSAMAccounts = 'Boolean | Optional'
                    DefenderProcessCreation = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    LocalSecurityOptionsDoNotRequireCtrlAltDel = 'Boolean | Optional'
                    ApplicationGuardBlockNonEnterpriseContent = 'Boolean | Optional'
                    LocalSecurityOptionsAllowAnonymousEnumerationOfSAMAccountsAndShares = 'Boolean | Optional'
                    ApplicationGuardAllowPersistence = 'Boolean | Optional'
                    LocalSecurityOptionsBlockUsersInstallingPrinterDrivers = 'Boolean | Optional'
                    UserRightsAccessCredentialManagerAsTrustedCaller = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderCloudBlockLevel = 'String | Optional | notConfigured / high / highPlus / zeroTolerance'
                    LocalSecurityOptionsBlockMicrosoftAccounts = 'Boolean | Optional'
                    DmaGuardDeviceEnumerationPolicy = 'String | Optional | deviceDefault / blockAll / allowAll'
                    DefenderOfficeAppsOtherProcessInjectionType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    LocalSecurityOptionsGuestAccountName = 'String | Optional'
                    LocalSecurityOptionsAllowUndockWithoutHavingToLogon = 'Boolean | Optional'
                    DefenderDetectedMalwareActions = @{
                        LowSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                        SevereSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                        ModerateSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                        HighSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                    }
                    LanManagerWorkstationDisableInsecureGuestLogons = 'Boolean | Optional'
                    DefenderScheduledScanTime = 'String | Optional'
                    DefenderAllowIntrusionPreventionSystem = 'Boolean | Optional'
                    DefenderSecurityCenterDisableRansomwareUI = 'Boolean | Optional'
                    BitLockerRecoveryPasswordRotation = 'String | Optional | notConfigured / disabled / enabledForAzureAd / enabledForAzureAdAndHybrid'
                    DefenderOfficeMacroCodeAllowWin32Imports = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    DefenderSecurityCenterDisableSecureBootUI = 'Boolean | Optional'
                    UserRightsAllowAccessFromNetwork = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    UserRightsCreateToken = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderAllowScanScriptsLoadedInInternetExplorer = 'Boolean | Optional'
                    DefenderSecurityCenterDisableVirusUI = 'Boolean | Optional'
                    SupportsScopeTags = 'Boolean | Optional'
                    LocalSecurityOptionsAllowUIAccessApplicationElevation = 'Boolean | Optional'
                    DefenderDisableScanScriptsLoadedInInternetExplorer = 'Boolean | Optional'
                    LocalSecurityOptionsAdministratorElevationPromptBehavior = 'String | Optional | notConfigured / elevateWithoutPrompting / promptForCredentialsOnTheSecureDesktop / promptForConsentOnTheSecureDesktop / promptForCredentials / promptForConsent / promptForConsentForNonWindowsBinaries'
                    UserRightsCreatePermanentSharedObjects = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    UserRightsManageAuditingAndSecurityLogs = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    FirewallMergeKeyingModuleSettings = 'Boolean | Optional'
                    LocalSecurityOptionsAllowPKU2UAuthenticationRequests = 'Boolean | Optional'
                    DefenderCloudExtendedTimeoutInSeconds = 'UInt32 | Optional'
                    FirewallIPSecExemptionsAllowICMP = 'Boolean | Optional'
                    DefenderAllowEndUserAccess = 'Boolean | Optional'
                    DefenderScriptDownloadedPayloadExecution = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    Description = 'String | Optional'
                    DefenderSecurityCenterDisableVulnerableTpmFirmwareUpdateUI = 'Boolean | Optional'
                    DefenderSignatureUpdateIntervalInHours = 'UInt32 | Optional'
                    DefenderExploitProtectionXmlFileName = 'String | Optional'
                    ApplicationGuardBlockFileTransfer = 'String | Optional | notConfigured / blockImageAndTextFile / blockImageFile / blockNone / blockTextFile'
                    LocalSecurityOptionsClientDigitallySignCommunicationsAlways = 'Boolean | Optional'
                    DefenderSecurityCenterDisableFamilyUI = 'Boolean | Optional'
                    DefenderOfficeMacroCodeAllowWin32ImportsType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    LocalSecurityOptionsDisableAdministratorAccount = 'Boolean | Optional'
                    FirewallProfileDomain = @{
                        PolicyRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        InboundNotificationsBlocked = 'Boolean | Optional'
                        OutboundConnectionsRequired = 'Boolean | Optional'
                        GlobalPortRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        ConnectionSecurityRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        UnicastResponsesToMulticastBroadcastsRequired = 'Boolean | Optional'
                        PolicyRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        UnicastResponsesToMulticastBroadcastsBlocked = 'Boolean | Optional'
                        IncomingTrafficRequired = 'Boolean | Optional'
                        IncomingTrafficBlocked = 'Boolean | Optional'
                        ConnectionSecurityRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        StealthModeRequired = 'Boolean | Optional'
                        InboundNotificationsRequired = 'Boolean | Optional'
                        AuthorizedApplicationRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        InboundConnectionsBlocked = 'Boolean | Optional'
                        OutboundConnectionsBlocked = 'Boolean | Optional'
                        StealthModeBlocked = 'Boolean | Optional'
                        GlobalPortRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        SecuredPacketExemptionBlocked = 'Boolean | Optional'
                        SecuredPacketExemptionAllowed = 'Boolean | Optional'
                        InboundConnectionsRequired = 'Boolean | Optional'
                        FirewallEnabled = 'String | Optional | notConfigured / blocked / allowed'
                        AuthorizedApplicationRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                    }
                    DefenderSecurityCenterDisableTroubleshootingUI = 'Boolean | Optional'
                    FirewallBlockStatefulFTP = 'Boolean | Optional'
                    DefenderOfficeAppsExecutableContentCreationOrLaunchType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    DefenderEmailContentExecution = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    UserRightsModifyFirmwareEnvironment = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    ApplicationGuardAllowFileSaveOnHost = 'Boolean | Optional'
                    DefenderOfficeAppsExecutableContentCreationOrLaunch = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    LocalSecurityOptionsMinimumSessionSecurityForNtlmSspBasedClients = 'String | Optional | none / requireNtmlV2SessionSecurity / require128BitEncryption / ntlmV2And128BitEncryption'
                    DefenderSubmitSamplesConsentType = 'String | Optional | sendSafeSamplesAutomatically / alwaysPrompt / neverSend / sendAllSamplesAutomatically'
                    LocalSecurityOptionsDetectApplicationInstallationsAndPromptForElevation = 'Boolean | Optional'
                    DefenderDisableIntrusionPreventionSystem = 'Boolean | Optional'
                    DefenderDisableCatchupFullScan = 'Boolean | Optional'
                    BitLockerDisableWarningForOtherDiskEncryption = 'Boolean | Optional'
                    XboxServicesLiveNetworkingServiceStartupMode = 'String | Optional | manual / automatic / disabled'
                    DefenderScriptDownloadedPayloadExecutionType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    UserRightsTakeOwnership = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    FirewallProfilePublic = @{
                        PolicyRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        InboundNotificationsBlocked = 'Boolean | Optional'
                        OutboundConnectionsRequired = 'Boolean | Optional'
                        GlobalPortRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        ConnectionSecurityRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        UnicastResponsesToMulticastBroadcastsRequired = 'Boolean | Optional'
                        PolicyRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        UnicastResponsesToMulticastBroadcastsBlocked = 'Boolean | Optional'
                        IncomingTrafficRequired = 'Boolean | Optional'
                        IncomingTrafficBlocked = 'Boolean | Optional'
                        ConnectionSecurityRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        StealthModeRequired = 'Boolean | Optional'
                        InboundNotificationsRequired = 'Boolean | Optional'
                        AuthorizedApplicationRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        InboundConnectionsBlocked = 'Boolean | Optional'
                        OutboundConnectionsBlocked = 'Boolean | Optional'
                        StealthModeBlocked = 'Boolean | Optional'
                        GlobalPortRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        SecuredPacketExemptionBlocked = 'Boolean | Optional'
                        SecuredPacketExemptionAllowed = 'Boolean | Optional'
                        InboundConnectionsRequired = 'Boolean | Optional'
                        FirewallEnabled = 'String | Optional | notConfigured / blocked / allowed'
                        AuthorizedApplicationRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                    }
                    DefenderScriptObfuscatedMacroCode = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    LocalSecurityOptionsOnlyElevateSignedExecutables = 'Boolean | Optional'
                    FirewallIPSecExemptionsAllowRouterDiscovery = 'Boolean | Optional'
                    BitLockerFixedDrivePolicy = @{
                        RecoveryOptions = @{
                            RecoveryInformationToStore = 'String | Optional | passwordAndKey / passwordOnly'
                            HideRecoveryOptions = 'Boolean | Optional'
                            BlockDataRecoveryAgent = 'Boolean | Optional'
                            RecoveryKeyUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                            EnableBitLockerAfterRecoveryInformationToStore = 'Boolean | Optional'
                            EnableRecoveryInformationSaveToStore = 'Boolean | Optional'
                            RecoveryPasswordUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                        }
                        RequireEncryptionForWriteAccess = 'Boolean | Optional'
                        EncryptionMethod = 'String | Optional | aesCbc128 / aesCbc256 / xtsAes128 / xtsAes256'
                    }
                    UserRightsCreateSymbolicLinks = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    SmartScreenBlockOverrideForFiles = 'Boolean | Optional'
                    LocalSecurityOptionsDoNotStoreLANManagerHashValueOnNextPasswordChange = 'Boolean | Optional'
                    DefenderCheckForSignaturesBeforeRunningScan = 'Boolean | Optional'
                    DefenderSecurityCenterHelpEmail = 'String | Optional'
                    FirewallRules = @(
                        @{
                            LocalAddressRanges = 'StringArray | Optional'
                            Description = 'String | Optional'
                            InterfaceTypes = 'String | Optional | notConfigured / remoteAccess / wireless / lan'
                            RemotePortRanges = 'StringArray | Optional'
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            ServiceName = 'String | Optional'
                            FilePath = 'String | Optional'
                            LocalUserAuthorizations = 'String | Optional'
                            Protocol = 'UInt32 | Optional'
                            TrafficDirection = 'String | Optional | notConfigured / out / in'
                            RemoteAddressRanges = 'StringArray | Optional'
                            PackageFamilyName = 'String | Optional'
                            Action = 'String | Optional | notConfigured / blocked / allowed'
                            LocalPortRanges = 'StringArray | Optional'
                            ProfileTypes = 'String | Optional | notConfigured / domain / private / public'
                            EdgeTraversal = 'String | Optional | notConfigured / blocked / allowed'
                        }
                    )
                    ApplicationGuardAllowVirtualGPU = 'Boolean | Optional'
                    Id = 'String | Optional'
                    DefenderSecurityCenterOrganizationDisplayName = 'String | Optional'
                    BitLockerRemovableDrivePolicy = @{
                        RequireEncryptionForWriteAccess = 'Boolean | Optional'
                        BlockCrossOrganizationWriteAccess = 'Boolean | Optional'
                        EncryptionMethod = 'String | Optional | aesCbc128 / aesCbc256 / xtsAes128 / xtsAes256'
                    }
                    LocalSecurityOptionsAllowUIAccessApplicationsForSecureLocations = 'Boolean | Optional'
                    DefenderFileExtensionsToExclude = 'StringArray | Optional'
                    LocalSecurityOptionsHideLastSignedInUser = 'Boolean | Optional'
                    DefenderSecurityCenterHelpPhone = 'String | Optional'
                    LocalSecurityOptionsMinimumSessionSecurityForNtlmSspBasedServers = 'String | Optional | none / requireNtmlV2SessionSecurity / require128BitEncryption / ntlmV2And128BitEncryption'
                    XboxServicesLiveAuthManagerServiceStartupMode = 'String | Optional | manual / automatic / disabled'
                    DefenderAdditionalGuardedFolders = 'StringArray | Optional'
                    LocalSecurityOptionsMachineInactivityLimitInMinutes = 'UInt32 | Optional'
                    UserRightsCreatePageFile = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    UserRightsModifyObjectLabels = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DeviceGuardLocalSystemAuthorityCredentialGuardSettings = 'String | Optional | notConfigured / enableWithUEFILock / enableWithoutUEFILock / disable'
                    FirewallIdleTimeoutForSecurityAssociationInSeconds = 'UInt32 | Optional'
                    DefenderSecurityCenterHelpURL = 'String | Optional'
                    LocalSecurityOptionsDisableServerDigitallySignCommunicationsAlways = 'Boolean | Optional'
                    LocalSecurityOptionsAllowRemoteCallsToSecurityAccountsManagerHelperBool = 'Boolean | Optional'
                    DefenderBlockEndUserAccess = 'Boolean | Optional'
                    DeviceGuardEnableVirtualizationBasedSecurity = 'Boolean | Optional'
                    DefenderSecurityCenterBlockExploitProtectionOverride = 'Boolean | Optional'
                    XboxServicesLiveGameSaveServiceStartupMode = 'String | Optional | manual / automatic / disabled'
                    BitLockerEnableStorageCardEncryptionOnMobile = 'Boolean | Optional'
                    ApplicationGuardAllowPrintToLocalPrinters = 'Boolean | Optional'
                    DefenderGuardedFoldersAllowedAppPaths = 'StringArray | Optional'
                    DefenderFilesAndFoldersToExclude = 'StringArray | Optional'
                    DefenderAllowScanArchiveFiles = 'Boolean | Optional'
                    FirewallIPSecExemptionsNone = 'Boolean | Optional'
                    BitLockerAllowStandardUserEncryption = 'Boolean | Optional'
                    LocalSecurityOptionsAllowRemoteCallsToSecurityAccountsManager = 'String | Optional'
                    DefenderScheduledScanDay = 'String | Optional | userDefined / everyday / sunday / monday / tuesday / wednesday / thursday / friday / saturday / noScheduledScan'
                    DefenderSecurityCenterDisableHardwareUI = 'Boolean | Optional'
                    FirewallPacketQueueingMethod = 'String | Optional | deviceDefault / disabled / queueInbound / queueOutbound / queueBoth'
                    DefenderUntrustedUSBProcessType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    DefenderNetworkProtectionType = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    ApplicationGuardEnabledOptions = 'String | Optional | notConfigured / enabledForEdge / enabledForOffice / enabledForEdgeAndOffice'
                    DefenderScanDirection = 'String | Optional | monitorAllFiles / monitorIncomingFilesOnly / monitorOutgoingFilesOnly'
                    BitLockerEncryptDevice = 'Boolean | Optional'
                    DefenderAllowRealTimeMonitoring = 'Boolean | Optional'
                    FirewallIPSecExemptionsAllowNeighborDiscovery = 'Boolean | Optional'
                    DefenderOfficeAppsOtherProcessInjection = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    DefenderUntrustedExecutable = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    DisplayName = 'String | Required'
                    DefenderGuardMyFoldersType = 'String | Optional | userDefined / enable / auditMode / blockDiskModification / auditDiskModification'
                    LocalSecurityOptionsInformationDisplayedOnLockScreen = 'String | Optional | notConfigured / administrators / administratorsAndPowerUsers / administratorsAndInteractiveUsers'
                    DeviceGuardEnableSecureBootWithDMA = 'Boolean | Optional'
                    DefenderOfficeAppsLaunchChildProcess = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    DefenderScheduledQuickScanTime = 'String | Optional'
                    ApplicationGuardAllowCameraMicrophoneRedirection = 'Boolean | Optional'
                    ApplicationGuardAllowPrintToXPS = 'Boolean | Optional'
                    DeviceGuardLaunchSystemGuard = 'String | Optional | notConfigured / enabled / disabled'
                    DefenderSecurityCenterDisableNetworkUI = 'Boolean | Optional'
                    DefenderEnableScanMappedNetworkDrivesDuringFullScan = 'Boolean | Optional'
                    LocalSecurityOptionsBlockRemoteOpticalDriveAccess = 'Boolean | Optional'
                    DefenderUntrustedUSBProcess = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    DefenderAllowScanRemovableDrivesDuringFullScan = 'Boolean | Optional'
                    AppLockerApplicationControl = 'String | Optional | notConfigured / enforceComponentsAndStoreApps / auditComponentsAndStoreApps / enforceComponentsStoreAppsAndSmartlocker / auditComponentsStoreAppsAndSmartlocker'
                    UserRightsRemoteShutdown = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    FirewallProfilePrivate = @{
                        PolicyRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        InboundNotificationsBlocked = 'Boolean | Optional'
                        OutboundConnectionsRequired = 'Boolean | Optional'
                        GlobalPortRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        ConnectionSecurityRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                        UnicastResponsesToMulticastBroadcastsRequired = 'Boolean | Optional'
                        PolicyRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        UnicastResponsesToMulticastBroadcastsBlocked = 'Boolean | Optional'
                        IncomingTrafficRequired = 'Boolean | Optional'
                        IncomingTrafficBlocked = 'Boolean | Optional'
                        ConnectionSecurityRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        StealthModeRequired = 'Boolean | Optional'
                        InboundNotificationsRequired = 'Boolean | Optional'
                        AuthorizedApplicationRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        InboundConnectionsBlocked = 'Boolean | Optional'
                        OutboundConnectionsBlocked = 'Boolean | Optional'
                        StealthModeBlocked = 'Boolean | Optional'
                        GlobalPortRulesFromGroupPolicyMerged = 'Boolean | Optional'
                        SecuredPacketExemptionBlocked = 'Boolean | Optional'
                        SecuredPacketExemptionAllowed = 'Boolean | Optional'
                        InboundConnectionsRequired = 'Boolean | Optional'
                        FirewallEnabled = 'String | Optional | notConfigured / blocked / allowed'
                        AuthorizedApplicationRulesFromGroupPolicyNotMerged = 'Boolean | Optional'
                    }
                    ApplicationGuardAllowPrintToNetworkPrinters = 'Boolean | Optional'
                    LocalSecurityOptionsInformationShownOnLockScreen = 'String | Optional | notConfigured / userDisplayNameDomainUser / userDisplayNameOnly / doNotDisplayUser'
                    DefenderOfficeAppsLaunchChildProcessType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    DeviceGuardSecureBootWithDMA = 'String | Optional | notConfigured / withoutDMA / withDMA'
                    LocalSecurityOptionsAllowSystemToBeShutDownWithoutHavingToLogOn = 'Boolean | Optional'
                    DefenderExploitProtectionXml = 'String | Optional'
                    UserRightsRemoteDesktopServicesLogOn = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderProcessesToExclude = 'StringArray | Optional'
                    LocalSecurityOptionsBlockRemoteLogonWithBlankPassword = 'Boolean | Optional'
                    FirewallIPSecExemptionsAllowDHCP = 'Boolean | Optional'
                    UserRightsLoadUnloadDrivers = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    UserRightsDenyLocalLogOn = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderScanType = 'String | Optional | userDefined / disabled / quick / full'
                    BitLockerSystemDrivePolicy = @{
                        PrebootRecoveryEnableMessageAndUrl = 'Boolean | Optional'
                        StartupAuthenticationTpmPinUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                        EncryptionMethod = 'String | Optional | aesCbc128 / aesCbc256 / xtsAes128 / xtsAes256'
                        MinimumPinLength = 'UInt32 | Optional'
                        PrebootRecoveryMessage = 'String | Optional'
                        StartupAuthenticationTpmPinAndKeyUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                        StartupAuthenticationRequired = 'Boolean | Optional'
                        RecoveryOptions = @{
                            RecoveryInformationToStore = 'String | Optional | passwordAndKey / passwordOnly'
                            HideRecoveryOptions = 'Boolean | Optional'
                            BlockDataRecoveryAgent = 'Boolean | Optional'
                            RecoveryKeyUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                            EnableBitLockerAfterRecoveryInformationToStore = 'Boolean | Optional'
                            EnableRecoveryInformationSaveToStore = 'Boolean | Optional'
                            RecoveryPasswordUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                        }
                        PrebootRecoveryUrl = 'String | Optional'
                        StartupAuthenticationTpmUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                        StartupAuthenticationTpmKeyUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                        StartupAuthenticationBlockWithoutTpmChip = 'Boolean | Optional'
                    }
                    DefenderAllowBehaviorMonitoring = 'Boolean | Optional'
                    LocalSecurityOptionsRestrictAnonymousAccessToNamedPipesAndShares = 'Boolean | Optional'
                    DefenderSecurityCenterDisableNotificationAreaUI = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DefenderDisableBehaviorMonitoring = 'Boolean | Optional'
                    DefenderAttackSurfaceReductionExcludedPaths = 'StringArray | Optional'
                    UserRightsManageVolumes = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    ApplicationGuardBlockClipboardSharing = 'String | Optional | notConfigured / blockBoth / blockHostToContainer / blockContainerToHost / blockNone'
                    DefenderDaysBeforeDeletingQuarantinedMalware = 'UInt32 | Optional'
                    DefenderDisableScanRemovableDrivesDuringFullScan = 'Boolean | Optional'
                    LocalSecurityOptionsDisableClientDigitallySignCommunicationsIfServerAgrees = 'Boolean | Optional'
                    ApplicationGuardEnabled = 'Boolean | Optional'
                    LocalSecurityOptionsHideUsernameAtSignIn = 'Boolean | Optional'
                    DefenderAllowScanDownloads = 'Boolean | Optional'
                    DefenderSecurityCenterDisableHealthUI = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    FirewallCertificateRevocationListCheckMethod = 'String | Optional | deviceDefault / none / attempt / require'
                    DefenderSecurityCenterDisableAppBrowserUI = 'Boolean | Optional'
                    DefenderAllowCloudProtection = 'Boolean | Optional'
                    UserRightsLockMemory = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    WindowsDefenderTamperProtection = 'String | Optional | notConfigured / enable / disable'
                    LocalSecurityOptionsDisableServerDigitallySignCommunicationsIfClientAgrees = 'Boolean | Optional'
                    UserRightsImpersonateClient = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderSecurityCenterITContactDisplay = 'String | Optional | notConfigured / displayInAppAndInNotifications / displayOnlyInApp / displayOnlyInNotifications'
                    DefenderAdvancedRansomewareProtectionType = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    DefenderUntrustedExecutableType = 'String | Optional | userDefined / block / auditMode / warn / disable'
                    DefenderDisableScanArchiveFiles = 'Boolean | Optional'
                    LanManagerAuthenticationLevel = 'String | Optional | lmAndNltm / lmNtlmAndNtlmV2 / lmAndNtlmOnly / lmAndNtlmV2 / lmNtlmV2AndNotLm / lmNtlmV2AndNotLmOrNtm'
                    UserRightsActAsPartOfTheOperatingSystem = @{
                        State = 'String | Optional | notConfigured / blocked / allowed'
                        LocalUsersOrGroups = @(
                            @{
                                Description = 'String | Optional'
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                SecurityIdentifier = 'String | Optional'
                            }
                        )
                    }
                    DefenderPreventCredentialStealingType = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    LocalSecurityOptionsVirtualizeFileAndRegistryWriteFailuresToPerUserLocations = 'Boolean | Optional'
                }
            )
            DeviceConfigurationFirmwareInterfacePoliciesWindows10 = @(
                @{
                    Description = 'String | Optional'
                    RearCamera = 'String | Optional | notConfigured / enabled / disabled'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    MicrophonesAndSpeakers = 'String | Optional | notConfigured / enabled / disabled'
                    DisplayName = 'String | Required'
                    UsbTypeAPort = 'String | Optional | notConfigured / enabled / disabled'
                    SupportsScopeTags = 'Boolean | Optional'
                    WiFi = 'String | Optional | notConfigured / enabled / disabled'
                    WirelessWideAreaNetwork = 'String | Optional | notConfigured / enabled / disabled'
                    BootFromBuiltInNetworkAdapters = 'String | Optional | notConfigured / enabled / disabled'
                    VirtualizationOfCpuAndIO = 'String | Optional | notConfigured / enabled / disabled'
                    Bluetooth = 'String | Optional | notConfigured / enabled / disabled'
                    ChangeUefiSettingsPermission = 'String | Optional | notConfiguredOnly / none'
                    NearFieldCommunication = 'String | Optional | notConfigured / enabled / disabled'
                    Cameras = 'String | Optional | notConfigured / enabled / disabled'
                    Ensure = 'String | Optional | Present / Absent'
                    Radios = 'String | Optional | notConfigured / enabled / disabled'
                    BootFromExternalMedia = 'String | Optional | notConfigured / enabled / disabled'
                    Id = 'String | Optional'
                    SdCard = 'String | Optional | notConfigured / enabled / disabled'
                    Microphone = 'String | Optional | notConfigured / enabled / disabled'
                    InfraredCamera = 'String | Optional | notConfigured / enabled / disabled'
                    FrontCamera = 'String | Optional | notConfigured / enabled / disabled'
                    WindowsPlatformBinaryTable = 'String | Optional | notConfigured / enabled / disabled'
                    SimultaneousMultiThreading = 'String | Optional | notConfigured / enabled / disabled'
                    WakeOnLAN = 'String | Optional | notConfigured / enabled / disabled'
                    WakeOnPower = 'String | Optional | notConfigured / enabled / disabled'
                }
            )
            DeviceConfigurationHealthMonitoringConfigurationPoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Id = 'String | Optional'
                    ConfigDeviceHealthMonitoringScope = 'StringArray | Optional | undefined / healthMonitoring / bootPerformance / windowsUpdates / privilegeManagement'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    AllowDeviceHealthMonitoring = 'String | Optional | notConfigured / enabled / disabled'
                    SupportsScopeTags = 'Boolean | Optional'
                    ConfigDeviceHealthMonitoringCustomScope = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            DeviceConfigurationIdentityProtectionPoliciesWindows10 = @(
                @{
                    PinUppercaseCharactersUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                    PinExpirationInDays = 'UInt32 | Optional'
                    Id = 'String | Optional'
                    UseSecurityKeyForSignin = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    SupportsScopeTags = 'Boolean | Optional'
                    PinPreviousBlockCount = 'UInt32 | Optional'
                    UseCertificatesForOnPremisesAuthEnabled = 'Boolean | Optional'
                    UnlockWithBiometricsEnabled = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Ensure = 'String | Optional | Present / Absent'
                    PinLowercaseCharactersUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                    SecurityDeviceRequired = 'Boolean | Optional'
                    WindowsHelloForBusinessBlocked = 'Boolean | Optional'
                    Description = 'String | Optional'
                    PinSpecialCharactersUsage = 'String | Optional | blocked / required / allowed / notConfigured'
                    PinMaximumLength = 'UInt32 | Optional'
                    EnhancedAntiSpoofingForFacialFeaturesEnabled = 'Boolean | Optional'
                    PinRecoveryEnabled = 'Boolean | Optional'
                    PinMinimumLength = 'UInt32 | Optional'
                }
            )
            DeviceConfigurationImportedPfxCertificatePoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    SubjectAlternativeNameType = 'String | Optional | none / emailAddress / userPrincipalName / customAzureADAttribute / domainNameService / universalResourceIdentifier'
                    Id = 'String | Optional'
                    IntendedPurpose = 'String | Optional | unassigned / smimeEncryption / smimeSigning / vpn / wifi'
                    Ensure = 'String | Optional | Present / Absent'
                    SubjectNameFormat = 'String | Optional | commonName / commonNameIncludingEmail / commonNameAsEmail / custom / commonNameAsIMEI / commonNameAsSerialNumber / commonNameAsAadDeviceId / commonNameAsIntuneDeviceId / commonNameAsDurableDeviceId'
                    Description = 'String | Optional'
                    KeyStorageProvider = 'String | Optional | useTpmKspOtherwiseUseSoftwareKsp / useTpmKspOtherwiseFail / usePassportForWorkKspOtherwiseFail / useSoftwareKsp'
                    CertificateValidityPeriodValue = 'UInt32 | Optional'
                    RenewalThresholdPercentage = 'UInt32 | Optional'
                    CertificateValidityPeriodScale = 'String | Optional | days / months / years'
                    DisplayName = 'String | Required'
                }
            )
            DeviceConfigurationKioskPoliciesWindows10 = @(
                @{
                    KioskBrowserEnableNavigationButtons = 'Boolean | Optional'
                    Id = 'String | Optional'
                    DisplayName = 'String | Required'
                    KioskBrowserBlockedUrlExceptions = 'StringArray | Optional'
                    KioskBrowserDefaultUrl = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    KioskBrowserRestartOnIdleTimeInMinutes = 'UInt32 | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    KioskProfiles = @(
                        @{
                            ProfileId = 'String | Optional'
                            UserAccountsConfiguration = @(
                                @{
                                    GroupId = 'String | Optional'
                                    UserName = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    UserPrincipalName = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.windowsKioskActiveDirectoryGroup / #microsoft.graph.windowsKioskAutologon / #microsoft.graph.windowsKioskAzureADGroup / #microsoft.graph.windowsKioskAzureADUser / #microsoft.graph.windowsKioskLocalGroup / #microsoft.graph.windowsKioskLocalUser / #microsoft.graph.windowsKioskVisitor'
                                    GroupName = 'String | Optional'
                                    UserId = 'String | Optional'
                                    DisplayName = 'String | Optional'
                                }
                            )
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            ProfileName = 'String | Optional'
                            AppConfiguration = @{
                                UwpApp = @{
                                    EdgeNoFirstRun = 'Boolean | Optional'
                                    Name = 'String | Optional'
                                    EdgeKiosk = 'String | Optional'
                                    ClassicAppPath = 'String | Optional'
                                    AppId = 'String | Optional'
                                    AppUserModelId = 'String | Optional'
                                    EdgeKioskIdleTimeoutMinutes = 'UInt32 | Optional'
                                    AutoLaunch = 'Boolean | Optional'
                                    StartLayoutTileSize = 'String | Optional | hidden / small / medium / wide / large'
                                    AppType = 'String | Optional | unknown / store / desktop / aumId'
                                    EdgeKioskType = 'String | Optional | publicBrowsing / fullScreen'
                                    ContainedAppId = 'String | Optional'
                                    DesktopApplicationId = 'String | Optional'
                                    DesktopApplicationLinkPath = 'String | Optional'
                                    Path = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.windowsKioskDesktopApp / #microsoft.graph.windowsKioskUWPApp / #microsoft.graph.windowsKioskWin32App'
                                }
                                Win32App = @{
                                    EdgeNoFirstRun = 'Boolean | Optional'
                                    Name = 'String | Optional'
                                    EdgeKiosk = 'String | Optional'
                                    ClassicAppPath = 'String | Optional'
                                    EdgeKioskIdleTimeoutMinutes = 'UInt32 | Optional'
                                    AppUserModelId = 'String | Optional'
                                    AppId = 'String | Optional'
                                    AutoLaunch = 'Boolean | Optional'
                                    StartLayoutTileSize = 'String | Optional | hidden / small / medium / wide / large'
                                    AppType = 'String | Optional | unknown / store / desktop / aumId'
                                    EdgeKioskType = 'String | Optional | publicBrowsing / fullScreen'
                                    ContainedAppId = 'String | Optional'
                                    DesktopApplicationId = 'String | Optional'
                                    DesktopApplicationLinkPath = 'String | Optional'
                                    Path = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.windowsKioskDesktopApp / #microsoft.graph.windowsKioskUWPApp / #microsoft.graph.windowsKioskWin32App'
                                }
                                Apps = @(
                                    @{
                                        EdgeNoFirstRun = 'Boolean | Optional'
                                        Name = 'String | Optional'
                                        EdgeKiosk = 'String | Optional'
                                        ClassicAppPath = 'String | Optional'
                                        AppId = 'String | Optional'
                                        AppUserModelId = 'String | Optional'
                                        EdgeKioskIdleTimeoutMinutes = 'UInt32 | Optional'
                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                        AutoLaunch = 'Boolean | Optional'
                                        StartLayoutTileSize = 'String | Optional | hidden / small / medium / wide / large'
                                        AppType = 'String | Optional | unknown / store / desktop / aumId'
                                        EdgeKioskType = 'String | Optional | publicBrowsing / fullScreen'
                                        ContainedAppId = 'String | Optional'
                                        DesktopApplicationId = 'String | Optional'
                                        DesktopApplicationLinkPath = 'String | Optional'
                                        Path = 'String | Optional'
                                        odataType = 'String | Optional | #microsoft.graph.windowsKioskDesktopApp / #microsoft.graph.windowsKioskUWPApp / #microsoft.graph.windowsKioskWin32App'
                                    }
                                )
                                AllowAccessToDownloadsFolder = 'Boolean | Optional'
                                ShowTaskBar = 'Boolean | Optional'
                                DisallowDesktopApps = 'Boolean | Optional'
                                odataType = 'String | Optional | #microsoft.graph.windowsKioskMultipleApps / #microsoft.graph.windowsKioskSingleUWPApp / #microsoft.graph.windowsKioskSingleWin32App'
                                StartMenuLayoutXml = 'String | Optional'
                            }
                        }
                    )
                    WindowsKioskForceUpdateSchedule = @{
                        RunImmediatelyIfAfterStartDateTime = 'Boolean | Optional'
                        StartDateTime = 'String | Optional'
                        DayofMonth = 'UInt32 | Optional'
                        Recurrence = 'String | Optional | none / daily / weekly / monthly'
                        DayofWeek = 'String | Optional | sunday / monday / tuesday / wednesday / thursday / friday / saturday'
                    }
                    KioskBrowserBlockedURLs = 'StringArray | Optional'
                    Description = 'String | Optional'
                    EdgeKioskEnablePublicBrowsing = 'Boolean | Optional'
                    KioskBrowserEnableEndSessionButton = 'Boolean | Optional'
                    KioskBrowserEnableHomeButton = 'Boolean | Optional'
                }
            )
            DeviceConfigurationNetworkBoundaryPoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    SupportsScopeTags = 'Boolean | Optional'
                    WindowsNetworkIsolationPolicy = @{
                        EnterpriseProxyServers = 'StringArray | Optional'
                        EnterpriseInternalProxyServers = 'StringArray | Optional'
                        EnterpriseIPRangesAreAuthoritative = 'Boolean | Optional'
                        EnterpriseCloudResources = @(
                            @{
                                Proxy = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                IpAddressOrFQDN = 'String | Optional'
                            }
                        )
                        EnterpriseProxyServersAreAuthoritative = 'Boolean | Optional'
                        EnterpriseNetworkDomainNames = 'StringArray | Optional'
                        EnterpriseIPRanges = @(
                            @{
                                CidrAddress = 'String | Optional'
                                UpperAddress = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                LowerAddress = 'String | Optional'
                                odataType = 'String | Optional | #microsoft.graph.iPv4CidrRange / #microsoft.graph.iPv6CidrRange / #microsoft.graph.iPv4Range / #microsoft.graph.iPv6Range'
                            }
                        )
                        NeutralDomainResources = 'StringArray | Optional'
                    }
                    DisplayName = 'String | Required'
                }
            )
            DeviceConfigurationPkcsCertificatePoliciesWindows10 = @(
                @{
                    SubjectAlternativeNameType = 'String | Optional | none / emailAddress / userPrincipalName / customAzureADAttribute / domainNameService / universalResourceIdentifier'
                    CertificationAuthorityName = 'String | Optional'
                    RenewalThresholdPercentage = 'UInt32 | Optional'
                    DisplayName = 'String | Required'
                    SubjectAlternativeNameFormatString = 'String | Optional'
                    CertificateValidityPeriodScale = 'String | Optional | days / months / years'
                    KeyStorageProvider = 'String | Optional | useTpmKspOtherwiseUseSoftwareKsp / useTpmKspOtherwiseFail / usePassportForWorkKspOtherwiseFail / useSoftwareKsp'
                    CertificationAuthority = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    SubjectNameFormatString = 'String | Optional'
                    CertificateValidityPeriodValue = 'UInt32 | Optional'
                    CertificateTemplateName = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    SubjectNameFormat = 'String | Optional | commonName / commonNameIncludingEmail / commonNameAsEmail / custom / commonNameAsIMEI / commonNameAsSerialNumber / commonNameAsAadDeviceId / commonNameAsIntuneDeviceId / commonNameAsDurableDeviceId'
                    CertificateStore = 'String | Optional | user / machine'
                    ExtendedKeyUsages = @(
                        @{
                            ObjectIdentifier = 'String | Optional'
                            Name = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        }
                    )
                    CustomSubjectAlternativeNames = @(
                        @{
                            Name = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            SanType = 'String | Optional | none / emailAddress / userPrincipalName / customAzureADAttribute / domainNameService / universalResourceIdentifier'
                        }
                    )
                }
            )
            DeviceConfigurationPoliciesAndroidDeviceAdministrator = @(
                @{
                    PowerOffBlocked = 'Boolean | Optional'
                    VoiceAssistantBlocked = 'Boolean | Optional'
                    AppsBlockCopyPaste = 'Boolean | Optional'
                    StorageRequireDeviceEncryption = 'Boolean | Optional'
                    LocationServicesBlocked = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    NfcBlocked = 'Boolean | Optional'
                    DiagnosticDataBlockSubmission = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    CellularBlockDataRoaming = 'Boolean | Optional'
                    PasswordBlockTrustAgents = 'Boolean | Optional'
                    RequiredPasswordComplexity = 'String | Optional | none / low / medium / high'
                    GooglePlayStoreBlocked = 'Boolean | Optional'
                    Id = 'String | Optional'
                    StorageBlockGoogleBackup = 'Boolean | Optional'
                    CameraBlocked = 'Boolean | Optional'
                    DeviceSharingAllowed = 'Boolean | Optional'
                    WebBrowserBlockJavaScript = 'Boolean | Optional'
                    KioskModeBlockVolumeButtons = 'Boolean | Optional'
                    VoiceDialingBlocked = 'Boolean | Optional'
                    CompliantAppListType = 'String | Optional | none / appsInListCompliant / appsNotInListCompliant'
                    AppsInstallAllowList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    WebBrowserBlockPopups = 'Boolean | Optional'
                    SecurityRequireVerifyApps = 'Boolean | Optional'
                    BluetoothBlocked = 'Boolean | Optional'
                    GoogleAccountBlockAutoSync = 'Boolean | Optional'
                    ScreenCaptureBlocked = 'Boolean | Optional'
                    WebBrowserCookieSettings = 'String | Optional | browserDefault / blockAlways / allowCurrentWebSite / allowFromWebsitesVisited / allowAlways'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    StorageBlockRemovableStorage = 'Boolean | Optional'
                    CellularBlockMessaging = 'Boolean | Optional'
                    PasswordBlockFingerprintUnlock = 'Boolean | Optional'
                    KioskModeBlockSleepButton = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AppsLaunchBlockList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    PasswordRequired = 'Boolean | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    PasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    WebBrowserBlocked = 'Boolean | Optional'
                    WiFiBlocked = 'Boolean | Optional'
                    AppsHideList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    PasswordMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    CellularBlockWiFiTethering = 'Boolean | Optional'
                    FactoryResetBlocked = 'Boolean | Optional'
                    AppsBlockClipboardSharing = 'Boolean | Optional'
                    WebBrowserBlockAutofill = 'Boolean | Optional'
                    DateAndTimeBlockChanges = 'Boolean | Optional'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    CompliantAppsList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    PasswordRequiredType = 'String | Optional | deviceDefault / alphabetic / alphanumeric / alphanumericWithSymbols / lowSecurityBiometric / numeric / numericComplex / any'
                    StorageRequireRemovableStorageEncryption = 'Boolean | Optional'
                    AppsBlockYouTube = 'Boolean | Optional'
                    KioskModeApps = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    CellularBlockVoiceRoaming = 'Boolean | Optional'
                }
            )
            DeviceConfigurationPoliciesAndroidDeviceOwner = @(
                @{
                    KioskModeVirtualHomeButtonEnabled = 'Boolean | Optional'
                    VolumeBlockAdjustment = 'Boolean | Optional'
                    KioskModeUseManagedHomeScreenApp = 'String | Optional | notConfigured / singleAppMode / multiAppMode'
                    KioskModeManagedHomeScreenInactiveSignOutDelayInSeconds = 'UInt32 | Optional'
                    AzureAdSharedDeviceDataClearApps = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    KioskModeAppPositions = @(
                        @{
                            position = 'UInt32 | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            item = @{
                                folderName = 'String | Optional'
                                folderIdentifier = 'String | Optional'
                                items = @(
                                    @{
                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                        link = 'String | Optional'
                                        className = 'String | Optional'
                                        label = 'String | Optional'
                                        package = 'String | Optional'
                                        odataType = 'String | Optional | #microsoft.graph.androidDeviceOwnerKioskModeApp / #microsoft.graph.androidDeviceOwnerKioskModeWeblink'
                                    }
                                )
                                label = 'String | Optional'
                                link = 'String | Optional'
                                package = 'String | Optional'
                                odataType = 'String | Optional | #microsoft.graph.androidDeviceOwnerKioskModeApp / #microsoft.graph.androidDeviceOwnerKioskModeWeblink / #microsoft.graph.androidDeviceOwnerKioskModeManagedFolder'
                                className = 'String | Optional'
                            }
                        }
                    )
                    KioskModeManagedHomeScreenPinRequired = 'Boolean | Optional'
                    SystemUpdateWindowStartMinutesAfterMidnight = 'UInt32 | Optional'
                    PlayStoreMode = 'String | Optional | notConfigured / allowList / blockList'
                    FactoryResetBlocked = 'Boolean | Optional'
                    KioskModeManagedHomeScreenSignInBackground = 'String | Optional'
                    ScreenCaptureBlocked = 'Boolean | Optional'
                    KioskModeManagedHomeScreenSignInEnabled = 'Boolean | Optional'
                    PasswordRequiredType = 'String | Optional | deviceDefault / required / numeric / numericComplex / alphabetic / alphanumeric / alphanumericWithSymbols / lowSecurityBiometric / customPassword'
                    AppsRecommendSkippingFirstUseHints = 'Boolean | Optional'
                    UsersBlockAdd = 'Boolean | Optional'
                    PersonalProfileAppsAllowInstallFromUnknownSources = 'Boolean | Optional'
                    KioskModeWiFiConfigurationEnabled = 'Boolean | Optional'
                    BluetoothBlockContactSharing = 'Boolean | Optional'
                    KioskModeAppsInFolderOrderedByName = 'Boolean | Optional'
                    MicrosoftLauncherCustomWallpaperImageUrl = 'String | Optional'
                    KioskModeMediaVolumeConfigurationEnabled = 'Boolean | Optional'
                    FactoryResetDeviceAdministratorEmails = 'StringArray | Optional'
                    KioskCustomizationPowerButtonActionsBlocked = 'Boolean | Optional'
                    PersonalProfileScreenCaptureBlocked = 'Boolean | Optional'
                    AppsAllowInstallFromUnknownSources = 'Boolean | Optional'
                    KioskModeWallpaperUrl = 'String | Optional'
                    KioskModeScreenSaverConfigurationEnabled = 'Boolean | Optional'
                    StorageBlockUsbFileTransfer = 'Boolean | Optional'
                    PasswordMinimumLowerCaseCharacters = 'UInt32 | Optional'
                    VpnAlwaysOnPackageIdentifier = 'String | Optional'
                    KioskModeManagedFolders = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            folderName = 'String | Optional'
                            folderIdentifier = 'String | Optional'
                            items = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    link = 'String | Optional'
                                    className = 'String | Optional'
                                    label = 'String | Optional'
                                    package = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.androidDeviceOwnerKioskModeApp / #microsoft.graph.androidDeviceOwnerKioskModeWeblink'
                                }
                            )
                        }
                    )
                    WorkProfilePasswordMinimumNumericCharacters = 'UInt32 | Optional'
                    KioskCustomizationDeviceSettingsBlocked = 'Boolean | Optional'
                    CrossProfilePoliciesAllowCopyPaste = 'Boolean | Optional'
                    MicrosoftLauncherConfigurationEnabled = 'Boolean | Optional'
                    PasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    EnrollmentProfile = 'String | Optional | notConfigured / dedicatedDevice / fullyManaged'
                    PasswordBlockKeyguardFeatures = 'StringArray | Optional | notConfigured / camera / notifications / unredactedNotifications / trustAgents / fingerprint / remoteInput / allFeatures / face / iris / biometrics'
                    PasswordMinimumLetterCharacters = 'UInt32 | Optional'
                    SystemUpdateWindowEndMinutesAfterMidnight = 'UInt32 | Optional'
                    WorkProfilePasswordMinimumLength = 'UInt32 | Optional'
                    PasswordBlockKeyguard = 'Boolean | Optional'
                    PersonalProfilePersonalApplications = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    KioskModeManagedHomeScreenAutoSignout = 'Boolean | Optional'
                    KioskModeLockHomeScreen = 'Boolean | Optional'
                    NfcBlockOutgoingBeam = 'Boolean | Optional'
                    DateTimeConfigurationBlocked = 'Boolean | Optional'
                    VpnAlwaysOnLockdownMode = 'Boolean | Optional'
                    MicrosoftLauncherSearchBarPlacementConfiguration = 'String | Optional | notConfigured / top / bottom / hide'
                    DisplayName = 'String | Required'
                    KioskModeApps = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    StayOnModes = 'StringArray | Optional | notConfigured / ac / usb / wireless'
                    MicrosoftLauncherDockPresenceConfiguration = 'String | Optional | notConfigured / show / hide / disabled'
                    KioskModeFlashlightConfigurationEnabled = 'Boolean | Optional'
                    KioskModeScreenSaverImageUrl = 'String | Optional'
                    AppsAutoUpdatePolicy = 'String | Optional | notConfigured / userChoice / never / wiFiOnly / always'
                    KioskModeIconSize = 'String | Optional | notConfigured / smallest / small / regular / large / largest'
                    Ensure = 'String | Optional | Present / Absent'
                    CellularBlockWiFiTethering = 'Boolean | Optional'
                    KioskModeManagedHomeScreenPinRequiredToResume = 'Boolean | Optional'
                    KioskModeManagedSettingsEntryDisabled = 'Boolean | Optional'
                    WorkProfilePasswordMinimumNonLetterCharacters = 'UInt32 | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    MicrosoftLauncherDockPresenceAllowUserModification = 'Boolean | Optional'
                    MicrosoftLauncherFeedAllowUserModification = 'Boolean | Optional'
                    KioskCustomizationSystemErrorWarnings = 'Boolean | Optional'
                    Description = 'String | Optional'
                    SystemUpdateInstallType = 'String | Optional | deviceDefault / postpone / windowed / automatic'
                    StorageAllowUsb = 'Boolean | Optional'
                    UsersBlockRemove = 'Boolean | Optional'
                    DetailedHelpText = @{
                        localizedMessages = @(
                            @{
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                Value = 'String | Optional'
                            }
                        )
                        defaultMessage = 'String | Optional'
                    }
                    CrossProfilePoliciesAllowDataSharing = 'String | Optional | notConfigured / crossProfileDataSharingBlocked / dataSharingFromWorkToPersonalBlocked / crossProfileDataSharingAllowed / unkownFutureValue'
                    PasswordMinimumNumericCharacters = 'UInt32 | Optional'
                    MicrophoneForceMute = 'Boolean | Optional'
                    KioskModeWifiAllowedSsids = 'StringArray | Optional'
                    KioskModeScreenSaverDisplayTimeInSeconds = 'UInt32 | Optional'
                    AppsDefaultPermissionPolicy = 'String | Optional | deviceDefault / prompt / autoGrant / autoDeny'
                    Id = 'String | Optional'
                    GoogleAccountsBlocked = 'Boolean | Optional'
                    WorkProfilePasswordPreviousPasswordCountToBlock = 'UInt32 | Optional'
                    CrossProfilePoliciesShowWorkContactsInPersonalProfile = 'Boolean | Optional'
                    PasswordRequireUnlock = 'String | Optional | deviceDefault / daily / unkownFutureValue'
                    PersonalProfileCameraBlocked = 'Boolean | Optional'
                    KioskModeScreenSaverDetectMediaDisabled = 'Boolean | Optional'
                    WorkProfilePasswordMinimumSymbolCharacters = 'UInt32 | Optional'
                    BluetoothBlockConfiguration = 'Boolean | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    NetworkEscapeHatchAllowed = 'Boolean | Optional'
                    SystemWindowsBlocked = 'Boolean | Optional'
                    KioskModeShowAppNotificationBadge = 'Boolean | Optional'
                    KioskModeShowDeviceInfo = 'Boolean | Optional'
                    KioskModeVirtualHomeButtonType = 'String | Optional | notConfigured / swipeUp / floating'
                    GlobalProxy = @{
                        excludedHosts = 'StringArray | Optional'
                        host = 'String | Optional'
                        port = 'UInt32 | Optional'
                        proxyAutoConfigURL = 'String | Optional'
                        odataType = 'String | Optional | #microsoft.graph.androidDeviceOwnerGlobalProxyAutoConfig / #microsoft.graph.androidDeviceOwnerGlobalProxyDirect'
                    }
                    WorkProfilePasswordMinimumLowerCaseCharacters = 'UInt32 | Optional'
                    DeviceOwnerLockScreenMessage = @{
                        localizedMessages = @(
                            @{
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                Value = 'String | Optional'
                            }
                        )
                        defaultMessage = 'String | Optional'
                    }
                    SecurityDeveloperSettingsEnabled = 'Boolean | Optional'
                    SystemUpdateFreezePeriods = @(
                        @{
                            endMonth = 'UInt32 | Optional'
                            startMonth = 'UInt32 | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            startDay = 'UInt32 | Optional'
                            endDay = 'UInt32 | Optional'
                        }
                    )
                    WorkProfilePasswordRequireUnlock = 'String | Optional | deviceDefault / daily / unkownFutureValue'
                    WorkProfilePasswordRequiredType = 'String | Optional | deviceDefault / required / numeric / numericComplex / alphabetic / alphanumeric / alphanumericWithSymbols / lowSecurityBiometric / customPassword'
                    StorageBlockExternalMedia = 'Boolean | Optional'
                    KioskModeBluetoothConfigurationEnabled = 'Boolean | Optional'
                    PasswordMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    AccountsBlockModification = 'Boolean | Optional'
                    WifiBlockEditConfigurations = 'Boolean | Optional'
                    KioskModeGridHeight = 'UInt32 | Optional'
                    KioskModeDebugMenuEasyAccessEnabled = 'Boolean | Optional'
                    PasswordMinimumUpperCaseCharacters = 'UInt32 | Optional'
                    KioskModeManagedHomeScreenPinComplexity = 'String | Optional | notConfigured / simple / complex'
                    KioskModeFolderIcon = 'String | Optional | notConfigured / darkSquare / darkCircle / lightSquare / lightCircle'
                    KioskCustomizationSystemNavigation = 'String | Optional | notConfigured / navigationEnabled / homeButtonOnly'
                    DataRoamingBlocked = 'Boolean | Optional'
                    WorkProfilePasswordMinimumLetterCharacters = 'UInt32 | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    CameraBlocked = 'Boolean | Optional'
                    KioskModeManagedHomeScreenInactiveSignOutNoticeInSeconds = 'UInt32 | Optional'
                    KioskModeScreenOrientation = 'String | Optional | notConfigured / portrait / landscape / autoRotate'
                    PasswordMinimumSymbolCharacters = 'UInt32 | Optional'
                    WifiBlockEditPolicyDefinedConfigurations = 'Boolean | Optional'
                    PasswordMinimumNonLetterCharacters = 'UInt32 | Optional'
                    KioskModeManagedHomeScreenSignInBrandingLogo = 'String | Optional'
                    SecurityRequireVerifyApps = 'Boolean | Optional'
                    WorkProfilePasswordExpirationDays = 'UInt32 | Optional'
                    KioskModeExitCode = 'String | Optional'
                    StatusBarBlocked = 'Boolean | Optional'
                    PasswordPreviousPasswordCountToBlock = 'UInt32 | Optional'
                    KioskCustomizationStatusBar = 'String | Optional | notConfigured / notificationsAndSystemInfoEnabled / systemInfoOnly'
                    ShortHelpText = @{
                        localizedMessages = @(
                            @{
                                Name = 'String | Optional'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                Value = 'String | Optional'
                            }
                        )
                        defaultMessage = 'String | Optional'
                    }
                    PersonalProfilePlayStoreMode = 'String | Optional | notConfigured / blockedApps / allowedApps'
                    KioskModeGridWidth = 'UInt32 | Optional'
                    SecurityCommonCriteriaModeEnabled = 'Boolean | Optional'
                    WorkProfilePasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    WorkProfilePasswordMinimumUpperCaseCharacters = 'UInt32 | Optional'
                    MicrosoftLauncherFeedEnabled = 'Boolean | Optional'
                    MicrosoftLauncherCustomWallpaperEnabled = 'Boolean | Optional'
                    KioskModeAppOrderEnabled = 'Boolean | Optional'
                    KioskModeScreenSaverStartDelayInSeconds = 'UInt32 | Optional'
                    MicrosoftLauncherCustomWallpaperAllowUserModification = 'Boolean | Optional'
                    CertificateCredentialConfigurationDisabled = 'Boolean | Optional'
                }
            )
            DeviceConfigurationPoliciesAndroidOpenSourceProject = @(
                @{
                    ScreenCaptureBlocked = 'Boolean | Optional'
                    Id = 'String | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    DisplayName = 'String | Required'
                    BluetoothBlocked = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    CameraBlocked = 'Boolean | Optional'
                    AppsBlockInstallFromUnknownSources = 'Boolean | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    PasswordRequiredType = 'String | Optional | deviceDefault / required / numeric / numericComplex / alphabetic / alphanumeric / alphanumericWithSymbols / lowSecurityBiometric / customPassword'
                    FactoryResetBlocked = 'Boolean | Optional'
                    PasswordMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    StorageBlockUsbFileTransfer = 'Boolean | Optional'
                    WifiBlockEditConfigurations = 'Boolean | Optional'
                    PasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    SecurityAllowDebuggingFeatures = 'Boolean | Optional'
                    StorageBlockExternalMedia = 'Boolean | Optional'
                    BluetoothBlockConfiguration = 'Boolean | Optional'
                }
            )
            DeviceConfigurationPoliciesAndroidWorkProfile = @(
                @{
                    WorkProfilePasswordBlockIrisUnlock = 'Boolean | Optional'
                    WorkProfilePasswordBlockTrustAgents = 'Boolean | Optional'
                    RequiredPasswordComplexity = 'String | Optional | none / low / medium / high'
                    WorkProfileBlockNotificationsWhileDeviceLocked = 'Boolean | Optional'
                    Description = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    WorkProfileRequirePassword = 'Boolean | Optional'
                    WorkProfilePasswordMinNumericCharacters = 'UInt32 | Optional'
                    DisplayName = 'String | Required'
                    WorkProfilePasswordMinUpperCaseCharacters = 'UInt32 | Optional'
                    PasswordBlockFingerprintUnlock = 'Boolean | Optional'
                    passwordBlockTrustAgents = 'Boolean | Optional'
                    WorkProfilePasswordBlockFingerprintUnlock = 'Boolean | Optional'
                    WorkProfilePasswordMinLowerCaseCharacters = 'UInt32 | Optional'
                    VpnEnableAlwaysOnLockdownMode = 'Boolean | Optional'
                    WorkProfileAllowAppInstallsFromUnknownSources = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    WorkProfileBlockCrossProfileCopyPaste = 'Boolean | Optional'
                    PasswordBlockFaceUnlock = 'Boolean | Optional'
                    WorkProfilePasswordMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    WorkProfileBlockCrossProfileContactsSearch = 'Boolean | Optional'
                    SecurityRequireVerifyApps = 'Boolean | Optional'
                    PasswordRequiredType = 'String | Optional | deviceDefault / lowSecurityBiometric / required / atLeastNumeric / numericComplex / atLeastAlphabetic / atLeastAlphanumeric / alphanumericWithSymbols'
                    WorkProfilePasswordRequiredType = 'String | Optional | deviceDefault / lowSecurityBiometric / required / atLeastNumeric / numericComplex / atLeastAlphabetic / atLeastAlphanumeric / alphanumericWithSymbols'
                    WorkProfilePasswordBlockFaceUnlock = 'Boolean | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    WorkProfileBluetoothEnableContactSharing = 'Boolean | Optional'
                    WorkProfileDataSharingType = 'String | Optional | deviceDefault / preventAny / allowPersonalToWork / noRestrictions'
                    WorkProfilePasswordMinSymbolCharacters = 'UInt32 | Optional'
                    WorkProfilePasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    WorkProfileBlockScreenCapture = 'Boolean | Optional'
                    WorkProfilePasswordMinimumLength = 'UInt32 | Optional'
                    WorkProfilePasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    PasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    WorkProfileBlockAddingAccounts = 'Boolean | Optional'
                    PasswordMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    WorkProfilePasswordMinLetterCharacters = 'UInt32 | Optional'
                    WorkProfileRequiredPasswordComplexity = 'String | Optional | none / low / medium / high'
                    WorkProfileBlockCrossProfileCallerId = 'Boolean | Optional'
                    WorkProfileBlockCamera = 'Boolean | Optional'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    WorkProfileAllowWidgets = 'Boolean | Optional'
                    VpnAlwaysOnPackageIdentifier = 'String | Optional'
                    WorkProfilePasswordExpirationDays = 'UInt32 | Optional'
                    WorkProfileBlockPersonalAppInstallsFromUnknownSources = 'Boolean | Optional'
                    WorkProfileDefaultAppPermissionPolicy = 'String | Optional | deviceDefault / prompt / autoGrant / autoDeny'
                    WorkProfilePasswordMinNonLetterCharacters = 'UInt32 | Optional'
                    PasswordBlockIrisUnlock = 'Boolean | Optional'
                }
            )
            DeviceConfigurationPoliciesiOS = @(
                @{
                    EmailInDomainSuffixes = 'StringArray | Optional'
                    DocumentsBlockUnmanagedDocumentsInManagedApps = 'Boolean | Optional'
                    FaceTimeBlocked = 'Boolean | Optional'
                    OnDeviceOnlyDictationForced = 'Boolean | Optional'
                    NetworkUsageRules = @(
                        @{
                            cellularDataBlockWhenRoaming = 'Boolean | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            managedApps = @(
                                @{
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    name = 'String | Optional'
                                    appId = 'String | Optional'
                                    appStoreUrl = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                                    publisher = 'String | Optional'
                                }
                            )
                            cellularDataBlocked = 'Boolean | Optional'
                        }
                    )
                    ICloudBlockActivityContinuation = 'Boolean | Optional'
                    SoftwareUpdatesEnforcedDelayInDays = 'UInt32 | Optional'
                    AppsSingleAppModeList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    ICloudBlockPhotoLibrary = 'Boolean | Optional'
                    PrivacyForceLimitAdTracking = 'Boolean | Optional'
                    CameraBlocked = 'Boolean | Optional'
                    MediaContentRatingGermany = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / agesAbove6 / agesAbove12 / agesAbove16 / adults'
                        tvRating = 'String | Optional | allAllowed / allBlocked / general / agesAbove6 / agesAbove12 / agesAbove16 / adults'
                    }
                    KeyboardBlockShortcuts = 'Boolean | Optional'
                    FilesUsbDriveAccessBlocked = 'Boolean | Optional'
                    MediaContentRatingUnitedKingdom = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / universalChildren / parentalGuidance / agesAbove12Video / agesAbove12Cinema / agesAbove15 / adults'
                        tvRating = 'String | Optional | allAllowed / allBlocked / caution'
                    }
                    AppStoreBlocked = 'Boolean | Optional'
                    KioskModeRequireColorInversion = 'Boolean | Optional'
                    ICloudPrivateRelayBlocked = 'Boolean | Optional'
                    KeychainBlockCloudSync = 'Boolean | Optional'
                    SharedDeviceBlockTemporarySessions = 'Boolean | Optional'
                    SafariBlocked = 'Boolean | Optional'
                    ICloudBlockSharedPhotoStream = 'Boolean | Optional'
                    EnterpriseBookBlockMetadataSync = 'Boolean | Optional'
                    AirDropBlocked = 'Boolean | Optional'
                    DeviceBlockEnableRestrictions = 'Boolean | Optional'
                    KioskModeBlockRingerSwitch = 'Boolean | Optional'
                    KioskModeEnableVoiceControl = 'Boolean | Optional'
                    KioskModeBlockSleepButton = 'Boolean | Optional'
                    AppStoreBlockInAppPurchases = 'Boolean | Optional'
                    ApplePersonalizedAdsBlocked = 'Boolean | Optional'
                    KioskModeBlockAutoLock = 'Boolean | Optional'
                    ClassroomAppBlockRemoteScreenObservation = 'Boolean | Optional'
                    PasscodeBlockFingerprintModification = 'Boolean | Optional'
                    FindMyDeviceInFindMyAppBlocked = 'Boolean | Optional'
                    IBooksStoreBlocked = 'Boolean | Optional'
                    KioskModeRequireVoiceOver = 'Boolean | Optional'
                    SafariManagedDomains = 'StringArray | Optional'
                    AirDropForceUnmanagedDropTarget = 'Boolean | Optional'
                    SafariBlockAutofill = 'Boolean | Optional'
                    PasscodeSignInFailureCountBeforeWipe = 'UInt32 | Optional'
                    ContinuousPathKeyboardBlocked = 'Boolean | Optional'
                    AppleWatchForceWristDetection = 'Boolean | Optional'
                    PasscodeMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    KioskModeAllowVoiceControlModification = 'Boolean | Optional'
                    MediaContentRatingUnitedStates = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / parentalGuidance / parentalGuidance13 / restricted / adults'
                        tvRating = 'String | Optional | allAllowed / allBlocked / childrenAll / childrenAbove7 / general / parentalGuidance / childrenAbove14 / adults'
                    }
                    KioskModeBlockVolumeButtons = 'Boolean | Optional'
                    HostPairingBlocked = 'Boolean | Optional'
                    AppClipsBlocked = 'Boolean | Optional'
                    OnDeviceOnlyTranslationForced = 'Boolean | Optional'
                    AccountBlockModification = 'Boolean | Optional'
                    CellularBlockPlanModification = 'Boolean | Optional'
                    AirPrintBlocked = 'Boolean | Optional'
                    EnterpriseBookBlockBackup = 'Boolean | Optional'
                    KioskModeAllowZoomSettings = 'Boolean | Optional'
                    PasswordBlockAirDropSharing = 'Boolean | Optional'
                    CellularBlockPersonalHotspotModification = 'Boolean | Optional'
                    NotificationsBlockSettingsModification = 'Boolean | Optional'
                    CertificatesBlockUntrustedTlsCertificates = 'Boolean | Optional'
                    DateAndTimeForceSetAutomatically = 'Boolean | Optional'
                    FilesNetworkDriveAccessBlocked = 'Boolean | Optional'
                    SafariPasswordAutoFillDomains = 'StringArray | Optional'
                    KeyboardBlockSpellCheck = 'Boolean | Optional'
                    PasscodeMinimumCharacterSetCount = 'UInt32 | Optional'
                    KioskModeAllowScreenRotation = 'Boolean | Optional'
                    WiFiConnectToAllowedNetworksOnlyForced = 'Boolean | Optional'
                    KioskModeAllowColorInversionSettings = 'Boolean | Optional'
                    PasscodeMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                    EnterpriseAppBlockTrust = 'Boolean | Optional'
                    DiagnosticDataBlockSubmission = 'Boolean | Optional'
                    GamingBlockMultiplayer = 'Boolean | Optional'
                    KioskModeManagedAppId = 'String | Optional'
                    KioskModeRequireAssistiveTouch = 'Boolean | Optional'
                    AppStoreBlockUIAppInstallation = 'Boolean | Optional'
                    ITunesBlockExplicitContent = 'Boolean | Optional'
                    DeviceBlockEraseContentAndSettings = 'Boolean | Optional'
                    UsbRestrictedModeBlocked = 'Boolean | Optional'
                    SafariBlockJavaScript = 'Boolean | Optional'
                    Description = 'String | Optional'
                    AppRemovalBlocked = 'Boolean | Optional'
                    ClassroomForceUnpromptedAppAndDeviceLock = 'Boolean | Optional'
                    PodcastsBlocked = 'Boolean | Optional'
                    ClassroomForceRequestPermissionToLeaveClasses = 'Boolean | Optional'
                    AppsVisibilityList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    KioskModeAppStoreUrl = 'String | Optional'
                    MediaContentRatingFrance = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / agesAbove10 / agesAbove12 / agesAbove16 / agesAbove18'
                        tvRating = 'String | Optional | allAllowed / allBlocked / agesAbove10 / agesAbove12 / agesAbove16 / agesAbove18'
                    }
                    BlockSystemAppRemoval = 'Boolean | Optional'
                    AppsVisibilityListType = 'String | Optional | none / appsInListCompliant / appsNotInListCompliant'
                    EsimBlockModification = 'Boolean | Optional'
                    ContactsAllowUnmanagedToManagedRead = 'Boolean | Optional'
                    KioskModeAllowVoiceOverSettings = 'Boolean | Optional'
                    SiriBlocked = 'Boolean | Optional'
                    KioskModeBlockScreenRotation = 'Boolean | Optional'
                    NfcBlocked = 'Boolean | Optional'
                    MediaContentRatingJapan = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / parentalGuidance / agesAbove15 / agesAbove18'
                        tvRating = 'String | Optional | allAllowed / allBlocked / explicitAllowed'
                    }
                    PasswordBlockAutoFill = 'Boolean | Optional'
                    CompliantAppsList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    LockScreenBlockNotificationView = 'Boolean | Optional'
                    ScreenCaptureBlocked = 'Boolean | Optional'
                    KioskModeAllowTouchscreen = 'Boolean | Optional'
                    ICloudRequireEncryptedBackup = 'Boolean | Optional'
                    CellularBlockDataRoaming = 'Boolean | Optional'
                    ICloudBlockDocumentSync = 'Boolean | Optional'
                    ITunesBlockRadio = 'Boolean | Optional'
                    KioskModeAppType = 'String | Optional | notConfigured / appStoreApp / managedApp / builtInApp'
                    KioskModeAllowVolumeButtons = 'Boolean | Optional'
                    SiriBlockUserGeneratedContent = 'Boolean | Optional'
                    VoiceDialingBlocked = 'Boolean | Optional'
                    PasscodeMinimumLength = 'UInt32 | Optional'
                    ActivationLockAllowWhenSupervised = 'Boolean | Optional'
                    CellularBlockVoiceRoaming = 'Boolean | Optional'
                    MediaContentRatingIreland = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / parentalGuidance / agesAbove12 / agesAbove15 / agesAbove16 / adults'
                        tvRating = 'String | Optional | allAllowed / allBlocked / general / children / youngAdults / parentalSupervision / mature'
                    }
                    Id = 'String | Optional'
                    KeyboardBlockDictation = 'Boolean | Optional'
                    PasscodeBlockModification = 'Boolean | Optional'
                    AutoUnlockBlocked = 'Boolean | Optional'
                    PasswordBlockProximityRequests = 'Boolean | Optional'
                    MediaContentRatingAustralia = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / parentalGuidance / mature / agesAbove15 / agesAbove18'
                        tvRating = 'String | Optional | allAllowed / allBlocked / preschoolers / children / general / parentalGuidance / mature / agesAbove15 / agesAbove15AdultViolence'
                    }
                    DiagnosticDataBlockSubmissionModification = 'Boolean | Optional'
                    SafariRequireFraudWarning = 'Boolean | Optional'
                    ManagedPasteboardRequired = 'Boolean | Optional'
                    ProximityBlockSetupToNewDevice = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    SiriBlockedWhenLocked = 'Boolean | Optional'
                    MessagesBlocked = 'Boolean | Optional'
                    MediaContentRatingCanada = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / parentalGuidance / agesAbove14 / agesAbove18 / restricted'
                        tvRating = 'String | Optional | allAllowed / allBlocked / children / childrenAbove8 / general / parentalGuidance / agesAbove14 / agesAbove18'
                    }
                    ICloudBlockPhotoStreamSync = 'Boolean | Optional'
                    KeyboardBlockPredictive = 'Boolean | Optional'
                    SafariBlockPopups = 'Boolean | Optional'
                    GameCenterBlocked = 'Boolean | Optional'
                    PasscodeBlockSimple = 'Boolean | Optional'
                    ITunesBlocked = 'Boolean | Optional'
                    FindMyFriendsInFindMyAppBlocked = 'Boolean | Optional'
                    LockScreenBlockPassbook = 'Boolean | Optional'
                    KioskModeAllowSleepButton = 'Boolean | Optional'
                    PasscodeRequired = 'Boolean | Optional'
                    EnterpriseAppBlockTrustModification = 'Boolean | Optional'
                    AirPlayForcePairingPasswordForOutgoingRequests = 'Boolean | Optional'
                    KeyboardBlockAutoCorrect = 'Boolean | Optional'
                    AirPrintBlockiBeaconDiscovery = 'Boolean | Optional'
                    SpotlightBlockInternetResults = 'Boolean | Optional'
                    IBooksStoreBlockErotica = 'Boolean | Optional'
                    KioskModeAllowRingerSwitch = 'Boolean | Optional'
                    VpnBlockCreation = 'Boolean | Optional'
                    PkiBlockOTAUpdates = 'Boolean | Optional'
                    CellularBlockGlobalBackgroundFetchWhileRoaming = 'Boolean | Optional'
                    CellularBlockPersonalHotspot = 'Boolean | Optional'
                    DocumentsBlockManagedDocumentsInUnmanagedApps = 'Boolean | Optional'
                    KioskModeBuiltInAppId = 'String | Optional'
                    AppleWatchBlockPairing = 'Boolean | Optional'
                    AirPrintForceTrustedTLS = 'Boolean | Optional'
                    WallpaperBlockModification = 'Boolean | Optional'
                    SiriRequireProfanityFilter = 'Boolean | Optional'
                    PasscodeBlockFingerprintUnlock = 'Boolean | Optional'
                    ITunesBlockMusicService = 'Boolean | Optional'
                    KioskModeAllowAssistiveSpeak = 'Boolean | Optional'
                    UnpairedExternalBootToRecoveryAllowed = 'Boolean | Optional'
                    DefinitionLookupBlocked = 'Boolean | Optional'
                    FindMyFriendsBlocked = 'Boolean | Optional'
                    AppStoreRequirePassword = 'Boolean | Optional'
                    ICloudBlockManagedAppsSync = 'Boolean | Optional'
                    LockScreenBlockTodayView = 'Boolean | Optional'
                    BluetoothBlockModification = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    SoftwareUpdatesForceDelayed = 'Boolean | Optional'
                    ConfigurationProfileBlockChanges = 'Boolean | Optional'
                    AppStoreBlockAutomaticDownloads = 'Boolean | Optional'
                    WiFiConnectOnlyToConfiguredNetworks = 'Boolean | Optional'
                    MediaContentRatingNewZealand = @{
                        movieRating = 'String | Optional | allAllowed / allBlocked / general / parentalGuidance / mature / agesAbove13 / agesAbove15 / agesAbove16 / agesAbove18 / restricted / agesAbove16Restricted'
                        tvRating = 'String | Optional | allAllowed / allBlocked / general / parentalGuidance / adults'
                    }
                    KioskModeRequireMonoAudio = 'Boolean | Optional'
                    AppleNewsBlocked = 'Boolean | Optional'
                    MediaContentRatingApps = 'String | Optional | allAllowed / allBlocked / agesAbove4 / agesAbove9 / agesAbove12 / agesAbove17'
                    LockScreenBlockControlCenter = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    CellularBlockPerAppDataModification = 'Boolean | Optional'
                    ClassroomForceAutomaticallyJoinClasses = 'Boolean | Optional'
                    ClassroomAppForceUnpromptedScreenObservation = 'Boolean | Optional'
                    SafariCookieSettings = 'String | Optional | browserDefault / blockAlways / allowCurrentWebSite / allowFromWebsitesVisited / allowAlways'
                    DeviceBlockNameModification = 'Boolean | Optional'
                    GamingBlockGameCenterFriends = 'Boolean | Optional'
                    WifiPowerOnForced = 'Boolean | Optional'
                    ContactsAllowManagedToUnmanagedWrite = 'Boolean | Optional'
                    AirPrintBlockCredentialsStorage = 'Boolean | Optional'
                    KioskModeAllowAssistiveTouchSettings = 'Boolean | Optional'
                    PasscodeRequiredType = 'String | Optional | deviceDefault / alphanumeric / numeric'
                    PasscodePreviousPasscodeBlockCount = 'UInt32 | Optional'
                    AutoFillForceAuthentication = 'Boolean | Optional'
                    CompliantAppListType = 'String | Optional | none / appsInListCompliant / appsNotInListCompliant'
                    PasscodeExpirationDays = 'UInt32 | Optional'
                    ICloudBlockBackup = 'Boolean | Optional'
                    KioskModeAllowAutoLock = 'Boolean | Optional'
                    KioskModeBlockTouchscreen = 'Boolean | Optional'
                    KioskModeRequireZoom = 'Boolean | Optional'
                }
            )
            DeviceConfigurationPoliciesMacOS = @(
                @{
                    ICloudBlockPhotoLibrary = 'Boolean | Optional'
                    ICloudBlockBookmarks = 'Boolean | Optional'
                    SoftwareUpdateNonOSDeferredInstallDelayInDays = 'UInt32 | Optional'
                    AirDropBlocked = 'Boolean | Optional'
                    ClassroomForceUnpromptedAppAndDeviceLock = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    ClassroomAppForceUnpromptedScreenObservation = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    PrivacyAccessControls = @(
                        @{
                            photos = 'String | Optional | notConfigured / enabled / disabled'
                            systemPolicySystemAdminFiles = 'String | Optional | notConfigured / enabled / disabled'
                            systemPolicyAllFiles = 'String | Optional | notConfigured / enabled / disabled'
                            systemPolicyNetworkVolumes = 'String | Optional | notConfigured / enabled / disabled'
                            displayName = 'String | Optional'
                            reminders = 'String | Optional | notConfigured / enabled / disabled'
                            systemPolicyRemovableVolumes = 'String | Optional | notConfigured / enabled / disabled'
                            calendar = 'String | Optional | notConfigured / enabled / disabled'
                            postEvent = 'String | Optional | notConfigured / enabled / disabled'
                            systemPolicyDownloadsFolder = 'String | Optional | notConfigured / enabled / disabled'
                            speechRecognition = 'String | Optional | notConfigured / enabled / disabled'
                            appleEventsAllowedReceivers = @(
                                @{
                                    identifierType = 'String | Optional | bundleID / path'
                                    identifier = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    allowed = 'Boolean | Optional'
                                    codeRequirement = 'String | Optional'
                                }
                            )
                            blockCamera = 'Boolean | Optional'
                            blockListenEvent = 'Boolean | Optional'
                            identifier = 'String | Optional'
                            fileProviderPresence = 'String | Optional | notConfigured / enabled / disabled'
                            systemPolicyDocumentsFolder = 'String | Optional | notConfigured / enabled / disabled'
                            accessibility = 'String | Optional | notConfigured / enabled / disabled'
                            codeRequirement = 'String | Optional'
                            systemPolicyDesktopFolder = 'String | Optional | notConfigured / enabled / disabled'
                            blockScreenCapture = 'Boolean | Optional'
                            staticCodeValidation = 'Boolean | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            addressBook = 'String | Optional | notConfigured / enabled / disabled'
                            mediaLibrary = 'String | Optional | notConfigured / enabled / disabled'
                            blockMicrophone = 'Boolean | Optional'
                            identifierType = 'String | Optional | bundleID / path'
                        }
                    )
                    PasswordBlockFingerprintUnlock = 'Boolean | Optional'
                    ICloudBlockAddressBook = 'Boolean | Optional'
                    MultiplayerGamingBlocked = 'Boolean | Optional'
                    Id = 'String | Optional'
                    CameraBlocked = 'Boolean | Optional'
                    SoftwareUpdatesEnforcedDelayInDays = 'UInt32 | Optional'
                    GameCenterBlocked = 'Boolean | Optional'
                    SafariBlockAutofill = 'Boolean | Optional'
                    UpdateDelayPolicy = 'StringArray | Optional | none / delayOSUpdateVisibility / delayAppUpdateVisibility / unknownFutureValue / delayMajorOsUpdateVisibility'
                    AppleWatchBlockAutoUnlock = 'Boolean | Optional'
                    PasswordMaximumAttemptCount = 'UInt32 | Optional'
                    ClassroomForceAutomaticallyJoinClasses = 'Boolean | Optional'
                    ITunesBlockFileSharing = 'Boolean | Optional'
                    SoftwareUpdateMinorOSDeferredInstallDelayInDays = 'UInt32 | Optional'
                    CompliantAppListType = 'String | Optional | none / appsInListCompliant / appsNotInListCompliant'
                    TouchIdTimeoutInHours = 'UInt32 | Optional'
                    ClassroomAppBlockRemoteScreenObservation = 'Boolean | Optional'
                    ICloudBlockActivityContinuation = 'Boolean | Optional'
                    ITunesBlockMusicService = 'Boolean | Optional'
                    ICloudBlockReminders = 'Boolean | Optional'
                    ScreenCaptureBlocked = 'Boolean | Optional'
                    ContentCachingBlocked = 'Boolean | Optional'
                    ICloudPrivateRelayBlocked = 'Boolean | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    ICloudBlockCalendar = 'Boolean | Optional'
                    KeyboardBlockDictation = 'Boolean | Optional'
                    AddingGameCenterFriendsBlocked = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ICloudDesktopAndDocumentsBlocked = 'Boolean | Optional'
                    ClassroomForceRequestPermissionToLeaveClasses = 'Boolean | Optional'
                    Description = 'String | Optional'
                    PasswordRequired = 'Boolean | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    SoftwareUpdateMajorOSDeferredInstallDelayInDays = 'UInt32 | Optional'
                    PasswordBlockSimple = 'Boolean | Optional'
                    ICloudBlockNotes = 'Boolean | Optional'
                    ICloudBlockMail = 'Boolean | Optional'
                    PasswordMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    EraseContentAndSettingsBlocked = 'Boolean | Optional'
                    SpotlightBlockInternetResults = 'Boolean | Optional'
                    EmailInDomainSuffixes = 'StringArray | Optional'
                    KeychainBlockCloudSync = 'Boolean | Optional'
                    DefinitionLookupBlocked = 'Boolean | Optional'
                    WallpaperModificationBlocked = 'Boolean | Optional'
                    PasswordBlockAutoFill = 'Boolean | Optional'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    CompliantAppsList = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            name = 'String | Optional'
                            appId = 'String | Optional'
                            appStoreUrl = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.appleAppListItem'
                            publisher = 'String | Optional'
                        }
                    )
                    PasswordRequiredType = 'String | Optional | deviceDefault / alphanumeric / numeric'
                    PasswordBlockAirDropSharing = 'Boolean | Optional'
                    PasswordBlockProximityRequests = 'Boolean | Optional'
                    ICloudBlockDocumentSync = 'Boolean | Optional'
                    PasswordMinimumCharacterSetCount = 'UInt32 | Optional'
                    PasswordMinutesOfInactivityBeforeLock = 'UInt32 | Optional'
                    PasswordBlockModification = 'Boolean | Optional'
                    PasswordMinutesUntilFailedLoginReset = 'UInt32 | Optional'
                }
            )
            DeviceConfigurationPoliciesWindows10 = @(
                @{
                    EnterpriseCloudPrintResourceIdentifier = 'String | Optional'
                    DataProtectionBlockDirectMemoryAccess = 'Boolean | Optional'
                    ExperienceBlockDeviceDiscovery = 'Boolean | Optional'
                    InkWorkspaceAccessState = 'String | Optional | notConfigured / blocked / allowed'
                    BluetoothBlocked = 'Boolean | Optional'
                    PowerLidCloseActionOnBattery = 'String | Optional | notConfigured / noAction / sleep / hibernate / shutdown'
                    ExperienceDoNotSyncBrowserSettings = 'String | Optional | notConfigured / blockedWithUserOverride / blocked'
                    ExperienceBlockErrorDialogWhenNoSIM = 'Boolean | Optional'
                    DefenderScanMaxCpu = 'UInt32 | Optional'
                    MessagingBlockSync = 'Boolean | Optional'
                    CortanaBlocked = 'Boolean | Optional'
                    StartMenuPinnedFolderMusic = 'String | Optional | notConfigured / hide / show'
                    DefenderScanNetworkFiles = 'Boolean | Optional'
                    PasswordRequired = 'Boolean | Optional'
                    InkWorkspaceAccess = 'String | Optional | notConfigured / enabled / disabled'
                    EdgeBlockAccessToAboutFlags = 'Boolean | Optional'
                    EdgeKioskModeRestriction = 'String | Optional | notConfigured / digitalSignage / normalMode / publicBrowsingSingleApp / publicBrowsingMultiApp'
                    EdgeBlockDeveloperTools = 'Boolean | Optional'
                    AppsAllowTrustedAppsSideloading = 'String | Optional | notConfigured / blocked / allowed'
                    SmartScreenEnableAppInstallControl = 'Boolean | Optional'
                    EdgeBlockFullScreenMode = 'Boolean | Optional'
                    DefenderDisableCatchupQuickScan = 'Boolean | Optional'
                    SettingsBlockChangeSystemTime = 'Boolean | Optional'
                    WindowsSpotlightConfigureOnLockScreen = 'String | Optional | notConfigured / disabled / enabled'
                    LockScreenBlockActionCenterNotifications = 'Boolean | Optional'
                    StartMenuHideRecentJumpLists = 'Boolean | Optional'
                    StartMenuAppListVisibility = 'String | Optional | userDefined / collapse / remove / disableSettingsApp'
                    DeviceManagementBlockManualUnenroll = 'Boolean | Optional'
                    EdgeBlockSearchEngineCustomization = 'Boolean | Optional'
                    PowerSleepButtonActionOnBattery = 'String | Optional | notConfigured / noAction / sleep / hibernate / shutdown'
                    EdgeBlockSendingIntranetTrafficToInternetExplorer = 'Boolean | Optional'
                    SearchBlockDiacritics = 'Boolean | Optional'
                    PasswordBlockSimple = 'Boolean | Optional'
                    StartMenuHideSignOut = 'Boolean | Optional'
                    SearchBlockWebResults = 'Boolean | Optional'
                    CellularBlockDataWhenRoaming = 'Boolean | Optional'
                    StartMenuPinnedFolderPersonalFolder = 'String | Optional | notConfigured / hide / show'
                    EnergySaverOnBatteryThresholdPercentage = 'UInt32 | Optional'
                    StartMenuHideHibernate = 'Boolean | Optional'
                    EdgePreventCertificateErrorOverride = 'Boolean | Optional'
                    PersonalizationLockScreenImageUrl = 'String | Optional'
                    DefenderCloudBlockLevel = 'String | Optional | notConfigured / high / highPlus / zeroTolerance'
                    AuthenticationPreferredAzureADTenantDomainName = 'String | Optional'
                    WindowsStoreEnablePrivateStoreOnly = 'Boolean | Optional'
                    EdgeBlockCompatibilityList = 'Boolean | Optional'
                    SearchEnableRemoteQueries = 'Boolean | Optional'
                    DefenderCloudExtendedTimeout = 'UInt32 | Optional'
                    WirelessDisplayBlockUserInputFromReceiver = 'Boolean | Optional'
                    BluetoothBlockPromptedProximalConnections = 'Boolean | Optional'
                    SecurityBlockAzureADJoinedDevicesAutoEncryption = 'Boolean | Optional'
                    EdgeBlockPrinting = 'Boolean | Optional'
                    EnterpriseCloudPrintMopriaDiscoveryResourceIdentifier = 'String | Optional'
                    StartMenuPinnedFolderHomeGroup = 'String | Optional | notConfigured / hide / show'
                    StartMenuMode = 'String | Optional | userDefined / fullScreen / nonFullScreen'
                    EdgeBlockEditFavorites = 'Boolean | Optional'
                    SettingsBlockEditDeviceName = 'Boolean | Optional'
                    StartMenuPinnedFolderSettings = 'String | Optional | notConfigured / hide / show'
                    StartMenuPinnedFolderNetwork = 'String | Optional | notConfigured / hide / show'
                    SmartScreenAppInstallControl = 'String | Optional | notConfigured / anywhere / storeOnly / recommendations / preferStore'
                    SettingsBlockGamingPage = 'Boolean | Optional'
                    SettingsBlockDevicesPage = 'Boolean | Optional'
                    SettingsBlockUpdateSecurityPage = 'Boolean | Optional'
                    WindowsSpotlightBlockConsumerSpecificFeatures = 'Boolean | Optional'
                    EnterpriseCloudPrintDiscoveryMaxLimit = 'UInt32 | Optional'
                    EdgeOpensWith = 'String | Optional | notConfigured / startPage / newTabPage / previousPages / specificPages'
                    DefenderCloudExtendedTimeoutInSeconds = 'UInt32 | Optional'
                    DefenderSignatureUpdateIntervalInHours = 'UInt32 | Optional'
                    WindowsSpotlightBlocked = 'Boolean | Optional'
                    AppsBlockWindowsStoreOriginatedApps = 'Boolean | Optional'
                    SettingsBlockPrivacyPage = 'Boolean | Optional'
                    DefenderDetectedMalwareActions = @{
                        LowSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                        SevereSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                        ModerateSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                        HighSeverity = 'String | Optional | deviceDefault / clean / quarantine / remove / allow / userDefined / block'
                    }
                    StartMenuHideSleep = 'Boolean | Optional'
                    SettingsBlockChangeRegion = 'Boolean | Optional'
                    SettingsBlockSettingsApp = 'Boolean | Optional'
                    EdgeFirstRunUrl = 'String | Optional'
                    CryptographyAllowFipsAlgorithmPolicy = 'Boolean | Optional'
                    EdgeHomeButtonConfiguration = @{
                        odataType = 'String | Optional | #microsoft.graph.edgeHomeButtonHidden / #microsoft.graph.edgeHomeButtonLoadsStartPage / #microsoft.graph.edgeHomeButtonOpensCustomURL / #microsoft.graph.edgeHomeButtonOpensNewTab'
                        HomeButtonCustomURL = 'String | Optional'
                    }
                    SearchEnableAutomaticIndexSizeManangement = 'Boolean | Optional'
                    DefenderProcessesToExclude = 'StringArray | Optional'
                    BluetoothBlockAdvertising = 'Boolean | Optional'
                    DefenderScheduledScanTime = 'String | Optional'
                    CellularData = 'String | Optional | blocked / required / allowed / notConfigured'
                    SearchDisableIndexingEncryptedItems = 'Boolean | Optional'
                    PasswordMinimumCharacterSetCount = 'UInt32 | Optional'
                    SettingsBlockAppsPage = 'Boolean | Optional'
                    ConfigureTimeZone = 'String | Optional'
                    StorageRestrictAppDataToSystemVolume = 'Boolean | Optional'
                    ExperienceBlockTaskSwitcher = 'Boolean | Optional'
                    SupportsScopeTags = 'Boolean | Optional'
                    AppManagementMSIAlwaysInstallWithElevatedPrivileges = 'Boolean | Optional'
                    StartBlockUnpinningAppsFromTaskbar = 'Boolean | Optional'
                    StartMenuHideUserTile = 'Boolean | Optional'
                    MessagingBlockRichCommunicationServices = 'Boolean | Optional'
                    CellularBlockVpnWhenRoaming = 'Boolean | Optional'
                    PasswordSignInFailureCountBeforeFactoryReset = 'UInt32 | Optional'
                    AccountsBlockAddingNonMicrosoftAccountEmail = 'Boolean | Optional'
                    EdgeFavoritesBarVisibility = 'String | Optional | notConfigured / hide / show'
                    MicrosoftAccountBlockSettingsSync = 'Boolean | Optional'
                    UninstallBuiltInApps = 'Boolean | Optional'
                    StartMenuPinnedFolderFileExplorer = 'String | Optional | notConfigured / hide / show'
                    EdgeBlockSendingDoNotTrackHeader = 'Boolean | Optional'
                    PasswordExpirationDays = 'UInt32 | Optional'
                    EdgeHomepageUrls = 'StringArray | Optional'
                    StartMenuPinnedFolderPictures = 'String | Optional | notConfigured / hide / show'
                    PasswordRequireWhenResumeFromIdleState = 'Boolean | Optional'
                    WindowsStoreBlockAutoUpdate = 'Boolean | Optional'
                    DefenderScheduleScanEnableLowCpuPriority = 'Boolean | Optional'
                    EdgeBlockPrelaunch = 'Boolean | Optional'
                    MessagingBlockMMS = 'Boolean | Optional'
                    WindowsStoreBlocked = 'Boolean | Optional'
                    WiFiBlocked = 'Boolean | Optional'
                    Description = 'String | Optional'
                    CertificatesBlockManualRootCertificateInstallation = 'Boolean | Optional'
                    StartMenuPinnedFolderDocuments = 'String | Optional | notConfigured / hide / show'
                    EdgeSyncFavoritesWithInternetExplorer = 'Boolean | Optional'
                    StartMenuLayoutEdgeAssetsXml = 'String | Optional'
                    EdgeBlockWebContentOnNewTabPage = 'Boolean | Optional'
                    EdgeFavoritesListLocation = 'String | Optional'
                    DefenderPromptForSampleSubmission = 'String | Optional | userDefined / alwaysPrompt / promptBeforeSendingPersonalData / neverSendData / sendAllDataWithoutPrompting'
                    EdgeBlockSavingHistory = 'Boolean | Optional'
                    DefenderDaysBeforeDeletingQuarantinedMalware = 'UInt32 | Optional'
                    PrivacyBlockActivityFeed = 'Boolean | Optional'
                    StorageBlockRemovableStorage = 'Boolean | Optional'
                    LockScreenAllowTimeoutConfiguration = 'Boolean | Optional'
                    EnterpriseCloudPrintDiscoveryEndPoint = 'String | Optional'
                    WebRtcBlockLocalhostIpAddress = 'Boolean | Optional'
                    PrivacyDisableLaunchExperience = 'Boolean | Optional'
                    CameraBlocked = 'Boolean | Optional'
                    SafeSearchFilter = 'String | Optional | userDefined / strict / moderate'
                    SearchDisableIndexingRemovableDrive = 'Boolean | Optional'
                    PowerButtonActionPluggedIn = 'String | Optional | notConfigured / noAction / sleep / hibernate / shutdown'
                    SettingsBlockRemoveProvisioningPackage = 'Boolean | Optional'
                    StartMenuPinnedFolderDownloads = 'String | Optional | notConfigured / hide / show'
                    NetworkProxyServer = @{
                        UseForLocalAddresses = 'Boolean | Optional'
                        Exceptions = 'StringArray | Optional'
                        Address = 'String | Optional'
                    }
                    EdgeNewTabPageURL = 'String | Optional'
                    EdgeBlocked = 'Boolean | Optional'
                    ScreenCaptureBlocked = 'Boolean | Optional'
                    DefenderSubmitSamplesConsentType = 'String | Optional | sendSafeSamplesAutomatically / alwaysPrompt / neverSend / sendAllSamplesAutomatically'
                    StartMenuHideChangeAccountSettings = 'Boolean | Optional'
                    PasswordMinimumLength = 'UInt32 | Optional'
                    SettingsBlockSystemPage = 'Boolean | Optional'
                    LocationServicesBlocked = 'Boolean | Optional'
                    NfcBlocked = 'Boolean | Optional'
                    TenantLockdownRequireNetworkDuringOutOfBoxExperience = 'Boolean | Optional'
                    EdgeRequiredExtensionPackageFamilyNames = 'StringArray | Optional'
                    EdgeEnterpriseModeSiteListLocation = 'String | Optional'
                    DefenderDisableCatchupFullScan = 'Boolean | Optional'
                    DefenderScanScriptsLoadedInInternetExplorer = 'Boolean | Optional'
                    PrinterBlockAddition = 'Boolean | Optional'
                    PasswordMinutesOfInactivityBeforeScreenTimeout = 'UInt32 | Optional'
                    EdgeKioskResetAfterIdleTimeInMinutes = 'UInt32 | Optional'
                    DefenderScanRemovableDrivesDuringFullScan = 'Boolean | Optional'
                    MicrosoftAccountBlocked = 'Boolean | Optional'
                    DiagnosticsDataSubmissionMode = 'String | Optional | userDefined / none / basic / enhanced / full'
                    SettingsBlockChangePowerSleep = 'Boolean | Optional'
                    SharedUserAppDataAllowed = 'Boolean | Optional'
                    EdgeBlockPasswordManager = 'Boolean | Optional'
                    WiFiScanInterval = 'UInt32 | Optional'
                    DefenderBlockOnAccessProtection = 'Boolean | Optional'
                    EdgeBlockTabPreloading = 'Boolean | Optional'
                    CopyPasteBlocked = 'Boolean | Optional'
                    DefenderScheduledQuickScanTime = 'String | Optional'
                    VoiceRecordingBlocked = 'Boolean | Optional'
                    WindowsSpotlightBlockTailoredExperiences = 'Boolean | Optional'
                    LockScreenBlockToastNotifications = 'Boolean | Optional'
                    Windows10AppsForceUpdateSchedule = @{
                        RunImmediatelyIfAfterStartDateTime = 'Boolean | Optional'
                        Recurrence = 'String | Optional | none / daily / weekly / monthly'
                        StartDateTime = 'String | Optional'
                    }
                    AppManagementMSIAllowUserControlOverInstall = 'Boolean | Optional'
                    LockScreenActivateAppsWithVoice = 'String | Optional | notConfigured / enabled / disabled'
                    PrivacyAdvertisingId = 'String | Optional | notConfigured / blocked / allowed'
                    StartMenuHideLock = 'Boolean | Optional'
                    PrivacyBlockInputPersonalization = 'Boolean | Optional'
                    CellularBlockVpn = 'Boolean | Optional'
                    AppManagementPackageFamilyNamesToLaunchAfterLogOn = 'StringArray | Optional'
                    BluetoothBlockDiscoverableMode = 'Boolean | Optional'
                    DefenderFileExtensionsToExclude = 'StringArray | Optional'
                    WiFiBlockManualConfiguration = 'Boolean | Optional'
                    AntiTheftModeBlocked = 'Boolean | Optional'
                    PrinterNames = 'StringArray | Optional'
                    SettingsBlockChangeLanguage = 'Boolean | Optional'
                    ActivateAppsWithVoice = 'String | Optional | notConfigured / enabled / disabled'
                    EdgeBlockInPrivateBrowsing = 'Boolean | Optional'
                    WindowsSpotlightBlockThirdPartyNotifications = 'Boolean | Optional'
                    DeveloperUnlockSetting = 'String | Optional | notConfigured / blocked / allowed'
                    LockScreenTimeoutInSeconds = 'UInt32 | Optional'
                    AuthenticationWebSignIn = 'String | Optional | notConfigured / enabled / disabled'
                    DefenderPotentiallyUnwantedAppActionSetting = 'String | Optional | userDefined / enable / auditMode / warn / notConfigured'
                    Id = 'String | Optional'
                    SearchDisableIndexerBackoff = 'Boolean | Optional'
                    SearchDisableLocation = 'Boolean | Optional'
                    MicrosoftAccountSignInAssistantSettings = 'String | Optional | notConfigured / disabled'
                    StartMenuHideSwitchAccount = 'Boolean | Optional'
                    DefenderBlockEndUserAccess = 'Boolean | Optional'
                    EdgeBlockSearchSuggestions = 'Boolean | Optional'
                    DefenderRequireNetworkInspectionSystem = 'Boolean | Optional'
                    TaskManagerBlockEndTask = 'Boolean | Optional'
                    SmartScreenBlockPromptOverrideForFiles = 'Boolean | Optional'
                    PowerLidCloseActionPluggedIn = 'String | Optional | notConfigured / noAction / sleep / hibernate / shutdown'
                    PowerHybridSleepOnBattery = 'String | Optional | notConfigured / enabled / disabled'
                    DefenderFilesAndFoldersToExclude = 'StringArray | Optional'
                    ResetProtectionModeBlocked = 'Boolean | Optional'
                    BluetoothAllowedServices = 'StringArray | Optional'
                    DefenderScanArchiveFiles = 'Boolean | Optional'
                    DisplayAppListWithGdiDPIScalingTurnedOff = 'StringArray | Optional'
                    DefenderScanIncomingMail = 'Boolean | Optional'
                    EdgeDisableFirstRunPage = 'Boolean | Optional'
                    LockScreenBlockCortana = 'Boolean | Optional'
                    StartMenuHideRecentlyAddedApps = 'Boolean | Optional'
                    PowerButtonActionOnBattery = 'String | Optional | notConfigured / noAction / sleep / hibernate / shutdown'
                    DefenderPotentiallyUnwantedAppAction = 'String | Optional | deviceDefault / block / audit'
                    DeviceManagementBlockFactoryResetOnMobile = 'Boolean | Optional'
                    EdgeBlockJavaScript = 'Boolean | Optional'
                    EnableAutomaticRedeployment = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    EdgeRequireSmartScreen = 'Boolean | Optional'
                    AuthenticationAllowSecondaryDevice = 'Boolean | Optional'
                    PasswordMinimumAgeInDays = 'UInt32 | Optional'
                    SettingsBlockNetworkInternetPage = 'Boolean | Optional'
                    UsbBlocked = 'Boolean | Optional'
                    SystemTelemetryProxyServer = 'String | Optional'
                    OneDriveDisableFileSync = 'Boolean | Optional'
                    EnterpriseCloudPrintOAuthAuthority = 'String | Optional'
                    StartMenuLayoutXml = 'String | Optional'
                    DisplayAppListWithGdiDPIScalingTurnedOn = 'StringArray | Optional'
                    WirelessDisplayRequirePinForPairing = 'Boolean | Optional'
                    EdgeSendIntranetTrafficToInternetExplorer = 'Boolean | Optional'
                    WirelessDisplayBlockProjectionToThisDevice = 'Boolean | Optional'
                    EdgeBlockLiveTileDataCollection = 'Boolean | Optional'
                    NetworkProxyApplySettingsDeviceWide = 'Boolean | Optional'
                    StartMenuHideRestartOptions = 'Boolean | Optional'
                    SearchDisableAutoLanguageDetection = 'Boolean | Optional'
                    EdgeAllowStartPagesModification = 'Boolean | Optional'
                    PrinterDefaultName = 'String | Optional'
                    DefenderRequireRealTimeMonitoring = 'Boolean | Optional'
                    EdgeBlockAutofill = 'Boolean | Optional'
                    SettingsBlockAddProvisioningPackage = 'Boolean | Optional'
                    NetworkProxyDisableAutoDetect = 'Boolean | Optional'
                    SearchDisableUseLocation = 'Boolean | Optional'
                    LogonBlockFastUserSwitching = 'Boolean | Optional'
                    PowerHybridSleepPluggedIn = 'String | Optional | notConfigured / enabled / disabled'
                    EdgeTelemetryForMicrosoft365Analytics = 'String | Optional | notConfigured / intranet / internet / intranetAndInternet'
                    GameDvrBlocked = 'Boolean | Optional'
                    EdgeClearBrowsingDataOnExit = 'Boolean | Optional'
                    EdgeBlockSideloadingExtensions = 'Boolean | Optional'
                    DefenderScanType = 'String | Optional | userDefined / disabled / quick / full'
                    InkWorkspaceBlockSuggestedApps = 'Boolean | Optional'
                    EnterpriseCloudPrintOAuthClientIdentifier = 'String | Optional'
                    SmartScreenBlockPromptOverride = 'Boolean | Optional'
                    DefenderScanMappedNetworkDrivesDuringFullScan = 'Boolean | Optional'
                    EnergySaverPluggedInThresholdPercentage = 'UInt32 | Optional'
                    SettingsBlockAccountsPage = 'Boolean | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    StorageRestrictAppInstallToSystemVolume = 'Boolean | Optional'
                    StartMenuHideShutDown = 'Boolean | Optional'
                    WindowsSpotlightBlockWelcomeExperience = 'Boolean | Optional'
                    DefenderMonitorFileActivity = 'String | Optional | userDefined / disable / monitorAllFiles / monitorIncomingFilesOnly / monitorOutgoingFilesOnly'
                    PrivacyBlockPublishUserActivities = 'Boolean | Optional'
                    DefenderScanDownloads = 'Boolean | Optional'
                    WindowsSpotlightBlockOnActionCenter = 'Boolean | Optional'
                    SettingsBlockTimeLanguagePage = 'Boolean | Optional'
                    EdgeBlockPopups = 'Boolean | Optional'
                    PrivacyAutoAcceptPairingAndConsentPrompts = 'Boolean | Optional'
                    StartMenuPinnedFolderVideos = 'String | Optional | notConfigured / hide / show'
                    EdgeShowMessageWhenOpeningInternetExplorerSites = 'String | Optional | notConfigured / disabled / enabled / keepGoing'
                    WiFiBlockAutomaticConnectHotspots = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    DefenderRequireBehaviorMonitoring = 'Boolean | Optional'
                    WindowsSpotlightBlockWindowsTips = 'Boolean | Optional'
                    DefenderSystemScanSchedule = 'String | Optional | userDefined / everyday / sunday / monday / tuesday / wednesday / thursday / friday / saturday / noScheduledScan'
                    SettingsBlockPersonalizationPage = 'Boolean | Optional'
                    PersonalizationDesktopImageUrl = 'String | Optional'
                    EdgeHomeButtonConfigurationEnabled = 'Boolean | Optional'
                    DefenderRequireCloudProtection = 'Boolean | Optional'
                    NetworkProxyAutomaticConfigurationUrl = 'String | Optional'
                    StartMenuHidePowerButton = 'Boolean | Optional'
                    PasswordPreviousPasswordBlockCount = 'UInt32 | Optional'
                    InternetSharingBlocked = 'Boolean | Optional'
                    PowerSleepButtonActionPluggedIn = 'String | Optional | notConfigured / noAction / sleep / hibernate / shutdown'
                    BluetoothBlockPrePairing = 'Boolean | Optional'
                    StartMenuHideFrequentlyUsedApps = 'Boolean | Optional'
                    FindMyFiles = 'String | Optional | notConfigured / enabled / disabled'
                    EdgeCookiePolicy = 'String | Optional | userDefined / allow / blockThirdParty / blockAll'
                    EdgeBlockAddressBarDropdown = 'Boolean | Optional'
                    EdgeBlockExtensions = 'Boolean | Optional'
                    ConnectedDevicesServiceBlocked = 'Boolean | Optional'
                    StorageRequireMobileDeviceEncryption = 'Boolean | Optional'
                    PasswordRequiredType = 'String | Optional | deviceDefault / alphanumeric / numeric'
                    SettingsBlockEaseOfAccessPage = 'Boolean | Optional'
                    EdgeSearchEngine = @{
                        EdgeSearchEngineOpenSearchXmlUrl = 'String | Optional'
                        EdgeSearchEngineType = 'String | Optional | default / bing'
                        odataType = 'String | Optional | #microsoft.graph.edgeSearchEngine / #microsoft.graph.edgeSearchEngineCustom'
                    }
                }
            )
            DeviceConfigurationScepCertificatePoliciesWindows10 = @(
                @{
                    SubjectAlternativeNameType = 'String | Optional | none / emailAddress / userPrincipalName / customAzureADAttribute / domainNameService / universalResourceIdentifier'
                    Id = 'String | Optional'
                    KeyUsage = 'String | Optional | keyEncipherment / digitalSignature'
                    DisplayName = 'String | Required'
                    SubjectAlternativeNameFormatString = 'String | Optional'
                    CertificateValidityPeriodScale = 'String | Optional | days / months / years'
                    KeyStorageProvider = 'String | Optional | useTpmKspOtherwiseUseSoftwareKsp / useTpmKspOtherwiseFail / usePassportForWorkKspOtherwiseFail / useSoftwareKsp'
                    RootCertificateId = 'String | Optional'
                    ScepServerUrls = 'StringArray | Optional'
                    RenewalThresholdPercentage = 'UInt32 | Optional'
                    CertificateValidityPeriodValue = 'UInt32 | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    CustomSubjectAlternativeNames = @(
                        @{
                            Name = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            SanType = 'String | Optional | none / emailAddress / userPrincipalName / customAzureADAttribute / domainNameService / universalResourceIdentifier'
                        }
                    )
                    HashAlgorithm = 'String | Optional | sha1 / sha2'
                    KeySize = 'String | Optional | size1024 / size2048 / size4096'
                    Description = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    SubjectNameFormat = 'String | Optional | commonName / commonNameIncludingEmail / commonNameAsEmail / custom / commonNameAsIMEI / commonNameAsSerialNumber / commonNameAsAadDeviceId / commonNameAsIntuneDeviceId / commonNameAsDurableDeviceId'
                    CertificateStore = 'String | Optional | user / machine'
                    ExtendedKeyUsages = @(
                        @{
                            ObjectIdentifier = 'String | Optional'
                            Name = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        }
                    )
                    SubjectNameFormatString = 'String | Optional'
                }
            )
            DeviceConfigurationSecureAssessmentPoliciesWindows10 = @(
                @{
                    AllowScreenCapture = 'Boolean | Optional'
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    AllowTextSuggestion = 'Boolean | Optional'
                    AssessmentAppUserModelId = 'String | Optional'
                    ConfigurationAccountType = 'String | Optional | azureADAccount / domainAccount / localAccount / localGuestAccount'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Ensure = 'String | Optional | Present / Absent'
                    LaunchUri = 'String | Optional'
                    LocalGuestAccountName = 'String | Optional'
                    Id = 'String | Optional'
                    ConfigurationAccount = 'String | Optional'
                    AllowPrinting = 'Boolean | Optional'
                }
            )
            DeviceConfigurationSharedMultiDevicePoliciesWindows10 = @(
                @{
                    MaintenanceStartTime = 'String | Optional'
                    Id = 'String | Optional'
                    IdleTimeBeforeSleepInSeconds = 'UInt32 | Optional'
                    SignInOnResume = 'String | Optional | notConfigured / enabled / disabled'
                    DisplayName = 'String | Required'
                    KioskAppDisplayName = 'String | Optional'
                    AllowLocalStorage = 'Boolean | Optional'
                    SetPowerPolicies = 'String | Optional | notConfigured / enabled / disabled'
                    AllowedAccounts = 'StringArray | Optional | notConfigured / guest / domain'
                    Ensure = 'String | Optional | Present / Absent'
                    KioskAppUserModelId = 'String | Optional'
                    DisablePowerPolicies = 'Boolean | Optional'
                    SetEduPolicies = 'String | Optional | notConfigured / enabled / disabled'
                    DisableSignInOnResume = 'Boolean | Optional'
                    Description = 'String | Optional'
                    AccountManagerPolicy = @{
                        InactiveThresholdDays = 'UInt32 | Optional'
                        CacheAccountsAboveDiskFreePercentage = 'UInt32 | Optional'
                        AccountDeletionPolicy = 'String | Optional | immediate / diskSpaceThreshold / diskSpaceThresholdOrInactiveThreshold'
                        RemoveAccountsBelowDiskFreePercentage = 'UInt32 | Optional'
                    }
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DisableAccountManager = 'Boolean | Optional'
                    Enabled = 'Boolean | Optional'
                    DisableEduPolicies = 'Boolean | Optional'
                    FastFirstSignIn = 'String | Optional | notConfigured / enabled / disabled'
                    LocalStorage = 'String | Optional | notConfigured / enabled / disabled'
                    SetAccountManager = 'String | Optional | notConfigured / enabled / disabled'
                }
            )
            DeviceConfigurationTrustedCertificatePoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Id = 'String | Optional'
                    DestinationStore = 'String | Optional | computerCertStoreRoot / computerCertStoreIntermediate / userCertStoreIntermediate'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    TrustedRootCertificate = 'String | Optional'
                    CertFileName = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            DeviceConfigurationVpnPoliciesWindows10 = @(
                @{
                    Description = 'String | Optional'
                    RememberUserCredentials = 'Boolean | Optional'
                    ProfileTarget = 'String | Optional | user / device / autoPilotDevice'
                    SingleSignOnIssuerHash = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    CustomXml = 'String | Optional'
                    DisplayName = 'String | Required'
                    TrustedNetworkDomains = 'StringArray | Optional'
                    CryptographySuite = @{
                        CipherTransformConstants = 'String | Optional | aes256 / des / tripleDes / aes128 / aes128Gcm / aes256Gcm / aes192 / aes192Gcm / chaCha20Poly1305'
                        EncryptionMethod = 'String | Optional | aes256 / des / tripleDes / aes128 / aes128Gcm / aes256Gcm / aes192 / aes192Gcm / chaCha20Poly1305'
                        PfsGroup = 'String | Optional | pfs1 / pfs2 / pfs2048 / ecp256 / ecp384 / pfsMM / pfs24'
                        DhGroup = 'String | Optional | group1 / group2 / group14 / ecp256 / ecp384 / group24'
                        IntegrityCheckMethod = 'String | Optional | sha2_256 / sha1_96 / sha1_160 / sha2_384 / sha2_512 / md5'
                        AuthenticationTransformConstants = 'String | Optional | md5_96 / sha1_96 / sha_256_128 / aes128Gcm / aes192Gcm / aes256Gcm'
                    }
                    OnlyAssociatedAppsCanUseConnection = 'Boolean | Optional'
                    SingleSignOnEku = @{
                        ObjectIdentifier = 'String | Optional'
                        Name = 'String | Optional'
                    }
                    EnableConditionalAccess = 'Boolean | Optional'
                    MicrosoftTunnelSiteId = 'String | Optional'
                    Routes = @(
                        @{
                            PrefixSize = 'UInt32 | Optional'
                            DestinationPrefix = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        }
                    )
                    AuthenticationMethod = 'String | Optional | certificate / usernameAndPassword / customEapXml / derivedCredential'
                    EapXml = 'String | Optional'
                    AssociatedApps = @(
                        @{
                            AppType = 'String | Optional | desktop / universal'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Identifier = 'String | Optional'
                        }
                    )
                    EnableSplitTunneling = 'Boolean | Optional'
                    DnsSuffixes = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ProxyServer = @{
                        BypassProxyServerForLocalAddress = 'Boolean | Optional'
                        Address = 'String | Optional'
                        AutomaticConfigurationScriptUrl = 'String | Optional'
                        AutomaticallyDetectProxySettings = 'Boolean | Optional'
                        Port = 'UInt32 | Optional'
                        odataType = 'String | Optional | #microsoft.graph.windows10VpnProxyServer / #microsoft.graph.windows81VpnProxyServer'
                    }
                    ServerCollection = @(
                        @{
                            IsDefaultServer = 'Boolean | Optional'
                            Description = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Address = 'String | Optional'
                        }
                    )
                    EnableDeviceTunnel = 'Boolean | Optional'
                    Id = 'String | Optional'
                    TrafficRules = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Name = 'String | Optional'
                            AppId = 'String | Optional'
                            LocalPortRanges = @(
                                @{
                                    LowerNumber = 'UInt32 | Optional'
                                    UpperNumber = 'UInt32 | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                }
                            )
                            AppType = 'String | Optional | none / desktop / universal'
                            LocalAddressRanges = @(
                                @{
                                    CidrAddress = 'String | Optional'
                                    UpperAddress = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    LowerAddress = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.iPv4CidrRange / #microsoft.graph.iPv6CidrRange / #microsoft.graph.iPv4Range / #microsoft.graph.iPv6Range'
                                }
                            )
                            RemotePortRanges = @(
                                @{
                                    LowerNumber = 'UInt32 | Optional'
                                    UpperNumber = 'UInt32 | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                }
                            )
                            RemoteAddressRanges = @(
                                @{
                                    CidrAddress = 'String | Optional'
                                    UpperAddress = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    LowerAddress = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.iPv4CidrRange / #microsoft.graph.iPv6CidrRange / #microsoft.graph.iPv4Range / #microsoft.graph.iPv6Range'
                                }
                            )
                            Claims = 'String | Optional'
                            Protocols = 'UInt32 | Optional'
                            RoutingPolicyType = 'String | Optional | none / splitTunnel / forceTunnel'
                            VpnTrafficDirection = 'String | Optional | outbound / inbound / unknownFutureValue'
                        }
                    )
                    EnableDnsRegistration = 'Boolean | Optional'
                    ConnectionType = 'String | Optional | pulseSecure / f5EdgeClient / dellSonicWallMobileConnect / checkPointCapsuleVpn / automatic / ikEv2 / l2tp / pptp / citrix / paloAltoGlobalProtect / ciscoAnyConnect / unknownFutureValue / microsoftTunnel'
                    EnableAlwaysOn = 'Boolean | Optional'
                    EnableSingleSignOnWithAlternateCertificate = 'Boolean | Optional'
                    ConnectionName = 'String | Optional'
                    DnsRules = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Persistent = 'Boolean | Optional'
                            Servers = 'StringArray | Optional'
                            Name = 'String | Optional'
                            AutoTrigger = 'Boolean | Optional'
                            ProxyServerUri = 'String | Optional'
                        }
                    )
                    WindowsInformationProtectionDomain = 'String | Optional'
                }
            )
            DeviceConfigurationWindowsTeamPoliciesWindows10 = @(
                @{
                    SettingsBlockSessionResume = 'Boolean | Optional'
                    WelcomeScreenBackgroundImageUrl = 'String | Optional'
                    MiracastBlocked = 'Boolean | Optional'
                    SettingsSessionTimeoutInMinutes = 'UInt32 | Optional'
                    DisplayName = 'String | Required'
                    SettingsBlockSigninSuggestions = 'Boolean | Optional'
                    MiracastChannel = 'String | Optional | userDefined / one / two / three / four / five / six / seven / eight / nine / ten / eleven / thirtySix / forty / fortyFour / fortyEight / oneHundredFortyNine / oneHundredFiftyThree / oneHundredFiftySeven / oneHundredSixtyOne / oneHundredSixtyFive'
                    MiracastRequirePin = 'Boolean | Optional'
                    WelcomeScreenBlockAutomaticWakeUp = 'Boolean | Optional'
                    SettingsSleepTimeoutInMinutes = 'UInt32 | Optional'
                    AzureOperationalInsightsWorkspaceKey = 'String | Optional'
                    AzureOperationalInsightsWorkspaceId = 'String | Optional'
                    MaintenanceWindowBlocked = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ConnectAppBlockAutoLaunch = 'Boolean | Optional'
                    MaintenanceWindowDurationInHours = 'UInt32 | Optional'
                    AzureOperationalInsightsBlockTelemetry = 'Boolean | Optional'
                    SettingsDefaultVolume = 'UInt32 | Optional'
                    SettingsBlockMyMeetingsAndFiles = 'Boolean | Optional'
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    WelcomeScreenMeetingInformation = 'String | Optional | userDefined / showOrganizerAndTimeOnly / showOrganizerAndTimeAndSubject'
                    MaintenanceWindowStartTime = 'String | Optional'
                    SupportsScopeTags = 'Boolean | Optional'
                    SettingsScreenTimeoutInMinutes = 'UInt32 | Optional'
                }
            )
            DeviceConfigurationWiredNetworkPoliciesWindows10 = @(
                @{
                    SecondaryIdentityCertificateForClientAuthenticationId = 'String | Optional'
                    InnerAuthenticationProtocolForEAPTTLS = 'String | Optional | unencryptedPassword / challengeHandshakeAuthenticationProtocol / microsoftChap / microsoftChapVersionTwo'
                    Description = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DisplayName = 'String | Required'
                    DisableUserPromptForServerValidation = 'Boolean | Optional'
                    RootCertificateForClientValidationId = 'String | Optional'
                    MaximumEAPOLStartMessages = 'UInt32 | Optional'
                    AuthenticationPeriodInSeconds = 'UInt32 | Optional'
                    AuthenticationBlockPeriodInMinutes = 'UInt32 | Optional'
                    AuthenticationMethod = 'String | Optional | certificate / usernameAndPassword / derivedCredential / unknownFutureValue'
                    PerformServerValidation = 'Boolean | Optional'
                    RequireCryptographicBinding = 'Boolean | Optional'
                    SecondaryAuthenticationMethod = 'String | Optional | certificate / usernameAndPassword / derivedCredential / unknownFutureValue'
                    ForceFIPSCompliance = 'Boolean | Optional'
                    MaximumAuthenticationFailures = 'UInt32 | Optional'
                    AuthenticationRetryDelayPeriodInSeconds = 'UInt32 | Optional'
                    EapolStartPeriodInSeconds = 'UInt32 | Optional'
                    TrustedServerCertificateNames = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Id = 'String | Optional'
                    OuterIdentityPrivacyTemporaryValue = 'String | Optional'
                    EapType = 'String | Optional | eapTls / leap / eapSim / eapTtls / peap / eapFast / teap'
                    RootCertificatesForServerValidationIds = 'StringArray | Optional'
                    AuthenticationType = 'String | Optional | none / user / machine / machineOrUser / guest / unknownFutureValue'
                    IdentityCertificateForClientAuthenticationId = 'String | Optional'
                    CacheCredentials = 'Boolean | Optional'
                    SecondaryRootCertificateForClientValidationId = 'String | Optional'
                    Enforce8021X = 'Boolean | Optional'
                }
            )
            DeviceEnrollmentLimitRestrictions = @(
                @{
                    Limit = 'UInt32 | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            DeviceEnrollmentPlatformRestrictions = @(
                @{
                    Description = 'String | Optional'
                    AndroidRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                    DisplayName = 'String | Required'
                    MacRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                    WindowsMobileRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                    WindowsHomeSkuRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                    IosRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                    Ensure = 'String | Optional | Present / Absent'
                    DeviceEnrollmentConfigurationType = 'String | Optional | singlePlatformRestriction / platformRestrictions'
                    Identity = 'String | Optional'
                    MacOSRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                    WindowsRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    AndroidForWorkRestriction = @{
                        PlatformBlocked = 'Boolean | Optional'
                        OsMinimumVersion = 'String | Optional'
                        BlockedSkus = 'StringArray | Optional'
                        BlockedManufacturers = 'StringArray | Optional'
                        OsMaximumVersion = 'String | Optional'
                        PersonalDeviceEnrollmentBlocked = 'Boolean | Optional'
                    }
                }
            )
            DeviceEnrollmentStatusPageWindows10s = @(
                @{
                    TrackInstallProgressForAutopilotOnly = 'Boolean | Optional'
                    Description = 'String | Optional'
                    Priority = 'UInt32 | Optional'
                    DisplayName = 'String | Required'
                    DisableUserStatusTrackingAfterFirstUser = 'Boolean | Optional'
                    InstallQualityUpdates = 'Boolean | Optional'
                    ShowInstallationProgress = 'Boolean | Optional'
                    SelectedMobileAppIds = 'StringArray | Optional'
                    CustomErrorMessage = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    BlockDeviceSetupRetryByUser = 'Boolean | Optional'
                    AllowDeviceUseOnInstallFailure = 'Boolean | Optional'
                    AllowDeviceResetOnInstallFailure = 'Boolean | Optional'
                    AllowNonBlockingAppInstallation = 'Boolean | Optional'
                    AllowLogCollectionOnInstallFailure = 'Boolean | Optional'
                    Id = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    InstallProgressTimeoutInMinutes = 'UInt32 | Optional'
                }
            )
            EndpointDetectionAndResponsePoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    ConfigurationType = 'String | Optional | AutoFromConnector / Onboard / Offboard'
                    Ensure = 'String | Optional | Present / Absent'
                    SampleSharing = 'String | Optional | 0 / 1'
                    Description = 'String | Optional'
                    Identity = 'String | Optional'
                    ConfigurationBlob = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            ExploitProtectionPoliciesWindows10SettingCatalog = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ExploitProtectionSettings = 'String | Optional'
                    Identity = 'String | Optional'
                    disallowexploitprotectionoverride = 'String | Optional | 0 / 1'
                    DisplayName = 'String | Required'
                }
            )
            PoliciesSets = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Ensure = 'String | Optional | Present / Absent'
                    Id = 'String | Required'
                    Items = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            dataType = 'String | Optional'
                            itemType = 'String | Optional'
                            payloadId = 'String | Optional'
                            guidedDeploymentTags = 'StringArray | Optional'
                            displayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    RoleScopeTags = 'StringArray | Optional'
                    GuidedDeploymentTags = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                }
            )
            RoleAssignments = @(
                @{
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ScopeType = 'String | Optional'
                    RoleDefinition = 'String | Optional'
                    RoleDefinitionDisplayName = 'String | Optional'
                    ResourceScopes = 'StringArray | Optional'
                    Members = 'StringArray | Optional'
                    ResourceScopesDisplayNames = 'StringArray | Optional'
                    MembersDisplayNames = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                }
            )
            RoleDefinitions = @(
                @{
                    Id = 'String | Optional'
                    roleScopeTagIds = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    allowedResourceActions = 'StringArray | Optional'
                    IsBuiltIn = 'Boolean | Optional'
                    notAllowedResourceActions = 'StringArray | Optional'
                    DisplayName = 'String | Required'
                }
            )
            SettingCatalogASRRulesPoliciesWindows10 = @(
                @{
                    BlockProcessCreationsFromPSExecAndWMICommands = 'String | Optional | off / block / audit / warn'
                    BlockOfficeCommunicationAppFromCreatingChildProcesses = 'String | Optional | off / block / audit / warn'
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    BlockExecutionOfPotentiallyObfuscatedScripts = 'String | Optional | off / block / audit / warn'
                    BlockExecutableContentFromEmailClientAndWebmail = 'String | Optional | off / block / audit / warn'
                    AttackSurfaceReductionOnlyExclusions = 'StringArray | Optional'
                    BlockCredentialStealingFromWindowsLocalSecurityAuthoritySubsystem = 'String | Optional | off / block / audit / warn'
                    UseAdvancedProtectionAgainstRansomware = 'String | Optional | off / block / audit / warn'
                    ControlledFolderAccessAllowedApplications = 'StringArray | Optional'
                    BlockJavaScriptOrVBScriptFromLaunchingDownloadedExecutableContent = 'String | Optional | off / block / audit / warn'
                    EnableControlledFolderAccess = 'String | Optional | 0 / 1 / 2'
                    BlockAllOfficeApplicationsFromCreatingChildProcesses = 'String | Optional | off / block / audit / warn'
                    Ensure = 'String | Optional | Present / Absent'
                    BlockOfficeApplicationsFromInjectingCodeIntoOtherProcesses = 'String | Optional | off / block / audit / warn'
                    BlockWebShellCreationForServers = 'String | Optional | off / block / audit / warn'
                    Identity = 'String | Required'
                    ControlledFolderAccessProtectedFolders = 'StringArray | Optional'
                    BlockUntrustedUnsignedProcessesThatRunFromUSB = 'String | Optional | off / block / audit / warn'
                    BlockWin32APICallsFromOfficeMacros = 'String | Optional | off / block / audit / warn'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    BlockExecutableFilesRunningUnlessTheyMeetPrevalenceAgeTrustedListCriterion = 'String | Optional | off / block / audit / warn'
                    BlockPersistenceThroughWMIEventSubscription = 'String | Optional | off / block / audit / warn'
                    BlockAbuseOfExploitedVulnerableSignedDrivers = 'String | Optional | off / block / audit / warn'
                    BlockOfficeApplicationsFromCreatingExecutableContent = 'String | Optional | off / block / audit / warn'
                    BlockAdobeReaderFromCreatingChildProcesses = 'String | Optional | off / block / audit / warn'
                }
            )
            SettingCatalogCustomPoliciesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Id = 'String | Optional'
                    TemplateReference = @{
                        TemplateId = 'String | Optional'
                        TemplateDisplayVersion = 'String | Optional'
                        TemplateDisplayName = 'String | Optional'
                        TemplateFamily = 'String | Optional | none / endpointSecurityAntivirus / endpointSecurityDiskEncryption / endpointSecurityFirewall / endpointSecurityEndpointDetectionAndResponse / endpointSecurityAttackSurfaceReduction / endpointSecurityAccountProtection / endpointSecurityApplicationControl / endpointSecurityEndpointPrivilegeManagement / enrollmentConfiguration / appQuietTime / baseline / unknownFutureValue / deviceConfigurationScripts'
                    }
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    Name = 'String | Required'
                    Platforms = 'String | Optional | none / android / iOS / macOS / windows10X / windows10 / linux / unknownFutureValue'
                    Technologies = 'String | Optional | none / mdm / windows10XManagement / configManager / appleRemoteManagement / microsoftSense / exchangeOnline / linuxMdm / enrollment / endpointPrivilegeManagement / unknownFutureValue'
                    Settings = @(
                        @{
                            Id = 'String | Optional'
                            SettingInstance = @{
                                SimpleSettingCollectionValue = @(
                                    @{
                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                        StringValue = 'String | Optional'
                                        ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                        IntValue = 'UInt32 | Optional'
                                        Children = @(
                                            @{
                                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                SimpleSettingCollectionValue = @(
                                                    @{
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                        IntValue = 'UInt32 | Optional'
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                        StringValue = 'String | Optional'
                                                    }
                                                )
                                                SettingDefinitionId = 'String | Optional'
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupCollectionInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingInstance'
                                                ChoiceSettingCollectionValue = @(
                                                    @{
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        Value = 'String | Optional'
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    }
                                                )
                                                GroupSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    Value = 'String | Optional'
                                                }
                                                SettingInstanceTemplateReference = @{
                                                    SettingInstanceTemplateId = 'String | Optional'
                                                }
                                                SimpleSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                    IntValue = 'UInt32 | Optional'
                                                    ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                    StringValue = 'String | Optional'
                                                }
                                                ChoiceSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    Value = 'String | Optional'
                                                }
                                                GroupSettingCollectionValue = @(
                                                    @{
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        Value = 'String | Optional'
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    }
                                                )
                                            }
                                        )
                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                        SettingValueTemplateReference = @{
                                            useTemplateDefault = 'Boolean | Optional'
                                            settingValueTemplateId = 'String | Optional'
                                        }
                                    }
                                )
                                SettingDefinitionId = 'String | Optional'
                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupCollectionInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingInstance'
                                ChoiceSettingCollectionValue = @(
                                    @{
                                        SettingValueTemplateReference = @{
                                            useTemplateDefault = 'Boolean | Optional'
                                            settingValueTemplateId = 'String | Optional'
                                        }
                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                        Value = 'String | Optional'
                                        Children = @(
                                            @{
                                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                SimpleSettingCollectionValue = @(
                                                    @{
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                        IntValue = 'UInt32 | Optional'
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                        StringValue = 'String | Optional'
                                                    }
                                                )
                                                SettingDefinitionId = 'String | Optional'
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupCollectionInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingInstance'
                                                ChoiceSettingCollectionValue = @(
                                                    @{
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        Value = 'String | Optional'
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    }
                                                )
                                                GroupSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    Value = 'String | Optional'
                                                }
                                                SettingInstanceTemplateReference = @{
                                                    SettingInstanceTemplateId = 'String | Optional'
                                                }
                                                SimpleSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                    IntValue = 'UInt32 | Optional'
                                                    ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                    StringValue = 'String | Optional'
                                                }
                                                ChoiceSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    Value = 'String | Optional'
                                                }
                                                GroupSettingCollectionValue = @(
                                                    @{
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        Value = 'String | Optional'
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    }
                                                )
                                            }
                                        )
                                    }
                                )
                                GroupSettingValue = @{
                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                    Value = 'String | Optional'
                                    SettingValueTemplateReference = @{
                                        useTemplateDefault = 'Boolean | Optional'
                                        settingValueTemplateId = 'String | Optional'
                                    }
                                    Children = @(
                                        @{
                                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                            SimpleSettingCollectionValue = @(
                                                @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                    IntValue = 'UInt32 | Optional'
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                    StringValue = 'String | Optional'
                                                }
                                            )
                                            SettingDefinitionId = 'String | Optional'
                                            odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupCollectionInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingInstance'
                                            ChoiceSettingCollectionValue = @(
                                                @{
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    Value = 'String | Optional'
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                }
                                            )
                                            GroupSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                Value = 'String | Optional'
                                            }
                                            SettingInstanceTemplateReference = @{
                                                SettingInstanceTemplateId = 'String | Optional'
                                            }
                                            SimpleSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                IntValue = 'UInt32 | Optional'
                                                ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                StringValue = 'String | Optional'
                                            }
                                            ChoiceSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                Value = 'String | Optional'
                                            }
                                            GroupSettingCollectionValue = @(
                                                @{
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    Value = 'String | Optional'
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                }
                                            )
                                        }
                                    )
                                }
                                SettingInstanceTemplateReference = @{
                                    SettingInstanceTemplateId = 'String | Optional'
                                }
                                SimpleSettingValue = @{
                                    StringValue = 'String | Optional'
                                    ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                    IntValue = 'UInt32 | Optional'
                                    SettingValueTemplateReference = @{
                                        useTemplateDefault = 'Boolean | Optional'
                                        settingValueTemplateId = 'String | Optional'
                                    }
                                    Children = @(
                                        @{
                                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                            SimpleSettingCollectionValue = @(
                                                @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                    IntValue = 'UInt32 | Optional'
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                    StringValue = 'String | Optional'
                                                }
                                            )
                                            SettingDefinitionId = 'String | Optional'
                                            odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupCollectionInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingInstance'
                                            ChoiceSettingCollectionValue = @(
                                                @{
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    Value = 'String | Optional'
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                }
                                            )
                                            GroupSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                Value = 'String | Optional'
                                            }
                                            SettingInstanceTemplateReference = @{
                                                SettingInstanceTemplateId = 'String | Optional'
                                            }
                                            SimpleSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                IntValue = 'UInt32 | Optional'
                                                ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                StringValue = 'String | Optional'
                                            }
                                            ChoiceSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                Value = 'String | Optional'
                                            }
                                            GroupSettingCollectionValue = @(
                                                @{
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    Value = 'String | Optional'
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                }
                                            )
                                        }
                                    )
                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                }
                                ChoiceSettingValue = @{
                                    SettingValueTemplateReference = @{
                                        useTemplateDefault = 'Boolean | Optional'
                                        settingValueTemplateId = 'String | Optional'
                                    }
                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                    Value = 'String | Optional'
                                    Children = @(
                                        @{
                                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                            SimpleSettingCollectionValue = @(
                                                @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                    IntValue = 'UInt32 | Optional'
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                    StringValue = 'String | Optional'
                                                }
                                            )
                                            SettingDefinitionId = 'String | Optional'
                                            odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupCollectionInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingInstance'
                                            ChoiceSettingCollectionValue = @(
                                                @{
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    Value = 'String | Optional'
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                }
                                            )
                                            GroupSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                Value = 'String | Optional'
                                            }
                                            SettingInstanceTemplateReference = @{
                                                SettingInstanceTemplateId = 'String | Optional'
                                            }
                                            SimpleSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                IntValue = 'UInt32 | Optional'
                                                ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                StringValue = 'String | Optional'
                                            }
                                            ChoiceSettingValue = @{
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                Value = 'String | Optional'
                                            }
                                            GroupSettingCollectionValue = @(
                                                @{
                                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                    Value = 'String | Optional'
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                }
                                            )
                                        }
                                    )
                                }
                                GroupSettingCollectionValue = @(
                                    @{
                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                        Value = 'String | Optional'
                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                        SettingValueTemplateReference = @{
                                            useTemplateDefault = 'Boolean | Optional'
                                            settingValueTemplateId = 'String | Optional'
                                        }
                                        Children = @(
                                            @{
                                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                SimpleSettingCollectionValue = @(
                                                    @{
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                        IntValue = 'UInt32 | Optional'
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                        StringValue = 'String | Optional'
                                                    }
                                                )
                                                SettingDefinitionId = 'String | Optional'
                                                odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationChoiceSettingInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationGroupSettingInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupCollectionInstance / #microsoft.graph.deviceManagementConfigurationSettingGroupInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance / #microsoft.graph.deviceManagementConfigurationSimpleSettingInstance'
                                                ChoiceSettingCollectionValue = @(
                                                    @{
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        Value = 'String | Optional'
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    }
                                                )
                                                GroupSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    Value = 'String | Optional'
                                                }
                                                SettingInstanceTemplateReference = @{
                                                    SettingInstanceTemplateId = 'String | Optional'
                                                }
                                                SimpleSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationIntegerSettingValue / #microsoft.graph.deviceManagementConfigurationStringSettingValue / #microsoft.graph.deviceManagementConfigurationSecretSettingValue'
                                                    IntValue = 'UInt32 | Optional'
                                                    ValueState = 'String | Optional | invalid / notEncrypted / encryptedValueToken'
                                                    StringValue = 'String | Optional'
                                                }
                                                ChoiceSettingValue = @{
                                                    odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    Value = 'String | Optional'
                                                }
                                                GroupSettingCollectionValue = @(
                                                    @{
                                                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                                        Value = 'String | Optional'
                                                        odataType = 'String | Optional | #microsoft.graph.deviceManagementConfigurationChoiceSettingValue / #microsoft.graph.deviceManagementConfigurationGroupSettingValue / #microsoft.graph.deviceManagementConfigurationSimpleSettingValue'
                                                    }
                                                )
                                            }
                                        )
                                    }
                                )
                            }
                        }
                    )
                }
            )
            WiFiConfigurationPoliciesAndroidDeviceAdministrator = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    WiFiSecurityType = 'String | Optional | open / wpaEnterprise / wpa2Enterprise'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    NetworkName = 'String | Optional'
                    Ssid = 'String | Optional'
                    ConnectAutomatically = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                }
            )
            WifiConfigurationPoliciesAndroidEnterpriseDeviceOwner = @(
                @{
                    Id = 'String | Optional'
                    PreSharedKey = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    NetworkName = 'String | Optional'
                    PreSharedKeyIsSet = 'Boolean | Optional'
                    WiFiSecurityType = 'String | Optional | open / wep / wpaPersonal / wpaEnterprise'
                    Ssid = 'String | Optional'
                    ProxyManualAddress = 'String | Optional'
                    ProxySettings = 'String | Optional | none / manual / automatic'
                    ProxyAutomaticConfigurationUrl = 'String | Optional'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    ProxyManualPort = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    ConnectAutomatically = 'Boolean | Optional'
                    ProxyExclusionList = 'String | Optional'
                }
            )
            WifiConfigurationPoliciesAndroidEnterpriseWorkProfile = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    WiFiSecurityType = 'String | Optional | open / wpaEnterprise / wpa2Enterprise'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    NetworkName = 'String | Optional'
                    Ssid = 'String | Optional'
                    ConnectAutomatically = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                }
            )
            WifiConfigurationPoliciesAndroidForWork = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    WiFiSecurityType = 'String | Optional | open / wpaEnterprise / wpa2Enterprise'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    NetworkName = 'String | Optional'
                    Ssid = 'String | Optional'
                    ConnectAutomatically = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                }
            )
            WifiConfigurationPoliciesAndroidOpenSourceProject = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    WiFiSecurityType = 'String | Optional | open / wep / wpaPersonal / wpaEnterprise'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    NetworkName = 'String | Optional'
                    PreSharedKey = 'String | Optional'
                    Ssid = 'String | Optional'
                    ConnectAutomatically = 'Boolean | Optional'
                    PreSharedKeyIsSet = 'Boolean | Optional'
                }
            )
            WifiConfigurationPoliciesIOS = @(
                @{
                    Id = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    NetworkName = 'String | Optional'
                    PreSharedKey = 'String | Optional'
                    WiFiSecurityType = 'String | Optional | open / wpaPersonal / wpaEnterprise / wep / wpa2Personal / wpa2Enterprise'
                    DisableMacAddressRandomization = 'Boolean | Optional'
                    Ssid = 'String | Optional'
                    ProxyManualAddress = 'String | Optional'
                    ProxySettings = 'String | Optional | none / manual / automatic'
                    ProxyAutomaticConfigurationUrl = 'String | Optional'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    ProxyManualPort = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    ConnectAutomatically = 'Boolean | Optional'
                }
            )
            WifiConfigurationPoliciesMacOS = @(
                @{
                    Id = 'String | Optional'
                    DisplayName = 'String | Required'
                    NetworkName = 'String | Optional'
                    PreSharedKey = 'String | Optional'
                    WiFiSecurityType = 'String | Optional | open / wpaPersonal / wpaEnterprise / wep / wpa2Personal / wpa2Enterprise'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    Ssid = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ProxySettings = 'String | Optional | none / manual / automatic'
                    ProxyAutomaticConfigurationUrl = 'String | Optional'
                    ProxyManualPort = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    ConnectAutomatically = 'Boolean | Optional'
                    ProxyManualAddress = 'String | Optional'
                }
            )
            WifiConfigurationPoliciesWindows10 = @(
                @{
                    Id = 'String | Optional'
                    ForceFIPSCompliance = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    NetworkName = 'String | Optional'
                    MeteredConnectionLimit = 'String | Optional | unrestricted / fixed / variable'
                    PreSharedKey = 'String | Optional'
                    WifiSecurityType = 'String | Optional | open / wpaPersonal / wpaEnterprise / wep / wpa2Personal / wpa2Enterprise'
                    Ssid = 'String | Optional'
                    ProxyManualAddress = 'String | Optional'
                    ConnectWhenNetworkNameIsHidden = 'Boolean | Optional'
                    ProxyAutomaticConfigurationUrl = 'String | Optional'
                    ProxySetting = 'String | Optional | none / manual / automatic'
                    ProxyManualPort = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    ConnectAutomatically = 'Boolean | Optional'
                    ConnectToPreferredNetwork = 'Boolean | Optional'
                }
            )
            WindowsAutopilotDeploymentProfilesAzureADHybridJoined = @(
                @{
                    Description = 'String | Optional'
                    DeviceNameTemplate = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DisplayName = 'String | Required'
                    EnableWhiteGlove = 'Boolean | Optional'
                    ExtractHardwareHash = 'Boolean | Optional'
                    EnrollmentStatusScreenSettings = @{
                        HideInstallationProgress = 'Boolean | Optional'
                        BlockDeviceSetupRetryByUser = 'Boolean | Optional'
                        AllowLogCollectionOnInstallFailure = 'Boolean | Optional'
                        AllowDeviceUseBeforeProfileAndAppInstallComplete = 'Boolean | Optional'
                        InstallProgressTimeoutInMinutes = 'UInt32 | Optional'
                        CustomErrorMessage = 'String | Optional'
                        AllowDeviceUseOnInstallFailure = 'Boolean | Optional'
                    }
                    HybridAzureADJoinSkipConnectivityCheck = 'Boolean | Optional'
                    ManagementServiceAppId = 'String | Optional'
                    Id = 'String | Optional'
                    Language = 'String | Optional'
                    DeviceType = 'String | Optional | windowsPc / surfaceHub2 / holoLens / surfaceHub2S / virtualMachine / unknownFutureValue'
                    OutOfBoxExperienceSettings = @{
                        HideEULA = 'Boolean | Optional'
                        HideEscapeLink = 'Boolean | Optional'
                        HidePrivacySettings = 'Boolean | Optional'
                        DeviceUsageType = 'String | Optional | singleUser / shared'
                        SkipKeyboardSelectionPage = 'Boolean | Optional'
                        UserType = 'String | Optional | administrator / standard'
                    }
                }
            )
            WindowsAutopilotDeploymentProfilesAzureADJoined = @(
                @{
                    Description = 'String | Optional'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DeviceNameTemplate = 'String | Optional'
                    ExtractHardwareHash = 'Boolean | Optional'
                    EnrollmentStatusScreenSettings = @{
                        HideInstallationProgress = 'Boolean | Optional'
                        BlockDeviceSetupRetryByUser = 'Boolean | Optional'
                        AllowLogCollectionOnInstallFailure = 'Boolean | Optional'
                        AllowDeviceUseBeforeProfileAndAppInstallComplete = 'Boolean | Optional'
                        InstallProgressTimeoutInMinutes = 'UInt32 | Optional'
                        CustomErrorMessage = 'String | Optional'
                        AllowDeviceUseOnInstallFailure = 'Boolean | Optional'
                    }
                    ManagementServiceAppId = 'String | Optional'
                    EnableWhiteGlove = 'Boolean | Optional'
                    Id = 'String | Optional'
                    Language = 'String | Optional'
                    DeviceType = 'String | Optional | windowsPc / surfaceHub2 / holoLens / surfaceHub2S / virtualMachine / unknownFutureValue'
                    OutOfBoxExperienceSettings = @{
                        HideEULA = 'Boolean | Optional'
                        HideEscapeLink = 'Boolean | Optional'
                        HidePrivacySettings = 'Boolean | Optional'
                        DeviceUsageType = 'String | Optional | singleUser / shared'
                        SkipKeyboardSelectionPage = 'Boolean | Optional'
                        UserType = 'String | Optional | administrator / standard'
                    }
                }
            )
            WindowsInformationProtectionPoliciesWindows10MdmEnrolled = @(
                @{
                    EnterpriseNetworkDomainNames = @(
                        @{
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Resources = 'StringArray | Optional'
                        }
                    )
                    Description = 'String | Optional'
                    ExemptApps = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            BinaryVersionLow = 'String | Optional'
                            Description = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.windowsInformationProtectionDesktopApp / #microsoft.graph.windowsInformationProtectionStoreApp'
                            BinaryName = 'String | Optional'
                            BinaryVersionHigh = 'String | Optional'
                            Denied = 'Boolean | Optional'
                            PublisherName = 'String | Optional'
                            ProductName = 'String | Optional'
                            DisplayName = 'String | Optional'
                        }
                    )
                    EnterpriseInternalProxyServers = @(
                        @{
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Resources = 'StringArray | Optional'
                        }
                    )
                    EnterpriseProxiedDomains = @(
                        @{
                            ProxiedDomains = @(
                                @{
                                    Proxy = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    IpAddressOrFQDN = 'String | Optional'
                                }
                            )
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        }
                    )
                    ProtectionUnderLockConfigRequired = 'Boolean | Optional'
                    EnforcementLevel = 'String | Optional | noProtection / encryptAndAuditOnly / encryptAuditAndPrompt / encryptAuditAndBlock'
                    AzureRightsManagementServicesAllowed = 'Boolean | Optional'
                    NeutralDomainResources = @(
                        @{
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Resources = 'StringArray | Optional'
                        }
                    )
                    EnterpriseProxyServers = @(
                        @{
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Resources = 'StringArray | Optional'
                        }
                    )
                    IconsVisible = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    EnterpriseDomain = 'String | Optional'
                    EnterpriseIPRanges = @(
                        @{
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Ranges = @(
                                @{
                                    CidrAddress = 'String | Optional'
                                    UpperAddress = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    LowerAddress = 'String | Optional'
                                    odataType = 'String | Optional | #microsoft.graph.iPv4CidrRange / #microsoft.graph.iPv6CidrRange / #microsoft.graph.iPv4Range / #microsoft.graph.iPv6Range'
                                }
                            )
                        }
                    )
                    IndexingEncryptedStoresOrItemsBlocked = 'Boolean | Optional'
                    EnterpriseProxyServersAreAuthoritative = 'Boolean | Optional'
                    DataRecoveryCertificate = @{
                        Description = 'String | Optional'
                        SubjectName = 'String | Optional'
                        ExpirationDateTime = 'String | Optional'
                        Certificate = 'String | Optional'
                    }
                    ProtectedApps = @(
                        @{
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            BinaryVersionLow = 'String | Optional'
                            Description = 'String | Optional'
                            odataType = 'String | Optional | #microsoft.graph.windowsInformationProtectionDesktopApp / #microsoft.graph.windowsInformationProtectionStoreApp'
                            BinaryName = 'String | Optional'
                            BinaryVersionHigh = 'String | Optional'
                            Denied = 'Boolean | Optional'
                            PublisherName = 'String | Optional'
                            ProductName = 'String | Optional'
                            DisplayName = 'String | Optional'
                        }
                    )
                    EnterpriseProtectedDomainNames = @(
                        @{
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Resources = 'StringArray | Optional'
                        }
                    )
                    Id = 'String | Optional'
                    DisplayName = 'String | Required'
                    RightsManagementServicesTemplateId = 'String | Optional'
                    EnterpriseIPRangesAreAuthoritative = 'Boolean | Optional'
                    RevokeOnUnenrollDisabled = 'Boolean | Optional'
                    SmbAutoEncryptedFileExtensions = @(
                        @{
                            DisplayName = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Resources = 'StringArray | Optional'
                        }
                    )
                }
            )
            WindowsUpdateForBusinessFeatureUpdateProfilesWindows10 = @(
                @{
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    Id = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    RolloutSettings = @{
                        OfferEndDateTimeInUTC = 'String | Optional'
                        OfferStartDateTimeInUTC = 'String | Optional'
                        OfferIntervalInDays = 'UInt32 | Optional'
                    }
                    FeatureUpdateVersion = 'String | Optional'
                    DisplayName = 'String | Required'
                }
            )
            WindowsUpdateForBusinessRingUpdateProfilesWindows10 = @(
                @{
                    PostponeRebootUntilAfterDeadline = 'Boolean | Optional'
                    AutomaticUpdateMode = 'String | Optional | userDefined / notifyDownload / autoInstallAtMaintenanceTime / autoInstallAndRebootAtMaintenanceTime / autoInstallAndRebootAtScheduledTime / autoInstallAndRebootWithoutEndUserControl / windowsDefault'
                    Description = 'String | Optional'
                    QualityUpdatesRollbackStartDateTime = 'String | Optional'
                    UserPauseAccess = 'String | Optional | notConfigured / enabled / disabled'
                    Assignments = @(
                        @{
                            groupId = 'String | Optional'
                            collectionId = 'String | Optional'
                            dataType = 'String | Optional | #microsoft.graph.groupAssignmentTarget / #microsoft.graph.allLicensedUsersAssignmentTarget / #microsoft.graph.allDevicesAssignmentTarget / #microsoft.graph.exclusionGroupAssignmentTarget / #microsoft.graph.configurationManagerCollectionAssignmentTarget'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            deviceAndAppManagementAssignmentFilterId = 'String | Optional'
                            deviceAndAppManagementAssignmentFilterType = 'String | Optional | none / include / exclude'
                            groupDisplayName = 'String | Optional'
                        }
                    )
                    DisplayName = 'String | Required'
                    DeadlineGracePeriodInDays = 'UInt32 | Optional'
                    UserWindowsUpdateScanAccess = 'String | Optional | notConfigured / enabled / disabled'
                    AutoRestartNotificationDismissal = 'String | Optional | notConfigured / automatic / user / unknownFutureValue'
                    InstallationSchedule = @{
                        ActiveHoursStart = 'String | Optional'
                        ScheduledInstallTime = 'String | Optional'
                        ScheduledInstallDay = 'String | Optional | userDefined / everyday / sunday / monday / tuesday / wednesday / thursday / friday / saturday / noScheduledScan'
                        ActiveHoursEnd = 'String | Optional'
                        odataType = 'String | Optional | #microsoft.graph.windowsUpdateActiveHoursInstall / #microsoft.graph.windowsUpdateScheduledInstall'
                    }
                    AllowWindows11Upgrade = 'Boolean | Optional'
                    UpdateNotificationLevel = 'String | Optional | notConfigured / defaultNotifications / restartWarningsOnly / disableAllNotifications / unknownFutureValue'
                    FeatureUpdatesRollbackStartDateTime = 'String | Optional'
                    QualityUpdatesDeferralPeriodInDays = 'UInt32 | Optional'
                    FeatureUpdatesPaused = 'Boolean | Optional'
                    PrereleaseFeatures = 'String | Optional | userDefined / settingsOnly / settingsAndExperimentations / notAllowed'
                    FeatureUpdatesPauseExpiryDateTime = 'String | Optional'
                    BusinessReadyUpdatesOnly = 'String | Optional | userDefined / all / businessReadyOnly / windowsInsiderBuildFast / windowsInsiderBuildSlow / windowsInsiderBuildRelease'
                    EngagedRestartTransitionScheduleInDays = 'UInt32 | Optional'
                    QualityUpdatesPauseStartDate = 'String | Optional'
                    UpdateWeeks = 'String | Optional | userDefined / firstWeek / secondWeek / thirdWeek / fourthWeek / everyWeek / unknownFutureValue'
                    Ensure = 'String | Optional | Present / Absent'
                    DeadlineForFeatureUpdatesInDays = 'UInt32 | Optional'
                    QualityUpdatesPauseExpiryDateTime = 'String | Optional'
                    Id = 'String | Optional'
                    ScheduleRestartWarningInHours = 'UInt32 | Optional'
                    FeatureUpdatesPauseStartDate = 'String | Optional'
                    ScheduleImminentRestartWarningInMinutes = 'UInt32 | Optional'
                    FeatureUpdatesDeferralPeriodInDays = 'UInt32 | Optional'
                    DeadlineForQualityUpdatesInDays = 'UInt32 | Optional'
                    DriversExcluded = 'Boolean | Optional'
                    EngagedRestartSnoozeScheduleInDays = 'UInt32 | Optional'
                    DeliveryOptimizationMode = 'String | Optional | userDefined / httpOnly / httpWithPeeringNat / httpWithPeeringPrivateGroup / httpWithInternetPeering / simpleDownload / bypassMode'
                    SkipChecksBeforeRestart = 'Boolean | Optional'
                    QualityUpdatesPaused = 'Boolean | Optional'
                    EngagedRestartDeadlineInDays = 'UInt32 | Optional'
                    FeatureUpdatesRollbackWindowInDays = 'UInt32 | Optional'
                    MicrosoftUpdateServiceAllowed = 'Boolean | Optional'
                }
            )
            WindowsUpdateForBusinessRingUpdateProfileWindows10s = @(
                @{
                    RuleDefinition = 'String | Required'
                    ResourceName = 'String | Required'
                    AfterRuleCountQuery = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                }
            )
        }
        Office365 = @{
            AdminAuditLogConfig = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present'
                UnifiedAuditLogIngestionEnabled = 'String | Required | Enabled / Disabled'
            }
            Groups = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Members = 'StringArray | Optional'
                    ManagedBy = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Description = 'String | Optional'
                    MailNickName = 'String | Required'
                    DisplayName = 'String | Required'
                }
            )
            OrgCustomizationSetting = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Ensure = 'String | Optional | Present'
            }
            OrgSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                PlannerAllowCalendarSharing = 'Boolean | Optional'
                ToDoIsExternalJoinEnabled = 'Boolean | Optional'
                ToDoIsExternalShareEnabled = 'Boolean | Optional'
                VivaInsightsScheduleSendSuggestions = 'Boolean | Optional'
                VivaInsightsWebExperience = 'Boolean | Optional'
                VivaInsightsDigestEmail = 'Boolean | Optional'
                VivaInsightsOutlookAddInAndInlineSuggestions = 'Boolean | Optional'
                ToDoIsPushNotificationEnabled = 'Boolean | Optional'
                InstallationOptionsAppsForMac = 'StringArray | Optional | isSkypeForBusinessEnabled / isMicrosoft365AppsEnabled'
                AdminCenterReportDisplayConcealedNames = 'Boolean | Optional'
                InstallationOptionsUpdateChannel = 'String | Optional | current / monthlyEnterprise / semiAnnual'
                InstallationOptionsAppsForWindows = 'StringArray | Optional | isVisioEnabled / isSkypeForBusinessEnabled / isProjectEnabled / isMicrosoft365AppsEnabled'
                MicrosoftVivaBriefingEmail = 'Boolean | Optional'
                DynamicsCustomerVoiceIsInOrgFormsPhishingScanEnabled = 'Boolean | Optional'
                DynamicsCustomerVoiceIsRecordIdentityByDefaultEnabled = 'Boolean | Optional'
                DynamicsCustomerVoiceIsRestrictedSurveyAccessEnabled = 'Boolean | Optional'
                CortanaEnabled = 'Boolean | Optional'
                AppsAndServicesIsAppAndServicesTrialEnabled = 'Boolean | Optional'
                AppsAndServicesIsOfficeStoreEnabled = 'Boolean | Optional'
                FormsIsBingImageSearchEnabled = 'Boolean | Optional'
                FormsIsInOrgFormsPhishingScanEnabled = 'Boolean | Optional'
                FormsIsRecordIdentityByDefaultEnabled = 'Boolean | Optional'
                M365WebEnableUsersToOpenFilesFrom3PStorage = 'Boolean | Optional'
                FormsIsExternalShareTemplateEnabled = 'Boolean | Optional'
                FormsIsExternalSendFormEnabled = 'Boolean | Optional'
                FormsIsExternalShareCollaborationEnabled = 'Boolean | Optional'
                FormsIsExternalShareResultEnabled = 'Boolean | Optional'
            }
        }
        OneDrive = @{
            Settings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                DomainGuids = 'StringArray | Optional'
                ExcludedFileExtensions = 'StringArray | Optional'
                DisableReportProblemDialog = 'Boolean | Optional'
                TenantRestrictionEnabled = 'Boolean | Optional'
                GrooveBlockOption = 'String | Optional | OptOut / HardOptIn / SoftOptIn'
                Ensure = 'String | Optional | Present / Absent'
                OrphanedPersonalSitesRetentionPeriod = 'UInt32 | Optional'
                OneDriveForGuestsEnabled = 'Boolean | Optional'
                OneDriveStorageQuota = 'UInt32 | Optional'
                NotifyOwnersWhenInvitationsAccepted = 'Boolean | Optional'
                ODBAccessRequests = 'String | Optional | On / Off / Unspecified'
                BlockMacSync = 'Boolean | Optional'
                NotificationsInOneDriveForBusinessEnabled = 'Boolean | Optional'
                ODBMembersCanShare = 'String | Optional | On / Off / Unspecified'
            }
        }
        Planner = @{
            Buckets = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Name = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    BucketId = 'String | Optional'
                    PlanId = 'String | Required'
                }
            )
            Plans = @(
                @{
                    Title = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    OwnerGroup = 'String | Required'
                }
            )
            Tasks = @(
                @{
                    StartDateTime = 'String | Optional'
                    Categories = 'StringArray | Optional | Pink / Red / Yellow / Green / Blue / Purple'
                    Priority = 'UInt32 | Optional'
                    Notes = 'String | Optional'
                    AssignedUsers = 'StringArray | Optional'
                    PercentComplete = 'UInt32 | Optional'
                    Title = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    TaskId = 'String | Optional'
                    DueDateTime = 'String | Optional'
                    PlanId = 'String | Required'
                    Attachments = @(
                        @{
                            Alias = 'String | Optional'
                            Type = 'String | Optional | PowerPoint / Word / Excel / Other'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Uri = 'String | Optional'
                        }
                    )
                    Checklist = @(
                        @{
                            Title = 'String | Optional'
                            Completed = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        }
                    )
                    Ensure = 'String | Optional | Present / Absent'
                    ConversationThreadId = 'String | Optional'
                    Bucket = 'String | Optional'
                }
            )
        }
        PowerPlatform = @{
            PowerAppsEnvironments = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    DisplayName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Location = 'String | Required | canada / unitedstates / europe / asia / australia / india / japan / unitedkingdom / unitedstatesfirstrelease / southamerica / france / usgov / unitedarabemirates / germany / switzerland / norway / korea / southafrica'
                    EnvironmentSKU = 'String | Required | Production / Standard / Trial / Sandbox / SubscriptionBasedTrial / Teams / Developer'
                }
            )
            TenantIsolationSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                RulesToExclude = @(
                    @{
                        Direction = 'String | Required | Inbound / Outbound / Both'
                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        TenantName = 'String | Required'
                    }
                )
                Enabled = 'Boolean | Optional'
                RulesToInclude = @(
                    @{
                        Direction = 'String | Required | Inbound / Outbound / Both'
                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        TenantName = 'String | Required'
                    }
                )
                Rules = @(
                    @{
                        Direction = 'String | Required | Inbound / Outbound / Both'
                        UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        TenantName = 'String | Required'
                    }
                )
            }
            TenantSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                DisableBingVideoSearch = 'Boolean | Optional'
                DisableShareWithEveryone = 'Boolean | Optional'
                DisableDocsSearch = 'Boolean | Optional'
                DisableCommunitySearch = 'Boolean | Optional'
                EnableGuestsToMake = 'Boolean | Optional'
                ShareWithColleaguesUserLimit = 'UInt32 | Optional'
                DisableSupportTicketsVisibleByAllUsers = 'Boolean | Optional'
                DisableNPSCommentsReachout = 'Boolean | Optional'
                DisableNewsletterSendout = 'Boolean | Optional'
                WalkMeOptOut = 'Boolean | Optional'
                DisableEnvironmentCreationByNonAdminUsers = 'Boolean | Optional'
                DisableTrialEnvironmentCreationByNonAdminUsers = 'Boolean | Optional'
                DisableCapacityAllocationByEnvironmentAdmins = 'Boolean | Optional'
                DisablePortalsCreationByNonAdminUsers = 'Boolean | Optional'
                DisableSurveyFeedback = 'Boolean | Optional'
            }
        }
        SecurityCompliance = @{
            AuditConfigurationPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Workload = 'String | Required | Exchange / SharePoint / OneDriveForBusiness'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            AutoSensitivityLabelPolicies = @(
                @{
                    Comment = 'String | Optional'
                    RemoveExchangeLocation = 'StringArray | Optional'
                    OneDriveLocationException = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                    AddSharePointLocationException = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    RemoveSharePointLocation = 'StringArray | Optional'
                    RemoveOneDriveLocationException = 'StringArray | Optional'
                    AddExchangeLocation = 'StringArray | Optional'
                    Name = 'String | Required'
                    ExchangeSenderException = 'StringArray | Optional'
                    AddSharePointLocation = 'StringArray | Optional'
                    OneDriveLocation = 'StringArray | Optional'
                    ExchangeSenderMemberOf = 'StringArray | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ExchangeSender = 'StringArray | Optional'
                    ExchangeSenderMemberOfException = 'StringArray | Optional'
                    SharePointLocationException = 'StringArray | Optional'
                    SharePointLocation = 'StringArray | Optional'
                    ExchangeLocation = 'StringArray | Optional'
                    RemoveOneDriveLocation = 'StringArray | Optional'
                    ApplySensitivityLabel = 'String | Optional'
                    AddOneDriveLocation = 'StringArray | Optional'
                    RemoveSharePointLocationException = 'StringArray | Optional'
                    Mode = 'String | Optional | Enable / Disable / TestWithNotifications / TestWithoutNotifications'
                    AddOneDriveLocationException = 'StringArray | Optional'
                }
            )
            AutoSensitivityLabelRules = @(
                @{
                    RecipientDomainIs = 'StringArray | Optional'
                    FromAddressMatchesPatterns = 'String | Optional'
                    ExceptIfFrom = 'StringArray | Optional'
                    FromAddressContainsWords = 'String | Optional'
                    SentToMemberOf = 'StringArray | Optional'
                    ExceptIfProcessingLimitExceeded = 'Boolean | Optional'
                    ExceptIfContentContainsSensitiveInformation = @{
                        Operator = 'String | Optional | And / Or'
                        SensitiveInformation = @(
                            @{
                                maxconfidence = 'String | Optional'
                                id = 'String | Optional'
                                minconfidence = 'String | Optional'
                                classifiertype = 'String | Optional'
                                name = 'String | Required'
                                mincount = 'String | Optional'
                                maxcount = 'String | Optional'
                            }
                        )
                        Groups = @(
                            @{
                                Operator = 'String | Required | And / Or'
                                SensitiveInformation = @(
                                    @{
                                        maxconfidence = 'String | Optional'
                                        id = 'String | Optional'
                                        minconfidence = 'String | Optional'
                                        classifiertype = 'String | Optional'
                                        name = 'String | Required'
                                        mincount = 'String | Optional'
                                        maxcount = 'String | Optional'
                                    }
                                )
                                Labels = @(
                                    @{
                                        name = 'String | Required'
                                        id = 'String | Optional'
                                        type = 'String | Optional'
                                    }
                                )
                                Name = 'String | Required'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            }
                        )
                    }
                    ExceptIfContentExtensionMatchesWords = 'StringArray | Optional'
                    Name = 'String | Required'
                    ExceptIfAnyOfRecipientAddressMatchesPatterns = 'String | Optional'
                    ProcessingLimitExceeded = 'Boolean | Optional'
                    ExceptIfAccessScope = 'String | Optional | InOrganization / NotInOrganization / None'
                    Workload = 'String | Required | Exchange / SharePoint / OneDriveForBusiness'
                    ExceptIfDocumentIsUnsupported = 'Boolean | Optional'
                    ExceptIfFromAddressContainsWords = 'String | Optional'
                    AnyOfRecipientAddressMatchesPatterns = 'String | Optional'
                    Policy = 'String | Required'
                    ExceptIfSentTo = 'StringArray | Optional'
                    SentTo = 'StringArray | Optional'
                    HeaderMatchesPatterns = @{
                        Name = 'String | Required'
                        Values = 'StringArray | Required'
                    }
                    ExceptIfRecipientDomainIs = 'StringArray | Optional'
                    Comment = 'String | Optional'
                    ContentExtensionMatchesWords = 'String | Optional'
                    SenderIPRanges = 'StringArray | Optional'
                    AnyOfRecipientAddressContainsWords = 'String | Optional'
                    SenderDomainIs = 'StringArray | Optional'
                    ExceptIfSenderDomainIs = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ExceptIfSubjectMatchesPatterns = 'String | Optional'
                    ExceptIfFromMemberOf = 'StringArray | Optional'
                    DocumentIsUnsupported = 'Boolean | Optional'
                    ExceptIfSentToMemberOf = 'StringArray | Optional'
                    RuleErrorAction = 'String | Optional | Ignore / RetryThenBlock / '
                    AccessScope = 'String | Optional | InOrganization / NotInOrganization / None'
                    ExceptIfAnyOfRecipientAddressContainsWords = 'String | Optional'
                    ExceptIfSenderIPRanges = 'StringArray | Optional'
                    ContentContainsSensitiveInformation = @{
                        Operator = 'String | Optional | And / Or'
                        SensitiveInformation = @(
                            @{
                                maxconfidence = 'String | Optional'
                                id = 'String | Optional'
                                minconfidence = 'String | Optional'
                                classifiertype = 'String | Optional'
                                name = 'String | Required'
                                mincount = 'String | Optional'
                                maxcount = 'String | Optional'
                            }
                        )
                        Groups = @(
                            @{
                                Operator = 'String | Required | And / Or'
                                SensitiveInformation = @(
                                    @{
                                        maxconfidence = 'String | Optional'
                                        id = 'String | Optional'
                                        minconfidence = 'String | Optional'
                                        classifiertype = 'String | Optional'
                                        name = 'String | Required'
                                        mincount = 'String | Optional'
                                        maxcount = 'String | Optional'
                                    }
                                )
                                Labels = @(
                                    @{
                                        name = 'String | Required'
                                        id = 'String | Optional'
                                        type = 'String | Optional'
                                    }
                                )
                                Name = 'String | Required'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            }
                        )
                    }
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ExceptIfFromAddressMatchesPatterns = 'String | Optional'
                    ExceptIfHeaderMatchesPatterns = 'StringArray | Optional'
                    ReportSeverityLevel = 'String | Optional | None / Low / Medium / High'
                    SubjectMatchesPatterns = 'String | Optional'
                    DocumentIsPasswordProtected = 'Boolean | Optional'
                    Disabled = 'Boolean | Optional'
                    ExceptIfDocumentIsPasswordProtected = 'Boolean | Optional'
                }
            )
            CaseHoldPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Comment = 'String | Optional'
                    Case = 'String | Required'
                    Name = 'String | Required'
                    SharePointLocation = 'StringArray | Optional'
                    PublicFolderLocation = 'StringArray | Optional'
                    ExchangeLocation = 'StringArray | Optional'
                }
            )
            CaseHoldRules = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ContentMatchQuery = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Comment = 'String | Optional'
                    Disabled = 'Boolean | Optional'
                    Policy = 'String | Required'
                    Name = 'String | Required'
                }
            )
            ComplianceCases = @(
                @{
                    Status = 'String | Optional | Active / Closed'
                    Description = 'String | Optional'
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            ComplianceSearchs = @(
                @{
                    Description = 'String | Optional'
                    Name = 'String | Required'
                    PublicFolderLocation = 'StringArray | Optional'
                    ExchangeLocationExclusion = 'StringArray | Optional'
                    IncludeUserAppContent = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ContentMatchQuery = 'String | Optional'
                    ExchangeLocation = 'StringArray | Optional'
                    SharePointLocationExclusion = 'StringArray | Optional'
                    AllowNotFoundExchangeLocationsEnabled = 'Boolean | Optional'
                    SharePointLocation = 'StringArray | Optional'
                    HoldNames = 'StringArray | Optional'
                    Case = 'String | Optional'
                    Language = 'String | Optional'
                }
            )
            ComplianceSearchActions = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Action = 'String | Required | Export / Preview / Purge / Retention'
                    PurgeType = 'String | Optional | SoftDelete / HardDelete'
                    SearchName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    EnableDedupe = 'Boolean | Optional'
                    FileTypeExclusionsForUnindexedItems = 'StringArray | Optional'
                    RetryOnError = 'Boolean | Optional'
                    ActionScope = 'String | Optional | IndexedItemsOnly / UnindexedItemsOnly / BothIndexedAndUnindexedItems'
                    IncludeCredential = 'Boolean | Optional'
                    IncludeSharePointDocumentVersions = 'Boolean | Optional'
                }
            )
            ComplianceTags = @(
                @{
                    FilePlanProperty = @{
                        FilePlanPropertyCitation = 'String | Optional'
                        FilePlanPropertyAuthority = 'String | Optional'
                        FilePlanPropertyCategory = 'String | Optional'
                        FilePlanPropertyDepartment = 'String | Optional'
                        FilePlanPropertyReferenceId = 'String | Optional'
                        FilePlanPropertySubCategory = 'String | Optional'
                    }
                    RetentionDuration = 'String | Optional'
                    IsRecordLabel = 'Boolean | Optional'
                    Name = 'String | Required'
                    Notes = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Comment = 'String | Optional'
                    RetentionType = 'String | Optional | CreationAgeInDays / EventAgeInDays / ModificationAgeInDays / TaggedAgeInDays'
                    EventType = 'String | Optional'
                    RetentionAction = 'String | Optional | Delete / Keep / KeepAndDelete'
                    Regulatory = 'Boolean | Optional'
                    ReviewerEmail = 'StringArray | Optional'
                }
            )
            DeviceConditionalAccessPolicies = @(
                @{
                    Ensure = 'String | Optional | Present / Absent'
                    Comment = 'String | Optional'
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Enabled = 'Boolean | Optional'
                }
            )
            DeviceConfigurationPolicies = @(
                @{
                    Ensure = 'String | Optional | Present / Absent'
                    Comment = 'String | Optional'
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Enabled = 'Boolean | Optional'
                }
            )
            DLPCompliancePolicies = @(
                @{
                    ThirdPartyAppDlpLocation = 'StringArray | Optional'
                    OneDriveLocationException = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                    EndpointDlpLocationException = 'StringArray | Optional'
                    ExchangeSenderMemberOfException = 'StringArray | Optional'
                    EndpointDlpLocation = 'StringArray | Optional'
                    Name = 'String | Required'
                    OneDriveLocation = 'StringArray | Optional'
                    OnPremisesScannerDlpLocation = 'StringArray | Optional'
                    TeamsLocationException = 'StringArray | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Comment = 'String | Optional'
                    ExchangeLocation = 'StringArray | Optional'
                    SharePointLocationException = 'StringArray | Optional'
                    SharePointLocation = 'StringArray | Optional'
                    OnPremisesScannerDlpLocationException = 'StringArray | Optional'
                    ExchangeSenderMemberOf = 'StringArray | Optional'
                    ThirdPartyAppDlpLocationException = 'StringArray | Optional'
                    Mode = 'String | Optional | Enable / TestWithNotifications / TestWithoutNotifications / Disable / PendingDeletion'
                    Ensure = 'String | Optional | Present / Absent'
                    TeamsLocation = 'StringArray | Optional'
                    PowerBIDlpLocation = 'StringArray | Optional'
                    PowerBIDlpLocationException = 'StringArray | Optional'
                }
            )
            DLPComplianceRules = @(
                @{
                    StopPolicyProcessing = 'Boolean | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    NotifyUser = 'StringArray | Optional'
                    ExceptIfProcessingLimitExceeded = 'Boolean | Optional'
                    ExceptIfContentContainsSensitiveInformation = @{
                        Operator = 'String | Optional | And / Or'
                        SensitiveInformation = @(
                            @{
                                maxconfidence = 'String | Optional'
                                id = 'String | Optional'
                                minconfidence = 'String | Optional'
                                classifiertype = 'String | Optional'
                                name = 'String | Required'
                                mincount = 'String | Optional'
                                maxcount = 'String | Optional'
                            }
                        )
                        Groups = @(
                            @{
                                Operator = 'String | Required | And / Or'
                                SensitiveInformation = @(
                                    @{
                                        maxconfidence = 'String | Optional'
                                        id = 'String | Optional'
                                        minconfidence = 'String | Optional'
                                        classifiertype = 'String | Optional'
                                        name = 'String | Required'
                                        mincount = 'String | Optional'
                                        maxcount = 'String | Optional'
                                    }
                                )
                                Labels = @(
                                    @{
                                        name = 'String | Required'
                                        id = 'String | Optional'
                                        type = 'String | Optional'
                                    }
                                )
                                Name = 'String | Required'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            }
                        )
                    }
                    ProcessingLimitExceeded = 'Boolean | Optional'
                    HasSenderOverride = 'Boolean | Optional'
                    ExceptIfDocumentIsUnsupported = 'Boolean | Optional'
                    IncidentReportContent = 'StringArray | Optional | All / Default / DetectionDetails / Detections / DocumentAuthor / DocumentLastModifier / MatchedItem / OriginalContent / RulesMatched / Service / Severity / Title / RetentionLabel / SensitivityLabel'
                    GenerateIncidentReport = 'StringArray | Optional'
                    ExceptIfHasSenderOverride = 'Boolean | Optional'
                    Policy = 'String | Required'
                    ExceptIfContentExtensionMatchesWords = 'StringArray | Optional'
                    RemoveRMSTemplate = 'Boolean | Optional'
                    NotifyEmailCustomText = 'String | Optional'
                    GenerateAlert = 'StringArray | Optional'
                    Comment = 'String | Optional'
                    AnyOfRecipientAddressContainsWords = 'StringArray | Optional'
                    ContentPropertyContainsWords = 'StringArray | Optional'
                    AnyOfRecipientAddressMatchesPatterns = 'StringArray | Optional'
                    ContentExtensionMatchesWords = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    DocumentIsUnsupported = 'Boolean | Optional'
                    Disabled = 'Boolean | Optional'
                    RuleErrorAction = 'String | Optional | Ignore / RetryThenBlock'
                    BlockAccess = 'Boolean | Optional'
                    AccessScope = 'StringArray | Optional | InOrganization / NotInOrganization / None'
                    ContentContainsSensitiveInformation = @{
                        Operator = 'String | Optional | And / Or'
                        SensitiveInformation = @(
                            @{
                                maxconfidence = 'String | Optional'
                                id = 'String | Optional'
                                minconfidence = 'String | Optional'
                                classifiertype = 'String | Optional'
                                name = 'String | Required'
                                mincount = 'String | Optional'
                                maxcount = 'String | Optional'
                            }
                        )
                        Groups = @(
                            @{
                                Operator = 'String | Required | And / Or'
                                SensitiveInformation = @(
                                    @{
                                        maxconfidence = 'String | Optional'
                                        id = 'String | Optional'
                                        minconfidence = 'String | Optional'
                                        classifiertype = 'String | Optional'
                                        name = 'String | Required'
                                        mincount = 'String | Optional'
                                        maxcount = 'String | Optional'
                                    }
                                )
                                Labels = @(
                                    @{
                                        name = 'String | Required'
                                        id = 'String | Optional'
                                        type = 'String | Optional'
                                    }
                                )
                                Name = 'String | Required'
                                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            }
                        )
                    }
                    DocumentIsPasswordProtected = 'Boolean | Optional'
                    NotifyPolicyTipCustomText = 'String | Optional'
                    ReportSeverityLevel = 'String | Optional | Low / Medium / High / None'
                    Name = 'String | Required'
                    BlockAccessScope = 'String | Optional | All / PerUser'
                    NotifyAllowOverride = 'StringArray | Optional | FalsePositive / WithoutJustification / WithJustification'
                    ExceptIfDocumentIsPasswordProtected = 'Boolean | Optional'
                }
            )
            FilePlanPropertyAuthorities = @(
                @{
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            FilePlanPropertyCategories = @(
                @{
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            FilePlanPropertyCitations = @(
                @{
                    CitationJurisdiction = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Name = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    CitationUrl = 'String | Optional'
                }
            )
            FilePlanPropertyDepartments = @(
                @{
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            FilePlanPropertyReferenceIds = @(
                @{
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            FilePlanPropertySubCategories = @(
                @{
                    Category = 'String | Required'
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            LabelPolicies = @(
                @{
                    AddModernGroupLocationException = 'StringArray | Optional'
                    RemoveModernGroupLocation = 'StringArray | Optional'
                    Name = 'String | Required'
                    ModernGroupLocation = 'StringArray | Optional'
                    RemoveExchangeLocation = 'StringArray | Optional'
                    AddExchangeLocation = 'StringArray | Optional'
                    RemoveLabels = 'StringArray | Optional'
                    Labels = 'StringArray | Optional'
                    ExchangeLocation = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Comment = 'String | Optional'
                    RemoveModernGroupLocationException = 'StringArray | Optional'
                    ModernGroupLocationException = 'StringArray | Optional'
                    AddModernGroupLocation = 'StringArray | Optional'
                    ExchangeLocationException = 'StringArray | Optional'
                    AddExchangeLocationException = 'StringArray | Optional'
                    AddLabels = 'StringArray | Optional'
                    AdvancedSettings = @(
                        @{
                            Key = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Value = 'StringArray | Optional'
                        }
                    )
                    RemoveExchangeLocationException = 'StringArray | Optional'
                }
            )
            ProtectionAlerts = @(
                @{
                    Threshold = 'UInt32 | Optional'
                    AlertFor = 'StringArray | Optional'
                    Operation = 'StringArray | Optional'
                    PrivacyManagementScopedSensitiveInformationTypes = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Disabled = 'Boolean | Optional'
                    NotifyUserThrottleThreshold = 'UInt32 | Optional'
                    Severity = 'String | Optional | Low / Medium / High / Informational'
                    NotifyUserThrottleWindow = 'UInt32 | Optional'
                    AlertBy = 'StringArray | Optional'
                    VolumeThreshold = 'UInt32 | Optional'
                    PrivacyManagementScopedSensitiveInformationTypesThreshold = 'UInt64 | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Comment = 'String | Optional'
                    NotifyUserOnFilterMatch = 'Boolean | Optional'
                    TimeWindow = 'UInt32 | Optional'
                    PrivacyManagementScopedSensitiveInformationTypesForCounting = 'StringArray | Optional'
                    ThreatType = 'String | Optional | Activity / Malware / Phish / Malicious / MaliciousUrlClick / MailFlow'
                    Category = 'String | Optional'
                    NotificationCulture = 'String | Optional'
                    Name = 'String | Required'
                    AggregationType = 'String | Optional | None / SimpleAggregation / AnomalousAggregation / CustomAggregation'
                    Filter = 'String | Optional'
                    NotificationEnabled = 'Boolean | Optional'
                    NotifyUser = 'StringArray | Optional'
                    NotifyUserSuppressionExpiryDate = 'DateTime | Optional'
                }
            )
            RetentionCompliancePolicies = @(
                @{
                    Comment = 'String | Optional'
                    PublicFolderLocation = 'StringArray | Optional'
                    OneDriveLocationException = 'StringArray | Optional'
                    TeamsChatLocationException = 'StringArray | Optional'
                    Name = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    SkypeLocation = 'StringArray | Optional'
                    TeamsChannelLocationException = 'StringArray | Optional'
                    OneDriveLocation = 'StringArray | Optional'
                    ExchangeLocation = 'StringArray | Optional'
                    SkypeLocationException = 'StringArray | Optional'
                    TeamsChatLocation = 'StringArray | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    RestrictiveRetention = 'Boolean | Optional'
                    ExchangeLocationException = 'StringArray | Optional'
                    DynamicScopeLocation = 'StringArray | Optional'
                    TeamsChannelLocation = 'StringArray | Optional'
                    SharePointLocationException = 'StringArray | Optional'
                    ModernGroupLocationException = 'StringArray | Optional'
                    SharePointLocation = 'StringArray | Optional'
                    ModernGroupLocation = 'StringArray | Optional'
                    Enabled = 'Boolean | Optional'
                }
            )
            RetentionComplianceRules = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                    ContentMatchQuery = 'String | Optional'
                    RetentionDurationDisplayHint = 'String | Optional | Days / Months / Years'
                    RetentionComplianceAction = 'String | Optional | Delete / Keep / KeepAndDelete'
                    RetentionDuration = 'String | Optional'
                    ExcludedItemClasses = 'StringArray | Optional'
                    Policy = 'String | Required'
                    ExpirationDateOption = 'String | Optional | CreationAgeInDays / ModificationAgeInDays'
                    Name = 'String | Required'
                    Comment = 'String | Optional'
                }
            )
            RetentionEventTypes = @(
                @{
                    Comment = 'String | Optional'
                    Name = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            SecurityFilters = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Action = 'String | Optional | Export / Preview / Purge / Search / All'
                    Filters = 'StringArray | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Region = 'String | Optional | APC / AUS / CAN / EUR / FRA / GBR / IND / JPN / LAM / NAM / '
                    Users = 'StringArray | Optional'
                    Description = 'String | Optional'
                    FilterName = 'String | Required'
                }
            )
            SensitivityLabels = @(
                @{
                    ApplyContentMarkingHeaderFontSize = 'SInt32 | Optional'
                    EncryptionRightsDefinitions = 'String | Optional'
                    SiteAndGroupProtectionBlockAccess = 'Boolean | Optional'
                    ApplyWaterMarkingText = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    DisplayName = 'String | Optional'
                    ApplyContentMarkingFooterMargin = 'SInt32 | Optional'
                    ApplyWaterMarkingFontColor = 'String | Optional'
                    EncryptionProtectionType = 'String | Optional | Template / RemoveProtection / UserDefined'
                    SiteAndGroupProtectionAllowAccessToGuestUsers = 'Boolean | Optional'
                    ApplyContentMarkingHeaderEnabled = 'Boolean | Optional'
                    Tooltip = 'String | Optional'
                    SiteAndGroupExternalSharingControlType = 'String | Optional | ExternalUserAndGuestSharing / ExternalUserSharingOnly / ExistingExternalUserSharingOnly / Disabled'
                    ApplyContentMarkingHeaderText = 'String | Optional'
                    Priority = 'UInt32 | Optional'
                    EncryptionRightsUrl = 'String | Optional'
                    ParentId = 'String | Optional'
                    Comment = 'String | Optional'
                    ApplyContentMarkingFooterEnabled = 'Boolean | Optional'
                    ApplyContentMarkingFooterFontSize = 'SInt32 | Optional'
                    ApplyContentMarkingHeaderFontColor = 'String | Optional'
                    SiteAndGroupProtectionPrivacy = 'String | Optional | Public / Private / Unspecified'
                    EncryptionOfflineAccessDays = 'SInt32 | Optional'
                    ApplyContentMarkingFooterText = 'String | Optional'
                    ApplyWaterMarkingFontSize = 'SInt32 | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    EncryptionDoNotForward = 'Boolean | Optional'
                    EncryptionEnabled = 'Boolean | Optional'
                    ApplyContentMarkingHeaderAlignment = 'String | Optional | Left / Center / Right'
                    ApplyContentMarkingHeaderMargin = 'SInt32 | Optional'
                    AdvancedSettings = @(
                        @{
                            Key = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Value = 'StringArray | Optional'
                        }
                    )
                    ApplyContentMarkingFooterAlignment = 'String | Optional | Left / Center / Right'
                    SiteAndGroupProtectionAllowLimitedAccess = 'Boolean | Optional'
                    ApplyWaterMarkingEnabled = 'Boolean | Optional'
                    SiteAndGroupProtectionAllowEmailFromGuestUsers = 'Boolean | Optional'
                    ApplyWaterMarkingLayout = 'String | Optional | Horizontal / Diagonal'
                    ApplyContentMarkingFooterFontColor = 'String | Optional'
                    EncryptionPromptUser = 'Boolean | Optional'
                    SiteAndGroupProtectionEnabled = 'Boolean | Optional'
                    EncryptionEncryptOnly = 'Boolean | Optional'
                    Name = 'String | Required'
                    LocaleSettings = @(
                        @{
                            LabelSettings = @(
                                @{
                                    Key = 'String | Optional'
                                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                                    Value = 'StringArray | Optional'
                                }
                            )
                            localeKey = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                        }
                    )
                    ContentType = 'StringArray | Optional | File, Email / Site, UnifiedGroup / PurviewAssets / Teamwork / SchematizedData'
                    EncryptionContentExpiredOnDateInDaysOrNever = 'String | Optional'
                    SiteAndGroupProtectionAllowFullAccess = 'Boolean | Optional'
                }
            )
            SupervisoryReviewPolicies = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Comment = 'String | Optional'
                    Name = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Reviewers = 'StringArray | Required'
                }
            )
            SupervisoryReviewRules = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                    Condition = 'String | Optional'
                    SamplingRate = 'UInt32 | Optional'
                    Policy = 'String | Required'
                    Name = 'String | Required'
                }
            )
        }
        SharePoint = @{
            AccessControlSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                EmailAttestationRequired = 'Boolean | Optional'
                EmailAttestationReAuthDays = 'UInt32 | Optional'
                DisallowInfectedFileDownload = 'Boolean | Optional'
                ExternalServicesEnabled = 'Boolean | Optional'
                Ensure = 'String | Optional | Present / Absent'
                StartASiteFormUrl = 'String | Optional'
                IPAddressEnforcement = 'Boolean | Optional'
                DisplayStartASiteOption = 'Boolean | Optional'
                CommentsOnSitePagesDisabled = 'Boolean | Optional'
                SocialBarOnSitePagesDisabled = 'Boolean | Optional'
                IPAddressAllowList = 'String | Optional'
                IPAddressWACTokenLifetime = 'UInt32 | Optional'
            }
            Apps = @(
                @{
                    Path = 'String | Required'
                    Overwrite = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Publish = 'Boolean | Optional'
                    Identity = 'String | Required'
                }
            )
            BrowserIdleSignout = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                WarnAfter = 'String | Optional'
                Enabled = 'Boolean | Optional'
                SignOutAfter = 'String | Optional'
            }
            HomeSite = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                Url = 'String | Optional'
                Ensure = 'String | Optional | Present / Absent'
            }
            HubSites = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Url = 'String | Required'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowedToJoin = 'StringArray | Optional'
                    RequiresJoinApproval = 'Boolean | Optional'
                    LogoUrl = 'String | Optional'
                    SiteDesignId = 'String | Optional'
                    Title = 'String | Optional'
                }
            )
            OrgAssetsLibraries = @(
                @{
                    CdnType = 'String | Optional | Public / Private'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    LibraryUrl = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    ThumbnailUrl = 'String | Optional'
                }
            )
            PropertyBags = @(
                @{
                    Key = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Url = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Value = 'String | Required'
                }
            )
            SearchManagedProperties = @(
                @{
                    Searchable = 'Boolean | Optional'
                    Description = 'String | Optional'
                    Type = 'String | Required | Text / Integer / Decimal / DateTime / YesNo / Double / Binary'
                    FullTextContext = 'UInt32 | Optional'
                    Name = 'String | Required'
                    Ensure = 'String | Optional | Present'
                    AllowMultipleValues = 'Boolean | Optional'
                    MappedCrawledProperties = 'StringArray | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    TokenNormalization = 'Boolean | Optional'
                    LanguageNeutralTokenization = 'Boolean | Optional'
                    FinerQueryTokenization = 'Boolean | Optional'
                    Safe = 'Boolean | Optional'
                    FullTextIndex = 'String | Optional'
                    Aliases = 'StringArray | Optional'
                    CompanyNameExtraction = 'Boolean | Optional'
                    CompleteMatching = 'Boolean | Optional'
                    Refinable = 'String | Optional | No / Yes - latent / Yes'
                    Retrievable = 'Boolean | Optional'
                    Queryable = 'Boolean | Optional'
                    Sortable = 'String | Optional | No / Yes - latent / Yes'
                }
            )
            SearchResultSources = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Description = 'String | Optional'
                    Type = 'String | Optional | SharePoint / People'
                    Ensure = 'String | Optional | Present'
                    SourceURL = 'String | Optional'
                    ShowPartialSearch = 'Boolean | Optional'
                    UseAutoDiscover = 'Boolean | Optional'
                    Name = 'String | Required'
                    QueryTransform = 'String | Optional'
                    Protocol = 'String | Required | Local / Remote / OpenSearch / Exchange'
                }
            )
            SharingSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                FolderAnonymousLinkType = 'String | Optional | View / Edit'
                NotifyOwnersWhenItemsReshared = 'Boolean | Optional'
                DefaultLinkPermission = 'String | Optional | None / View / Edit'
                FileAnonymousLinkType = 'String | Optional | View / Edit'
                DefaultSharingLinkType = 'String | Optional | None / Direct / Internal / AnonymousAccess'
                PreventExternalUsersFromResharing = 'Boolean | Optional'
                ShowPeoplePickerSuggestionsForGuestUsers = 'Boolean | Optional'
                ExternalUserExpirationRequired = 'Boolean | Optional'
                ExternalUserExpireInDays = 'UInt32 | Optional'
                RequireAcceptingAccountMatchInvitedAccount = 'Boolean | Optional'
                Ensure = 'String | Optional | Present / Absent'
                ShowAllUsersClaim = 'Boolean | Optional'
                ShowEveryoneExceptExternalUsersClaim = 'Boolean | Optional'
                ProvisionSharedWithEveryoneFolder = 'Boolean | Optional'
                ShowEveryoneClaim = 'Boolean | Optional'
                SharingCapability = 'String | Optional | ExistingExternalUserSharingOnly / ExternalUserAndGuestSharing / Disabled / ExternalUserSharingOnly'
                MySiteSharingCapability = 'String | Optional | ExistingExternalUserSharingOnly / ExternalUserAndGuestSharing / Disabled / ExternalUserSharingOnly'
                SharingAllowedDomainList = 'StringArray | Optional'
                SharingBlockedDomainList = 'StringArray | Optional'
                SharingDomainRestrictionMode = 'String | Optional | None / AllowList / BlockList'
                RequireAnonymousLinksExpireInDays = 'UInt32 | Optional'
                EnableGuestSignInAcceleration = 'Boolean | Optional'
                BccExternalSharingInvitations = 'Boolean | Optional'
                BccExternalSharingInvitationsList = 'String | Optional'
            }
            Sites = @(
                @{
                    TimeZoneId = 'UInt32 | Required'
                    SharingCapability = 'String | Optional | Disabled / ExistingExternalUserSharingOnly / ExternalUserSharingOnly / ExternalUserAndGuestSharing'
                    Template = 'String | Optional'
                    DisableFlows = 'Boolean | Optional'
                    RestrictedToRegion = 'String | Optional | NoRestriction / BlockMoveOnly / BlockFull / Unknown'
                    Url = 'String | Required'
                    SharingBlockedDomainList = 'String | Optional'
                    DefaultLinkPermission = 'String | Optional | None / View / Edit'
                    HubUrl = 'String | Optional'
                    StorageWarningLevel = 'UInt32 | Optional'
                    Title = 'String | Required'
                    CommentsOnSitePagesDisabled = 'Boolean | Optional'
                    SharingDomainRestrictionMode = 'String | Optional | None / AllowList / BlockList'
                    SharingAllowedDomainList = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    DisableAppViews = 'String | Optional | Unknown / Disabled / NotDisabled'
                    SocialBarOnSitePagesDisabled = 'Boolean | Optional'
                    Owner = 'String | Required'
                    OverrideTenantAnonymousLinkExpirationPolicy = 'Boolean | Optional'
                    AnonymousLinkExpirationInDays = 'UInt32 | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    DisableCompanyWideSharingLinks = 'String | Optional | Unknown / Disabled / NotDisabled'
                    StorageMaximumLevel = 'UInt32 | Optional'
                    AllowSelfServiceUpgrade = 'Boolean | Optional'
                    DefaultSharingLinkType = 'String | Optional | None / AnonymousAccess / Internal / Direct'
                    DenyAddAndCustomizePages = 'Boolean | Optional'
                    LocaleId = 'UInt32 | Optional'
                    ShowPeoplePickerSuggestionsForGuestUsers = 'Boolean | Optional'
                }
            )
            SiteAuditSettingsItems = @(
                @{
                    Url = 'String | Required'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    AuditFlags = 'String | Required | All / None'
                }
            )
            SiteDesigns = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present / Absent'
                    WebTemplate = 'String | Optional | CommunicationSite / TeamSite / GrouplessTeamSite'
                    IsDefault = 'Boolean | Optional'
                    Version = 'UInt32 | Optional'
                    SiteScriptNames = 'StringArray | Optional'
                    Title = 'String | Required'
                    Description = 'String | Optional'
                    PreviewImageAltText = 'String | Optional'
                    PreviewImageUrl = 'String | Optional'
                }
            )
            SiteDesignRightss = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Rights = 'String | Required | View / None'
                    Ensure = 'String | Optional | Present / Absent'
                    UserPrincipals = 'StringArray | Optional'
                    SiteDesignTitle = 'String | Required'
                }
            )
            SiteGroups = @(
                @{
                    PermissionLevels = 'StringArray | Optional'
                    Url = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Owner = 'String | Optional'
                    Identity = 'String | Required'
                }
            )
            SiteScripts = @(
                @{
                    Content = 'String | Optional'
                    Title = 'String | Required'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Optional'
                }
            )
            StorageEntities = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Description = 'String | Optional'
                    SiteUrl = 'String | Required'
                    Key = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    Value = 'String | Optional'
                    EntityScope = 'String | Optional | Tenant / Site'
                    Comment = 'String | Optional'
                }
            )
            TenantCdnEnableds = @(
                @{
                    CdnType = 'String | Required | Public / Private'
                    Enable = 'Boolean | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present'
                }
            )
            TenantCdnPolicies = @(
                @{
                    CDNType = 'String | Required | Private / Public'
                    IncludeFileExtensions = 'StringArray | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    ExcludeRestrictedSiteClassifications = 'StringArray | Optional'
                }
            )
            TenantSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                HideDefaultThemes = 'Boolean | Optional'
                HideSyncButtonOnTeamSite = 'Boolean | Optional'
                MarkNewFilesSensitiveByDefault = 'String | Optional | AllowExternalSharing / BlockExternalSharing'
                OwnerAnonymousNotification = 'Boolean | Optional'
                ApplyAppEnforcedRestrictionsToAdHocRecipients = 'Boolean | Optional'
                FilePickerExternalImageSearchEnabled = 'Boolean | Optional'
                ConditionalAccessPolicy = 'String | Optional | AllowFullAccess / AllowLimitedAccess / BlockAccess'
                DisabledWebPartIds = 'String | Optional'
                CommentsOnSitePagesDisabled = 'Boolean | Optional'
                Ensure = 'String | Optional | Present / Absent'
                SearchResolveExactEmailOrUPN = 'Boolean | Optional'
                OfficeClientADALDisabled = 'Boolean | Optional'
                LegacyAuthProtocolsEnabled = 'Boolean | Optional'
                MinCompatibilityLevel = 'UInt32 | Optional'
                MaxCompatibilityLevel = 'UInt32 | Optional'
                SignInAccelerationDomain = 'String | Optional'
                PublicCdnAllowedFileTypes = 'String | Optional'
                UseFindPeopleInPeoplePicker = 'Boolean | Optional'
                NotificationsInSharePointEnabled = 'Boolean | Optional'
                UsePersistentCookiesForExplorerView = 'Boolean | Optional'
                UserVoiceForFeedbackEnabled = 'Boolean | Optional'
                PublicCdnEnabled = 'Boolean | Optional'
            }
            Themes = @(
                @{
                    Palette = @(
                        @{
                            Property = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Value = 'String | Optional'
                        }
                    )
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Name = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    IsInverted = 'Boolean | Optional'
                }
            )
            UserProfileProperties = @(
                @{
                    UserName = 'String | Required'
                    Properties = @(
                        @{
                            Key = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            Value = 'String | Optional'
                        }
                    )
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Ensure = 'String | Optional | Present'
                }
            )
        }
        Teams = @{
            AppPermissionPolicies = @(
                @{
                    GlobalCatalogAppsType = 'String | Optional'
                    PrivateCatalogAppsType = 'String | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    GlobalCatalogApps = 'StringArray | Optional'
                    DefaultCatalogAppsType = 'String | Optional'
                    Identity = 'String | Required'
                    PrivateCatalogApps = 'StringArray | Optional'
                    DefaultCatalogApps = 'StringArray | Optional'
                }
            )
            AppSetupPolicies = @(
                @{
                    Description = 'String | Optional'
                    AppPresetMeetingList = 'StringArray | Optional'
                    AllowSideLoading = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    PinnedMessageBarApps = 'StringArray | Optional'
                    PinnedAppBarApps = 'StringArray | Optional'
                    Identity = 'String | Required'
                    AllowUserPinning = 'Boolean | Optional'
                    AppPresetList = 'StringArray | Optional'
                }
            )
            AudioConferencingPolicies = @(
                @{
                    AllowTollFreeDialin = 'Boolean | Optional'
                    MeetingInvitePhoneNumbers = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            CallHoldPolicies = @(
                @{
                    AudioFileId = 'String | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            CallingPolicies = @(
                @{
                    AllowCallRedirect = 'String | Optional | Enabled / Disabled / UserOverride'
                    Description = 'String | Optional'
                    Identity = 'String | Required'
                    LiveCaptionsEnabledTypeForCalling = 'String | Optional | DisabledUserOverride / Disabled'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowVoicemail = 'String | Optional | AlwaysEnabled / AlwaysDisabled / UserOverride'
                    AllowTranscriptionforCalling = 'Boolean | Optional'
                    AllowDelegation = 'Boolean | Optional'
                    AllowCallForwardingToPhone = 'Boolean | Optional'
                    CallRecordingExpirationDays = 'UInt32 | Optional'
                    AllowCallForwardingToUser = 'Boolean | Optional'
                    SpamFilteringEnabledType = 'String | Optional | Enabled / Disabled'
                    AllowSIPDevicesCalling = 'Boolean | Optional'
                    BusyOnBusyEnabledType = 'String | Optional | Enabled / Disabled / Unanswered / UserOverride'
                    MusicOnHoldEnabledType = 'String | Optional | Enabled / Disabled / UserOverride'
                    AutoAnswerEnabledType = 'String | Optional | Enabled / Disabled'
                    SafeTransferEnabled = 'String | Optional | Enabled / Disabled / UserOverride'
                    AllowCallGroups = 'Boolean | Optional'
                    AllowPrivateCalling = 'Boolean | Optional'
                    PreventTollBypass = 'Boolean | Optional'
                    AllowCloudRecordingForCalls = 'Boolean | Optional'
                    AllowWebPSTNCalling = 'Boolean | Optional'
                }
            )
            CallParkPolicies = @(
                @{
                    Description = 'String | Optional'
                    PickupRangeStart = 'UInt64 | Optional'
                    AllowCallPark = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ParkTimeoutSeconds = 'UInt64 | Optional'
                    PickupRangeEnd = 'UInt64 | Optional'
                    Identity = 'String | Required'
                }
            )
            CallQueues = @(
                @{
                    AgentAlertTime = 'UInt16 | Optional'
                    TimeoutRedirectPersonTextToSpeechPrompt = 'String | Optional'
                    TimeoutDisconnectAudioFilePrompt = 'String | Optional'
                    TimeoutRedirectPhoneNumberAudioFilePrompt = 'String | Optional'
                    Users = 'StringArray | Optional'
                    AllowOptOut = 'Boolean | Optional'
                    PresenceBasedRouting = 'Boolean | Optional'
                    OverflowDisconnectAudioFilePrompt = 'String | Optional'
                    Name = 'String | Required'
                    TimeoutActionTarget = 'String | Optional'
                    OverflowDisconnectTextToSpeechPrompt = 'String | Optional'
                    OverflowRedirectPersonAudioFilePrompt = 'String | Optional'
                    OverflowRedirectVoiceAppAudioFilePrompt = 'String | Optional'
                    OverflowThreshold = 'UInt16 | Optional'
                    ChannelId = 'String | Optional'
                    TimeoutDisconnectTextToSpeechPrompt = 'String | Optional'
                    UseDefaultMusicOnHold = 'Boolean | Optional'
                    OverflowActionTarget = 'String | Optional'
                    MusicOnHoldAudioFileId = 'String | Optional'
                    TimeoutRedirectVoiceAppAudioFilePrompt = 'String | Optional'
                    OverflowRedirectVoiceAppTextToSpeechPrompt = 'String | Optional'
                    ConferenceMode = 'Boolean | Optional'
                    OverflowRedirectVoicemailTextToSpeechPrompt = 'String | Optional'
                    TimeoutRedirectPhoneNumberTextToSpeechPrompt = 'String | Optional'
                    TimeoutAction = 'String | Optional | Disconnect / Forward / Voicemail / SharedVoicemail'
                    EnableOverflowSharedVoicemailTranscription = 'Boolean | Optional'
                    OverflowSharedVoicemailTextToSpeechPrompt = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    OverflowRedirectVoicemailAudioFilePrompt = 'String | Optional'
                    OverflowRedirectPhoneNumberAudioFilePrompt = 'String | Optional'
                    OverflowAction = 'String | Optional | DisconnectWithBusy / Forward / Voicemail / SharedVoicemail'
                    DistributionLists = 'StringArray | Optional'
                    TimeoutSharedVoicemailTextToSpeechPrompt = 'String | Optional'
                    OverflowRedirectPhoneNumberTextToSpeechPrompt = 'String | Optional'
                    WelcomeMusicAudioFileId = 'String | Optional'
                    OverflowRedirectPersonTextToSpeechPrompt = 'String | Optional'
                    LanguageId = 'String | Optional'
                    TimeoutThreshold = 'UInt16 | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    TimeoutRedirectVoicemailTextToSpeechPrompt = 'String | Optional'
                    OverflowSharedVoicemailAudioFilePrompt = 'String | Optional'
                    EnableTimeoutSharedVoicemailTranscription = 'Boolean | Optional'
                    AuthorizedUsers = 'StringArray | Optional'
                    OboResourceAccountIds = 'StringArray | Optional'
                    RoutingMethod = 'String | Optional | Attendant / Serial / RoundRobin / LongestIdle'
                    TimeoutRedirectPersonAudioFilePrompt = 'String | Optional'
                    TimeoutRedirectVoiceAppTextToSpeechPrompt = 'String | Optional'
                    ChannelUserObjectId = 'String | Optional'
                    TimeoutSharedVoicemailAudioFilePrompt = 'String | Optional'
                    TimeoutRedirectVoicemailAudioFilePrompt = 'String | Optional'
                }
            )
            Channels = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Description = 'String | Optional'
                    GroupID = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    NewDisplayName = 'String | Optional'
                    TeamName = 'String | Required'
                    DisplayName = 'String | Required'
                }
            )
            ChannelsPolicies = @(
                @{
                    AllowUserToParticipateInExternalSharedChannel = 'Boolean | Optional'
                    AllowSharedChannelCreation = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowOrgWideTeamCreation = 'Boolean | Optional'
                    Description = 'String | Optional'
                    AllowChannelSharingToExternalUser = 'Boolean | Optional'
                    EnablePrivateTeamDiscovery = 'Boolean | Optional'
                    Identity = 'String | Required'
                    AllowPrivateChannelCreation = 'Boolean | Optional'
                }
            )
            ChannelTabs = @(
                @{
                    ContentUrl = 'String | Optional'
                    ChannelName = 'String | Required'
                    TeamsApp = 'String | Optional'
                    DisplayName = 'String | Required'
                    RemoveUrl = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    SortOrderIndex = 'UInt32 | Optional'
                    TeamId = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    EntityId = 'String | Optional'
                    WebSiteUrl = 'String | Optional'
                    TeamName = 'String | Required'
                }
            )
            ClientConfiguration = @{
                AllowGuestUser = 'Boolean | Optional'
                ContentPin = 'String | Optional | NotRequired / RequiredOutsideScheduleMeeting / AlwaysRequired'
                AllowSkypeBusinessInterop = 'Boolean | Optional'
                ResourceAccountContentAccess = 'String | Optional | NoAccess / PartialAccess / FullAccess'
                AllowShareFile = 'Boolean | Optional'
                AllowScopedPeopleSearchandAccess = 'Boolean | Optional'
                AllowOrganizationTab = 'Boolean | Optional'
                AllowEmailIntoChannel = 'Boolean | Optional'
                AllowDropBox = 'Boolean | Optional'
                AllowResourceAccountSendMessage = 'Boolean | Optional'
                AllowEgnyte = 'Boolean | Optional'
                AllowGoogleDrive = 'Boolean | Optional'
                AllowBox = 'Boolean | Optional'
                RestrictedSenderList = 'StringArray | Optional'
            }
            ComplianceRecordingPolicies = @(
                @{
                    WarnUserOnRemoval = 'Boolean | Optional'
                    Description = 'String | Optional'
                    Enabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    ComplianceRecordingApplications = 'StringArray | Optional'
                    Identity = 'String | Required'
                    DisableComplianceRecordingAudioNotificationForCalls = 'Boolean | Optional'
                }
            )
            CortanaPolicies = @(
                @{
                    CortanaVoiceInvocationMode = 'String | Optional | Disabled / PushToTalkUserOverride / WakeWordPushToTalkUserOverride'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            DialInConferencingTenantSettings = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                PinLength = 'UInt32 | Optional'
                MaskPstnNumbersType = 'String | Optional | MaskedForExternalUsers / MaskedForAllUsers / NoMasking'
                EntryExitAnnouncementsType = 'String | Optional'
                EnableEntryExitNotifications = 'Boolean | Optional'
                AutomaticallyMigrateUserMeetings = 'Boolean | Optional'
                AllowPSTNOnlyMeetingsByDefault = 'Boolean | Optional'
                EnableDialOutJoinConfirmation = 'Boolean | Optional'
                AutomaticallySendEmailsToUsers = 'Boolean | Optional'
                AutomaticallyReplaceAcpProvider = 'Boolean | Optional'
            }
            EmergencyCallingPolicies = @(
                @{
                    ExternalLocationLookupMode = 'String | Optional | Disabled / Enabled'
                    Description = 'String | Optional'
                    EnhancedEmergencyServiceDisclaimer = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                    NotificationGroup = 'String | Optional'
                    NotificationDialOutNumber = 'String | Optional'
                    NotificationMode = 'String | Optional | NotificationOnly / ConferenceMuted / ConferenceUnMuted'
                }
            )
            EmergencyCallRoutingPolicies = @(
                @{
                    AllowEnhancedEmergencyServices = 'Boolean | Optional'
                    Description = 'String | Optional'
                    EmergencyNumbers = @(
                        @{
                            EmergencyDialMask = 'String | Optional'
                            UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                            OnlinePSTNUsage = 'String | Optional'
                            EmergencyDialString = 'String | Optional'
                        }
                    )
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            EnhancedEncryptionPolicies = @(
                @{
                    CallingEndtoEndEncryptionEnabledType = 'String | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    MeetingEndToEndEncryption = 'String | Optional'
                    Identity = 'String | Required'
                }
            )
            EventsPolicies = @(
                @{
                    AllowWebinars = 'String | Optional | Disabled / Enabled'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    EventAccessType = 'String | Optional | Everyone / EveryoneInCompanyExcludingGuests'
                    Identity = 'String | Required'
                }
            )
            FederationConfiguration = @{
                BlockedDomains = 'StringArray | Optional'
                TreatDiscoveredPartnersAsUnverified = 'Boolean | Optional'
                RestrictTeamsConsumerToExternalUserProfiles = 'Boolean | Optional'
                AllowPublicUsers = 'Boolean | Optional'
                AllowTeamsConsumerInbound = 'Boolean | Optional'
                AllowFederatedUsers = 'Boolean | Optional'
                AllowedDomains = 'StringArray | Optional'
                AllowTeamsConsumer = 'Boolean | Optional'
                SharedSipAddressSpace = 'Boolean | Optional'
            }
            FeedbackPolicies = @(
                @{
                    ReceiveSurveysMode = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    EnableFeatureSuggestions = 'Boolean | Optional'
                    AllowEmailCollection = 'Boolean | Optional'
                    UserInitiatedMode = 'String | Optional'
                    Identity = 'String | Required'
                    AllowScreenshotCollection = 'Boolean | Optional'
                    AllowLogCollection = 'Boolean | Optional'
                }
            )
            FilesPolicies = @(
                @{
                    NativeFileEntryPoints = 'String | Optional | Enabled / Disabled'
                    SPChannelFilesTab = 'String | Optional | Enabled / Disabled'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            GroupPoliciesAssignment = @(
                @{
                    GroupId = 'String | Optional'
                    PolicyType = 'String | Required | ApplicationAccessPolicy / CallingLineIdentity / OnlineAudioConferencingRoutingPolicy / OnlineVoicemailPolicy / OnlineVoiceRoutingPolicy / TeamsAudioConferencingPolicy / TeamsCallHoldPolicy / TeamsCallParkPolicy / TeamsChannelsPolicy / TeamsComplianceRecordingPolicy / TeamsCortanaPolicy / TeamsEmergencyCallingPolicy / TeamsEnhancedEncryptionPolicy / TeamsFeedbackPolicy / TeamsFilesPolicy / TeamsIPPhonePolicy / TeamsMediaLoggingPolicy / TeamsMeetingBroadcastPolicy / TeamsMeetingPolicy / TeamsMessagingPolicy / TeamsMobilityPolicy / TeamsRoomVideoTeleConferencingPolicy / TeamsShiftsPolicy / TeamsUpdateManagementPolicy / TeamsVdiPolicy / TeamsVideoInteropServicePolicy / TenantDialPlan / ExternalAccessPolicy / TeamsAppSetupPolicy / TeamsCallingPolicy / TeamsEventsPolicy / TeamsMeetingBrandingPolicy / TeamsMeetingTemplatePermissionPolicy'
                    Ensure = 'String | Optional | Present / Absent'
                    PolicyName = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Priority = 'String | Optional'
                    GroupDisplayName = 'String | Required'
                }
            )
            GuestCallingConfiguration = @{
                AllowPrivateCalling = 'Boolean | Required'
            }
            GuestMeetingConfiguration = @{
                ScreenSharingMode = 'String | Optional | Disabled / EntireScreen / SingleApplication'
                LiveCaptionsEnabledType = 'String | Optional | Disabled / DisabledUserOverride'
                AllowIPVideo = 'Boolean | Optional'
                AllowMeetNow = 'Boolean | Optional'
            }
            GuestMessagingConfiguration = @{
                AllowImmersiveReader = 'Boolean | Optional'
                AllowGiphy = 'Boolean | Optional'
                AllowUserDeleteChat = 'Boolean | Optional'
                AllowUserDeleteMessage = 'Boolean | Optional'
                AllowUserEditMessage = 'Boolean | Optional'
                AllowUserChat = 'Boolean | Optional'
                AllowStickers = 'Boolean | Optional'
                AllowMemes = 'Boolean | Optional'
                GiphyRatingType = 'String | Optional | Moderate / Strict / NoRestriction'
            }
            IPPhonePolicies = @(
                @{
                    SignInMode = 'String | Optional | UserSignIn / CommonAreaPhoneSignIn / MeetingSignIn'
                    AllowBetterTogether = 'String | Optional | Enabled / Disabled'
                    Ensure = 'String | Optional | Present / Absent'
                    SearchOnCommonAreaPhoneMode = 'String | Optional | Enabled / Disabled'
                    Description = 'String | Optional'
                    HotDeskingIdleTimeoutInMinutes = 'UInt64 | Optional'
                    AllowHotDesking = 'Boolean | Optional'
                    Identity = 'String | Required'
                    AllowHomeScreen = 'String | Optional | Enabled / EnabledUserOverride / Disabled'
                }
            )
            MeetingBroadcastConfiguration = @{
                SupportURL = 'String | Optional'
                SdnProviderName = 'String | Optional'
                SdnApiToken = 'String | Optional'
                SdnLicenseId = 'String | Optional'
                SdnApiTemplateUrl = 'String | Optional'
                AllowSdnProviderForBroadcastMeeting = 'Boolean | Optional'
            }
            MeetingBroadcastPolicies = @(
                @{
                    AllowBroadcastTranscription = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    BroadcastAttendeeVisibilityMode = 'String | Optional | Everyone / EveryoneInCompany / InvitedUsersInCompany / EveryoneInCompanyAndExternal / InvitedUsersInCompanyAndExternal'
                    BroadcastRecordingMode = 'String | Optional | AlwaysEnabled / AlwaysDisabled / UserOverride'
                    Identity = 'String | Required'
                    AllowBroadcastScheduling = 'Boolean | Optional'
                }
            )
            MeetingConfiguration = @{
                EnableQoS = 'Boolean | Optional'
                LogoURL = 'String | Optional'
                ClientVideoPort = 'UInt32 | Optional'
                ClientAppSharingPortRange = 'UInt32 | Optional'
                LegalURL = 'String | Optional'
                CustomFooterText = 'String | Optional'
                ClientAudioPort = 'UInt32 | Optional'
                HelpURL = 'String | Optional'
                ClientMediaPortRangeEnabled = 'Boolean | Optional'
                ClientAppSharingPort = 'UInt32 | Optional'
                ClientAudioPortRange = 'UInt32 | Optional'
                ClientVideoPortRange = 'UInt32 | Optional'
                DisableAnonymousJoin = 'Boolean | Optional'
            }
            MeetingPolicies = @(
                @{
                    InfoShownInReportMode = 'String | Optional'
                    AllowUserToJoinExternalMeeting = 'String | Optional | Enabled / FederatedOnly / Disabled'
                    IPVideoMode = 'String | Optional | EnabledOutgoingIncoming / Disabled'
                    RoomPeopleNameUserOverride = 'String | Optional'
                    Description = 'String | Optional'
                    SpeakerAttributionMode = 'String | Optional | Disabled / EnabledUserOverride'
                    Identity = 'String | Required'
                    DesignatedPresenterRoleMode = 'String | Optional | OrganizerOnlyUserOverride / EveryoneInCompanyUserOverride / EveryoneUserOverride'
                    AllowParticipantGiveRequestControl = 'Boolean | Optional'
                    ForceStreamingAttendeeMode = 'String | Optional'
                    AllowMeetNow = 'Boolean | Optional'
                    AllowWhiteboard = 'Boolean | Optional'
                    AllowIPAudio = 'Boolean | Optional'
                    AllowPSTNUsersToBypassLobby = 'Boolean | Optional'
                    AllowDocumentCollaboration = 'String | Optional'
                    AutoAdmittedUsers = 'String | Optional | EveryoneInCompany / Everyone / EveryoneInSameAndFederatedCompany / OrganizerOnly / InvitedUsers / EveryoneInCompanyExcludingGuests'
                    StreamingAttendeeMode = 'String | Optional | Disabled / Enabled'
                    AllowMeetingRegistration = 'Boolean | Optional'
                    LiveInterpretationEnabledType = 'String | Optional'
                    AllowPrivateMeetingScheduling = 'Boolean | Optional'
                    MeetingInviteLanguages = 'String | Optional'
                    AllowNDIStreaming = 'Boolean | Optional'
                    NewMeetingRecordingExpirationDays = 'UInt32 | Optional'
                    AllowNetworkConfigurationSettingsLookup = 'Boolean | Optional'
                    AllowOrganizersToOverrideLobbySettings = 'Boolean | Optional'
                    AllowAnonymousUsersToStartMeeting = 'Boolean | Optional'
                    TeamsCameraFarEndPTZMode = 'String | Optional | Disabled / Enabled'
                    MediaBitRateKb = 'UInt32 | Optional'
                    PreferredMeetingProviderForIslandsMode = 'String | Optional | TeamsAndSfb / Teams'
                    VideoFiltersMode = 'String | Optional | NoFilters / BlurOnly / BlurAndDefaultBackgrounds / AllFilters'
                    QnAEngagementMode = 'String | Optional'
                    AllowAnnotations = 'Boolean | Optional'
                    BlockedAnonymousJoinClientTypes = 'String | Optional'
                    EnrollUserOverride = 'String | Optional | Disabled / Enabled'
                    AllowWatermarkForCameraVideo = 'Boolean | Optional'
                    AllowChannelMeetingScheduling = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowAnonymousUsersToDialOut = 'Boolean | Optional'
                    AllowBreakoutRooms = 'Boolean | Optional'
                    AllowEngagementReport = 'String | Optional | Enabled / Disabled'
                    IPAudioMode = 'String | Optional | EnabledOutgoingIncoming / Disabled'
                    AllowMeetingReactions = 'Boolean | Optional'
                    AllowPrivateMeetNow = 'Boolean | Optional'
                    ScreenSharingMode = 'String | Optional | SingleApplication / EntireScreen / Disabled'
                    AllowRecordingStorageOutsideRegion = 'Boolean | Optional'
                    AllowPowerPointSharing = 'Boolean | Optional'
                    AllowExternalParticipantGiveRequestControl = 'Boolean | Optional'
                    AllowIPVideo = 'Boolean | Optional'
                    AllowCartCaptionsScheduling = 'String | Optional | EnabledUserOverride / DisabledUserOverride / Disabled'
                    AllowOutlookAddIn = 'Boolean | Optional'
                    AllowCloudRecording = 'Boolean | Optional'
                    LiveCaptionsEnabledType = 'String | Optional | Disabled / DisabledUserOverride'
                    AllowWatermarkForScreenSharing = 'Boolean | Optional'
                    AllowSharedNotes = 'Boolean | Optional'
                    AllowTranscription = 'Boolean | Optional'
                    WhoCanRegister = 'String | Optional | Everyone / EveryoneInCompany'
                    ExplicitRecordingConsent = 'String | Optional'
                    RoomAttributeUserOverride = 'String | Optional | Off / Distinguish / Attribute'
                    MeetingChatEnabledType = 'String | Optional | Disabled / Enabled'
                    AllowMeetingCoach = 'Boolean | Optional'
                    LiveStreamingMode = 'String | Optional | Disabled / Enabled'
                    ChannelRecordingDownload = 'String | Optional'
                    AllowedStreamingMediaInput = 'String | Optional'
                    AllowAnonymousUsersToJoinMeeting = 'Boolean | Optional'
                }
            )
            MessagingPolicies = @(
                @{
                    AllowSmartCompose = 'Boolean | Optional'
                    Description = 'String | Optional'
                    AllowMemes = 'Boolean | Optional'
                    AllowUserDeleteChat = 'Boolean | Optional'
                    AllowImmersiveReader = 'Boolean | Optional'
                    AllowPriorityMessages = 'Boolean | Optional'
                    AllowGiphy = 'Boolean | Optional'
                    AllowFluidCollaborate = 'Boolean | Optional'
                    ChannelsInChatListEnabledType = 'String | Optional | DisabledUserOverride / EnabledUserOverride'
                    ReadReceiptsEnabledType = 'String | Optional | UserPreference / Everyone / None'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowOwnerDeleteMessage = 'Boolean | Optional'
                    AllowUserDeleteMessage = 'Boolean | Optional'
                    AllowSmartReply = 'Boolean | Optional'
                    Identity = 'String | Required'
                    AllowCommunicationComplianceEndUserReporting = 'Boolean | Optional'
                    Tenant = 'String | Optional'
                    AudioMessageEnabledType = 'String | Optional | ChatsAndChannels / ChatsOnly / Disabled'
                    AllowUrlPreviews = 'Boolean | Optional'
                    AllowRemoveUser = 'Boolean | Optional'
                    GiphyRatingType = 'String | Optional | STRICT / MODERATE / NORESTRICTION'
                    AllowSecurityEndUserReporting = 'Boolean | Optional'
                    AllowUserEditMessage = 'Boolean | Optional'
                    AllowUserChat = 'Boolean | Optional'
                    AllowStickers = 'Boolean | Optional'
                    AllowUserTranslation = 'Boolean | Optional'
                }
            )
            MobilityPolicies = @(
                @{
                    IPVideoMobileMode = 'String | Optional | WifiOnly / AllNetworks'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    MobileDialerPreference = 'String | Optional'
                    Identity = 'String | Required'
                    IPAudioMobileMode = 'String | Optional | WifiOnly / AllNetworks'
                }
            )
            NetworkRoamingPolicies = @(
                @{
                    AllowIPVideo = 'Boolean | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    MediaBitRateKb = 'UInt64 | Optional'
                    Identity = 'String | Required'
                }
            )
            OnlineVoicemailPolicies = @(
                @{
                    Identity = 'String | Required'
                    EnableTranscriptionTranslation = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    EnableEditingCallAnswerRulesSetting = 'Boolean | Optional'
                    SecondarySystemPromptLanguage = 'String | Optional'
                    EnableTranscriptionProfanityMasking = 'Boolean | Optional'
                    ShareData = 'String | Optional'
                    MaximumRecordingLength = 'String | Optional'
                    PrimarySystemPromptLanguage = 'String | Optional'
                    EnableTranscription = 'Boolean | Optional'
                }
            )
            OnlineVoicemailUserSettingsItems = @(
                @{
                    Identity = 'String | Required'
                    CallAnswerRule = 'String | Optional | DeclineCall / PromptOnly / PromptOnlyWithTransfer / RegularVoicemail / VoicemailWithTransferOption'
                    OofGreetingFollowAutomaticRepliesEnabled = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    DefaultOofGreetingPromptOverwrite = 'String | Optional'
                    OofGreetingEnabled = 'Boolean | Optional'
                    OofGreetingFollowCalendarEnabled = 'Boolean | Optional'
                    ShareData = 'Boolean | Optional'
                    TransferTarget = 'String | Optional'
                    DefaultGreetingPromptOverwrite = 'String | Optional'
                    PromptLanguage = 'String | Optional'
                    VoicemailEnabled = 'Boolean | Optional'
                }
            )
            OnlineVoiceUsers = @(
                @{
                    LocationID = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    TelephoneNumber = 'String | Optional'
                    Identity = 'String | Required'
                }
            )
            PstnUsages = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Usage = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                }
            )
            ShiftsPolicies = @(
                @{
                    EnableScheduleOwnerPermissions = 'Boolean | Optional'
                    ShiftNoticeMessageType = 'String | Optional | DefaultMessage / Message1 / Message2 / Message3 / Message4 / Message5 / Message6 / Message7 / CustomMessage'
                    ShiftNoticeFrequency = 'String | Optional | Always / ShowOnceOnChange / Never'
                    Ensure = 'String | Optional | Present / Absent'
                    AccessType = 'String | Optional | UnrestrictedAccess_TeamsApp'
                    AccessGracePeriodMinutes = 'UInt64 | Optional'
                    Identity = 'String | Required'
                    ShiftNoticeMessageCustom = 'String | Optional'
                    EnableShiftPresence = 'Boolean | Optional'
                }
            )
            Teams = @(
                @{
                    Owner = 'StringArray | Optional'
                    AllowOwnerDeleteMessages = 'Boolean | Optional'
                    Description = 'String | Optional'
                    AllowUserEditMessages = 'Boolean | Optional'
                    DisplayName = 'String | Required'
                    AllowCreateUpdateRemoveTabs = 'Boolean | Optional'
                    ShowInTeamsSearchAndSuggestions = 'Boolean | Optional'
                    AllowDeleteChannels = 'Boolean | Optional'
                    AllowAddRemoveApps = 'Boolean | Optional'
                    AllowGuestCreateUpdateChannels = 'Boolean | Optional'
                    AllowUserDeleteMessages = 'Boolean | Optional'
                    GiphyContentRating = 'String | Optional | Strict / Moderate'
                    Ensure = 'String | Optional | Present / Absent'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    AllowGiphy = 'Boolean | Optional'
                    AllowTeamMentions = 'Boolean | Optional'
                    AllowCreateUpdateChannels = 'Boolean | Optional'
                    AllowChannelMentions = 'Boolean | Optional'
                    GroupID = 'String | Optional'
                    MailNickName = 'String | Optional'
                    AllowCreateUpdateRemoveConnectors = 'Boolean | Optional'
                    AllowCustomMemes = 'Boolean | Optional'
                    Visibility = 'String | Optional | Public / Private / HiddenMembership'
                    AllowStickersAndMemes = 'Boolean | Optional'
                    AllowGuestDeleteChannels = 'Boolean | Optional'
                }
            )
            TemplatesPolicies = @(
                @{
                    HiddenTemplates = 'StringArray | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            TenantDialPlans = @(
                @{
                    OptimizeDeviceDialing = 'Boolean | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    SimpleName = 'String | Optional'
                    Identity = 'String | Required'
                    NormalizationRules = @(
                        @{
                            Description = 'String | Optional'
                            IsInternalExtension = 'Boolean | Optional'
                            Identity = 'String | Optional'
                            Translation = 'String | Optional'
                            Pattern = 'String | Optional'
                            Priority = 'UInt32 | Optional'
                        }
                    )
                    ExternalAccessPrefix = 'String | Optional'
                }
            )
            TenantNetworkRegions = @(
                @{
                    Description = 'String | Optional'
                    CentralSite = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            TenantNetworkSites = @(
                @{
                    LocationPolicy = 'String | Optional'
                    EmergencyCallRoutingPolicy = 'String | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    SiteAddress = 'String | Optional'
                    NetworkRegionID = 'String | Optional'
                    Identity = 'String | Required'
                    NetworkRoamingPolicy = 'String | Optional'
                    EnableLocationBasedRouting = 'Boolean | Optional'
                    EmergencyCallingPolicy = 'String | Optional'
                }
            )
            TenantNetworkSubnets = @(
                @{
                    MaskBits = 'UInt32 | Required'
                    NetworkSiteID = 'String | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            TenantTrustedIPAddresss = @(
                @{
                    MaskBits = 'UInt32 | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            TranslationRules = @(
                @{
                    Translation = 'String | Optional'
                    Description = 'String | Optional'
                    Pattern = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            UnassignedNumberTreatments = @(
                @{
                    Target = 'String | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    TreatmentPriority = 'UInt32 | Optional'
                    Identity = 'String | Required'
                    TargetType = 'String | Optional | User / ResourceAccount / Announcement'
                    Pattern = 'String | Optional'
                }
            )
            UpdateManagementPolicies = @(
                @{
                    AllowPublicPreview = 'String | Optional | Disabled / Enabled / Forced / FollowOfficePreview'
                    UseNewTeamsClient = 'String | Optional | NewTeamsAsDefault / UserChoice / MicrosoftChoice / AdminDisabled'
                    UpdateTime = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowManagedUpdates = 'Boolean | Optional'
                    UpdateDayOfWeek = 'UInt32 | Optional'
                    Identity = 'String | Required'
                    Description = 'String | Optional'
                    AllowPreview = 'Boolean | Optional'
                    UpdateTimeOfDay = 'String | Optional'
                }
            )
            UpgradeConfiguration = @{
                UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                DownloadTeams = 'Boolean | Optional'
                SfBMeetingJoinUx = 'String | Optional | SkypeMeetingsApp / NativeLimitedClient'
            }
            UpgradePolicies = @(
                @{
                    Users = 'StringArray | Optional'
                    MigrateMeetingsToTeams = 'Boolean | Optional'
                    Identity = 'String | Required'
                }
            )
            Users = @(
                @{
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    Role = 'String | Optional | Guest / Member / Owner'
                    TeamName = 'String | Required'
                    Ensure = 'String | Optional | Present / Absent'
                    User = 'String | Required'
                }
            )
            UserPoliciesAssignment = @(
                @{
                    TeamsEmergencyCallRoutingPolicy = 'String | Optional'
                    TeamsUpgradePolicy = 'String | Optional'
                    TeamsMobilityPolicy = 'String | Optional'
                    TeamsEventsPolicy = 'String | Optional'
                    TeamsCallingPolicy = 'String | Optional'
                    TeamsMeetingPolicy = 'String | Optional'
                    TeamsChannelsPolicy = 'String | Optional'
                    TeamsCallParkPolicy = 'String | Optional'
                    User = 'String | Required'
                    TeamsUpdateManagementPolicy = 'String | Optional'
                    UniqueId = 'String | Required | [Unique ID to identify this specific object]'
                    TeamsAppPermissionPolicy = 'String | Optional'
                    TeamsEmergencyCallingPolicy = 'String | Optional'
                    TeamsAppSetupPolicy = 'String | Optional'
                    OnlineVoiceRoutingPolicy = 'String | Optional'
                    CallingLineIdentity = 'String | Optional'
                    TeamsMessagingPolicy = 'String | Optional'
                    TeamsCallHoldPolicy = 'String | Optional'
                    TeamsEnhancedEncryptionPolicy = 'String | Optional'
                    TeamsAudioConferencingPolicy = 'String | Optional'
                    OnlineVoicemailPolicy = 'String | Optional'
                    ExternalAccessPolicy = 'String | Optional'
                    TeamsMeetingBroadcastPolicy = 'String | Optional'
                    TenantDialPlan = 'String | Optional'
                }
            )
            VdiPolicies = @(
                @{
                    DisableCallsAndMeetings = 'Boolean | Optional'
                    DisableAudioVideoInCallsAndMeetings = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            VoiceRoutes = @(
                @{
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                    OnlinePstnGatewayList = 'StringArray | Optional'
                    OnlinePstnUsages = 'StringArray | Optional'
                    Priority = 'UInt32 | Optional'
                    NumberPattern = 'String | Optional'
                }
            )
            VoiceRoutingPolicies = @(
                @{
                    OnlinePstnUsages = 'StringArray | Optional'
                    Description = 'String | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    Identity = 'String | Required'
                }
            )
            WorkloadPolicies = @(
                @{
                    AllowMessagingPinned = 'Boolean | Optional'
                    Description = 'String | Optional'
                    AllowCalling = 'Boolean | Optional'
                    Ensure = 'String | Optional | Present / Absent'
                    AllowCallingPinned = 'Boolean | Optional'
                    AllowMessaging = 'Boolean | Optional'
                    Identity = 'String | Required'
                    AllowMeeting = 'Boolean | Optional'
                    AllowMeetingPinned = 'Boolean | Optional'
                }
            )
        }
    }
}