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
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
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