Example #1
0
def close_conn():
    """
    this function close connection to LXCA
    :param module:
    :return:  None
    """
    disconnect()
Example #2
0
def _get_storedcredentials(module, kwargs):
    result = None
    try:
        with connection_object(module, kwargs) as con:
            result = storedcredentials(con, kwargs.get('storedcredential_id'))
    except Exception as err:
        disconnect()
        module.fail_json(msg="Error getting stored credential " + str(err))
    return result
Example #3
0
 def __exit__(self, type, value, traceback):
     disconnect()
Example #4
0
def main():
    """
    Main entry point for this module
    :return:
    """
    module = AnsibleModule(
        argument_spec=dict(
            login_user=dict(default=None, required=False),
            login_password=dict(default=None, required=False, no_log=True),
            command_options=dict(choices=list(FUNC_DICT)),
            subcmd=dict(default=None),
            lxca_action=dict(default=None,
                             choices=[
                                 'apply', 'power', 'cancelApply', 'read',
                                 'refresh', 'acquire', 'delete', 'unassign',
                                 'import', None
                             ]),
            auth_url=dict(default=None),
            uuid=dict(default=None),
            id=dict(default=None),
            endpoint_ip=dict(default=None),
            jobid=dict(default=None),
            user=dict(default=None, required=False),
            password=dict(default=None, required=False, no_log=True),
            force=dict(default=None),
            description=dict(default=None),
            recovery_password=dict(default=None, no_log=True),
            repo_key=dict(default=None,
                          choices=[
                              None, 'supportedMts', 'size', 'lastRefreshed',
                              'importDir', 'publicKeys', 'updates',
                              'updatesByMt', 'updatesByMtByComp'
                          ]),
            mode=dict(default=None,
                      choices=[None, 'immediate', 'delayed', 'prioritized']),
            server=dict(default=None),
            storage=dict(default=None),
            switch=dict(default=None),
            cmm=dict(default=None),
            policy_info=dict(default=None,
                             choices=[
                                 None, 'FIRMWARE', 'RESULTS',
                                 'COMPARE_RESULTS', 'NAMELIST'
                             ]),
            policy_name=dict(default=None),
            policy_type=dict(default=None,
                             choices=[
                                 'CMM', 'IOSwitch', 'RACKSWITCH', 'STORAGE',
                                 'SERVER', None
                             ]),
            update_list=dict(default=None, type=('list')),
            machine_type=dict(default=None),
            fixids=dict(default=None),
            scope=dict(default=None,
                       choices=['all', 'latest', 'payloads', None]),
            file_type=dict(default=None, choices=[None, 'all', 'payloads']),
            endpoint=dict(default=None),
            restart=dict(default=None,
                         choices=[None, 'defer', 'immediate', 'pending']),
            type=dict(default=None,
                      choices=[None, 'node', 'rack', 'tower', 'flex']),
            config_pattern_name=dict(default=None),
            config_profile_name=dict(default=None),
            powerdown=dict(default=None),
            resetimm=dict(default=None),
            pattern_update_dict=dict(default=None, type=('dict')),
            includeSettings=dict(default=None),
            imagetype=dict(default=None,
                           choices=[
                               "BUNDLE", "BOOT", "DUD", "OS", "OSPROFILE",
                               "SCRIPT", "CUSTOM_CONFIG", "UNATTEND"
                           ]),
            osimages_dict=dict(default=None, type=('dict')),
            update_key=dict(default=None,
                            choices=[
                                'all', 'currentVersion', 'history',
                                'importDir', 'size', 'updates', 'updatedDate',
                                None
                            ]),
            files=dict(default=None),
            storedcredential_id=dict(default=None),
            uuid_list=dict(default=None, type=('list')),
            unittest=dict(default=None),
        ),
        supports_check_mode=False,
    )

    if not HAS_PYLXCA:
        module.fail_json(changed=False, msg="Install pylxca")

    rslt = None
    command_options = module.params['command_options']

    rslt = FUNC_DICT[command_options](module, module.params)
    if module.params['unittest']:
        return rslt

    if command_options == "connect":
        if rslt:
            disconnect()
            module.exit_json(changed=False,
                             msg="Success %s result" % command_options,
                             result="Connected successfully")

    if not rslt:
        module.fail_json(changed=False,
                         msg="Fail to get %s result" % command_options,
                         result=rslt)
    else:
        module.exit_json(changed=__changed__,
                         msg="Success %s result" % command_options,
                         result=rslt)