def METHOD_NAME(connection, module):
    """
    Describe Subnets.
    module  : AnsibleAWSModule object
    connection  : boto3 client connection object
    """
    # collect parameters
    filters = ansible_dict_to_boto3_filter_list(module.params.get("filters"))
    subnet_ids = module.params.get("subnet_ids")
    if subnet_ids is None:
        # Set subnet_ids to empty list if it is None
        subnet_ids = []
    # init empty list for return vars
    subnet_info = list()
    # Get the basic VPC info
    try:
        response = describe_subnets_with_backoff(connection, subnet_ids, filters)
    except (botocore.exceptions.ClientError, botocore.exceptions.BotoCoreError) as e:
        module.fail_json_aws(e, msg="Failed to describe subnets")
    for subnet in response["Subnets"]:
        # for backwards compatibility
        subnet["id"] = subnet["SubnetId"]
        subnet_info.append(camel_dict_to_snake_dict(subnet))
        # convert tag list to ansible dict
        subnet_info[-1]["tags"] = boto3_tag_list_to_ansible_dict(subnet.get("Tags", []))
    module.exit_json(subnets=subnet_info)