DSCResources/DSC_SqlAG/DSC_SqlAG.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("SqlAG")]
class DSC_SqlAG : OMI_BaseResource
{
    [Key, Description("Specifies the name of the availability group.")] String Name;
    [Required, Description("Hostname of the SQL Server to be configured.")] String ServerName;
    [Key, Description("Name of the SQL instance to be configured.")] String InstanceName;
    [Write, Description("Specifies if the availability group should be present or absent. Default value is `'Present'`."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
    [Write, Description("Specifies the automated backup preference for the availability group. When creating a group the default is `'None'`."), ValueMap{"Primary","SecondaryOnly","Secondary","None"}, Values{"Primary","SecondaryOnly","Secondary","None"}] String AutomatedBackupPreference;
    [Write, Description("Specifies the replica availability mode. When creating a group the default is `'AsynchronousCommit'`."), ValueMap{"AsynchronousCommit","SynchronousCommit"}, Values{"AsynchronousCommit","SynchronousCommit"}] String AvailabilityMode;
    [Write, Description("Specifies the desired priority of the replicas in performing backups. The acceptable values for this parameter are: integers from `0` through `100`. Of the set of replicas which are online and available, the replica that has the highest priority performs the backup. When creating a group the default is `50`.")] UInt32 BackupPriority;
    [Write, Description("Specifies the type of availability group is Basic. This is only available is _SQL Server 2016_ and later and is ignored when applied to previous versions.")] Boolean BasicAvailabilityGroup;
    [Write, Description("Specifies if the option _Database Level Health Detection_ is enabled. This is only available is _SQL Server 2016_ and later and is ignored when applied to previous versions.")] Boolean DatabaseHealthTrigger;
    [Write, Description("Specifies if the option _Database DTC Support_ is enabled. This is only available is _SQL Server 2016_ and later and is ignored when applied to previous versions. This can not be altered once the availability group is created and is ignored if it is the case.")] Boolean DtcSupportEnabled;
    [Write, Description("Specifies how the availability replica handles connections when in the primary role."), ValueMap{"AllowAllConnections","AllowReadWriteConnections"}, Values{"AllowAllConnections","AllowReadWriteConnections"}] String ConnectionModeInPrimaryRole;
    [Write, Description("Specifies how the availability replica handles connections when in the secondary role."), ValueMap{"AllowNoConnections","AllowReadIntentConnectionsOnly","AllowAllConnections"}, Values{"AllowNoConnections","AllowReadIntentConnectionsOnly","AllowAllConnections"}] String ConnectionModeInSecondaryRole;
    [Write, Description("Specifies the hostname or IP address of the availability group replica endpoint. When creating a group the default is the instance network name.")] String EndpointHostName;
    [Write, Description("Specifies the automatic failover behavior of the availability group."), ValueMap{"OnServerDown","OnServerUnresponsive","OnCriticalServerErrors","OnModerateServerErrors","OnAnyQualifiedFailureCondition"}, Values{"OnServerDown","OnServerUnresponsive","OnCriticalServerErrors","OnModerateServerErrors","OnAnyQualifiedFailureCondition"}] String FailureConditionLevel;
    [Write, Description("Specifies the failover mode. When creating a group the default is `'Manual'`."), ValueMap{"Automatic","Manual"}, Values{"Automatic","Manual"}] String FailoverMode;
    [Write, Description("Specifies the seeding mode. When creating a group the default is `'Manual`'."), ValueMap{"Automatic","Manual"}, Values{"Automatic","Manual"}] String SeedingMode;
    [Write, Description("Specifies the length of time, in milliseconds, after which _AlwaysOn Availability Groups_ declare an unresponsive server to be unhealthy. When creating a group the default is `30000`.")] UInt32 HealthCheckTimeout;
    [Write, Description("Specifies that the resource will only determine if a change is needed if the target node is the active host of the _SQL Server_ instance.")] Boolean ProcessOnlyOnActiveNode;
    [Read, Description("Returns the URL of the availability group replica endpoint.")] String EndpointUrl;
    [Read, Description("Returns the port the database mirroring endpoint is listening on.")] UInt32 EndpointPort;
    [Read, Description("Returns the major version of the _SQL Server_ instance.")] UInt32 Version;
    [Read, Description("Returns if the current node is actively hosting the _SQL Server_ instance.")] Boolean IsActiveNode;
};