
    Vh                         d Z dZdZy)af  
---
module: ag_replica
short_description: Configures an availability group replica
description:
  - Configures an availability group replica.
version_added: 0.5.0
options:
  sql_instance_replica:
    description:
      - The SQL Server instance where of the replica to be configured.
    type: str
    required: true
  sql_username_replica:
    description:
      - Username for SQL Authentication for the secondary replica.
    type: str
    required: false
  sql_password_replica:
    description:
      - Password for SQL Authentication for the secondary replica.
    type: str
    required: false
  ag_name:
    description:
      - Name of the Availability Group that will have the new replica joined to it.
    type: str
    required: true
  endpoint:
    description:
      - By default, this command will attempt to find a DatabaseMirror endpoint. If one does not exist, it will create it.
    type: str
    required: false
    default: 'hadr_endpoint'
  endpoint_url:
    description:
      - By default, the property C(Fqdn) of C(Get-DbaEndpoint) is used as I(endpoint_url).
        Use I(endpoint_url) if a different URL is required due to special network configurations.
    type: str
    required: false
  backup_priority:
    description:
      - Sets the backup priority availability group replica.
    type: int
    default: 50
  failover_mode:
    description:
      - Whether the replica have Automatic or Manual failover.
    type: str
    required: false
    default: 'Manual'
    choices: ['Automatic', 'Manual']
  availability_mode:
    description:
      - Whether the replica should be Asynchronous or Synchronous.
    type: str
    required: false
    default: 'AsynchronousCommit'
    choices: ['AsynchronousCommit', 'SynchronousCommit']
  seeding_mode:
    description:
      - Default seeding mode for the replica. Should remain as the default otherwise manual setup may be required.
    type: str
    required: false
    default: 'Automatic'
    choices: ['Automatic', 'Manual']
  connection_mode_in_primary_role:
    description:
      - Which connections can be made to the database when it is in the primary role.
    type: str
    required: false
    default: 'AllowAllConnections'
    choices: ['AllowReadIntentConnectionsOnly','AllowAllConnections']
  connection_mode_in_secondary_role:
    description:
      - Which connections can be made to the database when it is in the secondary role.
    type: str
    required: false
    default: 'AllowNoConnections'
    choices: ['AllowNoConnections','AllowReadIntentConnectionsOnly','AllowAllConnections']
  read_only_routing_connection_url:
    description:
      - Sets the read only routing connection url for the availability replica.
    type: str
    required: false
  read_only_routing_list:
    description:
      - Sets the read only routing ordered list of replica server names to use when redirecting read-only connections through this availability replica.
    type: str
    required: false
  cluster_type:
    description:
      - Cluster type of the Availability Group. Only supported in SQL Server 2017 and above.
    type: str
    required: false
    default: 'Wsfc'
    choices: ['Wsfc', 'External', 'None']
  configure_xe_session:
    description:
      - Configure the AlwaysOn_health extended events session to start automatically as the SSMS wizard would do.
    type: bool
    default: false
  session_timeout:
    description:
      - How many seconds an availability replica waits for a ping response from a connected replica before considering the connection to have failed.
    type: int
    required: false
author: "John McCall (@lowlydba)"
requirements:
  - L(dbatools,https://www.powershellgallery.com/packages/dbatools/) PowerShell module
extends_documentation_fragment:
  - lowlydba.sqlserver.sql_credentials
  - lowlydba.sqlserver.attributes.check_mode
  - lowlydba.sqlserver.attributes.platform_all
  - lowlydba.sqlserver.state
a	  
- name: Create Availability Group
  lowlydba.sqlserver.availability_group:
    sql_instance: sql-01.myco.io
    ag_name: AG_MyDatabase

- name: Add a DR replica
  lowlydba.sqlserver.ag_replica:
    ag_name: 'AG_MyDatabase'
    sql_instance_primary: sql-01.myco.io
    sql_instance_replica: sql-02.myco.io
    failover_mode: 'Manual'
    availability_mode: 'Asynchronous'
    seeding_mode: 'Automatic'
    connection_mode_in_primary_role: 'AllowAllConnections'
    connection_mode_in_secondary_role: 'AllowNoConnections'
z
data:
  description: Output from the C(Add-DbaAgReplica) or C(Set-DbaAgReplica) function.
  returned: success, but not in check_mode.
  type: dict
N)DOCUMENTATIONEXAMPLESRETURN     q/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/lowlydba/sqlserver/plugins/modules/ag_replica.py<module>r      s   sj$
r   