
    VhN                     `    d dl mZmZmZ eZdZdZdZd dl	m
Z
 d Zd Zd Zed	k(  r e        y
y
)    )absolute_importdivisionprint_functiona  
module: syspatch

short_description: Manage OpenBSD system patches


description:
  - Manage OpenBSD system patches using syspatch.
extends_documentation_fragment:
  - community.general.attributes

attributes:
  check_mode:
    support: full
  diff_mode:
    support: none

options:
  revert:
    description:
      - Revert system patches.
    type: str
    choices: [all, one]

author:
  - Andrew Klaus (@precurse)
a  
- name: Apply all available system patches
  community.general.syspatch:

- name: Revert last patch
  community.general.syspatch:
    revert: one

- name: Revert all patches
  community.general.syspatch:
    revert: all

# NOTE: You can reboot automatically if a patch requires it:
- name: Apply all patches and store result
  community.general.syspatch:
  register: syspatch

- name: Reboot if patch requires it
  ansible.builtin.reboot:
  when: syspatch.reboot_needed
a  
rc:
  description: The command return code (0 means success).
  returned: always
  type: int
stdout:
  description: C(syspatch) standard output.
  returned: always
  type: str
  sample: "001_rip6cksum"
stderr:
  description: C(syspatch) standard error.
  returned: always
  type: str
  sample: "syspatch: need root privileges"
reboot_needed:
  description: Whether or not a reboot is required after an update.
  returned: always
  type: bool
  sample: true
)AnsibleModulec                      t        t        dddg            } t        | d      }t        |      } |j                  di | y )	Nstrallone)typechoices)revertT)argument_specsupports_check_mode )dictr   syspatch_run	exit_json)module_argsmoduleresults      n/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/general/plugins/modules/syspatch.py
run_moduler   V   sK    7K ! F
 &!FFv    c                    | j                  dd      }d}d}g }dg}dg}| j                  d   rdg}| j                  d   dk(  rdg}n	d	g}ndg}g }| j                  |g|z         \  }}}	|d
k7  r| j                  d||||	fz         t	        |      d
kD  rd}
nd}
| j
                  r|
}n|
r| j                  |g|z         \  }}}	|d
k7  r|	dk7  r| j                  d||||	fz         nX|j                         j                  d      d
k\  rd}n3|j                         j                  d      d
k\  r|j                  d       t	        |      d
k(  r|j                  d       d}nd}t        ||||	||      S )NsyspatchTFz-cr   z-lr	   z-Rz-rr   z'Command %s failed rc=%d, out=%s, err=%s)msgz0ln: /usr/X11R6/bin/X: No such file or directory
zcreate unique kernelzsyspatch updated itselfz0Syspatch was updated. Please run syspatch again.z5syspatch had suggested changes, but stdout was empty.)changedreboot_neededrcstderrstdoutwarnings)
get_bin_pathparamsrun_command	fail_jsonlen
check_modelowerfindappendr   )r   cmdr   r   r"   run_flag
check_flagr   outerrchange_pendings              r   r   r   f   s   


j$
/CGMH vHJ}}XV
=="e+vHvHV
 %%sej&89LBS	QwF#rSVX[I\\]
3x!|  	))3%(*:;C 7sQQ!JcSUWZ\_M`!`aYY[45: MYY[78A=OONO s8q=OOST# r   c                      t                y )N)r   r   r   r   mainr3      s    Lr   __main__N)
__future__r   r   r   r   __metaclass__DOCUMENTATIONEXAMPLESRETURNansible.module_utils.basicr   r   r   r3   __name__r   r   r   <module>r<      sQ    C B8,
, 5 ?D zF r   