awssqsevents

package
v0.5.5 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RealtimeSyncEventType = "sync-event"
	ImportEventType       = "import-event"

	CloudTrailEventStorageType  = "s3.amazonaws.com"
	CloudTrailEventFunctionType = "lambda.amazonaws.com"
)

Variables

View Source
var (
	ErrMalformedEvent = errors.New("malformed event")
)

Functions

func NewCloudTrailEventBuilder

func NewCloudTrailEventBuilder[T IEvent]() entities.EventBuilder

Types

type CloudTrailEvent

type CloudTrailEvent struct {
	Version    string                `json:"version"`
	ID         string                `json:"id"`
	DetailType string                `json:"detail-type"` //nolint:tagliatelle
	Source     string                `json:"source"`
	Account    string                `json:"account"`
	Time       string                `json:"time"`
	Region     string                `json:"region"`
	Detail     CloudTrailEventDetail `json:"detail"`
}

func (CloudTrailEvent) AccountID

func (e CloudTrailEvent) AccountID() string

func (CloudTrailEvent) EventSource

func (e CloudTrailEvent) EventSource() string

func (CloudTrailEvent) EventType

func (e CloudTrailEvent) EventType() string

func (CloudTrailEvent) GetRegion

func (e CloudTrailEvent) GetRegion() string

func (CloudTrailEvent) Operation

func (e CloudTrailEvent) Operation() (entities.Operation, error)

func (CloudTrailEvent) ResourceName

func (e CloudTrailEvent) ResourceName() (string, error)

type CloudTrailEventBuilder

type CloudTrailEventBuilder[T IEvent] struct{}

func (CloudTrailEventBuilder[T]) GetPipelineEvent

func (b CloudTrailEventBuilder[T]) GetPipelineEvent(_ context.Context, data []byte) (entities.PipelineEvent, error)

type CloudTrailEventDetail

type CloudTrailEventDetail struct {
	EventVersion string `json:"eventVersion"`
	UserIdentity struct {
		Type           string `json:"type"`
		PrincipalID    string `json:"principalId"`
		ARN            string `json:"arn"`
		AccountID      string `json:"accountId"`
		AccessKeyID    string `json:"accessKeyId"`
		SessionContext struct {
			Attributes    map[string]any `json:"attributes"`
			SessionIssuer map[string]any `json:"sessionIssuer"`
		}
	}
	EventTime          string         `json:"eventTime"`
	EventSource        string         `json:"eventSource"`
	EventName          string         `json:"eventName"`
	AWSRegion          string         `json:"awsRegion"`
	SourceIPAddress    string         `json:"sourceIPAddress"` //nolint:tagliatelle
	UserAgent          string         `json:"userAgent"`
	ErrorCode          string         `json:"errorCode"`
	ErrorMessage       string         `json:"errorMessage"`
	RequestParameters  map[string]any `json:"requestParameters"`
	ResponseElements   map[string]any `json:"responseElements"`
	RequestID          string         `json:"requestID"` //nolint:tagliatelle
	EventID            string         `json:"eventID"`   //nolint:tagliatelle
	ReadOnly           bool           `json:"readOnly"`
	EventType          string         `json:"eventType"`
	ManagementEvent    bool           `json:"managementEvent"`
	RecipientAccountID string         `json:"recipientAccountId"`
	EventCategory      string         `json:"eventCategory"`
	TLSDetails         struct {
		CipherSuite              string `json:"cipherSuite"`
		TLSVersion               string `json:"tlsVersion"`
		ClientProvidedHostHeader string `json:"clientProvidedHostHeader"`
	} `json:"tlsDetails"`
	SessionCredentialFromConsole string `json:"sessionCredentialFromConsole"`
}

type CloudTrailImportEvent

type CloudTrailImportEvent struct {
	Name    string `json:"name"`
	Source  string `json:"source"`
	Region  string `json:"region"`
	Account string `json:"account"`
}

func (CloudTrailImportEvent) AccountID

func (e CloudTrailImportEvent) AccountID() string

func (CloudTrailImportEvent) EventSource

func (e CloudTrailImportEvent) EventSource() string

func (CloudTrailImportEvent) EventType

func (e CloudTrailImportEvent) EventType() string

func (CloudTrailImportEvent) GetRegion

func (e CloudTrailImportEvent) GetRegion() string

func (CloudTrailImportEvent) Operation

func (e CloudTrailImportEvent) Operation() (entities.Operation, error)

func (CloudTrailImportEvent) ResourceName

func (e CloudTrailImportEvent) ResourceName() (string, error)

type EventBuilderMock

type EventBuilderMock struct {
	GetPipelineEventFunc func(ctx context.Context, data []byte) (entities.PipelineEvent, error)

	AssertData    func(data []byte)
	ReturnedEvent *entities.Event
	ReturnedErr   error
}

func (EventBuilderMock) GetPipelineEvent

func (e EventBuilderMock) GetPipelineEvent(ctx context.Context, data []byte) (entities.PipelineEvent, error)

type IEvent

type IEvent interface {
	ResourceName() (string, error)
	EventSource() string
	GetRegion() string
	AccountID() string
	Operation() (entities.Operation, error)
	EventType() string
}

type PipelineGroupMock

type PipelineGroupMock struct {
	AddMessageInvoked bool
	StartInvoked      bool
	CloseInvoked      bool

	AssertAddMessage func(data entities.PipelineEvent)
	CloseErr         error
}

func (*PipelineGroupMock) AddMessage

func (p *PipelineGroupMock) AddMessage(data entities.PipelineEvent)

func (*PipelineGroupMock) Close

func (p *PipelineGroupMock) Close(_ context.Context) error

func (*PipelineGroupMock) Start

func (p *PipelineGroupMock) Start(_ context.Context)

Jump to

Keyboard shortcuts

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