from __future__ import unicode_literals
import random
import string
import six


def random_alphanumeric(length):
    return ''.join(six.text_type(
        random.choice(
            string.ascii_letters + string.digits + "+" + "/"
        )) for _ in range(length)
    )


def random_resource_id(size=20):
    chars = list(range(10)) + list(string.ascii_lowercase)

    return ''.join(six.text_type(random.choice(chars)) for x in range(size))


def random_access_key():
    return ''.join(six.text_type(
        random.choice(
            string.ascii_uppercase + string.digits
        )) for _ in range(16)
    )


def random_policy_id():
    return 'A' + ''.join(
        random.choice(string.ascii_uppercase + string.digits)
        for _ in range(20)
    )
