events

package
v1.13.1 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2019 License: Apache-2.0 Imports: 9 Imported by: 5,560

Documentation

Index

Constants

View Source
const (
	CodeBuildEventSource           = "aws.codebuild"
	CodeBuildStateChangeDetailType = "CodeBuild Build State Change"
	CodeBuildPhaseChangeDetailType = "CodeBuild Build Phase Change"
)
View Source
const (
	CodeBuildPhaseStatusFailed     CodeBuildPhaseStatus = "FAILED"
	CodeBuildPhaseStatusFault                           = "FAULT"
	CodeBuildPhaseStatusInProgress                      = "IN_PROGRESS"
	CodeBuildPhaseStatusQueued                          = "QUEUED"
	CodeBuildPhaseStatusStopped                         = "STOPPED"
	CodeBuildPhaseStatusSucceeded                       = "SUCCEEDED"
	CodeBuildPhaseStatusTimedOut                        = "TIMED_OUT"
)
View Source
const (
	CodeBuildPhaseTypeSubmitted       CodeBuildPhaseType = "SUBMITTED"
	CodeBuildPhaseTypeProvisioning                       = "PROVISIONING"
	CodeBuildPhaseTypeDownloadSource                     = "DOWNLOAD_SOURCE"
	CodeBuildPhaseTypeInstall                            = "INSTALL"
	CodeBuildPhaseTypePreBuild                           = "PRE_BUILD"
	CodeBuildPhaseTypeBuild                              = "BUILD"
	CodeBuildPhaseTypePostBuild                          = "POST_BUILD"
	CodeBuildPhaseTypeUploadArtifacts                    = "UPLOAD_ARTIFACTS"
	CodeBuildPhaseTypeFinalizing                         = "FINALIZING"
	CodeBuildPhaseTypeCompleted                          = "COMPLETED"
)
View Source
const (
	CodeDeployEventSource               = "aws.codedeploy"
	CodeDeployDeploymentEventDetailType = "CodeDeploy Deployment State-change Notification"
	CodeDeployInstanceEventDetailType   = "CodeDeploy Instance State-change Notification"
)
View Source
const (
	CodeDeployDeploymentStateFailure CodeDeployDeploymentState = "FAILURE"
	CodeDeployDeploymentStateReady                             = "READY"
	CodeDeployDeploymentStateStart                             = "START"
	CodeDeployDeploymentStateStop                              = "STOP"
	CodeDeployDeploymentStateSuccess                           = "SUCCESS"
)
View Source
const (
	KinesisFirehoseTransformedStateOk               = "Ok"
	KinesisFirehoseTransformedStateDropped          = "Dropped"
	KinesisFirehoseTransformedStateProcessingFailed = "ProcessingFailed"
)

Constants used for describing the transformation result

