DSCResources/MSFT_EXOClientAccessRule/MSFT_EXOClientAccessRule.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("EXOClientAccessRule")]
class MSFT_EXOClientAccessRule : OMI_BaseResource
{
    [Key, Description("The Identity parameter specifies the client access rule that you want to modify.")] String Identity;
    [Required, Description("The Action parameter specifies the action for the client access rule. Valid values for this parameter are AllowAccess and DenyAccess."), ValueMap{"AllowAccess","DenyAccess"}, Values{"AllowAccess","DenyAccess"}] String Action;
    [Write, Description("The AnyOfAuthenticationTypes parameter specifies a condition for the client access rule that is based on the client's authentication type. Valid values for this parameter are AdfsAuthentication, BasicAuthentication, CertificateBasedAuthentication, NonBasicAuthentication, OAuthAuthentication."), ValueMap{"AdfsAuthentication","BasicAuthentication","CertificateBasedAuthentication","NonBasicAuthentication","OAuthAuthentication"}, Values{"AdfsAuthentication","BasicAuthentication","CertificateBasedAuthentication","NonBasicAuthentication","OAuthAuthentication"}] String AnyOfAuthenticationTypes[];
    [Write, Description("The AnyOfClientIPAddressesOrRanges parameter specifies a condition for the client access rule that is based on the client's IP address. Valid values for this parameter are: A single IP address, an IP address range, a CIDR IP.")] String AnyOfClientIPAddressesOrRanges[];
    [Write, Description("The AnyOfProtocols parameter specifies a condition for the client access rule that is based on the client's protocol. Valid values for this parameter are ExchangeActiveSync,ExchangeAdminCenter,ExchangeWebServices,IMAP4,OfflineAddressBook,OutlookAnywhere,OutlookWebApp,POP3,PowerShellWebServices,RemotePowerShell,REST,UniversalOutlook."), ValueMap{"ExchangeActiveSync","ExchangeAdminCenter","ExchangeWebServices","IMAP4","OfflineAddressBook","OutlookAnywhere","OutlookWebApp","POP3","PowerShellWebServices","RemotePowerShell","REST","UniversalOutlook"}, Values{"ExchangeActiveSync","ExchangeAdminCenter","ExchangeWebServices","IMAP4","OfflineAddressBook","OutlookAnywhere","OutlookWebApp","POP3","PowerShellWebServices","RemotePowerShell","REST","UniversalOutlook"}] String AnyOfProtocols[];
    [Write, Description("The Enabled parameter specifies whether the client access rule is enabled or disabled. Default is $true.")] Boolean Enabled;
    [Write, Description("The ExceptAnyOfAuthenticationTypes parameter specifies an exception for the client access rule that is based on the client's authentication type. Valid values for this parameter are AdfsAuthentication, BasicAuthentication, CertificateBasedAuthentication, NonBasicAuthentication, OAuthAuthentication."), ValueMap{"AdfsAuthentication","BasicAuthentication","CertificateBasedAuthentication","NonBasicAuthentication","OAuthAuthentication"}, Values{"AdfsAuthentication","BasicAuthentication","CertificateBasedAuthentication","NonBasicAuthentication","OAuthAuthentication"}] String ExceptAnyOfAuthenticationTypes[];
    [Write, Description("The ExceptAnyOfClientIPAddressesOrRanges parameter specifies an exception for the client access rule that is based on the client's IP address. Valid values for this parameter are: A single IP address, an IP address range, a CIDR IP.")] String ExceptAnyOfClientIPAddressesOrRanges[];
    [Write, Description("The ExceptAnyOfProtocols parameter specifies an exception for the client access rule that is based on the client's protocol. Valid values for this parameter are ExchangeActiveSync,ExchangeAdminCenter,ExchangeWebServices,IMAP4,OfflineAddressBook,OutlookAnywhere,OutlookWebApp,POP3,PowerShellWebServices,RemotePowerShell,REST,UniversalOutlook."), ValueMap{"ExchangeActiveSync","ExchangeAdminCenter","ExchangeWebServices","IMAP4","OfflineAddressBook","OutlookAnywhere","OutlookWebApp","POP3","PowerShellWebServices","RemotePowerShell","REST","UniversalOutlook"}, Values{"ExchangeActiveSync","ExchangeAdminCenter","ExchangeWebServices","IMAP4","OfflineAddressBook","OutlookAnywhere","OutlookWebApp","POP3","PowerShellWebServices","RemotePowerShell","REST","UniversalOutlook"}] String ExceptAnyOfProtocols[];
    [Write, Description("The ExceptUsernameMatchesAnyOfPatterns parameter specifies an exception for the client access rule that is based on the user's account name.")] String ExceptUsernameMatchesAnyOfPatterns[];
    [Write, Description("The Priority parameter specifies a priority value for the client access rule. A lower integer value indicates a higher priority, and a higher priority rule is evaluated before a lower priority rule. The default value is 1.")] uint32 Priority;
    [Write, Description("The RuleScope parameter specifies the scope of the client access rule. Valid values are All and Users"), ValueMap{"All","Users"}, Values{"All","Users"}] String RuleScope;
    [Write, Description("The UserRecipientFilter parameter specifies a condition for the client access rule that uses OPath filter syntax to identify the user.")] String UserRecipientFilter;
    [Write, Description("The UsernameMatchesAnyOfPatterns parameter specifies a condition for the client access rule that is based on the user's account name.")] String UsernameMatchesAnyOfPatterns[];
    [Write, Description("Specifies if this Client Access Rule should exist."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
    [Write, Description("Credentials of the Exchange Global 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("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Username can be made up to anything but password will be used for CertificatePassword"), EmbeddedInstance("MSFT_Credential")] String CertificatePassword;
    [Write, Description("Path to certificate used in service principal usually a PFX file.")] String CertificatePath;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
};