Overcast is alpha — behaviour and APIs may change between releases. Pin your version and read the changelog before upgrading.

overcast

SNS operations

Every SNS operation Overcast declares — 22 of 30 implemented — with status, behaviour notes and a link to the AWS API reference for each.

22 of 30 listed operations are implemented. Back to SNS.

Summary

Category✅ Supported⚠️ Partial❌ Unsupported
Topics8
Subscriptions7
Publishing51
Platform applications (mobile push)5
SMS13

Endpoints

Topics

OperationStatusNotesAWS Docs
CreateTopic✅ SupportedIdempotent; attributes stored; inline Tags applied at creation and left untouched by a repeat calldocs
DeleteTopic✅ Supporteddocs
GetTopicAttributes✅ Supporteddocs
SetTopicAttributes✅ Supporteddocs
ListTopics✅ Supporteddocs
TagResource✅ SupportedTags are stored on the topic; member-indexed form encodingdocs
UntagResource✅ Supporteddocs
ListTagsForResource✅ Supporteddocs

Subscriptions

OperationStatusNotesAWS Docs
Subscribe✅ SupportedProtocols: sqs, sms, email, email-json, http, https, lambda. application and firehose return 400.docs
ConfirmSubscription✅ SupportedEmulator auto-confirms; any token accepteddocs
Unsubscribe✅ Supporteddocs
ListSubscriptions✅ Supporteddocs
ListSubscriptionsByTopic✅ Supporteddocs
GetSubscriptionAttributes✅ SupportedReturns SubscriptionArn, TopicArn, Protocol, Endpoint, Owner + custom attributesdocs
SetSubscriptionAttributes✅ SupportedStores any attribute; FilterPolicy drives message filtering, RedrivePolicy the subscription dead-letter queuedocs

Publishing

OperationStatusNotesAWS Docs
Publish✅ SupportedTopicArn/PhoneNumber/TargetArn destination selection (exactly one required); MessageStructure=json per-protocol payload selection; Message (256 KB) and Subject (<100 chars, no control/line-break chars) validation; async fan-out to sqs, lambda, email, email-json, http, https, and sms subscribers; records AWS/SNS CloudWatch metrics NumberOfMessagesPublished and PublishSize on accept, and NumberOfNotificationsDelivered/NumberOfNotificationsFailed per subscription delivery attempt — a delivery whose protocol dependency was never wired into this instance (nil enqueuer/mailer/smsSender/outbound) is treated as a delivery failure like any other protocol’s: failDelivery runs (recording NumberOfNotificationsFailed, redirecting to the subscription’s DLQ when configured), with a one-time Warn per (topic, protocol) telling the operator what to wire (#1306)docs
PublishBatch✅ SupportedUp to 10 messages; each entry independently validated (Message/Subject/MessageStructure=json), a bad entry fails without aborting the batch; records NumberOfMessagesPublished/PublishSize per successful entrydocs
Message filtering (subscription filter policy)✅ SupportedString/Number attribute value matching via FilterPolicy on SetSubscriptionAttributesdocs
Lambda subscription delivery✅ SupportedPublish invokes the subscribed function asynchronously with the AWS Records[].Sns event; RawMessageDelivery does not apply to lambda, matching AWSdocs
Subscription dead-letter queue (RedrivePolicy)✅ SupportedA delivery that fails is redirected to the SQS queue named by the subscription’s RedrivePolicydocs
FIFO topic Publish parameters⚠️ PartialMessageGroupId/MessageDeduplicationId are required and validated for a topic named *.fifo (or ContentBasedDeduplication substitutes for the dedup ID); actual FIFO ordering, deduplication, and SequenceNumber generation remain unimplementeddocs

Platform applications (mobile push)

OperationStatusNotesAWS Docs
CreatePlatformApplication❌ UnsupportedAPNs, GCM/FCM, ADMdocs
DeletePlatformApplication❌ Unsupporteddocs
ListPlatformApplications❌ Unsupporteddocs
CreatePlatformEndpoint❌ UnsupportedDevice registrationdocs
PublishToEndpoint❌ Unsupportedvia Publish with TargetArn; returns 400 InvalidParameter explicitly rather than a generic missing-TopicArn errordocs

SMS

OperationStatusNotesAWS Docs
SMS publish✅ Supportedvia sms subscription on Publish, or directly via Publish with PhoneNumber (no topic involved); captured in the Inbox with kind=smsdocs
CheckIfPhoneNumberIsOptedOut❌ Unsupporteddocs
ListPhoneNumbersOptedOut❌ Unsupporteddocs
OptInPhoneNumber❌ Unsupporteddocs