in aws-aps-workspace/cmd/resource/resource.go [365:404]
func List(req handler.Request, prevModel *Model, currentModel *Model) (handler.ProgressEvent, error) {
var nextToken *string
if req.RequestContext.NextToken != "" {
nextToken = &req.RequestContext.NextToken
}
resp, err := internal.NewAPS(req.Session).ListWorkspaces(&prometheusservice.ListWorkspacesInput{
NextToken: nextToken,
})
if err != nil {
return handler.ProgressEvent{
OperationStatus: handler.Failed,
Message: "Internal Failure",
HandlerErrorCode: cloudformation.HandlerErrorCodeGeneralServiceException,
}, err
}
models := make([]interface{}, 0, len(resp.Workspaces))
for _, ws := range resp.Workspaces {
models = append(models, Model{
WorkspaceId: ws.WorkspaceId,
Alias: ws.Alias,
Arn: ws.Arn,
Tags: stringMapToTags(ws.Tags),
})
}
var responseNextToken string
if resp.NextToken != nil {
responseNextToken = *resp.NextToken
}
return handler.ProgressEvent{
OperationStatus: handler.Success,
Message: "List complete",
ResourceModels: models,
NextToken: responseNextToken,
}, nil
}