Exemple #1
0
 def main(self):
     if self.args.get('recursive') or self.args.get('pretend'):
         # Figure out what we have to delete
         req = GetInstanceProfile(
             config=self.config,
             service=self.service,
             InstanceProfileName=self.args['InstanceProfileName'],
             DelegateAccount=self.args.get('DelegateAccount'))
         response = req.main()
         roles = []
         for role in response.get('InstanceProfile', {}).get('Roles') or []:
             roles.append({
                 'arn': role.get('Arn'),
                 'name': role.get('RoleName')
             })
     else:
         # Just in case
         roles = []
     if self.args.get('pretend'):
         return {'roles': roles}
     else:
         if self.args.get('recursive'):
             for role in roles:
                 req = RemoveRoleFromInstanceProfile(
                     config=self.config,
                     service=self.service,
                     RoleName=role['name'],
                     InstanceProfileName=self.args['InstanceProfileName'],
                     DelegateAccount=self.args.get('DelegateAccount'))
                 req.main()
     return self.send()