func readRuleGroupsNamespaceDefinition()

in aws-aps-rulegroupsnamespace/cmd/resource/resource.go [213:238]


func readRuleGroupsNamespaceDefinition(
	client *prometheusservice.PrometheusService,
	currentModel *Model,
) (*prometheusservice.RuleGroupsNamespaceStatus, error) {
	arn, workspaceID, err := internal.ParseARN(*currentModel.Arn)
	if err != nil {
		return nil, err
	}

	resourceParts := strings.Split(arn.Resource, "/")
	currentModel.Name = aws.String(resourceParts[len(resourceParts)-1])

	data, err := client.DescribeRuleGroupsNamespace(&prometheusservice.DescribeRuleGroupsNamespaceInput{
		WorkspaceId: aws.String(workspaceID),
		Name:        currentModel.Name,
	})
	if err != nil {
		return nil, err
	}

	arn.Resource = fmt.Sprintf("workspace/%s", workspaceID)
	currentModel.Workspace = aws.String(arn.String())
	currentModel.Data = aws.String(string(data.RuleGroupsNamespace.Data))
	currentModel.Tags = stringMapToTags(data.RuleGroupsNamespace.Tags)
	return data.RuleGroupsNamespace.Status, nil
}