{"record":{"id":"12ed1a90f2826b29","repo":"kubernetes/kops","slug":"use-kops-get-keypairs-instead","errorCode":null,"errorMessage":"use 'kops get keypairs' instead","messagePattern":"use 'kops get keypairs' instead","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/kops/get_secrets.go","lineNumber":108,"sourceCode":"\t\tfor _, item := range items {\n\t\t\tif nameSet.Has(item) {\n\t\t\t\tmatches = append(matches, item)\n\t\t\t}\n\t\t}\n\t\titems = matches\n\t}\n\n\treturn items, nil\n}\n\nfunc RunGetSecrets(ctx context.Context, f *util.Factory, out io.Writer, options *GetSecretsOptions) error {\n\tswitch strings.ToLower(options.Type) {\n\tcase \"\", \"secret\":\n\t// OK\n\tcase \"sshpublickey\":\n\t\treturn fmt.Errorf(\"use 'kops get sshpublickey' instead\")\n\tcase \"keypair\":\n\t\treturn fmt.Errorf(\"use 'kops get keypairs' instead\")\n\tdefault:\n\t\treturn fmt.Errorf(\"unknown secret type %q\", options.Type)\n\t}\n\n\tclientset, err := f.KopsClient()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tcluster, err := GetCluster(ctx, f, options.ClusterName)\n\tif err != nil {\n\t\treturn err\n\t}\n\tsecretStore, err := clientset.SecretStore(cluster)\n\tif err != nil {\n\t\treturn err\n\t}\n","sourceCodeStart":90,"sourceCodeEnd":126,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/cmd/kops/get_secrets.go#L90-L126","documentation":"RunGetSecrets rejects the type 'keypair' because keypair management moved to dedicated `kops get keypairs` / keystore commands. The legacy `kops get secrets --type keypair` path is no longer supported.","triggerScenarios":"Running `kops get secrets --type keypair` (case-insensitive match).","commonSituations":"Older scripts or documentation from kops versions where keypairs were stored as secrets; users looking to rotate cluster CA or service-account keys via the secrets interface.","solutions":["Run `kops get keypairs` instead of `kops get secrets --type keypair`","Update automation scripts to use the dedicated keypairs subcommand"],"exampleFix":"// before\nkops get secrets --type keypair\n\n// after\nkops get keypairs","handlingStrategy":"validation","validationCode":"if [ \"$SECRET_TYPE\" = \"keypair\" ]; then\n  echo \"use 'kops get keypairs' instead\"; exit 1\nfi","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Migrate scripts to the dedicated `kops get keypairs` subcommand","Check `kops get secrets --help` for currently supported types"],"tags":["cli","kops","deprecated-command","keypairs"],"backgroundTag":"deprecated-command","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"}