in aws-aps-workspace/cmd/resource/resource.go [106:135]
func Read(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) {
// contract test: contract_read_without_create
if currentModel.Arn == nil {
return handler.ProgressEvent{
OperationStatus: handler.Failed,
Message: "Invalid Read: workspace Arn cannot be empty",
HandlerErrorCode: cloudformation.HandlerErrorCodeNotFound,
}, nil
}
client := internal.NewAPS(req.Session)
if _, err := readWorkspace(client, currentModel); err != nil {
return internal.NewFailedEvent(err)
}
if _, err := readAlertManagerDefinition(client, currentModel); err != nil {
if awsErr, ok := err.(awserr.Error); ok {
if awsErr.Code() != prometheusservice.ErrCodeResourceNotFoundException {
return internal.NewFailedEvent(err)
}
} else {
return internal.NewFailedEvent(err)
}
}
return handler.ProgressEvent{
OperationStatus: handler.Success,
Message: "Read Complete",
ResourceModel: currentModel,
}, nil
}