
    VhJ                     z    d dl mZmZmZ eZdZdZdZd dl	m
Z
 d dlmZmZ  G d de      Zd	 Zed
k(  r e        yy)    )absolute_importdivisionprint_functiona.  
---
module: adapter_info
version_added: "1.0.0"
author:
    - WangBaoshan (@ieisystem)
short_description: Get adapter information
description:
   - Get adapter information on kaytus Server.
notes:
   - Supports C(check_mode).
options: {}
extends_documentation_fragment:
    - kaytus.ksmanage.ksmanage
aA  
- name: Adapter test
  hosts: ksmanage
  connection: local
  gather_facts: false
  vars:
    ksmanage:
      host: "{{ ansible_ssh_host }}"
      username: "{{ username }}"
      password: "{{ password }}"

  tasks:

  - name: "Get adapter information"
    kaytus.ksmanage.adapter_info:
      provider: "{{ ksmanage }}"
a1  
message:
    description: Messages returned after module execution.
    returned: always
    type: str
state:
    description: Status after module execution.
    returned: always
    type: str
changed:
    description: Check to see if a change was made on the device.
    returned: always
    type: bool
)AnsibleModule)ksmanage_argument_specget_connectionc                   *    e Zd Zd Zd Zd Zd Zd Zy)Adapterc                 ^    || _         d | _        | j                          t               | _        y N)specmoduleinit_moduledictresults)selfargument_specs     p/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/kaytus/ksmanage/plugins/modules/adapter_info.py__init__zAdapter.__init__A   s%    !	v    c                 <    t        | j                  d      | _        y)zInit module objectT)r   supports_check_modeN)r   r   r   r   s    r   r   zAdapter.init_moduleG   s    #))?r   c                 j    d| j                   j                  d<   t        | j                         | _        y )Ngetnic
subcommand)r   paramsr   r   r   s    r   run_commandzAdapter.run_commandL   s&    +3<(%dkk2r   c                    | j                   }|d   dk(  r|d   d   }|j                  dd      }d}t               }|dkD  rV|j                  dg       }g }||k  r2||   }|j                  d      }|j                  |       |dz   }||k  r2d|d<   ||d<   n
d	|d<   d
|d<    | j                  j
                  di | y | j                  j
                  di | j                    y)zShow resultStateSuccessMessager   MaximumNIC
Controller   Failurezcannot get informationN )r   getr   extendr   	exit_json)	r   
nic_resultnicsysadapter_lenidx	sortedResListnic_infosysadapter_infos	            r   show_resultzAdapter.show_resultP   s    \\
g)+Y'*C WWY2NCI!ggeR(N*"3xH&.ll<&@OKK0'C	 N*
 &/	'"'+	)$%.	'"'?	)$!DKK!!.I.!DKK!!1DLL1r   c                 D    | j                          | j                          y)WorkerN)r   r4   r   s    r   workzAdapter.worki   s    r   N)__name__
__module____qualname__r   r   r   r4   r7   r(   r   r   r
   r
   @   s    ?
322r   r
   c                  x    t               } | j                  t               t        |       }|j	                          y r   )r   updater   r
   r7   )r   adapter_objs     r   mainr>   o   s.    FM/0-(Kr   __main__N)
__future__r   r   r   type__metaclass__DOCUMENTATIONEXAMPLESRETURNansible.module_utils.basicr   Aansible_collections.kaytus.ksmanage.plugins.module_utils.ksmanager   r   objectr
   r>   r8   r(   r   r   <module>rI      sV    C B $
 5 v,f ,^ zF r   