Back to godoc.org

Package events

v1.19.0
Latest Go to latest
Published: 1 day ago | License: Apache-2.0 | Module: github.com/aws/aws-lambda-go

Index

Package Files

Constants

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

Constants used for describing the transformation result

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

type ALBTargetGroupRequest

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

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

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

type ALBTargetGroupResponse

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

type APIGatewayCustomAuthorizerPolicy struct {
	Version   string
	Statement []IAMPolicyStatement
}

APIGatewayCustomAuthorizerPolicy represents an IAM policy

type APIGatewayCustomAuthorizerRequest

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

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

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

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

APIGatewayCustomAuthorizerRequestTypeRequestIdentity contains identity information for the request caller.

type APIGatewayCustomAuthorizerResponse

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"`
	DomainName       string                    `json:"domainName"`
	DomainPrefix     string                    `json:"domainPrefix"`
	RequestID        string                    `json:"requestId"`
	Protocol         string                    `json:"protocol"`
	Identity         APIGatewayRequestIdentity `json:"identity"`
	ResourcePath     string                    `json:"resourcePath"`
	Authorizer       map[string]interface{}    `json:"authorizer"`
	HTTPMethod       string                    `json:"httpMethod"`
	RequestTime      string                    `json:"requestTime"`
	RequestTimeEpoch int64                     `json:"requestTimeEpoch"`
	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"`
	APIKeyID                      string `json:"apiKeyId"`
	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 APIGatewayV2HTTPRequest

type APIGatewayV2HTTPRequest struct {
	Version               string                         `json:"version"`
	RouteKey              string                         `json:"routeKey"`
	RawPath               string                         `json:"rawPath"`
	RawQueryString        string                         `json:"rawQueryString"`
	Cookies               []string                       `json:"cookies,omitempty"`
	Headers               map[string]string              `json:"headers"`
	QueryStringParameters map[string]string              `json:"queryStringParameters,omitempty"`
	PathParameters        map[string]string              `json:"pathParameters,omitempty"`
	RequestContext        APIGatewayV2HTTPRequestContext `json:"requestContext"`
	StageVariables        map[string]string              `json:"stageVariables,omitempty"`
	Body                  string                         `json:"body,omitempty"`
	IsBase64Encoded       bool                           `json:"isBase64Encoded"`
}

APIGatewayV2HTTPRequest contains data coming from the new HTTP API Gateway

type APIGatewayV2HTTPRequestContext

type APIGatewayV2HTTPRequestContext struct {
	RouteKey     string                                               `json:"routeKey"`
	AccountID    string                                               `json:"accountId"`
	Stage        string                                               `json:"stage"`
	RequestID    string                                               `json:"requestId"`
	Authorizer   *APIGatewayV2HTTPRequestContextAuthorizerDescription `json:"authorizer,omitempty"`
	APIID        string                                               `json:"apiId"` // The API Gateway HTTP API Id
	DomainName   string                                               `json:"domainName"`
	DomainPrefix string                                               `json:"domainPrefix"`
	Time         string                                               `json:"time"`
	TimeEpoch    int64                                                `json:"timeEpoch"`
	HTTP         APIGatewayV2HTTPRequestContextHTTPDescription        `json:"http"`
}

APIGatewayV2HTTPRequestContext contains the information to identify the AWS account and resources invoking the Lambda function.

type APIGatewayV2HTTPRequestContextAuthorizerDescription

type APIGatewayV2HTTPRequestContextAuthorizerDescription struct {
	JWT APIGatewayV2HTTPRequestContextAuthorizerJWTDescription `json:"jwt"`
}

APIGatewayV2HTTPRequestContextAuthorizerDescription contains authorizer information for the request context.

type APIGatewayV2HTTPRequestContextAuthorizerJWTDescription

type APIGatewayV2HTTPRequestContextAuthorizerJWTDescription struct {
	Claims map[string]string `json:"claims"`
	Scopes []string          `json:"scopes"`
}

APIGatewayV2HTTPRequestContextAuthorizerJWTDescription contains JWT authorizer information for the request context.

type APIGatewayV2HTTPRequestContextHTTPDescription

type APIGatewayV2HTTPRequestContextHTTPDescription struct {
	Method    string `json:"method"`
	Path      string `json:"path"`
	Protocol  string `json:"protocol"`
	SourceIP  string `json:"sourceIp"`
	UserAgent string `json:"userAgent"`
}

APIGatewayV2HTTPRequestContextHTTPDescription contains HTTP information for the request context.

type APIGatewayV2HTTPResponse

type APIGatewayV2HTTPResponse 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"`
	Cookies           []string            `json:"cookies"`
}

