Add dynamicforward option (#9192)
* Add dynamicforward option * Add fragment * Modify fragmentpull/9223/head
parent
82462e407e
commit
34010a788a
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- ssh_config - add ``dynamicforward`` option (https://github.com/ansible-collections/community.general/pull/9192).
|
|
@ -139,6 +139,11 @@ options:
|
|||
- Sets the C(ControlPersist) option.
|
||||
type: str
|
||||
version_added: 8.1.0
|
||||
dynamicforward:
|
||||
description:
|
||||
- Sets the C(DynamicForward) option.
|
||||
type: str
|
||||
version_added: 10.1.0
|
||||
requirements:
|
||||
- paramiko
|
||||
'''
|
||||
|
@ -272,6 +277,7 @@ class SSHConfig(object):
|
|||
controlmaster=self.params.get('controlmaster'),
|
||||
controlpath=self.params.get('controlpath'),
|
||||
controlpersist=fix_bool_str(self.params.get('controlpersist')),
|
||||
dynamicforward=self.params.get('dynamicforward'),
|
||||
)
|
||||
|
||||
config_changed = False
|
||||
|
@ -376,6 +382,7 @@ def main():
|
|||
controlmaster=dict(type='str', default=None, choices=['yes', 'no', 'ask', 'auto', 'autoask']),
|
||||
controlpath=dict(type='str', default=None),
|
||||
controlpersist=dict(type='str', default=None),
|
||||
dynamicforward=dict(type='str'),
|
||||
user=dict(default=None, type='str'),
|
||||
user_known_hosts_file=dict(type='str', default=None),
|
||||
),
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
controlmaster: "auto"
|
||||
controlpath: "~/.ssh/sockets/%r@%h-%p"
|
||||
controlpersist: yes
|
||||
dynamicforward: '10080'
|
||||
state: present
|
||||
register: options_add
|
||||
check_mode: true
|
||||
|
@ -55,6 +56,7 @@
|
|||
controlmaster: "auto"
|
||||
controlpath: "~/.ssh/sockets/%r@%h-%p"
|
||||
controlpersist: yes
|
||||
dynamicforward: '10080'
|
||||
state: present
|
||||
register: options_add
|
||||
|
||||
|
@ -78,6 +80,7 @@
|
|||
controlmaster: "auto"
|
||||
controlpath: "~/.ssh/sockets/%r@%h-%p"
|
||||
controlpersist: yes
|
||||
dynamicforward: '10080'
|
||||
state: present
|
||||
register: options_add_again
|
||||
|
||||
|
@ -105,6 +108,7 @@
|
|||
- "'controlmaster auto' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/sockets/%r@%h-%p' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist yes' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 10080' in slurp_ssh_config['content'] | b64decode"
|
||||
|
||||
- name: Options - Update host
|
||||
community.general.ssh_config:
|
||||
|
@ -118,6 +122,7 @@
|
|||
controlmaster: no
|
||||
controlpath: "~/.ssh/new-sockets/%r@%h-%p"
|
||||
controlpersist: "600"
|
||||
dynamicforward: '11080'
|
||||
state: present
|
||||
register: options_update
|
||||
|
||||
|
@ -143,6 +148,7 @@
|
|||
controlmaster: no
|
||||
controlpath: "~/.ssh/new-sockets/%r@%h-%p"
|
||||
controlpersist: "600"
|
||||
dynamicforward: '11080'
|
||||
state: present
|
||||
register: options_update
|
||||
|
||||
|
@ -171,6 +177,7 @@
|
|||
- "'controlmaster no' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/new-sockets/%r@%h-%p' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist 600' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 11080' in slurp_ssh_config['content'] | b64decode"
|
||||
|
||||
- name: Options - Ensure no update in case option exist in ssh_config file but wasn't defined in playbook
|
||||
community.general.ssh_config:
|
||||
|
@ -204,6 +211,7 @@
|
|||
- "'controlmaster no' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/new-sockets/%r@%h-%p' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist 600' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 11080' in slurp_ssh_config['content'] | b64decode"
|
||||
|
||||
- name: Debug
|
||||
debug:
|
||||
|
@ -255,8 +263,9 @@
|
|||
- "'controlmaster auto' not in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/sockets/%r@%h-%p' not in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist yes' not in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 10080' not in slurp_ssh_config['content'] | b64decode"
|
||||
|
||||
# Proxycommand and ProxyJump are mutually exclusive.
|
||||
# Proxycommand and ProxyJump are mutually exclusive.
|
||||
# Reset ssh_config before testing options with proxyjump
|
||||
|
||||
- name: Copy sample config file
|
||||
|
@ -276,6 +285,7 @@
|
|||
controlmaster: "auto"
|
||||
controlpath: "~/.ssh/sockets/%r@%h-%p"
|
||||
controlpersist: yes
|
||||
dynamicforward: '10080'
|
||||
state: present
|
||||
register: options_add
|
||||
check_mode: true
|
||||
|
@ -310,6 +320,7 @@
|
|||
controlmaster: "auto"
|
||||
controlpath: "~/.ssh/sockets/%r@%h-%p"
|
||||
controlpersist: yes
|
||||
dynamicforward: '10080'
|
||||
state: present
|
||||
register: options_add
|
||||
|
||||
|
@ -333,6 +344,7 @@
|
|||
controlmaster: "auto"
|
||||
controlpath: "~/.ssh/sockets/%r@%h-%p"
|
||||
controlpersist: yes
|
||||
dynamicforward: '10080'
|
||||
state: present
|
||||
register: options_add_again
|
||||
|
||||
|
@ -360,6 +372,7 @@
|
|||
- "'controlmaster auto' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/sockets/%r@%h-%p' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist yes' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 10080' in slurp_ssh_config['content'] | b64decode"
|
||||
|
||||
- name: Options - Update host
|
||||
community.general.ssh_config:
|
||||
|
@ -373,6 +386,7 @@
|
|||
controlmaster: no
|
||||
controlpath: "~/.ssh/new-sockets/%r@%h-%p"
|
||||
controlpersist: "600"
|
||||
dynamicforward: '11080'
|
||||
state: present
|
||||
register: options_update
|
||||
|
||||
|
@ -398,6 +412,7 @@
|
|||
controlmaster: no
|
||||
controlpath: "~/.ssh/new-sockets/%r@%h-%p"
|
||||
controlpersist: "600"
|
||||
dynamicforward: '11080'
|
||||
state: present
|
||||
register: options_update
|
||||
|
||||
|
@ -426,6 +441,7 @@
|
|||
- "'controlmaster no' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/new-sockets/%r@%h-%p' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist 600' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 11080' in slurp_ssh_config['content'] | b64decode"
|
||||
|
||||
- name: Options - Ensure no update in case option exist in ssh_config file but wasn't defined in playbook
|
||||
community.general.ssh_config:
|
||||
|
@ -459,6 +475,7 @@
|
|||
- "'controlmaster no' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/new-sockets/%r@%h-%p' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist 600' in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 11080' in slurp_ssh_config['content'] | b64decode"
|
||||
|
||||
- name: Debug
|
||||
debug:
|
||||
|
@ -510,3 +527,4 @@
|
|||
- "'controlmaster auto' not in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpath ~/.ssh/sockets/%r@%h-%p' not in slurp_ssh_config['content'] | b64decode"
|
||||
- "'controlpersist yes' not in slurp_ssh_config['content'] | b64decode"
|
||||
- "'dynamicforward 10080' not in slurp_ssh_config['content'] | b64decode"
|
||||
|
|
Loading…
Reference in New Issue