View Source
const (
	KinesisAnalyticsOutputDeliveryOK     = "Ok"
	KinesisAnalyticsOutputDeliveryFailed = "DeliveryFailed"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ALBTargetGroupRequest added in v1.8.1

type ALBTargetGroupRequest struct {
	HTTPMethod                      string                       `json:"httpMethod"`
	Path                            string                       `json:"path"`
	QueryStringParameters           map[string]string            `json:"queryStringParameters,omitempty"`
	MultiValueQueryStringParameters map[string][]string          `json:"multiValueQueryStringParameters,omitempty"`
	Headers                         map[string]string            `json:"headers,omitempty"`
	MultiValueHeaders               map[string][]string          `json:"multiValueHeaders,omitempty"`
	RequestContext                  ALBTargetGroupRequestContext `json:"requestContext"`
	IsBase64Encoded                 bool                         `json:"isBase64Encoded"`
	Body                            string                       `json:"body"`
}

ALBTargetGroupRequest contains data originating from the ALB Lambda target group integration

type ALBTargetGroupRequestContext added in v1.8.1

type ALBTargetGroupRequestContext struct {
	ELB ELBContext `json:"elb"`
}

ALBTargetGroupRequestContext contains the information to identify the load balancer invoking the lambda

type ALBTargetGroupResponse added in v1.8.1

type ALBTargetGroupResponse struct {
	StatusCode        int                 `json:"statusCode"`
	StatusDescription string              `json:"statusDescription"`
	Headers           map[string]string   `json:"headers"`
	MultiValueHeaders map[string][]string `json:"multiValueHeaders"`
	Body              string              `json:"body"`
	IsBase64Encoded   bool                `json:"isBase64Encoded"`
}

ALBTargetGroupResponse configures the response to be returned by the ALB Lambda target group for the request

type APIGatewayCustomAuthorizerContext

type APIGatewayCustomAuthorizerContext struct {
	PrincipalID *string `json:"principalId"`
	StringKey   *string `json:"stringKey,omitempty"`
	NumKey      *int    `json:"numKey,omitempty"`
	BoolKey     *bool   `json:"boolKey,omitempty"`
}

APIGatewayCustomAuthorizerContext represents the expected format of an API Gateway custom authorizer response. Deprecated. Code should be updated to use the Authorizer map from APIGatewayRequestIdentity. Ex: Authorizer["principalId"]

type APIGatewayCustomAuthorizerPolicy added in v1.1.0

type APIGatewayCustomAuthorizerPolicy struct {
	Version   string
	Statement []IAMPolicyStatement
}

APIGatewayCustomAuthorizerPolicy represents an IAM policy

type APIGatewayCustomAuthorizerRequest added in v1.1.0

type APIGatewayCustomAuthorizerRequest struct {
	Type               string `json:"type"`
	AuthorizationToken string `json:"authorizationToken"`
	MethodArn          string `json:"methodArn"`
}

APIGatewayCustomAuthorizerRequest contains data coming in to a custom API Gateway authorizer function.

type APIGatewayCustomAuthorizerRequestTypeRequest added in v1.2.0

type APIGatewayCustomAuthorizerRequestTypeRequest struct {
	Type                            string                                              `json:"type"`
	MethodArn                       string                                              `json:"methodArn"`
	Resource                        string                                              `json:"resource"`
	Path                            string                                              `json:"path"`
	HTTPMethod                      string                                              `json:"httpMethod"`
	Headers                         map[string]string                                   `json:"headers"`
	MultiValueHeaders               map[string][]string                                 `json:"multiValueHeaders"`
	QueryStringParameters           map[string]string                                   `json:"queryStringParameters"`
	MultiValueQueryStringParameters map[string][]string                                 `json:"multiValueQueryStringParameters"`
	PathParameters                  map[string]string                                   `json:"pathParameters"`
	StageVariables                  map[string]string                                   `json:"stageVariables"`
	RequestContext                  APIGatewayCustomAuthorizerRequestTypeRequestContext `json:"requestContext"`
}

APIGatewayCustomAuthorizerRequestTypeRequest contains data coming in to a custom API Gateway authorizer function.

type APIGatewayCustomAuthorizerRequestTypeRequestContext added in v1.2.0

type APIGatewayCustomAuthorizerRequestTypeRequestContext struct {
	Path         string                                               `json:"path"`
	AccountID    string                                               `json:"accountId"`
	ResourceID   string                                               `json:"resourceId"`
	Stage        string                                               `json:"stage"`
	RequestID    string                                               `json:"requestId"`
	Identity     APIGatewayCustomAuthorizerRequestTypeRequestIdentity `json:"identity"`
	ResourcePath string                                               `json:"resourcePath"`
	HTTPMethod   string                                               `json:"httpMethod"`
	APIID        string                                               `json:"apiId"`
}

APIGatewayCustomAuthorizerRequestTypeRequestContext represents the expected format of an API Gateway custom authorizer response.

type APIGatewayCustomAuthorizerRequestTypeRequestIdentity added in v1.2.0

type APIGatewayCustomAuthorizerRequestTypeRequestIdentity struct {
	APIKey   string `json:"apiKey"`
	SourceIP string `json:"sourceIp"`
}

APIGatewayCustomAuthorizerRequestTypeRequestIdentity contains identity information for the request caller.

type APIGatewayCustomAuthorizerResponse added in v1.1.0

type APIGatewayCustomAuthorizerResponse struct {
	PrincipalID        string                           `json:"principalId"`
	PolicyDocument     APIGatewayCustomAuthorizerPolicy `json:"policyDocument"`
	Context            map[string]interface{}           `json:"context,omitempty"`
	UsageIdentifierKey string                           `json:"usageIdentifierKey,omitempty"`
}

APIGatewayCustomAuthorizerResponse represents the expected format of an API Gateway authorization response.

type APIGatewayProxyRequest

type APIGatewayProxyRequest struct {
	Resource                        string                        `json:"resource"` // The resource path defined in API Gateway
	Path                            string                        `json:"path"`     // The url path for the caller
	HTTPMethod                      string                        `json:"httpMethod"`
	Headers                         map[string]string             `json:"headers"`
	MultiValueHeaders               map[string][]string           `json:"multiValueHeaders"`
	QueryStringParameters           map[string]string             `json:"queryStringParameters"`
	MultiValueQueryStringParameters map[string][]string           `json:"multiValueQueryStringParameters"`
	PathParameters                  map[string]string             `json:"pathParameters"`
	StageVariables                  map[string]string             `json:"stageVariables"`
	RequestContext                  APIGatewayProxyRequestContext `json:"requestContext"`
	Body                            string                        `json:"body"`
	IsBase64Encoded                 bool                          `json:"isBase64Encoded,omitempty"`
}

APIGatewayProxyRequest contains data coming from the API Gateway proxy

type APIGatewayProxyRequestContext

type APIGatewayProxyRequestContext struct {
	AccountID     string                    `json:"accountId"`
	ResourceID    string                    `json:"resourceId"`
	OperationName string                    `json:"operationName,omitempty"`
	Stage         string                    `json:"stage"`
	RequestID     string                    `json:"requestId"`
	Identity      APIGatewayRequestIdentity `json:"identity"`
	ResourcePath  string                    `json:"resourcePath"`
	Authorizer    map[string]interface{}    `json:"authorizer"`
	HTTPMethod    string                    `json:"httpMethod"`
	APIID         string                    `json:"apiId"` // The API Gateway rest API Id
}

APIGatewayProxyRequestContext contains the information to identify the AWS account and resources invoking the Lambda function. It also includes Cognito identity information for the caller.

type APIGatewayProxyResponse

type APIGatewayProxyResponse struct {
	StatusCode        int                 `json:"statusCode"`
	Headers           map[string]string   `json:"headers"`
	MultiValueHeaders map[string][]string `json:"multiValueHeaders"`
	Body              string              `json:"body"`
	IsBase64Encoded   bool                `json:"isBase64Encoded,omitempty"`
}

APIGatewayProxyResponse configures the response to be returned by API Gateway for the request

type APIGatewayRequestIdentity

type APIGatewayRequestIdentity struct {
	CognitoIdentityPoolID         string `json:"cognitoIdentityPoolId"`
	AccountID                     string `json:"accountId"`
	CognitoIdentityID             string `json:"cognitoIdentityId"`
	Caller                        string `json:"caller"`
	APIKey                        string `json:"apiKey"`
	AccessKey                     string `json:"accessKey"`
	SourceIP                      string `json:"sourceIp"`
	CognitoAuthenticationType     string `json:"cognitoAuthenticationType"`
	CognitoAuthenticationProvider string `json:"cognitoAuthenticationProvider"`
	UserArn                       string `json:"userArn"`
	UserAgent                     string `json:"userAgent"`
	User                          string `json:"user"`
}

APIGatewayRequestIdentity contains identity information for the request caller.

type APIGatewayWebsocketProxyRequest added in v1.9.0

type APIGatewayWebsocketProxyRequest struct {
	Resource                        string                                 `json:"resource"` // The resource path defined in API Gateway
	Path                            string                                 `json:"path"`     // The url path for the caller
	HTTPMethod                      string                                 `json:"httpMethod"`
	Headers                         map[string]string                      `json:"headers"`
	MultiValueHeaders               map[string][]string                    `json:"multiValueHeaders"`
	QueryStringParameters           map[string]string                      `json:"queryStringParameters"`
	MultiValueQueryStringParameters map[string][]string                    `json:"multiValueQueryStringParameters"`
	PathParameters                  map[string]string                      `json:"pathParameters"`
	StageVariables                  map[string]string                      `json:"stageVariables"`
	RequestContext                  APIGatewayWebsocketProxyRequestContext `json:"requestContext"`
	Body                            string                                 `json:"body"`
	IsBase64Encoded                 bool                                   `json:"isBase64Encoded,omitempty"`
}

APIGatewayWebsocketProxyRequest contains data coming from the API Gateway proxy

type APIGatewayWebsocketProxyRequestContext added in v1.9.0

type APIGatewayWebsocketProxyRequestContext struct {
	AccountID          string                    `json:"accountId"`
	ResourceID         string                    `json:"resourceId"`
	Stage              string                    `json:"stage"`
	RequestID          string                    `json:"requestId"`
	Identity           APIGatewayRequestIdentity `json:"identity"`
	ResourcePath       string                    `json:"resourcePath"`
	Authorizer         interface{}               `json:"authorizer"`
	HTTPMethod         string                    `json:"httpMethod"`
	APIID              string                    `json:"apiId"` // The API Gateway rest API Id
	ConnectedAt        int64                     `json:"connectedAt"`
	ConnectionID       string                    `json:"connectionId"`
	DomainName         string                    `json:"domainName"`
	Error              string                    `json:"error"`
	EventType          string                    `json:"eventType"`
	ExtendedRequestID  string                    `json:"extendedRequestId"`
	IntegrationLatency string                    `json:"integrationLatency"`
	MessageDirection   string                    `json:"messageDirection"`
	MessageID          interface{}               `json:"messageId"`
	RequestTime        string                    `json:"requestTime"`
	RequestTimeEpoch   int64                     `json:"requestTimeEpoch"`
	RouteKey           string                    `json:"routeKey"`
	Status             string                    `json:"status"`
}

APIGatewayWebsocketProxyRequestContext contains the information to identify the AWS account and resources invoking the Lambda function. It also includes Cognito identity information for the caller.

type AppSyncCognitoIdentity added in v1.10.0

type AppSyncCognitoIdentity struct {
	Sub                 string                 `json:"sub"`
	Issuer              string                 `json:"issuer"`
	Username            string                 `json:"username"`
	Claims              map[string]interface{} `json:"claims"`
	SourceIP            []string               `json:"sourceIp"`
	DefaultAuthStrategy string                 `json:"defaultAuthStrategy"`
}

AppSyncCognitoIdentity contains information about the caller authed via Cognito.

type AppSyncIAMIdentity added in v1.10.0

type AppSyncIAMIdentity struct {
	AccountID             string   `json:"accountId"`
	CognitoIdentityPoolID string   `json:"cognitoIdentityPoolId"`
	CognitoIdentityID     string   `json:"cognitoIdentityId"`
	SourceIP              []string `json:"sourceIp"`
	Username              string   `json:"username"`
	UserARN               string   `json:"userArn"`
}

AppSyncIAMIdentity contains information about the caller authed via IAM.

type AppSyncOperation added in v1.5.0

type AppSyncOperation string

AppSyncOperation specifies the operation type supported by Lambda operations

const (
	// OperationInvoke lets AWS AppSync know to call your Lambda function for every GraphQL field resolver
	OperationInvoke AppSyncOperation = "Invoke"
	// OperationBatchInvoke instructs AWS AppSync to batch requests for the current GraphQL field
	OperationBatchInvoke AppSyncOperation = "BatchInvoke"
)

type AppSyncResolverTemplate added in v1.5.0

type AppSyncResolverTemplate struct {
	Version   string           `json:"version"`
	Operation AppSyncOperation `json:"operation"`
	Payload   json.RawMessage  `json:"payload"`
}

AppSyncResolverTemplate represents the requests from AppSync to Lambda

type Attachment added in v1.2.0

type Attachment struct {
	Title             string              `json:"title,omitempty"`
	SubTitle          string              `json:"subTitle,omitempty"`
	ImageURL          string              `json:"imageUrl,omitempty"`
	AttachmentLinkURL string              `json:"attachmentLinkUrl,omitempty"`
	Buttons           []map[string]string `json:"buttons,omitempty"`
}

type AutoScalingEvent added in v1.1.0

type AutoScalingEvent struct {
	Version    string                 `json:"version"`     // The version of event data
	ID         string                 `json:"id"`          // The unique ID of the event
	DetailType string                 `json:"detail-type"` //Details about event type
	Source     string                 `json:"source"`      //Source of the event
	AccountID  string                 `json:"account"`     //AccountId
	Time       time.Time              `json:"time"`        //Event timestamp
	Region     string                 `json:"region"`      //Region of event
	Resources  []string               `json:"resources"`   //Information about resources impacted by event
	Detail     map[string]interface{} `json:"detail"`
}

AutoScalingEvent struct is used to parse the json for auto scaling event types //

type ChimeBotEvent added in v1.12.0

type ChimeBotEvent struct {
	Sender               ChimeBotEventSender                `json:"Sender"`
	Discussion           ChimeBotEventDiscussion            `json:"Discussion"`
	EventType            string                             `json:"EventType"`
	InboundHTTPSEndpoint *ChimeBotEventInboundHTTPSEndpoint `json:"InboundHttpsEndpoint,omitempty"`
	EventTimestamp       time.Time                          `json:"EventTimestamp"`
	Message              string                             `json:"Message,omitempty"`
}

type ChimeBotEventDiscussion added in v1.12.0

type ChimeBotEventDiscussion struct {
	DiscussionID   string `json:"DiscussionId"`
	DiscussionType string `json:"DiscussionType"`
}

type ChimeBotEventInboundHTTPSEndpoint added in v1.12.0

type ChimeBotEventInboundHTTPSEndpoint struct {
	EndpointType string `json:"EndpointType"`
	URL          string `json:"Url"`
}

type ChimeBotEventSender added in v1.12.0

type ChimeBotEventSender struct {
	SenderID     string `json:"SenderId"`
	SenderIDType string `json:"SenderIdType"`
}

type ClaimsOverrideDetails added in v1.8.0

type ClaimsOverrideDetails struct {
	GroupOverrideDetails  GroupConfiguration `json:"groupOverrideDetails"`
	ClaimsToAddOrOverride map[string]string  `json:"claimsToAddOrOverride"`
	ClaimsToSuppress      []string           `json:"claimsToSuppress"`
}

ClaimsOverrideDetails allows lambda to add, suppress or override claims in the token

type CloudWatchEvent added in v1.1.0

type CloudWatchEvent struct {
	Version    string          `json:"version"`
	ID         string          `json:"id"`
	DetailType string          `json:"detail-type"`
	Source     string          `json:"source"`
	AccountID  string          `json:"account"`
	Time       time.Time       `json:"time"`
	Region     string          `json:"region"`
	Resources  []string        `json:"resources"`
	Detail     json.RawMessage `json:"detail"`
}

CloudWatchEvent is the outer structure of an event sent via CloudWatch Events. For examples of events that come via CloudWatch Events, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html

type CloudwatchLogsData added in v1.1.0

type CloudwatchLogsData struct {
	Owner               string                   `json:"owner"`
	LogGroup            string                   `json:"logGroup"`
	LogStream           string                   `json:"logStream"`
	SubscriptionFilters []string                 `json:"subscriptionFilters"`
	MessageType         string                   `json:"messageType"`
	LogEvents           []CloudwatchLogsLogEvent `json:"logEvents"`
}

CloudwatchLogsData is an unmarshal'd, ungzip'd, cloudwatch logs event

type CloudwatchLogsEvent added in v1.1.0

type CloudwatchLogsEvent struct {
	AWSLogs CloudwatchLogsRawData `json:"awslogs"`
}

CloudwatchLogsEvent represents raw data from a cloudwatch logs event

type CloudwatchLogsLogEvent added in v1.1.0

type CloudwatchLogsLogEvent struct {
	ID        string `json:"id"`
	Timestamp int64  `json:"timestamp"`
	Message   string `json:"message"`
}

LogEvent represents a log entry from cloudwatch logs

type CloudwatchLogsRawData added in v1.1.0

type CloudwatchLogsRawData struct {
	Data string `json:"data"`
}

CloudwatchLogsRawData contains gzipped base64 json representing the bulk of a cloudwatch logs event

func (CloudwatchLogsRawData) Parse added in v1.1.0

func (c CloudwatchLogsRawData) Parse() (d CloudwatchLogsData, err error)

Parse returns a struct representing a usable CloudwatchLogs event

type CodeBuildArtifact added in v1.13.0

type CodeBuildArtifact struct {
	MD5Sum    string `json:"md5sum"`
	SHA256Sum string `json:"sha256sum"`
	Location  string `json:"location"`
}

type CodeBuildEnvironment added in v1.13.0

type CodeBuildEnvironment struct {
	Image                string                         `json:"image"`
	PrivilegedMode       bool                           `json:"privileged-mode"`
	ComputeType          string                         `json:"compute-type"`
	Type                 string                         `json:"type"`
	EnvironmentVariables []CodeBuildEnvironmentVariable `json:"environment-variables"`
}

type CodeBuildEnvironmentVariable added in v1.13.0

type CodeBuildEnvironmentVariable struct {
	// Name is the name of the environment variable.
	Name string `json:"name"`

	// Type is PLAINTEXT or PARAMETER_STORE.
	Type string `json:"type"`

	// Value is the value of the environment variable.
	Value string `json:"value"`
}

type CodeBuildEvent added in v1.13.0

type CodeBuildEvent struct {
	// AccountID is the id of the AWS account from which the event originated.
	AccountID string `json:"account"`

	// Region is the AWS region from which the event originated.
	Region string `json:"region"`

	// DetailType informs the schema of the Detail field. For build state-change
	// events, the value will be CodeBuildStateChangeDetailType. For phase-change
	// events, it will be CodeBuildPhaseChangeDetailType.
	DetailType string `json:"detail-type"`

	// Source should be equal to CodeBuildEventSource.
	Source string `json:"source"`

	// Version is the version of the event's schema.
	Version string `json:"version"`

	// Time is the event's timestamp.
	Time time.Time `json:"time"`

	// ID is the GUID of this event.
	ID string `json:"id"`

	// Resources is a list of ARNs of CodeBuild builds that this event pertains to.
	Resources []string `json:"resources"`

	// Detail contains information specific to a build state-change or
	// build phase-change event.
	Detail CodeBuildEventDetail `json:"detail"`
}

CodeBuildEvent is documented at: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-notifications.html#sample-build-notifications-ref

type CodeBuildEventAdditionalInformation added in v1.13.0

type CodeBuildEventAdditionalInformation struct {
	Artifact CodeBuildArtifact `json:"artifact"`

	Environment CodeBuildEnvironment `json:"environment"`

	Timeout DurationMinutes `json:"timeout-in-minutes"`

	BuildComplete bool `json:"build-complete"`

	Initiator string `json:"initiator"`

	BuildStartTime CodeBuildTime `json:"build-start-time"`

	Source CodeBuildSource `json:"source"`

	Logs CodeBuildLogs `json:"logs"`

	Phases []CodeBuildPhase `json:"phases"`
}

type CodeBuildEventDetail added in v1.13.0

type CodeBuildEventDetail struct {
	BuildStatus           CodeBuildPhaseStatus                `json:"build-status"`
	ProjectName           string                              `json:"project-name"`
	BuildID               string                              `json:"build-id"`
	AdditionalInformation CodeBuildEventAdditionalInformation `json:"additional-information"`
	CurrentPhase          CodeBuildPhaseStatus                `json:"current-phase"`
	CurrentPhaseContext   string                              `json:"current-phase-context"`
	Version               string                              `json:"version"`

	CompletedPhaseStatus   CodeBuildPhaseStatus `json:"completed-phase-status"`
	CompletedPhase         CodeBuildPhaseStatus `json:"completed-phase"`
	CompletedPhaseContext  string               `json:"completed-phase-context"`
	CompletedPhaseDuration DurationSeconds      `json:"completed-phase-duration-seconds"`
	CompletedPhaseStart    CodeBuildTime        `json:"completed-phase-start"`
	CompletedPhaseEnd      CodeBuildTime        `json:"completed-phase-end"`
}

type CodeBuildLogs added in v1.13.0

type CodeBuildLogs struct {
	GroupName  string `json:"group-name"`
	StreamName string `json:"stream-name"`
	DeepLink   string `json:"deep-link"`
}

type CodeBuildPhase added in v1.13.0

type CodeBuildPhase struct {
	PhaseContext []interface{} `json:"phase-context"`

	StartTime CodeBuildTime `json:"start-time"`

	EndTime CodeBuildTime `json:"end-time"`

	Duration DurationSeconds `json:"duration-in-seconds"`

	PhaseType CodeBuildPhaseType `json:"phase-type"`

	PhaseStatus CodeBuildPhaseStatus `json:"phase-status"`
}

type CodeBuildPhaseStatus added in v1.13.0

type CodeBuildPhaseStatus string

type CodeBuildPhaseType added in v1.13.0

type CodeBuildPhaseType string

type CodeBuildSource added in v1.13.0

type CodeBuildSource struct {
	Location string `json:"location"`
	Type     string `json:"type"`
}

type CodeBuildTime added in v1.13.0

type CodeBuildTime time.Time

func (CodeBuildTime) MarshalJSON added in v1.13.0

func (t CodeBuildTime) MarshalJSON() ([]byte, error)

func (*CodeBuildTime) UnmarshalJSON added in v1.13.0

func (t *CodeBuildTime) UnmarshalJSON(data []byte) error

type CodeCommitCodeCommit added in v1.2.0

type CodeCommitCodeCommit struct {
	References []CodeCommitReference `json:"references"`
}

CodeCommitCodeCommit represents a CodeCommit object in a record

func (CodeCommitCodeCommit) String added in v1.2.0

func (c CodeCommitCodeCommit) String() string

String returns a string representation of this object. Useful for testing and debugging.

type CodeCommitEvent added in v1.2.0

type CodeCommitEvent struct {
	Records []CodeCommitRecord `json:"Records"`
}

CodeCommitEvent represents a CodeCommit event

func (CodeCommitEvent) String added in v1.2.0

func (e CodeCommitEvent) String() string

String returns a string representation of this object. Useful for testing and debugging.

type CodeCommitEventTime added in v1.2.0

type CodeCommitEventTime time.Time

func (*CodeCommitEventTime) MarshalJSON added in v1.2.0

func (t *CodeCommitEventTime) MarshalJSON() ([]byte, error)

func (*CodeCommitEventTime) UnmarshalJSON added in v1.2.0

func (t *CodeCommitEventTime) UnmarshalJSON(data []byte) error

type CodeCommitRecord added in v1.2.0

type CodeCommitRecord struct {
	EventID              string               `json:"eventId"`
	EventVersion         string               `json:"eventVersion"`
	EventTime            CodeCommitEventTime  `json:"eventTime"`
	EventTriggerName     string               `json:"eventTriggerName"`
	EventPartNumber      uint64               `json:"eventPartNumber"`
	CodeCommit           CodeCommitCodeCommit `json:"codecommit"`
	EventName            string               `json:"eventName"`
	EventTriggerConfigId string               `json:"eventTriggerConfigId"`
	EventSourceARN       string               `json:"eventSourceARN"`
	UserIdentityARN      string               `json:"userIdentityARN"`
	EventSource          string               `json:"eventSource"`
	AWSRegion            string               `json:"awsRegion"`
	EventTotalParts      uint64               `json:"eventTotalParts"`
	CustomData           string               `json:"customData,omitempty"`
}

represents a CodeCommit record

func (CodeCommitRecord) String added in v1.2.0

func (r CodeCommitRecord) String() string

String returns a string representation of this object. Useful for testing and debugging.

type CodeCommitReference added in v1.2.0

type CodeCommitReference struct {
	Commit  string `json:"commit"`
	Ref     string `json:"ref"`
	Created bool   `json:"created,omitempty"`
}

CodeCommitReference represents a Reference object in a CodeCommit object

func (CodeCommitReference) String added in v1.2.0

func (r CodeCommitReference) String() string

String returns a string representation of this object. Useful for testing and debugging.

type CodeDeployDeploymentState added in v1.13.0

type CodeDeployDeploymentState string

type CodeDeployEvent added in v1.13.0

type CodeDeployEvent struct {
	// AccountID is the id of the AWS account from which the event originated.
	AccountID string `json:"account"`

	// Region is the AWS region from which the event originated.
	Region string `json:"region"`

	// DetailType informs the schema of the Detail field. For deployment state-change
	// events, the value should be equal to CodeDeployDeploymentEventDetailType.
	// For instance state-change events, the value should be equal to
	// CodeDeployInstanceEventDetailType.
	DetailType string `json:"detail-type"`

	// Source should be equal to CodeDeployEventSource.
	Source string `json:"source"`

	// Version is the version of the event's schema.
	Version string `json:"version"`

	// Time is the event's timestamp.
	Time time.Time `json:"time"`

	// ID is the GUID of this event.
	ID string `json:"id"`

	// Resources is a list of ARNs of CodeDeploy applications and deployment
	// groups that this event pertains to.
	Resources []string `json:"resources"`

	// Detail contains information specific to a deployment event.
	Detail CodeDeployEventDetail `json:"detail"`
}

CodeDeployEvent is documented at: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html#acd_event_types

type CodeDeployEventDetail added in v1.13.0

type CodeDeployEventDetail struct {
	// InstanceGroupID is the ID of the instance group.
	InstanceGroupID string `json:"instanceGroupId"`

	// InstanceID is the id of the instance. This field is non-empty only if
	// the DetailType of the complete event is CodeDeployInstanceEventDetailType.
	InstanceID string `json:"instanceId,omitempty"`

	// Region is the AWS region that the event originated from.
	Region string `json:"region"`

	// Application is the name of the CodeDeploy application.
	Application string `json:"application"`

	// DeploymentID is the id of the deployment.
	DeploymentID string `json:"deploymentId"`

	// State is the new state of the deployment.
	State CodeDeployDeploymentState `json:"state"`

	// DeploymentGroup is the name of the deployment group.
	DeploymentGroup string `json:"deploymentGroup"`
}

type CodePipelineActionConfiguration added in v1.2.0

type CodePipelineActionConfiguration struct {
	Configuration CodePipelineConfiguration `json:"configuration"`
}

CodePipelineActionConfiguration represents an Action Configuration

type CodePipelineArtifactCredentials added in v1.2.0

type CodePipelineArtifactCredentials struct {
	SecretAccessKey string `json:"secretAccessKey"`
	SessionToken    string `json:"sessionToken"`
	AccessKeyID     string `json:"accessKeyId"`
}

CodePipelineArtifactCredentials represents CodePipeline artifact credentials

type CodePipelineConfiguration added in v1.2.0

type CodePipelineConfiguration struct {
	FunctionName   string `json:"FunctionName"`
	UserParameters string `json:"UserParameters"`
}

CodePipelineConfiguration represents a configuration for an Action Configuration

type CodePipelineData added in v1.2.0

type CodePipelineData struct {
	ActionConfiguration CodePipelineActionConfiguration `json:"actionConfiguration"`
	InputArtifacts      []CodePipelineInputArtifact     `json:"inputArtifacts"`
	OutPutArtifacts     []CodePipelineOutputArtifact    `json:"outputArtifacts"`
	ArtifactCredentials CodePipelineArtifactCredentials `json:"artifactCredentials"`
	ContinuationToken   string                          `json:"continuationToken"`
}

CodePipelineData represents a job from an AWS CodePipeline event

type CodePipelineEvent added in v1.2.0

type CodePipelineEvent struct {
	CodePipelineJob CodePipelineJob `json:"CodePipeline.job"`
}

CodePipelineEvent contains data from an event sent from AWS Codepipeline

type CodePipelineInputArtifact added in v1.2.0

type CodePipelineInputArtifact struct {
	Location CodePipelineInputLocation `json:"location"`
	Revision *string                   `json:"revision"`
	Name     string                    `json:"name"`
}

CodePipelineInputArtifact represents an input artifact

type CodePipelineInputLocation added in v1.2.0

type CodePipelineInputLocation struct {
	S3Location   CodePipelineS3Location `json:"s3Location"`
	LocationType string                 `json:"type"`
}

CodePipelineInputLocation represents a input location

type CodePipelineJob added in v1.2.0

type CodePipelineJob struct {
	ID        string           `json:"id"`
	AccountID string           `json:"accountId"`
	Data      CodePipelineData `json:"data"`
}

CodePipelineJob represents a job from an AWS CodePipeline event

type CodePipelineOutputArtifact added in v1.2.0

type CodePipelineOutputArtifact struct {
	Location CodePipelineInputLocation `json:"location"`
	Revision *string                   `json:"revision"`
	Name     string                    `json:"name"`
}

CodePipelineOutputArtifact represents an output artifact

type CodePipelineOutputLocation added in v1.2.0

type CodePipelineOutputLocation struct {
	S3Location   CodePipelineS3Location `json:"s3Location"`
	LocationType string                 `json:"type"`
}

CodePipelineOutputLocation represents a output location

type CodePipelineS3Location added in v1.2.0

type CodePipelineS3Location struct {
	BucketName string `json:"bucketName"`
	ObjectKey  string `json:"objectKey"`
}

CodePipelineS3Location represents an s3 input location

type CognitoDatasetRecord

type CognitoDatasetRecord struct {
	NewValue string `json:"newValue"`
	OldValue string `json:"oldValue"`
	Op       string `json:"op"`
}

CognitoDatasetRecord represents a record from an AWS Cognito Sync event

type CognitoEvent

type CognitoEvent struct {
	DatasetName    string                          `json:"datasetName"`
	DatasetRecords map[string]CognitoDatasetRecord `json:"datasetRecords"`
	EventType      string                          `json:"eventType"`
	IdentityID     string                          `json:"identityId"`
	IdentityPoolID string                          `json:"identityPoolId"`
	Region         string                          `json:"region"`
	Version        int                             `json:"version"`
}

CognitoEvent contains data from an event sent from AWS Cognito Sync

type CognitoEventUserPoolsCallerContext added in v1.2.0

type CognitoEventUserPoolsCallerContext struct {
	AWSSDKVersion string `json:"awsSdkVersion"`
	ClientID      string `json:"clientId"`
}

CognitoEventUserPoolsCallerContext contains information about the caller

type CognitoEventUserPoolsChallengeResult added in v1.12.0

type CognitoEventUserPoolsChallengeResult struct {
	ChallengeName     string `json:"challengeName"`
	ChallengeResult   bool   `json:"challengeResult"`
	ChallengeMetadata string `json:"challengeMetadata"`
}

CognitoEventUserPoolsChallengeResult represents a challenge that is presented to the user in the authentication process that is underway, along with the corresponding result.

type CognitoEventUserPoolsCreateAuthChallenge added in v1.12.0

type CognitoEventUserPoolsCreateAuthChallenge struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsCreateAuthChallengeRequest  `json:"request"`
	Response CognitoEventUserPoolsCreateAuthChallengeResponse `json:"response"`
}

