示例#1
0
def main(argv):
    filters = ["name", "pod_license_state"]
    inputs = brcd_util.parse(argv, fibrechannel, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _modify_fibrechannel(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#2
0
def main(argv):
    filters = ["server", "port", "timeout", "domain", "position", "tls_mode"]

    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)

    if not (ldap_obj.peek_port() or
            ldap_obj.peek_timeout() or ldap_obj.peek_domain() or
            ldap_obj.peek_position() or ldap_obj.peek_tls_mode()):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

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

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

    # Log out
    pyfos_auth.logout(session)
示例#3
0
def main(argv):
    filters = ["name"]
    inputs = brcd_util.parse(argv, portchannel, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _delete_portchannel(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#4
0
def main(argv):
    filters = ["out_bytes_wan_compression", "in_packets_lan_session_manager",
               "vlan_priority", "traffic_control_list_name",
               "out_bytes_lan_session_manager", "tcp_retransmits",
               "zero_window_count", "active_flow",
               "in_drops_lan_session_manager", "destination_port",
               "in_bytes_average", "destination_ip_address",
               "in_bytes_lan_session_manager", "in_bytes_lan_compression",
               "out_tcp_packets", "duplicate_acknowledgement", "source_port",
               "mapped_tunnel", "dp_id", "in_bytes_wan_compression",
               "in_tcp_bytes", "vlan_id", "out_packets_lan_session_manager",
               "zero_window_maximum_duration", "source_ip_address",
               "fast_retransmits", "rtt", "mapped_tunnel_ve_port",
               "hcl_flow", "dscp", "slot", "crc_errors", "lan_interface",
               "local_host_mss", "start_time", "out_tcp_bytes",
               "out_bytes_average", "slow_retransmits",
               "out_drops_lan_session_manager", "out_bytes_lan_compression",
               "flow_index", "mapped_tunnel_qos", "in_tcp_packets",
               "tcp_out_of_order_packets", "end_time", "remote_host_mss",
               "protocol"]
    inputs = brcd_util.parse(argv, lan_flow_statistics, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _show_lan_flow_statistics(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
def main(argv):
    filters = [
        "policy_name", "index", "source_ip", "destination_start_port",
        "protocol", "permission"
    ]
    inputs = brcd_util.parse(argv, ipfilter_rule, filters)

    ipfilter_obj = inputs['utilobject']
    if (ipfilter_obj.peek_policy_name() is None
            or ipfilter_obj.peek_index() is None
            or ipfilter_obj.peek_source_ip() is None
            or ipfilter_obj.peek_destination_start_port() is None
            or ipfilter_obj.peek_protocol() is None
            or ipfilter_obj.peek_permission() is None):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

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

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

    # Log out
    pyfos_auth.logout(session)
def main(argv):
    filters = ["ldap_role", "switch_role",
               "home_virtual_fabric", "chassis_access_role"]

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

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

    if (ldapcfg_obj.peek_home_virtual_fabric() is None and
            ldapcfg_obj.peek_chassis_access_role() is None and
            ldapcfg_obj.peek_switch_role() is None):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

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

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

    # Log out
    pyfos_auth.logout(session)
def main(argv):
    filters = [
        "template_name", "action", "remote_user_name", "remote_host_ip",
        "remote_user_password", "remote_directory",
        "file_transfer_protocol_type"
    ]

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

    crypto_obj = inputs['utilobject']

    if (crypto_obj.peek_action() is None
            or crypto_obj.peek_template_name() is None
            or crypto_obj.peek_remote_user_name() is None
            or crypto_obj.peek_remote_host_ip() is None
            or crypto_obj.peek_remote_user_password() is None
            or crypto_obj.peek_remote_directory() is None
            or crypto_obj.peek_file_transfer_protocol_type() is None):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

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

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

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

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

    filters = ['allow_user_name', 'rekey_interval']
    inputs = brcd_util.parse(argv, sshutil, filters)

    sshutil_obj = inputs['utilobject']

    # using variables instead of calling functions as the
    # function names are lengthy and difficult to fit the
    # the line length less than 80 chars for flake8.

    if sshutil_obj.peek_rekey_interval() is None:
        if sshutil_obj.peek_allow_user_name() is None:
            print("Missing input(s)")
            print(inputs['utilusage'])
            sys.exit()

    session = brcd_util.getsession(inputs)

    # pyfos_util.response_print(inputs['utilobject'].displaycustomcli())
    result = _sshutil(inputs['session'], inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#9
0
def main(argv):
    # Parse inputs
    filters = [
        "firmware_synchronization_enabled", "http_session_ttl",
        "ezserver_enabled"
    ]
    inputs = brcd_util.parse(argv, chassis_config_settings, filters,
                             _validate_chassis_configuration)

    # Get object
    chassis_configuration_object = inputs['utilobject']

    # Get session
    session = brcd_util.getsession(inputs)

    # Call function
    result = _set_chassis_configuration(session, chassis_configuration_object)
    if result is None:
        print(inputs['utilusage'])
        sys.exit(1)

    # Print response
    pyfos_util.response_print(result)

    # Log out
    pyfos_auth.logout(session)
示例#10
0
def main(argv):
    filters = [
        "name", "password", "role", "home_virtual_fabric",
        "virtual_fabric_role_id_list_role_id", "account_description",
        "account_enabled", "password_change_enforced", "access_start_time",
        "access_end_time", "chassis_access_role"
    ]

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

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

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

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

    # Log out
    pyfos_auth.logout(session)
示例#11
0
def main(argv):
    filters = []
    inputs = brcd_util.parse(argv, routing_configuration, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _show_routing_configuration(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#12
0
def main(argv):
    filters = ["name", "auto_negotiation_enabled"]
    inputs = brcd_util.parse(argv, portchannel, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _modify_portchannel(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#13
0
def main(argv):
    filters = ["enabled_tlvs_tlv", "name"]
    inputs = brcd_util.parse(argv, lldp_profile, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _create_lldp_profile(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#14
0
def main(argv):
    filters = [
        "priority", "out_unacknowledged_packets_sequence",
        "in_queued_packets_next_sequence", "slow_starts",
        "out_queued_packets_minimum_sequence", "in_window_size",
        "in_queued_packets_minimum_sequence", "out_packets", "connection_id",
        "in_window_size_maximum", "operation_mode", "arl_current",
        "out_queued_packets_next_sequence", "fast_retransmits",
        "slow_retransmits", "in_packets",
        "out_queued_packets_maximum_sequence", "out_window_size",
        "in_queued_out_of_order", "arl_next_reset_algorithm", "circuit_id",
        "rtt_variance", "in_bytes", "maximum_fast_retransmits", "source_port",
        "destination_port", "retransmits", "in_queued_out_of_order_maximum",
        "rtt_maximum", "retransmit_timeout", "duplicate_acknowledgement",
        "out_in_flight_packets", "maximum_retransmits",
        "in_queued_out_of_order_total", "connection_mss", "rtt", "ve_port",
        "arl_maximum", "in_queued_packets_maximum_sequence", "out_bytes",
        "in_window_scale", "congestion_window", "in_queued_packets",
        "out_window_scale", "rtt_variance_maximum", "arl_minimum",
        "slow_start_threshold", "ha_type"
    ]
    inputs = brcd_util.parse(argv, wan_statistics, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _show_wan_statistics(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#15
0
def main(argv):
    filters = ["lsan_enforce_tags_tag", "lsan_speed_tag"]
    inputs = brcd_util.parse(argv, routing_configuration, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _delete_routing_configuration(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
def main(argv):
    filters = [
        "activate_no_log_out", "authentication_mode",
        "primary_auth_log_messages"
    ]

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

    server_obj = inputs['utilobject']

    if (server_obj.peek_authentication_mode() is None
            and server_obj.peek_primary_auth_log_messages() is None
            and server_obj.peek_activate_no_log_out() is None):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

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

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

    # Log out
    pyfos_auth.logout(session)
示例#17
0
def main(argv):
    filters = ["zone_object"]
    inputs = brcd_util.parse(argv, zone_operation_parameters, filters,
                             validate)
    session = brcd_util.getsession(inputs)

    # Store the checksum before editing the zoneDB to use for the
    #  cfgsave at the end
    current_effective = pyfos_zone.effective_configuration.get(session)

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

    # If the expunge operation succeeds, perform an implicit cfgsave
    # If the expunge operation fails, it should get automatically aborted
    # in the FOS Zone module, so no need to abort the transaction.
    if pyfos_util.is_success_resp(result):
        result = cfgsave.cfgsave(session, current_effective.peek_checksum())

        # If the save operation fails, check to see if there is an open
        #  transaction. If there is, then abort the transaction
        if pyfos_util.is_failed_resp(result):
            print("Expunge succeeded, but the cfgSave failed.")
            current_effective = pyfos_zone.effective_configuration.get(session)
            if current_effective.peek_transaction_token() != 0:
                pyfos_util.response_print(result)
                print("\nAborting the transaction.")
                result = cfgabort.cfgabort(session)
                pyfos_util.response_print(result)

    pyfos_auth.logout(session)
示例#18
0
def main(argv):
    filters = []
    inputs = brcd_util.parse(argv, trunk_area, filters)
    session = brcd_util.getsession(inputs)
    result = trunk_area.get(session)
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#19
0
def main(argv):

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

    filters = [
        'user_name', 'action', 'public_key_name', 'remote_host_ip',
        'remote_directory', 'remote_user_name', 'remote_user_password',
        'algorithm_type'
    ]
    inputs = brcd_util.parse(argv, sshutil_public_key_action, filters)

    sshutil_obj = inputs['utilobject']

    # using variables instead of calling functions as the
    # function names are lengthy and difficult to fit the
    # the line length less than 80 chars for flake8.

    if (sshutil_obj.peek_remote_host_ip() is None
            and sshutil_obj.peek_remote_directory() is None
            and sshutil_obj.peek_remote_user_name() is None
            and sshutil_obj.peek_remote_user_password() is None
            and sshutil_obj.peek_action() is None):
        print("Missing input(s)")
        print(inputs['utilusage'])
        sys.exit()

    session = brcd_util.getsession(inputs)

    # pyfos_util.response_print(inputs['utilobject'].displaycustomcli())
    result = _import_export_key(inputs['session'], inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#20
0
def main(argv):
    filters = ["config"]
    inputs = brcd_util.parse(argv, "auth-token-manager", filters, validate)
    session = brcd_util.getsession(inputs)
    result = _delete_auth_token_manager(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#21
0
def main(argv):
    filters = ["policy_name"]
    inputs = brcd_util.parse(argv, extension_ipsec_policy, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _delete_extension_ipsec_policy(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#22
0
def main(argv):
    filters = []
    inputs = brcd_util.parse(argv, lsan_device, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _show_lsan_device(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#23
0
def main(argv):
    filters = [
        "ip_address_ip_address", "ip_static_gateway_list_ip_static_gateway",
        "subnet_mask"
    ]
    inputs = brcd_util.parse(argv, fibrechannel_switch, filters, validate)
    session = brcd_util.getsession(inputs)
    swobject = inputs['utilobject']
    if session['version'] < version.fosversion("8.2.1"):
        skipattributes = ""
        if swobject.peek_subnet_mask() is not None:
            skipattributes += "subnet-mask"
        if swobject.peek_ip_static_gateway_list_ip_static_gateway() != \
           "[]":
            if len(skipattributes) > 0:
                skipattributes += ","
            skipattributes += "ip-static-gateway-list/ip-static-gateway"
        if len(skipattributes) > 0:
            print("Skipping following attributes:(", skipattributes,
                  ") for patch as the switch fos version[",
                  session['version'].to_string(),
                  "]is below the supported attribute version of 8.2.1")
        if swobject.peek_ip_address_ip_address() == "[]":
            pyfos_auth.logout(session)
            return
    result = _modify_switch_ip_config_params(session, swobject)
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#24
0
def main(argv):
    filters = ["name", "dynamic_load_sharing"]
    inputs = brcd_util.parse(argv, fibrechannel_switch, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _modify_fibrechannel_switch(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#25
0
def main(argv):
    filters = ["index"]
    inputs = brcd_util.parse(argv, v1_account, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _delete_v1_account(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#26
0
def main(argv):

    filters = ["name", "group_feature", "feature_pattern"]
    inputs = brcd_util.parse(argv, group, filters)

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

    if (grp_obj.peek_group_feature() is None
            or grp_obj.peek_feature_pattern() is None):
        print("Missing command line options")
        print(inputs['utilusage'])
        exit(1)

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

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

    # Log out
    pyfos_auth.logout(session)
示例#27
0
def main(argv):
    filters = ["optional_tlvs_tlv"]
    inputs = brcd_util.parse(argv, lldp_global, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _delete_lldp_global(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#28
0
def main(argv):
    filters = ["dp_id", "slot"]
    inputs = brcd_util.parse(argv, global_lan_statistics, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _show_global_lan_statistics(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#29
0
def main(argv):
    filters = ["name", "speed"]
    inputs = brcd_util.parse(argv, gigabitethernet, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _modify_gigabitethernet(session, inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)
示例#30
0
def main(argv):
    filters = ['user_name', 'old_password', 'new_password']
    inputs = brcd_util.parse(argv, password, filters, validate)
    session = brcd_util.getsession(inputs)
    result = _change_password(inputs['session'], inputs['utilobject'])
    pyfos_util.response_print(result)
    pyfos_auth.logout(session)