Exemple #1
0
def main(argv):
    valid_options = ["hbaid"]
    inputs = brcd_util.generic_input(argv, usage, valid_options)

    session = brcd_util.getsession(inputs)

    # Set VF ID, if necessary
    vfid = None
    if 'vfid' in inputs:
        vfid = inputs['vfid']
    if vfid is not None:
        pyfos_auth.vfid_set(session, vfid)

    # Call fdmishow
    fdmishow(session, inputs)

    # Log out
    pyfos_auth.logout(session)
Exemple #2
0
def main(argv):

    # Print arguments
    # print(sys.argv[1:])

    filters = ['description', 'location', 'contact', 'informs_enabled',
               'encryption_enabled', 'audit_interval',
               'default_config_default_control', 'security_get_level',
               'security_set_level', 'snmpv1_enabled']

    inputs = brcd_util.parse(argv, system, filters, validate)

    session = brcd_util.getsession(inputs)

    result = _set_snmp_system(inputs['session'], inputs['utilobject'])
    pyfos_util.response_print(result)

    pyfos_auth.logout(session)
Exemple #3
0
def main(argv):

    filters = []
    inputs = brcd_util.parse(argv, license, filters)

    session = brcd_util.getsession(inputs)

    result = get_license_info(inputs['session'])
    pyfos_util.response_print(result)

    chassis_obj = chassis()
    result = chassis_obj.get(inputs['session'])
    if pyfos_util.is_failed_resp(result):
        pyfos_util.response_print(result)
    else:
        print("License ID:", result.peek_license_id())

    pyfos_auth.logout(session)
def main(argv):
    # Parse input arguments
    filters = ['port_id']
    inputs = brcd_util.parse(argv, pyfos_name_server.fibrechannel_name_server,
                             filters)

    # Get Name Server object
    name_server_object = inputs['utilobject']

    # Get session
    session = brcd_util.getsession(inputs)

    # Print Name Server properties
    result = name_server_object.get(session, name_server_object.peek_port_id())
    pyfos_util.response_print(result)

    # Logout
    pyfos_auth.logout(session)
Exemple #5
0
def main(argv):

    # Print arguments
    # print(sys.argv[1:])

    filters = [
        'n_port', 'configured_f_port_list_f_port', 'static_f_port_list_f_port',
        'failback_enabled', 'failover_enabled'
    ]
    inputs = brcd_util.parse(argv, n_port_map, filters, validate)

    session = brcd_util.getsession(inputs)

    result = _set_access_gateway_nportmap(inputs['session'],
                                          inputs['utilobject'])
    pyfos_util.response_print(result)

    pyfos_auth.logout(session)
def main(argv):
    filters = ["name"]
    inputs = brcd_util.parse(argv, sec_crypto_cfg_template, filters)

    # Login to switch
    session = brcd_util.getsession(inputs)

    show_obj = inputs['utilobject']
    if show_obj.peek_name() is None:
        sec_crypto_templates = sec_crypto_cfg_template.get(inputs['session'])
    else:
        sec_crypto_templates = sec_crypto_cfg_template.get(
            inputs['session'], show_obj.peek_name())

    pyfos_util.response_print(sec_crypto_templates)

    # Session logout
    pyfos_auth.logout(session)
Exemple #7
0
def zone_name_func(session, inputs, usage, func):
    # comment zone helper to execute & commit
    # name based operations
    if "name" not in inputs:
        pyfos_auth.logout(session)
        usage()
        sys.exit()
    name = inputs["name"]

    current_effective = pyfos_zone.effective_configuration.get(session)

    result = func(session, name)
    if pyfos_util.is_failed_resp(result):
        pyfos_util.response_print(result)
    else:
        pyfos_util.response_print(result)
        result = cfgsave.cfgsave(session, current_effective.peek_checksum())
        pyfos_util.response_print(result)
