def fail_json_aws(module, exception, msg=None): """call fail_json with processed exception function for converting exceptions thrown by AWS SDK modules, botocore, boto3 and boto, into nice error messages. """ last_traceback = traceback.format_exc() try: except_msg = exception.message except AttributeError: except_msg = str(exception) if msg is not None: message = '{}: {}'.format(msg, except_msg) else: message = except_msg try: response = exception.response except AttributeError: response = None if response is None: module.fail_json(msg=message, traceback=last_traceback) else: module.fail_json(msg=message, traceback=last_traceback, **camel_dict_to_snake_dict(response))
def get_api_definitions(module, swagger_file=None, swagger_dict=None, swagger_text=None): apidata = None if swagger_file is not None: try: with open(swagger_file) as f: apidata = f.read() except OSError as e: msg = "Failed trying to read swagger file {}: {}".format(str(swagger_file), str(e)) module.fail_json(msg=msg, exception=traceback.format_exc()) if swagger_dict is not None: apidata = json.dumps(swagger_dict) if swagger_text is not None: apidata = swagger_text if apidata is None: module.fail_json(msg='module error - failed to get API data') return apidata