APIGatewayV2HTTPResponse configures the response to be returned by API Gateway V2 for the request

type APIGatewayWebsocketProxyRequest

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

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

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

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

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

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

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

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

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

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

type ChimeBotEventInboundHTTPSEndpoint

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

type ChimeBotEventSender

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

type ClaimsOverrideDetails

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 CloudWatchAlarmSNSPayload

type CloudWatchAlarmSNSPayload struct {
	AlarmName        string                 `json:"AlarmName"`
	AlarmDescription string                 `json:"AlarmDescription"`
	AWSAccountID     string                 `json:"AWSAccountId"`
	NewStateValue    string                 `json:"NewStateValue"`
	NewStateReason   string                 `json:"NewStateReason"`
	StateChangeTime  string                 `json:"StateChangeTime"`
	Region           string                 `json:"Region"`
	AlarmARN         string                 `json:"AlarmArn"`
	OldStateValue    string                 `json:"OldStateValue"`
	Trigger          CloudWatchAlarmTrigger `json:"Trigger"`
}

type CloudWatchAlarmTrigger

type CloudWatchAlarmTrigger struct {
	Period                           int64                       `json:"Period"`
	EvaluationPeriods                int64                       `json:"EvaluationPeriods"`
	ComparisonOperator               string                      `json:"ComparisonOperator"`
	Threshold                        float64                     `json:"Threshold"`
	TreatMissingData                 string                      `json:"TreatMissingData"`
	EvaluateLowSampleCountPercentile string                      `json:"EvaluateLowSampleCountPercentile"`
	Metrics                          []CloudWatchMetricDataQuery `json:"Metrics,omitempty"`
	MetricName                       string                      `json:"MetricName,omitempty"`
	Namespace                        string                      `json:"Namespace,omitempty"`
	StatisticType                    string                      `json:"StatisticType,omitempty"`
	Statistic                        string                      `json:"Statistic,omitempty"`
	Unit                             string                      `json:"Unit,omitempty"`
	Dimensions                       []CloudWatchDimension       `json:"Dimensions,omitempty"`
}

type CloudWatchDimension

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

type CloudWatchEvent

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 CloudWatchMetric

type CloudWatchMetric struct {
	Dimensions []CloudWatchDimension `json:"Dimensions,omitempty"`
	MetricName string                `json:"MetricName,omitempty"`
	Namespace  string                `json:"Namespace,omitempty"`
}

type CloudWatchMetricDataQuery

type CloudWatchMetricDataQuery struct {
	Expression string               `json:"Expression,omitempty"`
	ID         string               `json:"Id"`
	Label      string               `json:"Label,omitempty"`
	MetricStat CloudWatchMetricStat `json:"MetricStat,omitempty"`
	Period     int64                `json:"Period,omitempty"`
	ReturnData bool                 `json:"ReturnData,omitempty"`
}

type CloudWatchMetricStat

type CloudWatchMetricStat struct {
	Metric CloudWatchMetric `json:"Metric"`
	Period int64            `json:"Period"`
	Stat   string           `json:"Stat"`
	Unit   string           `json:"Unit,omitempty"`
}

type CloudwatchLogsData

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

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

CloudwatchLogsEvent represents raw data from a cloudwatch logs event

type CloudwatchLogsLogEvent

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

CloudwatchLogsLogEvent represents a log entry from cloudwatch logs

type CloudwatchLogsRawData

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

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

func (CloudwatchLogsRawData) Parse

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

Parse returns a struct representing a usable CloudwatchLogs event

type CodeBuildArtifact

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

CodeBuildArtifact represents the artifact provided to build

type CodeBuildEnvironment

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"`
}

CodeBuildEnvironment represents the environment for a build

type CodeBuildEnvironmentVariable

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"`
}

CodeBuildEnvironmentVariable encapsulate environment variables for the code build

type CodeBuildEvent

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

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"`
}

CodeBuildEventAdditionalInformation represents additional informations to the code build event

type CodeBuildEventDetail

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"`
}

CodeBuildEventDetail represents the all details related to the code build event

type CodeBuildLogs

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

CodeBuildLogs gives the log details of a code build

type CodeBuildPhase

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"`
}

CodeBuildPhase represents the phase of a build and its details

type CodeBuildPhaseStatus

type CodeBuildPhaseStatus string

CodeBuildPhaseStatus represents the status of code build phase (i.e. failed, in progress)

type CodeBuildPhaseType

type CodeBuildPhaseType string

CodeBuildPhaseType represents the type of the code build phase (i.e. submitted, install)

type CodeBuildSource

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

CodeBuildSource represent the code source will be build

type CodeBuildTime

