Add dynamicforward option (#9192)

* Add dynamicforward option

* Add fragment

* Modify fragment
pull/9223/head
ONODERA Masaru 2024-12-03 04:18:56 +09:00 committed by GitHub
parent 82462e407e
commit 34010a788a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 28 additions and 1 deletions

View File

@ -0,0 +1,2 @@
minor_changes:
- ssh_config - add ``dynamicforward`` option (https://github.com/ansible-collections/community.general/pull/9192).

View File

@ -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),
),

View File

@ -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"