aws

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SNSAccessPolicy

func SNSAccessPolicy(topicARN string) (string, error)

SNSAccessPolicy returns a new sns access policy

func SQSAccessPolicy

func SQSAccessPolicy(topicARN, queueARN string) (string, error)

SQSAccessPolicy returns a new sqs access policy

func SQSRedrivePolicy

func SQSRedrivePolicy(errorQueueARN string, maxReceiveCount int) (string, error)

SQSRedrivePolicy returns a new sqs redrive policy

Types

type EnsureSubscriptionRequest

type EnsureSubscriptionRequest struct {
	TopicARN        string
	QueueName       string
	ErrorQueueName  string
	MaxReceiveCount int
}

EnsureSubscriptionRequest represents an ensure subscription request

type EnsureSubscriptionResponse

type EnsureSubscriptionResponse struct {
	QueueURL string
}

EnsureSubscriptionResponse represents an ensure subscription response

type EnsureTopicRequest

type EnsureTopicRequest struct {
	TopicName string
}

EnsureTopicRequest represents an ensure topic request

type EnsureTopicResponse

type EnsureTopicResponse struct {
	TopicARN string
}

EnsureTopicResponse represents an ensure topic response

type SNS

type SNS interface {
	CreateTopic(ctx context.Context, params *sns.CreateTopicInput, optFns ...func(*sns.Options)) (*sns.CreateTopicOutput, error)
	SetTopicAttributes(ctx context.Context, params *sns.SetTopicAttributesInput, optFns ...func(*sns.Options)) (*sns.SetTopicAttributesOutput, error)
	Subscribe(ctx context.Context, params *sns.SubscribeInput, optFns ...func(*sns.Options)) (*sns.SubscribeOutput, error)
}

SNS represents an sns client interface

type SQS

type SQS interface {
	CreateQueue(ctx context.Context, params *sqs.CreateQueueInput, optFns ...func(*sqs.Options)) (*sqs.CreateQueueOutput, error)
	GetQueueAttributes(ctx context.Context, params *sqs.GetQueueAttributesInput, optFns ...func(*sqs.Options)) (*sqs.GetQueueAttributesOutput, error)
	SetQueueAttributes(ctx context.Context, params *sqs.SetQueueAttributesInput, optFns ...func(*sqs.Options)) (*sqs.SetQueueAttributesOutput, error)
}

SQS represents an sqs client interface

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service represents an sqs/sns queue service

func NewService

func NewService(snsc SNS, sqsc SQS, logFn func(string, ...interface{})) *Service

NewService returns a new queue service

func (*Service) EnsureSubscription

EnsureSubscription ensures that the specified topic subscription, queue and error queue exist

func (*Service) EnsureTopic

func (s *Service) EnsureTopic(ctx context.Context, req EnsureTopicRequest) (EnsureTopicResponse, error)

EnsureTopic ensures that the specified topic exists

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL