예제 #1
0
def is_valid_bucket_name(bucket_name):
    """
    Check if bucket_name is a valid S3 bucket name (as defined by the AWS
    docs):

    1. 3 <= len(bucket_name) <= 255
    2. all chars one of: a-z 0-9 .  _ -
    3. first char one of: a-z 0-9
    4. name must not be a valid ip
    """
    regex = re.compile('[a-z0-9][a-z0-9\._-]{2,254}$')
    if not regex.match(bucket_name):
        return False
    if iptools.validate_ip(bucket_name):
        return False
    return True
예제 #2
0
def is_valid_bucket_name(bucket_name):
    """
    Check if bucket_name is a valid S3 bucket name (as defined by the AWS
    docs):

    1. 3 <= len(bucket_name) <= 255
    2. all chars one of: a-z 0-9 .  _ -
    3. first char one of: a-z 0-9
    4. name must not be a valid ip
    """
    regex = re.compile('[a-z0-9][a-z0-9\._-]{2,254}$')
    if not regex.match(bucket_name):
        return False
    if validate_ip(bucket_name):
        return False
    return True
예제 #3
0
def is_valid_bucket_name(bucket_name):
    """
    Check if bucket_name is a valid S3 bucket name (as defined by the AWS docs)
    """
    length = len(bucket_name)
    valid_length = length >= 3 and length <= 255
    if not valid_length:
        return False
    numbers_or_letters = string.ascii_lowercase + string.digits 
    valid_chars = numbers_or_letters + '._-'
    if not bucket_name[0] in numbers_or_letters:
        return False
    for c in bucket_name:
        if c not in valid_chars:
            return False
    if validate_ip(bucket_name):
        return False
    return True