events

package
v1.47.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 12 Imported by: 7,417

Documentation

Index

Constants

View Source
const (
	CodeBuildEventSource           = "aws.codebuild"
	CodeBuildStateChangeDetailType = "CodeBuild Build State Change"
	CodeBuildPhaseChangeDetailType = "CodeBuild Build Phase Change"
)
View Source
const (
	CodeDeployEventSource               = "aws.codedeploy"
	CodeDeployDeploymentEventDetailType = "CodeDeploy Deployment State-change Notification"
	CodeDeployInstanceEventDetailType   = "CodeDeploy Instance State-change Notification"
)
View Source
const (
	CodePipelineEventSource              = "aws.codepipeline"
	CodePipelineExecutionEventDetailType = "CodePipeline Pipeline Execution State Change"
	CodePipelineActionEventDetailType    = "CodePipeline Action Execution State Change"
	CodePipelineStageEventDetailType     = "CodePipeline Stage Execution State Change"
)
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,omitempty"`
	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 IAMPolicyDocument

APIGatewayCustomAuthorizerPolicy represents an IAM policy.

Note: This type exists for backwards compatibility. should reference IAMPolicyDocument directly instead.

type APIGatewayCustomAuthorizerRequest added in v1.1.0

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

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"` //nolint: stylecheck
	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"`
	ClientCert APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCert `json:"clientCert"`
}

APIGatewayCustomAuthorizerRequestTypeRequestIdentity contains identity information for the request caller including certificate information if using mTLS.

type APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCert added in v1.25.0

type APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCert struct {
	ClientCertPem string                                                                 `json:"clientCertPem"`
	IssuerDN      string                                                                 `json:"issuerDN"`
	SerialNumber  string                                                                 `json:"serialNumber"`
	SubjectDN     string                                                                 `json:"subjectDN"`
	Validity      APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCertValidity `json:"validity"`
}

APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCert contains certificate information for the request caller if using mTLS.

type APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCertValidity added in v1.25.0

type APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCertValidity struct {
	NotAfter  string `json:"notAfter"`
	NotBefore string `json:"notBefore"`
}

APIGatewayCustomAuthorizerRequestTypeRequestIdentityClientCertValidity contains certificate validity information for the request caller if using mTLS.

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"`
	DomainName        string                    `json:"domainName"`
	DomainPrefix      string                    `json:"domainPrefix"`
	RequestID         string                    `json:"requestId"`
	ExtendedRequestID string                    `json:"extendedRequestId"`
	Protocol          string                    `json:"protocol"`
	Identity          APIGatewayRequestIdentity `json:"identity"`
	ResourcePath      string                    `json:"resourcePath"`
	Path              string                    `json:"path"`
	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,omitempty"`
	AccountID                     string `json:"accountId,omitempty"`
	CognitoIdentityID             string `json:"cognitoIdentityId,omitempty"`
	Caller                        string `json:"caller,omitempty"`
	APIKey                        string `json:"apiKey,omitempty"`
	APIKeyID                      string `json:"apiKeyId,omitempty"`
	AccessKey                     string `json:"accessKey,omitempty"`
	SourceIP                      string `json:"sourceIp"`
	CognitoAuthenticationType     string `json:"cognitoAuthenticationType,omitempty"`
	CognitoAuthenticationProvider string `json:"cognitoAuthenticationProvider,omitempty"`
	UserArn                       string `json:"userArn,omitempty"` //nolint: stylecheck
	UserAgent                     string `json:"userAgent"`
	User                          string `json:"user,omitempty"`
}

APIGatewayRequestIdentity contains identity information for the request caller.

type APIGatewayV2CustomAuthorizerIAMPolicyResponse added in v1.29.0

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

type APIGatewayV2CustomAuthorizerSimpleResponse added in v1.27.0

type APIGatewayV2CustomAuthorizerSimpleResponse struct {
	IsAuthorized bool                   `json:"isAuthorized"`
	Context      map[string]interface{} `json:"context,omitempty"`
}

APIGatewayV2CustomAuthorizerSimpleResponse represents the simple format of an API Gateway V2 authorization response.

type APIGatewayV2CustomAuthorizerV1Request added in v1.29.0

type APIGatewayV2CustomAuthorizerV1Request struct {
	Version               string                                                  `json:"version"`
	Type                  string                                                  `json:"type"`
	MethodArn             string                                                  `json:"methodArn"` //nolint: stylecheck
	IdentitySource        string                                                  `json:"identitySource"`
	AuthorizationToken    string                                                  `json:"authorizationToken"`
	Resource              string                                                  `json:"resource"`
	Path                  string                                                  `json:"path"`
	HTTPMethod            string                                                  `json:"httpMethod"`
	Headers               map[string]string                                       `json:"headers"`
	QueryStringParameters map[string]string                                       `json:"queryStringParameters"`
	PathParameters        map[string]string                                       `json:"pathParameters"`
	StageVariables        map[string]string                                       `json:"stageVariables"`
	RequestContext        APIGatewayV2CustomAuthorizerV1RequestTypeRequestContext `json:"requestContext"`
}

type APIGatewayV2CustomAuthorizerV1RequestTypeRequestContext added in v1.29.0

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

type APIGatewayV2CustomAuthorizerV2Request added in v1.29.0

type APIGatewayV2CustomAuthorizerV2Request struct {
	Version               string                         `json:"version"`
	Type                  string                         `json:"type"`
	RouteArn              string                         `json:"routeArn"` //nolint: stylecheck
	IdentitySource        []string                       `json:"identitySource"`
	RouteKey              string                         `json:"routeKey"`
	RawPath               string                         `json:"rawPath"`
	RawQueryString        string                         `json:"rawQueryString"`
	Cookies               []string                       `json:"cookies"`
	Headers               map[string]string              `json:"headers"`
	QueryStringParameters map[string]string              `json:"queryStringParameters"`
	RequestContext        APIGatewayV2HTTPRequestContext `json:"requestContext"`
	PathParameters        map[string]string              `json:"pathParameters"`
	StageVariables        map[string]string              `json:"stageVariables"`
}

type APIGatewayV2HTTPRequest added in v1.16.0

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 added in v1.16.0

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"`
	Authentication APIGatewayV2HTTPRequestContextAuthentication         `json:"authentication,omitempty"`
}

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

type APIGatewayV2HTTPRequestContextAuthentication added in v1.25.0

type APIGatewayV2HTTPRequestContextAuthentication struct {
	ClientCert APIGatewayV2HTTPRequestContextAuthenticationClientCert `json:"clientCert"`
}

APIGatewayV2HTTPRequestContextAuthentication contains authentication context information for the request caller including client certificate information if using mTLS.

type APIGatewayV2HTTPRequestContextAuthenticationClientCert added in v1.25.0

type APIGatewayV2HTTPRequestContextAuthenticationClientCert struct {
	ClientCertPem string                                                         `json:"clientCertPem"`
	IssuerDN      string                                                         `json:"issuerDN"`
	SerialNumber  string                                                         `json:"serialNumber"`
	SubjectDN     string                                                         `json:"subjectDN"`
	Validity      APIGatewayV2HTTPRequestContextAuthenticationClientCertValidity `json:"validity"`
}

