예제 #1
0
 def main(self):
     if self.args['recursive'] or self.args['pretend']:
         # Figure out what we'd have to delete
         req = GetGroup.from_other(
             self, GroupName=self.args['GroupName'],
             DelegateAccount=self.params['DelegateAccount'])
         members = req.main().get('Users', [])
         req = ListGroupPolicies.from_other(
             self, GroupName=self.args['GroupName'],
             DelegateAccount=self.params['DelegateAccount'])
         policies = req.main().get('PolicyNames', [])
     else:
         # Just in case
         members = []
         policies = []
     if self.args['pretend']:
         return {'members':  [member['Arn'] for member in members],
                 'policies': policies}
     else:
         if self.args['recursive']:
             member_names = [member['UserName'] for member in members]
             req = RemoveUserFromGroup.from_other(
                 self, GroupName=self.args['GroupName'],
                 user_names=member_names,
                 DelegateAccount=self.params['DelegateAccount'])
             req.main()
             for policy in policies:
                 req = DeleteGroupPolicy.from_other(
                     self, GroupName=self.args['GroupName'],
                     PolicyName=policy,
                     DelegateAccount=self.params['DelegateAccount'])
                 req.main()
         return self.send()
예제 #2
0
 def preprocess(self):
     if self.args.get('verify') and self.args.get('group_name'):
         obj = GetGroup.from_other(
             self, GroupName=self.args['group_name'],
             DelegateAccount=self.params['DelegateAccount'])
         # This will blow up if the group does not exist.
         obj.main()
예제 #3
0
 def preprocess(self):
     if self.args.get('verify') and self.args.get('group_name'):
         obj = GetGroup.from_other(
             self,
             GroupName=self.args['group_name'],
             DelegateAccount=self.params['DelegateAccount'])
         # This will blow up if the group does not exist.
         obj.main()
예제 #4
0
 def main(self):
     if self.args["recursive"] or self.args["pretend"]:
         # Figure out what we'd have to delete
         req = GetGroup(
             config=self.config,
             service=self.service,
             GroupName=self.args["GroupName"],
             DelegateAccount=self.params["DelegateAccount"],
         )
         members = req.main().get("Users", [])
         req = ListGroupPolicies(
             config=self.config,
             service=self.service,
             GroupName=self.args["GroupName"],
             DelegateAccount=self.params["DelegateAccount"],
         )
         policies = req.main().get("PolicyNames", [])
     else:
         # Just in case
         members = []
         policies = []
     if self.args["pretend"]:
         return {"members": [member["Arn"] for member in members], "policies": policies}
     else:
         if self.args["recursive"]:
             member_names = [member["UserName"] for member in members]
             req = RemoveUserFromGroup(
                 config=self.config,
                 service=self.service,
                 GroupName=self.args["GroupName"],
                 user_names=member_names,
                 DelegateAccount=self.params["DelegateAccount"],
             )
             req.main()
             for policy in policies:
                 req = DeleteGroupPolicy(
                     config=self.config,
                     service=self.service,
                     GroupName=self.args["GroupName"],
                     PolicyName=policy,
                     DelegateAccount=self.params["DelegateAccount"],
                 )
                 req.main()
         return self.send()
예제 #5
0
 def main(self):
     if self.args['recursive'] or self.args['pretend']:
         # Figure out what we'd have to delete
         req = GetGroup.from_other(
             self,
             GroupName=self.args['GroupName'],
             DelegateAccount=self.params['DelegateAccount'])
         members = req.main().get('Users', [])
         req = ListGroupPolicies.from_other(
             self,
             GroupName=self.args['GroupName'],
             DelegateAccount=self.params['DelegateAccount'])
         policies = req.main().get('PolicyNames', [])
     else:
         # Just in case
         members = []
         policies = []
     if self.args['pretend']:
         return {
             'members': [member['Arn'] for member in members],
             'policies': policies
         }
     else:
         if self.args['recursive']:
             member_names = [member['UserName'] for member in members]
             req = RemoveUserFromGroup.from_other(
                 self,
                 GroupName=self.args['GroupName'],
                 user_names=member_names,
                 DelegateAccount=self.params['DelegateAccount'])
             req.main()
             for policy in policies:
                 req = DeleteGroupPolicy.from_other(
                     self,
                     GroupName=self.args['GroupName'],
                     PolicyName=policy,
                     DelegateAccount=self.params['DelegateAccount'])
                 req.main()
         return self.send()