
    Vh                     j    d dl mZmZmZ eZdZdZd dlZd dl	m
Z
 d Zd Zd Zd	 Zed
k(  r e        yy)    )absolute_importdivisionprint_functiona  
module: pkg5
author:
  - Peter Oliver (@mavit)
short_description: Manages packages with the Solaris 11 Image Packaging System
description:
  - IPS packages are the native packages in Solaris 11 and higher.
notes:
  - The naming of IPS packages is explained at U(http://www.oracle.com/technetwork/articles/servers-storage-admin/ips-package-versioning-2232906.html).
extends_documentation_fragment:
  - community.general.attributes
attributes:
  check_mode:
    support: full
  diff_mode:
    support: none
options:
  name:
    description:
      - An FRMI of the package(s) to be installed/removed/updated.
      - Multiple packages may be specified, separated by V(,).
    required: true
    type: list
    elements: str
  state:
    description:
      - Whether to install (V(present), V(latest)), or remove (V(absent)) a package.
    choices: [absent, latest, present, installed, removed, uninstalled]
    default: present
    type: str
  accept_licenses:
    description:
      - Accept any licences.
    type: bool
    default: false
    aliases: [accept, accept_licences]
  be_name:
    description:
      - Creates a new boot environment with the given name.
    type: str
  refresh:
    description:
      - Refresh publishers before execution.
    type: bool
    default: true
  verbose:
    description:
      - Set to V(true) to disable quiet execution.
    type: bool
    default: false
    version_added: 9.0.0
a  
- name: Install Vim
  community.general.pkg5:
    name: editor/vim

- name: Install Vim without refreshing publishers
  community.general.pkg5:
    name: editor/vim
    refresh: false

- name: Remove finger daemon
  community.general.pkg5:
    name: service/network/finger
    state: absent

- name: Install several packages at once
  community.general.pkg5:
    name:
      - /file/gnu-findutils
      - /text/gnu-grep
N)AnsibleModulec                  &   t        t        t        ddd      t        ddg d      t        dd	d
dg      t        d      t        dd      t        dd	            d      } | j                  }g }|d   D ]U  }t        j                  d|      r,|r*t        j                  d|d         r|dxx   d|z   z  cc<   E|j                  |       W |d   dv rt        | d||       y |d   dv rt        | d||       y |d   dv rt        | d||       y y )NliststrT)typeelementsrequiredpresent)absent	installedlatestr   removeduninstalled)r
   defaultchoicesboolFacceptaccept_licences)r
   r   aliases)r
   )r
   r   )namestateaccept_licensesbe_namerefreshverbose)argument_specsupports_check_moder   z^\d+(?:\.\d+)*z@[^,]*$,r   )r   r   )r   r   )r   r   r   r   )r   dictparamsresearchappendensure)moduler$   packagesfragments       j/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/general/plugins/modules/pkg5.pymainr-   Z   s&   6EDAE9  ?E  F fehPaEbce$fd3fe4
 !
F ]]FH
 6N &99&1h299ZYabdYeCfRLC(N*LOOH%	& g22vy(F3	J	&vx62	@	@vx62 
A    c                 D    g dd} fddd fddd fdddd	} j                   rd
g}ng }|d   rdg}ng }|d   rd j                  d   z   g}ng }|d   rg }	ndg}	|d   rg }
ndg}
t        t        ||   d   |            }|r j	                  d||   d   g|z   |z   |z   |	z   |
z   dgz   |z         \  }}}||d<   |d   j                  |       |dxx   |z  cc<   d|d<   |dk(  rd|d<   d|d<   n|dk7  r  j                  d i |   j                  d i | y )!N )resultsmsgc                     t        |        S Nis_installedpr)   s    r,   <lambda>zensure.<locals>.<lambda>   s    L$; ; r.   install)filter
subcommandc                 <    t        |        xs t        |        S r4   )r6   	is_latestr7   s    r,   r9   zensure.<locals>.<lambda>   s$     ++G9VQ3G/G r.   c                     t        |       S r4   r5   r7   s    r,   r9   zensure.<locals>.<lambda>   s    VQ 7 r.   	uninstall)r   r   r   z-nr   z--acceptr   z
--be-name=r   z--no-refreshr   z-qr;   pkgr<   --rcr1   r2   Tchanged   Ffailedr    )
check_moder$   r   r;   run_commandr'   	fail_json	exit_json)r)   r   r*   r$   response	behaviourdry_runr   beadm
no_refresh	verbosity	to_modifyrC   outerrs   `              r,   r(   r(   {   s   H <#

 $	
 8%
I" & %,ii 889i
$%
i	F	VIe,X6ABI))Ie$\23g=ORWWZddgpptxsyy  }F  FGC""3'3"7"'HY!&HX1WF(x(F x r.   c                 ^    | j                  ddd|g      \  }}}t        t        |             S )NrA   r   rB   rI   r   intr)   packagerC   rS   rT   s        r,   r6   r6      s2    %%ufdG&DELBSCG}r.   c                 ^    | j                  dddd|g      \  }}}t        t        |            S )NrA   r   z-urB   rV   rX   s        r,   r>   r>      s1    %%ufdD'&JKLBSB=r.   __main__)
__future__r   r   r   r
   __metaclass__DOCUMENTATIONEXAMPLESr%   ansible.module_utils.basicr   r-   r(   r6   r>   __name__rG   r.   r,   <module>rb      sT    A @3h, 
 43B=!@

 zF r.   