kubernetes/kops · error
error parsing actual Policy for SQS %q: %v
Error message
error parsing actual Policy for SQS %q: %v
What it means
The queue's actual Policy attribute on AWS is not valid JSON, so the normalized expected-vs-actual policy comparison fails; the queue carries a hand-edited or corrupted policy.
Source
Thrown at upup/pkg/fi/cloudup/awstasks/sqs.go:116
if err != nil {
return nil, fmt.Errorf("error listing SQS queue tags: %v", err)
}
// We parse both as JSON; if the json forms are equal we pretend the actual value is the expected value
if q.Policy != nil {
expectedPolicy, err := fi.ResourceAsString(q.Policy)
if err != nil {
return nil, fmt.Errorf("error reading expected Policy for SQS %q: %v", aws.ToString(q.Name), err)
}
expectedJson := make(map[string]interface{})
err = json.Unmarshal([]byte(expectedPolicy), &expectedJson)
if err != nil {
return nil, fmt.Errorf("error parsing expected Policy for SQS %q: %v", aws.ToString(q.Name), err)
}
actualJson := make(map[string]interface{})
err = json.Unmarshal([]byte(actualPolicy), &actualJson)
if err != nil {
return nil, fmt.Errorf("error parsing actual Policy for SQS %q: %v", aws.ToString(q.Name), err)
}
if err := normalizePolicy(expectedJson); err != nil {
return nil, err
}
if err := normalizePolicy(actualJson); err != nil {
return nil, err
}
if reflect.DeepEqual(actualJson, expectedJson) {
klog.V(2).Infof("actual Policy was json-equal to expected; returning expected value")
actualPolicy = expectedPolicy
q.Policy = fi.NewStringResource(expectedPolicy)
}
}
actual := &SQS{View on GitHub (pinned to 4c8573c808)
Solutions
- Fix or clear the queue's Policy attribute in AWS so it is valid JSON
- Or align the expected policy so it matches and overwrites the malformed one
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/awstasks/sqs.go:116 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/46a8f709450bc0ee.
Report an issue: GitHub.