コード例 #1
0
ファイル: brocade_zoning_cfg.py プロジェクト: brocade/ansible
def main():
    """
    Main function
    """

    argument_spec = dict(
        credential=dict(required=True, type='dict', no_log=True),
        vfid=dict(required=False, type='int'),
        throttle=dict(required=False, type='float'),
        timeout=dict(required=False, type='float'),
        cfgs=dict(required=False, type='list'),
        members_add_only=dict(required=False, type='bool'),
        members_remove_only=dict(required=False, type='bool'),
        cfgs_to_delete=dict(required=False, type='list'),
        active_cfg=dict(required=False, type='str'))

    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True
    )

    input_params = module.params

    # Set up state variables
    fos_ip_addr = input_params['credential']['fos_ip_addr']
    fos_user_name = input_params['credential']['fos_user_name']
    fos_password = input_params['credential']['fos_password']
    https = input_params['credential']['https']
    throttle = input_params['throttle']
    timeout = input_params['timeout']
    vfid = input_params['vfid']
    cfgs = input_params['cfgs']
    members_add_only = input_params['members_add_only']
    members_remove_only = input_params['members_remove_only']
    cfgs_to_delete = input_params['cfgs_to_delete']
    active_cfg = input_params['active_cfg']
    result = {"changed": False}

    if vfid is None:
        vfid = 128

    ret_code, auth, fos_version = login(fos_ip_addr,
                           fos_user_name, fos_password,
                           https, throttle, result, timeout)
    if ret_code != 0:
        module.exit_json(**result)

    zoning_common(fos_ip_addr, https, auth, vfid, result, module, cfgs,
                  members_add_only, members_remove_only, cfgs_to_delete, "cfg",
                  cfg_process_diff, cfg_process_diff_to_delete,
                  cfg_get, cfg_post, cfg_delete, active_cfg, timeout)

    ret_code = logout(fos_ip_addr, https, auth, result, timeout)
    module.exit_json(**result)
コード例 #2
0
def main():
    """
    Main function
    """

    argument_spec = dict(
        credential=dict(required=True, type='dict'),
        vfid=dict(required=False, type='int'),
        throttle=dict(required=False, type='float'),
        zones=dict(required=False, type='list'),
        zones_to_delete=dict(required=False, type='list'))

    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True
    )

    input_params = module.params

    # Set up state variables
    fos_ip_addr = input_params['credential']['fos_ip_addr']
    fos_user_name = input_params['credential']['fos_user_name']
    fos_password = input_params['credential']['fos_password']
    https = input_params['credential']['https']
    throttle = input_params['throttle']
    vfid = input_params['vfid']
    zones = input_params['zones']
    zones_to_delete = input_params['zones_to_delete']
    result = {"changed": False}

    if vfid is None:
        vfid = 128

    ret_code, auth, fos_version = login(fos_ip_addr,
                           fos_user_name, fos_password,
                           https, throttle, result)
    if ret_code != 0:
        module.exit_json(**result)

    zoning_common(fos_ip_addr, https, auth, vfid, result, module, zones,
                  zones_to_delete, "zone", zone_process_diff, zone_get,
                  zone_post, zone_delete, None)

    ret_code = logout(fos_ip_addr, https, auth, result)
    module.exit_json(**result)
コード例 #3
0
def main():
    """
    Main function
    """

    argument_spec = dict(credential=dict(required=True,
                                         type='dict',
                                         no_log=True),
                         vfid=dict(required=False, type='int'),
                         throttle=dict(required=False, type='float'),
                         timeout=dict(required=False, type='float'),
                         object_name=dict(required=True, type='str'),
                         new_name=dict(required=True, type='str'))

    module = AnsibleModule(argument_spec=argument_spec,
                           supports_check_mode=True)

    input_params = module.params

    # Set up state variables
    fos_ip_addr = input_params['credential']['fos_ip_addr']
    fos_user_name = input_params['credential']['fos_user_name']
    fos_password = input_params['credential']['fos_password']
    https = input_params['credential']['https']
    throttle = input_params['throttle']
    timeout = input_params['timeout']
    vfid = input_params['vfid']
    object_name = input_params['object_name']
    new_name = input_params['new_name']
    result = {"changed": False}

    if vfid is None:
        vfid = 128

    ret_code, auth, fos_version = login(fos_ip_addr, fos_user_name,
                                        fos_password, https, throttle, result,
                                        timeout)
    if ret_code != 0:
        module.exit_json(**result)

    object_name_dict, new_name_dict = zoning_find_pair_common(
        module, fos_ip_addr, https, auth, vfid, "alias", object_name, new_name,
        result, timeout)

    result["object_name_dict"] = object_name_dict
    result["new_name_dict"] = new_name_dict

    # object_name was found and new_name doesn't exist. Create one
    if len(object_name_dict) > 0:
        object_name_dict["name"] = new_name
        obj_list = [object_name_dict]
        zoning_common(fos_ip_addr, https, auth, vfid, result, module, obj_list,
                      False, False, None, "alias", alias_process_diff,
                      alias_process_diff_to_delete, alias_get, alias_post,
                      alias_delete, None, timeout)
        ret_code = logout(fos_ip_addr, https, auth, result, timeout)
        module.exit_json(**result)

    object_name_dict, new_name_dict = zoning_find_pair_common(
        module, fos_ip_addr, https, auth, vfid, "zone", object_name, new_name,
        result, timeout)

    result["object_name_dict"] = object_name_dict
    result["new_name_dict"] = new_name_dict

    # object_name was found and new_name doesn't exist. Create one
    if len(object_name_dict) > 0:
        if object_name_dict["zone-type"] == 2:
            result["failed"] = True
            result["msg"] = "Target created Peer Zone cannot be copied"
            ret_code = logout(fos_ip_addr, https, auth, result, timeout)
            module.exit_json(**result)

        object_name_dict["name"] = new_name
        obj_list = [object_name_dict]
        zoning_common(fos_ip_addr, https, auth, vfid, result, module, obj_list,
                      False, False, None, "zone", zone_process_diff,
                      zone_process_diff_to_delete, zone_get, zone_post,
                      zone_delete, None, timeout)
        ret_code = logout(fos_ip_addr, https, auth, result, timeout)
        module.exit_json(**result)

    object_name_dict, new_name_dict = zoning_find_pair_common(
        module, fos_ip_addr, https, auth, vfid, "cfg", object_name, new_name,
        result, timeout)

    result["object_name_dict"] = object_name_dict
    result["new_name_dict"] = new_name_dict

    # object_name was found and new_name doesn't exist. Create one
    if len(object_name_dict) > 0:
        object_name_dict["name"] = new_name
        obj_list = [object_name_dict]
        zoning_common(fos_ip_addr, https, auth, vfid, result, module, obj_list,
                      False, False, None, "cfg", cfg_process_diff,
                      cfg_process_diff_to_delete, cfg_get, cfg_post,
                      cfg_delete, None, timeout)
        ret_code = logout(fos_ip_addr, https, auth, result, timeout)
        module.exit_json(**result)

    result["failed"] = True
    result["msg"] = "no such object was found"
    ret_code = logout(fos_ip_addr, https, auth, result, timeout)
    module.exit_json(**result)