in cfn-resources/project/cmd/resource/resource.go [57:114]
func Read(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) {
setup()
//spew.Dump(currentModel)
client, err := util.CreateMongoDBClient(*currentModel.ApiKeys.PublicKey, *currentModel.ApiKeys.PrivateKey)
if err != nil {
//return handler.ProgressEvent{}, err
return handler.ProgressEvent{
Message: err.Error(),
HandlerErrorCode: cloudformation.HandlerErrorCodeNotFound}, err
}
name := *currentModel.Name
if len(name) > 0 {
project, _, err := client.Projects.GetOneProjectByName(context.Background(), name)
if err != nil {
return handler.ProgressEvent{
OperationStatus: handler.Failed,
Message: "Resource Not Found",
HandlerErrorCode: cloudformation.HandlerErrorCodeNotFound}, nil
}
currentModel.Name = &project.Name
currentModel.OrgId = &project.OrgID
currentModel.Created = &project.Created
currentModel.ClusterCount = &project.ClusterCount
if err == nil {
return handler.ProgressEvent{
OperationStatus: handler.Success,
Message: "Read Complete",
ResourceModel: currentModel,
}, nil
}
}
id := *currentModel.Id
log.Debugf("Looking for project: %s", id)
project, _, err := client.Projects.GetOneProject(context.Background(), id)
if err != nil {
//return handler.ProgressEvent{}, fmt.Errorf(
log.Debugf("Read - error reading project with id(%s): %s", id, err)
return handler.ProgressEvent{
OperationStatus: handler.Failed,
Message: "Resource Not Found",
HandlerErrorCode: cloudformation.HandlerErrorCodeNotFound}, nil
}
currentModel.Name = &project.Name
currentModel.OrgId = &project.OrgID
currentModel.Created = &project.Created
currentModel.ClusterCount = &project.ClusterCount
return handler.ProgressEvent{
OperationStatus: handler.Success,
Message: "Read Complete",
ResourceModel: currentModel,
}, nil
}