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;
    [Required, Description("Credentials of the Exchange Global Admin"), EmbeddedInstance("MSFT_Credential")] String GlobalAdminAccount;
};