{"record":{"id":"bc23d9d3e083c425","repo":"kubernetes/kops","slug":"found-multiple-vpcs-for-cluster-q-v","errorCode":null,"errorMessage":"found multiple VPCs for cluster %q: %v","messagePattern":"found multiple VPCs for cluster %q: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/resources/aws/vpc.go","lineNumber":101,"sourceCode":"\t\t\tFilters: filters,\n\t\t}\n\t\tresponse, err := c.EC2().DescribeVpcs(ctx, request)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"error listing VPCs: %v\", err)\n\t\t}\n\n\t\tfor _, vpc := range response.Vpcs {\n\t\t\tvpcs[aws.ToString(vpc.VpcId)] = &vpc\n\t\t}\n\t}\n\n\tswitch len(vpcs) {\n\tcase 0:\n\t\treturn nil, nil\n\tcase 1:\n\t\treturn vpcs[slices.Collect(maps.Keys(vpcs))[0]], nil\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"found multiple VPCs for cluster %q: %v\", clusterName, slices.Collect(maps.Keys(vpcs)))\n\t}\n}\n\nfunc ListVPCs(cloud fi.Cloud, clusterName string) ([]*resources.Resource, error) {\n\tvpc, err := DescribeVPC(cloud, clusterName)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar resourceTrackers []*resources.Resource\n\tif vpc != nil {\n\t\tvpcID := aws.ToString(vpc.VpcId)\n\n\t\tresourceTracker := &resources.Resource{\n\t\t\tName:    FindName(vpc.Tags),\n\t\t\tID:      vpcID,\n\t\t\tType:    string(ec2types.ResourceTypeVpc),\n\t\t\tDeleter: DeleteVPC,","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/pkg/resources/aws/vpc.go#L83-L119","documentation":"Fires in DescribeVPC when more than one VPC carries the cluster's tags, so discovery cannot determine which single VPC belongs to the cluster. The input at fault is the AWS environment: duplicate or leftover tagged VPCs (e.g. from a partial delete or reused cluster name).","triggerScenarios":"Thrown at pkg/resources/aws/vpc.go:101 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Identify and remove the stale/duplicate VPC tagged with the cluster name","Check for a reused cluster name across regions or accounts","Manually tag exactly one VPC with the cluster tag and remove tags from the other"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T07:17:12.445Z"}