Classes/_Types01.psm1

# GENERATED FILE - do not edit.
# Produced by Utilities/Build-Microsoft365DSC.ps1 from DscResources/MSFT_*.

class MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.azureActiveDirectoryTenant', '#microsoft.graph.crossCloudAzureActiveDirectoryTenant', '#microsoft.graph.domainIdentitySource', '#microsoft.graph.externalDomainFederation')]
    [System.String] $odataType

    [DscProperty()]
    [System.String] $DisplayName

    [DscProperty()]
    [System.String] $ExternalTenantId

    [DscProperty()]
    [System.String] $CloudInstance

    [DscProperty()]
    [System.String] $DomainName

    [DscProperty()]
    [System.String] $IssuerUri
}

class MSFT_AADFilteringPolicyRuleDestination
{
    [DscProperty()]
    [System.String] $name

    [DscProperty()]
    [System.String] $value
}

class MSFT_AADFilteringProfilePolicyLink
{
    [DscProperty()]
    [System.String] $LoggingState

    [DscProperty()]
    [System.Nullable[System.Int64]] $Priority

    [DscProperty()]
    [System.String] $State

    [DscProperty(Mandatory)]
    [System.String] $PolicyName
}

class MSFT_AADGroupLicense
{
    [DscProperty()]
    [System.String[]] $DisabledPlans

    [DscProperty(Mandatory)]
    [System.String] $SkuId
}

class MSFT_AADHomeRealDiscoveryPolicyDefinition
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $AccelerateToFederatedDomain

    [DscProperty()]
    [System.Nullable[System.Boolean]] $AllowCloudPasswordValidation

    [DscProperty()]
    [MSFT_AADHomeRealDiscoveryPolicyDefinitionAlternateIdLogin] $AlternateIdLogin

    [DscProperty()]
    [System.String] $PreferredDomain
}

class MSFT_AADHomeRealDiscoveryPolicyDefinitionAlternateIdLogin
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $Enabled
}

class MSFT_AADIdentityAPIConnectionCertificate
{
    [DscProperty()]
    [System.Management.Automation.PSCredential] $Pkcs12Value

    [DscProperty(Mandatory)]
    [System.String] $Thumbprint

    [DscProperty()]
    [System.Management.Automation.PSCredential] $Password

    [DscProperty()]
    [System.Nullable[System.Boolean]] $IsActive
}

class MSFT_MicrosoftGraphApiAuthenticationConfigurationBase
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.basicAuthentication', '#microsoft.graph.pkcs12Certificate')]
    [System.String] $dataType

    [DscProperty()]
    [System.String] $Username

    [DscProperty()]
    [System.Management.Automation.PSCredential] $Password

    [DscProperty()]
    [MSFT_AADIdentityAPIConnectionCertificate[]] $CertificateList
}

class MSFT_AADIdentityGovernanceLifecycleWorkflowCustomTaskExtensionCallbackConfiguration
{
    [DscProperty()]
    [System.String] $timeoutDuration

    [DscProperty()]
    [System.String[]] $authorizedApps
}

class MSFT_AADIdentityGovernanceLifecycleWorkflowCustomTaskExtensionClientConfiguration
{
    [DscProperty()]
    [System.Nullable[System.UInt32]] $timeoutInMilliseconds

    [DscProperty()]
    [System.Nullable[System.UInt32]] $maximumRetries
}

class MSFT_AADIdentityGovernanceLifecycleWorkflowCustomTaskExtensionEndpointConfiguration
{
    [DscProperty()]
    [System.String] $logicAppWorkflowName

    [DscProperty()]
    [System.String] $resourceGroupName

    [DscProperty()]
    [System.String] $subscriptionId

    [DscProperty()]
    [System.String] $url
}

class MSFT_AADIdentityGovernanceTask
{
    [DscProperty(Mandatory)]
    [System.String] $DisplayName

    [DscProperty()]
    [System.String] $Description

    [DscProperty()]
    [System.String] $Category

    [DscProperty()]
    [System.Nullable[System.Boolean]] $IsEnabled

    [DscProperty()]
    [System.Nullable[System.Int32]] $ExecutionSequence

    [DscProperty()]
    [System.Nullable[System.Boolean]] $ContinueOnError

    [DscProperty()]
    [System.String] $TaskDefinitionId

