mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-13 08:05:19 +01:00
Compare commits
9 commits
d8393d0624
...
0de02365d8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0de02365d8 | ||
|
|
69c04cd5bd | ||
|
|
f7f346f823 | ||
|
|
76e3baa72d | ||
|
|
1ec0718e7b | ||
|
|
7e4d5dd7a9 | ||
|
|
e05b8507a4 | ||
|
|
4f0114eb57 | ||
|
|
6ab2053005 |
6 changed files with 22 additions and 21 deletions
3
changelogs/fragments/566_bump_version_161.yml
Normal file
3
changelogs/fragments/566_bump_version_161.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
trivial:
|
||||
- Bump version to 1.6.1 for next release.
|
||||
3
changelogs/fragments/567_remove_version_added.yml
Normal file
3
changelogs/fragments/567_remove_version_added.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
trivial:
|
||||
- mount - remove wrong version_added section from ``opts_no_log``.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
namespace: ansible
|
||||
name: posix
|
||||
version: 1.6.0
|
||||
version: 1.6.1
|
||||
readme: README.md
|
||||
authors:
|
||||
- Ansible (github.com/ansible)
|
||||
|
|
@ -10,6 +10,6 @@ license_file: COPYING
|
|||
tags: [posix, networking, shell, unix]
|
||||
dependencies: {}
|
||||
repository: https://github.com/ansible-collections/ansible.posix
|
||||
documentation: https://github.com/ansible-collections/ansible.posix/tree/main/docs
|
||||
documentation: https://docs.ansible.com/ansible/latest/collections/ansible/posix/
|
||||
homepage: https://github.com/ansible-collections/ansible.posix
|
||||
issues: https://github.com/ansible-collections/ansible.posix
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ options:
|
|||
key:
|
||||
description:
|
||||
- The SSH public key(s), as a string or (since Ansible 1.9) url (https://github.com/username.keys).
|
||||
- You can also use V(file://) prefix to search remote for a file with SSH key(s).
|
||||
- You can also use V(file://) prefix to search localy or remote for a file with SSH key(s) depending on O(remote_src) value.
|
||||
type: str
|
||||
required: true
|
||||
path:
|
||||
|
|
@ -81,6 +81,13 @@ options:
|
|||
- Follow path symlink instead of replacing it.
|
||||
type: bool
|
||||
default: false
|
||||
remote_src:
|
||||
description:
|
||||
- Influence whether key needs to be transferred or already is present remotely.
|
||||
- If V(false), it will search for src on the controller node.
|
||||
- If V(true) it will search for src on the managed (remote) node.
|
||||
type: bool
|
||||
default: false
|
||||
author: Ansible Core Team
|
||||
'''
|
||||
|
||||
|
|
@ -102,6 +109,7 @@ EXAMPLES = r'''
|
|||
user: charlie
|
||||
state: present
|
||||
key: file:///home/charlie/.ssh/id_rsa.pub
|
||||
remote_src: true
|
||||
|
||||
- name: Set authorized keys taken from url using lookup
|
||||
ansible.posix.authorized_key:
|
||||
|
|
@ -561,10 +569,11 @@ def enforce_state(module, params):
|
|||
exclusive = params.get("exclusive", False)
|
||||
comment = params.get("comment", None)
|
||||
follow = params.get('follow', False)
|
||||
remote_src = params.get('remote_src', False)
|
||||
error_msg = "Error getting key from: %s"
|
||||
|
||||
# if the key is a url or file, request it and use it as key source
|
||||
if key.startswith("http"):
|
||||
if key.startswith("http") or (key.startswith("file") and remote_src):
|
||||
try:
|
||||
resp, info = fetch_url(module, key)
|
||||
if info['status'] != 200:
|
||||
|
|
@ -577,20 +586,6 @@ def enforce_state(module, params):
|
|||
# resp.read gives bytes on python3, convert to native string type
|
||||
key = to_native(key, errors='surrogate_or_strict')
|
||||
|
||||
file_prefix = "file://"
|
||||
if key.startswith(file_prefix):
|
||||
# if the key is an absolute path, check for existense and use it as a key source
|
||||
key_path = key[len(file_prefix):]
|
||||
if not os.path.exists(key_path):
|
||||
module.fail_json(msg="Path to a key file not found: %s" % key_path)
|
||||
if not os.path.isfile(key_path):
|
||||
module.fail_json(msg="Path to a key is a directory and must be a file: %s" % key_path)
|
||||
try:
|
||||
with open(key_path, 'r') as source_fh:
|
||||
key = source_fh.read()
|
||||
except OSError as e:
|
||||
module.fail_json(msg="Failed to read key file %s : %s" % (key_path, to_native(e)))
|
||||
|
||||
# extract individual keys into an array, skipping blank lines and comments
|
||||
new_keys = [s for s in key.splitlines() if s and not s.startswith('#')]
|
||||
|
||||
|
|
@ -703,6 +698,7 @@ def main():
|
|||
comment=dict(type='str'),
|
||||
validate_certs=dict(type='bool', default=True),
|
||||
follow=dict(type='bool', default=False),
|
||||
remote_src=dict(type='bool', default=False),
|
||||
),
|
||||
supports_check_mode=True,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -48,7 +48,6 @@ options:
|
|||
- Do not log opts.
|
||||
type: bool
|
||||
default: false
|
||||
version_added: 1.6.0
|
||||
dump:
|
||||
description:
|
||||
- Dump (see fstab(5)).
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
- name: Add key using path
|
||||
ansible.posix.authorized_key:
|
||||
user: root
|
||||
key: file://{{ key_path }}
|
||||
key: "{{ key_path }}"
|
||||
state: present
|
||||
path: "{{ output_dir | expanduser }}/authorized_keys"
|
||||
register: result
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
- name: Add key using path again
|
||||
ansible.posix.authorized_key:
|
||||
user: root
|
||||
key: file://{{ key_path }}
|
||||
key: "{{ key_path }}"
|
||||
state: present
|
||||
path: "{{ output_dir | expanduser }}/authorized_keys"
|
||||
register: result
|
||||
|
|
|
|||
Loading…
Reference in a new issue