Added get_user and delete_access_key endpoints.
This commit is contained in:
parent
ac74af4085
commit
a3b02f3f8b
@ -135,6 +135,14 @@ class User(object):
|
|||||||
def get_all_access_keys(self):
|
def get_all_access_keys(self):
|
||||||
return self.access_keys
|
return self.access_keys
|
||||||
|
|
||||||
|
def delete_access_key(self, access_key_id):
|
||||||
|
for key in self.access_keys:
|
||||||
|
if key.access_key_id == access_key_id:
|
||||||
|
self.access_keys.remove(key)
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
raise BotoServerError(404, 'Not Found')
|
||||||
|
|
||||||
|
|
||||||
class IAMBackend(BaseBackend):
|
class IAMBackend(BaseBackend):
|
||||||
|
|
||||||
@ -207,7 +215,6 @@ class IAMBackend(BaseBackend):
|
|||||||
return group
|
return group
|
||||||
|
|
||||||
def get_group(self, group_name, marker=None, max_items=None):
|
def get_group(self, group_name, marker=None, max_items=None):
|
||||||
|
|
||||||
group = None
|
group = None
|
||||||
try:
|
try:
|
||||||
group = self.groups[group_name]
|
group = self.groups[group_name]
|
||||||
@ -224,6 +231,15 @@ class IAMBackend(BaseBackend):
|
|||||||
self.users[user_name] = user
|
self.users[user_name] = user
|
||||||
return user
|
return user
|
||||||
|
|
||||||
|
def get_user(self, user_name):
|
||||||
|
user = None
|
||||||
|
try:
|
||||||
|
user = self.users[user_name]
|
||||||
|
except KeyError:
|
||||||
|
raise BotoServerError(404, 'Not Found')
|
||||||
|
|
||||||
|
return user
|
||||||
|
|
||||||
def add_user_to_group(self, group_name, user_name):
|
def add_user_to_group(self, group_name, user_name):
|
||||||
group = None
|
group = None
|
||||||
user = None
|
user = None
|
||||||
@ -292,6 +308,13 @@ class IAMBackend(BaseBackend):
|
|||||||
|
|
||||||
return keys
|
return keys
|
||||||
|
|
||||||
|
def delete_access_key(self, access_key_id, user_name):
|
||||||
|
try:
|
||||||
|
user = self.users[user_name]
|
||||||
|
user.delete_access_key(access_key_id)
|
||||||
|
except KeyError:
|
||||||
|
raise BotoServerError(404, 'Not Found')
|
||||||
|
|
||||||
def delete_user(self, user_name):
|
def delete_user(self, user_name):
|
||||||
try:
|
try:
|
||||||
del self.users[user_name]
|
del self.users[user_name]
|
||||||
|
@ -106,6 +106,12 @@ class IamResponse(BaseResponse):
|
|||||||
template = Template(USER_TEMPLATE)
|
template = Template(USER_TEMPLATE)
|
||||||
return template.render(action='Create', user=user)
|
return template.render(action='Create', user=user)
|
||||||
|
|
||||||
|
def get_user(self):
|
||||||
|
user_name = self._get_param('UserName')
|
||||||
|
user = iam_backend.get_user(user_name)
|
||||||
|
template = Template(USER_TEMPLATE)
|
||||||
|
return template.render(action='Get', user=user)
|
||||||
|
|
||||||
def add_user_to_group(self):
|
def add_user_to_group(self):
|
||||||
group_name = self._get_param('GroupName')
|
group_name = self._get_param('GroupName')
|
||||||
user_name = self._get_param('UserName')
|
user_name = self._get_param('UserName')
|
||||||
@ -165,6 +171,14 @@ class IamResponse(BaseResponse):
|
|||||||
template = Template(LIST_ACCESS_KEYS_TEMPLATE)
|
template = Template(LIST_ACCESS_KEYS_TEMPLATE)
|
||||||
return template.render(user_name=user_name, keys=keys)
|
return template.render(user_name=user_name, keys=keys)
|
||||||
|
|
||||||
|
def delete_access_key(self):
|
||||||
|
user_name = self._get_param('UserName')
|
||||||
|
access_key_id = self._get_param('AccessKeyId')
|
||||||
|
|
||||||
|
iam_backend.delete_access_key(access_key_id, user_name)
|
||||||
|
template = Template(GENERIC_EMPTY_TEMPLATE)
|
||||||
|
return template.render(name='DeleteAccessKey')
|
||||||
|
|
||||||
def delete_user(self):
|
def delete_user(self):
|
||||||
user_name = self._get_param('UserName')
|
user_name = self._get_param('UserName')
|
||||||
iam_backend.delete_user(user_name)
|
iam_backend.delete_user(user_name)
|
||||||
|
@ -84,6 +84,14 @@ def test_create_user():
|
|||||||
assert_raises(BotoServerError, conn.create_user, 'my-user')
|
assert_raises(BotoServerError, conn.create_user, 'my-user')
|
||||||
|
|
||||||
|
|
||||||
|
@mock_iam()
|
||||||
|
def test_get_user():
|
||||||
|
conn = boto.connect_iam()
|
||||||
|
assert_raises(BotoServerError, conn.get_user, 'my-user')
|
||||||
|
conn.create_user('my-user')
|
||||||
|
conn.get_user('my-user')
|
||||||
|
|
||||||
|
|
||||||
@mock_iam()
|
@mock_iam()
|
||||||
def test_add_user_to_group():
|
def test_add_user_to_group():
|
||||||
conn = boto.connect_iam()
|
conn = boto.connect_iam()
|
||||||
@ -130,6 +138,13 @@ def test_get_all_access_keys():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@mock_iam()
|
||||||
|
def test_delete_access_key():
|
||||||
|
conn = boto.connect_iam()
|
||||||
|
conn.create_user('my-user')
|
||||||
|
access_key_id = conn.create_access_key('my-user')['create_access_key_response']['create_access_key_result']['access_key']['access_key_id']
|
||||||
|
conn.delete_access_key(access_key_id, 'my-user')
|
||||||
|
|
||||||
|
|
||||||
@mock_iam()
|
@mock_iam()
|
||||||
def test_delete_user():
|
def test_delete_user():
|
||||||
|
Loading…
Reference in New Issue
Block a user