    [DscProperty()]
    [MSFT_AADIdentityGovernanceTaskArguments[]] $Arguments
}

class MSFT_AADIdentityGovernanceTaskArguments
{
    [DscProperty(Mandatory)]
    [System.String] $Name

    [DscProperty()]
    [System.String] $Value
}

class MSFT_AADMultiTenantOrganizationIdentitySyncPolicyTemplateUserSyncInbound
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $isSyncAllowed
}

class MSFT_AADPermissionGrantConditionSet
{
    [DscProperty()]
    [System.String] $Id

    [DscProperty()]
    [System.Nullable[System.Boolean]] $CertifiedClientApplicationsOnly

    [DscProperty()]
    [System.String[]] $ClientApplicationIds

    [DscProperty()]
    [System.String[]] $ClientApplicationPublisherIds

    [DscProperty()]
    [System.String[]] $ClientApplicationTenantIds

    [DscProperty()]
    [System.Nullable[System.Boolean]] $ClientApplicationsFromVerifiedPublisherOnly

    [DscProperty()]
    [System.String] $PermissionClassification

    [DscProperty()]
    [System.String[]] $Permissions

    [DscProperty()]
    [System.String] $PermissionType

    [DscProperty()]
    [System.String] $ResourceApplication
}

class MSFT_AADRemoteNetworkDeviceLink
{
    [DscProperty(Mandatory)]
    [System.String] $Name

    [DscProperty()]
    [System.String] $IPAddress

    [DscProperty()]
    [System.String] $BandwidthCapacityInMbps

    [DscProperty()]
    [System.String] $DeviceVendor

    [DscProperty()]
    [MSFT_AADRemoteNetworkDeviceLinkbgpConfiguration] $BgpConfiguration

    [DscProperty()]
    [MSFT_AADRemoteNetworkDeviceLinkRedundancyConfiguration] $RedundancyConfiguration

    [DscProperty()]
    [MSFT_AADRemoteNetworkDeviceLinkTunnelConfiguration] $TunnelConfiguration
}

class MSFT_AADRemoteNetworkDeviceLinkbgpConfiguration
{
    [DscProperty()]
    [System.String] $LocalIPAddress

    [DscProperty()]
    [System.String] $PeerIPAddress

    [DscProperty()]
    [System.Nullable[System.UInt32]] $Asn
}

class MSFT_AADRemoteNetworkDeviceLinkRedundancyConfiguration
{
    [DscProperty()]
    [System.String] $ZoneLocalIPAddress

    [DscProperty()]
    [System.String] $RedundancyTier
}

class MSFT_AADRemoteNetworkDeviceLinkTunnelConfiguration
{
    [DscProperty()]
    [System.String] $PreSharedKey

    [DscProperty()]
    [System.String] $ZoneRedundancyPreSharedKey

    [DscProperty()]
    [System.Nullable[System.UInt32]] $SaLifeTimeSeconds

    [DscProperty()]
    [System.String] $IPSecEncryption

    [DscProperty()]
    [System.String] $IPSecIntegrity

    [DscProperty()]
    [System.String] $IKEEncryption

    [DscProperty()]
    [System.String] $IKEIntegrity

    [DscProperty()]
    [System.String] $DHGroup

    [DscProperty()]
    [System.String] $PFSGroup

    [DscProperty()]
    [System.String] $ODataType
}

class MSFT_AADRoleAssignmentScheduleRequestSchedule
{
    [DscProperty()]
    [MSFT_AADRoleAssignmentScheduleRequestScheduleExpiration] $expiration

    [DscProperty()]
    [MSFT_AADRoleAssignmentScheduleRequestScheduleRecurrence] $recurrence

    [DscProperty()]
    [System.String] $startDateTime
}

class MSFT_AADRoleAssignmentScheduleRequestScheduleExpiration
{
    [DscProperty()]
    [System.String] $duration

    [DscProperty()]
    [System.String] $endDateTime

    [DscProperty()]
    [ValidateSet('notSpecified', 'noExpiration', 'afterDateTime', 'afterDuration')]
    [System.String] $type
}

class MSFT_AADRoleAssignmentScheduleRequestScheduleRecurrence
{
    [DscProperty()]
    [MSFT_AADRoleAssignmentScheduleRequestScheduleRecurrencePattern] $pattern

    [DscProperty()]
    [MSFT_AADRoleAssignmentScheduleRequestScheduleRecurrenceRange] $range
}

class MSFT_AADRoleAssignmentScheduleRequestScheduleRecurrencePattern
{
    [DscProperty()]
    [System.Nullable[System.UInt32]] $dayOfMonth

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String[]] $daysOfWeek

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String] $firstDayOfWeek

    [DscProperty()]
    [ValidateSet('first', 'second', 'third', 'fourth', 'last')]
    [System.String] $index

    [DscProperty()]
    [System.Nullable[System.UInt32]] $interval

    [DscProperty()]
    [System.Nullable[System.UInt32]] $month

    [DscProperty()]
    [ValidateSet('daily', 'weekly', 'absoluteMonthly', 'relativeMonthly', 'absoluteYearly', 'relativeYearly')]
    [System.String] $type
}

class MSFT_AADRoleAssignmentScheduleRequestScheduleRecurrenceRange
{
    [DscProperty(Mandatory)]
    [System.Nullable[System.DateTime]] $endDate

    [DscProperty()]
    [System.Nullable[System.UInt32]] $numberOfOccurrences

    [DscProperty()]
    [System.String] $recurrenceTimeZone

    [DscProperty(Mandatory)]
    [System.Nullable[System.DateTime]] $startDate

    [DscProperty(Mandatory)]
    [ValidateSet('endDate', 'noEnd', 'numbered')]
    [System.String] $type
}

class MSFT_AADRoleEligibilityScheduleRequestSchedule
{
    [DscProperty()]
    [MSFT_AADRoleEligibilityScheduleRequestScheduleExpiration] $expiration

    [DscProperty()]
    [MSFT_AADRoleEligibilityScheduleRequestScheduleRecurrence] $recurrence

    [DscProperty()]
    [System.String] $startDateTime
}

class MSFT_AADRoleEligibilityScheduleRequestScheduleExpiration
{
    [DscProperty()]
    [System.String] $duration

    [DscProperty()]
    [System.String] $endDateTime

    [DscProperty()]
    [ValidateSet('notSpecified', 'noExpiration', 'afterDateTime', 'afterDuration')]
    [System.String] $type
}

class MSFT_AADRoleEligibilityScheduleRequestScheduleRecurrence
{
    [DscProperty()]
    [MSFT_AADRoleEligibilityScheduleRequestScheduleRecurrencePattern] $pattern

    [DscProperty()]
    [MSFT_AADRoleEligibilityScheduleRequestScheduleRecurrenceRange] $range
}

class MSFT_AADRoleEligibilityScheduleRequestScheduleRecurrencePattern
{
    [DscProperty()]
    [System.Nullable[System.UInt32]] $dayOfMonth

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String[]] $daysOfWeek

    [DscProperty()]
    [ValidateSet('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday')]
    [System.String] $firstDayOfWeek

    [DscProperty()]
    [ValidateSet('first', 'second', 'third', 'fourth', 'last')]
    [System.String] $index

    [DscProperty()]
    [System.Nullable[System.UInt32]] $interval

    [DscProperty()]
    [System.Nullable[System.UInt32]] $month

    [DscProperty()]
    [ValidateSet('daily', 'weekly', 'absoluteMonthly', 'relativeMonthly', 'absoluteYearly', 'relativeYearly')]
    [System.String] $type
}

class MSFT_AADRoleEligibilityScheduleRequestScheduleRecurrenceRange
{
    [DscProperty(Mandatory)]
    [System.String] $endDate

    [DscProperty()]
    [System.Nullable[System.UInt32]] $numberOfOccurrences

    [DscProperty()]
    [System.String] $recurrenceTimeZone

    [DscProperty(Mandatory)]
    [System.String] $startDate

    [DscProperty(Mandatory)]
    [ValidateSet('endDate', 'noEnd', 'numbered')]
    [System.String] $type
}

class MSFT_AADRoleManagementPolicyApprovalRule
{
    [DscProperty()]
    [MSFT_AADRoleManagementPolicyApprovalSettings] $setting
}

class MSFT_AADRoleManagementPolicyApprovalSettings
{
    [DscProperty()]
    [System.String] $approvalMode

    [DscProperty()]
    [MSFT_AADRoleManagementPolicyApprovalStage[]] $approvalStages

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isApprovalRequired

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isApprovalRequiredForExtension

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isRequestorJustificationRequired
}

class MSFT_AADRoleManagementPolicyApprovalStage
{
    [DscProperty()]
    [System.Nullable[System.UInt32]] $approvalStageTimeOutInDays

    [DscProperty()]
    [System.Nullable[System.UInt32]] $escalationTimeInMinutes

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isApproverJustificationRequired

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isEscalationEnabled

    [DscProperty()]
    [MSFT_AADRoleManagementPolicySubjectSet[]] $escalationApprovers

    [DscProperty()]
    [MSFT_AADRoleManagementPolicySubjectSet[]] $primaryApprovers
}

class MSFT_AADRoleManagementPolicySubjectSet
{
    [DscProperty(Mandatory)]
    [System.String] $odataType
}

class MSFT_AADRoleManagementPolicyAuthenticationContextRule
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $isEnabled

    [DscProperty()]
    [System.String] $claimValue
}

class MSFT_AADRoleManagementPolicyEnablementRule
{
    [DscProperty()]
    [System.String[]] $enabledRules
}

class MSFT_AADRoleManagementPolicyExpirationRule
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $isExpirationRequired

    [DscProperty()]
    [System.String] $maximumDuration
}

class MSFT_AADRoleManagementPolicyNotificationRule
{
    [DscProperty()]
    [System.String] $notificationType

    [DscProperty()]
    [System.String] $recipientType

    [DscProperty()]
    [System.String] $notificationLevel

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isDefaultRecipientsEnabled

    [DscProperty()]
    [System.String[]] $notificationRecipients
}

class MSFT_AADServicePrincipalAttributeSet
{
    [DscProperty(Mandatory)]
    [System.String] $AttributeSetName

    [DscProperty()]
    [MSFT_AADServicePrincipalAttributeValue[]] $AttributeValues
}

class MSFT_AADServicePrincipalAttributeValue
{
    [DscProperty(Mandatory)]
    [System.String] $AttributeName

    [DscProperty()]
    [System.String[]] $StringArrayValue

    [DscProperty()]
    [System.UInt32[]] $IntArrayValue

    [DscProperty()]
    [System.String] $StringValue

    [DscProperty()]
    [System.Nullable[System.UInt32]] $IntValue

    [DscProperty()]
    [System.Nullable[System.Boolean]] $BoolValue
}

class MSFT_AADServicePrincipalClaimsPolicy
{
    [DscProperty()]
    [System.String] $audienceOverride

    [DscProperty()]
    [MSFT_AADServicePrincipalCustomClaim[]] $Claims

    [DscProperty()]
    [MSFT_AADServicePrincipalClaimsPolicyGroupFilter] $GroupFilter

    [DscProperty()]
    [System.Nullable[System.Boolean]] $includeApplicationIdInIssuer

    [DscProperty()]
    [System.Nullable[System.Boolean]] $includeBasicClaimSet
}

class MSFT_AADServicePrincipalClaimsPolicyGroupFilter
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.groupClaimFilter')]
    [System.String] $odataType

    [DscProperty()]
    [ValidateSet('prefix', 'suffix', 'contains')]
    [System.String] $type

    [DscProperty()]
    [ValidateSet('displayName', 'samAccountName')]
    [System.String] $matchOn

    [DscProperty()]
    [System.String] $value
}

class MSFT_AADServicePrincipalCustomClaim
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.customClaim', '#microsoft.graph.samlNameIdClaim')]
    [System.String] $odataType

    [DscProperty()]
    [MSFT_AADServicePrincipalCustomClaimConfiguration[]] $configurations

    [DscProperty()]
    [System.String] $name

    [DscProperty()]
    [System.String] $namespace

    [DscProperty()]
    [ValidateSet('unspecified', 'uri', 'basic')]
    [System.String] $samlAttributeNameFormat

    [DscProperty()]
    [ValidateSet('saml', 'jwt')]
    [System.String[]] $tokenFormat

    [DscProperty()]
    [ValidateSet('default', 'unspecified', 'emailAddress', 'windowsDomainQualifiedName', 'persistent')]
    [System.String] $nameIdFormat

    [DscProperty()]
    [System.String] $serviceProviderNameQualifier
}

class MSFT_AADServicePrincipalCustomClaimAttribute
{
    [DscProperty(Mandatory)]
    [ValidateSet('#microsoft.graph.sourcedAttribute', '#microsoft.graph.valueBasedAttribute')]
    [System.String] $odataType

    [DscProperty()]
    [System.String] $id

    [DscProperty()]
    [System.Nullable[System.Boolean]] $isExtensionAttribute

    [DscProperty()]
    [System.String] $source

    [DscProperty()]
    [System.String] $value
}

class MSFT_AADServicePrincipalCustomClaimCondition
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.customClaimCondition')]
    [System.String] $odataType

    [DscProperty()]
    [System.String[]] $memberOf

    [DscProperty()]
    [ValidateSet('any', 'members', 'allGuests', 'aadGuests', 'externalGuests')]
    [System.String] $userType
}

class MSFT_AADServicePrincipalCustomClaimConfiguration
{
    [DscProperty()]
    [MSFT_AADServicePrincipalCustomClaimAttribute] $attribute

    [DscProperty()]
    [MSFT_AADServicePrincipalCustomClaimCondition] $condition

    [DscProperty()]
    [MSFT_AADServicePrincipalCustomClaimTransformation[]] $transformations
}

class MSFT_AADServicePrincipalCustomClaimTransformation
{
    [DscProperty()]
    [ValidateSet('#microsoft.graph.regexReplaceTransformation')]
    [System.String] $odataType

    [DscProperty()]
    [System.String] $regex

    [DscProperty()]
    [System.String] $replacement

    [DscProperty()]
    [System.String[]] $additionalAttributes

    [DscProperty()]
    [MSFT_AADServicePrincipalTransformationAttribute] $input
}

class MSFT_AADServicePrincipalTransformationAttribute
{
    [DscProperty()]
    [System.Nullable[System.Boolean]] $treatAsMultiValue

    [DscProperty()]
    [MSFT_AADServicePrincipalCustomClaimAttribute] $attribute
}

class MSFT_AADServicePrincipalDelegatedPermissionClassification
{
    [DscProperty()]
    [ValidateSet('low', 'medium', 'high')]
    [System.String] $Classification

    [DscProperty(Mandatory)]
    [System.String] $PermissionName
}

class MSFT_AADServicePrincipalRoleAssignment
{
    [DscProperty(Mandatory)]
    [ValidateSet('Group', 'User')]
    [System.String] $PrincipalType

    [DscProperty(Mandatory)]
    [System.String] $Identity
}

class MSFT_AADTenantAppManagementPolicyRestrictions
{
    [DscProperty()]
    [MSFT_AADTenantAppManagementPolicyRestrictionsCredential[]] $KeyCredentials

    [DscProperty()]
    [MSFT_AADTenantAppManagementPolicyRestrictionsCredential[]] $PasswordCredentials
}

class MSFT_AADTenantAppManagementPolicyRestrictionsCredential
{
    [DscProperty()]
    [System.String[]] $CertificateBasedApplicationConfigurationIds

    [DscProperty()]
    [System.String] $MaxLifetime

    [DscProperty()]
    [System.String] $RestrictForAppsCreatedAfterDateTime

    [DscProperty(Mandatory)]
    [System.String] $RestrictionType

    [DscProperty()]
    [System.String] $State
}

class MSFT_AADUserAttributeSet
{
    [DscProperty(Mandatory)]
    [System.String] $AttributeSetName

    [DscProperty()]
    [MSFT_AADUserAttributeValue[]] $AttributeValues
}

class MSFT_AADUserAttributeValue
{
    [DscProperty(Mandatory)]
    [System.String] $AttributeName

    [DscProperty()]
    [System.String[]] $StringArrayValue

    [DscProperty()]
    [System.UInt32[]] $IntArrayValue

    [DscProperty()]
    [System.String] $StringValue

    [DscProperty()]
    [System.Nullable[System.UInt32]] $IntValue

    [DscProperty()]
    [System.Nullable[System.Boolean]] $BoolValue
}

class MSFT_AADUserOnPremisesExtensionAttributes
{
    [DscProperty()]
    [System.String] $ExtensionAttribute1

    [DscProperty()]
    [System.String] $ExtensionAttribute2

    [DscProperty()]
    [System.String] $ExtensionAttribute3

    [DscProperty()]
    [System.String] $ExtensionAttribute4

    [DscProperty()]
    [System.String] $ExtensionAttribute5

    [DscProperty()]
    [System.String] $ExtensionAttribute6

    [DscProperty()]
    [System.String] $ExtensionAttribute7

    [DscProperty()]
    [System.String] $ExtensionAttribute8

    [DscProperty()]
    [System.String] $ExtensionAttribute9

    [DscProperty()]
    [System.String] $ExtensionAttribute10

    [DscProperty()]
    [System.String] $ExtensionAttribute11

    [DscProperty()]
    [System.String] $ExtensionAttribute12

    [DscProperty()]
    [System.String] $ExtensionAttribute13

    [DscProperty()]
    [System.String] $ExtensionAttribute14

    [DscProperty()]
    [System.String] $ExtensionAttribute15
}

class MSFT_AADVerifiedIdAuthorityContractAttestations
{
    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractAttestationValues[]] $idTokenHints

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractAttestationValues[]] $idTokens

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractAttestationValues[]] $presentations

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractAttestationValues[]] $selfIssued

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractAttestationValues[]] $accessTokens
}

class MSFT_AADVerifiedIdAuthorityContractAttestationValues
{
    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractClaimMapping[]] $mapping

    [DscProperty()]
    [System.Nullable[System.Boolean]] $required

    [DscProperty()]
    [System.String[]] $trustedIssuers

    [DscProperty()]
    [System.String] $credentialType

    [DscProperty()]
    [System.String] $configuration

    [DscProperty()]
    [System.String] $clientId

    [DscProperty()]
    [System.String] $redirectUri

    [DscProperty()]
    [System.String] $scopeValue
}

class MSFT_AADVerifiedIdAuthorityContractClaimMapping
{
    [DscProperty()]
    [System.String] $inputClaim

    [DscProperty()]
    [System.String] $outputClaim

    [DscProperty()]
    [System.Nullable[System.Boolean]] $indexed

    [DscProperty()]
    [System.Nullable[System.Boolean]] $required

    [DscProperty()]
    [System.String] $type
}

class MSFT_AADVerifiedIdAuthorityContractCustomStatusEndpoint
{
    [DscProperty()]
    [System.String] $url

    [DscProperty()]
    [System.String] $type
}

class MSFT_AADVerifiedIdAuthorityContractRulesModel
{
    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractAttestations] $attestations

    [DscProperty()]
    [System.Nullable[System.UInt32]] $validityInterval

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractVcType] $vc

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractCustomStatusEndpoint] $customStatusEndpoint
}

class MSFT_AADVerifiedIdAuthorityContractVcType
{
    [DscProperty()]
    [System.String[]] $type
}

class MSFT_AADVerifiedIdAuthorityContractDisplayCard
{
    [DscProperty()]
    [System.String] $title

    [DscProperty()]
    [System.String] $issuedBy

    [DscProperty()]
    [System.String] $backgroundColor

    [DscProperty()]
    [System.String] $textColor

    [DscProperty()]
    [System.String] $description

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractDisplayCredentialLogo] $logo
}

class MSFT_AADVerifiedIdAuthorityContractDisplayClaims
{
    [DscProperty()]
    [System.String] $label

    [DscProperty()]
    [System.String] $claim

    [DscProperty()]
    [System.String] $type

    [DscProperty()]
    [System.String] $description
}

class MSFT_AADVerifiedIdAuthorityContractDisplayConsent
{
    [DscProperty()]
    [System.String] $title

    [DscProperty()]
    [System.String] $instructions
}

class MSFT_AADVerifiedIdAuthorityContractDisplayCredentialLogo
{
    [DscProperty()]
    [System.String] $uri

    [DscProperty()]
    [System.String] $description
}

class MSFT_AADVerifiedIdAuthorityContractDisplayModel
{
    [DscProperty()]
    [System.String] $locale

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractDisplayCard] $card

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractDisplayConsent] $consent

    [DscProperty()]
    [MSFT_AADVerifiedIdAuthorityContractDisplayClaims[]] $claims
}

class MSFT_AADVerifiedIdAuthorityKeyVaultMetadata
{
    [DscProperty()]
    [System.String] $SubscriptionId

    [DscProperty()]
    [System.String] $ResourceGroup

    [DscProperty()]
    [System.String] $ResourceName

    [DscProperty()]
    [System.String] $ResourceUrl
}