CognitoEventUserPoolsCreateAuthChallenge sent by AWS Cognito User Pools to create a challenge to present to the user

type CognitoEventUserPoolsCreateAuthChallengeRequest added in v1.12.0

type CognitoEventUserPoolsCreateAuthChallengeRequest struct {
	UserAttributes map[string]string                       `json:"userAttributes"`
	ChallengeName  string                                  `json:"challengeName"`
	Session        []*CognitoEventUserPoolsChallengeResult `json:"session"`
}

CognitoEventUserPoolsCreateAuthChallengeRequest defines create auth challenge request parameters

type CognitoEventUserPoolsCreateAuthChallengeResponse added in v1.12.0

type CognitoEventUserPoolsCreateAuthChallengeResponse struct {
	PublicChallengeParameters  map[string]string `json:"publicChallengeParameters"`
	PrivateChallengeParameters map[string]string `json:"privateChallengeParameters"`
	ChallengeMetadata          string            `json:"challengeMetadata"`
}

CognitoEventUserPoolsCreateAuthChallengeResponse defines create auth challenge response rarameters

type CognitoEventUserPoolsCustomMessage added in v1.11.0

type CognitoEventUserPoolsCustomMessage struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsCustomMessageRequest  `json:"request"`
	Response CognitoEventUserPoolsCustomMessageResponse `json:"response"`
}

CognitoEventUserPoolsCustomMessage is sent by AWS Cognito User Pools before a verification or MFA message is sent, allowing a user to customize the message dynamically.

type CognitoEventUserPoolsCustomMessageRequest added in v1.11.0

type CognitoEventUserPoolsCustomMessageRequest struct {
	UserAttributes    map[string]interface{} `json:"userAttributes"`
	CodeParameter     string                 `json:"codeParameter"`
	UsernameParameter string                 `json:"usernameParameter"`
}

CognitoEventUserPoolsCustomMessageRequest contains the request portion of a CustomMessage event

type CognitoEventUserPoolsCustomMessageResponse added in v1.11.0

type CognitoEventUserPoolsCustomMessageResponse struct {
	SMSMessage   string `json:"smsMessage"`
	EmailMessage string `json:"emailMessage"`
	EmailSubject string `json:"emailSubject"`
}

CognitoEventUserPoolsCustomMessageResponse contains the response portion of a CustomMessage event

type CognitoEventUserPoolsDefineAuthChallenge added in v1.12.0

type CognitoEventUserPoolsDefineAuthChallenge struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsDefineAuthChallengeRequest  `json:"request"`
	Response CognitoEventUserPoolsDefineAuthChallengeResponse `json:"response"`
}

CognitoEventUserPoolsDefineAuthChallenge sent by AWS Cognito User Pools to initiate custom authentication flow

type CognitoEventUserPoolsDefineAuthChallengeRequest added in v1.12.0

type CognitoEventUserPoolsDefineAuthChallengeRequest struct {
	UserAttributes map[string]string                       `json:"userAttributes"`
	Session        []*CognitoEventUserPoolsChallengeResult `json:"session"`
}

CognitoEventUserPoolsDefineAuthChallengeRequest defines auth challenge request parameters

type CognitoEventUserPoolsDefineAuthChallengeResponse added in v1.12.0

type CognitoEventUserPoolsDefineAuthChallengeResponse struct {
	ChallengeName      string `json:"challengeName"`
	IssueTokens        bool   `json:"issueTokens"`
	FailAuthentication bool   `json:"failAuthentication"`
}

CognitoEventUserPoolsDefineAuthChallengeResponse defines auth challenge response parameters

type CognitoEventUserPoolsHeader added in v1.2.0

type CognitoEventUserPoolsHeader struct {
	Version       string                             `json:"version"`
	TriggerSource string                             `json:"triggerSource"`
	Region        string                             `json:"region"`
	UserPoolID    string                             `json:"userPoolId"`
	CallerContext CognitoEventUserPoolsCallerContext `json:"callerContext"`
	UserName      string                             `json:"userName"`
}

CognitoEventUserPoolsHeader contains common data from events sent by AWS Cognito User Pools

type CognitoEventUserPoolsMigrateUser added in v1.11.0

type CognitoEventUserPoolsMigrateUser struct {
	CognitoEventUserPoolsHeader
	CognitoEventUserPoolsMigrateUserRequest  `json:"request"`
	CognitoEventUserPoolsMigrateUserResponse `json:"response"`
}

CognitoEventUserPoolsMigrateUser is sent by AWS Cognito User Pools when a user does not exist in the user pool at the time of sign-in with a password, or in the forgot-password flow.

type CognitoEventUserPoolsMigrateUserRequest added in v1.11.0

type CognitoEventUserPoolsMigrateUserRequest struct {
	Password string `json:"password"`
}

CognitoEventUserPoolsMigrateUserRequest contains the request portion of a MigrateUser event

type CognitoEventUserPoolsMigrateUserResponse added in v1.11.0

type CognitoEventUserPoolsMigrateUserResponse struct {
	UserAttributes         map[string]string `json:"userAttributes"`
	FinalUserStatus        string            `json:"finalUserStatus"`
	MessageAction          string            `json:"messageAction"`
	DesiredDeliveryMediums []string          `json:"desiredDeliveryMediums"`
	ForceAliasCreation     bool              `json:"forceAliasCreation"`
}

CognitoEventUserPoolsMigrateUserResponse contains the response portion of a MigrateUser event

type CognitoEventUserPoolsPostAuthentication added in v1.11.0

type CognitoEventUserPoolsPostAuthentication struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsPostAuthenticationRequest  `json:"request"`
	Response CognitoEventUserPoolsPostAuthenticationResponse `json:"response"`
}

