9.3. SteelScript SteelHead Sources

This module contains the SteelHead class - the main interface to a SteelHead appliance.

9.3.1. CLIAuth Objects

class steelscript.steelhead.core.steelhead.CLIAuth(username, password=None, private_key_path=None)

This class is used for username/password based authentication for command-line access.

9.3.2. SteelHead Objects

class steelscript.steelhead.core.steelhead.SteelHead(host, port=22, auth=None)

The SteelHead class if the main interface to interact with a SteelHead appliance.

cli

Grabs a cached CLI object, opening a new one if none exists.

9.3.3. CommonModel Objects

Returned by Model.get(steelhead_instance, feature='common').

class steelscript.steelhead.features.common.v8_5.model.CommonModel(resource, cli=None, **kwargs)

Kauai model for the ‘common’ REST Service on the SteelHead product.

show_version()

Returns parsed output of ‘show version’.

Product name:      rbt_sh
Product release:   9.0.1
Build ID:          #19
Build date:        2014-11-19 01:59:36
Build arch:        x86_64
Built by:          mockbuild@bannow-worker4

Uptime:            15d 23h 22m 33s

Product model:     CX1555
System memory:     6378 MB used / 1552 MB free / 7931 MB total
Number of CPUs:    4
CPU load averages: 0.08 / 0.17 / 0.10
Returns:Dictionaries of values returned
{'product name': 'rbt_sh',
 'product release': '9.0.1',
 'build id': '#19',
 'build arch': 'x86_64',
 ...

9.3.4. CLI (CommonAction) Objects

Returned by Action.get(steelhead_instance, feature='common').

class steelscript.steelhead.features.common.v8_5.action.CLI(resource, service=None, feature=None)

CLI-based Actions for the ‘common’ REST Service on the SteelHead product.

get_product_info()

Gets basic software and hardware product information.

Returns:Dictionary of values:
{'name': 'SteelHead',
 'model': 'CX1555',
 'release': '9.0.1'}

9.3.5. FlowsModel Objects

Returned by Model.get(steelhead_instance, feature='flows').

class steelscript.steelhead.features.flows.v8_5.model.FlowsModel(resource, cli=None, **kwargs)

Kauai Flows model for the SteelHead product

show_flows(type=u'all')

Method to show Flows on a SteelHead. Currently, some flow types are not supported and will not be included in the output. These types are IPv6 and pre_existing connections.

Parameters:type (string) – Optional parameter to select the type of Flows. Valid choices include all, optimized, passthrough, packet-mode, and tcp-term.
Returns:dictionary
{
    'flows_list': [
        {'app': 'UDPv4',
        'destination ip': IPv4Address(u'10.190.5.2'),
        'destination port': 1003,
        'reduction': 99,
        'since': {'day': '10',
                  'hour': '23',
                  'min': '58',
                  'month': '02',
                  'secs': '01',
                  'year': '2014'},
        'source ip': IPv4Address(u'10.190.0.1'),
        'source port': 406,
        'type': 'N'},...],
    'flows_summary': {
        'denied': {'all': 1},
        'discarded': {'all': 1},
        'establishing': {'all': 1, 'v4': 2, 'v6': 3},
        'forwarded': {'all': 1, 'v4': 2, 'v6': 3},
        'half_closed optimized': {'all': 11, 'v4': 22, 'v6': 33},
        'half_opened optimized': {'all': 1, 'v4': 2, 'v6': 3},
        'optimized': {'all': '1', 'v4': 2, 'v6': 3},
        'packet_mode optimized': {'all': 11, 'v4': 22, 'v6': 33},
        'passthrough': {'all': 11, 'v4': 22, 'v6': 33},
        'passthrough intentional': {'all': 1, 'v4': 2, 'v6': 3},
        'passthrough unintentional':
            {'all': 11, 'v4': 22, 'v6': 33},
        'passthrough unintentional packet_mode':
            {'all': 11, 'v4': 22, 'v6': 33},
        'passthrough unintentional terminated':
            {'all': 1, 'v4': 2, 'v6': 3},
        'rios only': {'all': 1, 'v4': 3, 'v6': 3},
        'rios scps': {'all': 1, 'v4': 2, 'v6': 3},
        'scps only': {'all': 11, 'v4': 22, 'v6': 33},
        'tcp proxy': {'all': 1, 'v4': 2, 'v6': 3},
        'total': {'all': 1, 'v4': 2, 'v6': 3}
}

9.3.6. CLI (FlowsAction) Objects

Returned by Action.get(steelhead_instance, feature='flows').

class steelscript.steelhead.features.flows.v8_5.action.CLI(resource, service=None, feature=None)

Kauai Flows CLI Delegatee

show_flows_optimized()

Method to show optimized flows on a Steelhead

Returns:dictionary
{
    'flows_list': [
        {'app': 'UDPv4',
         'destination ip': IPv4Address('10.190.5.2'),
         'destination port': 1003,
         'percent': 99,
         'since': {'day': '10',
                   'hour': '23',
                   'min': '58',
                   'month': '02',
                   'secs': '01',
                   'year': '2014'},
         'source ip': IPv4Address('10.190.0.1'),
         'source port': 406,
         'type': 'N'},...],
    'flows_summary': {
        'established optimized': {'all': 1, 'v4': 2, 'v6': 3},
        'packet_mode optimized': {'all': 11, 'v4': 22, 'v6': 33},
        'rios only': {'all': 1, 'v4': 3, 'v6': 3},
        'rios scps': {'all': 1, 'v4': 2, 'v6': 3},
        'scps only': {'all': 11, 'v4': 22, 'v6': 33},
        'tcp proxy': {'all': 1, 'v4': 2, 'v6': 3},
        'total': {'all': 11', v4: 40, 'v6': 70}}
}
show_flows_passthrough()

Method to show passthrough flows on a Steelhead

Returns:dictionary
{
 'flows_list': [
    {'app': 'TCP',
     'destination ip': IPv4Address('10.190.174.120'),
     'destination port': 443,
     'since': {'day': '02',
               'hour': '06',
               'min': '00',
               'month': '01',
               'secs': '50',
               'year': '2014'},
     'source ip': IPv4Address('10.3.2.54'),
     'source port': 40097,
     'type': 'PI'}...],
 'flows_summary': {
     'forwarded': {'all': 1, 'v4': 2, 'v6': 3},
     'passthrough': {'all': 11, 'v4': 22, 'v6': 33},
     'passthrough intentional': {'all': 1, 'v4': 2, 'v6': 3},
     'passthrough unintentional': {'all': 11, 'v4': 22, 'v6': 33},
     'passthrough unintentional packet_mode': {'all': 11,
                                               'v4': 22,
                                               'v6': 33},
     'passthrough unintentional terminated': {'all': 1,
                                              'v4': 2,
                                              'v6': 3},
     'total': {'all': 11, 'v4': 40, 'v6': 70}}
}

9.3.7. NetworkingModel Objects

Returned by Model.get(steelhead_instance, feature='networking').

class steelscript.steelhead.features.networking.v8_5.model.NetworkingModel(resource, cli=None, **kwargs)

Kauai Networking model for the SteelHead product

show_interfaces(interface=None, brief=False)

Return parsed output of ‘show interfaces <interface> [brief]’:

Interface inpath0_0 state
Up:                 yes
Interface type:     ethernet
IP address:         10.11.100.2
Netmask:            255.255.255.0
IPv6 link-local address: fe80::5054:ff:fe10:3fe9/64
MTU:                1500
HW address:         52:54:00:10:3F:E9
Traffic status:     Normal
HW blockable:       no
Counters cleared date:  2014/01/31 14:28:28
Parameters:
  • interface (string) – Optional. Return just this interface.
  • brief (boolean) – Whether to run just brief output.
Returns:

List of dictionaries of values returned:

{
    'name':         'inpath0_0',
    'ip address':   IPv4Interface('10.11.100.2/24'),
    'ipv6 address': IPv6Interface('fe80::5054:ff:fe10:3fe9/64'),
    'hw address':   EUI('52-54-00-10-3F-E9'),
    'up':           True,
    'rx bytes':     42,
...}
show_interfaces_configured(interface=None)

Return parsed output of ‘show interfaces <interface> configured’:

Interface inpath0_0 state
Enabled:            yes
DHCP:               yes
Dynamic DNS DHCP:   yes
DHCPv6:             no
Dynamic DNS DHCPv6: no
IP address:         10.11.100.2
Netmask:            255.255.255.0
IPv6 address:
Speed:              auto
Duplex:             auto
MTU:                1500
Parameters:interface (string) – Optional. Return just this interface.
Returns:List of dictionaries of values returned
{'name':         'inpath0_0',
 'enabled':      True
 'dhcp':         True
 ip address':    IPv4Interface('10.11.100.2/24'),
 'ipv6 address': IPv6Interface('fe80::5054:ff:fe10:3fe9/64'),
 'mtu':          1500,
 ...}

9.3.8. StatsModel Objects

Returned by Model.get(steelhead_instance, feature='stats').

class steelscript.steelhead.features.stats.v8_5.model.StatsModel(resource, cli=None, **kwargs)

Kauai Stats model for the SteelHead product

show_stats_bandwidth(port=u'all', type=None, frequency=None)

Method to show Bandwidth Stats on a SteelHead

Parameters:
  • port (string) – Optional parameter to filter the bandwidth summary to traffic on a specific port. The value is simply the port number (e.g., “80”) and defaults to “all.”
  • type (string) – The type of traffic to summarize. Options include bi-directional, lan-to-wan, and wan-to-lan.
  • frequency – Last period of time to lookback during stats collection. Options include 1min, 5min, hour, day, week, or month.
Returns:

dictionary

{
    'wan data': '5.4 GB',
    'lan data': '6 GB',
    'data reduction': 10,
    'data reduction peak': 95,
    'data reduction peak time': '2014/12/05 14:50:00',
    'capacity increase': '1.1'
}