Documentation ¶
Index ¶
- Constants
- type AddPermissionResponse
- type Attribute
- type ConfirmSubscriptionResponse
- type CreatePlatformApplicationResponse
- type CreatePlatformEndpointResponse
- type CreateTopicResponse
- type DeleteEndpointResponse
- type DeletePlatformApplicationResponse
- type DeleteTopicResponse
- type Endpoint
- type GetEndpointAttributesResponse
- type GetPlatformApplicationAttributesResponse
- type GetSubscriptionAttributesResponse
- type GetTopicAttributesResponse
- type HttpNotification
- type ListEndpointsByPlatformApplicationResponse
- type ListPlatformApplicationsResponse
- type ListSubscriptionByTopicResponse
- type ListSubscriptionsResponse
- type ListTopicsResponse
- type Permission
- type PlatformApplication
- type PlatformEndpointOptions
- type PublishOptions
- type PublishResponse
- type RemovePermissionResponse
- type SNS
- func (sns *SNS) AddPermission(label, topicArn string, permissions []Permission) (*AddPermissionResponse, error)
- func (sns *SNS) ConfirmSubscription(topicArn, token, authenticateOnUnsubscribe string) (*ConfirmSubscriptionResponse, error)
- func (sns *SNS) ConfirmSubscriptionFromHttp(notification *HttpNotification, authenticateOnUnsubscribe string) (*ConfirmSubscriptionResponse, error)
- func (sns *SNS) CreatePlatformApplication(name, platform string, attributes []Attribute) (*CreatePlatformApplicationResponse, error)
- func (sns *SNS) CreatePlatformEndpoint(options *PlatformEndpointOptions) (*CreatePlatformEndpointResponse, error)
- func (sns *SNS) CreateTopic(name string) (*CreateTopicResponse, error)
- func (sns *SNS) DeleteEndpoint(endpointArn string) (*DeleteEndpointResponse, error)
- func (sns *SNS) DeletePlatformApplication(platformApplicationArn string) (*DeletePlatformApplicationResponse, error)
- func (sns *SNS) DeleteTopic(topicArn string) (*DeleteTopicResponse, error)
- func (sns *SNS) GetEndpointAttributes(endpointArn string) (*GetEndpointAttributesResponse, error)
- func (sns *SNS) GetPlatformApplicationAttributes(platformApplicationArn string) (*GetPlatformApplicationAttributesResponse, error)
- func (sns *SNS) GetSubscriptionAttributes(subscriptionArn string) (*GetSubscriptionAttributesResponse, error)
- func (sns *SNS) GetTopicAttributes(topicArn string) (*GetTopicAttributesResponse, error)
- func (sns *SNS) ListAllEndpointsByPlatformApplication(platformApplicationArn string) ([]Endpoint, error)
- func (sns *SNS) ListAllPlatformApplications() ([]PlatformApplication, error)
- func (sns *SNS) ListAllSubscriptions() ([]Subscription, error)
- func (sns *SNS) ListAllSubscriptionsByTopic(topicArn string) ([]Subscription, error)
- func (sns *SNS) ListAllTopics() ([]Topic, error)
- func (sns *SNS) ListEndpointsByPlatformApplication(platformApplicationArn, nextToken string) (*ListEndpointsByPlatformApplicationResponse, error)
- func (sns *SNS) ListPlatformApplications(nextToken string) (*ListPlatformApplicationsResponse, error)
- func (sns *SNS) ListSubscriptions(nextToken string) (*ListSubscriptionsResponse, error)
- func (sns *SNS) ListSubscriptionsByTopic(topicArn, nextToken string) (*ListSubscriptionByTopicResponse, error)
- func (sns *SNS) ListTopics(nextToken string) (*ListTopicsResponse, error)
- func (sns *SNS) Publish(options *PublishOptions) (*PublishResponse, error)
- func (sns *SNS) RemovePermission(label, topicArn string) (*RemovePermissionResponse, error)
- func (sns *SNS) SetEndpointAttributes(endpointArn string, attributes []Attribute) (*SetEndpointAttributesResponse, error)
- func (sns *SNS) SetPlatformApplicationAttributes(platformApplicationArn string, attributes []Attribute) (*SetPlatformApplicationAttributesResponse, error)
- func (sns *SNS) SetSubscriptionAttributes(subscriptionArn, attributeName, attributeValue string) (*SetSubscriptionAttributesResponse, error)
- func (sns *SNS) SetTopicAttributes(topicArn, attributeName, attributeValue string) (*SetTopicAttributesResponse, error)
- func (sns *SNS) Subscribe(topicArn, protocol, endpoint string) (*SubscribeResponse, error)
- func (sns *SNS) Unsubscribe(subscriptionArn string) (*UnsubscribeResponse, error)
- func (sns *SNS) UnsubscribeFromHttp(notification *HttpNotification, authenticateOnUnsubscribe string) (*UnsubscribeResponse, error)
- type SetEndpointAttributesResponse
- type SetPlatformApplicationAttributesResponse
- type SetSubscriptionAttributesResponse
- type SetTopicAttributesResponse
- type SubscribeResponse
- type Subscription
- type Topic
- type UnsubscribeResponse
Constants ¶
const ( MESSAGE_TYPE_SUBSCRIPTION_CONFIRMATION = "SubscriptionConfirmation" MESSAGE_TYPE_UNSUBSCRIBE_CONFIRMATION = "UnsubscribeConfirmation" MESSAGE_TYPE_NOTIFICATION = "Notification" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddPermissionResponse ¶
type AddPermissionResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type ConfirmSubscriptionResponse ¶
type ConfirmSubscriptionResponse struct { SubscriptionArn string `xml:"ConfirmSubscriptionResult>SubscriptionArn"` ResponseMetadata aws.ResponseMetadata }
type CreatePlatformApplicationResponse ¶
type CreatePlatformApplicationResponse struct { PlatformApplicationArn string `xml:"CreatePlatformApplicationResult>PlatformApplicationArn"` ResponseMetadata aws.ResponseMetadata }
type CreatePlatformEndpointResponse ¶
type CreatePlatformEndpointResponse struct { EndpointArn string `xml:"CreatePlatformEndpointResult>EndpointArn"` ResponseMetadata aws.ResponseMetadata }
type CreateTopicResponse ¶
type CreateTopicResponse struct { Topic Topic `xml:"CreateTopicResult"` ResponseMetadata aws.ResponseMetadata }
type DeleteEndpointResponse ¶
type DeleteEndpointResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type DeletePlatformApplicationResponse ¶
type DeletePlatformApplicationResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type DeleteTopicResponse ¶
type DeleteTopicResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type GetEndpointAttributesResponse ¶
type GetEndpointAttributesResponse struct { Attributes []Attribute `xml:"GetEndpointAttributesResult>Attributes>entry"` ResponseMetadata aws.ResponseMetadata }
type GetPlatformApplicationAttributesResponse ¶
type GetPlatformApplicationAttributesResponse struct { Attributes []Attribute `xml:"GetPlatformApplicationAttributesResult>Attributes>entry"` ResponseMetadata aws.ResponseMetadata }
type GetSubscriptionAttributesResponse ¶
type GetSubscriptionAttributesResponse struct { Attributes []Attribute `xml:"GetSubscriptionAttributesResult>Attributes>entry"` ResponseMetadata aws.ResponseMetadata }
type GetTopicAttributesResponse ¶
type GetTopicAttributesResponse struct { Attributes []Attribute `xml:"GetTopicAttributesResult>Attributes>entry"` ResponseMetadata aws.ResponseMetadata }
type HttpNotification ¶
type HttpNotification struct { Type string `json:"Type"` MessageId string `json:"MessageId"` Token string `json:"Token" optional` // Only for subscribe and unsubscribe TopicArn string `json:"TopicArn"` Subject string `json:"Subject" optional` // Only for Notification Message string `json:"Message"` SubscribeURL string `json:"SubscribeURL" optional` // Only for subscribe and unsubscribe Timestamp time.Time `json:"Timestamp"` SignatureVersion string `json:"SignatureVersion"` Signature string `json:"Signature"` SigningCertURL string `json:"SigningCertURL"` UnsubscribeURL string `json:"UnsubscribeURL" optional` // Only for notifications }
Json http notifications SNS posts those to your http url endpoint if http is selected as delivery method. http://docs.aws.amazon.com/sns/latest/dg/json-formats.html#http-subscription-confirmation-json http://docs.aws.amazon.com/sns/latest/dg/json-formats.html#http-notification-json http://docs.aws.amazon.com/sns/latest/dg/json-formats.html#http-unsubscribe-confirmation-json
type ListEndpointsByPlatformApplicationResponse ¶
type ListEndpointsByPlatformApplicationResponse struct { NextToken string `xml:"ListEndpointsByPlatformApplicationResult>NextToken"` Endpoints []Endpoint `xml:"ListEndpointsByPlatformApplicationResult>Endpoints>member"` ResponseMetadata aws.ResponseMetadata }
type ListPlatformApplicationsResponse ¶
type ListPlatformApplicationsResponse struct { NextToken string `xml:"ListPlatformApplicationsResult>NextToken"` PlatformApplications []PlatformApplication `xml:"ListPlatformApplicationsResult>PlatformApplications>member"` ResponseMetadata aws.ResponseMetadata }
type ListSubscriptionByTopicResponse ¶
type ListSubscriptionByTopicResponse struct { NextToken string `xml:"ListSubscriptionsByTopicResult>NextToken"` Subscriptions []Subscription `xml:"ListSubscriptionsByTopicResult>Subscriptions>member"` ResponseMetadata aws.ResponseMetadata }
type ListSubscriptionsResponse ¶
type ListSubscriptionsResponse struct { NextToken string `xml:"ListSubscriptionsResult>NextToken"` Subscriptions []Subscription `xml:"ListSubscriptionsResult>Subscriptions>member"` ResponseMetadata aws.ResponseMetadata }
type ListTopicsResponse ¶
type Permission ¶
type PlatformApplication ¶
type PlatformEndpointOptions ¶
type PublishOptions ¶
type PublishResponse ¶
type PublishResponse struct { MessageId string `xml:"PublishResult>MessageId"` ResponseMetadata aws.ResponseMetadata }
type RemovePermissionResponse ¶
type RemovePermissionResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type SNS ¶
func (*SNS) AddPermission ¶
func (sns *SNS) AddPermission(label, topicArn string, permissions []Permission) (*AddPermissionResponse, error)
Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.
func (*SNS) ConfirmSubscription ¶
func (sns *SNS) ConfirmSubscription(topicArn, token, authenticateOnUnsubscribe string) (*ConfirmSubscriptionResponse, error)
Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to "true".
func (*SNS) ConfirmSubscriptionFromHttp ¶
func (sns *SNS) ConfirmSubscriptionFromHttp(notification *HttpNotification, authenticateOnUnsubscribe string) (*ConfirmSubscriptionResponse, error)
Verifies an endpoint owner's intent to receive messages by responding to json subscription notification or by re-subscribing after aving received an unsubscribed notification from an http post.
func (*SNS) CreatePlatformApplication ¶
func (sns *SNS) CreatePlatformApplication(name, platform string, attributes []Attribute) (*CreatePlatformApplicationResponse, error)
Creates a platform application object for one of the supported push notification services, such as APNS and GCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action.
func (*SNS) CreatePlatformEndpoint ¶
func (sns *SNS) CreatePlatformEndpoint(options *PlatformEndpointOptions) (*CreatePlatformEndpointResponse, error)
Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM and APNS. CreatePlatformEndpoint requires the PlatformApplicationArn that is returned from CreatePlatformApplication. The EndpointArn that is returned when using CreatePlatformEndpoint can then be used by the Publish action to send a message to a mobile app or by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint.
func (*SNS) CreateTopic ¶
func (sns *SNS) CreateTopic(name string) (*CreateTopicResponse, error)
Creates a topic to which notifications can be published. Users can create at most 3000 topics. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
func (*SNS) DeleteEndpoint ¶
func (sns *SNS) DeleteEndpoint(endpointArn string) (*DeleteEndpointResponse, error)
Deletes the endpoint from Amazon SNS. This action is idempotent.
func (*SNS) DeletePlatformApplication ¶
func (sns *SNS) DeletePlatformApplication(platformApplicationArn string) (*DeletePlatformApplicationResponse, error)
Deletes a platform application object for one of the supported push notification services, such as APNS and GCM
func (*SNS) DeleteTopic ¶
func (sns *SNS) DeleteTopic(topicArn string) (*DeleteTopicResponse, error)
Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.
func (*SNS) GetEndpointAttributes ¶
func (sns *SNS) GetEndpointAttributes(endpointArn string) (*GetEndpointAttributesResponse, error)
Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM and APNS
func (*SNS) GetPlatformApplicationAttributes ¶
func (sns *SNS) GetPlatformApplicationAttributes(platformApplicationArn string) (*GetPlatformApplicationAttributesResponse, error)
Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM
func (*SNS) GetSubscriptionAttributes ¶
func (sns *SNS) GetSubscriptionAttributes(subscriptionArn string) (*GetSubscriptionAttributesResponse, error)
Returns all of the properties of a subscription.
func (*SNS) GetTopicAttributes ¶
func (sns *SNS) GetTopicAttributes(topicArn string) (*GetTopicAttributesResponse, error)
Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.
func (*SNS) ListAllEndpointsByPlatformApplication ¶
func (*SNS) ListAllPlatformApplications ¶
func (sns *SNS) ListAllPlatformApplications() ([]PlatformApplication, error)
func (*SNS) ListAllSubscriptions ¶
func (sns *SNS) ListAllSubscriptions() ([]Subscription, error)
func (*SNS) ListAllSubscriptionsByTopic ¶
func (sns *SNS) ListAllSubscriptionsByTopic(topicArn string) ([]Subscription, error)
Returns a list of the all subscriptions to a specific topic.
func (*SNS) ListAllTopics ¶
func (*SNS) ListEndpointsByPlatformApplication ¶
func (sns *SNS) ListEndpointsByPlatformApplication(platformApplicationArn, nextToken string) (*ListEndpointsByPlatformApplicationResponse, error)
Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null.
func (*SNS) ListPlatformApplications ¶
func (sns *SNS) ListPlatformApplications(nextToken string) (*ListPlatformApplicationsResponse, error)
Lists the platform application objects for the supported push notification services, such as APNS and GCM. The results for ListPlatformApplications are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null.
func (*SNS) ListSubscriptions ¶
func (sns *SNS) ListSubscriptions(nextToken string) (*ListSubscriptionsResponse, error)
Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptions call to get further results.
func (*SNS) ListSubscriptionsByTopic ¶
func (sns *SNS) ListSubscriptionsByTopic(topicArn, nextToken string) (*ListSubscriptionByTopicResponse, error)
Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic call to get further results.
func (*SNS) ListTopics ¶
func (sns *SNS) ListTopics(nextToken string) (*ListTopicsResponse, error)
Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a NextToken is also returned. Use the NextToken parameter in a new ListTopics call to get further results.
func (*SNS) Publish ¶
func (sns *SNS) Publish(options *PublishOptions) (*PublishResponse, error)
Sends a message to all of a topic's subscribed endpoints. When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it to the topic's subscribers shortly. The format of the outgoing message to each subscribed endpoint depends on the notification protocol selected. To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn.
func (*SNS) RemovePermission ¶
func (sns *SNS) RemovePermission(label, topicArn string) (*RemovePermissionResponse, error)
Removes a statement from a topic's access control policy.
func (*SNS) SetEndpointAttributes ¶
func (sns *SNS) SetEndpointAttributes(endpointArn string, attributes []Attribute) (*SetEndpointAttributesResponse, error)
Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS
func (*SNS) SetPlatformApplicationAttributes ¶
func (sns *SNS) SetPlatformApplicationAttributes(platformApplicationArn string, attributes []Attribute) (*SetPlatformApplicationAttributesResponse, error)
Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM
func (*SNS) SetSubscriptionAttributes ¶
func (sns *SNS) SetSubscriptionAttributes(subscriptionArn, attributeName, attributeValue string) (*SetSubscriptionAttributesResponse, error)
Allows a subscription owner to set an attribute of the topic to a new value.
func (*SNS) SetTopicAttributes ¶
func (sns *SNS) SetTopicAttributes(topicArn, attributeName, attributeValue string) (*SetTopicAttributesResponse, error)
Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS.
func (*SNS) Subscribe ¶
func (sns *SNS) Subscribe(topicArn, protocol, endpoint string) (*SubscribeResponse, error)
Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days.
func (*SNS) Unsubscribe ¶
func (sns *SNS) Unsubscribe(subscriptionArn string) (*UnsubscribeResponse, error)
Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe request was unintended.
func (*SNS) UnsubscribeFromHttp ¶
func (sns *SNS) UnsubscribeFromHttp(notification *HttpNotification, authenticateOnUnsubscribe string) (*UnsubscribeResponse, error)
type SetEndpointAttributesResponse ¶
type SetEndpointAttributesResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type SetPlatformApplicationAttributesResponse ¶
type SetPlatformApplicationAttributesResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type SetSubscriptionAttributesResponse ¶
type SetSubscriptionAttributesResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type SetTopicAttributesResponse ¶
type SetTopicAttributesResponse struct {
ResponseMetadata aws.ResponseMetadata
}
type SubscribeResponse ¶
type SubscribeResponse struct { SubscriptionArn string `xml:"SubscribeResult>SubscriptionArn"` ResponseMetadata aws.ResponseMetadata }
type Subscription ¶
type UnsubscribeResponse ¶
type UnsubscribeResponse struct {
ResponseMetadata aws.ResponseMetadata
}