APIGatewayV2HTTPRequestContextAuthenticationClientCert contains client certificate information for the request caller if using mTLS.

type APIGatewayV2HTTPRequestContextAuthenticationClientCertValidity added in v1.25.0

type APIGatewayV2HTTPRequestContextAuthenticationClientCertValidity struct {
	NotAfter  string `json:"notAfter"`
	NotBefore string `json:"notBefore"`
}

APIGatewayV2HTTPRequestContextAuthenticationClientCertValidity contains client certificate validity information for the request caller if using mTLS.

type APIGatewayV2HTTPRequestContextAuthorizerCognitoIdentity added in v1.20.0

type APIGatewayV2HTTPRequestContextAuthorizerCognitoIdentity struct {
	AMR            []string `json:"amr"`
	IdentityID     string   `json:"identityId"`
	IdentityPoolID string   `json:"identityPoolId"`
}

APIGatewayV2HTTPRequestContextAuthorizerCognitoIdentity contains Cognito identity information for the request context.

type APIGatewayV2HTTPRequestContextAuthorizerDescription added in v1.17.0

type APIGatewayV2HTTPRequestContextAuthorizerDescription struct {
	JWT    *APIGatewayV2HTTPRequestContextAuthorizerJWTDescription `json:"jwt,omitempty"`
	Lambda map[string]interface{}                                  `json:"lambda,omitempty"`
	IAM    *APIGatewayV2HTTPRequestContextAuthorizerIAMDescription `json:"iam,omitempty"`
}

APIGatewayV2HTTPRequestContextAuthorizerDescription contains authorizer information for the request context.

type APIGatewayV2HTTPRequestContextAuthorizerIAMDescription added in v1.20.0

type APIGatewayV2HTTPRequestContextAuthorizerIAMDescription struct {
	AccessKey       string                                                  `json:"accessKey"`
	AccountID       string                                                  `json:"accountId"`
	CallerID        string                                                  `json:"callerId"`
	CognitoIdentity APIGatewayV2HTTPRequestContextAuthorizerCognitoIdentity `json:"cognitoIdentity,omitempty"`
	PrincipalOrgID  string                                                  `json:"principalOrgId"`
	UserARN         string                                                  `json:"userArn"`
	UserID          string                                                  `json:"userId"`
}

APIGatewayV2HTTPRequestContextAuthorizerIAMDescription contains IAM information for the request context.

type APIGatewayV2HTTPRequestContextAuthorizerJWTDescription added in v1.17.0

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

APIGatewayV2HTTPRequestContextAuthorizerJWTDescription contains JWT authorizer information for the request context.

type APIGatewayV2HTTPRequestContextHTTPDescription added in v1.17.0

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 added in v1.17.0

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 added in v1.9.0

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

APIGatewayWebsocketProxyRequest contains data coming from the API Gateway proxy

type APIGatewayWebsocketProxyRequestContext added in v1.9.0

type APIGatewayWebsocketProxyRequestContext struct {
	AccountID            string                    `json:"accountId,omitempty"`
	ResourceID           string                    `json:"resourceId,omitempty"`
	Stage                string                    `json:"stage"`
	RequestID            string                    `json:"requestId"`
	Identity             APIGatewayRequestIdentity `json:"identity"`
	ResourcePath         string                    `json:"resourcePath,omitempty"`
	Authorizer           interface{}               `json:"authorizer,omitempty"`
	HTTPMethod           string                    `json:"httpMethod,omitempty"`
	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,omitempty"`
	EventType            string                    `json:"eventType"`
	ExtendedRequestID    string                    `json:"extendedRequestId"`
	IntegrationLatency   string                    `json:"integrationLatency,omitempty"`
	MessageDirection     string                    `json:"messageDirection"`
	MessageID            interface{}               `json:"messageId,omitempty"`
	RequestTime          string                    `json:"requestTime"`
	RequestTimeEpoch     int64                     `json:"requestTimeEpoch"`
	RouteKey             string                    `json:"routeKey"`
	Status               string                    `json:"status,omitempty"`
	DisconnectStatusCode int64                     `json:"disconnectStatusCode,omitempty"`
	DisconnectReason     *string                   `json:"disconnectReason,omitempty"`
}

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 AccessTokenGeneration added in v1.43.0

type AccessTokenGeneration struct {
	ClaimsToAddOrOverride map[string]string `json:"claimsToAddOrOverride"`
	ClaimsToSuppress      []string          `json:"claimsToSuppress"`
	ScopesToAdd           []string          `json:"scopesToAdd"`
	ScopesToSuppress      []string          `json:"scopesToSuppress"`
}

AccessTokenGeneration allows lambda to modify the access token

type ActiveMQDestination added in v1.22.0

type ActiveMQDestination struct {
	PhysicalName string `json:"physicalName"`
}

type ActiveMQEvent added in v1.22.0

type ActiveMQEvent struct {
	EventSource    string            `json:"eventSource"`
	EventSourceARN string            `json:"eventSourceArn"`
	Messages       []ActiveMQMessage `json:"messages"`
}

type ActiveMQMessage added in v1.22.0

type ActiveMQMessage struct {
	MessageID     string              `json:"messageID"`
	MessageType   string              `json:"messageType"`
	Timestamp     int64               `json:"timestamp"`
	DeliveryMode  int                 `json:"deliveryMode"`
	CorrelationID string              `json:"correlationID"`
	ReplyTo       string              `json:"replyTo"`
	Destination   ActiveMQDestination `json:"destination"`
	Redelivered   bool                `json:"redelivered"`
	Type          string              `json:"type"`
	Expiration    int64               `json:"expiration"`
	Priority      int                 `json:"priority"`
	Data          string              `json:"data"`
	BrokerInTime  int64               `json:"brokerInTime"`
	BrokerOutTime int64               `json:"brokerOutTime"`
	Properties    map[string]string   `json:"properties"`
}

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"`
	CognitoIdentityAuthProvider string   `json:"cognitoIdentityAuthProvider"`
	CognitoIdentityAuthType     string   `json:"cognitoIdentityAuthType"`
	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 AppSyncLambdaAuthorizerRequest added in v1.27.0

type AppSyncLambdaAuthorizerRequest struct {
	AuthorizationToken string                                `json:"authorizationToken"`
	RequestContext     AppSyncLambdaAuthorizerRequestContext `json:"requestContext"`
}

AppSyncLambdaAuthorizerRequest contains an authorization request from AppSync.

type AppSyncLambdaAuthorizerRequestContext added in v1.27.0

type AppSyncLambdaAuthorizerRequestContext struct {
	APIID         string                 `json:"apiId"`
	AccountID     string                 `json:"accountId"`
	RequestID     string                 `json:"requestId"`
	QueryString   string                 `json:"queryString"`
	OperationName string                 `json:"operationName"`
	Variables     map[string]interface{} `json:"variables"`
}

AppSyncLambdaAuthorizerRequestContext contains the parameters of the AppSync invocation which triggered this authorization request.

type AppSyncLambdaAuthorizerResponse added in v1.27.0

type AppSyncLambdaAuthorizerResponse struct {
	IsAuthorized    bool                   `json:"isAuthorized"`
	ResolverContext map[string]interface{} `json:"resolverContext,omitempty"`
	DeniedFields    []string               `json:"deniedFields,omitempty"`
	TTLOverride     *int                   `json:"ttlOverride,omitempty"`
}

AppSyncLambdaAuthorizerResponse represents the expected format of an authorization response to AppSync.

type AppSyncOperation deprecated added in v1.5.0

type AppSyncOperation string

Deprecated: not used by any event schema

const (
	// Deprecated: not used by any event schema
	OperationInvoke AppSyncOperation = "Invoke"
	// Deprecated: not used by any event schema
	OperationBatchInvoke AppSyncOperation = "BatchInvoke"
)

type AppSyncResolverTemplate deprecated added in v1.5.0

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

Deprecated: AppSyncResolverTemplate does not represent resolver events sent by AppSync. Instead directly model your input schema, or use map[string]string, json.RawMessage, interface{}, etc..

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 ClaimsAndScopeOverrideDetails added in v1.43.0

type ClaimsAndScopeOverrideDetails struct {
	IDTokenGeneration     IDTokenGeneration     `json:"idTokenGeneration"`
	AccessTokenGeneration AccessTokenGeneration `json:"accessTokenGeneration"`
	GroupOverrideDetails  GroupConfiguration    `json:"groupOverrideDetails"`
}

ClaimsAndScopeOverrideDetails allows lambda to add, suppress or override V2 claims and scopes in the token

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 ClientVPNConnectionHandlerRequest added in v1.21.0

type ClientVPNConnectionHandlerRequest struct {
	ConnectionID         string `json:"connection-id"`
	EndpointID           string `json:"endpoint-id"`
	CommonName           string `json:"common-name"`
	Username             string `json:"username"`
	OSPlatform           string `json:"platform"`
	OSPlatformVersion    string `json:"platform-version"`
	PublicIP             string `json:"public-ip"`
	ClientOpenVPNVersion string `json:"client-openvpn-version"`
	SchemaVersion        string `json:"schema-version"`
}

type ClientVPNConnectionHandlerResponse added in v1.21.0

type ClientVPNConnectionHandlerResponse struct {
	Allow                             bool     `json:"allow"`
	ErrorMsgOnFailedPostureCompliance string   `json:"error-msg-on-failed-posture-compliance"`
	PostureComplianceStatuses         []string `json:"posture-compliance-statuses"`
	SchemaVersion                     string   `json:"schema-version"`
}

type CloudWatchAlarmSNSPayload added in v1.19.0

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 added in v1.19.0

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 added in v1.19.0

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

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 EventBridge serverless service.

type CloudWatchMetric added in v1.19.0

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

type CloudWatchMetricDataQuery added in v1.19.0

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 added in v1.19.0

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

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

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

CodeBuildArtifact represents the artifact provided to build

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

CodeBuildEnvironment represents the environment for a build

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

CodeBuildEnvironmentVariable encapsulate environment variables for the code build

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

	BuildNumber CodeBuildNumber `json:"build-number,omitempty"`

	Initiator string `json:"initiator"`

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

	Source CodeBuildSource `json:"source"`

	SourceVersion string `json:"source-version"`

	Logs CodeBuildLogs `json:"logs"`

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

CodeBuildEventAdditionalInformation represents additional information to the code build event

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          CodeBuildPhaseType                  `json:"current-phase"`
	CurrentPhaseContext   string                              `json:"current-phase-context"`
	Version               string                              `json:"version"`

	CompletedPhaseStatus   CodeBuildPhaseStatus `json:"completed-phase-status"`
	CompletedPhase         CodeBuildPhaseType   `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 added in v1.13.0

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 CodeBuildNumber added in v1.29.0

type CodeBuildNumber int32

CodeBuildNumber represents the number of the build

func (CodeBuildNumber) MarshalJSON added in v1.29.0

func (n CodeBuildNumber) MarshalJSON() ([]byte, error)

MarshalJSON converts a given CodeBuildNumber to json

func (*CodeBuildNumber) UnmarshalJSON added in v1.29.0

func (n *CodeBuildNumber) UnmarshalJSON(data []byte) error

UnmarshalJSON converts a given json to a CodeBuildNumber

type CodeBuildPhase added in v1.13.0

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

	StartTime CodeBuildTime `json:"start-time"`

	EndTime CodeBuildTime `json:"end-time,omitempty"`

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

	PhaseType CodeBuildPhaseType `json:"phase-type"`

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

CodeBuildPhase represents the phase of a build and its details

type CodeBuildPhaseStatus added in v1.13.0

type CodeBuildPhaseStatus string

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

const (
	CodeBuildPhaseStatusFailed     CodeBuildPhaseStatus = "FAILED"
	CodeBuildPhaseStatusFault      CodeBuildPhaseStatus = "FAULT"
	CodeBuildPhaseStatusInProgress CodeBuildPhaseStatus = "IN_PROGRESS"
	CodeBuildPhaseStatusQueued     CodeBuildPhaseStatus = "QUEUED"
	CodeBuildPhaseStatusStopped    CodeBuildPhaseStatus = "STOPPED"
	CodeBuildPhaseStatusSucceeded  CodeBuildPhaseStatus = "SUCCEEDED"
	CodeBuildPhaseStatusTimedOut   CodeBuildPhaseStatus = "TIMED_OUT"
)

type CodeBuildPhaseType added in v1.13.0

type CodeBuildPhaseType string

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

const (
	CodeBuildPhaseTypeSubmitted       CodeBuildPhaseType = "SUBMITTED"
	CodeBuildPhaseTypeQueued          CodeBuildPhaseType = "QUEUED"
	CodeBuildPhaseTypeProvisioning    CodeBuildPhaseType = "PROVISIONING"
	CodeBuildPhaseTypeDownloadSource  CodeBuildPhaseType = "DOWNLOAD_SOURCE"
	CodeBuildPhaseTypeInstall         CodeBuildPhaseType = "INSTALL"
	CodeBuildPhaseTypePreBuild        CodeBuildPhaseType = "PRE_BUILD"
	CodeBuildPhaseTypeBuild           CodeBuildPhaseType = "BUILD"
	CodeBuildPhaseTypePostBuild       CodeBuildPhaseType = "POST_BUILD"
	CodeBuildPhaseTypeUploadArtifacts CodeBuildPhaseType = "UPLOAD_ARTIFACTS"
	CodeBuildPhaseTypeFinalizing      CodeBuildPhaseType = "FINALIZING"
	CodeBuildPhaseTypeCompleted       CodeBuildPhaseType = "COMPLETED"
)

type CodeBuildSource added in v1.13.0

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

CodeBuildSource represent the code source will be build

type CodeBuildTime added in v1.13.0

type CodeBuildTime time.Time

CodeBuildTime represents the time of the build

func (CodeBuildTime) MarshalJSON added in v1.13.0

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

MarshalJSON converts a given CodeBuildTime to json

func (*CodeBuildTime) UnmarshalJSON added in v1.13.0

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

UnmarshalJSON converts a given json to a CodeBuildTime

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"` //nolint: stylecheck
	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 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"`
	Deleted bool   `json:"deleted,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
const (
	CodeDeployDeploymentStateFailure CodeDeployDeploymentState = "FAILURE"
	CodeDeployDeploymentStateReady   CodeDeployDeploymentState = "READY"
	CodeDeployDeploymentStateStart   CodeDeployDeploymentState = "START"
	CodeDeployDeploymentStateStop    CodeDeployDeploymentState = "STOP"
	CodeDeployDeploymentStateSuccess CodeDeployDeploymentState = "SUCCESS"
)

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

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 CodePipelineActionState added in v1.27.0

type CodePipelineActionState string
const (
	CodePipelineActionStateStarted   CodePipelineActionState = "STARTED"
	CodePipelineActionStateSucceeded CodePipelineActionState = "SUCCEEDED"
	CodePipelineActionStateFailed    CodePipelineActionState = "FAILED"
	CodePipelineActionStateCanceled  CodePipelineActionState = "CANCELED"
)

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 CodePipelineCloudWatchEvent added in v1.27.0

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

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

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

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

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

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

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

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

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

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 = CodePipelineJobEvent

CodePipelineJob has been incorrectly assigned as CodePipelineEvent

This maintains backwards compatability until a v2 release

type CodePipelineEventBridgeEvent added in v1.44.0

type CodePipelineEventBridgeEvent = CodePipelineCloudWatchEvent

type CodePipelineEventDetail added in v1.27.0

type CodePipelineEventDetail struct {
	Pipeline string `json:"pipeline"`

	// From live testing this is always int64 not string as documented
	Version int64 `json:"version"`

	ExecutionID string `json:"execution-id"`

	Stage string `json:"stage"`

	Action string `json:"action"`

	State CodePipelineState `json:"state"`

	Region string `json:"region"`

	Type CodePipelineEventDetailType `json:"type,omitempty"`

	ExecutionResult CodePipelineEventDetailExecutionResult `json:"execution-result,omitempty"`
}

type CodePipelineEventDetailExecutionResult added in v1.39.0

type CodePipelineEventDetailExecutionResult struct {
	ExternalExecutionURL string `json:"external-execution-url"`

	ExternalExecutionSummary string `json:"external-execution-summary"`

	ExternalExecutionID string `json:"external-execution-id"`

	ErrorCode string `json:"error-code,omitempty"`
}

type CodePipelineEventDetailType added in v1.27.0

type CodePipelineEventDetailType struct {
	Owner string `json:"owner"`

	Category string `json:"category"`

	Provider string `json:"provider"`

	// From published EventBridge schema registry this is always int64 not string as documented
	Version int64 `json:"version"`
}

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 CodePipelineJobEvent added in v1.26.0

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

CodePipelineJobEvent contains data from an event sent from AWS CodePipeline

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 CodePipelineStageState added in v1.27.0

type CodePipelineStageState string
const (
	CodePipelineStageStateStarted   CodePipelineStageState = "STARTED"
	CodePipelineStageStateSucceeded CodePipelineStageState = "SUCCEEDED"
	CodePipelineStageStateResumed   CodePipelineStageState = "RESUMED"
	CodePipelineStageStateFailed    CodePipelineStageState = "FAILED"
	CodePipelineStageStateCanceled  CodePipelineStageState = "CANCELED"
)

type CodePipelineState added in v1.27.0

type CodePipelineState string
const (
	CodePipelineStateStarted    CodePipelineState = "STARTED"
	CodePipelineStateSucceeded  CodePipelineState = "SUCCEEDED"
	CodePipelineStateResumed    CodePipelineState = "RESUMED"
	CodePipelineStateFailed     CodePipelineState = "FAILED"
	CodePipelineStateCanceled   CodePipelineState = "CANCELED"
	CodePipelineStateSuperseded CodePipelineState = "SUPERSEDED"
)

type CognitoDatasetRecord

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

CognitoDatasetRecord represents a record from an Amazon 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 Amazon 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 Amazon 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"`
	ClientMetadata map[string]string                       `json:"clientMetadata"`
}

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 Amazon 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"`
	ClientMetadata    map[string]string      `json:"clientMetadata"`
}

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 Amazon 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"`
	ClientMetadata map[string]string                       `json:"clientMetadata"`
	UserNotFound   bool                                    `json:"userNotFound"`
}

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 Amazon Cognito User Pools

type CognitoEventUserPoolsMigrateUser added in v1.11.0

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

CognitoEventUserPoolsMigrateUser is sent by Amazon 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"`
	ValidationData map[string]string `json:"validationData"`
	ClientMetadata map[string]string `json:"clientMetadata"`
}

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 Amazon 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"`
	ClientMetadata map[string]string `json:"clientMetadata"`
}

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 Amazon 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"`
	ClientMetadata map[string]string `json:"clientMetadata"`
}

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 Amazon 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 Amazon 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"`
	ClientMetadata map[string]string `json:"clientMetadata"`
}

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 Amazon 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"`
	ClientMetadata     map[string]string  `json:"clientMetadata"`
}

CognitoEventUserPoolsPreTokenGenRequest contains request portion of PreTokenGen event

type CognitoEventUserPoolsPreTokenGenResponse added in v1.8.0

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

CognitoEventUserPoolsPreTokenGenResponse contains the response portion of a PreTokenGen event

type CognitoEventUserPoolsPreTokenGenV2 added in v1.43.0

type CognitoEventUserPoolsPreTokenGenV2 struct {
	CognitoEventUserPoolsHeader
	Request  CognitoEventUserPoolsPreTokenGenV2Request  `json:"request"`
	Response CognitoEventUserPoolsPreTokenGenV2Response `json:"response"`
}

CognitoEventUserPoolsPreTokenGenV2 is sent by Amazon Cognito User Pools when a user attempts to retrieve credentials, allowing a Lambda to perform insert, suppress or override claims and scopes

type CognitoEventUserPoolsPreTokenGenV2Request added in v1.43.0

type CognitoEventUserPoolsPreTokenGenV2Request struct {
	UserAttributes     map[string]string  `json:"userAttributes"`
	GroupConfiguration GroupConfiguration `json:"groupConfiguration"`
	ClientMetadata     map[string]string  `json:"clientMetadata,omitempty"`
	Scopes             []string           `json:"scopes"`
}

CognitoEventUserPoolsPreTokenGenV2Request contains request portion of V2 PreTokenGen event

type CognitoEventUserPoolsPreTokenGenV2Response added in v1.43.0

type CognitoEventUserPoolsPreTokenGenV2Response struct {
	ClaimsAndScopeOverrideDetails ClaimsAndScopeOverrideDetails `json:"claimsAndScopeOverrideDetails"`
}

CognitoEventUserPoolsPreTokenGenV2Response contains the response portion of a V2 PreTokenGen event

type CognitoEventUserPoolsVerifyAuthChallenge added in v1.12.0

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

CognitoEventUserPoolsVerifyAuthChallenge sent by Amazon 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"`
	ClientMetadata             map[string]string `json:"clientMetadata"`
}

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

MarshalJSON converts a given DurationMinutes to json

func (*DurationMinutes) UnmarshalJSON added in v1.13.0

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

UnmarshalJSON converts a given json to a DurationMinutes

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)

MarshalJSON converts a given DurationSeconds to json

func (*DurationSeconds) UnmarshalJSON added in v1.13.0

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 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) Int64 added in v1.34.0

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

Int64 provides access to an attribute of type Number. DynamoDB sends the values as strings. For convenience this method provides conversion to int. 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 DynamoDBBatchItemFailure added in v1.28.0

type DynamoDBBatchItemFailure struct {
	ItemIdentifier string `json:"itemIdentifier"`
}

DynamoDBBatchItemFailure is the individual record which failed processing.

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"` //nolint: stylecheck

	// 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 DynamoDBEventResponse added in v1.28.0

type DynamoDBEventResponse struct {
	BatchItemFailures []DynamoDBBatchItemFailure `json:"batchItemFailures"`
}

DynamoDBEventResponse is the outer structure to report batch item failures for DynamoDBEvent.

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 DynamoDBTimeWindowEvent added in v1.31.0

type DynamoDBTimeWindowEvent struct {
	DynamoDBEvent
	TimeWindowProperties
}

DynamoDBTimeWindowEvent represents an Amazon Dynamodb event when using time windows ref. https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-windows

type DynamoDBTimeWindowEventResponse added in v1.31.0

type DynamoDBTimeWindowEventResponse struct {
	TimeWindowEventResponseProperties
	BatchItemFailures []DynamoDBBatchItemFailure `json:"batchItemFailures"`
}

DynamoDBTimeWindowEventResponse is the outer structure to report batch item failures for DynamoDBTimeWindowEvent.

type DynamoDBUserIdentity added in v1.1.0

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

type ECRImageActionEvent added in v1.40.0

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

type ECRImageActionEventDetailType added in v1.40.0

type ECRImageActionEventDetailType struct {
	Result         string `json:"result"`
	RepositoryName string `json:"repository-name"`
	ImageDigest    string `json:"image-digest"`
	ActionType     string `json:"action-type"`
	ImageTag       string `json:"image-tag"`
}

type ECRScanEvent added in v1.25.0

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

type ECRScanEventDetailType added in v1.25.0

type ECRScanEventDetailType struct {
	ScanStatus            string                            `json:"scan-status"`
	RepositoryName        string                            `json:"repository-name"`
	FindingSeverityCounts ECRScanEventFindingSeverityCounts `json:"finding-severity-counts"`
	ImageDigest           string                            `json:"image-digest"`
	ImageTags             []string                          `json:"image-tags"`
}

type ECRScanEventFindingSeverityCounts added in v1.25.0

type ECRScanEventFindingSeverityCounts struct {
	Critical      int64 `json:"CRITICAL"`
	High          int64 `json:"HIGH"`
	Medium        int64 `json:"MEDIUM"`
	Low           int64 `json:"LOW"`
	Informational int64 `json:"INFORMATIONAL"`
	Undefined     int64 `json:"UNDEFINED"`
}

type ECSContainerInstanceEvent added in v1.41.0

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

type ECSContainerInstanceEventAttribute added in v1.41.0

type ECSContainerInstanceEventAttribute struct {
	Name string `json:"name"`
}

type ECSContainerInstanceEventDetailType added in v1.41.0

type ECSContainerInstanceEventDetailType struct {
	AgentConnected       bool                                 `json:"agentConnected"`
	Attributes           []ECSContainerInstanceEventAttribute `json:"attributes"`
	ClusterARN           string                               `json:"clusterArn"`
	ContainerInstanceARN string                               `json:"containerInstanceArn"`
	EC2InstanceID        string                               `json:"ec2InstanceId"`
	RegisteredResources  []ECSContainerInstanceEventResource  `json:"registeredResources"`
	RemainingResources   []ECSContainerInstanceEventResource  `json:"remainingResources"`
	Status               string                               `json:"status"`
	Version              int                                  `json:"version"`
	VersionInfo          ECSContainerInstanceEventVersionInfo `json:"versionInfo"`
	UpdatedAt            time.Time                            `json:"updatedAt"`
}

type ECSContainerInstanceEventResource added in v1.41.0

type ECSContainerInstanceEventResource struct {
	Name           string    `json:"name"`
	Type           string    `json:"type"`
	IntegerValue   int       `json:"integerValue,omitempty"`
	StringSetValue []*string `json:"stringSetValue,omitempty"`
}

func (ECSContainerInstanceEventResource) MarshalJSON added in v1.41.0

func (r ECSContainerInstanceEventResource) MarshalJSON() ([]byte, error)

MarshalJSON implements custom marshaling to marshal the struct into JSON format while preserving an empty string slice in `StringSetValue` field.

type ECSContainerInstanceEventVersionInfo added in v1.41.0

type ECSContainerInstanceEventVersionInfo struct {
	AgentHash     string `json:"agentHash"`
	AgentVersion  string `json:"agentVersion"`
	DockerVersion string `json:"dockerVersion"`
}

type ELBContext added in v1.8.1

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

ELBContext contains the information to identify the ARN invoking the lambda

type EventBridgeEvent added in v1.44.0

type EventBridgeEvent = CloudWatchEvent

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 preferred role

type IAMPolicyDocument added in v1.32.0

type IAMPolicyDocument struct {
	Version   string
	Statement []IAMPolicyStatement
}

IAMPolicyDocument represents an IAM policy document.

type IAMPolicyStatement added in v1.1.0

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

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

type IDTokenGeneration added in v1.43.0

type IDTokenGeneration struct {
	ClaimsToAddOrOverride map[string]string `json:"claimsToAddOrOverride"`
	ClaimsToSuppress      []string          `json:"claimsToSuppress"`
}

IDTokenGeneration allows lambda to modify the ID token

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 IoTCoreConnectionMetadata added in v1.32.0

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

type IoTCoreCustomAuthorizerRequest added in v1.32.0

type IoTCoreCustomAuthorizerRequest struct {
	Token              string                     `json:"token"`
	SignatureVerified  bool                       `json:"signatureVerified"`
	Protocols          []string                   `json:"protocols"`
	ProtocolData       *IoTCoreProtocolData       `json:"protocolData,omitempty"`
	ConnectionMetadata *IoTCoreConnectionMetadata `json:"connectionMetadata,omitempty"`
}

IoTCoreCustomAuthorizerRequest represents the request to an IoT Core custom authorizer. See https://docs.aws.amazon.com/iot/latest/developerguide/config-custom-auth.html

type IoTCoreCustomAuthorizerResponse added in v1.32.0

type IoTCoreCustomAuthorizerResponse struct {
	IsAuthenticated          bool                 `json:"isAuthenticated"`
	PrincipalID              string               `json:"principalId"`
	DisconnectAfterInSeconds uint32               `json:"disconnectAfterInSeconds"`
	RefreshAfterInSeconds    uint32               `json:"refreshAfterInSeconds"`
	PolicyDocuments          []*IAMPolicyDocument `json:"policyDocuments"`
}

IoTCoreCustomAuthorizerResponse represents the response from an IoT Core custom authorizer. See https://docs.aws.amazon.com/iot/latest/developerguide/config-custom-auth.html

type IoTCoreHTTPContext added in v1.32.0

type IoTCoreHTTPContext struct {
	Headers     map[string]string `json:"headers,omitempty"`
	QueryString string            `json:"queryString"`
}

type IoTCoreMQTTContext added in v1.32.0

type IoTCoreMQTTContext struct {
	ClientID string `json:"clientId"`
	Password []byte `json:"password"`
	Username string `json:"username"`
}

type IoTCoreProtocolData added in v1.32.0

type IoTCoreProtocolData struct {
	TLS  *IoTCoreTLSContext  `json:"tls,omitempty"`
	HTTP *IoTCoreHTTPContext `json:"http,omitempty"`
	MQTT *IoTCoreMQTTContext `json:"mqtt,omitempty"`
}

type IoTCoreTLSContext added in v1.32.0

type IoTCoreTLSContext struct {
	ServerName string `json:"serverName"`
}

type IoTCustomAuthorizerRequest added in v1.27.0

type IoTCustomAuthorizerRequest struct {
	HTTPContext        *IoTHTTPContext `json:"httpContext,omitempty"`
	MQTTContext        *IoTMQTTContext `json:"mqttContext,omitempty"`
	TLSContext         *IoTTLSContext  `json:"tlsContext,omitempty"`
	AuthorizationToken string          `json:"token"`
	TokenSignature     string          `json:"tokenSignature"`
}

IoTCustomAuthorizerRequest contains data coming in to a custom IoT device gateway authorizer function. Deprecated: Use IoTCoreCustomAuthorizerRequest instead. IoTCustomAuthorizerRequest does not correctly model the request schema

type IoTCustomAuthorizerResponse added in v1.27.0

type IoTCustomAuthorizerResponse struct {
	IsAuthenticated          bool     `json:"isAuthenticated"`
	PrincipalID              string   `json:"principalId"`
	DisconnectAfterInSeconds int32    `json:"disconnectAfterInSeconds"`
	RefreshAfterInSeconds    int32    `json:"refreshAfterInSeconds"`
	PolicyDocuments          []string `json:"policyDocuments"`
}

IoTCustomAuthorizerResponse represents the expected format of an IoT device gateway authorization response. Deprecated: Use IoTCoreCustomAuthorizerResponse. IoTCustomAuthorizerResponse does not correctly model the response schema.

type IoTHTTPContext deprecated added in v1.27.0

type IoTHTTPContext IoTCoreHTTPContext

Deprecated: Use IoTCoreHTTPContext

type IoTMQTTContext deprecated added in v1.27.0

type IoTMQTTContext IoTCoreMQTTContext

Deprecated: Use IoTCoreMQTTContext

type IoTOneClickButtonClicked added in v1.24.0

type IoTOneClickButtonClicked struct {
	ClickType    string `json:"clickType"`
	ReportedTime string `json:"reportedTime"`
}

type IoTOneClickDeviceEvent added in v1.24.0

type IoTOneClickDeviceEvent struct {
	ButtonClicked IoTOneClickButtonClicked `json:"buttonClicked"`
}

type IoTOneClickDeviceInfo added in v1.24.0

type IoTOneClickDeviceInfo struct {
	Attributes    map[string]string `json:"attributes"`
	Type          string            `json:"type"`
	DeviceID      string            `json:"deviceId"`
	RemainingLife float64           `json:"remainingLife"`
}

type IoTOneClickEvent added in v1.24.0

type IoTOneClickEvent struct {
	DeviceEvent   IoTOneClickDeviceEvent   `json:"deviceEvent"`
	DeviceInfo    IoTOneClickDeviceInfo    `json:"deviceInfo"`
	PlacementInfo IoTOneClickPlacementInfo `json:"placementInfo"`
}

IoTOneClickEvent represents a click event published by clicking button type device.

type IoTOneClickPlacementInfo added in v1.24.0

type IoTOneClickPlacementInfo struct {
	ProjectName   string            `json:"projectName"`
	PlacementName string            `json:"placementName"`
	Attributes    map[string]string `json:"attributes"`
	Devices       map[string]string `json:"devices"`
}

type IoTPreProvisionHookRequest added in v1.38.0

type IoTPreProvisionHookRequest struct {
	ClaimCertificateID string            `json:"claimCertificateId"`
	CertificateID      string            `json:"certificateId"`
	CertificatePEM     string            `json:"certificatePem"`
	TemplateARN        string            `json:"templateArn"`
	ClientID           string            `json:"clientId"`
	Parameters         map[string]string `json:"parameters"`
}

IoTPreProvisionHookRequest contains the request parameters for the IoT Pre-Provisioning Hook. See https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html

type IoTPreProvisionHookResponse added in v1.38.0

type IoTPreProvisionHookResponse struct {
	AllowProvisioning  bool              `json:"allowProvisioning"`
	ParameterOverrides map[string]string `json:"parameterOverrides"`
}

IoTPreProvisionHookResponse contains the response parameters for the IoT Pre-Provisioning Hook. See https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html

type IoTTLSContext deprecated added in v1.27.0

type IoTTLSContext IoTCoreTLSContext

Deprecated: Use IotCoreTLSContext

type JSONNumberBytes added in v1.41.0

type JSONNumberBytes []byte

JSONNumberBytes represents array of bytes in Headers field.

func (JSONNumberBytes) MarshalJSON added in v1.41.0

func (b JSONNumberBytes) MarshalJSON() ([]byte, error)

MarshalJSON converts byte array into array of signed integers.

func (*JSONNumberBytes) UnmarshalJSON added in v1.41.0

func (b *JSONNumberBytes) UnmarshalJSON(data []byte) error

UnmarshalJSON converts a given json with potential negative values into byte array.

type KafkaEvent added in v1.20.0

type KafkaEvent struct {
	EventSource      string                   `json:"eventSource"`
	EventSourceARN   string                   `json:"eventSourceArn"`
	Records          map[string][]KafkaRecord `json:"records"`
	BootstrapServers string                   `json:"bootstrapServers"`
}

type KafkaRecord added in v1.20.0

type KafkaRecord struct {
	Topic         string                       `json:"topic"`
	Partition     int64                        `json:"partition"`
	Offset        int64                        `json:"offset"`
	Timestamp     MilliSecondsEpochTime        `json:"timestamp"`
	TimestampType string                       `json:"timestampType"`
	Key           string                       `json:"key,omitempty"`
	Value         string                       `json:"value,omitempty"`
	Headers       []map[string]JSONNumberBytes `json:"headers"`
}

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 KinesisBatchItemFailure added in v1.28.0

type KinesisBatchItemFailure struct {
	ItemIdentifier string `json:"itemIdentifier"`
}

KinesisBatchItemFailure is the individual record which failed processing.

type KinesisEvent

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

type KinesisEventRecord

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

type KinesisEventResponse added in v1.28.0

type KinesisEventResponse struct {
	BatchItemFailures []KinesisBatchItemFailure `json:"batchItemFailures"`
}

KinesisEventResponse is the outer structure to report batch item failures for KinesisEvent.

type KinesisFirehoseEvent

type KinesisFirehoseEvent struct {
	InvocationID           string                       `json:"invocationId"`
	DeliveryStreamArn      string                       `json:"deliveryStreamArn"`      //nolint: stylecheck
	SourceKinesisStreamArn string                       `json:"sourceKinesisStreamArn"` //nolint: stylecheck
	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"`
	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"`
	Metadata KinesisFirehoseResponseRecordMetadata `json:"metadata"`
}

type KinesisFirehoseResponseRecordMetadata added in v1.27.0

type KinesisFirehoseResponseRecordMetadata struct {
	PartitionKeys map[string]string `json:"partitionKeys"`
}

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 KinesisTimeWindowEvent added in v1.31.0

type KinesisTimeWindowEvent struct {
	KinesisEvent
	TimeWindowProperties
}

KinesisTimeWindowEvent represents an Amazon Dynamodb event when using time windows ref. https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-windows

type KinesisTimeWindowEventResponse added in v1.31.0

type KinesisTimeWindowEventResponse struct {
	TimeWindowEventResponseProperties
	BatchItemFailures []KinesisBatchItemFailure `json:"batchItemFailures"`
}

KinesisTimeWindowEventResponse is the outer structure to report batch item failures for KinesisTimeWindowEvent.

type LambdaFunctionURLRequest added in v1.30.0

type LambdaFunctionURLRequest struct {
	Version               string                          `json:"version"` // Version is expected to be `"2.0"`
	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"`
	RequestContext        LambdaFunctionURLRequestContext `json:"requestContext"`
	Body                  string                          `json:"body,omitempty"`
	IsBase64Encoded       bool                            `json:"isBase64Encoded"`
}

LambdaFunctionURLRequest contains data coming from the HTTP request to a Lambda Function URL.

type LambdaFunctionURLRequestContext added in v1.30.0

type LambdaFunctionURLRequestContext struct {
	AccountID    string                                                `json:"accountId"`
	RequestID    string                                                `json:"requestId"`
	Authorizer   *LambdaFunctionURLRequestContextAuthorizerDescription `json:"authorizer,omitempty"`
	APIID        string                                                `json:"apiId"`        // APIID is the Lambda URL ID
	DomainName   string                                                `json:"domainName"`   // DomainName is of the format `"<url-id>.lambda-url.<region>.on.aws"`
	DomainPrefix string                                                `json:"domainPrefix"` // DomainPrefix is the Lambda URL ID
	Time         string                                                `json:"time"`
	TimeEpoch    int64                                                 `json:"timeEpoch"`
	HTTP         LambdaFunctionURLRequestContextHTTPDescription        `json:"http"`
}

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

type LambdaFunctionURLRequestContextAuthorizerDescription added in v1.30.0

type LambdaFunctionURLRequestContextAuthorizerDescription struct {
	IAM *LambdaFunctionURLRequestContextAuthorizerIAMDescription `json:"iam,omitempty"`
}

LambdaFunctionURLRequestContextAuthorizerDescription contains authorizer information for the request context.

type LambdaFunctionURLRequestContextAuthorizerIAMDescription added in v1.30.0

type LambdaFunctionURLRequestContextAuthorizerIAMDescription struct {
	AccessKey string `json:"accessKey"`
	AccountID string `json:"accountId"`
	CallerID  string `json:"callerId"`
	UserARN   string `json:"userArn"`
	UserID    string `json:"userId"`
}

LambdaFunctionURLRequestContextAuthorizerIAMDescription contains IAM information for the request context.

type LambdaFunctionURLRequestContextHTTPDescription added in v1.30.0

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

LambdaFunctionURLRequestContextHTTPDescription contains HTTP information for the request context.

type LambdaFunctionURLResponse added in v1.30.0

type LambdaFunctionURLResponse struct {
	StatusCode      int               `json:"statusCode"`
	Headers         map[string]string `json:"headers"`
	Body            string            `json:"body"`
	IsBase64Encoded bool              `json:"isBase64Encoded"`
	Cookies         []string          `json:"cookies"`
}

LambdaFunctionURLResponse configures the HTTP response to be returned by Lambda Function URL for the request.

type LambdaFunctionURLStreamingResponse added in v1.40.0

type LambdaFunctionURLStreamingResponse struct {
	StatusCode int
	Headers    map[string]string
	Body       io.Reader
	Cookies    []string
	// contains filtered or unexported fields
}

LambdaFunctionURLStreamingResponse models the response to a Lambda Function URL when InvokeMode is RESPONSE_STREAM. If the InvokeMode of the Function URL is BUFFERED (default), use LambdaFunctionURLResponse instead.

Example:

lambda.Start(func() (*events.LambdaFunctionURLStreamingResponse, error) {
	return &events.LambdaFunctionURLStreamingResponse{
		StatusCode: 200,
		Headers: map[string]string{
			"Content-Type": "text/html",
		},
		Body: strings.NewReader("<html><body>Hello World!</body></html>"),
	}, nil
})

Note: This response type requires compiling with `-tags lambda.norpc`, or choosing the `provided` or `provided.al2` runtime.

func (*LambdaFunctionURLStreamingResponse) Close added in v1.40.0

func (*LambdaFunctionURLStreamingResponse) ContentType added in v1.40.0

func (r *LambdaFunctionURLStreamingResponse) ContentType() string

func (*LambdaFunctionURLStreamingResponse) MarshalJSON added in v1.40.0

func (r *LambdaFunctionURLStreamingResponse) MarshalJSON() ([]byte, error)

func (*LambdaFunctionURLStreamingResponse) Read added in v1.40.0

func (r *LambdaFunctionURLStreamingResponse) Read(p []byte) (n int, err error)

type LexAlternativeIntents added in v1.23.0

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

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"`
	NLUIntentConfidenceScore float64               `json:"nluIntentConfidenceScore,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"`
	AlternativeIntents []LexAlternativeIntents `json:"alternativeIntents,omitempty"`
	// Deprecated: the DialogAction field is never populated by Lex events
	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 RFC3339EpochTime added in v1.31.0

type RFC3339EpochTime struct {
	time.Time
}

RFC3339EpochTime serializes a time.Time in JSON as an ISO 8601 string.

func (RFC3339EpochTime) MarshalJSON added in v1.31.0

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

func (*RFC3339EpochTime) UnmarshalJSON added in v1.31.0

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

type RabbitMQBasicProperties added in v1.27.0

type RabbitMQBasicProperties struct {
	ContentType     string                 `json:"contentType"`
	ContentEncoding *string                `json:"contentEncoding"`
	Headers         map[string]interface{} `json:"headers"` // Application or header exchange table
	DeliveryMode    uint8                  `json:"deliveryMode"`
	Priority        uint8                  `json:"priority"`
	CorrelationID   *string                `json:"correlationId"`
	ReplyTo         *string                `json:"replyTo"`
	Expiration      string                 `json:"expiration"`
	MessageID       *string                `json:"messageId"`
	Timestamp       string                 `json:"timestamp"`
	Type            *string                `json:"type"`
	UserID          string                 `json:"userId"`
	AppID           *string                `json:"appId"`
	ClusterID       *string                `json:"clusterId"`
	BodySize        uint64                 `json:"bodySize"`
}

type RabbitMQEvent added in v1.27.0

type RabbitMQEvent struct {
	EventSource     string                       `json:"eventSource"`
	EventSourceARN  string                       `json:"eventSourceArn"`
	MessagesByQueue map[string][]RabbitMQMessage `json:"rmqMessagesByQueue"`
}

type RabbitMQMessage added in v1.27.0

type RabbitMQMessage struct {
	BasicProperties RabbitMQBasicProperties `json:"basicProperties"`
	Data            string                  `json:"data"`
	Redelivered     bool                    `json:"redelivered"`
}

type S3BatchJob added in v1.12.0

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

S3BatchJob whichs have the job 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"`
}

S3BatchJobEvent encapsulates the detail of a s3 batch job

type S3BatchJobEventV2 added in v1.46.0

