summaryrefslogtreecommitdiff
path: root/lib/ansible/modules/database/mysql/mysql_replication.py
diff options
context:
space:
mode:
authorAndrey Klychkov <aaklychkov@mail.ru>2019-10-10 10:06:45 +0300
committeransibot <ansibot@users.noreply.github.com>2019-10-10 03:06:45 -0400
commit38d1025d58f17b92832f0c770db57d257cb85b8e (patch)
tree3a0a6fde2b0d26b93626e6d1a35cdb8884d243bd /lib/ansible/modules/database/mysql/mysql_replication.py
parent77de663879bcf2f6ab82d5009b8a0b799814750b (diff)
downloadansible-38d1025d58f17b92832f0c770db57d257cb85b8e.tar.gz
mysql_replication: add mutually_excl block, new maintainer, seealso, change doc formatting (#63295)
Diffstat (limited to 'lib/ansible/modules/database/mysql/mysql_replication.py')
-rw-r--r--lib/ansible/modules/database/mysql/mysql_replication.py248
1 files changed, 135 insertions, 113 deletions
diff --git a/lib/ansible/modules/database/mysql/mysql_replication.py b/lib/ansible/modules/database/mysql/mysql_replication.py
index c2bff1c617..364b3a2b43 100644
--- a/lib/ansible/modules/database/mysql/mysql_replication.py
+++ b/lib/ansible/modules/database/mysql/mysql_replication.py
@@ -2,6 +2,7 @@
# -*- coding: utf-8 -*-
# Copyright: (c) 2013, Balazs Pocze <banyek@gawker.com>
+# Copyright: (c) 2019, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru>
# Certain parts are taken from Mark Theunissen's mysqldb module
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@@ -19,124 +20,142 @@ DOCUMENTATION = r'''
module: mysql_replication
short_description: Manage MySQL replication
description:
- - Manages MySQL server replication, slave, master status get and change master host.
-version_added: "1.3"
+- Manages MySQL server replication, slave, master status, get and change master host.
+version_added: '1.3'
author:
- Balazs Pocze (@banyek)
+- Andrew Klychkov (@Andersson007)
options:
- mode:
- description:
- - module operating mode. Could be getslave (SHOW SLAVE STATUS), getmaster (SHOW MASTER STATUS), changemaster (CHANGE MASTER TO), startslave
- (START SLAVE), stopslave (STOP SLAVE), resetslave (RESET SLAVE), resetslaveall (RESET SLAVE ALL)
- type: str
- choices:
- - getslave
- - getmaster
- - changemaster
- - stopslave
- - startslave
- - resetslave
- - resetslaveall
- default: getslave
- master_host:
- description:
- - Same as mysql variable.
- type: str
- master_user:
- description:
- - Same as mysql variable.
- type: str
- master_password:
- description:
- - Same as mysql variable.
- type: str
- master_port:
- description:
- - Same as mysql variable.
- type: int
- master_connect_retry:
- description:
- - Same as mysql variable.
- type: int
- master_log_file:
- description:
- - Same as mysql variable.
- type: str
- master_log_pos:
- description:
- - Same as mysql variable.
- type: int
- relay_log_file:
- description:
- - Same as mysql variable.
- type: str
- relay_log_pos:
- description:
- - Same as mysql variable.
- type: int
- master_ssl:
- description:
- - Same as mysql variable.
- type: bool
- master_ssl_ca:
- description:
- - Same as mysql variable.
- type: str
- master_ssl_capath:
- description:
- - Same as mysql variable.
- type: str
- master_ssl_cert:
- description:
- - Same as mysql variable.
- type: str
- master_ssl_key:
- description:
- - Same as mysql variable.
- type: str
- master_ssl_cipher:
- description:
- - Same as mysql variable.
- type: str
- master_auto_position:
- description:
- - Whether the host uses GTID based replication or not.
- type: bool
- version_added: "2.0"
- master_use_gtid:
- description:
- - Configures the slave to use the MariaDB Global Transaction ID.
- - C(disabled) equals MASTER_USE_GTID=no command.
- - To find information about available values see
- U(https://mariadb.com/kb/en/library/change-master-to/#master_use_gtid).
- - Available since MariaDB 10.0.2.
- choices: [current_pos, slave_pos, disabled]
- type: str
- version_added: "2.10"
- master_delay:
- description:
- - Time lag behind the master's state (in seconds).
- - Available from MySQL 5.6.
- - For more information see U(https://dev.mysql.com/doc/refman/8.0/en/replication-delayed.html).
- type: int
- version_added: "2.10"
- connection_name:
- description:
- - Name of the master connection.
- - Supported from MariaDB 10.0.1.
- - For more information see U(https://mariadb.com/kb/en/library/multi-source-replication/).
- type: str
- version_added: "2.10"
- channel:
- description:
- - Name of replication channel.
- - Multi-source replication is supported from MySQL 5.7.
- - For more information see U(https://dev.mysql.com/doc/refman/8.0/en/replication-multi-source.html).
- type: str
- version_added: "2.10"
+ mode:
+ description:
+ - Module operating mode. Could be
+ C(changemaster) (CHANGE MASTER TO),
+ C(getmaster) (SHOW MASTER STATUS),
+ C(getslave) (SHOW SLAVE STATUS),
+ C(startslave) (START SLAVE),
+ C(stopslave) (STOP SLAVE),
+ C(resetslave) (RESET SLAVE),
+ C(resetslaveall) (RESET SLAVE ALL).
+ type: str
+ choices:
+ - changemaster
+ - getmaster
+ - getslave
+ - startslave
+ - stopslave
+ - resetslave
+ - resetslaveall
+ default: getslave
+ master_host:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_user:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_password:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_port:
+ description:
+ - Same as mysql variable.
+ type: int
+ master_connect_retry:
+ description:
+ - Same as mysql variable.
+ type: int
+ master_log_file:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_log_pos:
+ description:
+ - Same as mysql variable.
+ type: int
+ relay_log_file:
+ description:
+ - Same as mysql variable.
+ type: str
+ relay_log_pos:
+ description:
+ - Same as mysql variable.
+ type: int
+ master_ssl:
+ description:
+ - Same as mysql variable.
+ type: bool
+ master_ssl_ca:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_ssl_capath:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_ssl_cert:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_ssl_key:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_ssl_cipher:
+ description:
+ - Same as mysql variable.
+ type: str
+ master_auto_position:
+ description:
+ - Whether the host uses GTID based replication or not.
+ type: bool
+ version_added: '2.0'
+ master_use_gtid:
+ description:
+ - Configures the slave to use the MariaDB Global Transaction ID.
+ - C(disabled) equals MASTER_USE_GTID=no command.
+ - To find information about available values see
+ U(https://mariadb.com/kb/en/library/change-master-to/#master_use_gtid).
+ - Available since MariaDB 10.0.2.
+ choices: [current_pos, slave_pos, disabled]
+ type: str
+ version_added: '2.10'
+ master_delay:
+ description:
+ - Time lag behind the master's state (in seconds).
+ - Available from MySQL 5.6.
+ - For more information see U(https://dev.mysql.com/doc/refman/8.0/en/replication-delayed.html).
+ type: int
+ version_added: '2.10'
+ connection_name:
+ description:
+ - Name of the master connection.
+ - Supported from MariaDB 10.0.1.
+ - Mutually exclusive with I(channel).
+ - For more information see U(https://mariadb.com/kb/en/library/multi-source-replication/).
+ type: str
+ version_added: '2.10'
+ channel:
+ description:
+ - Name of replication channel.
+ - Multi-source replication is supported from MySQL 5.7.
+ - Mutually exclusive with I(connection_name).
+ - For more information see U(https://dev.mysql.com/doc/refman/8.0/en/replication-multi-source.html).
+ type: str
+ version_added: '2.10'
extends_documentation_fragment:
- mysql
+
+seealso:
+- module: mysql_info
+- name: MySQL replication reference
+ description: Complete reference of the MySQL replication documentation.
+ link: https://dev.mysql.com/doc/refman/8.0/en/replication.html
+- name: MariaDB replication reference
+ description: Complete reference of the MariaDB replication documentation.
+ link: https://mariadb.com/kb/en/library/setting-up-replication/
'''
EXAMPLES = r'''
@@ -342,7 +361,10 @@ def main():
master_delay=dict(type='int'),
connection_name=dict(type='str'),
channel=dict(type='str'),
- )
+ ),
+ mutually_exclusive=[
+ ['connection_name', 'channel']
+ ],
)
mode = module.params["mode"]
master_host = module.params["master_host"]