DSCResources/MSFT_SPWebAppGeneralSettings/MSFT_SPWebAppGeneralSettings.schema.mof

/*
**Description**
 
This resource is responsible for setting web application settings that are found under the "general settings" screen in central admin.
The web application is specified through the URL property, and then any combination of settings can be applied.
Any settings not included will be left as the default (or whatever they have been manually changed to within SharePoint).
 
**Example**
 
    SPWebAppGeneralSettings PrimaryWebAppGeneralSettings
    {
        Url = "Shttp://exmaple.contoso.local"
        TimeZone = 76
        Alerts = $true
        RSS = $false
        PsDscRunAsCredential = $InstallAccount
    }
*/
[ClassVersion("1.0.0"), FriendlyName("SPWebAppGeneralSettings")]
class MSFT_SPWebAppGeneralSettings : OMI_BaseResource
{
    [Key, Description("The URL of the web app to set the general settings for")] string Url;
    [Write, Description("The timezone code to use for this web app. A full list is at https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.spregionalsettings.timezones.aspx")] uint32 TimeZone;
    [Write, Description("Should alerts be enabled for this web app")] boolean Alerts;
    [Write, Description("What is the maximum number of alerts that a user can create in this web app")] uint32 AlertsLimit;
    [Write, Description("Should RSS feeds be enabled in this web app")] boolean RSS;
    [Write, Description("Should the Blog API be enabled in this web app")] boolean BlogAPI;
    [Write, Description("Is authentication required for the blog API")] boolean BlogAPIAuthenticated;
    [Write, Description("What file handling mode should be used in this web app - strict or permissive"), ValueMap{"Strict","Permissive"}, Values{"Strict","Permissive"}] String BrowserFileHandling;
    [Write, Description("Is security validation enforced in this web app")] boolean SecurityValidation;
    [Write, Description("Does security validation expire after a set time")] boolean SecurityValidationExpires;
    [Write, Description("Number of minutes security validation will expire if securityvalidationexpires is set")] uint32 SecurityValidationTimeOutMinutes;
    [Write, Description("Is the recycle bin enabled in this web application")] boolean RecycleBinEnabled;
    [Write, Description("Is automatic cleanup of the recycle bin enabled in this web app")] boolean RecycleBinCleanupEnabled;
    [Write, Description("How many days does the recycle bin keep content for")] uint32 RecycleBinRetentionPeriod;
    [Write, Description("How much content does the second stage recycle bin keep content for")] uint32 SecondStageRecycleBinQuota;
    [Write, Description("What is the maximum file upload size for this web app (in MB)")] uint32 MaximumUploadSize;
    [Write, Description("Should the customer experience program be enabled in this web app")] boolean CustomerExperienceProgram;
    [Write, Description("Should the Online WebPart Gallery be enabled for this web app")] boolean AllowOnlineWebPartCatalog;
    [Write, Description("Should Self Service Site Creation be enabled")] boolean SelfServiceSiteCreationEnabled;
    [Write, Description("Is Skype for Business presence enabled for this web app")] boolean PresenceEnabled;
    [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsAccount if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] string InstallAccount;
};