DSCResources/DSC_SqlAGReplica/DSC_SqlAGReplica.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("SqlAGReplica")]
class DSC_SqlAGReplica : OMI_BaseResource
{
    [Key, Description("The name of the availability group replica. For named instances this must be in the following format `'ServerName\\InstanceName'`.")] String Name;
    [Key, Description("The name of the availability group.")] String AvailabilityGroupName;
    [Required, Description("Hostname of the _SQL Server_ to be configured.")] String ServerName;
    [Key, Description("Name of the _SQL Server_ instance to be configured.")] String InstanceName;
    [Write, Description("Hostname of the _SQL Server_ where the primary replica is expected to be active. If the primary replica is not found here, the resource will attempt to find the host that holds the primary replica and connect to it.")] String PrimaryReplicaServerName;
    [Write, Description("Name of the _SQL Server Database Engine_ instance where the primary replica lives.")] String PrimaryReplicaInstanceName;
    [Write, Description("Specifies if the availability group replica should be present or absent. Default value is `'Present'`."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
    [Write, Description("Specifies the replica availability mode. When creating a replica 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 replica the default is `50`.")] UInt32 BackupPriority;
    [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 which is set in the code because the value can only be determined when connected to the _SQL Server_ instance.")] String EndpointHostName;
    [Write, Description("Specifies the failover mode. When creating a replica the default value is `'Manual'`."), ValueMap{"Automatic","Manual"}, Values{"Automatic","Manual"}] String FailoverMode;
    [Write, Description("Specifies the fully qualified domain name (FQDN) and port to use when routing to the replica for read only connections.")] String ReadOnlyRoutingConnectionUrl;
    [Write, Description("Specifies an ordered list of replica server names that represent the probe sequence for connection director to use when redirecting read-only connections through this availability replica. This parameter applies if the availability replica is the current primary replica of the availability group.")] String ReadOnlyRoutingList[];
    [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 network port the endpoint is listening on.")] Uint16 EndpointPort;
    [Read, Description("Returns the URL of the availability group replica endpoint.")] String EndpointUrl;
    [Read, Description("Returns if the current node is actively hosting the _SQL Server Database Engine_ instance.")] Boolean IsActiveNode;
};