CognitoEventUserPoolsPostAuthentication is sent by AWS Cognito User Pools after a user is authenticated, allowing the Lambda to add custom logic.

type CognitoEventUserPoolsPostAuthenticationRequest added in v1.11.0

type CognitoEventUserPoolsPostAuthenticationRequest struct {
	NewDeviceUsed  bool              `json:"newDeviceUsed"`
	UserAttributes map[string]string `json:"userAttributes"`
}

CognitoEventUserPoolsPostAuthenticationRequest contains the request portion of a PostAuthentication event

type CognitoEventUserPoolsPostAuthenticationResponse added in v1.11.0

type CognitoEventUserPoolsPostAuthenticationResponse struct {
}

CognitoEventUserPoolsPostAuthenticationResponse contains the response portion of a PostAuthentication event

type CognitoEventUserPoolsPostConfirmation added in v1.2.0

type CognitoEventUserPoolsPostConfirmation struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsPostConfirmationRequest  `json:"request"`
	Response CognitoEventUserPoolsPostConfirmationResponse `json:"response"`
}

CognitoEventUserPoolsPostConfirmation is sent by AWS Cognito User Pools after a user is confirmed, allowing the Lambda to send custom messages or add custom logic.

type CognitoEventUserPoolsPostConfirmationRequest added in v1.2.0

type CognitoEventUserPoolsPostConfirmationRequest struct {
	UserAttributes map[string]string `json:"userAttributes"`
}

CognitoEventUserPoolsPostConfirmationRequest contains the request portion of a PostConfirmation event

type CognitoEventUserPoolsPostConfirmationResponse added in v1.2.0

type CognitoEventUserPoolsPostConfirmationResponse struct {
}

CognitoEventUserPoolsPostConfirmationResponse contains the response portion of a PostConfirmation event

type CognitoEventUserPoolsPreAuthentication added in v1.13.0

type CognitoEventUserPoolsPreAuthentication struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsPreAuthenticationRequest  `json:"request"`
	Response CognitoEventUserPoolsPreAuthenticationResponse `json:"response"`
}

CognitoEventUserPoolsPreAuthentication is sent by AWS Cognito User Pools when a user submits their information to be authenticated, allowing you to perform custom validations to accept or deny the sign in request.

type CognitoEventUserPoolsPreAuthenticationRequest added in v1.13.0

type CognitoEventUserPoolsPreAuthenticationRequest struct {
	UserAttributes map[string]string `json:"userAttributes"`
	ValidationData map[string]string `json:"validationData"`
}

CognitoEventUserPoolsPreAuthenticationRequest contains the request portion of a PreAuthentication event

type CognitoEventUserPoolsPreAuthenticationResponse added in v1.13.0

type CognitoEventUserPoolsPreAuthenticationResponse struct {
}

CognitoEventUserPoolsPreAuthenticationResponse contains the response portion of a PreAuthentication event

type CognitoEventUserPoolsPreSignup added in v1.2.0

type CognitoEventUserPoolsPreSignup struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsPreSignupRequest  `json:"request"`
	Response CognitoEventUserPoolsPreSignupResponse `json:"response"`
}

CognitoEventUserPoolsPreSignup is sent by AWS Cognito User Pools when a user attempts to register (sign up), allowing a Lambda to perform custom validation to accept or deny the registration request

type CognitoEventUserPoolsPreSignupRequest added in v1.2.0

type CognitoEventUserPoolsPreSignupRequest struct {
	UserAttributes map[string]string `json:"userAttributes"`
	ValidationData map[string]string `json:"validationData"`
}

CognitoEventUserPoolsPreSignupRequest contains the request portion of a PreSignup event

type CognitoEventUserPoolsPreSignupResponse added in v1.2.0

type CognitoEventUserPoolsPreSignupResponse struct {
	AutoConfirmUser bool `json:"autoConfirmUser"`
	AutoVerifyEmail bool `json:"autoVerifyEmail"`
	AutoVerifyPhone bool `json:"autoVerifyPhone"`
}

CognitoEventUserPoolsPreSignupResponse contains the response portion of a PreSignup event

type CognitoEventUserPoolsPreTokenGen added in v1.8.0

type CognitoEventUserPoolsPreTokenGen struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsPreTokenGenRequest  `json:"request"`
	Response CognitoEventUserPoolsPreTokenGenResponse `json:"response"`
}

CognitoEventUserPoolsPreTokenGen is sent by AWS Cognito User Pools when a user attempts to retrieve credentials, allowing a Lambda to perform insert, suppress or override claims

type CognitoEventUserPoolsPreTokenGenRequest added in v1.8.0

type CognitoEventUserPoolsPreTokenGenRequest struct {
	UserAttributes     map[string]string  `json:"userAttributes"`
	GroupConfiguration GroupConfiguration `json:"groupConfiguration"`
}

CognitoEventUserPoolsPreTokenGenRequest contains request portion of PreTokenGen event

type CognitoEventUserPoolsPreTokenGenResponse added in v1.8.0

type CognitoEventUserPoolsPreTokenGenResponse struct {
	ClaimsOverrideDetails ClaimsOverrideDetails `json:"claimsOverrideDetails"`
}

CognitoEventUserPoolsPreTokenGenResponse containst the response portion of a PreTokenGen event

type CognitoEventUserPoolsVerifyAuthChallenge added in v1.12.0

type CognitoEventUserPoolsVerifyAuthChallenge struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsVerifyAuthChallengeRequest  `json:"request"`
	Response CognitoEventUserPoolsVerifyAuthChallengeResponse `json:"response"`
}

CognitoEventUserPoolsVerifyAuthChallenge sent by AWS Cognito User Pools to verify if the response from the end user for a custom Auth Challenge is valid or not

type CognitoEventUserPoolsVerifyAuthChallengeRequest added in v1.12.0

type CognitoEventUserPoolsVerifyAuthChallengeRequest struct {
	UserAttributes             map[string]string `json:"userAttributes"`
	PrivateChallengeParameters map[string]string `json:"privateChallengeParameters"`
	ChallengeAnswer            interface{}       `json:"challengeAnswer"`
}

CognitoEventUserPoolsVerifyAuthChallengeRequest defines verify auth challenge request parameters

type CognitoEventUserPoolsVerifyAuthChallengeResponse added in v1.12.0

type CognitoEventUserPoolsVerifyAuthChallengeResponse struct {
	AnswerCorrect bool `json:"answerCorrect"`
}

CognitoEventUserPoolsVerifyAuthChallengeResponse defines verify auth challenge response parameters

type ConfigEvent

type ConfigEvent struct {
	AccountID        string `json:"accountId"`     // The ID of the AWS account that owns the rule
	ConfigRuleArn    string `json:"configRuleArn"` // The ARN that AWS Config assigned to the rule
	ConfigRuleID     string `json:"configRuleId"`
	ConfigRuleName   string `json:"configRuleName"` // The name that you assigned to the rule that caused AWS Config to publish the event
	EventLeftScope   bool   `json:"eventLeftScope"` // A boolean value that indicates whether the AWS resource to be evaluated has been removed from the rule's scope
	ExecutionRoleArn string `json:"executionRoleArn"`
	InvokingEvent    string `json:"invokingEvent"`  // If the event is published in response to a resource configuration change, this value contains a JSON configuration item
	ResultToken      string `json:"resultToken"`    // A token that the function must pass to AWS Config with the PutEvaluations call
	RuleParameters   string `json:"ruleParameters"` // Key/value pairs that the function processes as part of its evaluation logic
	Version          string `json:"version"`
}

ConfigEvent contains data from an event sent from AWS Config

type ConnectContactData added in v1.4.0

type ConnectContactData struct {
	// The custom attributes from Connect that the Lambda function was invoked with.
	Attributes       map[string]string `json:"Attributes"`
	Channel          string            `json:"Channel"`
	ContactID        string            `json:"ContactId"`
	CustomerEndpoint ConnectEndpoint   `json:"CustomerEndpoint"`
	InitialContactID string            `json:"InitialContactId"`

	// Either: INBOUND/OUTBOUND/TRANSFER/CALLBACK
	InitiationMethod  string          `json:"InitiationMethod"`
	PreviousContactID string          `json:"PreviousContactId"`
	Queue             ConnectQueue    `json:"Queue"`
	SystemEndpoint    ConnectEndpoint `json:"SystemEndpoint"`
	InstanceARN       string          `json:"InstanceARN"`
}

ConnectContactData holds all of the contact information for the user that invoked the Connect event.

type ConnectDetails added in v1.4.0

type ConnectDetails struct {
	ContactData ConnectContactData `json:"ContactData"`

	// The parameters that have been set in the Connect instance at the time of the Lambda invocation.
	Parameters map[string]string `json:"Parameters"`
}

ConnectDetails holds the details of a Connect event

type ConnectEndpoint added in v1.4.0

type ConnectEndpoint struct {
	Address string `json:"Address"`
	Type    string `json:"Type"`
}

ConnectEndpoint represents routing information.

type ConnectEvent added in v1.4.0

type ConnectEvent struct {
	Details ConnectDetails `json:"Details"`
	Name    string         `json:"Name"` // The name of the event.
}

ConnectEvent contains the data structure for a Connect event.

type ConnectQueue added in v1.4.0

type ConnectQueue struct {
	Name string `json:"Name"`
	ARN  string `json:"ARN"`
}

ConnectQueue represents a queue object.

type ConnectResponse added in v1.4.0

type ConnectResponse map[string]string

ConnectResponse is the structure that Connect expects to get back from Lambda. These return values can be used in Connect to perform further routing decisions.

type DurationMinutes added in v1.13.0

type DurationMinutes time.Duration

func (DurationMinutes) MarshalJSON added in v1.13.0

func (duration DurationMinutes) MarshalJSON() ([]byte, error)

func (*DurationMinutes) UnmarshalJSON added in v1.13.0

func (duration *DurationMinutes) UnmarshalJSON(data []byte) error

type DurationSeconds added in v1.13.0

type DurationSeconds time.Duration

func (DurationSeconds) MarshalJSON added in v1.13.0

func (duration DurationSeconds) MarshalJSON() ([]byte, error)

func (*DurationSeconds) UnmarshalJSON added in v1.13.0

