in source/eksfedctl/create_action.py [0:0]
def validate_config(config):
metadata = config.yaml["metadata"]
if not re.match("^[-A-Za-z0-9]{1,63}$", metadata["name"]):
raise Exception(
"Name must be at least 1 character in length letters and numbers"
)
if len(metadata["regions"]) != 2:
raise ArgumentError("Please specify exactly 2 regions")
ec2 = boto3.client("ec2", region_name=config.bastion.region)
ec2_regions = ec2.describe_regions()["Regions"]
region_names = [val["RegionName"] for val in ec2_regions]
for region in metadata["regions"]:
# Checking region validity first for faster response
if not region in region_names:
raise Exception(f"Region \"{region}\" is not valid")
try:
eks = boto3.client("eks", region_name=region)
eks.list_clusters()
except Exception as ex:
raise Exception(f"Can't access EKS service in \"{region}\"")