def METHOD_NAME(name, value, expire=None, expireat=None, **connection_args):
    """
    Ensure that the key exists in redis with the value specified
    name
        Redis key to manage
    value
        Data to persist in key
    expire
        Sets time to live for key in seconds
    expireat
        Sets expiration time for key via UNIX timestamp, overrides `expire`
    """
    ret = {
        "name": name,
        "changes": {},
        "result": True,
        "comment": "Key already set to defined value",
    }
    old_key = __salt__["redis.get_key"](name, **connection_args)
    if old_key != value:
        __salt__["redis.set_key"](name, value, **connection_args)
        ret["changes"][name] = "Value updated"
        ret["comment"] = "Key updated to new value"
    if expireat:
        __salt__["redis.expireat"](name, expireat, **connection_args)
        ret["changes"]["expireat"] = "Key expires at {}".format(expireat)
    elif expire:
        __salt__["redis.expire"](name, expire, **connection_args)
        ret["changes"]["expire"] = "TTL set to {} seconds".format(expire)
    return ret