def main(argv):
    filters = ["gmt_offset_hours", "gmt_offset_minutes"]
    inputs = brcd_util.parse(argv, time_zone, filters)

    tz_obj = inputs['utilobject']
    if tz_obj.peek_gmt_offset_hours() is None:
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    # Login to switch
    session = brcd_util.getsession(inputs)

    result = tz_obj.patch(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
Exemple #9
0
def main(argv):
    filters = ["user_name"]

    inputs = brcd_util.parse(argv, user_specific_password_cfg, filters)

    user_specific_password_cfg_obj = inputs['utilobject']

    if user_specific_password_cfg_obj.peek_user_name() is None:
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    session = brcd_util.getsession(inputs)

    result = user_specific_password_cfg_obj.delete(session)
    pyfos_util.response_print(result)

    pyfos_auth.logout(session)
Exemple #10
0
def main(argv):
    filters = ["name"]
    inputs = brcd_util.parse(argv, ipfilter_policy, filters)

    ipfilter_obj = inputs['utilobject']
    if ipfilter_obj.peek_name() is None:
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    # Login to switch
    session = brcd_util.getsession(inputs)

    result = ipfilter_obj.delete(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
Exemple #11
0
def main(argv):
    filters = ["server"]
    inputs = brcd_util.parse(argv, ldap_server, filters)

    ldap_obj = inputs['utilobject']
    if ldap_obj.peek_server() is None:
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    # Login to switch
    session = brcd_util.getsession(inputs)

    result = ldap_obj.post(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
Exemple #12
0
def main(argv):
    valid_options = ["json", "compare"]
    inputs = brcd_util.generic_input(argv, usage, valid_options)

    session = pyfos_auth.login(inputs["login"],
                               inputs["password"],
                               inputs["ipaddr"],
                               inputs["secured"],
                               verbose=inputs["verbose"])
    if pyfos_auth.is_failed_login(session):
        print(
            "login failed because",
            session.get(pyfos_auth.CREDENTIAL_KEY)[pyfos_auth.LOGIN_ERROR_KEY])
        usage()
        sys.exit()

    brcd_util.exit_register(session)

    vfid = None
    if 'vfid' in inputs:
        vfid = inputs['vfid']

    if vfid is not None:
        pyfos_auth.vfid_set(session, vfid)

    in_json = False
    if 'json' in inputs:
        in_json = inputs['json']

    if in_json:
        fmtfile = 'JSON'
        fmtobj = 'json'
        ext = '.json'
    else:
        fmtfile = 'XLSX'
        fmtobj = 'attributes'
        ext = '.xlsx'
    envelope_name = get_envelope_name(inputs['ipaddr'])
    envelope_name += ext
    mgr = config_manager(fmtfile, fmtobj)
    mgr.dumptofile(session, envelope_name)
    print("done")

    pyfos_auth.logout(session)
Exemple #13
0
def zone_name_members_pmembers_func(session, inputs, usage, func):
    # comment zone helper to execute & commit
    # name, member, and principal member based operations
    if "name" not in inputs:
        print("*** missing input: name")
        pyfos_auth.logout(session)
        brcd_util.full_usage(usage)
        sys.exit()
    name = inputs["name"]

    if "members" not in inputs:
        members = None
    else:
        members = inputs["members"]

    if "pmembers" not in inputs:
        pmembers = None
    else:
        pmembers = inputs["pmembers"]

    if members is None and pmembers is None:
        print("*** missing input: members & pmembers")
        pyfos_auth.logout(session)
        brcd_util.full_usage(usage)
        sys.exit()

    current_effective = pyfos_zone.effective_configuration.get(session)

    print("executing", func.__name__)
    result = func(session, name, members, pmembers)
    if pyfos_util.is_failed_resp(result):
        pyfos_util.response_print(result)
        print(func.__name__, "failed. Aborting transaction.")
        result = cfgabort.cfgabort(session)
        pyfos_util.response_print(result)
    else:
        pyfos_util.response_print(result)
        print(func.__name__, "succeeded. Saving transaction.")
        result = cfgsave.cfgsave(session, current_effective.peek_checksum())
        if pyfos_util.is_failed_resp(result):
            pyfos_util.response_print(result)
            print(func.__name__, "failed. Aborting transaction.")
            result = cfgabort.cfgabort(session)
            pyfos_util.response_print(result)
Exemple #14
0
def main(argv):

    # Print arguments
    # print(sys.argv[1:])

    filters = [
        'port_group_id', 'port_group_n_ports_n_port',
        'port_group_f_ports_f_port'
    ]
    inputs = brcd_util.parse(argv, port_group, filters, validate)

    portgroup_obj = inputs['utilobject']

    session = brcd_util.getsession(inputs)

    # pyfos_util.response_print(inputs['utilobject'].displaycustomcli())
    result = _del_members(inputs['session'], portgroup_obj)
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
Exemple #15
0
def main(argv):
    filters = ["name", "enabled_state"]
    inputs = brcd_util.parse(argv, fibrechannel, filters, validate)

    fcObject = inputs['utilobject']
    if fcObject.peek_enabled_state() == 1:
        fcObject.set_enabled_state(2)
    elif fcObject.peek_enabled_state() == 0:
        fcObject.set_enabled_state(6)
    else:
        print("Invalid value for enabled_state")
        brcd_util.full_usage(usage, filters)
        sys.exit()
    session = brcd_util.getsession(inputs)

    result = fcObject.patch(session)
    pyfos_util.response_print(result)

    pyfos_auth.logout(session)
Exemple #16
0
def main(argv):
    valid_options = ["name"]
    inputs = brcd_util.generic_input(argv, usage, valid_options)

    session = pyfos_auth.login(inputs["login"],
                               inputs["password"],
                               inputs["ipaddr"],
                               inputs["secured"],
                               verbose=inputs["verbose"])
    if pyfos_auth.is_failed_login(session):
        print(
            "login failed because",
            session.get(pyfos_auth.CREDENTIAL_KEY)[pyfos_auth.LOGIN_ERROR_KEY])
        brcd_util.full_usage(usage, valid_options)
        sys.exit()

    brcd_util.exit_register(session)

    if "FOS-" in inputs["name"]:
        err_str = "Invalid license format. "
        print(err_str + "Please specify only key based license.")
        brcd_util.full_usage(usage, valid_options)
        sys.exit()

    if "name" not in inputs:
        print("License key is required")
        brcd_util.full_usage(usage, valid_options)
        sys.exit()
    l_obj = license_parameters()
    l_obj.set_action("remove")
    l_obj.set_name(inputs["name"])
    l_rsp_obj = l_obj.post(session)
    if ("info-message" in l_rsp_obj and l_rsp_obj["info-message"]
            == "Switch version is lower than the object"):
        pyfos_util.response_print(l_rsp_obj)
        pyfos_auth.logout(session)
        sys.exit()
    if pyfos_util.is_failed_resp(l_rsp_obj):
        pyfos_util.response_print(l_rsp_obj)
    else:
        pyfos_util.response_print(l_rsp_obj)

    pyfos_auth.logout(session)
def main(argv):
    # Parse input arguments
    filters = ['n_port_id']
    inputs = brcd_util.parse(argv, pyfos_ftc.fabric_traffic_controller_device,
                             filters)

    # Get Fabric Traffic Controller (FTC) object
    ftc_object = inputs['utilobject']

    # Get session
    session = brcd_util.getsession(inputs)

    # Print Fabric Traffic Controller properties
    result = ftc_object.get(session, ftc_object.peek_n_port_id())

    pyfos_util.response_print(result)

    # Logout
    pyfos_auth.logout(session)
Exemple #18
0
def get_fabric_from_seedswitch():

    fabric = []
    # Get session from input seed switch
    session = get_session(IPADDRESS)
    if pyfos_auth.is_failed_login(session):
        print(
            "Login failed due to",
            session.get(pyfos_auth.CREDENTIAL_KEY)[pyfos_auth.LOGIN_ERROR_KEY])
        sys.exit()
    else:
        pyfos_auth.vfid_set(session, VFID)

        # Get fabric from seed switch
        fabric = pyfos_fabric.fabric_switch.get(session)

        pyfos_auth.logout(session)

    return fabric
def main(argv):
    filters = ["template_name"]
    inputs = brcd_util.parse(argv, sec_crypto_cfg_template_action, filters)

    crypto_obj = inputs['utilobject']

    if crypto_obj.peek_template_name() is None:
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    # Login to switch
    session = brcd_util.getsession(inputs)

    result = crypto_obj.delete(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
Exemple #20
0
def main(argv):
    # myinput = "-i 10.17.3.70 -n 4/17 -d 0 --ip-address 124.10.10.1 -p 24"
    # myinput = "-i 10.17.3.70 -n 7/17"
    # myinput = "-i 10.17.3.70 --vlan-id 100"
    # myinput = "-i 10.17.3.70 --mtu-size 1567"
    # argv = myinput.split()
    filters = [
        "name", "mtu_size", "ip_prefix_length", "ip_address", "dp_id",
        "vlan_id"
    ]
    inputs = brcd_util.parse(argv, extension_ip_interface, filters)
    ipobject = inputs['utilobject']
    session = brcd_util.getsession(inputs)
    result = _show_extension_ip(session, ipobject)
    if len(result) == 0:
        print("No IP Interface found.")
    else:
        pyfos_util.response_print(result)
    pyfos_auth.logout(session)
def main(argv):
    filters = ['host', 'user_name', 'password', 'remote_directory', 'protocol']
    inputs = brcd_util.parse(argv, supportsave, filters, ss_validate)
    ss_obj = inputs['utilobject']

    session = brcd_util.getsession(inputs)
    ss_rsp_obj = _post_supportsave(session, ss_obj)
    if ("info-message" in ss_rsp_obj and ss_rsp_obj["info-message"]
            == "Switch version is lower than the object"):
        pyfos_util.response_print(ss_rsp_obj)
        pyfos_auth.logout(session)
        sys.exit()
    if pyfos_util.is_failed_resp(ss_rsp_obj):
        print("Supportsave operation failed.\n")
        pyfos_util.response_print(ss_rsp_obj)
    else:
        ss_show_status(session, ss_rsp_obj)

    pyfos_auth.logout(session)
Exemple #22
0
def main(argv):
    filters = ["server", "port", "timeout", "authentication",
               "secret", "encryption_type"]
    inputs = brcd_util.parse(argv, radius_server, filters)

    radius_obj = inputs['utilobject']
    if radius_obj.peek_server() is None:
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    # Login to switch
    session = brcd_util.getsession(inputs)

    result = radius_obj.post(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
def main(argv):
    filters = ["group", "source_port"]
    inputs = brcd_util.parse(argv, trunk, filters)

    fcObject = inputs['utilobject']
    if fcObject.peek_group() is None:
        print("Missing group index in inputs:")
        print(inputs['utilusage'])
        sys.exit(1)

    if fcObject.peek_source_port() is None:
        print("Missing source port in inputs:")
        print(inputs['utilusage'])
        sys.exit(1)

    session = brcd_util.getsession(inputs)
    result = fcObject.getInstances(session)
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
def main(argv):
    # pylint: disable=W0603
    global g_session
    valid_options = ["hostport", "targetname", "targetport"]
    inputs = brcd_util.generic_input(argv, usage, valid_options)

    g_session = pyfos_auth.login(inputs["login"],
                                 inputs["password"],
                                 inputs["ipaddr"],
                                 inputs["secured"],
                                 verbose=inputs["verbose"])
    if pyfos_auth.is_failed_login(g_session):
        print(
            "login failed because",
            g_session.get(
                pyfos_auth.CREDENTIAL_KEY)[pyfos_auth.LOGIN_ERROR_KEY])
        brcd_util.full_usage(usage, valid_options)
        sys.exit()

    brcd_util.exit_register(g_session)

    vfid = None
    if 'vfid' in inputs:
        vfid = inputs['vfid']

    if vfid is not None:
        pyfos_auth.vfid_set(g_session, vfid)

    ret_code, details = zone_allow_pair_to_peer(g_session, ZONE_PREFIX,
                                                inputs["hostport"],
                                                inputs["targetname"],
                                                inputs["targetport"], CFG_NAME,
                                                False)

    if ret_code > 0:
        print("zone db updated", ret_code)
    else:
        print("zone db remains", ret_code)

    print(details)

    pyfos_auth.logout(g_session)
Exemple #25
0
def main(argv):
    filters = ["name", "clone_destination_policy_name"]
    inputs = brcd_util.parse(argv, ipfilter_policy, filters)

    ipfilter_obj = inputs['utilobject']
    if (ipfilter_obj.peek_name() is None
            or ipfilter_obj.peek_clone_destination_policy_name() is None):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    ipfilter_obj.set_action("clone")
    # Login to switch
    session = brcd_util.getsession(inputs)

    result = ipfilter_obj.patch(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
def main(argv):

    filters = [
        "actions_action", "decommission_cfg", "sender_address",
        "recipient_address_list_recipient_address", "domain_name",
        "relay_ip_address", "test_email_subject", "test_email_body"
    ]

    inputs = brcd_util.parse(argv, maps_config, filters)

    maps_config_obj = inputs['utilobject']

    # Login to switch
    session = brcd_util.getsession(inputs)

    result = maps_config_obj.patch(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
Exemple #27
0
def main(argv):

    filters = ["group_type", "members_member"]
    inputs = brcd_util.parse(argv, paused_cfg, filters)

    pause_obj = inputs['utilobject']
    if (pause_obj.peek_group_type() is None
            or pause_obj.peek_members_member() is None):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

    # Login to switch
    session = brcd_util.getsession(inputs)

    result = pause_obj.delete(session)
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
Exemple #28
0
def main(argv):
	global session
	atexit.register(exit_handler)

	name = None

	ipaddr = input("Switch IP:")
	login = input("Login:"******"login failed because", session.get('credential')['login-error'])
		sys.exit()

	shell(login)
	pyfos_auth.logout(session)

	session = None
Exemple #29
0
def main(argv):

    # Print arguments
    # print(sys.argv[1:])

    filters = ['ag_mode']
    inputs = brcd_util.parse(argv, fibrechannel_switch, filters)

    sw_obj = inputs['utilobject']

    session = brcd_util.getsession(inputs)

    if sw_obj.peek_ag_mode() is None:
        print("Missing input(s)")
        sys.exit()

    # pyfos_util.response_print(inputs['utilobject'].displaycustomcli())
    result = set_ag_mode(inputs['session'], sw_obj.peek_ag_mode())
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
def main(argv):

    # Print arguments
    # print(sys.argv[1:])

    filters = ['user_name', 'old_password', 'new_password']
    inputs = brcd_util.parse(argv, password, filters)

    passwd_obj = inputs['utilobject']

    if (passwd_obj.peek_user_name() is None
            and passwd_obj.peek_new_password() is None):
        print("Missing input(s)")
        print(inputs['utilusage'])
        sys.exit()
    session = brcd_util.getsession(inputs)

    # pyfos_util.response_print(inputs['utilobject'].displaycustomcli())
    result = _change_password(inputs['session'], inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)