type S3BatchJobEventV2 struct {
	InvocationSchemaVersion string             `json:"invocationSchemaVersion"`
	InvocationID            string             `json:"invocationId"`
	Job                     S3BatchJobV2       `json:"job"`
	Tasks                   []S3BatchJobTaskV2 `json:"tasks"`
}

S3BatchJobEventV2 encapsulates the detail of a s3 batch job

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

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

type S3BatchJobResult added in v1.12.0

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 added in v1.12.0

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 S3BatchJobTaskV2 added in v1.46.0

type S3BatchJobTaskV2 struct {
	TaskID      string `json:"taskId"`
	S3Key       string `json:"s3Key"`
	S3VersionID string `json:"s3VersionId"`
	S3Bucket    string `json:"s3Bucket"`
}

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

type S3BatchJobV2 added in v1.46.0

type S3BatchJobV2 struct {
	ID            string            `json:"id"`
	UserArguments map[string]string `json:"userArguments"`
}

S3BatchJobV2 whichs have the job id

type S3Bucket

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

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

func (*S3Object) UnmarshalJSON added in v1.21.0

func (o *S3Object) UnmarshalJSON(data []byte) error

type S3ObjectLambdaConfiguration added in v1.44.0

type S3ObjectLambdaConfiguration struct {
	AccessPointARN           string `json:"accessPointArn"`
	SupportingAccessPointARN string `json:"supportingAccessPointArn"`
	Payload                  string `json:"payload"`
}

type S3ObjectLambdaEvent added in v1.44.0

type S3ObjectLambdaEvent struct {
	XAmzRequestID        string                              `json:"xAmzRequestId"`
	GetObjectContext     *S3ObjectLambdaGetObjectContext     `json:"getObjectContext,omitempty"`
	ListObjectsContext   *S3ObjectLambdaListObjectsContext   `json:"listObjectsContext,omitempty"`
	ListObjectsV2Context *S3ObjectLambdaListObjectsV2Context `json:"listObjectsV2Context,omitempty"`
	HeadObjectContext    *S3ObjectLambdaHeadObjectContext    `json:"headObjectContext,omitempty"`
	Configuration        S3ObjectLambdaConfiguration         `json:"configuration"`
	UserRequest          S3ObjectLambdaUserRequest           `json:"userRequest"`
	UserIdentity         S3ObjectLambdaUserIdentity          `json:"userIdentity"`
	ProtocolVersion      string                              `json:"protocolVersion"`
}

type S3ObjectLambdaGetObjectContext added in v1.44.0

type S3ObjectLambdaGetObjectContext struct {
	InputS3URL  string `json:"inputS3Url"`
	OutputRoute string `json:"outputRoute"`
	OutputToken string `json:"outputToken"`
}

type S3ObjectLambdaHeadObjectContext added in v1.44.0

type S3ObjectLambdaHeadObjectContext struct {
	InputS3URL string `json:"inputS3Url"`
}

type S3ObjectLambdaListObjectsContext added in v1.44.0

type S3ObjectLambdaListObjectsContext struct {
	InputS3URL string `json:"inputS3Url"`
}

type S3ObjectLambdaListObjectsV2Context added in v1.44.0

type S3ObjectLambdaListObjectsV2Context struct {
	InputS3URL string `json:"inputS3Url"`
}

type S3ObjectLambdaSessionContext added in v1.44.0

type S3ObjectLambdaSessionContext struct {
	Attributes    map[string]string            `json:"attributes"`
	SessionIssuer *S3ObjectLambdaSessionIssuer `json:"sessionIssuer,omitempty"`
}

type S3ObjectLambdaSessionIssuer added in v1.44.0

type S3ObjectLambdaSessionIssuer struct {
	Type        string `json:"type"`
	PrincipalID string `json:"principalId"`
	ARN         string `json:"arn"`
	AccountID   string `json:"accountId"`
	UserName    string `json:"userName"`
}

type S3ObjectLambdaUserIdentity added in v1.44.0

type S3ObjectLambdaUserIdentity struct {
	Type           string                        `json:"type"`
	PrincipalID    string                        `json:"principalId"`
	ARN            string                        `json:"arn"`
	AccountID      string                        `json:"accountId"`
	AccessKeyID    string                        `json:"accessKeyId"`
	SessionContext *S3ObjectLambdaSessionContext `json:"sessionContext,omitempty"`
}

type S3ObjectLambdaUserRequest added in v1.44.0

type S3ObjectLambdaUserRequest struct {
	URL     string            `json:"url"`
	Headers map[string]string `json:"headers"`
}

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"` //nolint: stylecheck
	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"` //nolint: stylecheck
	EventSource          string    `json:"EventSource"`
	SNS                  SNSEntity `json:"Sns"`
}

type SQSBatchItemFailure added in v1.28.0

type SQSBatchItemFailure struct {
	ItemIdentifier string `json:"itemIdentifier"`
}

SQSBatchItemFailure is the individual record which failed processing.

type SQSEvent added in v1.3.0

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

type SQSEventResponse added in v1.28.0

type SQSEventResponse struct {
	BatchItemFailures []SQSBatchItemFailure `json:"batchItemFailures"`
}

SQSEventResponse is the outer structure to report batch item failures for SQSEvent.

type SQSMessage added in v1.3.0

type SQSMessage struct {
	MessageId              string                         `json:"messageId"` //nolint: stylecheck
	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 SecretsManagerSecretRotationEvent added in v1.42.0

type SecretsManagerSecretRotationEvent struct {
	Step               string `json:"Step"`
	SecretID           string `json:"SecretId"`
	ClientRequestToken string `json:"ClientRequestToken"`
}

SecretsManagerSecretRotationEvent is the event passed to a Lambda function to handle automatic secret rotation.

https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html#rotate-secrets_how

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 TimeWindowEventResponseProperties added in v1.31.0

type TimeWindowEventResponseProperties struct {
	// State being built up to this invoke in the time window.
	State map[string]string `json:"state"`
}

TimeWindowEventResponseProperties is the object that captures response properties that relate to the tumbling windows feature Kinesis: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-windows DDB: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-windows

type TimeWindowProperties added in v1.31.0

type TimeWindowProperties struct {
	// Time window for the records in the event.
	Window Window `json:"window"`

	// State being built up to this invoke in the time window.
	State map[string]string `json:"state"`

	// Shard id of the records
	ShardID string `json:"shardId"`

	// The event source ARN of the service that generated the event (eg. DynamoDB or Kinesis)
	EventSourceARN string `json:"eventSourceARN"`

	// Set to true for the last invoke of the time window.
	// Subsequent invoke will start a new time window along with a fresh state.
	IsFinalInvokeForWindow bool `json:"isFinalInvokeForWindow"`

	// Set to true if window is terminated prematurely.
	// Subsequent invoke will continue the same window with a fresh state.
	IsWindowTerminatedEarly bool `json:"isWindowTerminatedEarly"`
}

TimeWindowProperties is the object that captures properties that relate to the tumbling windows feature Kinesis: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-windows DDB: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-windows

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

type Window added in v1.31.0

type Window struct {
	Start RFC3339EpochTime `json:"start"`
	End   RFC3339EpochTime `json:"end"`
}

Window is the object that captures the time window for the records in the event when using the tumbling windows feature Kinesis: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-windows DDB: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-windows

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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