Documentation ¶
Index ¶
- Variables
- func ResetApp()
- func ResetResources()
- type Attribute
- type BatchResultErrorEntry
- type ChangeMessageVisibilityRequest
- type ChangeMessageVisibilityResult
- type ConfirmSubscriptionRequest
- type ConfirmSubscriptionResponse
- type ConfirmSubscriptionResult
- type CreateQueueRequest
- type CreateQueueResponse
- type CreateQueueResult
- type CreateTopicRequest
- type CreateTopicResponse
- type CreateTopicResult
- type DeleteMessageBatchRequest
- type DeleteMessageBatchRequestEntry
- type DeleteMessageBatchResponse
- type DeleteMessageBatchResult
- type DeleteMessageBatchResultEntry
- type DeleteMessageRequest
- type DeleteMessageResponse
- type DeleteQueueRequest
- type DeleteQueueResponse
- type DeleteTopicRequest
- type DeleteTopicResponse
- type EnvQueue
- type EnvQueueAttributes
- type EnvSubsciption
- type EnvTopic
- type Environment
- type ErrorResponse
- type ErrorResult
- type FilterPolicy
- type GetQueueAttributesRequest
- type GetQueueAttributesResponse
- type GetQueueAttributesResult
- type GetQueueUrlRequest
- type GetQueueUrlResponse
- type GetQueueUrlResult
- type GetSubscriptionAttributes
- type GetSubscriptionAttributesRequest
- type GetSubscriptionAttributesResponse
- type GetSubscriptionAttributesResult
- type ListQueueRequest
- type ListQueuesResponse
- type ListQueuesResult
- type ListSubscriptionsByTopicRequest
- type ListSubscriptionsByTopicResponse
- type ListSubscriptionsByTopicResult
- type ListSubscriptionsRequest
- type ListSubscriptionsResponse
- type ListSubscriptionsResult
- type ListTopicsRequest
- type ListTopicsResponse
- type ListTopicsResult
- type MessageAttribute
- type MessageStructure
- type Protocol
- type PublishBatchFailed
- type PublishBatchRequest
- type PublishBatchRequestEntries
- type PublishBatchRequestEntry
- type PublishBatchResponse
- type PublishBatchResult
- type PublishBatchResultEntry
- type PublishBatchSuccessful
- type PublishRequest
- type PublishResponse
- type PublishResult
- type PurgeQueueRequest
- type PurgeQueueResponse
- type Queue
- func (q *Queue) InitDuplicatation(deduplicationId string)
- func (q *Queue) IsDuplicate(deduplicationId string) bool
- func (q *Queue) IsLocked(groupId string) bool
- func (q *Queue) LockGroup(groupId string)
- func (q *Queue) NextSequenceNumber(groupId string) string
- func (q *Queue) UnlockGroup(groupId string)
- type QueueAttributes
- type RandomLatency
- type ReceiveMessageRequest
- type ReceiveMessageResponse
- type ReceiveMessageResult
- type RedrivePolicy
- type ResponseMetadata
- type ResultMessage
- type SNSMessage
- type SendMessageBatchRequest
- type SendMessageBatchRequestEntry
- type SendMessageBatchResponse
- type SendMessageBatchResult
- type SendMessageBatchResultEntry
- type SendMessageRequest
- type SendMessageResponse
- type SendMessageResult
- type SetQueueAttributesRequest
- type SetQueueAttributesResponse
- type SetSubscriptionAttributesRequest
- type SetSubscriptionAttributesResponse
- type SnsErrorType
- type SqsErrorType
- type SqsMessage
- type StringToInt
- type SubscribeRequest
- type SubscribeResponse
- type SubscribeResult
- type Subscription
- type SubscriptionAttributeEntry
- type SubscriptionAttributes
- type Topic
- type TopicArnResult
- type TopicAttributes
- type TopicMemberResult
- type TopicNamestype
- type TopicSubscriptions
- type UnsubscribeRequest
- type UnsubscribeResponse
Constants ¶
This section is empty.
Variables ¶
var AvailableQueueAttributes = map[string]bool{ "DelaySeconds": true, "MaximumMessageSize": true, "MessageRetentionPeriod": true, "Policy": true, "ReceiveMessageWaitTimeSeconds": true, "VisibilityTimeout": true, "RedrivePolicy": true, "RedriveAllowPolicy": true, "ApproximateNumberOfMessages": true, "ApproximateNumberOfMessagesDelayed": true, "ApproximateNumberOfMessagesNotVisible": true, "CreatedTimestamp": true, "LastModifiedTimestamp": true, "QueueArn": true, }
var BaseResponseMetadata = ResponseMetadata{RequestId: "00000000-0000-0000-0000-000000000000"}
var BaseXmlns = "http://queue.amazonaws.com/doc/2012-11-05/"
var CurrentEnvironment = Environment{
Host: "host",
Port: "port",
Region: "region",
AccountID: "accountID",
}
CurrentEnvironment should get overwritten when the app starts up and loads the config. For the sake of generating "partial" apps piece-meal during test automation we'll slap these placeholder values in here so the resource URLs aren't wonky like `http://://new-queue`.
var DeduplicationPeriod = 5 * time.Minute
var LogFile string
var LogMessages bool
var SnsErrors map[string]SnsErrorType
var SqsErrors map[string]SqsErrorType
Functions ¶
func ResetResources ¶ added in v0.5.1
func ResetResources()
Types ¶
type BatchResultErrorEntry ¶
type ChangeMessageVisibilityRequest ¶
type ChangeMessageVisibilityRequest struct { QueueUrl string `json:"QueueUrl" schema:"QueueUrl"` ReceiptHandle string `json:"ReceiptHandle" schema:"ReceiptHandle"` VisibilityTimeout int `json:"VisibilityTimeout" schema:"VisibilityTimeout"` }
func NewChangeMessageVisibilityRequest ¶
func NewChangeMessageVisibilityRequest() *ChangeMessageVisibilityRequest
func (*ChangeMessageVisibilityRequest) SetAttributesFromForm ¶
func (r *ChangeMessageVisibilityRequest) SetAttributesFromForm(values url.Values)
type ChangeMessageVisibilityResult ¶
type ChangeMessageVisibilityResult struct { Xmlns string `xml:"xmlns,attr"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (ChangeMessageVisibilityResult) GetRequestId ¶
func (r ChangeMessageVisibilityResult) GetRequestId() string
func (ChangeMessageVisibilityResult) GetResult ¶
func (r ChangeMessageVisibilityResult) GetResult() interface{}
type ConfirmSubscriptionRequest ¶
type ConfirmSubscriptionRequest struct { AuthenticateOnUnsubscribe bool `json:"AuthenticateOnUnsubscribe" schema:"AuthenticateOnUnsubscribe"` // not implemented TopicArn string `json:"TopicArn" schema:"TopicArn"` Token string `json:"Token" schema:"Token"` }
func NewConfirmSubscriptionRequest ¶
func NewConfirmSubscriptionRequest() *ConfirmSubscriptionRequest
func (*ConfirmSubscriptionRequest) SetAttributesFromForm ¶
func (r *ConfirmSubscriptionRequest) SetAttributesFromForm(values url.Values)
type ConfirmSubscriptionResponse ¶
type ConfirmSubscriptionResponse struct { Xmlns string `xml:"xmlns,attr"` Result ConfirmSubscriptionResult `xml:"ConfirmSubscriptionResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
** ConfirmSubscriptionResponse **
func (ConfirmSubscriptionResponse) GetRequestId ¶
func (r ConfirmSubscriptionResponse) GetRequestId() string
func (ConfirmSubscriptionResponse) GetResult ¶
func (r ConfirmSubscriptionResponse) GetResult() interface{}
type ConfirmSubscriptionResult ¶
type ConfirmSubscriptionResult struct {
SubscriptionArn string `xml:"SubscriptionArn"`
}
type CreateQueueRequest ¶
type CreateQueueRequest struct { QueueName string `json:"QueueName" schema:"QueueName"` Attributes QueueAttributes `json:"Attributes" schema:"Attribute"` Tags map[string]string `json:"Tags" schema:"Tags"` Version string `json:"Version" schema:"Version"` }
func NewCreateQueueRequest ¶
func NewCreateQueueRequest() *CreateQueueRequest
func (*CreateQueueRequest) SetAttributesFromForm ¶
func (r *CreateQueueRequest) SetAttributesFromForm(values url.Values)
TODO - is there an easier way to do this? Similar to the StringToInt type?
type CreateQueueResponse ¶
type CreateQueueResponse struct { Xmlns string `xml:"xmlns,attr"` Result CreateQueueResult `xml:"CreateQueueResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (CreateQueueResponse) GetRequestId ¶
func (r CreateQueueResponse) GetRequestId() string
func (CreateQueueResponse) GetResult ¶
func (r CreateQueueResponse) GetResult() interface{}
type CreateQueueResult ¶
type CreateQueueResult struct {
QueueUrl string `json:"QueueUrl" xml:"QueueUrl"`
}
** Create Queue Response
type CreateTopicRequest ¶
type CreateTopicRequest struct { Name string `json:"Name" schema:"Name"` // Goaws unsupports below properties currently. DataProtectionPolicy string `json:"DataProtectionPolicy" schema:"DataProtectionPolicy"` Attributes TopicAttributes `json:"Attributes" schema:"Attributes"` Tags map[string]string `json:"Tags" schema:"Tags"` }
func (*CreateTopicRequest) SetAttributesFromForm ¶
func (r *CreateTopicRequest) SetAttributesFromForm(values url.Values)
type CreateTopicResponse ¶
type CreateTopicResponse struct { Xmlns string `xml:"xmlns,attr"` Result CreateTopicResult `xml:"CreateTopicResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (CreateTopicResponse) GetRequestId ¶
func (r CreateTopicResponse) GetRequestId() string
func (CreateTopicResponse) GetResult ¶
func (r CreateTopicResponse) GetResult() interface{}
type CreateTopicResult ¶
type CreateTopicResult struct {
TopicArn string `xml:"TopicArn"`
}
** Create Topic Response
type DeleteMessageBatchRequest ¶
type DeleteMessageBatchRequest struct { Entries []DeleteMessageBatchRequestEntry `json:"Entries" schema:"Entries"` QueueUrl string `json:"QueueUrl" schema:"QueueUrl"` }
func NewDeleteMessageBatchRequest ¶
func NewDeleteMessageBatchRequest() *DeleteMessageBatchRequest
func (*DeleteMessageBatchRequest) SetAttributesFromForm ¶
func (r *DeleteMessageBatchRequest) SetAttributesFromForm(values url.Values)
type DeleteMessageBatchResponse ¶
type DeleteMessageBatchResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Result DeleteMessageBatchResult `xml:"DeleteMessageBatchResult"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
** Delete Message Batch Response
func (DeleteMessageBatchResponse) GetRequestId ¶
func (r DeleteMessageBatchResponse) GetRequestId() string
func (DeleteMessageBatchResponse) GetResult ¶
func (r DeleteMessageBatchResponse) GetResult() interface{}
type DeleteMessageBatchResult ¶
type DeleteMessageBatchResult struct { Successful []DeleteMessageBatchResultEntry `xml:"DeleteMessageBatchResultEntry"` Failed []BatchResultErrorEntry `xml:"BatchResultErrorEntry,omitempty"` }
type DeleteMessageBatchResultEntry ¶
type DeleteMessageBatchResultEntry struct {
Id string `xml:"Id"`
}
type DeleteMessageRequest ¶
type DeleteMessageRequest struct { QueueUrl string `json:"QueueUrl" schema:"QueueUrl"` ReceiptHandle string `json:"ReceiptHandle" schema:"ReceiptHandle"` }
func NewDeleteMessageRequest ¶
func NewDeleteMessageRequest() *DeleteMessageRequest
func (*DeleteMessageRequest) SetAttributesFromForm ¶
func (r *DeleteMessageRequest) SetAttributesFromForm(values url.Values)
type DeleteMessageResponse ¶
type DeleteMessageResponse struct { Xmlns string `xml:"xmlns,attr"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
** Delete Message Response
func (DeleteMessageResponse) GetRequestId ¶
func (r DeleteMessageResponse) GetRequestId() string
func (DeleteMessageResponse) GetResult ¶
func (r DeleteMessageResponse) GetResult() interface{}
type DeleteQueueRequest ¶
type DeleteQueueRequest struct {
QueueUrl string `json:"QueueUrl" schema:"QueueUrl"`
}
func NewDeleteQueueRequest ¶
func NewDeleteQueueRequest() *DeleteQueueRequest
func (*DeleteQueueRequest) SetAttributesFromForm ¶
func (r *DeleteQueueRequest) SetAttributesFromForm(values url.Values)
type DeleteQueueResponse ¶
type DeleteQueueResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
** Delete Queue Response
func (DeleteQueueResponse) GetRequestId ¶
func (r DeleteQueueResponse) GetRequestId() string
func (DeleteQueueResponse) GetResult ¶
func (r DeleteQueueResponse) GetResult() interface{}
type DeleteTopicRequest ¶
type DeleteTopicRequest struct {
TopicArn string `json:"TopicArn" schema:"TopicArn"`
}
func NewDeleteTopicRequest ¶
func NewDeleteTopicRequest() *DeleteTopicRequest
func (*DeleteTopicRequest) SetAttributesFromForm ¶
func (r *DeleteTopicRequest) SetAttributesFromForm(values url.Values)
type DeleteTopicResponse ¶
type DeleteTopicResponse struct { Xmlns string `xml:"xmlns,attr"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
** Delete Topic **
func (DeleteTopicResponse) GetRequestId ¶
func (r DeleteTopicResponse) GetRequestId() string
func (DeleteTopicResponse) GetResult ¶
func (r DeleteTopicResponse) GetResult() interface{}
type EnvQueueAttributes ¶ added in v0.5.1
type EnvSubsciption ¶ added in v0.5.1
type EnvSubsciption struct { Protocol string EndPoint string TopicArn string QueueName string Raw bool FilterPolicy string }
** config **
type EnvTopic ¶ added in v0.5.1
type EnvTopic struct { Name string Subscriptions []EnvSubsciption }
type Environment ¶ added in v0.5.1
type ErrorResponse ¶
type ErrorResponse struct { Result ErrorResult `xml:"Error"` RequestId string `xml:"RequestId"` }
func (ErrorResponse) GetRequestId ¶
func (r ErrorResponse) GetRequestId() string
func (ErrorResponse) GetResult ¶
func (r ErrorResponse) GetResult() interface{}
type ErrorResult ¶
type ErrorResult struct { Type string `xml:"Type,omitempty"` Code string `xml:"Code,omitempty"` Message string `xml:"Message,omitempty"` }
** Error Responses **
type FilterPolicy ¶ added in v0.5.1
only simple "ExactMatch" string policy is supported at the moment
func (*FilterPolicy) IsSatisfiedBy ¶ added in v0.5.1
func (fp *FilterPolicy) IsSatisfiedBy(msgAttrs map[string]MessageAttribute) bool
Function checks if MessageAttributes passed to Topic satisfy FilterPolicy set by subscription
type GetQueueAttributesRequest ¶
type GetQueueAttributesRequest struct { QueueUrl string `json:"QueueUrl"` AttributeNames []string `json:"AttributeNames"` }
func NewGetQueueAttributesRequest ¶
func NewGetQueueAttributesRequest() *GetQueueAttributesRequest
func (*GetQueueAttributesRequest) SetAttributesFromForm ¶
func (r *GetQueueAttributesRequest) SetAttributesFromForm(values url.Values)
type GetQueueAttributesResponse ¶
type GetQueueAttributesResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Result GetQueueAttributesResult `xml:"GetQueueAttributesResult"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
func (GetQueueAttributesResponse) GetRequestId ¶
func (r GetQueueAttributesResponse) GetRequestId() string
func (GetQueueAttributesResponse) GetResult ¶
func (r GetQueueAttributesResponse) GetResult() interface{}
type GetQueueAttributesResult ¶
type GetQueueAttributesResult struct { /* VisibilityTimeout, DelaySeconds, ReceiveMessageWaitTimeSeconds, ApproximateNumberOfMessages ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn */ Attrs []Attribute `xml:"Attribute,omitempty"` }
type GetQueueUrlRequest ¶
type GetQueueUrlRequest struct { QueueName string `json:"QueueName"` QueueOwnerAWSAccountId string `json:"QueueOwnerAWSAccountId"` // NOTE: not implemented }
func (*GetQueueUrlRequest) SetAttributesFromForm ¶
func (r *GetQueueUrlRequest) SetAttributesFromForm(values url.Values)
type GetQueueUrlResponse ¶
type GetQueueUrlResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Result GetQueueUrlResult `xml:"GetQueueUrlResult"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
func (GetQueueUrlResponse) GetRequestId ¶
func (r GetQueueUrlResponse) GetRequestId() string
func (GetQueueUrlResponse) GetResult ¶
func (r GetQueueUrlResponse) GetResult() interface{}
type GetQueueUrlResult ¶
type GetQueueUrlResult struct {
QueueUrl string `xml:"QueueUrl,omitempty"`
}
** Get Queue Url Response
type GetSubscriptionAttributes ¶
type GetSubscriptionAttributes struct { /* SubscriptionArn, FilterPolicy */ Entries []SubscriptionAttributeEntry `xml:"entry,omitempty"` }
type GetSubscriptionAttributesRequest ¶
type GetSubscriptionAttributesRequest struct {
SubscriptionArn string `json:"SubscriptionArn" schema:"SubscriptionArn"`
}
func NewGetSubscriptionAttributesRequest ¶
func NewGetSubscriptionAttributesRequest() *GetSubscriptionAttributesRequest
Get Subscription Attributes V1
func (*GetSubscriptionAttributesRequest) SetAttributesFromForm ¶
func (r *GetSubscriptionAttributesRequest) SetAttributesFromForm(values url.Values)
type GetSubscriptionAttributesResponse ¶
type GetSubscriptionAttributesResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Result GetSubscriptionAttributesResult `xml:"GetSubscriptionAttributesResult"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
func (GetSubscriptionAttributesResponse) GetRequestId ¶
func (r GetSubscriptionAttributesResponse) GetRequestId() string
func (GetSubscriptionAttributesResponse) GetResult ¶
func (r GetSubscriptionAttributesResponse) GetResult() interface{}
type GetSubscriptionAttributesResult ¶
type GetSubscriptionAttributesResult struct {
Attributes GetSubscriptionAttributes `xml:"Attributes,omitempty"`
}
** Get Subscription Attributes **
type ListQueueRequest ¶
type ListQueueRequest struct { MaxResults int `json:"MaxResults" schema:"MaxResults"` NextToken string `json:"NextToken" schema:"NextToken"` QueueNamePrefix string `json:"QueueNamePrefix" schema:"QueueNamePrefix"` }
func NewListQueuesRequest ¶
func NewListQueuesRequest() *ListQueueRequest
func (*ListQueueRequest) SetAttributesFromForm ¶
func (r *ListQueueRequest) SetAttributesFromForm(values url.Values)
type ListQueuesResponse ¶
type ListQueuesResponse struct { Xmlns string `xml:"xmlns,attr"` Result ListQueuesResult `xml:"ListQueuesResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (ListQueuesResponse) GetRequestId ¶
func (r ListQueuesResponse) GetRequestId() string
func (ListQueuesResponse) GetResult ¶
func (r ListQueuesResponse) GetResult() interface{}
type ListQueuesResult ¶
type ListQueuesResult struct { // NOTE: the old XML sdks depend on QueueUrl, and the new JSON ones need QueueUrls QueueUrls []string `json:"QueueUrls" xml:"QueueUrl"` }
** List Queues Response
type ListSubscriptionsByTopicRequest ¶
type ListSubscriptionsByTopicRequest struct { NextToken string `json:"NextToken" schema:"NextToken"` // not implemented TopicArn string `json:"TopicArn" schema:"TopicArn"` }
func NewListSubscriptionsByTopicRequest ¶
func NewListSubscriptionsByTopicRequest() *ListSubscriptionsByTopicRequest
func (*ListSubscriptionsByTopicRequest) SetAttributesFromForm ¶
func (r *ListSubscriptionsByTopicRequest) SetAttributesFromForm(values url.Values)
type ListSubscriptionsByTopicResponse ¶
type ListSubscriptionsByTopicResponse struct { Xmlns string `xml:"xmlns,attr"` Result ListSubscriptionsByTopicResult `xml:"ListSubscriptionsByTopicResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (ListSubscriptionsByTopicResponse) GetRequestId ¶
func (r ListSubscriptionsByTopicResponse) GetRequestId() string
func (ListSubscriptionsByTopicResponse) GetResult ¶
func (r ListSubscriptionsByTopicResponse) GetResult() interface{}
type ListSubscriptionsByTopicResult ¶
type ListSubscriptionsByTopicResult struct { NextToken string `xml:"NextToken"` // not implemented Subscriptions TopicSubscriptions `xml:"Subscriptions"` }
** List Subscriptions By Topic Response
type ListSubscriptionsRequest ¶
type ListSubscriptionsRequest struct {
NextToken string `json:"NextToken" schema:"NextToken"` // not implemented
}
func NewListSubscriptionsRequest ¶
func NewListSubscriptionsRequest() *ListSubscriptionsRequest
func (*ListSubscriptionsRequest) SetAttributesFromForm ¶
func (r *ListSubscriptionsRequest) SetAttributesFromForm(values url.Values)
type ListSubscriptionsResponse ¶
type ListSubscriptionsResponse struct { Xmlns string `xml:"xmlns,attr"` Result ListSubscriptionsResult `xml:"ListSubscriptionsResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (ListSubscriptionsResponse) GetRequestId ¶
func (r ListSubscriptionsResponse) GetRequestId() string
func (ListSubscriptionsResponse) GetResult ¶
func (r ListSubscriptionsResponse) GetResult() interface{}
type ListSubscriptionsResult ¶
type ListSubscriptionsResult struct {
Subscriptions TopicSubscriptions `xml:"Subscriptions"`
}
type ListTopicsRequest ¶
type ListTopicsRequest struct {
NextToken string `json:"NextToken" schema:"NextToken"` // not implemented
}
func NewListTopicsRequest ¶
func NewListTopicsRequest() *ListTopicsRequest
func (*ListTopicsRequest) SetAttributesFromForm ¶
func (r *ListTopicsRequest) SetAttributesFromForm(values url.Values)
type ListTopicsResponse ¶
type ListTopicsResponse struct { Xmlns string `xml:"xmlns,attr"` Result ListTopicsResult `xml:"ListTopicsResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (ListTopicsResponse) GetRequestId ¶
func (r ListTopicsResponse) GetRequestId() string
func (ListTopicsResponse) GetResult ¶
func (r ListTopicsResponse) GetResult() interface{}
type ListTopicsResult ¶
type ListTopicsResult struct {
Topics TopicNamestype `xml:"Topics"`
}
type MessageAttribute ¶ added in v0.5.1
type MessageAttribute struct { BinaryListValues []string `json:"BinaryListValues,omitempty" xml:"BinaryListValues,omitempty"` // currently unsupported by AWS BinaryValue []byte `json:"BinaryValue,omitempty" xml:"BinaryValue,omitempty"` DataType string `json:"DataType,omitempty" xml:"DataType,omitempty"` StringListValues []string `json:"StringListValues,omitempty" xml:"StringListValues,omitempty"` // currently unsupported by AWS StringValue string `json:"StringValue,omitempty" xml:"StringValue,omitempty"` }
type MessageStructure ¶ added in v0.5.1
type MessageStructure string
const (
MessageStructureJSON MessageStructure = "json"
)
type PublishBatchFailed ¶ added in v0.5.1
type PublishBatchFailed struct {
ErrorEntries []BatchResultErrorEntry `xml:"member"`
}
** Publish Batch **
type PublishBatchRequest ¶ added in v0.5.1
type PublishBatchRequest struct { PublishBatchRequestEntries PublishBatchRequestEntries `json:"PublishBatchRequestEntries" schema:"PublishBatchRequestEntries"` TopicArn string `json:"TopicArn" schema:"TopicArn"` }
func NewPublishBatchRequest ¶ added in v0.5.1
func NewPublishBatchRequest() *PublishBatchRequest
func (*PublishBatchRequest) SetAttributesFromForm ¶ added in v0.5.1
func (r *PublishBatchRequest) SetAttributesFromForm(values url.Values)
type PublishBatchRequestEntries ¶ added in v0.5.1
type PublishBatchRequestEntries struct {
Member []*PublishBatchRequestEntry `json:"member" schema:"member"`
}
type PublishBatchRequestEntry ¶ added in v0.5.1
type PublishBatchRequestEntry struct { ID string `json:"Id" schema:"Id"` Message string `json:"Message" schema:"Message"` MessageAttributes map[string]MessageAttribute `json:"MessageAttributes" schema:"MessageAttributes"` // Not implemented MessageDeduplicationId string `json:"MessageDeduplicationId" schema:"MessageDeduplicationId"` // Not implemented MessageGroupId string `json:"MessageGroupId" schema:"MessageGroupId"` // Not implemented MessageStructure string `json:"MessageStructure" schema:"MessageStructure"` Subject string `json:"Subject" schema:"Subject"` }
func (*PublishBatchRequestEntry) GetMessage ¶ added in v0.5.1
func (r *PublishBatchRequestEntry) GetMessage() string
Satisfy the AbstractPublishEntry interface
func (*PublishBatchRequestEntry) GetMessageAttributes ¶ added in v0.5.1
func (r *PublishBatchRequestEntry) GetMessageAttributes() map[string]MessageAttribute
func (*PublishBatchRequestEntry) GetMessageStructure ¶ added in v0.5.1
func (r *PublishBatchRequestEntry) GetMessageStructure() string
func (*PublishBatchRequestEntry) GetSubject ¶ added in v0.5.1
func (r *PublishBatchRequestEntry) GetSubject() string
type PublishBatchResponse ¶ added in v0.5.1
type PublishBatchResponse struct { Xmlns string `xml:"xmlns,attr"` Result PublishBatchResult `xml:"PublishBatchResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (PublishBatchResponse) GetRequestId ¶ added in v0.5.1
func (r PublishBatchResponse) GetRequestId() string
func (PublishBatchResponse) GetResult ¶ added in v0.5.1
func (r PublishBatchResponse) GetResult() interface{}
type PublishBatchResult ¶ added in v0.5.1
type PublishBatchResult struct { Failed PublishBatchFailed `xml:"Failed"` Successful PublishBatchSuccessful `xml:"Successful"` }
type PublishBatchResultEntry ¶ added in v0.5.1
type PublishBatchSuccessful ¶ added in v0.5.1
type PublishBatchSuccessful struct {
SuccessEntries []PublishBatchResultEntry `xml:"member"`
}
type PublishRequest ¶
type PublishRequest struct { Message string `json:"Message" schema:"Message"` MessageAttributes map[string]MessageAttribute `json:"MessageAttributes" schema:"MessageAttributes"` MessageDeduplicationId string `json:"MessageDeduplicationId" schema:"MessageDeduplicationId"` // Not implemented MessageGroupId string `json:"MessageGroupId" schema:"MessageGroupId"` // Not implemented MessageStructure string `json:"MessageStructure" schema:"MessageStructure"` PhoneNumber string `json:"PhoneNumber" schema:"PhoneNumber"` // Not implemented Subject string `json:"Subject" schema:"Subject"` TargetArn string `json:"TargetArn" schema:"TargetArn"` // Not implemented TopicArn string `json:"TopicArn" schema:"TopicArn"` }
func NewPublishRequest ¶
func NewPublishRequest() *PublishRequest
func (*PublishRequest) GetMessage ¶ added in v0.5.1
func (r *PublishRequest) GetMessage() string
Satisfy the AbstractPublishEntry interface
func (*PublishRequest) GetMessageAttributes ¶ added in v0.5.1
func (r *PublishRequest) GetMessageAttributes() map[string]MessageAttribute
func (*PublishRequest) GetMessageStructure ¶ added in v0.5.1
func (r *PublishRequest) GetMessageStructure() string
func (*PublishRequest) GetSubject ¶ added in v0.5.1
func (r *PublishRequest) GetSubject() string
func (*PublishRequest) SetAttributesFromForm ¶
func (r *PublishRequest) SetAttributesFromForm(values url.Values)
type PublishResponse ¶
type PublishResponse struct { Xmlns string `xml:"xmlns,attr"` Result PublishResult `xml:"PublishResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (PublishResponse) GetRequestId ¶
func (r PublishResponse) GetRequestId() string
func (PublishResponse) GetResult ¶
func (r PublishResponse) GetResult() interface{}
type PurgeQueueRequest ¶
type PurgeQueueRequest struct {
QueueUrl string `json:"QueueUrl" schema:"QueueUrl"`
}
func NewPurgeQueueRequest ¶
func NewPurgeQueueRequest() *PurgeQueueRequest
func (*PurgeQueueRequest) SetAttributesFromForm ¶
func (r *PurgeQueueRequest) SetAttributesFromForm(values url.Values)
type PurgeQueueResponse ¶
type PurgeQueueResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
** Purge Queue Response
func (PurgeQueueResponse) GetRequestId ¶
func (r PurgeQueueResponse) GetRequestId() string
func (PurgeQueueResponse) GetResult ¶
func (r PurgeQueueResponse) GetResult() interface{}
type Queue ¶ added in v0.5.1
type Queue struct { Name string URL string Arn string VisibilityTimeout int // seconds ReceiveMessageWaitTimeSeconds int DelaySeconds int MaximumMessageSize int MessageRetentionPeriod int // seconds // TODO - not used in the code yet Messages []SqsMessage DeadLetterQueue *Queue MaxReceiveCount int IsFIFO bool FIFOMessages map[string]int FIFOSequenceNumbers map[string]int EnableDuplicates bool Duplicates map[string]time.Time }
func (*Queue) InitDuplicatation ¶ added in v0.5.1
func (*Queue) IsDuplicate ¶ added in v0.5.1
func (*Queue) NextSequenceNumber ¶ added in v0.5.1
func (*Queue) UnlockGroup ¶ added in v0.5.1
type QueueAttributes ¶
type QueueAttributes struct { DelaySeconds StringToInt `json:"DelaySeconds"` MaximumMessageSize StringToInt `json:"MaximumMessageSize"` MessageRetentionPeriod StringToInt `json:"MessageRetentionPeriod"` // NOTE: not implemented Policy map[string]interface{} `json:"Policy"` // NOTE: not implemented ReceiveMessageWaitTimeSeconds StringToInt `json:"ReceiveMessageWaitTimeSeconds"` VisibilityTimeout StringToInt `json:"VisibilityTimeout"` // Dead Letter Queues Only RedrivePolicy RedrivePolicy `json:"RedrivePolicy"` RedriveAllowPolicy map[string]interface{} `json:"RedriveAllowPolicy"` // NOTE: not implemented }
TODO - there are FIFO attributes and things too QueueAttributes - SQS QueueAttributes Available in create/set attributes requests. https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html#SQS-CreateQueue-request-attributes
type RandomLatency ¶ added in v0.5.1
type ReceiveMessageRequest ¶
type ReceiveMessageRequest struct { QueueUrl string `json:"QueueUrl" schema:"QueueUrl"` AttributeNames []string `json:"AttributeNames" schema:"AttributeNames"` MessageSystemAttributeNames []string `json:"MessageSystemAttributeNames" schema:"MessageSystemAttributeNames"` MessageAttributeNames []string `json:"MessageAttributeNames" schema:"MessageAttributeNames"` MaxNumberOfMessages int `json:"MaxNumberOfMessages" schema:"MaxNumberOfMessages"` VisibilityTimeout int `json:"VisibilityTimeout" schema:"VisibilityTimeout"` WaitTimeSeconds int `json:"WaitTimeSeconds" schema:"WaitTimeSeconds"` ReceiveRequestAttemptId string `json:"ReceiveRequestAttemptId" schema:"ReceiveRequestAttemptId"` }
func NewReceiveMessageRequest ¶
func NewReceiveMessageRequest() *ReceiveMessageRequest
func (*ReceiveMessageRequest) SetAttributesFromForm ¶
func (r *ReceiveMessageRequest) SetAttributesFromForm(values url.Values)
type ReceiveMessageResponse ¶
type ReceiveMessageResponse struct { Xmlns string `xml:"xmlns,attr"` Result ReceiveMessageResult `xml:"ReceiveMessageResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (ReceiveMessageResponse) GetRequestId ¶
func (r ReceiveMessageResponse) GetRequestId() string
func (ReceiveMessageResponse) GetResult ¶
func (r ReceiveMessageResponse) GetResult() interface{}
type ReceiveMessageResult ¶
type ReceiveMessageResult struct {
Messages []*ResultMessage `json:"Messages" xml:"Message,omitempty"`
}
** Receive Message Response
type RedrivePolicy ¶
type RedrivePolicy struct { MaxReceiveCount StringToInt `json:"maxReceiveCount"` DeadLetterTargetArn string `json:"deadLetterTargetArn"` }
func (*RedrivePolicy) UnmarshalJSON ¶
func (r *RedrivePolicy) UnmarshalJSON(data []byte) error
UnmarshalJSON this will convert a JSON string of a Redrive Policy sub-doc (escaped characters and all) or a regular json document into the appropriate resulting struct.
type ResponseMetadata ¶ added in v0.5.1
type ResponseMetadata struct {
RequestId string `xml:"RequestId"`
}
type ResultMessage ¶
type ResultMessage struct { MessageId string `xml:"MessageId,omitempty"` ReceiptHandle string `xml:"ReceiptHandle,omitempty"` MD5OfBody string `xml:"MD5OfBody,omitempty"` Body string `xml:"Body,omitempty"` MD5OfMessageAttributes string `xml:"MD5OfMessageAttributes,omitempty"` MessageAttributes map[string]MessageAttribute `xml:"MessageAttribute,omitempty,attr"` Attributes map[string]string `xml:"Attribute,omitempty,attr"` }
func (*ResultMessage) MarshalXML ¶ added in v0.5.1
func (r *ResultMessage) MarshalXML(e *xml.Encoder, start xml.StartElement) error
MarshalXML is a custom marshaler for the ResultMessage struct. We need it because we need to convert the maps into something that can be shown as XML. If we ever get rid of the XML response parsing this can go, and that would be glorious.
type SNSMessage ¶ added in v0.5.1
type SNSMessage struct { Type string `json:"Type"` Token string `json:"Token,omitempty"` MessageId string `json:"MessageId"` TopicArn string `json:"TopicArn"` Subject string `json:"Subject"` Message string `json:"Message"` Timestamp string `json:"Timestamp"` SignatureVersion string `json:"SignatureVersion"` Signature string `json:"Signature,omitempty"` SigningCertURL string `json:"SigningCertURL"` UnsubscribeURL string `json:"UnsubscribeURL"` SubscribeURL string `json:"SubscribeURL,omitempty"` MessageAttributes map[string]MessageAttribute `json:"MessageAttributes,omitempty"` }
type SendMessageBatchRequest ¶
type SendMessageBatchRequest struct { Entries []SendMessageBatchRequestEntry QueueUrl string }
func NewSendMessageBatchRequest ¶
func NewSendMessageBatchRequest() *SendMessageBatchRequest
func (*SendMessageBatchRequest) SetAttributesFromForm ¶
func (r *SendMessageBatchRequest) SetAttributesFromForm(values url.Values)
type SendMessageBatchRequestEntry ¶
type SendMessageBatchRequestEntry struct { Id string `json:"Id" schema:"Id"` MessageBody string `json:"MessageBody" schema:"MessageBody"` DelaySeconds int `json:"DelaySeconds" schema:"DelaySeconds"` // NOTE: not implemented MessageAttributes map[string]MessageAttribute `json:"MessageAttributes" schema:"MessageAttributes"` MessageDeduplicationId string `json:"MessageDeduplicationId" schema:"MessageDeduplicationId"` MessageGroupId string `json:"MessageGroupId" schema:"MessageGroupId"` MessageSystemAttributes map[string]MessageAttribute `json:"MessageSystemAttributes" schema:"MessageSystemAttributes"` // NOTE: not implemented }
type SendMessageBatchResponse ¶
type SendMessageBatchResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Result SendMessageBatchResult `xml:"SendMessageBatchResult"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
** Send Message Batch Response
func (SendMessageBatchResponse) GetRequestId ¶
func (r SendMessageBatchResponse) GetRequestId() string
func (SendMessageBatchResponse) GetResult ¶
func (r SendMessageBatchResponse) GetResult() interface{}
type SendMessageBatchResult ¶
type SendMessageBatchResult struct { Entry []SendMessageBatchResultEntry `xml:"SendMessageBatchResultEntry"` Error []BatchResultErrorEntry `xml:"BatchResultErrorEntry,omitempty"` }
type SendMessageRequest ¶
type SendMessageRequest struct { DelaySeconds int `json:"DelaySeconds" schema:"DelaySeconds"` // MessageAttributes is custom attributes that users can add on the message as they like. // Please see: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html#SQS-SendMessage-request-MessageAttributes MessageAttributes map[string]MessageAttribute `json:"MessageAttributes" schema:"MessageAttributes"` MessageBody string `json:"MessageBody" schema:"MessageBody"` MessageDeduplicationId string `json:"MessageDeduplicationId" schema:"MessageDeduplicationId"` MessageGroupId string `json:"MessageGroupId" schema:"MessageGroupId"` // MessageSystemAttributes is custom attributes for AWS services. // Please see: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html#SQS-SendMessage-request-MessageSystemAttributes // On AWS, the only supported attribute is "AWSTraceHeader" that is for AWS X-Ray. // Goaws does not contains X-Ray emulation, so currently MessageSystemAttributes is unsupported. // TODO: Replace with a struct with known attributes "AWSTraceHeader". MessageSystemAttributes map[string]MessageAttribute `json:"MessageSystemAttributes" schema:"MessageSystemAttributes"` QueueUrl string `json:"QueueUrl" schema:"QueueUrl"` }
func NewSendMessageRequest ¶
func NewSendMessageRequest() *SendMessageRequest
** Send Message Request
func (*SendMessageRequest) SetAttributesFromForm ¶
func (r *SendMessageRequest) SetAttributesFromForm(values url.Values)
type SendMessageResponse ¶
type SendMessageResponse struct { Xmlns string `xml:"xmlns,attr"` Result SendMessageResult `xml:"SendMessageResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (SendMessageResponse) GetRequestId ¶
func (r SendMessageResponse) GetRequestId() string
func (SendMessageResponse) GetResult ¶
func (r SendMessageResponse) GetResult() interface{}
type SendMessageResult ¶
type SendMessageResult struct { MD5OfMessageAttributes string `xml:"MD5OfMessageAttributes"` MD5OfMessageBody string `xml:"MD5OfMessageBody"` MessageId string `xml:"MessageId"` SequenceNumber string `xml:"SequenceNumber"` }
** Send Message Response
type SetQueueAttributesRequest ¶
type SetQueueAttributesRequest struct { QueueUrl string `json:"QueueUrl"` Attributes QueueAttributes `json:"Attributes"` }
func NewSetQueueAttributesRequest ¶
func NewSetQueueAttributesRequest() *SetQueueAttributesRequest
func (*SetQueueAttributesRequest) SetAttributesFromForm ¶
func (r *SetQueueAttributesRequest) SetAttributesFromForm(values url.Values)
type SetQueueAttributesResponse ¶
type SetQueueAttributesResponse struct { Xmlns string `xml:"xmlns,attr,omitempty"` Metadata ResponseMetadata `xml:"ResponseMetadata,omitempty"` }
func (SetQueueAttributesResponse) GetRequestId ¶
func (r SetQueueAttributesResponse) GetRequestId() string
func (SetQueueAttributesResponse) GetResult ¶
func (r SetQueueAttributesResponse) GetResult() interface{}
type SetSubscriptionAttributesRequest ¶
type SetSubscriptionAttributesRequest struct { SubscriptionArn string `json:"SubscriptionArn" schema:"SubscriptionArn"` AttributeName string `json:"AttributeName" schema:"AttributeName"` AttributeValue string `json:"AttributeValue" schema:"AttributeValue"` }
Ref: https://docs.aws.amazon.com/sns/latest/api/API_SetSubscriptionAttributes.html
func NewSetSubscriptionAttributesRequest ¶
func NewSetSubscriptionAttributesRequest() *SetSubscriptionAttributesRequest
func (*SetSubscriptionAttributesRequest) SetAttributesFromForm ¶
func (r *SetSubscriptionAttributesRequest) SetAttributesFromForm(values url.Values)
type SetSubscriptionAttributesResponse ¶
type SetSubscriptionAttributesResponse struct { Xmlns string `xml:"xmlns,attr"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
** Set Subscription Attributes **
func (SetSubscriptionAttributesResponse) GetRequestId ¶
func (r SetSubscriptionAttributesResponse) GetRequestId() string
func (SetSubscriptionAttributesResponse) GetResult ¶
func (r SetSubscriptionAttributesResponse) GetResult() interface{}
type SnsErrorType ¶
func (SnsErrorType) Response ¶
func (s SnsErrorType) Response() ErrorResult
func (SnsErrorType) StatusCode ¶
func (s SnsErrorType) StatusCode() int
type SqsErrorType ¶
func (SqsErrorType) Response ¶
func (s SqsErrorType) Response() ErrorResult
func (SqsErrorType) StatusCode ¶
func (s SqsErrorType) StatusCode() int
type SqsMessage ¶ added in v0.5.1
type SqsMessage struct { MessageBody string Uuid string MD5OfMessageAttributes string MD5OfMessageBody string ReceiptHandle string ReceiptTime time.Time VisibilityTimeout time.Time NumberOfReceives int Retry int MessageAttributes map[string]MessageAttribute GroupID string DeduplicationID string SentTime time.Time DelaySecs int }
func (*SqsMessage) IsReadyForReceipt ¶ added in v0.5.1
func (m *SqsMessage) IsReadyForReceipt() bool
type StringToInt ¶
type StringToInt int
StringToInt this is a custom type that will allow our request bodies to support either a string OR an int. It has its own UnmarshalJSON method to handle both types automatically and it can return an `int` from the `Int` method.
func (*StringToInt) Int ¶
func (s *StringToInt) Int() int
func (*StringToInt) UnmarshalJSON ¶
func (s *StringToInt) UnmarshalJSON(data []byte) error
type SubscribeRequest ¶
type SubscribeRequest struct { TopicArn string `json:"TopicArn" schema:"TopicArn"` Endpoint string `json:"Endpoint" schema:"Endpoint"` Protocol string `json:"Protocol" schema:"Protocol"` Attributes SubscriptionAttributes `json:"Attributes"` }
func NewSubscribeRequest ¶
func NewSubscribeRequest() *SubscribeRequest
func (*SubscribeRequest) SetAttributesFromForm ¶
func (r *SubscribeRequest) SetAttributesFromForm(values url.Values)
type SubscribeResponse ¶
type SubscribeResponse struct { Xmlns string `xml:"xmlns,attr"` Result SubscribeResult `xml:"SubscribeResult"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
func (SubscribeResponse) GetRequestId ¶
func (r SubscribeResponse) GetRequestId() string
func (SubscribeResponse) GetResult ¶
func (r SubscribeResponse) GetResult() interface{}
type SubscribeResult ¶
type SubscribeResult struct {
SubscriptionArn string `xml:"SubscriptionArn"`
}
** Create Subscription **
type Subscription ¶ added in v0.5.1
type SubscriptionAttributes ¶
type SubscriptionAttributes struct { FilterPolicy FilterPolicy `json:"FilterPolicy" schema:"FilterPolicy"` RawMessageDelivery bool `json:"RawMessageDelivery" schema:"RawMessageDelivery"` }
type Topic ¶ added in v0.5.1
type Topic struct { Name string Arn string Subscriptions []*Subscription }
type TopicArnResult ¶
type TopicArnResult struct { TopicArn string `xml:"TopicArn"` NextToken string `xml:"NextToken"` // not implemented }
** List Topics **
type TopicAttributes ¶
type TopicAttributes struct { DeliveryPolicy map[string]interface{} `json:"DeliveryPolicy"` // NOTE: not implemented DisplayName string `json:"DisplayName"` // NOTE: not implemented FifoTopic bool `json:"FifoTopic"` // NOTE: not implemented Policy map[string]interface{} `json:"Policy"` // NOTE: not implemented SignatureVersion StringToInt `json:"SignatureVersion"` // NOTE: not implemented TracingConfig string `json:"TracingConfig"` // NOTE: not implemented KmsMasterKeyId string `json:"KmsMasterKeyId"` // NOTE: not implemented ArchivePolicy map[string]interface{} `json:"ArchivePolicy"` // NOTE: not implemented BeginningArchiveTime string `json:"BeginningArchiveTime"` // NOTE: not implemented ContentBasedDeduplication bool `json:"ContentBasedDeduplication"` // NOTE: not implemented }
Ref: https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html
type TopicMemberResult ¶
type TopicNamestype ¶
type TopicNamestype struct {
Member []TopicArnResult `xml:"member"`
}
type TopicSubscriptions ¶
type TopicSubscriptions struct {
Member []TopicMemberResult `xml:"member"`
}
type UnsubscribeRequest ¶
type UnsubscribeRequest struct {
SubscriptionArn string `json:"SubscriptionArn" schema:"SubscriptionArn"`
}
func NewUnsubscribeRequest ¶
func NewUnsubscribeRequest() *UnsubscribeRequest
func (*UnsubscribeRequest) SetAttributesFromForm ¶
func (r *UnsubscribeRequest) SetAttributesFromForm(values url.Values)
type UnsubscribeResponse ¶
type UnsubscribeResponse struct { Xmlns string `xml:"xmlns,attr"` Metadata ResponseMetadata `xml:"ResponseMetadata"` }
** Delete Subscription **
func (UnsubscribeResponse) GetRequestId ¶
func (r UnsubscribeResponse) GetRequestId() string
func (UnsubscribeResponse) GetResult ¶
func (r UnsubscribeResponse) GetResult() interface{}