Skip to content

Instantly share code, notes, and snippets.

@daeken
Created April 25, 2015 22:41
Show Gist options
  • Save daeken/30fd109c67e8d087baa4 to your computer and use it in GitHub Desktop.
Save daeken/30fd109c67e8d087baa4 to your computer and use it in GitHub Desktop.
[{u'args': None,
u'baseClasses': None,
u'body': [{u'name': u'User',
'rule': 'declaration',
u'type': u'string',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': '', 'rule': 'tokString'}]}},
{u'name': u'HostName',
'rule': 'declaration',
u'type': u'string',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': '', 'rule': 'tokString'}]}},
{u'name': u'Port',
'rule': 'declaration',
u'type': u'int',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [u'-', u'1']}},
{u'name': u'IdentityFile',
'rule': 'declaration',
u'type': u'string',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': '', 'rule': 'tokString'}]}},
{u'name': u'ProxyCommand',
'rule': 'declaration',
u'type': u'string',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': '', 'rule': 'tokString'}]}},
{u'name': u'PreferredAuthentications',
'rule': 'declaration',
u'type': u'string',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': '', 'rule': 'tokString'}]}},
{u'name': u'ServerAliveInterval',
'rule': 'declaration',
u'type': u'int',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [u'-', u'1']}},
{u'name': u'Compression',
'rule': 'declaration',
u'type': u'string',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': '', 'rule': 'tokString'}]}},
{u'name': u'Aliases',
'rule': 'declaration',
u'type': u'list',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [u'[', u']']}}],
u'name': u'SSH',
'rule': 'tclass'},
{u'baseClasses': [{u'args': None, u'id': u'SSH', 'rule': 'subClassRef'}],
u'body': [{u'name': u'Compression',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'yes', 'rule': 'tokString'}]}},
{u'name': u'ServerAliveInterval',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value', u'suffix': None, u'value': u'60'}},
{u'name': u'Port',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value', u'suffix': None, u'value': u'22'}},
{u'name': u'PreferredAuthentications',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'publickey,password',
'rule': 'tokString'}]}}],
u'name': u'Common',
'rule': 'tdef'},
{u'args': [{u'name': u'IP',
'rule': 'declaration',
u'type': u'string',
u'value': None},
{u'name': u'alias',
'rule': 'declaration',
u'type': u'string',
u'value': None}],
u'bases': None,
u'body': [{u'baseClasses': [{u'args': None,
u'id': u'SSH',
'rule': 'subClassRef'}],
u'body': [{u'name': u'User',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'simon',
'rule': 'tokString'}]}},
{u'name': u'HostName',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': u'IP'}},
{u'name': u'IdentityFile',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'~/.ssh/idmykey',
'rule': 'tokString'}]}},
{u'name': u'Aliases',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [u'[',
[{'rule': 'value',
u'suffix': None,
u'value': u'NAME'},
{'rule': 'value',
u'suffix': None,
u'value': u'alias'}],
u']']}}],
u'name': u'local',
'rule': 'tdef'},
{u'baseClasses': [{u'args': None,
u'id': u'SSH',
'rule': 'subClassRef'}],
u'body': [{u'name': u'User',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'simon',
'rule': 'tokString'}]}},
{u'name': u'HostName',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': u'IP'}},
{u'name': u'IdentityFile',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'~/.ssh/idmykey',
'rule': 'tokString'}]}},
{u'name': u'ProxyCommand',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'ssh -q proxyserver.example.net nc %h %p',
'rule': 'tokString'}]}},
{u'name': u'Aliases',
'rule': 'declaration',
u'type': u'let',
u'value': {'rule': 'value',
u'suffix': None,
u'value': [u'[',
[{'rule': 'value',
u'suffix': None,
u'value': {u'args': [{'rule': 'value',
u'suffix': None,
u'value': u'NAME'},
{'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'r',
'rule': 'tokString'}]}],
u'operator': u'!strconcat',
'rule': 'bangValue',
u'type': None}},
{'rule': 'value',
u'suffix': None,
u'value': {u'args': [{'rule': 'value',
u'suffix': None,
u'value': u'alias'},
{'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'r',
'rule': 'tokString'}]}],
u'operator': u'!strconcat',
'rule': 'bangValue',
u'type': None}}],
u']']}}],
u'name': u'remote',
'rule': 'tdef'}],
u'name': u'mymachine',
'rule': 'multiClass'},
{u'base': [{u'args': [{'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'192.168.2.2',
'rule': 'tokString'}]},
{'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'a', 'rule': 'tokString'}]}],
u'id': u'mymachine',
'rule': 'subClassRef'}],
u'name': u'alice',
'rule': 'defm'},
{u'base': [{u'args': [{'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'192.168.2.3',
'rule': 'tokString'}]},
{'rule': 'value',
u'suffix': None,
u'value': [{'chars': u'b', 'rule': 'tokString'}]}],
u'id': u'mymachine',
'rule': 'subClassRef'}],
u'name': u'bob',
'rule': 'defm'}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment