func List()

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
}