package resource import ( "errors" helmprovider "github.com/aws-quickstart/quickstart-helm-resource-provider/cmd/resource" "github.com/aws-cloudformation/cloudformation-cli-go-plugin/cfn/handler" ) // Create handles the Create event from the Cloudformation service. func Create(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) { newModel, _ := transformModel(req, currentModel) return helmprovider.Create(req, &helmprovider.Model{}, newModel) } // Read handles the Read event from the Cloudformation service. func Read(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) { newModel, _ := transformModel(req, currentModel) return helmprovider.Read(req, &helmprovider.Model{}, newModel) } // Update handles the Update event from the Cloudformation service. func Update(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) { newModel, _ := transformModel(req, currentModel) return helmprovider.Update(req, &helmprovider.Model{}, newModel) } // Delete handles the Delete event from the Cloudformation service. func Delete(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) { newModel, _ := transformModel(req, currentModel) return helmprovider.Delete(req, &helmprovider.Model{}, newModel) } // List handles the List event from the Cloudformation service. func List(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) { // Add your code here: // * Make API calls (use req.Session) // * Mutate the model // * Check/set any callback context (req.CallbackContext / response.CallbackContext) /* // Construct a new handler.ProgressEvent and return it response := handler.ProgressEvent{ OperationStatus: handler.Success, Message: "List complete", ResourceModel: currentModel, } return response, nil */ // Not implemented, return an empty handler.ProgressEvent // and an error return handler.ProgressEvent{}, errors.New("Not implemented: List") }