{"record":{"id":"190b324902d5b2f3","repo":"kubernetes/kops","slug":"cannot-apply-changes-to-ip-address-v","errorCode":null,"errorMessage":"cannot apply changes to IP Address: %v","messagePattern":"cannot apply changes to IP Address: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/gcetasks/address.go","lineNumber":193,"sourceCode":"\t}\n\n\tif e.Subnetwork != nil {\n\t\taddr.Subnetwork = e.Subnetwork.URL(t.Cloud.Project(), t.Cloud.Region())\n\t}\n\n\tif a == nil {\n\t\tklog.V(2).Infof(\"Creating Address: %q\", addr.Name)\n\n\t\top, err := cloud.Compute().Addresses().Insert(cloud.Project(), cloud.Region(), addr)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error creating IP Address: %v\", err)\n\t\t}\n\n\t\tif err := cloud.WaitForOp(op); err != nil {\n\t\t\treturn fmt.Errorf(\"error waiting for IP Address: %v\", err)\n\t\t}\n\t} else {\n\t\treturn fmt.Errorf(\"cannot apply changes to IP Address: %v\", changes)\n\t}\n\n\treturn nil\n}\n\ntype terraformAddress struct {\n\tName        *string                  `cty:\"name\"`\n\tAddressType *string                  `cty:\"address_type\"`\n\tPurpose     *string                  `cty:\"purpose\"`\n\tSubnetwork  *terraformWriter.Literal `cty:\"subnetwork\"`\n}\n\nfunc (_ *Address) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Address) error {\n\ttf := &terraformAddress{\n\t\tName:        e.Name,\n\t\tAddressType: e.IPAddressType,\n\t\tPurpose:     e.Purpose,\n\t}","sourceCodeStart":175,"sourceCodeEnd":211,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/gcetasks/address.go#L175-L211","documentation":"Returned from Address.RenderGCE when the address already exists (a != nil) and the computed diff is non-empty. The GCE address task only supports create — there is no code path to mutate an existing static IP, so any detected change is rejected.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/gcetasks/address.go:193 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Identify the changed field(s) in the printed diff and adjust the cluster spec to match the existing address","Delete the address out-of-band (gcloud compute addresses delete) if it must be recreated, then re-run apply","Check for manual edits or drift on the GCE address that conflict with the spec"],"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-12T12:17:11.808Z"}