func (duration *DurationSeconds) UnmarshalJSON(data []byte) error

type DynamoDBAttributeValue

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

DynamoDBAttributeValue provides convenient access for a value stored in DynamoDB. For more information, please see http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html

func NewBinaryAttribute added in v1.2.0

func NewBinaryAttribute(value []byte) DynamoDBAttributeValue

NewBinaryAttribute creates an DynamoDBAttributeValue containing a Binary

func NewBinarySetAttribute added in v1.2.0

func NewBinarySetAttribute(value [][]byte) DynamoDBAttributeValue

NewBinarySetAttribute creates an DynamoDBAttributeValue containing a BinarySet

func NewBooleanAttribute added in v1.2.0

func NewBooleanAttribute(value bool) DynamoDBAttributeValue

NewBooleanAttribute creates an DynamoDBAttributeValue containing a Boolean

func NewListAttribute added in v1.2.0

func NewListAttribute(value []DynamoDBAttributeValue) DynamoDBAttributeValue

NewListAttribute creates an DynamoDBAttributeValue containing a List

func NewMapAttribute added in v1.2.0

func NewMapAttribute(value map[string]DynamoDBAttributeValue) DynamoDBAttributeValue

NewMapAttribute creates an DynamoDBAttributeValue containing a Map

func NewNullAttribute added in v1.2.0

func NewNullAttribute() DynamoDBAttributeValue

NewNullAttribute creates an DynamoDBAttributeValue containing a Null

func NewNumberAttribute added in v1.2.0

func NewNumberAttribute(value string) DynamoDBAttributeValue

NewNumberAttribute creates an DynamoDBAttributeValue containing a Number

func NewNumberSetAttribute added in v1.10.0

func NewNumberSetAttribute(value []string) DynamoDBAttributeValue

NewNumberSetAttribute creates an DynamoDBAttributeValue containing a NumberSet

func NewStringAttribute

func NewStringAttribute(value string) DynamoDBAttributeValue

NewStringAttribute creates an DynamoDBAttributeValue containing a String

func NewStringSetAttribute added in v1.2.0

func NewStringSetAttribute(value []string) DynamoDBAttributeValue

NewStringSetAttribute creates an DynamoDBAttributeValue containing a StringSet

func (DynamoDBAttributeValue) Binary

func (av DynamoDBAttributeValue) Binary() []byte

Binary provides access to an attribute of type Binary. Method panics if the attribute is not of type Binary.

func (DynamoDBAttributeValue) BinarySet

func (av DynamoDBAttributeValue) BinarySet() [][]byte

BinarySet provides access to an attribute of type Binary Set. Method panics if the attribute is not of type BinarySet.

func (DynamoDBAttributeValue) Boolean

func (av DynamoDBAttributeValue) Boolean() bool

Boolean provides access to an attribute of type Boolean. Method panics if the attribute is not of type Boolean.

func (DynamoDBAttributeValue) DataType

DataType provides access to the DynamoDB type of the attribute

func (DynamoDBAttributeValue) Float

func (av DynamoDBAttributeValue) Float() (float64, error)

Float provides access to an attribute of type Number. DynamoDB sends the values as strings. For convenience this method provides conversion to float64. The returned value is the nearest floating point number rounded using IEEE754 unbiased rounding. If the number is more than 1/2 ULP away from the largest floating point number of the given size, the value returned is ±Inf, err.Err = ErrRange. Method panics if the attribute is not of type Number.

func (DynamoDBAttributeValue) Integer

func (av DynamoDBAttributeValue) Integer() (int64, error)

Integer provides access to an attribute of type Number. DynamoDB sends the values as strings. For convenience this method provides conversion to int. If the value cannot be represented by a signed integer, err.Err = ErrRange and the returned value is the maximum magnitude integer of an int64 of the appropriate sign. Method panics if the attribute is not of type Number.

func (DynamoDBAttributeValue) IsNull

func (av DynamoDBAttributeValue) IsNull() bool

IsNull returns true if the attribute is of type Null.

func (DynamoDBAttributeValue) List

List provides access to an attribute of type List. Each element of the list is an DynamoDBAttributeValue itself. Method panics if the attribute is not of type List.

func (DynamoDBAttributeValue) Map

Map provides access to an attribute of type Map. They Keys are strings and the values are DynamoDBAttributeValue instances. Method panics if the attribute is not of type Map.

func (DynamoDBAttributeValue) MarshalJSON

func (av DynamoDBAttributeValue) MarshalJSON() ([]byte, error)

MarshalJSON implements custom marshaling to be used by the standard json/encoding package

func (DynamoDBAttributeValue) Number

func (av DynamoDBAttributeValue) Number() string

Number provides access to an attribute of type Number. DynamoDB sends the values as strings. For convenience please see also the methods Integer() and Float(). Method panics if the attribute is not of type Number.

func (DynamoDBAttributeValue) NumberSet

func (av DynamoDBAttributeValue) NumberSet() []string

NumberSet provides access to an attribute of type Number Set. DynamoDB sends the numbers as strings. Method panics if the attribute is not of type Number.

func (DynamoDBAttributeValue) String

func (av DynamoDBAttributeValue) String() string

String provides access to an attribute of type String. Method panics if the attribute is not of type String.

func (DynamoDBAttributeValue) StringSet

func (av DynamoDBAttributeValue) StringSet() []string

StringSet provides access to an attribute of type String Set. Method panics if the attribute is not of type String Set.

func (*DynamoDBAttributeValue) UnmarshalJSON

func (av *DynamoDBAttributeValue) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a JSON description of this DynamoDBAttributeValue

type DynamoDBDataType

type DynamoDBDataType int

DynamoDBDataType specifies the type supported natively by DynamoDB for an attribute

const (
	DataTypeBinary DynamoDBDataType = iota
	DataTypeBoolean
	DataTypeBinarySet
	DataTypeList
	DataTypeMap
	DataTypeNumber
	DataTypeNumberSet
	DataTypeNull
	DataTypeString
	DataTypeStringSet
)

type DynamoDBEvent

type DynamoDBEvent struct {
	Records []DynamoDBEventRecord `json:"Records"`
}

The DynamoDBEvent stream event handled to Lambda http://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-ddb-update

type DynamoDBEventRecord

type DynamoDBEventRecord struct {
	// The region in which the GetRecords request was received.
	AWSRegion string `json:"awsRegion"`

	// The main body of the stream record, containing all of the DynamoDB-specific
	// fields.
	Change DynamoDBStreamRecord `json:"dynamodb"`

	// A globally unique identifier for the event that was recorded in this stream
	// record.
	EventID string `json:"eventID"`

	// The type of data modification that was performed on the DynamoDB table:
	//
	//    * INSERT - a new item was added to the table.
	//
	//    * MODIFY - one or more of an existing item's attributes were modified.
	//
	//    * REMOVE - the item was deleted from the table
	EventName string `json:"eventName"`

	// The AWS service from which the stream record originated. For DynamoDB Streams,
	// this is aws:dynamodb.
	EventSource string `json:"eventSource"`

	// The version number of the stream record format. This number is updated whenever
	// the structure of Record is modified.
	//
	// Client applications must not assume that eventVersion will remain at a particular
	// value, as this number is subject to change at any time. In general, eventVersion
	// will only increase as the low-level DynamoDB Streams API evolves.
	EventVersion string `json:"eventVersion"`

	// The event source ARN of DynamoDB
	EventSourceArn string `json:"eventSourceARN"`

	// Items that are deleted by the Time to Live process after expiration have
	// the following fields:
	//
	//    * Records[].userIdentity.type
	//
	// "Service"
	//
	//    * Records[].userIdentity.principalId
	//
	// "dynamodb.amazonaws.com"
	UserIdentity *DynamoDBUserIdentity `json:"userIdentity,omitempty"`
}

DynamoDbEventRecord stores information about each record of a DynamoDb stream event

type DynamoDBKeyType

type DynamoDBKeyType string
const (
	DynamoDBKeyTypeHash  DynamoDBKeyType = "HASH"
	DynamoDBKeyTypeRange DynamoDBKeyType = "RANGE"
)

type DynamoDBOperationType

type DynamoDBOperationType string
const (
	DynamoDBOperationTypeInsert DynamoDBOperationType = "INSERT"
	DynamoDBOperationTypeModify DynamoDBOperationType = "MODIFY"
	DynamoDBOperationTypeRemove DynamoDBOperationType = "REMOVE"
)

type DynamoDBSharedIteratorType

type DynamoDBSharedIteratorType string
const (
	DynamoDBShardIteratorTypeTrimHorizon         DynamoDBSharedIteratorType = "TRIM_HORIZON"
	DynamoDBShardIteratorTypeLatest              DynamoDBSharedIteratorType = "LATEST"
	DynamoDBShardIteratorTypeAtSequenceNumber    DynamoDBSharedIteratorType = "AT_SEQUENCE_NUMBER"
	DynamoDBShardIteratorTypeAfterSequenceNumber DynamoDBSharedIteratorType = "AFTER_SEQUENCE_NUMBER"
)

type DynamoDBStreamRecord

type DynamoDBStreamRecord struct {

	// The approximate date and time when the stream record was created, in UNIX
	// epoch time (http://www.epochconverter.com/) format.
	ApproximateCreationDateTime SecondsEpochTime `json:"ApproximateCreationDateTime,omitempty"`

	// The primary key attribute(s) for the DynamoDB item that was modified.
	Keys map[string]DynamoDBAttributeValue `json:"Keys,omitempty"`

	// The item in the DynamoDB table as it appeared after it was modified.
	NewImage map[string]DynamoDBAttributeValue `json:"NewImage,omitempty"`

	// The item in the DynamoDB table as it appeared before it was modified.
	OldImage map[string]DynamoDBAttributeValue `json:"OldImage,omitempty"`

	// The sequence number of the stream record.
	SequenceNumber string `json:"SequenceNumber"`

	// The size of the stream record, in bytes.
	SizeBytes int64 `json:"SizeBytes"`

	// The type of data from the modified DynamoDB item that was captured in this
	// stream record.
	StreamViewType string `json:"StreamViewType"`
}

A description of a single data modification that was performed on an item in a DynamoDB table.

type DynamoDBStreamStatus

type DynamoDBStreamStatus string
const (
	DynamoDBStreamStatusEnabling  DynamoDBStreamStatus = "ENABLING"
	DynamoDBStreamStatusEnabled   DynamoDBStreamStatus = "ENABLED"
	DynamoDBStreamStatusDisabling DynamoDBStreamStatus = "DISABLING"
	DynamoDBStreamStatusDisabled  DynamoDBStreamStatus = "DISABLED"
)

type DynamoDBStreamViewType

type DynamoDBStreamViewType string
const (
	DynamoDBStreamViewTypeNewImage        DynamoDBStreamViewType = "NEW_IMAGE"          // the entire item, as it appeared after it was modified.
	DynamoDBStreamViewTypeOldImage        DynamoDBStreamViewType = "OLD_IMAGE"          // the entire item, as it appeared before it was modified.
	DynamoDBStreamViewTypeNewAndOldImages DynamoDBStreamViewType = "NEW_AND_OLD_IMAGES" // both the new and the old item images of the item.
	DynamoDBStreamViewTypeKeysOnly        DynamoDBStreamViewType = "KEYS_ONLY"          // only the key attributes of the modified item.
)

type DynamoDBUserIdentity added in v1.1.0

type DynamoDBUserIdentity struct {
	Type        string `json:"type"`
	PrincipalID string `json:"principalId"`
}

type ELBContext added in v1.8.1

type ELBContext struct {
	TargetGroupArn string `json:"targetGroupArn"`
}

ELBContext contains the information to identify the ARN invoking the lambda

type GroupConfiguration added in v1.8.0

type GroupConfiguration struct {
	GroupsToOverride   []string `json:"groupsToOverride"`
	IAMRolesToOverride []string `json:"iamRolesToOverride"`
	PreferredRole      *string  `json:"preferredRole"`
}

GroupConfiguration allows lambda to override groups, roles and set a perferred role

type IAMPolicyStatement added in v1.1.0

type IAMPolicyStatement struct {
	Action   []string
	Effect   string
	Resource []string
}

type IncompatibleDynamoDBTypeError

type IncompatibleDynamoDBTypeError struct {
	Requested DynamoDBDataType
	Actual    DynamoDBDataType
}

IncompatibleDynamoDBTypeError is the error passed in a panic when calling an accessor for an incompatible type

func (IncompatibleDynamoDBTypeError) Error

type IoTButtonEvent added in v1.7.0

type IoTButtonEvent struct {
	SerialNumber   string `json:"serialNumber"`
	ClickType      string `json:"clickType"`
	BatteryVoltage string `json:"batteryVoltage"`
}

type KinesisAnalyticsOutputDeliveryEvent added in v1.10.0

type KinesisAnalyticsOutputDeliveryEvent struct {
	InvocationID   string                                      `json:"invocationId"`
	ApplicationARN string                                      `json:"applicationArn"`
	Records        []KinesisAnalyticsOutputDeliveryEventRecord `json:"records"`
}

type KinesisAnalyticsOutputDeliveryEventRecord added in v1.10.0

type KinesisAnalyticsOutputDeliveryEventRecord struct {
	RecordID string `json:"recordId"`
	Data     []byte `json:"data"`
}

type KinesisAnalyticsOutputDeliveryResponse added in v1.10.0

type KinesisAnalyticsOutputDeliveryResponse struct {
	Records []KinesisAnalyticsOutputDeliveryResponseRecord `json:"records"`
}

type KinesisAnalyticsOutputDeliveryResponseRecord added in v1.10.0

type KinesisAnalyticsOutputDeliveryResponseRecord struct {
	RecordID string `json:"recordId"`
	Result   string `json:"result"` //possible values include Ok and DeliveryFailed
}

type KinesisEvent

type KinesisEvent struct {
	Records []KinesisEventRecord `json:"Records"`
}

type KinesisEventRecord

type KinesisEventRecord struct {
	AwsRegion         string        `json:"awsRegion"`
	EventID           string        `json:"eventID"`
	EventName         string        `json:"eventName"`
	EventSource       string        `json:"eventSource"`
	EventSourceArn    string        `json:"eventSourceARN"`
	EventVersion      string        `json:"eventVersion"`
	InvokeIdentityArn string        `json:"invokeIdentityArn"`
	Kinesis           KinesisRecord `json:"kinesis"`
}

type KinesisFirehoseEvent

type KinesisFirehoseEvent struct {
	InvocationID           string                       `json:"invocationId"`
	DeliveryStreamArn      string                       `json:"deliveryStreamArn"`
	SourceKinesisStreamArn string                       `json:"sourceKinesisStreamArn"`
	Region                 string                       `json:"region"`
	Records                []KinesisFirehoseEventRecord `json:"records"`
}

KinesisFirehoseEvent represents the input event from Amazon Kinesis Firehose. It is used as the input parameter.

type KinesisFirehoseEventRecord

type KinesisFirehoseEventRecord struct {
	RecordID                      string                        `json:"recordId"`
	ApproximateArrivalTimestamp   MilliSecondsEpochTime         `json:"approximateArrivalTimestamp"`
	Data                          []byte                        `json:"data"`
	KinesisFirehoseRecordMetadata KinesisFirehoseRecordMetadata `json:"kinesisRecordMetadata"`
}

type KinesisFirehoseRecordMetadata added in v1.11.0

type KinesisFirehoseRecordMetadata struct {
	ShardID                     string                `json:"shardId"`
	PartitionKey                string                `json:"partitionKey"`
	SequenceNumber              string                `json:"sequenceNumber"`
	ApproximateArrivalTimestamp MilliSecondsEpochTime `json:"approximateArrivalTimestamp"`
}

type KinesisFirehoseResponse

type KinesisFirehoseResponse struct {
	Records []KinesisFirehoseResponseRecord `json:"records"`
}

type KinesisFirehoseResponseRecord

type KinesisFirehoseResponseRecord struct {
	RecordID string `json:"recordId"`
	Result   string `json:"result"` // The status of the transformation. May be TransformedStateOk, TransformedStateDropped or TransformedStateProcessingFailed
	Data     []byte `json:"data"`
}

type KinesisRecord

type KinesisRecord struct {
	ApproximateArrivalTimestamp SecondsEpochTime `json:"approximateArrivalTimestamp"`
	Data                        []byte           `json:"data"`
	EncryptionType              string           `json:"encryptionType,omitempty"`
	PartitionKey                string           `json:"partitionKey"`
	SequenceNumber              string           `json:"sequenceNumber"`
	KinesisSchemaVersion        string           `json:"kinesisSchemaVersion"`
}

type LexBot added in v1.2.0

type LexBot struct {
	Name    string `json:"name,omitempty"`
	Alias   string `json:"alias,omitempty"`
	Version string `json:"version,omitempty"`
}

type LexCurrentIntent added in v1.2.0

type LexCurrentIntent struct {
	Name               string                `json:"name,omitempty"`
	Slots              Slots                 `json:"slots,omitempty"`
	SlotDetails        map[string]SlotDetail `json:"slotDetails,omitempty"`
	ConfirmationStatus string                `json:"confirmationStatus,omitempty"`
}

type LexDialogAction added in v1.2.0

type LexDialogAction struct {
	Type             string            `json:"type,omitempty"`
	FulfillmentState string            `json:"fulfillmentState,omitempty"`
	Message          map[string]string `json:"message,omitempty"`
	IntentName       string            `json:"intentName,omitempty"`
	Slots            Slots             `json:"slots,omitempty"`
	SlotToElicit     string            `json:"slotToElicit,omitempty"`
	ResponseCard     *LexResponseCard  `json:"responseCard,omitempty"`
}

type LexEvent added in v1.2.0

type LexEvent struct {
	MessageVersion    string            `json:"messageVersion,omitempty"`
	InvocationSource  string            `json:"invocationSource,omitempty"`
	UserID            string            `json:"userId,omitempty"`
	InputTranscript   string            `json:"inputTranscript,omitempty"`
	SessionAttributes SessionAttributes `json:"sessionAttributes,omitempty"`
	RequestAttributes map[string]string `json:"requestAttributes,omitempty"`
	Bot               *LexBot           `json:"bot,omitempty"`
	OutputDialogMode  string            `json:"outputDialogMode,omitempty"`
	CurrentIntent     *LexCurrentIntent `json:"currentIntent,omitempty"`
	DialogAction      *LexDialogAction  `json:"dialogAction,omitempty"`
}

func (*LexEvent) Clear added in v1.2.0

func (h *LexEvent) Clear()

type LexResponse added in v1.11.0

type LexResponse struct {
	SessionAttributes SessionAttributes `json:"sessionAttributes"`
	DialogAction      LexDialogAction   `json:"dialogAction,omitempty"`
}

type LexResponseCard added in v1.2.0

type LexResponseCard struct {
	Version            int64        `json:"version,omitempty"`
	ContentType        string       `json:"contentType,omitempty"`
	GenericAttachments []Attachment `json:"genericAttachments,omitempty"`
}

type MilliSecondsEpochTime

type MilliSecondsEpochTime struct {
	time.Time
}

MilliSecondsEpochTime serializes a time.Time in JSON as a UNIX epoch time in milliseconds.

func (MilliSecondsEpochTime) MarshalJSON

func (e MilliSecondsEpochTime) MarshalJSON() ([]byte, error)

func (*MilliSecondsEpochTime) UnmarshalJSON

func (e *MilliSecondsEpochTime) UnmarshalJSON(b []byte) error

type S3BatchJob added in v1.12.0

type S3BatchJob struct {
	ID string `json:"id"`
}

type S3BatchJobEvent added in v1.12.0

type S3BatchJobEvent struct {
	InvocationSchemaVersion string           `json:"invocationSchemaVersion"`
	InvocationID            string           `json:"invocationId"`
	Job                     S3BatchJob       `json:"job"`
	Tasks                   []S3BatchJobTask `json:"tasks"`
}

type S3BatchJobResponse added in v1.12.0

type S3BatchJobResponse struct {
	InvocationSchemaVersion string             `json:"invocationSchemaVersion"`
	TreatMissingKeysAs      string             `json:"treatMissingKeysAs"`
	InvocationID            string             `json:"invocationId"`
	Results                 []S3BatchJobResult `json:"results"`
}

type S3BatchJobResult added in v1.12.0

type S3BatchJobResult struct {
	TaskID       string `json:"taskId"`
	ResultCode   string `json:"resultCode"`
	ResultString string `json:"resultString"`
}

type S3BatchJobTask added in v1.12.0

type S3BatchJobTask struct {
	TaskID      string `json:"taskId"`
	S3Key       string `json:"s3Key"`
	S3VersionID string `json:"s3VersionId"`
	S3BucketARN string `json:"s3BucketArn"`
}

type S3Bucket

type S3Bucket struct {
	Name          string         `json:"name"`
	OwnerIdentity S3UserIdentity `json:"ownerIdentity"`
	Arn           string         `json:"arn"`
}

type S3Entity

type S3Entity struct {
	SchemaVersion   string   `json:"s3SchemaVersion"`
	ConfigurationID string   `json:"configurationId"`
	Bucket          S3Bucket `json:"bucket"`
	Object          S3Object `json:"object"`
}

type S3Event

type S3Event struct {
	Records []S3EventRecord `json:"Records"`
}

type S3EventRecord

type S3EventRecord struct {
	EventVersion      string              `json:"eventVersion"`
	EventSource       string              `json:"eventSource"`
	AWSRegion         string              `json:"awsRegion"`
	EventTime         time.Time           `json:"eventTime"`
	EventName         string              `json:"eventName"`
	PrincipalID       S3UserIdentity      `json:"userIdentity"`
	RequestParameters S3RequestParameters `json:"requestParameters"`
	ResponseElements  map[string]string   `json:"responseElements"`
	S3                S3Entity            `json:"s3"`
}

type S3Object

type S3Object struct {
	Key           string `json:"key"`
	Size          int64  `json:"size"`
	URLDecodedKey string `json:"urlDecodedKey"`
	VersionID     string `json:"versionId"`
	ETag          string `json:"eTag"`
	Sequencer     string `json:"sequencer"`
}

type S3RequestParameters

type S3RequestParameters struct {
	SourceIPAddress string `json:"sourceIPAddress"`
}

type S3TestEvent added in v1.9.0

type S3TestEvent struct {
	Service   string    `json:"Service"`
	Bucket    string    `json:"Bucket"`
	Event     string    `json:"Event"`
	Time      time.Time `json:"Time"`
	RequestID string    `json:"RequestId"`
	HostID    string    `json:"HostId"`
}

type S3UserIdentity

type S3UserIdentity struct {
	PrincipalID string `json:"principalId"`
}

type SNSEntity

type SNSEntity struct {
	Signature         string                 `json:"Signature"`
	MessageID         string                 `json:"MessageId"`
	Type              string                 `json:"Type"`
	TopicArn          string                 `json:"TopicArn"`
	MessageAttributes map[string]interface{} `json:"MessageAttributes"`
	SignatureVersion  string                 `json:"SignatureVersion"`
	Timestamp         time.Time              `json:"Timestamp"`
	SigningCertURL    string                 `json:"SigningCertUrl"`
	Message           string                 `json:"Message"`
	UnsubscribeURL    string                 `json:"UnsubscribeUrl"`
	Subject           string                 `json:"Subject"`
}

type SNSEvent

type SNSEvent struct {
	Records []SNSEventRecord `json:"Records"`
}

type SNSEventRecord

type SNSEventRecord struct {
	EventVersion         string    `json:"EventVersion"`
	EventSubscriptionArn string    `json:"EventSubscriptionArn"`
	EventSource          string    `json:"EventSource"`
	SNS                  SNSEntity `json:"Sns"`
}

type SQSEvent added in v1.3.0

type SQSEvent struct {
	Records []SQSMessage `json:"Records"`
}

type SQSMessage added in v1.3.0

type SQSMessage struct {
	MessageId              string                         `json:"messageId"`
	ReceiptHandle          string                         `json:"receiptHandle"`
	Body                   string                         `json:"body"`
	Md5OfBody              string                         `json:"md5OfBody"`
	Md5OfMessageAttributes string                         `json:"md5OfMessageAttributes"`
	Attributes             map[string]string              `json:"attributes"`
	MessageAttributes      map[string]SQSMessageAttribute `json:"messageAttributes"`
	EventSourceARN         string                         `json:"eventSourceARN"`
	EventSource            string                         `json:"eventSource"`
	AWSRegion              string                         `json:"awsRegion"`
}

type SQSMessageAttribute added in v1.3.0

type SQSMessageAttribute struct {
	StringValue      *string  `json:"stringValue,omitempty"`
	BinaryValue      []byte   `json:"binaryValue,omitempty"`
	StringListValues []string `json:"stringListValues"`
	BinaryListValues [][]byte `json:"binaryListValues"`
	DataType         string   `json:"dataType"`
}

type SecondsEpochTime

type SecondsEpochTime struct {
	time.Time
}

SecondsEpochTime serializes a time.Time in JSON as a UNIX epoch time in seconds

func (SecondsEpochTime) MarshalJSON

func (e SecondsEpochTime) MarshalJSON() ([]byte, error)

func (*SecondsEpochTime) UnmarshalJSON

func (e *SecondsEpochTime) UnmarshalJSON(b []byte) error

type SessionAttributes added in v1.11.0

type SessionAttributes map[string]string

type SimpleEmailCommonHeaders added in v1.2.0

type SimpleEmailCommonHeaders struct {
	From       []string `json:"from"`
	To         []string `json:"to"`
	ReturnPath string   `json:"returnPath"`
	MessageID  string   `json:"messageId"`
	Date       string   `json:"date"`
	Subject    string   `json:"subject"`
}

type SimpleEmailDisposition added in v1.5.0

type SimpleEmailDisposition struct {
	Disposition SimpleEmailDispositionValue `json:"disposition"`
}

SimpleEmailDisposition disposition return for SES to control rule functions

type SimpleEmailDispositionValue added in v1.5.0

type SimpleEmailDispositionValue string

SimpleEmailDispositionValue enumeration representing the dispostition value for SES

const (
	// SimpleEmailContinue represents the CONTINUE disposition which tells the SES Rule Set to continue to the next rule
	SimpleEmailContinue SimpleEmailDispositionValue = "CONTINUE"
	// SimpleEmailStopRule represents the STOP_RULE disposition which tells the SES Rule Set to stop processing this rule and continue to the next
	SimpleEmailStopRule SimpleEmailDispositionValue = "STOP_RULE"
	// SimpleEmailStopRuleSet represents the STOP_RULE_SET disposition which tells the SES Rule SEt to stop processing all rules
	SimpleEmailStopRuleSet SimpleEmailDispositionValue = "STOP_RULE_SET"
)

type SimpleEmailEvent added in v1.2.0

type SimpleEmailEvent struct {
	Records []SimpleEmailRecord `json:"Records"`
}

SimpleEmailEvent is the outer structure of an event sent via SES.

type SimpleEmailHeader added in v1.2.0

type SimpleEmailHeader struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type SimpleEmailMessage added in v1.2.0

type SimpleEmailMessage struct {
	CommonHeaders    SimpleEmailCommonHeaders `json:"commonHeaders"`
	Source           string                   `json:"source"`
	Timestamp        time.Time                `json:"timestamp"`
	Destination      []string                 `json:"destination"`
	Headers          []SimpleEmailHeader      `json:"headers"`
	HeadersTruncated bool                     `json:"headersTruncated"`
	MessageID        string                   `json:"messageId"`
}

type SimpleEmailReceipt added in v1.2.0

type SimpleEmailReceipt struct {
	Recipients           []string                 `json:"recipients"`
	Timestamp            time.Time                `json:"timestamp"`
	SpamVerdict          SimpleEmailVerdict       `json:"spamVerdict"`
	DKIMVerdict          SimpleEmailVerdict       `json:"dkimVerdict"`
	DMARCVerdict         SimpleEmailVerdict       `json:"dmarcVerdict"`
	DMARCPolicy          string                   `json:"dmarcPolicy"`
	SPFVerdict           SimpleEmailVerdict       `json:"spfVerdict"`
	VirusVerdict         SimpleEmailVerdict       `json:"virusVerdict"`
	Action               SimpleEmailReceiptAction `json:"action"`
	ProcessingTimeMillis int64                    `json:"processingTimeMillis"`
}

type SimpleEmailReceiptAction added in v1.2.0

type SimpleEmailReceiptAction struct {
	Type            string `json:"type"`
	TopicARN        string `json:"topicArn,omitempty"`
	BucketName      string `json:"bucketName,omitempty"`
	ObjectKey       string `json:"objectKey,omitempty"`
	SMTPReplyCode   string `json:"smtpReplyCode,omitempty"`
	StatusCode      string `json:"statusCode,omitempty"`
	Message         string `json:"message,omitempty"`
	Sender          string `json:"sender,omitempty"`
	InvocationType  string `json:"invocationType,omitempty"`
	FunctionARN     string `json:"functionArn,omitempty"`
	OrganizationARN string `json:"organizationArn,omitempty"`
}

SimpleEmailReceiptAction is a logical union of fields present in all action Types. For example, the FunctionARN and InvocationType fields are only present for the Lambda Type, and the BucketName and ObjectKey fields are only present for the S3 Type.

type SimpleEmailRecord added in v1.2.0

type SimpleEmailRecord struct {
	EventVersion string             `json:"eventVersion"`
	EventSource  string             `json:"eventSource"`
	SES          SimpleEmailService `json:"ses"`
}

type SimpleEmailService added in v1.2.0

type SimpleEmailService struct {
	Mail    SimpleEmailMessage `json:"mail"`
	Receipt SimpleEmailReceipt `json:"receipt"`
}

type SimpleEmailVerdict added in v1.2.0

type SimpleEmailVerdict struct {
	Status string `json:"status"`
}

type SlotDetail added in v1.2.0

type SlotDetail struct {
	Resolutions   []map[string]string `json:"resolutions,omitempty"`
	OriginalValue string              `json:"originalValue,omitempty"`
}

type Slots added in v1.2.0

type Slots map[string]*string

type UnsupportedDynamoDBTypeError

type UnsupportedDynamoDBTypeError struct {
	Type string
}

UnsupportedDynamoDBTypeError is the error returned when trying to unmarshal a DynamoDB Attribute type not recognized by this library

func (UnsupportedDynamoDBTypeError) Error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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