kubernetes/kops · error

resourceID not provided to getTags

Error message

resourceID not provided to getTags

What it means

Guard error: getTags was called with an empty resourceID, so the DescribeTags filter would match nothing meaningful. The caller passed a blank resource identifier; this is a programming error, not an AWS failure.

Source

Thrown at upup/pkg/fi/cloudup/awsup/aws_cloud.go:1198

	isEventualConsistency, found := tagsEventualConsistencyErrors[errCode]
	if found {
		return isEventualConsistency
	}
	if errCode != "" {
		klog.Warningf("Uncategorized error in isTagsEventualConsistencyError: %v", errCode)
	}
	return false
}

// GetTags will fetch the tags for the specified resource,
// retrying (up to MaxDescribeTagsAttempts) if it hits an eventual-consistency type error
func (c *awsCloudImplementation) GetTags(resourceID string) (map[string]string, error) {
	return getTags(c, resourceID)
}

func getTags(c AWSCloud, resourceID string) (map[string]string, error) {
	if resourceID == "" {
		return nil, fmt.Errorf("resourceID not provided to getTags")
	}
	ctx := context.TODO()

	tags := map[string]string{}

	request := &ec2.DescribeTagsInput{
		Filters: []ec2types.Filter{
			NewEC2Filter("resource-id", resourceID),
		},
	}

	attempt := 0
	for {
		attempt++

		response, err := c.EC2().DescribeTags(ctx, request, func(o *ec2.Options) {
			o.RetryMaxAttempts = DescribeTagsMaxAttempts
		})

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Fix the caller to pass a non-empty EC2 resource ID (instance/volume/AMI id)
  2. Add a check at the call site before invoking GetTags
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/awsup/aws_cloud.go:1198 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/8620001332612b9d. Report an issue: GitHub.