def validate_region_and_cluster_name()

in src/hyperpod_cli/utils.py [0:0]


def validate_region_and_cluster_name(region, cluster_name):
    output = False
    region_char_list = region.split("-")

    if len(region_char_list) != 3:
        return False

    region_prefix_match = re.match("[a-z]+", region_char_list[0])
    region_match = re.match("[a-z]+", region_char_list[1])
    region_suffix_match = re.match("[0-9]+", region_char_list[2])

    region_prefix_length = len(region_char_list[0])
    region_length = len(region_char_list[1])
    region_suffix_length = len(region_char_list[2])

    cluster_name_match = re.match("[a-zA-Z0-9-]+", cluster_name)

    if (
        region_prefix_match
        and region_match
        and region_suffix_match
        and region_prefix_length == 2
        and region_suffix_length == 1
        and region_length >= 4
        and region_length < 10
        and cluster_name_match
        and len(cluster_name) >= 1
        and len(cluster_name) <= 63
    ):
        output = True
    return output