def METHOD_NAME():
    argument_spec = dict(filters=dict(default={}, type="dict"))
    module = AnsibleAWSModule(argument_spec=argument_spec, supports_check_mode=True)
    connection = module.client("ec2", retry_decorator=AWSRetry.jittered_backoff())
    # Replace filter key underscores with dashes, for compatibility
    sanitized_filters = dict(module.params.get("filters"))
    for k in module.params.get("filters").keys():
        if "_" in k:
            sanitized_filters[k.replace("_", "-")] = sanitized_filters[k]
            del sanitized_filters[k]
    try:
        availability_zones = connection.describe_availability_zones(
            aws_retry=True, Filters=ansible_dict_to_boto3_filter_list(sanitized_filters)
        )
    except (BotoCoreError, ClientError) as e:
        module.fail_json_aws(e, msg="Unable to describe availability zones.")
    # Turn the boto3 result into ansible_friendly_snaked_names
    snaked_availability_zones = [camel_dict_to_snake_dict(az) for az in availability_zones["AvailabilityZones"]]
    module.exit_json(availability_zones=snaked_availability_zones)