def METHOD_NAME(name):
    try:
        groups = client.describe_cache_subnet_groups(
            aws_retry=True,
            CacheSubnetGroupName=name,
        )["CacheSubnetGroups"]
    except is_boto3_error_code("CacheSubnetGroupNotFoundFault"):
        return None
    except (
        botocore.exceptions.ClientError,
        botocore.exceptions.BotoCoreError,
    ) as e:  # pylint: disable=duplicate-except
        module.fail_json_aws(e, msg="Failed to describe subnet group")
    if not groups:
        return None
    if len(groups) > 1:
        module.fail_aws(
            msg="Found multiple matches for subnet group",
            cache_subnet_groups=camel_dict_to_snake_dict(groups),
        )
    subnet_group = camel_dict_to_snake_dict(groups[0])
    subnet_group["name"] = subnet_group["cache_subnet_group_name"]
    subnet_group["description"] = subnet_group["cache_subnet_group_description"]
    subnet_ids = list(s["subnet_identifier"] for s in subnet_group["subnets"])
    subnet_group["subnet_ids"] = subnet_ids
    return subnet_group