def handleList(self, confInfo):

        km = AwsAccessKeyManager(KEY_NAMESPACE, KEY_OWNER,
                                 self.getSessionKey())

        aws_account = self.callerArgs['aws_account'][0] if self.callerArgs[
            'aws_account'] is not None else ""
        if not aws_account:
            confInfo['S3BucketsResult'].append('buckets', [])
            return

        acct = km.get_accesskey(name=aws_account)
        if not acct:
            raise Exception(aws_account +
                            " selected is incorrect, Setup App first.")

        connection = connect_s3(acct.key_id, acct.secret_key,
                                self.getSessionKey())
        rs = connection.get_all_buckets()

        rlist = []

        for r in rs:
            rlist.append(r.name)

        confInfo['S3BucketsResult'].append('buckets', rlist)
    def handleList(self, confInfo):

        import boto.sqs
        import boto.exception

        km = AwsAccessKeyManager(KEY_NAMESPACE, KEY_OWNER, self.getSessionKey())
        aws_account = self.callerArgs['aws_account'][0] or "default"

        acct = km.get_accesskey(name=aws_account)

        if not acct:
            raise Exception("No AWS Account is configured. Setup App first.")

        sqs_conn = connect_sqs(self.callerArgs['aws_region'][0], acct.key_id, acct.secret_key, self.getSessionKey())

        if sqs_conn is None:
            raise Exception("Invalid SQS Queue Region: {}".format(self.callerArgs['aws_region'][0]))

        q_names = []
        try:
            q_list = sqs_conn.get_all_queues()
            if q_list:
                for q in q_list:
                    q_names.append(q.name)
        except boto.exception.SQSError as e:
                if e.status == 403 and e.reason == 'Forbidden':
                    if e.error_code == 'InvalidClientId':
                        raise Exception("Authentication Key ID is invalid. Check App Setup.")
                    elif e.error_code == 'SignatureDoesNotMatch':
                        raise Exception("Authentication Secret Key is invalid. Check App Setup.")
        except Exception as e:
                raise Exception("Failed AWS Authentication: {}: {} {} ({}): {}".format(
                    type(e).__name__, e.status, e.reason, e.error_code, e.error_message))

        confInfo['SqsQueueNamesResult'].append('sqs_queue_names', q_names)
Пример #3
0
    def get_access_key_pwd_real(session_key="", aws_account_name="default"):
        if not AwsAccessKeyManager:
            raise Exception("Access Key Manager needed is not imported successfully")

        km = AwsAccessKeyManager(KEY_NAMESPACE, KEY_OWNER, session_key)

        logger.info("get account name: " + aws_account_name)

        acct = km.get_accesskey(name=aws_account_name)
        if not acct:
            # No recovering from this...
            logger.log(logging.FATAL, "No AWS Account is configured.")
            raise Exception("No AWS Account is configured.")

        return acct.key_id, acct.secret_key
Пример #4
0
    def handleList(self, confInfo):

        km = AwsAccessKeyManager(KEY_NAMESPACE, KEY_OWNER,
                                 self.getSessionKey())
        aws_account = self.callerArgs['aws_account'][0] or "default"

        acct = km.get_accesskey(name=aws_account)

        if not acct:
            raise Exception("No AWS Account is configured. Setup App first.")

        namespaces = taaws.s3util.list_cloudwatch_namespaces(
            self.callerArgs['aws_region'][0], acct.key_id, acct.secret_key,
            self.getSessionKey())
        confInfo['NameSpacesResult'].append('metric_namespace', namespaces)
Пример #5
0
    def handleList(self, confInfo):

        km = AwsAccessKeyManager(KEY_NAMESPACE, KEY_OWNER, self.getSessionKey())
        aws_account = self.callerArgs['aws_account'][0] or "default"

        acct = km.get_accesskey(name=aws_account)

        if not acct:
            raise Exception("No AWS Account is configured. Setup App first.")

        connection = connect_s3(acct.key_id, acct.secret_key, self.getSessionKey())
        bucket = connection.get_bucket(self.callerArgs['bucket_name'][0])
        
        rlist = []
        for key in taaws.s3util.get_keys(bucket,recursion_depth=1):
            rlist.append(key.name)

        confInfo['S3KeyNamesResult'].append('key_names', rlist)
    def handleList(self, confInfo):

        km = AwsAccessKeyManager(KEY_NAMESPACE, KEY_OWNER, self.getSessionKey())
        acct = km.get_accesskey()
        confInfo['default_aws_key'].append('key_id', acct and acct.key_id or '')
        confInfo['default_aws_key'].append('secret_key', acct and acct.secret_key or '')