Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/storage/purestorage/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pyc

�
�Udac@`s�ddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
mZddlm
Z
mZdd
lZdZdZdZdZdZdZdZdZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d �Z%d!�Z&d"�Z'd#�Z(d$�Z)d%�Z*d&�Z+d'�Z,d(�Z-d)�Z.d*�Z/e0d+kr�e/�nd
S(,i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	communitytsupported_bys�
---
module: purefa_info
version_added: '2.9'
short_description: Collect information from Pure Storage FlashArray
description:
  - Collect information from a Pure Storage Flasharray running the
    Purity//FA operating system. By default, the module will collect basic
    information including hosts, host groups, protection
    groups and volume counts. Additional information can be collected
    based on the configured set of arguments.
author:
  - Pure Storage ansible Team (@sdodsley) <[email protected]>
options:
  gather_subset:
    description:
      - When supplied, this argument will define the information to be collected.
        Possible values for this include all, minimum, config, performance,
        capacity, network, subnet, interfaces, hgroups, pgroups, hosts,
        admins, volumes, snapshots, pods, vgroups, offload, apps, arrays,
        certs and kmip.
    type: list
    required: false
    default: minimum
extends_documentation_fragment:
  - purestorage.fa
s
- name: collect default set of information
  purefa_info:
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
  register: array_info
- name: show default information
  debug:
    msg: "{{ array_info['purefa_info']['default'] }}"

- name: collect configuration and capacity information
  purefa_info:
    gather_subset:
      - config
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
  register: array_info
- name: show configuration information
  debug:
    msg: "{{ array_info['purefa_info']['config'] }}"

- name: collect all information
  purefa_info:
    gather_subset:
      - all
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
- name: show all information
  debug:
    msg: "{{ array_info['purefa_info'] }}"
so(
purefa_info:
  description: Returns the information collected from the FlashArray
  returned: always
  type: complex
  sample: {
        "admins": {
            "pureuser": {
                "role": "array_admin",
                "type": "local"
            }
        },
        "apps": {
            "offload": {
                "description": "Snapshot offload to NFS or Amazon S3",
                "status": "healthy",
                "version": "5.2.1"
            }
        },
        "arrays": {},
        "capacity": {
            "data_reduction": 11.664774599686346,
            "free_space": 6995782867042,
            "provisioned_space": 442391871488,
            "shared_space": 3070918120,
            "snapshot_space": 284597118,
            "system_space": 0,
            "thin_provisioning": 0.8201773449669771,
            "total_capacity": 7002920315199,
            "total_reduction": 64.86821472825108,
            "volume_space": 3781932919
        },
        "config": {
            "directory_service": {
                "base_dn": null,
                "bind_password": null,
                "bind_user": null,
                "check_peer": false,
                "enabled": false,
                "uri": [],
                "user_login_attribute": null,
                "user_object_class": null
            },
            "directory_service_roles": {
                "array_admin": {
                    "group": null,
                    "group_base": null
                },
                "ops_admin": {
                    "group": null,
                    "group_base": null
                },
                "readonly": {
                    "group": null,
                    "group_base": null
                },
                "storage_admin": {
                    "group": null,
                    "group_base": null
                }
            },
            "dns": {
                "domain": "acme.com",
                "nameservers": [
                    "8.8.4.4"
                ]
            },
            "global_admin": {
                "lockout_duration": null,
                "max_login_attempts": null,
                "min_password_length": 1,
                "single_sign_on_enabled": false
            },
            "idle_timeout": 0,
            "ntp": [
                "prod-ntp1.puretec.purestorage.com"
            ],
            "phonehome": "enabled",
            "proxy": "",
            "relayhost": "smtp.puretec.purestorage.com",
            "scsi_timeout": 60,
            "senderdomain": "purestorage.com",
            "smtp": [
                {
                    "enabled": true,
                    "name": "[email protected]"
                }
            ],
            "snmp": [
                {
                    "auth_passphrase": null,
                    "auth_protocol": null,
                    "community": "****",
                    "host": "10.21.23.34",
                    "name": "manager1",
                    "notification": "trap",
                    "privacy_passphrase": null,
                    "privacy_protocol": null,
                    "user": null,
                    "version": "v2c"
                }
            ],
            "syslog": [
                "udp://prod-ntp2.puretec.purestorage.com:333"
            ]
        },
        "default": {
            "admins": 1,
            "array_model": "FA-405",
            "array_name": "array",
            "connected_arrays": 0,
            "connection_key": "c6033033-fe69-2515-a9e8-966bb7fe4b40",
            "hostgroups": 0,
            "hosts": 15,
            "pods": 1,
            "protection_groups": 1,
            "purity_version": "5.2.1",
            "snapshots": 2,
            "volume_groups": 1
        },
        "hgroups": {},
        "hosts": {
            "@offload": {
                "hgroup": null,
                "iqn": [],
                "nqn": [],
                "personality": null,
                "preferred_array": [],
                "target_port": [],
                "wwn": []
            },
            "docker-host": {
                "hgroup": null,
                "iqn": [
                    "iqn.1994-05.com.redhat:d97adf78472"
                ],
                "nqn": [],
                "personality": null,
                "preferred_array": [],
                "target_port": [
                    "CT0.ETH4",
                    "CT1.ETH4"
                ],
                "wwn": []
            }
        },
        "interfaces": {
            "CT0.ETH4": "iqn.2010-06.com.purestorage:flasharray.2111b767484e4682",
            "CT1.ETH4": "iqn.2010-06.com.purestorage:flasharray.2111b767484e4682",
        },
        "network": {
            "@offload.data0": {
                "address": "10.21.200.222",
                "gateway": "10.21.200.1",
                "hwaddr": "52:54:30:02:b9:4e",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "app"
                ],
                "speed": 10000000000
            },
            "ct0.eth0": {
                "address": "10.21.200.211",
                "gateway": "10.21.200.1",
                "hwaddr": "ec:f4:bb:c8:8a:04",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "management"
                ],
                "speed": 1000000000
            },
            "ct0.eth2": {
                "address": "10.21.200.218",
                "gateway": null,
                "hwaddr": "ec:f4:bb:c8:8a:00",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "replication"
                ],
                "speed": 10000000000
            },
            "ct0.eth4": {
                "address": "10.21.200.214",
                "gateway": null,
                "hwaddr": "90:e2:ba:83:79:0c",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "iscsi"
                ],
                "speed": 10000000000
            },
            "ct1.eth0": {
                "address": "10.21.200.212",
                "gateway": "10.21.200.1",
                "hwaddr": "ec:f4:bb:e4:c6:3c",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "management"
                ],
                "speed": 1000000000
            },
            "ct1.eth2": {
                "address": "10.21.200.220",
                "gateway": null,
                "hwaddr": "ec:f4:bb:e4:c6:38",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "replication"
                ],
                "speed": 10000000000
            },
            "ct1.eth4": {
                "address": "10.21.200.216",
                "gateway": null,
                "hwaddr": "90:e2:ba:8b:b1:8c",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "iscsi"
                ],
                "speed": 10000000000
            },
            "vir0": {
                "address": "10.21.200.210",
                "gateway": "10.21.200.1",
                "hwaddr": "fe:ba:e9:e7:6b:0f",
                "mtu": 1500,
                "netmask": "255.255.255.0",
                "services": [
                    "management"
                ],
                "speed": 1000000000
            }
        },
        "nfs_offload": {},
        "performance": {
            "input_per_sec": 0,
            "local_queue_usec_per_op": 0,
            "output_per_sec": 0,
            "qos_rate_limit_usec_per_read_op": 0,
            "qos_rate_limit_usec_per_write_op": 0,
            "queue_depth": 0,
            "queue_usec_per_read_op": 0,
            "queue_usec_per_write_op": 0,
            "reads_per_sec": 0,
            "san_usec_per_read_op": 0,
            "san_usec_per_write_op": 0,
            "time": "2019-08-14T21:33:51Z",
            "usec_per_read_op": 0,
            "usec_per_write_op": 0,
            "writes_per_sec": 0
        },
        "pgroups": {
            "test_pg": {
                "hgroups": null,
                "hosts": null,
                "source": "docker-host",
                "targets": null,
                "volumes": null
            }
        },
        "pods": {
            "test": {
                "arrays": [
                    {
                        "array_id": "043be47c-1233-4399-b9d6-8fe38727dd9d",
                        "mediator_status": "online",
                        "name": "array2",
                        "status": "online"
                    }
                ],
                "source": null
            }
        },
        "s3_offload": {
            "s3-offload": {
                "access_key_id": "AKIAILNVEPWZTV4FGWZQ",
                "bucket": "offload-bucket",
                "protocol": "s3",
                "status": "connected"
            }
        },
        "snapshots": {
            "@offload_boot.1": {
                "created": "2019-03-14T15:29:20Z",
                "size": 68719476736,
                "source": "@offload_boot"
            }
        },
        "subnet": {},
        "vgroups": {
            "test": {
                "volumes": [
                    "test/test",
                    "test/test1"
                ]
            }
        },
        "volumes": {
            "@offload_boot": {
                "bandwidth": null,
                "hosts": [
                    [
                        "@offload",
                        1
                    ]
                ],
                "serial": "43BE47C12334399B00013959",
                "size": 68719476736,
                "source": null
            },
            "docker-store": {
                "bandwidth": null,
                "hosts": [
                    [
                        "docker-host",
                        1
                    ]
                ],
                "serial": "43BE47C12334399B00011418",
                "size": 21474836480,
                "source": null
            }
        }
    }
(t
AnsibleModule(t
get_systemtpurefa_argument_specNs1.14s1.16s1.6s1.10s1.15s1.17cC`s�i}|j�}|j�}t|kr�t|j��|d<t|j��|d<t|j��|d<|jdt�d|d<n|j�}|j	�}|j
dtdt�}|jdt�}|j�}|j
d�d}	|	r�|	}
n|j
d	�d}|}
|
|d
<|d|d<|d|d
<t|�|d<t|�|d<t|�|d<t|�|d<t|�|d<t|kr�|j�|d<n|S(Nt
volume_groupstconnected_arraystpodstconnection_keytsnaptpendingtCT0tmodeltCT1tarray_modelt
array_nametversiontpurity_versionthostst	snapshotstprotection_groupst
hostgroupstadminstmaintenance_window(tgett_list_available_rest_versionstAC_REQUIRED_API_VERSIONtlentlist_vgroupstlist_array_connectionst	list_podstTruet
list_hoststlist_adminstlist_volumestlist_pgroupstlist_hgroupstget_hardwaretP53_API_VERSIONtlist_maintenance_windows(tarraytdefault_infotdefaultstapi_versionRRtsnapstpgroupsthgroupst	ct0_modelRt	ct1_model((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_default_dict�s:	
cC`s*i}|j�}t|kr=|jdddt�d}n|jdd�d}|d|d<|d|d<|d|d<|d|d<t|kr�|d	|d	<|d
|d
<|d|d<|d|d<|d
|d
<|d|d<|d|d<n|d|d<|d|d<|d|d<|S(Ntactiontmonitortlatencyitwrites_per_sect
reads_per_sect
input_per_sectoutput_per_sectsan_usec_per_read_optsan_usec_per_write_optqueue_usec_per_read_optqueue_usec_per_write_optqos_rate_limit_usec_per_read_opt qos_rate_limit_usec_per_write_optlocal_queue_usec_per_optusec_per_read_optusec_per_write_optqueue_depth(RtLATENCY_REQUIRED_API_VERSIONRR%(R.t	perf_infoR1tlatency_info((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_perf_dict�s*cC`si}|j�}|j�|d<|j�|d<|j�|d<|j�d|d<|j�|d<t|kr�i|d<|j�}xwtdt	|��D]@}||d	}i||d
d
6||dd6|d|<q�Wn|dj
|jdt��|jd
t�d
|d<|jdt�d|d<|jdt�d|d<|jdt�d|d<|jdt�d|d<|jdt�d|d<|jdt�d|d<|jdt�d|d<|jdt�d|d<t|kr|j
�|d<n|S(Ntdnstsmtptsnmpt	engine_idtsnmp_v3_engine_idtdirectory_servicetdirectory_service_rolesitnametgroupt
group_basetgroupst	ntpservertntptsyslogservertsyslogt	phonehometproxyt	relayhosttsenderdomaintidle_timeouttscsi_timeouttglobal_admin(Rtget_dnstlist_alert_recipientstlist_snmp_managerstget_snmp_engine_idtget_directory_servicetS3_REQUIRED_API_VERSIONtlist_directory_service_rolestrangeR!tupdateR%Rtget_global_admin_attributes(R.tconfig_infoR1trolestrolet	role_name((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_config_dict�s8
!cC`s�i}|j�}t|kr�|j�}xVtdt|��D]<}||d}i||dd6||dd6||<q@Wn|S(NiRTttypeRo(RtADMIN_API_VERSIONR'RjR!(R.t
admin_infoR1Rtadmint
admin_name((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_admin_dictscC`s�i}|j�}x�tdt|��D]�}||d}||dr(i||dd6||dd6||dd6||dd6||dd6||d	d	6||<q(q(W|S(
NiRTtenabledtgatewaytmtutvlantprefixt
interfacestservices(tlist_subnetsRjR!(R.tsub_infotsubnetstsubtsub_name((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_subnet_dict#scC`s9i}|j�}x tdt|��D]	}||d}i	||dd6||dd6||dd6||dd6||dd6||dd6||d	d	6||d
d
6||dd6||<||dr(|j||d�}|dr1i|dd6|d
d
6|dd6||d<q1q(q(W|S(NiRTthwaddrRzRxtspeedtaddresstslavesR~RytnetmasktsubnetR|R{(tlist_network_interfacesRjR!t
get_subnet(R.tnet_infotportstporttint_nameR�((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_network_dict4s,
 cC`si}|j�}t|kr|jdt�}td�|D��|d<|jdt�}|dd}|dd}|||d<||d	<|dd
|d
<|dd|d<|dd
|d<|dd|d<|dd|d<|dd|d<|dd|d<n|S(NRcs`s|]}|dVqdS(tsizeN((t.0titem((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pys	<genexpr>Tstprovisioned_spacetspaceitcapacityttotalt
free_spacettotal_capacitytdata_reductiontsystemtsystem_spacetvolumestvolume_spacetshared_spaceRtsnapshot_spacetthin_provisioningttotal_reduction(RtCAP_REQUIRED_API_VERSIONR(R%tsumR(R.t
capacity_infoR1R�R�R�t
used_space((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_capacity_dictOs$
cC`s�i}|jdt�}xbtdt|��D]K}||d}i||dd6||dd6||dd6||<q.W|S(NRiRTR�tsourcetcreated(R(R%RjR!(R.t	snap_infoR2Rtsnapshot((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_snap_dictescC`s�i}|j�}xptdt|��D]Y}||d}i||dd6||dd6||dd6gd6dd6||<q(W|j�}t|krr|jd	t�}xrtdt|��D][}||d}||d
}|||d<t|kr�||d}	|	||d<q�q�W|jdt�}
x�tdt|
��D]�}|
|d}i|
|dd6|
|dd6gd6||<t|j�krL|jdtd
t�}xDtdt|��D]*}
||
d}||
d||d<q�WqLqLWt|j�krr|jd
t�}xDtdt|��D]*}||d}||d||d<q>Wqrn|jdt�}xdtdt|��D]M}||d}i||dd6||dd6}||dj|�q�W|S(NiRTR�R�tserialRtt	bandwidthtqostbandwidth_limitt
iops_limittprotocol_endpointthost_encryption_keythost_encryption_key_statustconnectthosttlun(R(RjR!RR R%R,tappend(R.tvolume_infotvolstvoltvolumeR1tqvolstqvolR�tiopstvvolstvvoltpe_e2eestpe_e2eete2eeste2eetcvolstcvoltvoldict((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_vol_dictrsV! $cC`sd|j�}i}|j�}x�tdt|��D]�}||d}g}|j|dt�}|rz|dd}ni||dd6||dd6||dd6|j|dt�dd6|d6||<t|kr4||d	||d	<q4q4Wt|kr`|jd
t�}xDtdt|��D]*}||d}||d
||d
<q/Wn|S(NiRTtallttarget_portthgrouptiqntwwntpersonalitytnqntpreferred_array(RR&RjR!tget_hostR%tNVME_API_VERSIONtPREFERRED_API_VERSION(R.R1t	host_infoRR�thostnamettportst
host_all_info((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_host_dict�s0c
C`s�i}|j�}x}tdt|��D]f}||d}i||dd6||dd6||dd6||dd6||dd6||<|j|dt�}|j|d	t�}|d
s�|dr�|d||d
<|d||d<|d
||d
<|d||d<|d||d<|d||d<|d||d<|d||d<|d||d<|d||d<|d||d<|d||d<|d||d<nd|kr(|j|dtdt�}i||d<x�tdt|��D]�}||d}	i||dd6||dd6||dd6||d d 6||d!d!6||d"d"6||d|	<qWq(q(W|S(#NiRTR4RR�ttargetsR�tschedulet	retentiontsnap_enabledtreplicate_enabledtsnap_frequencytsnap_freqyencytreplicate_frequencytreplicate_freqyencytsnap_attreplicate_attreplicate_blackouttper_dayttarget_per_dayttarget_daystdaystall_forttarget_all_fort:RttransferR2R�tstartedt	completedtphysical_bytes_writtentdata_transferredtprogress(R)RjR!t
get_pgroupR%(
R.tpgroups_infoR3tpgroupt	protgroupt
prot_schedt
prot_retentsnap_transferst
snap_transferR((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_pgroups_dict�sN)cC`s�i}|j�}t|kr�|j�}xVtdt|��D]<}||d}i||dd6||dd6||<q@Wn|S(NiRTR�tarrays(RR R$RjR!(R.t	pods_infoR1R
tpodtacpod((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_pods_dict�scC`sei}|j�}|j�}x�tdt|��D]�}||d}i||dd6||dd6||dd6||dd6||dd	6||d
d6||<t|kr4||d||d<q4q4W|jd
t�}xwtdt|��D]`}||d}||dr�i||dd6||dd6||dd6||d<q�q�W|S(NiRtidtarray_idt	throttledRRrtmanagement_addresstmgmt_iptreplication_addresstrepl_ipRtthrottlet
default_limittwindow_limittwindowt
throttling(RR#RjR!R,R%(R.tconn_array_infoR1tcarraystcarrayt	arraynamet	throttlesR
((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_conn_array_dict�s.!cC`s�i}|j�}t|kr�|j�}xetdt|��D]K}||d}i||dd6||dd6||dd6||<q@Wn|S(NiRTRRtdescription(RtSAN_REQUIRED_API_VERSIONt	list_appsRjR!(R.t	apps_infoR1tappstapptappname((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_apps_dictscC`sxi}|j�}t|krt|j�}xGtdt|��D]-}||d}i||dd6||<q@Wn|S(NiRTR�(RR R"RjR!(R.tvgroups_infoR1tvgroupstvgroupt	virtgroup((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_vgroups_dict#scC`sji}|j�}t|krf|j�}x9tdt|��D]}||d}tjdtj||dd��}tjdtj||dd��}i
||dd6||dd6|d6||d	d	6||d
d
6||dd6|d6||dd6||d
d
6||dd6||dd6||dd6||dd6||<q@Wn|S(NiRTs%a, %d %b %Y %H:%M:%S %Zt
valid_fromi�tvalid_toRt	issued_totlocalitytcountryt	issued_bytstatetkey_sizetorganizational_unittorg_unittcommon_nametorganizationtemail(RR,tlist_certificatesRjR!ttimetstrftimet	localtime(R.t
certs_infoR1tcertstcerttcertificateR"R#((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_certs_dict0s.''cC`s�i}|j�}t|kr�|j�}xetdt|��D]K}||d}i||dd6||dd6||dd6||<q@Wn|S(NiRTR6tca_certificate_configuredtca_cert_configuredturi(RR,t	list_kmipRjR!(R.t	kmip_infoR1tkmipstkmiptkey((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_kmip_dictKscC`s�i}|j�}t|kr�|j�}x�tdt|��D]i}||d}i||dd6||dd6||dd6||dd6||dd6||<q@Wn|S(NiRTRtmount_pointtprotocolt
mount_optionsR�(RR tlist_nfs_offloadRjR!(R.toffload_infoR1toffloadttargettoffloadt((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_nfs_offload_dictZscC`s�i}|j�}t|kr�|j�}x�tdt|��D]}||d}i||dd6||dd6||dd6||dd6||<t|kr@||d||d<q@q@Wn|S(NiRTRtbucketRBt
access_key_idtplacement_strategy(RRhtlist_s3_offloadRjR!R,(R.RER1RFRGRH((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_s3_offload_dictks cC`s�i}|j�}t|kr�|j�}x�tdt|��D]i}||d}i||dd6||dd6||dd6||dd6||dd6||<q@Wn|S(NiRTRtaccount_nameRBtsecret_access_keytcontainer_name(RR,tlist_azure_offloadRjR!(R.RER1RFRGRH((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_azure_offload_dict}scC`s9i}|j�}xRtdt|��D];}||d}i||dd6gd6gd6||<q(W|jdt�}xHtdt|��D]1}||d}||dj||d�q�W|jdt�}x\tdt|��D]E}	||	d}||	d	||	d
g}
||dj|
�q�W|S(NiRTRtpgsR�tprotecttprotection_groupR�R�R�(R*RjR!R%R�(R.thgroups_infoR4R�t	hostgroupt	pghgroupstpghgtpgnamet
volhgroupstpgvolt	volpgdict((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_hgroups_dict�s$!cC`s�|j�}i}|j�}x�tdt|��D]�}||d}||drk||d||<n||dr�||d||<nt|kr4||dr�||d||<q�q4q4W|S(NiRTR�R�R�(Rt
list_portsRjR!R�(R.R1tint_infoR�R�R�((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytgenerate_interfaces_dict�sc`set�}|jtdtdddd���t|dt�}t|�}g|jdD]}|j�^qZ}d$��fd�|D�}t|�s�|j	dddj
��dj
|�f�ni}d|ks�d|kr�t|�|d<nd	|ksd|kr%t|�|d	<nd|ks=d|krPt
|�|d<nd
|kshd|kr{t|�|d
<nd|ks�d|kr�t|�|d<nd|ks�d|kr�t|�|d<nd
|ks�d|kr�t|�|d
<nd|ksd|kr't|�|d<nd|ks?d|krRt|�|d<nd|ksjd|kr}t|�|d<nd|ks�d|kr�t|�|d<nd|ks�d|kr�t|�|d<nd|ks�d|kr�t|�|d<nd|ksd|kr)t|�|d<nd|ksAd|krTt|�|d<nd|ksld|kr�t|�|d<t|�|d <t|�|d!<nd|ks�d|kr�t|�|d<nd|ks�d|kr�t|�|d<nd|ks
d|kr t|�|d<nd|ks8d|krKt |�|d<n|j!d"td#|�dS(%Nt
gather_subsettdefaulttminimumRrtlisttsupports_check_modeR�tconfigtperformanceR�tnetworkR�R}R4R3RRR�RR
RRFRR�R4R>c3`s|]}|�kVqdS(N((R�ttest(t
valid_subsets(sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pys	<genexpr>�stmsgs<value must gather_subset must be one or more of: %s, got: %st,t
azure_offloadtnfs_offloadt
s3_offloadtchangedtpurefa_info(sallResconfigRiscapacityRjssubnets
interfacesshgroupsspgroupsshostssadminssvolumess	snapshotsspodssvgroupssoffloadsappssarraysscertsskmip("R
RktdictRtFalseR	tparamstlowerR�t	fail_jsontjoinR7RLRqR�R�R�RbR�R�R�R_R�RRwR!RSRIRNRRR7R@t	exit_json(t
argument_spectmoduleR.Rktsubsettsubset_testtinfo((RlsS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pytmain�st	&#t__main__(1t
__future__RRRRrt
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtansible.module_utils.basicRtansible.module_utils.pureR	R
R0RsRhRIR R�RR�R�R,R7RLRqRwR�R�R�R�R�R�R�RRRR!R7R@RIRNRSR_RbR�t__name__(((sS/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefa_info.pyt<module>sZ


 �N	"		/					
	0		,				
								C

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]