Skip to content

Commit

Permalink
add keys and tidy up.
Browse files Browse the repository at this point in the history
  • Loading branch information
jonhadfield committed Jun 25, 2016
1 parent 3d2f916 commit a8e124b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 4 deletions.
7 changes: 5 additions & 2 deletions lib/creds/cred_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import yaml

from creds.ssh.public_key import PublicKey
from creds.cred_user import User
from creds.settings import UID_MIN, UID_MAX
from creds.ssh import read_authorized_keys
Expand Down Expand Up @@ -35,7 +36,7 @@ def describe_users(self, users_filter=None):
@classmethod
# TODO: Implement
def from_yaml(cls, file_loc=None):
with open(file_loc, 'r') as stream:
with open(file_loc) as stream:
users_yaml = yaml.load(stream)
if isinstance(users_yaml, dict):
input_list = list()
Expand All @@ -56,8 +57,10 @@ def from_json(cls, file_loc=None):
raise
input_list = list()
for user_dict in users_json.get('users'):
if user_dict.get('public_keys'):
public_keys = [PublicKey(raw=x) for x in user_dict.get('public_keys')]
input_list.append(User(name=user_dict['name'], uid=user_dict['uid'], home_dir=user_dict['home_dir'],
gecos=user_dict['gecos']))
gecos=user_dict['gecos'], public_keys=public_keys))
return cls(input_list=input_list)

@classmethod
Expand Down
7 changes: 5 additions & 2 deletions tests/json_input/basic.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,18 @@
"gid": 2000,
"gecos": "example gecos for peter",
"home_dir": "/home/bigal",
"shell": "/bin/bash"
"shell": "/bin/bash",
"public_keys":["c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkpRQUFBSUVBcUVpMG9xTlpsV3FLbFhxV0h6d0E1eWRsaVhpOWlwczNCMXI3TlBDUE5pMjkzdUpHbDc0SlAvRlJmTldnY2prdytjMS9rckJwZVlacm80NDg1MWZtdjc1dVoyWmM0SFhDYkovWnBSTnFjTG15dVV2RExOK2toaFRURmVlOHliQmNXMFVvQURHanM0RXRLYkRSQ1ZMeTRzUThOdWQwaHBzdVBrOGo5WFloTWtjPQ"]

},
{
"name": "brian",
"uid": 2001,
"gid": 2001,
"gecos": "example gecos for brian",
"home_dir": "/home/brian",
"shell": "/bin/sh"
"shell": "/bin/sh",
"public_keys":["c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFEamk1eWNXemFiSUxBbXdPN3U0YUk4Q290RnBLU2owcGNWNUV3allUN0NJTmNTK1NoMW1CSmNkcEdEYS84ZC9zU3BuVG1pelhJM1kwUmRoL1R6dmNiVW94enlJOHBja2ErV2lqSjBuVGYxZ3RRL3RoZ3UzTGdVOGxGWEZJVnRUY1h1LzlrZDBLekpFQWIwMFhzSVZOSVY2ZkVnZWYxZGJ6eG0yTGRLUDRwR0N5NC8yNWxoQ1VySEthYWpqQlBGc09lZERmWWZyV2RBYmpEVzBYMGNUMmF5UTV1b2lkditKM3JqZWpTOUVMN3plbytwSHlUR1dZcC9DdkpvaklEWm1yTWJvcGx1Sk1mYnFBOFNwTDJWeFhMRWdQNUp6MFZETkNuTEtDSzZ2SWJoTWtJWDhsRTVnQ2I5Nzh4cDVjVk52MXFWQWFYVlJ4aXhYbEFXdllWWTBIdG4"]
}
]
}
4 changes: 4 additions & 0 deletions tests/yaml_input/basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@ users:
gecos: example gecos for peter
home_dir: /home/bigal
shell: /bin/bash
public_keys:
- "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkpRQUFBSUVBcUVpMG9xTlpsV3FLbFhxV0h6d0E1eWRsaVhpOWlwczNCMXI3TlBDUE5pMjkzdUpHbDc0SlAvRlJmTldnY2prdytjMS9rckJwZVlacm80NDg1MWZtdjc1dVoyWmM0SFhDYkovWnBSTnFjTG15dVV2RExOK2toaFRURmVlOHliQmNXMFVvQURHanM0RXRLYkRSQ1ZMeTRzUThOdWQwaHBzdVBrOGo5WFloTWtjPQ"
- name: brian
uid: 2001
gid: 2001
gecos: example gecos for brian
home_dir: /home/brian
shell: /bin/sh
public_keys:
- "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFEamk1eWNXemFiSUxBbXdPN3U0YUk4Q290RnBLU2owcGNWNUV3allUN0NJTmNTK1NoMW1CSmNkcEdEYS84ZC9zU3BuVG1pelhJM1kwUmRoL1R6dmNiVW94enlJOHBja2ErV2lqSjBuVGYxZ3RRL3RoZ3UzTGdVOGxGWEZJVnRUY1h1LzlrZDBLekpFQWIwMFhzSVZOSVY2ZkVnZWYxZGJ6eG0yTGRLUDRwR0N5NC8yNWxoQ1VySEthYWpqQlBGc09lZERmWWZyV2RBYmpEVzBYMGNUMmF5UTV1b2lkditKM3JqZWpTOUVMN3plbytwSHlUR1dZcC9DdkpvaklEWm1yTWJvcGx1Sk1mYnFBOFNwTDJWeFhMRWdQNUp6MFZETkNuTEtDSzZ2SWJoTWtJWDhsRTVnQ2I5Nzh4cDVjVk52MXFWQWFYVlJ4aXhYbEFXdllWWTBIdG4"

0 comments on commit a8e124b

Please sign in to comment.