DSCResources/MSFT_SPUserProfileProperty/MSFT_SPUserProfileProperty.schema.mof

[ClassVersion("1.0.0.0")]
class MSFT_SPUserProfilePropertyMapping
{
    [Required, Description("The name of the UPS connect to map this property to")] string ConnectionName;
    [Required, Description("The name of the property from the UPS connection to map to")] string PropertyName;
    [Required, Description("The direction of the mapping, either Import or Export"), ValueMap{"Import","Export"}, Values{"Import","Export"}] string Direction;
};

[ClassVersion("1.0.0.0"), FriendlyName("SPUserProfileProperty")]
class MSFT_SPUserProfileProperty : OMI_BaseResource
{
    [Key, Description("The internal name of the user profile property")] string Name;
    [Write, Description("Present if the property should exist, absent if it should be removed"), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure;
    [Required, Description("The name of the user profile service application")] string UserProfileService;
    [Write, Description("The display name of the property")] string DisplayName;
    [Write, Description("The type of the property"), ValueMap{"Big Integer","Binary","Boolean","Date","DateNoYear","Date Time","Email","Float","HTML","Integer","Person","String (Single Value)","String (Multi Value)","TimeZone","Unique Identifier","URL"}, Values{"Big Integer","Binary","Boolean","Date","DateNoYear","Date Time","Email","Float","HTML","Integer","Person","String (Single Value)","String (Multi Value)","TimeZone","Unique Identifier","URL"}] string Type;
    [Write, Description("The description of the property")] string Description;
    [Write, Description("The policy setting to apply to the property"), ValueMap{"Mandatory","Optin","Optout","Disabled"}, Values{"Mandatory","Optin","Optout","Disabled"}] string PolicySetting;
    [Write, Description("The privacy setting for the property"), ValueMap{"Public","Contacts","Organization","Manager","Private"}, Values{"Public","Contacts","Organization","Manager","Private"}] string PrivacySetting;
    [Write, Description("The details about the property mapping"), EmbeddedInstance("MSFT_SPUserProfilePropertyMapping")] string PropertyMappings[];
    [Write, Description("The length of the field")] uint32 Length;
    [Write, Description("The display order to put the property in to the list at")] uint32 DisplayOrder;
    [Write, Description("Is this field used for event logging")] boolean IsEventLog;
    [Write, Description("Is this field visible when editing a users profile, or hidden from editing")] boolean IsVisibleOnEditor;
    [Write, Description("Is this field visible when viewing a users profile")] boolean IsVisibleOnViewer;
    [Write, Description("Is this field able to be edited by a user, or only an administrator")] boolean IsUserEditable;
    [Write, Description("Is this field an alias that can be used to refer to a user by")] boolean IsAlias;
    [Write, Description("Is this field able to be searched upon")] boolean IsSearchable;
    [Write, Description("Is this field replicated to Microsoft SharePoint Foundation 2010 sites")] boolean IsReplicable;
    [Write, Description("Can users override the default privacy policy")] boolean UserOverridePrivacy;
    [Write, Description("The name of the term store to look up managed terms from")] string TermStore;
    [Write, Description("The name of the term store group that terms are in for this field")] string TermGroup;
    [Write, Description("The name of the term set to allow values to be selected from")] string TermSet;
    [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] string InstallAccount;
};