type CodeBuildTime time.Time

CodeBuildTime represents the time of the build

func (CodeBuildTime) MarshalJSON

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

MarshalJSON converts a given CodeBuildTime to json

func (*CodeBuildTime) UnmarshalJSON

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

UnmarshalJSON converts a given json to a CodeBuildTime

type CodeCommitCodeCommit

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

CodeCommitCodeCommit represents a CodeCommit object in a record

func (CodeCommitCodeCommit) String

func (c CodeCommitCodeCommit) String() string

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

type CodeCommitEvent

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

CodeCommitEvent represents a CodeCommit event

func (CodeCommitEvent) String

func (e CodeCommitEvent) String() string

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

type CodeCommitEventTime

type CodeCommitEventTime time.Time

func (*CodeCommitEventTime) MarshalJSON

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

func (*CodeCommitEventTime) UnmarshalJSON

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

type CodeCommitRecord

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"`
}

CodeCommitRecord represents a CodeCommit record

func (CodeCommitRecord) String

func (r CodeCommitRecord) String() string

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

type CodeCommitReference

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

func (r CodeCommitReference) String() string

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

type CodeDeployDeploymentState

type CodeDeployDeploymentState string

type CodeDeployEvent

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

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

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

CodePipelineActionConfiguration represents an Action Configuration

type CodePipelineArtifactCredentials

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

CodePipelineArtifactCredentials represents CodePipeline artifact credentials

type CodePipelineConfiguration

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

CodePipelineConfiguration represents a configuration for an Action Configuration

type CodePipelineData

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

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

CodePipelineEvent contains data from an event sent from AWS Codepipeline

type CodePipelineInputArtifact

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

CodePipelineInputArtifact represents an input artifact

type CodePipelineInputLocation

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

CodePipelineInputLocation represents a input location

type CodePipelineJob

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

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

CodePipelineOutputArtifact represents an output artifact

type CodePipelineOutputLocation

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

CodePipelineOutputLocation represents a output location

type CodePipelineS3Location

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

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

CognitoEventUserPoolsCallerContext contains information about the caller

type CognitoEventUserPoolsChallengeResult

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

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

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

CognitoEventUserPoolsCreateAuthChallengeRequest defines create auth challenge request parameters

type CognitoEventUserPoolsCreateAuthChallengeResponse

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

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

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

CognitoEventUserPoolsCustomMessageRequest contains the request portion of a CustomMessage event

type CognitoEventUserPoolsCustomMessageResponse

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

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

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

CognitoEventUserPoolsDefineAuthChallengeRequest defines auth challenge request parameters

type CognitoEventUserPoolsDefineAuthChallengeResponse

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

CognitoEventUserPoolsDefineAuthChallengeResponse defines auth challenge response parameters

type CognitoEventUserPoolsHeader

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

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

type CognitoEventUserPoolsMigrateUserRequest struct {
	Password       string            `json:"password"`
	ClientMetadata map[string]string `json:"clientMetadata"`
}

CognitoEventUserPoolsMigrateUserRequest contains the request portion of a MigrateUser event

type CognitoEventUserPoolsMigrateUserResponse

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

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

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

CognitoEventUserPoolsPostAuthenticationRequest contains the request portion of a PostAuthentication event

type CognitoEventUserPoolsPostAuthenticationResponse

type CognitoEventUserPoolsPostAuthenticationResponse struct {
}

CognitoEventUserPoolsPostAuthenticationResponse contains the response portion of a PostAuthentication event

type CognitoEventUserPoolsPostConfirmation

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

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

CognitoEventUserPoolsPostConfirmationRequest contains the request portion of a PostConfirmation event

type CognitoEventUserPoolsPostConfirmationResponse

type CognitoEventUserPoolsPostConfirmationResponse struct {
}

CognitoEventUserPoolsPostConfirmationResponse contains the response portion of a PostConfirmation event

type CognitoEventUserPoolsPreAuthentication

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

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

type CognitoEventUserPoolsPreAuthenticationResponse struct {
}

CognitoEventUserPoolsPreAuthenticationResponse contains the response portion of a PreAuthentication event

type CognitoEventUserPoolsPreSignup

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

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

CognitoEventUserPoolsPreSignupRequest contains the request portion of a PreSignup event

type CognitoEventUserPoolsPreSignupResponse

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

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

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

CognitoEventUserPoolsPreTokenGenRequest contains request portion of PreTokenGen event

type CognitoEventUserPoolsPreTokenGenResponse

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

CognitoEventUserPoolsPreTokenGenResponse containst the response portion of a PreTokenGen event

type CognitoEventUserPoolsVerifyAuthChallenge

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

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

