SNS Client

The client exposes one method

def publish[T](topicArn: String)(message: T)(implicit enc: Encoder[T]): F[PublishResponse]

This takes a case class and requires an implicit circe encoder to deserialise the case class to JSON.