Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CustomResourceFunction ¶
type CustomResourceFunction func(context.Context, Event) (physicalResourceID string, data map[string]interface{}, err error)
CustomResourceFunction is a representation of the customer's Custom Resource function. LambdaWrap will take the returned values and turn them into a response to be sent to CloudFormation.
type CustomResourceLambdaFunction ¶
CustomResourceLambdaFunction is a standard form Lambda for a Custom Resource.
func LambdaWrap ¶
func LambdaWrap(lambdaFunction CustomResourceFunction) (fn CustomResourceLambdaFunction)
LambdaWrap returns a CustomResourceLambdaFunction which is something lambda.Start() will understand. The purpose of doing this is so that Response Handling boiler plate is taken away from the customer and it makes writing a Custom Resource simpler.
func myLambda(ctx context.Context, event cfn.Event) (physicalResourceID string, data map[string]interface{}, err error) { physicalResourceID = "arn:...." return } func main() { lambda.Start(cfn.LambdaWrap(myLambda)) }
type Event ¶
type Event struct { RequestType RequestType `json:"RequestType"` RequestID string `json:"RequestId"` ResponseURL string `json:"ResponseURL"` ResourceType string `json:"ResourceType"` PhysicalResourceID string `json:"PhysicalResourceId,omitempty"` LogicalResourceID string `json:"LogicalResourceId"` StackID string `json:"StackId"` ResourceProperties map[string]interface{} `json:"ResourceProperties"` OldResourceProperties map[string]interface{} `json:"OldResourceProperties,omitempty"` }
Event is a representation of a Custom Resource request
type RequestType ¶
type RequestType string
RequestType represents the types of requests that come from a CloudFormation stack being run
const ( RequestCreate RequestType = "Create" RequestUpdate RequestType = "Update" RequestDelete RequestType = "Delete" )
type Response ¶
type Response struct { Status StatusType `json:"Status"` RequestID string `json:"RequestId"` LogicalResourceID string `json:"LogicalResourceId"` StackID string `json:"StackId"` PhysicalResourceID string `json:"PhysicalResourceId"` Reason string `json:"Reason,omitempty"` NoEcho bool `json:"NoEcho,omitempty"` Data map[string]interface{} `json:"Data,omitempty"` // contains filtered or unexported fields }
Response is a representation of a Custom Resource response expected by CloudFormation.
func NewResponse ¶
NewResponse creates a Response with the relevant verbatim copied data from a Event
type StatusType ¶
type StatusType string
StatusType represents a CloudFormation response status
const ( StatusSuccess StatusType = "SUCCESS" StatusFailed StatusType = "FAILED" )