DSCResources/MSFT_AADCrossTenantAccessPolicyConfigurationDefault/MSFT_AADCrossTenantAccessPolicyConfigurationDefault.schema.mof

[ClassVersion("1.0.0")]
class MSFT_AADCrossTenantAccessPolicyTarget
{
    [Write, Description("The unique identifier of the user, group, or application; one of the following keywords: AllUsers and AllApplications; or for targets that are applications, you may use reserved values.")] String Target;
    [Write, Description("The type of resource that you want to target. The possible values are: user, group, application, unknownFutureValue."), ValueMap{"user","group","application","unknownFutureValue"}, Values{"user","group","application","unknownFutureValue"}] String TargetType;
};
 
[ClassVersion("1.0.0")]
class MSFT_AADCrossTenantAccessPolicyTargetConfiguration
{
    [Write, Description("Defines whether access is allowed or blocked. The possible values are: allowed, blocked, unknownFutureValue."), ValueMap{"allowed","blocked","unknownFutureValue"}, Values{"allowed","blocked","unknownFutureValue"}] String AccessType;
    [Write, Description("Specifies whether to target users, groups, or applications with this rule."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyTarget")] String Targets[];
};
 
[ClassVersion("1.0.0")]
class MSFT_AADCrossTenantAccessPolicyB2BSetting
{
    [Write, Description("The list of applications targeted with your cross-tenant access policy."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyTargetConfiguration")] String Applications;
    [Write, Description("The list of users and groups targeted with your cross-tenant access policy."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyTargetConfiguration")] String UsersAndGroups;
};
 
[ClassVersion("1.0.0")]
class MSFT_AADCrossTenantAccessPolicyInboundTrust
{
    [Write, Description("Specifies whether compliant devices from external Azure AD organizations are trusted.")] Boolean IsCompliantDeviceAccepted;
    [Write, Description("Specifies whether hybrid Azure AD joined devices from external Azure AD organizations are trusted.")] Boolean IsHybridAzureADJoinedDeviceAccepted;
    [Write, Description("Specifies whether MFA from external Azure AD organizations is trusted.")] Boolean IsMfaAccepted;
};
 
[ClassVersion("1.0.0")]
class MSFT_AADDefaultInvitationRedemptionIdentityProviderConfiguration
{
    [Write, Description("Collection of identity providers in priority order of preference to be used for guest invitation redemption. The possible values are: azureActiveDirectory, externalFederation, or socialIdentityProviders."), ValueMap{"azureActiveDirectory","externalFederation","socialIdentityProviders"}, Values{"azureActiveDirectory","externalFederation","socialIdentityProviders"}] String PrimaryIdentityProviderPrecedenceOrder[];
    [Write, Description("The fallback identity provider to be used in case no primary identity provider can be used for guest invitation redemption. The possible values are: defaultConfiguredIdp, emailOneTimePasscode, or microsoftAccount."), ValueMap{"defaultConfiguredIdp","emailOneTimePasscode","microsoftAccount"}, Values{"defaultConfiguredIdp","emailOneTimePasscode","microsoftAccount"}] String FallbackIdentityProvider;
};
 
[ClassVersion("1.0.0")]
class MSFT_AADDevicesFilter
{
    [Write, Description("Determines whether devices that satisfy the rule should be allowed or blocked. The possible values are: allowed, blocked."), ValueMap{"allowed","blocked"}, Values{"allowed","blocked"}] String Mode;
    [Write, Description("Defines the rule to filter the devices. For example, 'device.deviceAttribute2 -eq 'PrivilegedAccessWorkstation'.")] String Rule;
};
 
[ClassVersion("1.0.0")]
class MSFT_AADCrossTenantAccessPolicyTenantRestrictions
{
    [Write, Description("The list of applications targeted with your cross-tenant access policy."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyTargetConfiguration")] String Applications;
    [Write, Description("Defines the rule for filtering devices and whether devices satisfying the rule should be allowed or blocked. This property isn't supported on the server side yet."), EmbeddedInstance("MSFT_AADDevicesFilter")] String Devices;
    [Write, Description("The list of users and groups targeted with your cross-tenant access policy."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyTargetConfiguration")] String UsersAndGroups;
};
 
[ClassVersion("1.0.0.1"), FriendlyName("AADCrossTenantAccessPolicyConfigurationDefault")]
class MSFT_AADCrossTenantAccessPolicyConfigurationDefault : OMI_BaseResource
{
    [Key, Description("Only valid value is 'Yes'."), ValueMap{"Yes"}, Values{"Yes"}] String IsSingleInstance;
    [Write, Description("Defines your partner-specific configuration for users from other organizations accessing your resources via Azure AD B2B collaboration."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyB2BSetting")] String B2BCollaborationInbound;
    [Write, Description("Defines your partner-specific configuration for users in your organization going outbound to access resources in another organization via Azure AD B2B collaboration."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyB2BSetting")] String B2BCollaborationOutbound;
    [Write, Description("Defines your partner-specific configuration for users from other organizations accessing your resources via Azure AD B2B direct connect."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyB2BSetting")] String B2BDirectConnectInbound;
    [Write, Description("Defines your partner-specific configuration for users in your organization going outbound to access resources in another organization via Azure AD B2B direct connect."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyB2BSetting")] String B2BDirectConnectOutbound;
    [Write, Description("Determines the partner-specific configuration for trusting other Conditional Access claims from external Azure AD organizations."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyInboundTrust")] String InboundTrust;
    [Write, Description("Defines the priority order based on which an identity provider is selected during invitation redemption for a guest user."), EmbeddedInstance("MSFT_AADDefaultInvitationRedemptionIdentityProviderConfiguration")] String InvitationRedemptionIdentityProviderConfiguration;
    [Write, Description("Defines the default tenant restrictions configuration for users in your organization who access an external organization on your network or devices."), EmbeddedInstance("MSFT_AADCrossTenantAccessPolicyTenantRestrictions")] String TenantRestrictions;
    [Write, Description("Specify if the instance should exist or not."), ValueMap{"Present"}, Values{"Present"}] String Ensure;
    [Write, Description("Credentials of the Admin"), EmbeddedInstance("MSFT_Credential")] string Credential;
    [Write, Description("Id of the Azure Active Directory application to authenticate with.")] String ApplicationId;
    [Write, Description("Id of the Azure Active Directory tenant used for authentication.")] String TenantId;
    [Write, Description("Secret of the Azure Active Directory tenant used for authentication."), EmbeddedInstance("MSFT_Credential")] String ApplicationSecret;
    [Write, Description("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
};