def get_queues(region_name):
    sqs = boto.sqs.connect_to_region(region_name, **credentials)
    res = []
    for queue in sqs.get_all_queues():
        queue.set_message_class(RawMessage)
        q_scheme = {}
        # q_scheme = vars(queue)
        q_scheme['messages'] = get_messages(queue)
        q_scheme['name'] = queue.name
        res.append(q_scheme)
    return res
Example #2
0
def get_sqs_policy(region):
    # SQS queue policies
    verbose("Getting SQS queue policies:")
    sqs = boto.sqs.connect_to_region(region)
    queue_info = []
    queues = sqs.get_all_queues()
    for queue in queues:
        try:
            policy = sqs.get_queue_attributes(queue, "Policy")["Policy"]
            queue_info.append(config_line_policy(region + " sqs:queuepolicy", queue.url, "", policy))
        except KeyError:
            queue_info.append(config_line(region + " sqs:queuepolicy", queue.url, "", "NoPolicy"))

    return sorted(queue_info)
Example #3
0
def get_sqs_policy(region):
    # SQS queue policies
    verbose("Getting SQS queue policies:")
    sqs = boto.sqs.connect_to_region(region,
 aws_access_key_id=assume_role.credentials.access_key,
 aws_secret_access_key=assume_role.credentials.secret_key,
 security_token=assume_role.credentials.session_token)
    queue_info = []
    queues = sqs.get_all_queues()
    for queue in queues:
        try:
            policy = sqs.get_queue_attributes(queue, "Policy")["Policy"]
            queue_info.append(config_line_policy(region + " sqs:queuepolicy", queue.url, "", policy))
        except KeyError:
            queue_info.append(config_line(region + " sqs:queuepolicy", queue.url, "", "NoPolicy"))

    return sorted(queue_info)
Example #4
0
def get_sqs_policy(region):
    # SQS queue policies
    verbose("Getting SQS queue policies:")
    sqs = boto.sqs.connect_to_region(
        region,
        aws_access_key_id=assume_role.credentials.access_key,
        aws_secret_access_key=assume_role.credentials.secret_key,
        security_token=assume_role.credentials.session_token)
    queue_info = []
    queues = sqs.get_all_queues()
    for queue in queues:
        try:
            policy = sqs.get_queue_attributes(queue, "Policy")["Policy"]
            queue_info.append(
                config_line_policy(region + " sqs:queuepolicy", queue.url, "",
                                   policy))
        except KeyError:
            queue_info.append(
                config_line(region + " sqs:queuepolicy", queue.url, "",
                            "NoPolicy"))

    return sorted(queue_info)
 def get_entities_for_region(self, region):
     sqs = boto.connect_sqs(self.access_key_id,
                            self.secret_access_key,
                            region=region)
     return sqs.get_all_queues()
 def get_entities_for_region(self, region):
     sqs = boto.connect_sqs(self.access_key_id, self.secret_access_key, region=region)
     return sqs.get_all_queues()
Example #7
0
        self.response_queue = self.sqs.get_queue(RESPONSE_QUEUE)
        # Automatically decode and decrypt incoming messages
        self.response_queue.set_message_class(SecureMessage)

    def execute(self, action, *args):
        request_id = str(uuid.uuid4())
        print "Sending request %s" % request_id
        self.request_queue.write(SecureMessage(body={'id': request_id, 'action': action, 'args': args}))
        tries = 3
        while True:
            msgs = self.response_queue.get_messages(wait_time_seconds=20)
            if len(msgs) == 0:
                tries -= 1
                continue
            msg = msgs[0]
            body = msg.get_body()
            msg.delete()
            if body['request_id'] == request_id:
                return body
            else:
                print "Mismatched message: %s" % body
                tries -= 1
            if tries == 0:
                raise StandardError('Failed to execute request')


if __name__ == '__main__':
    sqs = boto.sqs.connect_to_region('us-east-1', is_secure=True, validate_certs=True)
    print sqs.get_all_queues()
    print Client().execute('ping', ['hello'])