Beispiel #1
0
def process_aws_resources_names(key):
    try:
        key = AWSKey.query.get(key.id)
        session = boto3.Session(aws_access_key_id=key.key,
                                aws_secret_access_key=key.secret)
        id_name_mapping = get_instances_id_name_mapping(session)
        id_name_mapping.update(get_volumes_id_name_mapping(session))

        def get_id_name_mappings():
            now = datetime.utcnow()
            for rid, name in id_name_mapping.iteritems():
                yield AWSIdNameMapping(meta={'id': rid},
                                       key=key.key,
                                       date=now,
                                       rid=rid,
                                       name=name)

        bulk_save(get_id_name_mappings())
    except botocore.exceptions.ClientError as e:
        logging.error("[user={}][key={}] {}".format(key.user.email, key.pretty
                                                    or key.key, str(e)))
        aws_credentials_error(key, traceback.format_exc())
        key.error_status = u"bad_key"
        db.session.commit()
    except Exception, e:
        aws_key_processing_generic_error_email(key, traceback.format_exc())
        key.error_status = u"processing_error"
        db.session.commit()
Beispiel #2
0
def generate_stopped_instances_report(key):
    try:
        session = boto3.Session(aws_access_key_id=key.key,
                                aws_secret_access_key=key.secret)
    except Exception, e:
        logging.error("[user={}][key={}] {}".format(key.user.email, key.pretty or key.key, str(e)))
        aws_credentials_error(key, traceback.format_exc())
        key.error_status = u"bad_key"
        db.session.commit()
        return
Beispiel #3
0
def get_providers_comparison_aws(aws_account):
    aws_account = AWSKey.query.get(aws_account.id)
    res = []
    try:
        session = boto3.Session(aws_access_key_id=aws_account.key,
                                aws_secret_access_key=aws_account.secret)
    except Exception, e:
        logging.error("[user={}][key={}] {}".format(aws_account.user.email, aws_account.pretty or aws_account.key, str(e)))
        aws_credentials_error(aws_account, traceback.format_exc())
        aws_account.error_status = u"bad_key"
        db.session.commit()
        return
Beispiel #4
0
 def _default_ce_exception():
     error_email.aws_credentials_error(key, traceback.format_exc())
     key.error_status = u"bad_key"
     logging.error("[user={}][key={}] {}".format(key.user.email, key.pretty or key.key, str(exception)))