CognitoEventUserPoolsVerifyAuthChallengeRequest defines verify auth challenge request parameters

type CognitoEventUserPoolsVerifyAuthChallengeResponse

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

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

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

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

ConnectEndpoint represents routing information.

type ConnectEvent

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

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

ConnectQueue represents a queue object.

type ConnectResponse

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

type DurationMinutes time.Duration

func (DurationMinutes) MarshalJSON

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

MarshalJSON converts a given DurationMinutes to json

func (*DurationMinutes) UnmarshalJSON

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

UnmarshalJSON converts a given json to a DurationMinutes

type DurationSeconds

type DurationSeconds time.Duration

func (DurationSeconds) MarshalJSON

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

MarshalJSON converts a given DurationSeconds to json

func (*DurationSeconds) UnmarshalJSON

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

UnmarshalJSON converts a given json to a DurationSeconds

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

func NewBinaryAttribute(value []byte) DynamoDBAttributeValue

NewBinaryAttribute creates an DynamoDBAttributeValue containing a Binary

func NewBinarySetAttribute

func NewBinarySetAttribute(value [][]byte) DynamoDBAttributeValue

NewBinarySetAttribute creates an DynamoDBAttributeValue containing a BinarySet

func NewBooleanAttribute

func NewBooleanAttribute(value bool) DynamoDBAttributeValue

NewBooleanAttribute creates an DynamoDBAttributeValue containing a Boolean

func NewListAttribute

func NewListAttribute(value []DynamoDBAttributeValue) DynamoDBAttributeValue

NewListAttribute creates an DynamoDBAttributeValue containing a List

func NewMapAttribute

func NewMapAttribute(value map[string]DynamoDBAttributeValue) DynamoDBAttributeValue

NewMapAttribute creates an DynamoDBAttributeValue containing a Map

func NewNullAttribute

func NewNullAttribute() DynamoDBAttributeValue

NewNullAttribute creates an DynamoDBAttributeValue containing a Null

func NewNumberAttribute

func NewNumberAttribute(value string) DynamoDBAttributeValue

NewNumberAttribute creates an DynamoDBAttributeValue containing a Number

func NewNumberSetAttribute

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

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

func (av DynamoDBAttributeValue) DataType() DynamoDBDataType

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

func (av DynamoDBAttributeValue) List() []DynamoDBAttributeValue

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

func (av DynamoDBAttributeValue) Map() map[string]DynamoDBAttributeValue

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"`
}

DynamoDBStreamRecord represents 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

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

type ELBContext

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

ELBContext contains the information to identify the ARN invoking the lambda

type GroupConfiguration

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

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

IAMPolicyStatement represents one statement from IAM policy with action, effect and resource

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

func (e IncompatibleDynamoDBTypeError) Error() string

type IoTButtonEvent

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

type KinesisAnalyticsOutputDeliveryEvent

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

type KinesisAnalyticsOutputDeliveryEventRecord

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

type KinesisAnalyticsOutputDeliveryResponse

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

type KinesisAnalyticsOutputDeliveryResponseRecord

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

type KinesisFirehoseRecordMetadata struct {
	ShardID                     string                `json:"shardId"`
	PartitionKey                string                `json:"partitionKey"`
	SequenceNumber              string                `json:"sequenceNumber"`
	SubsequenceNumber           int64                 `json:"subsequenceNumber"`
	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

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

type LexCurrentIntent

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

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

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

func (h *LexEvent) Clear()

type LexResponse

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

type LexResponseCard

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

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

S3BatchJob whichs have the job id

type S3BatchJobEvent

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

S3BatchJobEvent encapsulates the detail of a s3 batch job

type S3BatchJobResponse

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

S3BatchJobResponse is the response of a iven s3 batch job with the results

type S3BatchJobResult

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

S3BatchJobResult represents the result of a given task

type S3BatchJobTask

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

S3BatchJobTask represents one task in the s3 batch job and have all task details

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"`
}

S3Event which wrap an array of S3EventRecord

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"`
}

S3EventRecord which wrap record data

type S3Object

type S3Object struct {
	Key           string `json:"key"`
	Size          int64  `json:"size,omitempty"`
	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

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

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

type SQSMessage

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

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

type SessionAttributes map[string]string

type SimpleEmailCommonHeaders

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

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

SimpleEmailDisposition disposition return for SES to control rule functions

type SimpleEmailDispositionValue

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

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

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

type SimpleEmailHeader

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

type SimpleEmailMessage

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

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

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

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

type SimpleEmailService

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

type SimpleEmailVerdict

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

type SlotDetail

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

type Slots

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

func (e UnsupportedDynamoDBTypeError) Error() string
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier