diff --git a/command-signatures/json/oc.json b/command-signatures/json/oc.json new file mode 100644 index 00000000..709bab76 --- /dev/null +++ b/command-signatures/json/oc.json @@ -0,0 +1,8945 @@ +{ + "name": "oc", + "description": "OpenShift Client", + "subcommands": [ + { + "name": "adm", + "description": "Tools for managing a cluster", + "subcommands": [ + { + "name": "top", + "description": "Show usage statistics of resources on the server", + "subcommands": [ + { + "name": "node", + "description": "Display resource usage of nodes", + "args": { + "name": "NODE", + "isOptional": true, + "generatorName": "node" + } + }, + { + "name": "pod", + "description": "Display resource usage of pods", + "args": { + "name": "POD", + "isOptional": true, + "generatorName": "running_pods" + } + }, + { + "name": "images", + "description": "Show usage statistics for images" + } + ] + }, + { + "name": "cordon", + "description": "Mark node as unschedulable", + "args": { + "name": "NODE", + "generatorName": "node" + } + }, + { + "name": "uncordon", + "description": "Mark node as schedulable", + "args": { + "name": "NODE", + "generatorName": "node" + } + }, + { + "name": "drain", + "description": "Drain node in preparation for maintenance", + "args": { + "name": "NODE", + "generatorName": "node" + }, + "options": [ + { + "name": "--force", + "description": "Continue even if there are pods not managed by a controller" + }, + { + "name": "--ignore-daemonsets", + "description": "Ignore DaemonSet-managed pods" + }, + { + "name": "--delete-emptydir-data", + "description": "Continue even if there are pods using emptyDir" + }, + { + "name": "--grace-period", + "description": "Period of time to give each pod to terminate gracefully", + "args": { + "name": "SECONDS" + } + }, + { + "name": "--timeout", + "description": "The length of time to wait before giving up", + "args": { + "name": "DURATION" + } + } + ] + }, + { + "name": "taint", + "description": "Update the taints on one or more nodes", + "args": [ + { + "name": "NODE", + "generatorName": "node" + }, + { + "name": "TAINT", + "description": "Taint in key=value:effect format", + "isVariadic": true + } + ] + }, + { + "name": "node-logs", + "description": "Display and filter node logs", + "args": { + "name": "NODE", + "isOptional": true, + "generatorName": "node" + } + }, + { + "name": "must-gather", + "description": "Launch a new instance of a pod for gathering debug information", + "options": [ + { + "name": "--image", + "description": "Image to use for must-gather", + "args": { + "name": "IMAGE" + } + }, + { + "name": "--dest-dir", + "description": "Set a specific directory on the local machine to write gathered data", + "args": { + "name": "DIR", + "template": "folders" + } + }, + { + "name": "--node-name", + "description": "Set a specific node to use", + "args": { + "name": "NODE", + "generatorName": "node" + } + } + ] + }, + { + "name": "inspect", + "description": "Collect debugging data for a given resource", + "args": { + "name": "RESOURCE" + }, + "options": [ + { + "name": "--dest-dir", + "description": "Root directory used for storing gathered data", + "args": { + "name": "DIR", + "template": "folders" + } + } + ] + }, + { + "name": "upgrade", + "description": "Upgrade a cluster or adjust the upgrade channel", + "options": [ + { + "name": "--to", + "description": "The version to upgrade to", + "args": { + "name": "VERSION" + } + }, + { + "name": "--to-image", + "description": "Provide a release image to upgrade to", + "args": { + "name": "IMAGE" + } + }, + { + "name": "--channel", + "description": "The update channel", + "args": { + "name": "CHANNEL" + } + }, + { + "name": "--clear", + "description": "If true, clear the current upgrade target" + }, + { + "name": "--force", + "description": "Forces the update even if it may not be safe" + }, + { + "name": "--allow-explicit-upgrade", + "description": "Allow upgrading to a version not in recommended updates" + }, + { + "name": "--allow-upgrade-with-warnings", + "description": "Allow upgrading with warnings" + } + ] + }, + { + "name": "policy", + "description": "Manage cluster authorization and security policy", + "subcommands": [ + { + "name": "add-cluster-role-to-user", + "description": "Add a cluster role to a user", + "args": [ + { + "name": "ROLE" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "add-cluster-role-to-group", + "description": "Add a cluster role to a group", + "args": [ + { + "name": "ROLE" + }, + { + "name": "GROUP", + "isVariadic": true + } + ] + }, + { + "name": "remove-cluster-role-from-user", + "description": "Remove a cluster role from a user", + "args": [ + { + "name": "ROLE" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "remove-cluster-role-from-group", + "description": "Remove a cluster role from a group", + "args": [ + { + "name": "ROLE" + }, + { + "name": "GROUP", + "isVariadic": true + } + ] + }, + { + "name": "add-scc-to-user", + "description": "Add a security context constraint to a user or service account", + "args": [ + { + "name": "SCC" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "add-scc-to-group", + "description": "Add a security context constraint to a group", + "args": [ + { + "name": "SCC" + }, + { + "name": "GROUP", + "isVariadic": true + } + ] + }, + { + "name": "remove-scc-from-user", + "description": "Remove a security context constraint from a user or service account", + "args": [ + { + "name": "SCC" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "remove-scc-from-group", + "description": "Remove a security context constraint from a group", + "args": [ + { + "name": "SCC" + }, + { + "name": "GROUP", + "isVariadic": true + } + ] + } + ] + }, + { + "name": "groups", + "description": "Manage groups", + "subcommands": [ + { + "name": "new", + "description": "Create a new group", + "args": [ + { + "name": "NAME" + }, + { + "name": "USER", + "isOptional": true, + "isVariadic": true + } + ] + }, + { + "name": "add-users", + "description": "Add users to a group", + "args": [ + { + "name": "GROUP" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "remove-users", + "description": "Remove users from a group", + "args": [ + { + "name": "GROUP" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "sync", + "description": "Sync OpenShift groups with records from an external provider" + } + ] + }, + { + "name": "prune", + "description": "Remove older versions of resources from the server", + "subcommands": [ + { + "name": "builds", + "description": "Remove old completed and failed builds" + }, + { + "name": "deployments", + "description": "Remove old completed and failed deployment configs" + }, + { + "name": "groups", + "description": "Remove old OpenShift groups referencing missing records on an external provider" + }, + { + "name": "images", + "description": "Remove unreferenced images" + } + ] + }, + { + "name": "new-project", + "description": "Create a new project", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--display-name", + "description": "Project display name", + "args": { + "name": "NAME" + } + }, + { + "name": "--description", + "description": "Project description", + "args": { + "name": "DESC" + } + }, + { + "name": "--node-selector", + "description": "Restrict pods to run on nodes matching given label selector", + "args": { + "name": "SELECTOR" + } + }, + { + "name": "--admin", + "description": "Project admin user", + "args": { + "name": "USER" + } + }, + { + "name": "--admin-role", + "description": "Project admin role name", + "args": { + "name": "ROLE" + } + } + ] + }, + { + "name": "build-chain", + "description": "Output the inputs and dependencies of your builds", + "args": { + "name": "IMAGESTREAMTAG" + } + }, + { + "name": "certificate", + "description": "Approve or reject certificate requests", + "subcommands": [ + { + "name": "approve", + "description": "Approve a certificate signing request", + "args": { + "name": "CSR", + "isVariadic": true + } + }, + { + "name": "deny", + "description": "Deny a certificate signing request", + "args": { + "name": "CSR", + "isVariadic": true + } + } + ] + }, + { + "name": "release", + "description": "Tools for managing the OpenShift release process", + "subcommands": [ + { + "name": "extract", + "description": "Extract the contents of an update payload to disk" + }, + { + "name": "info", + "description": "Display information about a release" + }, + { + "name": "mirror", + "description": "Mirror a release to a different image registry location" + }, + { + "name": "new", + "description": "Create a new OpenShift release" + } + ] + }, + { + "name": "catalog", + "description": "Tools for managing the OpenShift OLM Catalogs", + "subcommands": [ + { + "name": "mirror", + "description": "Mirror an operator-registry catalog" + } + ] + }, + { + "name": "migrate", + "description": "Migrate data in the cluster", + "subcommands": [ + { + "name": "icsp", + "description": "Update ImageContentSourcePolicy file(s) to ImageDigestMirrorSet file(s)" + } + ] + }, + { + "name": "node-image", + "description": "Add nodes to an existing cluster", + "subcommands": [ + { + "name": "create", + "description": "Create an ISO image for booting a new node" + }, + { + "name": "monitor", + "description": "Monitor the progress of a node joining the cluster" + } + ] + }, + { + "name": "copy-to-node", + "description": "Copy specified files to the node", + "args": [ + { + "name": "NODE", + "generatorName": "node" + }, + { + "name": "FILE", + "template": "filepaths", + "isVariadic": true + } + ] + }, + { + "name": "restart-kubelet", + "description": "Restart kubelet on the specified nodes", + "args": { + "name": "NODE", + "generatorName": "node", + "isVariadic": true + } + }, + { + "name": "verify-image-signature", + "description": "Verify the image identity contained in the image signature" + }, + { + "name": "wait-for-stable-cluster", + "description": "Wait for the platform operators to become stable" + }, + { + "name": "reboot-machine-config-pool", + "description": "Initiate reboot of the specified MachineConfigPool" + }, + { + "name": "wait-for-node-reboot", + "description": "Wait for nodes to reboot" + }, + { + "name": "ocp-certificates", + "description": "Tools for managing a cluster's certificates", + "subcommands": [ + { + "name": "regenerate-leaf", + "description": "Regenerate leaf certificates" + }, + { + "name": "regenerate-machine-config-server-serving-cert", + "description": "Regenerate the machine config server serving certificate" + }, + { + "name": "regenerate-top-level", + "description": "Regenerate top level certificates" + }, + { + "name": "remove-old-trust", + "description": "Remove old trust bundles" + }, + { + "name": "update-ignition-ca-bundle-for-machine-config-server", + "description": "Update the ignition CA bundle" + } + ] + }, + { + "name": "create-bootstrap-project-template", + "description": "Create a bootstrap project template" + }, + { + "name": "create-error-template", + "description": "Create an error page template" + }, + { + "name": "create-login-template", + "description": "Create a login template" + }, + { + "name": "create-provider-selection-template", + "description": "Create a provider selection template" + } + ] + }, + { + "name": "annotate", + "description": "Update the annotations on one or more resources DEBUG", + "args": [ + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + }, + { + "name": "KEY=VAL", + "isVariadic": true + } + ], + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--resource-version", + "requiresSeparator": true, + "description": "If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource", + "args": {} + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": "--field-selector", + "requiresSeparator": true, + "description": "Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type", + "args": {} + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + }, + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--overwrite", + "description": "If true, allow annotations to be overwritten, otherwise reject annotation updates that overwrite existing annotations" + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + } + ] + }, + { + "name": "api-resources", + "description": "Print the supported API resources on the server", + "options": [ + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--api-group", + "description": "Limit to resources in the specified API group", + "args": {} + }, + { + "name": "--cached", + "description": "Use the cached list of resources if available" + }, + { + "name": "--namespaced", + "description": "If false, non-namespaced resources will be returned, otherwise returning namespaced resources by default" + }, + { + "name": "--no-headers", + "description": "When using the default or custom-column output format, don't print headers (default print headers)" + }, + { + "name": "--sort-by", + "requiresSeparator": true, + "description": "If non-empty, sort nodes list using specified field. The field can be either 'name' or 'kind'", + "args": {} + }, + { + "name": "--verbs", + "requiresSeparator": true, + "description": "Limit to resources that support the specified verbs", + "args": {} + } + ] + }, + { + "name": "api-versions", + "description": "Print the supported API versions on the server, in the form of \"group/version\"" + }, + { + "name": "apply", + "description": "Apply a configuration to a resource by filename or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'", + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--resource-version", + "requiresSeparator": true, + "description": "If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource", + "args": {} + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": "--field-selector", + "requiresSeparator": true, + "description": "Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type", + "args": {} + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + }, + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--overwrite", + "description": "If true, allow annotations to be overwritten, otherwise reject annotation updates that overwrite existing annotations" + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--cascade", + "description": "If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true" + }, + { + "name": "--field-manager", + "requiresSeparator": true, + "description": "Name of the manager used to track field ownership", + "args": {} + }, + { + "name": "--force", + "description": "If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation" + }, + { + "name": "--force-conflicts", + "description": "If true, server-side apply will force the changes against conflicts" + }, + { + "name": "--grace-period", + "requiresSeparator": true, + "description": "Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion)", + "args": { + "name": "INT (seconds)" + } + }, + { + "name": "--openapi-patch", + "description": "If true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec. Otherwise, fall back to use baked-in types" + }, + { + "name": "--overwrite", + "description": "Automatically resolve conflicts between the modified and live configuration by using values from the modified configuration" + }, + { + "name": "--prune", + "description": "Automatically delete resource objects, including the uninitialized ones, that do not appear in the configs and are created by either apply or create --save-config. Should be used with either -l or --all" + }, + { + "name": "--prune-whitelist", + "requiresSeparator": true, + "description": "Overwrite the default whitelist with for --prune", + "args": { + "name": "group/version/kind" + } + }, + { + "name": "--server-side", + "description": "If true, apply runs in the server instead of the client" + }, + { + "name": "--timeout", + "requiresSeparator": true, + "description": "The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object", + "args": { + "name": "INT (Seconds)" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + }, + { + "name": "--wait", + "description": "If true, wait for resources to be gone before returning. This waits for finalizers" + } + ], + "subcommands": [ + { + "name": "edit-last-applied", + "description": "Edit the latest last-applied-configuration annotations of resources from the default editor", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--windows-line-endings", + "description": "Defaults to the line ending native to your platform" + }, + { + "name": "--field-manager", + "description": "Name of the manager used to track field ownership", + "args": {} + }, + { + "name": "--show-manged-fields", + "description": "If true, keep the managedFields when printing objects in JSON or YAML format" + } + ] + }, + { + "name": "set-last-applied", + "description": "Set the latest last-applied-configuration annotations by setting it to match the contents of a file. This results in the last-applied-configuration being updated as though 'kubectl apply -f ' was run, without updating any other parts of the object", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--show-manged-fields", + "description": "If true, keep the managedFields when printing objects in JSON or YAML format" + }, + { + "name": "--create-annotation", + "description": "Will create 'last-applied-configuration' annotations if current objects doesn't have one" + } + ] + }, + { + "name": "view-last-applied", + "description": "View the latest last-applied-configuration annotations by type/name or file", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + } + ], + "options": [ + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + } + ] + } + ] + }, + { + "name": "attach", + "description": "Attach to a process that is already running inside an existing container", + "args": { + "name": "Running Pods", + "generatorName": "running_pods", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": [ + "-c", + "--container" + ], + "description": "Container name. If omitted, the first container in the pod will be chosen", + "args": { + "name": "Container", + "generators": { + "script": "_NuFrRa_r=>{let i=r.findIndex(c=>c===\"pods\"||c.includes(\"pods/\")||c===\"pod\"||c.includes(\"pod/\"));return`kubectl get ${r[i].includes(\"/\")?r[i]:`${r[i]} + ${r[i+1]}`} -o json`}", + "postProcess": "function(r){return s.connectedToCluster(r)||s.generalError(r)?[]:JSON.parse(r).spec.containers.map(i=>({name:i.name,description:i.image,icon:\"fig://icon?type=kubernetes\"}))}" + } + } + }, + { + "name": "--pod-running-timeout", + "requiresSeparator": true, + "description": "The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running", + "args": {} + }, + { + "name": [ + "-i", + "--stdin" + ], + "description": "Pass stdin to the container" + }, + { + "name": [ + "-t", + "--tty" + ], + "description": "Stdin is a TTY" + } + ] + }, + { + "name": "auth", + "description": "Inspect authorization", + "subcommands": [ + { + "name": "can-i", + "description": "Check whether an action is allowed", + "args": [ + { + "name": "VERB", + "suggestions": [ + "*", + "get", + "list", + "watch", + "delete", + "create", + "update", + "patch" + ] + }, + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + } + ], + "options": [ + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If true, check the specified action in all namespaces" + }, + { + "name": "--list", + "description": "If true, prints all allowed actions" + }, + { + "name": "--no-headers", + "description": "If true, prints allowed actions without headers" + }, + { + "name": [ + "-q", + "--quiet" + ], + "description": "If true, suppress output and just return the exit code" + }, + { + "name": "--subresource", + "requiresSeparator": true, + "description": "SubResource such as pod/log or deployment/scale", + "args": {} + } + ] + }, + { + "name": "reconcile", + "description": "Reconciles rules for RBAC Role, RoleBinding, ClusterRole, and ClusterRole binding objects", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--remove-extra-permissions", + "description": "If true, removes extra permissions added to roles" + }, + { + "name": "--remove-extra-subjects", + "description": "If true, removes extra subjects added to rolebindings" + }, + { + "name": "--show-managed-fields", + "description": "If true, keep the managedFields when printing objects in JSON or YAML format" + } + ] + } + ] + }, + { + "name": "autoscale", + "description": "Creates an autoscaler that automatically chooses and sets the number of pods that run in a kubernetes cluster", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--cpu-percent", + "requiresSeparator": true, + "description": "The target average CPU utilization (represented as a percent of requested CPU) over all the pods. If it's not specified or negative, a default autoscaling policy will be used", + "args": { + "name": "INT (Percent)" + } + }, + { + "name": "--generator", + "requiresSeparator": true, + "description": "The name of the API generator to use. Currently there is only 1 generator", + "args": {} + }, + { + "name": "--max", + "requiresSeparator": true, + "description": "The upper limit for the number of pods that can be set by the autoscaler. Required", + "args": { + "name": "INT" + } + }, + { + "name": "--min", + "requiresSeparator": true, + "description": "The lower limit for the number of pods that can be set by the autoscaler. If it's not specified or negative, the server will apply a default value", + "args": { + "name": "INT" + } + }, + { + "name": "--name", + "requiresSeparator": true, + "description": "The name for the newly created object. If not specified, the name of the input resource will be used", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + } + ] + }, + { + "name": "cancel-build", + "description": "Cancel running, pending, or new builds", + "args": { + "name": "BUILD", + "description": "Name of the build(s) to cancel, or build config prefixed with bc/", + "isVariadic": true + }, + "options": [ + { + "name": "--dump-logs", + "description": "Specify if the build logs for the cancelled build should be shown" + }, + { + "name": "--restart", + "description": "Specify if a new build should be created after the current build is cancelled" + }, + { + "name": "--state", + "description": "Only cancel builds in this state", + "args": { + "name": "STATE", + "suggestions": [ + "new", + "pending", + "running" + ] + } + } + ] + }, + { + "name": "cluster-info", + "description": "Display addresses of the master and services with label kubernetes.io/cluster-service=true To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'", + "subcommands": [ + { + "name": "dump", + "description": "Dumps cluster info out suitable for debugging and diagnosing cluster problems. By default, dumps everything to stdout. You can optionally specify a directory with --output-directory. If you specify a directory, kubernetes will build a set of files in that directory. By default only dumps things in the 'kube-system' namespace, but you can switch to a different namespace with the --namespaces flag, or specify --all-namespaces to dump all namespaces", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If true, dump all namespaces. If true, --namespaces is ignored" + }, + { + "name": "--namespaces", + "description": "A comma separated list of namespaces to dump", + "args": { + "name": "Namespaces (Comma separated)" + } + }, + { + "name": "--output-directory", + "requiresSeparator": true, + "description": "Where to output the files. If empty or '-' uses stdout, otherwise creates a directory hierarchy in that directory", + "args": {} + }, + { + "name": "--pod-running-timeout", + "requiresSeparator": true, + "description": "The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running", + "args": { + "name": "Length of Time" + } + }, + { + "name": "--show-managed-fields", + "description": "If true, keep the managedFields when printing objects in JSON or YAML format" + } + ] + } + ] + }, + { + "name": "completion", + "description": "Output shell completion code for the specified shell (bash or zsh). The shell code must be evaluated to provide interactive completion of kubectl commands. This can be done by sourcing it from the .bash_profile" + }, + { + "name": "config", + "description": "Modify kubeconfig files using subcommands like \"kubectl config set current-context my-context\"", + "options": [ + { + "name": "--kubeconfig", + "requiresSeparator": true, + "args": { + "name": "path", + "template": "filepaths" + } + } + ], + "subcommands": [ + { + "name": "current-context", + "description": "Displays the current-context" + }, + { + "name": "delete-cluster", + "description": "Delete the specified cluster from the kubeconfig", + "args": { + "name": "Cluster", + "generatorName": "cluster", + "skipGeneratorValidation": false + } + }, + { + "name": "delete-context", + "description": "Delete the specified context from the kubeconfig", + "args": { + "name": "Context", + "generatorName": "context", + "skipGeneratorValidation": false + } + }, + { + "name": "get-clusters", + "description": "Display clusters defined in the kubeconfig" + }, + { + "name": "get-contexts", + "description": "Displays one or many contexts from the kubeconfig file", + "args": { + "name": "Context", + "generatorName": "context", + "skipGeneratorValidation": false, + "isOptional": true + }, + "options": [ + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--no-headers", + "description": "When using the default or custom-column output format, don't print headers (default print headers)", + "args": {} + } + ] + }, + { + "name": "get-users", + "description": "Display users defined in the kubeconfig" + }, + { + "name": "rename-context", + "description": "Renames a context from the kubeconfig file", + "args": [ + { + "name": "Context", + "generatorName": "context", + "skipGeneratorValidation": false + }, + { + "name": "New Context Name" + } + ] + }, + { + "name": "set", + "description": "Sets an individual value in a kubeconfig file", + "args": [ + { + "name": "PROPERTY_NAME" + }, + { + "name": "PROPERTY_VALUE" + } + ], + "options": [ + { + "name": "--set-raw-bytes", + "description": "When writing a []byte PROPERTY_VALUE, write the given string directly without base64 decoding", + "args": {} + } + ] + }, + { + "name": "set-cluster", + "description": "Sets a cluster entry in kubeconfig", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--embed-certs", + "description": "Embed-certs for the cluster entry in kubeconfig" + }, + { + "name": "--server", + "requiresSeparator": true, + "args": { + "name": "Server" + } + }, + { + "name": "--certificate-authority", + "requiresSeparator": true, + "description": "Path to certificate authority", + "args": { + "name": "Certificate Authority", + "template": "filepaths" + } + }, + { + "name": "--insecure-skip-tls-verify", + "requiresSeparator": true, + "args": { + "suggestions": [ + "true", + "false" + ] + } + }, + { + "name": "--tls-server-name", + "requiresSeparator": true, + "args": { + "name": "TLS Server Name" + } + } + ] + }, + { + "name": "set-context", + "description": "Sets a context entry in kubeconfig", + "args": { + "name": "Context", + "generatorName": "context", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": "--current", + "description": "Modify the current context" + }, + { + "name": "--cluster", + "requiresSeparator": true, + "args": { + "name": "cluster_nickname" + } + }, + { + "name": "--user", + "requiresSeparator": true, + "args": { + "name": "user_nickname" + } + }, + { + "name": "--namespace", + "requiresSeparator": true, + "args": { + "name": "namespace" + } + } + ] + }, + { + "name": "set-credentials", + "description": "Sets a user entry in kubeconfig", + "args": { + "name": "Cluster", + "generatorName": "cluster", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": "--client-certificate", + "requiresSeparator": true, + "description": "Client cert for user entry", + "args": { + "template": "filepaths" + } + }, + { + "name": "--client-key", + "requiresSeparator": true, + "description": "Client key for user entry", + "args": { + "template": "filepaths" + } + }, + { + "name": "--token", + "requiresSeparator": true, + "description": "Bearer Token for user entry", + "args": { + "name": "Bearer Token" + } + }, + { + "name": "--username", + "requiresSeparator": true, + "description": "Username for basic authentication", + "args": { + "name": "Username" + } + }, + { + "name": "--password", + "requiresSeparator": true, + "description": "Password for basic authentication", + "args": { + "name": "Password" + } + }, + { + "name": "--auth-provider", + "requiresSeparator": true, + "description": "Auth provider for the user entry in kubeconfig", + "args": { + "name": "Auth Provider" + } + }, + { + "name": "--auth-provider-arg", + "requiresSeparator": true, + "description": "'key=value' arguments for the auth provider", + "args": { + "name": "key=value" + } + }, + { + "name": "--embed-certs", + "description": "Embed client cert/key for the user entry in kubeconfig" + }, + { + "name": "--exec-api-version", + "requiresSeparator": true, + "description": "API version of the exec credential plugin for the user entry in kubeconfig", + "args": { + "name": "API Version" + } + }, + { + "name": "--exec-arg", + "requiresSeparator": true, + "description": "New arguments for the exec credential plugin command for the user entry in kubeconfig", + "args": { + "name": "Exec Arg" + } + }, + { + "name": "--exec-command", + "requiresSeparator": true, + "description": "Command for the exec credential plugin for the user entry in kubeconfig", + "args": { + "name": "Exec Command" + } + }, + { + "name": "--exec-env", + "requiresSeparator": true, + "description": "'key=value' environment values for the exec credential plugin", + "args": { + "name": "key=value" + } + } + ] + }, + { + "name": "unset", + "description": "Unsets an individual value in a kubeconfig file", + "args": { + "name": "PROPERTY_NAME" + } + }, + { + "name": "use-context", + "description": "Sets the current-context in a kubeconfig file", + "args": { + "name": "Context", + "generatorName": "context", + "skipGeneratorValidation": false + } + }, + { + "name": "view", + "description": "Display merged kubeconfig settings or a specified kubeconfig file", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--flatten", + "description": "Flatten the resulting kubeconfig file into self-contained output (useful for creating portable kubeconfig files)" + }, + { + "name": "--merge", + "description": "Merge the full hierarchy of kubeconfig files" + }, + { + "name": "--minify", + "description": "Remove all information not used by current-context from the output" + }, + { + "name": "--raw", + "description": "Display raw byte data" + }, + { + "name": "--show-managed-fields", + "description": "If true, keep the managedFields when printing objects in JSON or YAML format" + } + ] + } + ] + }, + { + "name": "cp", + "description": "Copy files and directories to and from containers", + "args": {}, + "options": [ + { + "name": [ + "-c", + "--container" + ], + "description": "Container name. If omitted, the first container in the pod will be chosen", + "args": {} + }, + { + "name": "--no-preserve", + "description": "The copied file/directory's ownership and permissions will not be preserved in the container", + "args": {} + } + ] + }, + { + "name": "create", + "description": "Create a resource from a file or from stdin", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--edit", + "description": "Edit the API resource before creating" + }, + { + "name": "--raw", + "description": "Raw URI to POST to the server. Uses the transport specified by the kubeconfig file" + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + }, + { + "name": "--windows-line-endings", + "description": "Only relevant if --edit=true. Defaults to the line ending native to your platform" + } + ], + "subcommands": [ + { + "name": "clusterrole", + "description": "Create a ClusterRole", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--aggregation-rule", + "requiresSeparator": true, + "description": "An aggregation label selector for combining ClusterRoles", + "args": {} + }, + { + "name": "--non-resource-url", + "description": "A partial url that user should have access to", + "args": {} + }, + { + "name": "--resource", + "requiresSeparator": true, + "description": "Resource that the rule applies to", + "args": { + "name": "Resource Type", + "generatorName": "resource_type", + "skipGeneratorValidation": true + } + }, + { + "name": "--resource-name", + "requiresSeparator": true, + "description": "Resource in the white list that the rule applies to, repeat this flag for multiple items", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + }, + { + "name": "--verb", + "requiresSeparator": true, + "description": "Verb that applies to the resources contained in the rule", + "args": { + "name": "VERB", + "suggestions": [ + "*", + "get", + "list", + "watch", + "delete", + "create", + "update", + "patch" + ] + } + } + ] + }, + { + "name": "clusterrolebinding", + "description": "Create a ClusterRoleBinding for a particular ClusterRole", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--clusterrole", + "requiresSeparator": true, + "description": "ClusterRole this ClusterRoleBinding should reference", + "args": { + "name": "Cluster Role", + "generatorName": "cluster_role", + "skipGeneratorValidation": false + } + }, + { + "name": "--user", + "requiresSeparator": true, + "args": { + "name": "User Name" + } + }, + { + "name": "--group", + "description": "Groups to bind to the clusterrole", + "args": { + "name": "Group Name" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--serviceaccount", + "description": "Service accounts to bind to the clusterrole, in the format :", + "args": { + "name": ":" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "configmap", + "description": "Create a configmap based on a file, directory, or specified literal value", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--append-hash", + "description": "Append a hash of the configmap to its name" + }, + { + "name": "--from-env-file", + "requiresSeparator": true, + "description": "Specify the path to a file to read lines of key=val pairs to create a configmap (i.e. a Docker .env file)", + "args": { + "template": "filepaths" + } + }, + { + "name": "--from-file", + "requiresSeparator": true, + "description": "Key file can be specified using its file path, in which case file basename will be used as configmap key, or optionally with a key and file path, in which case the given key will be used. Specifying a directory will iterate each named file in the directory whose basename is a valid configmap key", + "args": { + "template": "filepaths" + } + }, + { + "name": "--from-literal", + "requiresSeparator": true, + "description": "Specify a key and literal value to insert in configmap (i.e. mykey=somevalue)", + "args": { + "name": "key=value" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "cronjob", + "description": "Create a cronjob with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--image", + "requiresSeparator": true, + "description": "Image name to run", + "args": { + "name": "Image" + } + }, + { + "name": "--restart", + "requiresSeparator": true, + "description": "Job's restart policy. supported values: OnFailure, Never", + "args": { + "suggestions": [ + "OnFailure", + "Never" + ] + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--schedule", + "description": "A schedule in the Cron format the job should be run with", + "args": { + "name": "Cron" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "deployment", + "description": "Create a deployment with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--image", + "requiresSeparator": true, + "description": "Image name to run", + "args": { + "name": "Image" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "ingress", + "description": "Create an ingress with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--annotation", + "description": "Annotation to insert in the ingress object, in the format annotation=value", + "args": { + "name": "annotation=value" + } + }, + { + "name": "--class", + "requiresSeparator": true, + "description": "Ingress Class to be used", + "args": {} + }, + { + "name": "--default-backend", + "requiresSeparator": true, + "description": "Default service for backend, in format of svcname:port", + "args": { + "name": "svcname:port" + } + }, + { + "name": "--field-manager", + "requiresSeparator": true, + "description": "Name of the manager used to track field ownership", + "args": {} + }, + { + "name": "--rule", + "requiresSeparator": true, + "description": "Rule in format host/path=service:port[,tls=secretname]. Paths containing the leading character '*' are considered pathType=Prefix. tls argument is optional", + "args": { + "name": "host/path=service:port[,tls=secretname]" + } + }, + { + "name": "--show-managed-fields", + "description": "If true, keep the managedFields when printing objects in JSON or YAML format" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "job", + "description": "Create a job with the specified name", + "args": [ + { + "name": "NAME" + }, + { + "name": "COMMAND", + "isCommand": true + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--from", + "requiresSeparator": true, + "description": "The name of the resource to create a Job from (only cronjob is supported)", + "args": { + "name": "Cronjob", + "generators": { + "script": "_NuFrRa_()=>o.typeWithoutName(\"cronjob\")", + "postProcess": "_NuFrRa_(r,i)=>n(r,i).map(a=>l(u({},a),{name:`cronjob/${a.name}`}))" + } + } + }, + { + "name": "--image", + "requiresSeparator": true, + "description": "Image name to run", + "args": { + "name": "Image" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "namespace", + "description": "Create a namespace with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "poddisruptionbudget", + "description": "Create a pod disruption budget with the specified name, selector, and desired minimum available pods", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--max-unavailable", + "description": "The maximum number or percentage of unavailable pods this budget requires", + "args": { + "name": "INT (Percent)" + } + }, + { + "name": "--min-available", + "description": "The minimum number or percentage of available pods this budget requires", + "args": { + "name": "INT (Percent)" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "priorityclass", + "description": "Create a priorityclass with the specified name, value, globalDefault and description", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--description", + "requiresSeparator": true, + "description": "Description is an arbitrary string that usually provides guidelines on when this priority class should be used", + "args": { + "name": "Description" + } + }, + { + "name": "--global-default", + "description": "Global-default specifies whether this PriorityClass should be considered as the default priority" + }, + { + "name": "--preemption-policy", + "description": "Preemption-policy is the policy for preempting pods with lower priority", + "args": { + "name": "Preemption Policy" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + }, + { + "name": "--value", + "requiresSeparator": true, + "description": "The value of this priority class", + "args": { + "name": "INT" + } + } + ] + }, + { + "name": "quota", + "description": "Create a resourcequota with the specified name, hard limits and optional scopes", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--field-manager", + "requiresSeparator": true, + "description": "Name of the manager used to track field ownership", + "args": {} + }, + { + "name": "--hard", + "description": "A comma-delimited set of resource=quantity pairs that define a hard limit", + "args": { + "name": "key=value (Comma delimited)" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--scopes", + "description": "A comma-delimited set of quota scopes that must all match each object tracked by the quota", + "args": { + "name": "Scopes (Comma delimited)" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "role", + "description": "Create a role with single rule", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--resource", + "requiresSeparator": true, + "description": "Resource that the rule applies to", + "args": { + "name": "Resource Type", + "generatorName": "resource_type", + "skipGeneratorValidation": true + } + }, + { + "name": "--resource-name", + "requiresSeparator": true, + "description": "Resource in the white list that the rule applies to, repeat this flag for multiple items", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + }, + { + "name": "--verb", + "requiresSeparator": true, + "description": "Verb that applies to the resources contained in the rule", + "args": { + "name": "VERB", + "suggestions": [ + "get", + "list", + "watch", + "delete" + ] + } + } + ] + }, + { + "name": "rolebinding", + "description": "Create a RoleBinding for a particular Role or ClusterRole", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--clusterrole", + "requiresSeparator": true, + "description": "ClusterRole this RoleBinding should reference", + "args": { + "name": "Cluster Role", + "generatorName": "cluster_role", + "skipGeneratorValidation": false + } + }, + { + "name": "--group", + "requiresSeparator": true, + "description": "Groups to bind to the role", + "args": {} + }, + { + "name": "--role", + "requiresSeparator": true, + "description": "Role this RoleBinding should reference", + "args": { + "name": "Role", + "generatorName": "role", + "skipGeneratorValidation": false + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--serviceaccount", + "requiresSeparator": true, + "description": "Service accounts to bind to the role, in the format :", + "args": { + "name": ":" + } + }, + { + "name": "--username", + "requiresSeparator": true, + "args": { + "name": "Username" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "secret", + "description": "Create a secret using specified subcommand", + "subcommands": [ + { + "name": "docker-registry", + "args": { + "name": "NAME" + }, + "description": "Create a new secret for use with Docker registries", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--append-hash", + "description": "Append a hash of the secret to its name" + }, + { + "name": "--docker-email", + "requiresSeparator": true, + "description": "Email for Docker registry", + "args": { + "name": "Email" + } + }, + { + "name": "--docker-password", + "requiresSeparator": true, + "description": "Password for Docker registry authentication", + "args": { + "name": "Password" + } + }, + { + "name": "--docker-server", + "requiresSeparator": true, + "description": "Server location for Docker registry", + "args": { + "name": "Server" + } + }, + { + "name": "--docker-username", + "requiresSeparator": true, + "description": "Username for Docker registry authentication", + "args": { + "name": "Username" + } + }, + { + "name": "--from-file", + "requiresSeparator": true, + "description": "Key files can be specified using their file path, in which case a default name will be given to them, or optionally with a name and file path, in which case the given name will be used. Specifying a directory will iterate each named file in the directory that is a valid secret key", + "args": { + "template": "filepaths" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "generic", + "args": { + "name": "NAME" + }, + "description": "Create a secret based on a file, directory, or specified literal value", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--append-hash", + "description": "Append a hash of the secret to its name" + }, + { + "name": "--from-env-file", + "requiresSeparator": true, + "description": "Specify the path to a file to read lines of key=val pairs to create a secret (i.e. a Docker .env file)", + "args": { + "template": "filepaths" + } + }, + { + "name": "--from-file", + "requiresSeparator": true, + "description": "Key files can be specified using their file path, in which case a default name will be given to them, or optionally with a name and file path, in which case the given name will be used. Specifying a directory will iterate each named file in the directory that is a valid secret key", + "args": { + "template": "filepaths" + } + }, + { + "name": "--from-literal", + "requiresSeparator": true, + "description": "Specify a key and literal value to insert in secret (i.e. mykey=somevalue)", + "args": { + "name": "key=value" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--type", + "requiresSeparator": true, + "description": "The type of secret to create", + "args": {} + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "tls", + "description": "Create a TLS secret from the given public/private key pair", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--append-hash", + "description": "Append a hash of the secret to its name" + }, + { + "name": "--cert", + "requiresSeparator": true, + "description": "Path to PEM encoded public key certificate", + "args": { + "template": "filepaths" + } + }, + { + "name": "--key", + "requiresSeparator": true, + "description": "Path to private key associated with given certificate", + "args": { + "template": "filepaths" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + } + ] + }, + { + "name": "service", + "description": "Create a service using specified subcommand", + "subcommands": [ + { + "name": "clusterip", + "description": "Create a ClusterIP service with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--clusterip", + "requiresSeparator": true, + "description": "Assign your own ClusterIP or set to 'None' for a 'headless' service (no loadbalancing)", + "args": { + "name": "ClusterIP", + "suggestions": [ + "None" + ] + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--tcp", + "requiresSeparator": true, + "description": "Port pairs can be specified as ':'", + "args": { + "name": ":" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "externalname", + "description": "Create an ExternalName service with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--external-name", + "description": "External name of service", + "args": { + "name": "External name" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--tcp", + "requiresSeparator": true, + "description": "Port pairs can be specified as ':'", + "args": { + "name": ":" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "loadbalancer", + "description": "Create a LoadBalancer service with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--tcp", + "requiresSeparator": true, + "description": "Port pairs can be specified as ':'", + "args": { + "name": ":" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + }, + { + "name": "nodeport", + "description": "Create a NodePort service with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--node-port", + "description": "Port used to expose the service on each node in a cluster", + "args": { + "name": "Port (INT)" + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--tcp", + "requiresSeparator": true, + "description": "Port pairs can be specified as ':'", + "args": { + "name": ":" + } + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + } + ] + }, + { + "name": "serviceaccount", + "description": "Create a service account with the specified name", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + } + ] + } + ] + }, + { + "name": "debug", + "description": "Launch a new instance of a pod for debugging", + "args": { + "name": "RESOURCE", + "description": "Resource to debug (e.g. deploy/test, node/master-1)", + "isOptional": true + }, + "options": [ + { + "name": "--image", + "description": "Container image to use for debug container", + "args": { + "name": "IMAGE" + } + }, + { + "name": "--as-root", + "description": "If true, try to run the container as the root user" + }, + { + "name": "--as-user", + "description": "Try to run the container as a specific user UID", + "args": { + "name": "UID" + } + }, + { + "name": [ + "-c", + "--container" + ], + "description": "Container name; defaults to first container", + "args": { + "name": "CONTAINER" + } + }, + { + "name": "--keep-annotations", + "description": "If true, keep the original pod annotations" + }, + { + "name": "--keep-init-containers", + "description": "Run the init containers for the pod" + }, + { + "name": "--keep-labels", + "description": "If true, keep the original pod labels" + }, + { + "name": "--keep-liveness", + "description": "If true, keep the original pod liveness probes" + }, + { + "name": "--keep-readiness", + "description": "If true, keep the original pod readiness probes" + }, + { + "name": "--keep-startup", + "description": "If true, keep the original pod startup probes" + }, + { + "name": "--one-container", + "description": "If true, run only the selected container, remove all others" + }, + { + "name": [ + "-t", + "--tty" + ], + "description": "Force a pseudo-terminal to be allocated" + }, + { + "name": [ + "-T", + "--no-tty" + ], + "description": "Disable pseudo-terminal allocation" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml", + "name" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename to use for the debug pod", + "args": { + "name": "FILE", + "template": "filepaths" + } + }, + { + "name": "--node-name", + "description": "Set a specific node to run on", + "args": { + "name": "NODE", + "generatorName": "node" + } + } + ] + }, + { + "name": "delete", + "description": "Delete resources by filenames, stdin, resources and names, or by resources and label selector", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + }, + { + "name": "--field-selector", + "requiresSeparator": true, + "description": "Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type", + "args": {} + }, + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace" + }, + { + "name": "--cascade", + "description": "If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true" + }, + { + "name": "--force", + "description": "If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation" + }, + { + "name": "--grace-period", + "description": "Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion)", + "args": { + "name": "INT (Seconds)" + } + }, + { + "name": "--ignore-not-found", + "description": "Treat \"resource not found\" as a successful delete. Defaults to \"true\" when --all is specified" + }, + { + "name": "--now", + "description": "If true, resources are signaled for immediate shutdown (same as --grace-period=1)" + }, + { + "name": "--raw", + "description": "Raw URI to DELETE to the server. Uses the transport specified by the kubeconfig file" + }, + { + "name": "--timeout", + "description": "The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object", + "args": { + "name": "INT (Seconds)" + } + }, + { + "name": "--wait", + "description": "If true, wait for resources to be gone before returning. This waits for finalizers" + } + ] + }, + { + "name": "describe", + "description": "Show details of a specific resource or group of resources", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace" + }, + { + "name": "--show-events", + "description": "If true, display events related to the described object" + } + ] + }, + { + "name": "diff", + "description": "Diff configurations specified by filename or stdin between the current online configuration, and the configuration as it would be if applied", + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--field-manager", + "description": "Name of the manager used to track field ownership", + "args": { + "name": "Field Manager" + } + }, + { + "name": "--force-conflicts", + "description": "If true, server-side apply will force the changes against conflicts" + }, + { + "name": "--server-side", + "description": "If true, apply runs in the server instead of the client" + } + ] + }, + { + "name": "edit", + "description": "Edit a resource from the default editor", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--output-patch", + "description": "Output the patch if the resource is edited", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + }, + { + "name": "--windows-line-endings", + "description": "Defaults to the line ending native to your platform" + } + ] + }, + { + "name": "events", + "description": "List events", + "options": [ + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If true, list events across all namespaces" + }, + { + "name": "--for", + "description": "Filter events to only those pertaining to the specified resource", + "args": { + "name": "RESOURCE" + } + }, + { + "name": "--types", + "description": "Output only events of given types", + "args": { + "name": "TYPES" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml" + ] + } + }, + { + "name": [ + "-w", + "--watch" + ], + "description": "After listing events, watch for more" + } + ] + }, + { + "name": "exec", + "description": "Execute a command in a container", + "args": [ + { + "name": "Running Pods", + "generatorName": "running_pods", + "skipGeneratorValidation": false + }, + { + "name": "COMMAND", + "isCommand": true + } + ], + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-c", + "--container" + ], + "description": "Container name. If omitted, the first container in the pod will be chosen", + "args": { + "name": "Container", + "generators": { + "script": "_NuFrRa_r=>{let i=r.findIndex(c=>c===\"pods\"||c.includes(\"pods/\")||c===\"pod\"||c.includes(\"pod/\"));return`kubectl get ${r[i].includes(\"/\")?r[i]:`${r[i]} + ${r[i+1]}`} -o json`}", + "postProcess": "function(r){return s.connectedToCluster(r)||s.generalError(r)?[]:JSON.parse(r).spec.containers.map(i=>({name:i.name,description:i.image,icon:\"fig://icon?type=kubernetes\"}))}" + } + } + }, + { + "name": "--pod-running-timeout", + "description": "The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running", + "args": {} + }, + { + "name": [ + "-i", + "--stdin" + ], + "description": "Pass stdin to the container" + }, + { + "name": [ + "-t", + "--tty" + ], + "description": "Stdin is a TTY" + } + ] + }, + { + "name": "explain", + "description": "List the fields for supported resources", + "args": { + "name": "Resource Type", + "generatorName": "resource_type", + "skipGeneratorValidation": true + }, + "options": [ + { + "name": "--api-version", + "description": "Get different explanations for particular API version", + "args": {} + }, + { + "name": "--recursive", + "description": "Print the fields of fields (Currently only 1 level deep)" + } + ] + }, + { + "name": "expose", + "description": "Expose a resource as a new Kubernetes service", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--cluster-ip", + "requiresSeparator": true, + "description": "ClusterIP to be assigned to the service. Leave empty to auto-allocate, or set to 'None' to create a headless service", + "args": {} + }, + { + "name": "--external-ip", + "requiresSeparator": true, + "description": "Additional external IP address (not managed by Kubernetes) to accept for the service. If this IP is routed to a node, the service can be accessed by this IP in addition to its generated service IP", + "args": {} + }, + { + "name": "--generator", + "requiresSeparator": true, + "description": "The name of the API generator to use. There are 2 generators: 'service/v1' and 'service/v2'. The only difference between them is that service port in v1 is named 'default', while it is left unnamed in v2. Default is 'service/v2'", + "args": {} + }, + { + "name": [ + "-l", + "--labels" + ], + "requiresSeparator": true, + "description": "Labels to apply to the service created by this call", + "args": {} + }, + { + "name": "--load-balancer-ip", + "requiresSeparator": true, + "description": "IP to assign to the LoadBalancer. If empty, an ephemeral IP will be created and used (cloud-provider specific)", + "args": {} + }, + { + "name": "--name", + "description": "The name for the newly created object", + "requiresSeparator": true, + "args": {} + }, + { + "name": "--overrides", + "description": "An inline JSON override for the generated object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field", + "args": {} + }, + { + "name": "--port", + "requiresSeparator": true, + "description": "The port that the service should serve on. Copied from the resource being exposed, if unspecified", + "args": {} + }, + { + "name": "--protocol", + "requiresSeparator": true, + "description": "The network protocol for the service to be created. Default is 'TCP'", + "args": { + "suggestions": [ + "TCP", + "UDP", + "SCTP" + ] + } + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--session-affinity", + "requiresSeparator": true, + "description": "If non-empty, set the session affinity for the service to this; legal values: 'None', 'ClientIP'", + "args": {} + }, + { + "name": "--target-port", + "requiresSeparator": true, + "description": "Name or number for the port on the container that the service should direct traffic to. Optional", + "args": {} + }, + { + "name": "--type", + "requiresSeparator": true, + "description": "Type for this service: ClusterIP, NodePort, LoadBalancer, or ExternalName. Default is 'ClusterIP'", + "args": { + "suggestions": [ + "ClusterIP", + "NodePort", + "LoadBalancer", + "ExternalName" + ] + } + } + ] + }, + { + "name": "extract", + "description": "Extract secrets or config maps to disk", + "args": { + "name": "RESOURCE", + "description": "Resource to extract (e.g. secret/test, configmap/nginx)" + }, + "options": [ + { + "name": "--to", + "description": "Directory to extract to; use '-' for stdout", + "args": { + "name": "DIR", + "template": "folders" + } + }, + { + "name": "--keys", + "description": "An optional list of keys to extract", + "args": { + "name": "KEYS" + } + }, + { + "name": "--confirm", + "description": "If true, overwrite files that already exist" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to identify the resource", + "args": { + "name": "FILE", + "template": "filepaths" + } + } + ] + }, + { + "name": "get", + "description": "Display one or many resources", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--field-selector", + "requiresSeparator": true, + "description": "Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type", + "args": {} + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace" + }, + { + "name": "--chunk-size", + "requiresSeparator": true, + "description": "Return large lists in chunks rather than all at once. Pass 0 to disable. This flag is beta and may change in the future", + "args": {} + }, + { + "name": "--ignore-not-found", + "description": "If the requested object does not exist the command will return exit code 0" + }, + { + "name": [ + "-L", + "--label-columns" + ], + "insertValue": "--label-columns", + "description": "Accepts a comma separated list of labels that are going to be presented as columns. Names are case-sensitive. You can also use multiple flag options like -L label1 -L label2", + "args": {} + }, + { + "name": "--no-headers", + "description": "When using the default or custom-column output format, don't print headers (default print headers)" + }, + { + "name": "--output-watch-events", + "description": "Output watch event objects when --watch or --watch-only is used. Existing objects are output as initial ADDED events" + }, + { + "name": "--raw", + "description": "Raw URI to request from the server. Uses the transport specified by the kubeconfig file" + }, + { + "name": "--server-print", + "description": "If true, have the server return the appropriate table output. Supports extension APIs and CRDs" + }, + { + "name": "--show-kind", + "description": "If present, list the resource type for the requested object(s)" + }, + { + "name": "--show-labels", + "description": "When printing, show all labels as the last column (default hide labels column)" + }, + { + "name": "--sort-by", + "requiresSeparator": true, + "description": "If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string", + "args": {} + }, + { + "name": [ + "-w", + "--watch" + ], + "description": "After listing/getting the requested object, watch for changes. Uninitialized objects are excluded if no object name is provided" + }, + { + "name": "--watch-only", + "description": "Watch for changes to the requested object(s), without listing/getting first" + } + ] + }, + { + "name": "get-token", + "description": "Experimental: Get token from external OIDC issuer as credentials exec plugin", + "options": [ + { + "name": "--client-id", + "description": "Client ID of the user managed by the external OIDC provider", + "args": { + "name": "CLIENT_ID" + } + }, + { + "name": "--client-secret", + "description": "Client Secret of the user managed by the external OIDC provider", + "args": { + "name": "CLIENT_SECRET" + } + }, + { + "name": "--issuer-url", + "description": "Issuer URL of the external OIDC provider", + "args": { + "name": "URL" + } + }, + { + "name": "--extra-scopes", + "description": "Extra scopes for the auth request", + "args": { + "name": "SCOPES" + } + }, + { + "name": "--callback-address", + "description": "Callback address where OIDC issuer redirects to", + "args": { + "name": "ADDRESS" + } + }, + { + "name": "--auto-open-browser", + "description": "Specify browser is automatically opened or not" + } + ] + }, + { + "name": "idle", + "description": "Idle scalable resources", + "args": { + "name": "SERVICE", + "description": "Service endpoint(s) to idle", + "isOptional": true, + "isVariadic": true + }, + "options": [ + { + "name": "--all", + "description": "If true, select all services in the namespace" + }, + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If true, select services across all namespaces" + }, + { + "name": "--dry-run", + "description": "If true, only print the annotations that would be written" + }, + { + "name": "--resource-names-file", + "description": "File containing list of services whose scalable resources to idle", + "args": { + "name": "FILE", + "template": "filepaths" + } + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to use to select services", + "args": { + "name": "SELECTOR" + } + } + ] + }, + { + "name": "image", + "description": "Useful commands for managing images", + "subcommands": [ + { + "name": "append", + "description": "Add layers to images and push them to a registry", + "args": { + "name": "IMAGE" + } + }, + { + "name": "extract", + "description": "Copy files from an image to the file system", + "args": { + "name": "IMAGE" + } + }, + { + "name": "info", + "description": "Display information about an image", + "args": { + "name": "IMAGE" + } + }, + { + "name": "mirror", + "description": "Mirror images from one repository to another", + "args": { + "name": "SOURCE DEST" + } + } + ] + }, + { + "name": "import-image", + "description": "Import images from a container image registry", + "args": { + "name": "IMAGESTREAM[:TAG]", + "description": "Image stream to import, optionally with tag" + }, + "options": [ + { + "name": "--from", + "description": "A container image to import instead of the default tag of the image stream", + "args": { + "name": "IMAGE" + } + }, + { + "name": "--confirm", + "description": "If true, allow the image import to create a new image stream" + }, + { + "name": "--all", + "description": "If true, import all tags of the image" + }, + { + "name": "--insecure", + "description": "If true, allow importing from registries that have invalid HTTPS certificates" + }, + { + "name": "--import-mode", + "description": "Import mode for the image", + "args": { + "name": "MODE", + "suggestions": [ + "Legacy", + "PreserveOriginal" + ] + } + }, + { + "name": "--dry-run", + "description": "If true, show the result without performing the import" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml", + "name" + ] + } + }, + { + "name": "--scheduled", + "description": "Set each image stream tag to check for new images periodically" + }, + { + "name": "--reference-policy", + "description": "Allow the image to be pulled from a mirror", + "args": { + "name": "POLICY", + "suggestions": [ + "source", + "local" + ] + } + } + ] + }, + { + "name": "kustomize", + "description": "Print a set of API resources generated from instructions in a kustomization.yaml file", + "args": { + "name": "DIR", + "template": "folders" + }, + "options": [ + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--allow-id-changes", + "description": "Enable changes to a resourceId" + }, + { + "name": "--enable-alpha-plugins", + "description": "Enable kustomize plugins" + }, + { + "name": "--enable-managedby-label", + "description": "Enable adding app.kubernetes.io/managed-by" + }, + { + "name": [ + "--env", + "-e" + ], + "description": "A list of environment variables to be used by functions", + "requiresSeparator": true, + "args": { + "template": "filepaths" + } + }, + { + "name": "--load-restrictor", + "description": "If set to 'LoadRestrictionsNone', local kustomizations may load files from outside their root. This does, however, break the relocatability of the kustomization", + "requiresSeparator": true, + "args": {} + }, + { + "name": "--mount", + "description": "A list of storage options read from the filesystem", + "requiresSeparator": true, + "args": {} + }, + { + "name": "--network", + "description": "Enable network access for functions that declare it" + }, + { + "name": "--network-name", + "description": "The docker network to run the container in", + "requiresSeparator": true, + "args": {} + }, + { + "name": "--reorder", + "description": "Reorder the resources just before output. Use 'legacy' to apply a legacy reordering (Namespaces first, Webhooks last, etc). Use 'none' to suppress a final reordering", + "requiresSeparator": true + } + ] + }, + { + "name": "label", + "description": "Update the labels on a resource", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": "--field-selector", + "requiresSeparator": true, + "description": "Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type", + "args": {} + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--resource-version", + "requiresSeparator": true, + "description": "If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource", + "args": {} + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + }, + { + "name": "--list", + "description": "If true, display the labels for a given resource" + }, + { + "name": "--overwrite", + "description": "If true, allow labels to be overwritten, otherwise reject label updates that overwrite existing labels" + } + ] + }, + { + "name": "login", + "description": "Log in to a server", + "args": { + "name": "SERVER", + "description": "The server URL to log in to", + "isOptional": true + }, + "options": [ + { + "name": [ + "-u", + "--username" + ], + "description": "Username for server login", + "args": { + "name": "USERNAME" + } + }, + { + "name": [ + "-p", + "--password" + ], + "description": "Password for server login, will prompt if not provided", + "args": { + "name": "PASSWORD" + } + }, + { + "name": "--token", + "description": "Bearer token for authentication to the API server", + "args": { + "name": "TOKEN" + } + }, + { + "name": "--certificate-authority", + "description": "Path to a cert file for the certificate authority", + "args": { + "name": "FILE", + "template": "filepaths" + } + }, + { + "name": "--insecure-skip-tls-verify", + "description": "If true, the server's certificate will not be checked for validity" + }, + { + "name": "--web", + "description": "Open a browser to log in to the cluster (web login)" + }, + { + "name": "--auto-open-browser", + "description": "Automatically open browser for login", + "args": { + "name": "BOOL", + "suggestions": [ + "true", + "false" + ] + } + }, + { + "name": [ + "-c", + "--callback-port" + ], + "description": "Port for the callback server during web login", + "args": { + "name": "PORT" + } + }, + { + "name": "--exec-plugin", + "description": "The name of the exec credential plugin to use for login", + "args": { + "name": "PLUGIN" + } + }, + { + "name": "--client-id", + "description": "Client ID for OIDC authentication", + "args": { + "name": "CLIENT_ID" + } + }, + { + "name": "--client-secret", + "description": "Client secret for OIDC authentication", + "args": { + "name": "CLIENT_SECRET" + } + }, + { + "name": "--extra-scopes", + "description": "Extra scopes for OIDC authentication", + "args": { + "name": "SCOPES" + } + }, + { + "name": "--issuer-url", + "description": "Issuer URL for OIDC authentication", + "args": { + "name": "URL" + } + } + ] + }, + { + "name": "logout", + "description": "End the current server session" + }, + { + "name": "logs", + "description": "Print the logs for a container in a pod or specified resource. If the pod has only one container, the container name is optional", + "args": [ + { + "name": "POD | TYPE/NAME", + "generatorName": "oc_builtin_completion" + } + ], + "options": [ + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--all-containers", + "description": "Get all containers' logs in the pod(s)" + }, + { + "name": [ + "-c", + "--container" + ], + "description": "Print the logs of this container", + "args": {} + }, + { + "name": [ + "-f", + "--follow" + ], + "description": "Specify if the logs should be streamed" + }, + { + "name": "--ignore-errors", + "description": "If watching / following pod logs, allow for any errors that occur to be non-fatal" + }, + { + "name": "--insecure-skip-tls-verify-backend", + "description": "Skip verifying the identity of the kubelet that logs are requested from. In theory, an attacker could provide invalid log content back. You might want to use this if your kubelet serving certificates have expired" + }, + { + "name": "--limit-bytes", + "requiresSeparator": true, + "description": "Maximum bytes of logs to return. Defaults to no limit", + "args": {} + }, + { + "name": "--max-log-requests", + "requiresSeparator": true, + "description": "Specify maximum number of concurrent logs to follow when using by a selector. Defaults to 5", + "args": {} + }, + { + "name": "--pod-running-timeout", + "requiresSeparator": true, + "description": "The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running", + "args": {} + }, + { + "name": "--prefix", + "description": "Prefix each log line with the log source (pod name and container name)" + }, + { + "name": [ + "-p", + "--previous" + ], + "description": "If true, print the logs for the previous instance of the container in a pod if it exists" + }, + { + "name": "--since", + "requiresSeparator": true, + "description": "Only return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to all logs. Only one of since-time / since may be used", + "args": {} + }, + { + "name": "--since-time", + "requiresSeparator": true, + "description": "Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of since-time / since may be used", + "args": {} + }, + { + "name": "--tail", + "requiresSeparator": true, + "description": "Lines of recent log file to display. Defaults to -1 with no selector, showing all log lines otherwise 10, if a selector is provided", + "args": {} + }, + { + "name": "--timestamps", + "description": "Include timestamps on each line in the log output" + } + ] + }, + { + "name": "new-app", + "description": "Create a new application", + "args": { + "name": "SOURCE", + "description": "Source code URL, image, or template", + "isOptional": true, + "isVariadic": true + }, + "options": [ + { + "name": "--list", + "description": "List all local templates and image streams that can be used to create an app" + }, + { + "name": "--image", + "description": "Name of a container image to use as a builder or deployer", + "args": { + "name": "IMAGE" + } + }, + { + "name": [ + "-f", + "--file" + ], + "description": "Path to a template file to use for creating the app", + "args": { + "name": "FILE", + "template": "filepaths" + } + }, + { + "name": "--name", + "description": "Set name to use for generated application artifacts", + "args": { + "name": "NAME" + } + }, + { + "name": [ + "-l", + "--labels" + ], + "description": "Label to set in all resources for this application", + "args": { + "name": "KEY=VALUE" + } + }, + { + "name": [ + "-e", + "--env" + ], + "description": "Specify a key-value pair for an environment variable to set into the result", + "args": { + "name": "KEY=VALUE" + } + }, + { + "name": "--strategy", + "description": "Specify the build strategy to use", + "args": { + "name": "STRATEGY", + "suggestions": [ + "docker", + "pipeline", + "source" + ] + } + }, + { + "name": "--binary", + "description": "If true, a binary build will be created" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml", + "name" + ] + } + }, + { + "name": "--dry-run", + "description": "If true, show the result of the operation without performing it" + }, + { + "name": "--image-stream", + "description": "Name of an image stream to use in the app", + "args": { + "name": "IMAGESTREAM" + } + }, + { + "name": "--template", + "description": "Name of a stored template to use in the app", + "args": { + "name": "TEMPLATE" + } + }, + { + "name": "--context-dir", + "description": "Context directory to use for build", + "args": { + "name": "DIR" + } + }, + { + "name": "--source-secret", + "description": "The name of an existing secret that should be used for cloning a private git repository", + "args": { + "name": "SECRET" + } + }, + { + "name": "--import-mode", + "description": "The import mode for the image", + "args": { + "name": "MODE", + "suggestions": [ + "Legacy", + "PreserveOriginal" + ] + } + }, + { + "name": "--allow-missing-images", + "description": "If true, allow builds and deployments to reference images not present in the cluster" + }, + { + "name": "--confirm", + "description": "If true, create the application without prompting" + } + ] + }, + { + "name": "new-build", + "description": "Create a new build configuration", + "args": { + "name": "SOURCE", + "description": "Source code URL, image, or image~source combination", + "isOptional": true, + "isVariadic": true + }, + "options": [ + { + "name": "--image", + "description": "Name of a container image to use as a builder", + "args": { + "name": "IMAGE" + } + }, + { + "name": "--name", + "description": "Set name to use for generated build artifacts", + "args": { + "name": "NAME" + } + }, + { + "name": [ + "-D", + "--dockerfile" + ], + "description": "Specify a Dockerfile to use for the build", + "args": { + "name": "DOCKERFILE" + } + }, + { + "name": [ + "-e", + "--env" + ], + "description": "Specify a key-value pair for an environment variable", + "args": { + "name": "KEY=VALUE" + } + }, + { + "name": "--strategy", + "description": "Specify the build strategy to use", + "args": { + "name": "STRATEGY", + "suggestions": [ + "docker", + "pipeline", + "source" + ] + } + }, + { + "name": "--binary", + "description": "If true, a binary build will be created" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml", + "name" + ] + } + }, + { + "name": "--dry-run", + "description": "If true, show the result of the operation without performing it" + }, + { + "name": "--to-docker", + "description": "If true, output the Dockerfile instead of creating a build config" + }, + { + "name": "--source-secret", + "description": "The name of an existing secret to use for cloning a private repository", + "args": { + "name": "SECRET" + } + }, + { + "name": "--context-dir", + "description": "Context directory to use for build", + "args": { + "name": "DIR" + } + }, + { + "name": "--image-stream", + "description": "Name of an image stream to use as builder", + "args": { + "name": "IMAGESTREAM" + } + }, + { + "name": [ + "-l", + "--labels" + ], + "description": "Label to set in all resources for this build", + "args": { + "name": "KEY=VALUE" + } + }, + { + "name": "--import-mode", + "description": "The import mode for the image", + "args": { + "name": "MODE", + "suggestions": [ + "Legacy", + "PreserveOriginal" + ] + } + }, + { + "name": "--allow-missing-images", + "description": "If true, allow builds to reference images not present in the cluster" + }, + { + "name": "--confirm", + "description": "If true, create the build config without prompting" + } + ] + }, + { + "name": "new-project", + "description": "Request a new project", + "args": { + "name": "NAME", + "description": "Name of the new project" + }, + "options": [ + { + "name": "--display-name", + "description": "Project display name", + "args": { + "name": "DISPLAYNAME" + } + }, + { + "name": "--description", + "description": "Project description", + "args": { + "name": "DESCRIPTION" + } + }, + { + "name": "--skip-config-write", + "description": "If true, the project will not be set as a cluster entry in kubeconfig after being created" + } + ] + }, + { + "name": "observe", + "description": "Observe changes to resources and react to them (experimental)", + "args": { + "name": "RESOURCE", + "description": "Type of resource to observe", + "generatorName": "resource_type" + }, + "options": [ + { + "name": [ + "-a", + "--argument" + ], + "description": "Template for the arguments to be passed to each command", + "args": { + "name": "TEMPLATE" + } + }, + { + "name": "--all-namespaces", + "description": "If true, observe the requested object(s) across all namespaces" + }, + { + "name": "--delete", + "description": "A command to run when resources are deleted", + "args": { + "name": "COMMAND" + } + }, + { + "name": "--names", + "description": "A command that will list all of the currently known names", + "args": { + "name": "COMMAND" + } + }, + { + "name": "--no-headers", + "description": "If true, skip printing headers when listing resources" + }, + { + "name": "--once", + "description": "If true, exit after completing a single observation" + }, + { + "name": "--print-metrics-on-exit", + "description": "If true, print metrics on exit" + }, + { + "name": "--retry-count", + "description": "Number of times to retry on failure", + "args": { + "name": "COUNT" + } + }, + { + "name": "--retry-on-exit-code", + "description": "Exit code that should trigger a retry", + "args": { + "name": "CODE" + } + }, + { + "name": "--type-env-var", + "description": "The name of the env var to set with the object type", + "args": { + "name": "VAR" + } + } + ] + }, + { + "name": "patch", + "description": "Update field(s) of a resource using strategic merge patch, a JSON merge patch, or a JSON patch", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": [ + "-p", + "--patch" + ], + "description": "The patch to be applied to the resource JSON file", + "args": {} + }, + { + "name": "--type", + "requiresSeparator": true, + "description": "The type of patch being provided; one of [json merge strategic]", + "args": { + "suggestions": [ + "json", + "merge", + "strategic" + ] + } + } + ] + }, + { + "name": "plugin", + "description": "Provides utilities for interacting with plugins" + }, + { + "name": "policy", + "description": "Manage authorization policy", + "subcommands": [ + { + "name": "add-role-to-user", + "description": "Add a role to users or service accounts for the current project", + "args": [ + { + "name": "ROLE" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "add-role-to-group", + "description": "Add a role to groups for the project", + "args": [ + { + "name": "ROLE" + }, + { + "name": "GROUP", + "isVariadic": true + } + ] + }, + { + "name": "remove-role-from-user", + "description": "Remove a role from users for the project", + "args": [ + { + "name": "ROLE" + }, + { + "name": "USER", + "isVariadic": true + } + ] + }, + { + "name": "remove-role-from-group", + "description": "Remove a role from groups for the project", + "args": [ + { + "name": "ROLE" + }, + { + "name": "GROUP", + "isVariadic": true + } + ] + }, + { + "name": "remove-user", + "description": "Remove user from the project", + "args": { + "name": "USER", + "isVariadic": true + } + }, + { + "name": "remove-group", + "description": "Remove group from the project", + "args": { + "name": "GROUP", + "isVariadic": true + } + }, + { + "name": "who-can", + "description": "List who can perform the specified action on a resource", + "args": [ + { + "name": "VERB" + }, + { + "name": "RESOURCE" + } + ] + }, + { + "name": "scc-review", + "description": "Check which service account can create a pod", + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename to use for the pod spec", + "args": { + "name": "FILE", + "template": "filepaths" + } + } + ] + }, + { + "name": "scc-subject-review", + "description": "Check whether a user or a service account can create a pod", + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename to use for the pod spec", + "args": { + "name": "FILE", + "template": "filepaths" + } + } + ] + } + ] + }, + { + "name": "port-forward", + "description": "Forward one or more local ports to a pod. This command requires the node to have 'socat' installed", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + }, + { + "name": "[LOCAL_PORT:REMOTE_PORT]", + "isVariadic": true + } + ], + "options": [ + { + "name": "--address", + "description": "Addresses to listen on (comma separated). Only accepts IP addresses or localhost as a value. When localhost is supplied, kubectl will try to bind on both 127.0.0.1 and ::1 and will fail if neither of these addresses are available to bind", + "args": {} + }, + { + "name": "--pod-running-timeout", + "requiresSeparator": true, + "description": "The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running", + "args": {} + } + ] + }, + { + "name": "process", + "description": "Process a template into list of resources", + "args": { + "name": "TEMPLATE", + "description": "Name of a stored template or template parameters (KEY=VALUE)", + "isOptional": true, + "isVariadic": true + }, + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename or URL to file to use for processing a template", + "args": { + "name": "FILE", + "template": "filepaths" + } + }, + { + "name": "--local", + "description": "If true, process the template locally instead of contacting the server" + }, + { + "name": [ + "-l", + "--labels" + ], + "description": "Label to set in all resources", + "args": { + "name": "KEY=VALUE" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "jsonpath" + ] + } + }, + { + "name": [ + "-p", + "--param" + ], + "description": "Specify a key-value pair to override a template parameter", + "args": { + "name": "KEY=VALUE" + } + }, + { + "name": "--param-file", + "description": "File containing template parameter values", + "args": { + "name": "FILE", + "template": "filepaths" + } + }, + { + "name": "--raw", + "description": "If true, output the processed template without formatting" + }, + { + "name": "--template", + "description": "Template string or path to template file", + "args": { + "name": "TEMPLATE" + } + } + ] + }, + { + "name": "project", + "description": "Switch to another project", + "args": { + "name": "NAME", + "description": "Project name to switch to", + "isOptional": true, + "generatorName": "projects" + }, + "options": [ + { + "name": [ + "-q", + "--short" + ], + "description": "If true, display only the project name" + } + ] + }, + { + "name": "projects", + "description": "Display existing projects", + "options": [ + { + "name": [ + "-q", + "--short" + ], + "description": "If true, display only the project names" + } + ] + }, + { + "name": "proxy", + "description": "Creates a proxy server or application-level gateway between localhost and the Kubernetes API Server. It also allows serving static content over specified HTTP path. All incoming data enters through one port and gets forwarded to the remote kubernetes API Server port, except for the path matching the static content path", + "options": [ + { + "name": "--accept-hosts", + "requiresSeparator": true, + "description": "Regular expression for hosts that the proxy should accept", + "args": {} + }, + { + "name": "--accept-paths", + "requiresSeparator": true, + "description": "Regular expression for paths that the proxy should accept", + "args": {} + }, + { + "name": "--address", + "requiresSeparator": true, + "description": "The IP address on which to serve on", + "args": {} + }, + { + "name": "--api-prefix", + "requiresSeparator": true, + "description": "Prefix to serve the proxied API under", + "args": {} + }, + { + "name": "--disable-filter", + "description": "If true, disable request filtering in the proxy. This is dangerous, and can leave you vulnerable to XSRF attacks, when used with an accessible port" + }, + { + "name": "--keepalive", + "requiresSeparator": true, + "description": "Keepalive specifies the keep-alive period for an active network connection. Set to 0 to disable keepalive", + "args": {} + }, + { + "name": [ + "-p", + "--port" + ], + "requiresSeparator": true, + "description": "The port on which to run the proxy. Set to 0 to pick a random port", + "args": {} + }, + { + "name": "--reject-methods", + "requiresSeparator": true, + "description": "Regular expression for HTTP methods that the proxy should reject (example --reject-methods='POST,PUT,PATCH')", + "args": {} + }, + { + "name": "--reject-paths", + "requiresSeparator": true, + "description": "Regular expression for paths that the proxy should reject. Paths specified here will be rejected even accepted by --accept-paths", + "args": {} + }, + { + "name": [ + "-u", + "--unix-socket" + ], + "requiresSeparator": true, + "description": "Unix socket on which to run the proxy", + "args": {} + }, + { + "name": [ + "-w", + "--www" + ], + "requiresSeparator": true, + "description": "Also serve static files from the given directory under the specified prefix", + "args": {} + }, + { + "name": [ + "-P", + "--www-prefix" + ], + "requiresSeparator": true, + "description": "Prefix to serve static files under, if static file directory is specified", + "args": {} + } + ] + }, + { + "name": "registry", + "description": "Commands for working with the registry", + "subcommands": [ + { + "name": "login", + "description": "Log in to the integrated registry", + "options": [ + { + "name": [ + "-z", + "--service-account" + ], + "description": "Log in as the specified service account", + "args": { + "name": "SERVICEACCOUNT" + } + }, + { + "name": "--skip-check", + "description": "Skip checking the registry connection" + } + ] + } + ] + }, + { + "name": "replace", + "description": "Replace a resource by filename or stdin", + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--cascade", + "description": "If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true" + }, + { + "name": "--force", + "description": "If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation" + }, + { + "name": "--grace-period", + "requiresSeparator": true, + "description": "Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion)", + "args": {} + }, + { + "name": "--raw", + "requiresSeparator": true, + "description": "Raw URI to PUT to the server. Uses the transport specified by the kubeconfig file", + "args": {} + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--timeout", + "requiresSeparator": true, + "description": "The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object", + "args": {} + }, + { + "name": "--validate", + "description": "If true, use a schema to validate the input before sending it" + }, + { + "name": "--wait", + "description": "If true, wait for resources to be gone before returning. This waits for finalizers" + } + ] + }, + { + "name": "rollback", + "description": "Revert part of an application back to a previous deployment", + "args": { + "name": "DEPLOYMENT", + "description": "Name of the deployment config or deployment to roll back" + }, + "options": [ + { + "name": "--to-version", + "description": "A config version to rollback to", + "args": { + "name": "VERSION" + } + }, + { + "name": "--dry-run", + "description": "If true, print what the rollback would look like without performing it" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml" + ] + } + }, + { + "name": "--change-scaling-settings", + "description": "If true, include the previous deployment's replicationController replica count and selector" + }, + { + "name": "--change-strategy", + "description": "If true, include the previous deployment's strategy" + }, + { + "name": "--change-triggers", + "description": "If true, include the previous deployment's triggers" + }, + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing" + } + ] + }, + { + "name": "rollout", + "description": "Manage the rollout of a resource", + "subcommands": [ + { + "name": "history", + "description": "View previous rollout revisions and configurations", + "args": { + "name": "Deployments", + "generatorName": "deployments", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--revision", + "requiresSeparator": true, + "description": "See the details, including podTemplate of the revision specified", + "args": {} + } + ] + }, + { + "name": "pause", + "description": "Mark the provided resource as paused", + "args": { + "name": "Deployments", + "generatorName": "deployments", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + } + ] + }, + { + "name": "restart", + "description": "Restart a resource", + "args": { + "name": "Deployments", + "generatorName": "deployments", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + } + ] + }, + { + "name": "resume", + "description": "Resume a paused resource", + "args": { + "name": "Deployments", + "generatorName": "deployments", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + } + ] + }, + { + "name": "status", + "description": "Show the status of the rollout", + "args": { + "name": "Deployments", + "generatorName": "deployments", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--revision", + "requiresSeparator": true, + "description": "Pin to a specific revision for showing its status. Defaults to 0 (last revision)", + "args": {} + }, + { + "name": "--timeout", + "requiresSeparator": true, + "description": "The length of time to wait before ending watch, zero means never. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h)", + "args": {} + }, + { + "name": [ + "-w", + "--watch" + ], + "description": "Watch the status of the rollout until it's done" + } + ] + }, + { + "name": "undo", + "description": "Rollback to a previous rollout", + "args": { + "name": "Deployments", + "generatorName": "deployments", + "skipGeneratorValidation": false + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": "--to_revision", + "requiresSeparator": true, + "args": {} + }, + { + "name": "--timeout", + "requiresSeparator": true, + "description": "The length of time to wait before ending watch, zero means never. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h)", + "args": {} + } + ] + } + ] + }, + { + "name": "rsh", + "description": "Start a shell session in a container", + "args": [ + { + "name": "POD", + "description": "Pod name or resource type/name (e.g. dc/docker-registry)", + "generatorName": "running_pods" + }, + { + "name": "COMMAND", + "description": "Command to execute instead of a login shell", + "isOptional": true, + "isVariadic": true + } + ], + "options": [ + { + "name": [ + "-c", + "--container" + ], + "description": "Container name; defaults to first container", + "args": { + "name": "CONTAINER" + } + }, + { + "name": [ + "-T", + "--no-tty" + ], + "description": "Disable pseudo-terminal allocation" + }, + { + "name": "--shell", + "description": "Path to the shell command", + "args": { + "name": "SHELL" + } + }, + { + "name": "--timeout", + "description": "Request timeout in seconds", + "args": { + "name": "SECONDS" + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename to use to rsh into the resource", + "args": { + "name": "FILE", + "template": "filepaths" + } + } + ] + }, + { + "name": "rsync", + "description": "Copy files between a local file system and a pod", + "args": [ + { + "name": "SOURCE", + "description": "Source path (local dir or POD:remote_dir)" + }, + { + "name": "DESTINATION", + "description": "Destination path (local dir or POD:remote_dir)" + } + ], + "options": [ + { + "name": [ + "-c", + "--container" + ], + "description": "Container within the pod", + "args": { + "name": "CONTAINER" + } + }, + { + "name": "--compress", + "description": "Compress file data during the transfer" + }, + { + "name": "--delete", + "description": "If true, delete files not present in source" + }, + { + "name": "--exclude", + "description": "Exclude files matching pattern", + "args": { + "name": "PATTERN" + } + }, + { + "name": "--include", + "description": "Include files matching pattern", + "args": { + "name": "PATTERN" + } + }, + { + "name": "--no-perms", + "description": "If true, do not transfer permissions" + }, + { + "name": "--progress", + "description": "If true, show progress during transfer" + }, + { + "name": [ + "-w", + "--watch" + ], + "description": "Watch directory for changes and resync automatically" + }, + { + "name": "--strategy", + "description": "Specify which rsync transport to use", + "args": { + "name": "STRATEGY", + "suggestions": [ + "rsync", + "rsync-daemon", + "tar" + ] + } + } + ] + }, + { + "name": "run", + "description": "Create and run a particular image in a pod", + "args": { + "name": "NAME" + }, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--annotations", + "requiresSeparator": true, + "description": "Annotations to apply to the pod", + "args": {} + }, + { + "name": "--attach", + "description": "If true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned" + }, + { + "name": "--cascade", + "description": "Must be \"background\", \"orphan\", or \"foreground\". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background", + "args": { + "suggestions": [ + "background", + "orphan", + "foreground" + ] + } + }, + { + "name": "--command", + "description": "If true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default" + }, + { + "name": "--env", + "requiresSeparator": true, + "description": "Environment variables to set in the container", + "args": {} + }, + { + "name": "--expose", + "description": "If true, service is created for the container(s) which are run" + }, + { + "name": "--force", + "description": "If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation" + }, + { + "name": "--grace-period", + "requiresSeparator": true, + "description": "Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion)", + "args": {} + }, + { + "name": "--hostport", + "requiresSeparator": true, + "description": "The host port mapping for the container port. To demonstrate a single-machine container", + "args": {} + }, + { + "name": "--image", + "requiresSeparator": true, + "description": "The image for the container to run", + "args": {} + }, + { + "name": "--image-pull-policy", + "description": "The image pull policy for the container. If left empty, this value will not be specified by the client and defaulted by the server", + "args": {} + }, + { + "name": [ + "-l", + "--labels" + ], + "requiresSeparator": true, + "description": "Comma separated labels to apply to the pod(s). Will override previous values", + "args": {} + }, + { + "name": "--leave-stdin-open", + "description": "If the pod is started in interactive mode or with stdin, leave stdin open after the first attach completes. By default, stdin will be closed after the first attach completes" + }, + { + "name": "--limits", + "requiresSeparator": true, + "description": "The resource requirement limits for this container. For example, 'cpu=200m,memory=512Mi'. Note that server side components may assign limits depending on the server configuration, such as limit ranges", + "args": {} + }, + { + "name": "--overrides", + "requiresSeparator": true, + "description": "An inline JSON override for the generated object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field", + "args": {} + }, + { + "name": "--pod-running-timeout", + "requiresSeparator": true, + "description": "The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running", + "args": {} + }, + { + "name": "--port", + "requiresSeparator": true, + "description": "The port that this container exposes", + "args": {} + }, + { + "name": "--quiet", + "description": "If true, suppress prompt messages" + }, + { + "name": "--requests", + "requiresSeparator": true, + "description": "The resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges", + "args": {} + }, + { + "name": "--restart", + "requiresSeparator": true, + "description": "The restart policy for this Pod. Legal values [Always, OnFailure, Never]. If set to 'Always' a deployment is created, if set to 'OnFailure' a job is created, if set to 'Never', a regular pod is created. For the latter two --replicas must be 1. Default 'Always', for CronJobs `Never`", + "args": { + "suggestions": [ + "Always", + "OnFailure", + "Never" + ] + } + }, + { + "name": "--rm", + "description": "If true, delete resources created in this command for attached containers" + }, + { + "name": "--save-config", + "description": "If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future" + }, + { + "name": "--serviceaccount", + "requiresSeparator": true, + "description": "Service account to set in the pod spec", + "args": {} + }, + { + "name": [ + "-i", + "--stdin" + ], + "description": "Keep stdin open on the container(s) in the pod, even if nothing is attached" + }, + { + "name": "--timeout", + "requiresSeparator": true, + "description": "The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object", + "args": {} + }, + { + "name": [ + "-t", + "--tty" + ], + "description": "Allocated a TTY for each container in the pod" + }, + { + "name": "--wait", + "description": "If true, wait for resources to be gone before returning. This waits for finalizers" + } + ] + }, + { + "name": "scale", + "description": "Set a new size for a Deployment, ReplicaSet, Replication Controller, or StatefulSet", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true, + "skipGeneratorValidation": false + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--resource-version", + "requiresSeparator": true, + "description": "If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource", + "args": {} + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": "--all", + "description": "Select all resources in the namespace of the specified resource types" + }, + { + "name": "--current-replicas", + "requiresSeparator": true, + "description": "Precondition for current size. Requires that the current size of the resource match this value in order to scale", + "args": {} + }, + { + "name": "--replicas", + "requiresSeparator": true, + "description": "The new desired number of replicas. Required", + "args": {} + }, + { + "name": "--timeout", + "description": "The length of time to wait before giving up on a scale operation, zero means don't wait. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h)", + "args": {} + } + ] + }, + { + "name": "secrets", + "description": "Manage secrets", + "subcommands": [ + { + "name": "link", + "description": "Link secrets to a service account", + "args": [ + { + "name": "SERVICEACCOUNT" + }, + { + "name": "SECRET", + "isVariadic": true + } + ] + }, + { + "name": "unlink", + "description": "Detach secrets from a service account", + "args": [ + { + "name": "SERVICEACCOUNT" + }, + { + "name": "SECRET", + "isVariadic": true + } + ] + } + ] + }, + { + "name": "set", + "description": "Configure application resources", + "subcommands": [ + { + "name": "env", + "description": "Update environment variables on a pod template", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + }, + { + "name": "KEY=VALUE", + "isVariadic": true + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--all", + "description": "If true, select all resources in the namespace of the specified resource types" + }, + { + "name": [ + "-c", + "--containers" + ], + "requiresSeparator": true, + "description": "The names of containers in the selected pod templates to change - may use wildcards", + "args": {} + }, + { + "name": [ + "-e", + "--env" + ], + "requiresSeparator": true, + "description": "Specify a key-value pair for an environment variable to set into each container", + "args": {} + }, + { + "name": "--from", + "requiresSeparator": true, + "description": "The name of a resource from which to inject environment variables", + "args": {} + }, + { + "name": "--keys", + "requiresSeparator": true, + "description": "Comma-separated list of keys to import from specified resource", + "args": {} + }, + { + "name": "--list", + "description": "If true, display the environment and any changes in the standard format. this flag will removed when we have kubectl view env" + }, + { + "name": "--overwrite", + "description": "If true, allow environment to be overwritten, otherwise reject updates that overwrite existing environment" + }, + { + "name": "--prefix", + "description": "Prefix to append to variable names", + "args": {} + }, + { + "name": "--resolve", + "description": "If true, show secret or configmap references when listing variables" + } + ] + }, + { + "name": "image", + "description": "Update existing container image(s) of resources", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + }, + { + "name": "CONTAINER_NAME=IMAGE_NAME", + "isVariadic": true + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + } + ] + }, + { + "name": "resources", + "description": "Specify compute resource requirements (cpu, memory) for any resource that defines a pod template. If a pod is successfully scheduled, it is guaranteed the amount of resource requested, but may burst up to its specified limits", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + }, + { + "name": [ + "-c", + "--containers" + ], + "requiresSeparator": true, + "description": "The names of containers in the selected pod templates to change, all containers are selected by default - may use wildcards", + "args": {} + }, + { + "name": "--limits", + "requiresSeparator": true, + "description": "The resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges", + "args": {} + }, + { + "name": "--requests", + "requiresSeparator": true, + "description": "The resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges", + "args": {} + } + ] + }, + { + "name": "selector", + "description": "Set the selector on a resource. Note that the new selector will overwrite the old selector if the resource had one prior to the invocation of 'set selector'", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + }, + { + "name": "EXPRESSIONS" + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--resource-version", + "requiresSeparator": true, + "description": "If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource", + "args": {} + }, + { + "name": "--all", + "description": "Select all resources in the namespace of the specified resource types", + "args": {} + } + ] + }, + { + "name": "serviceaccount", + "description": "Update ServiceAccount of pod template resources", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + } + ] + }, + { + "name": "subject", + "description": "Update User, Group or ServiceAccount in a RoleBinding/ClusterRoleBinding", + "args": [ + { + "name": "TYPE | TYPE/NAME", + "generatorName": "type_or_type_slash_name", + "skipGeneratorValidation": true + }, + { + "name": "Resource", + "generatorName": "resource", + "isOptional": true + } + ], + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--dry-run", + "requiresSeparator": true, + "description": "Must be \"none\", \"server\", or \"client\". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource", + "args": { + "name": "Strategy", + "suggestions": [ + "none", + "server", + "client" + ] + } + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": [ + "-k", + "--kustomize" + ], + "description": "Process the kustomization directory. This flag can't be used together with -f or -R", + "args": { + "name": "Kustomize Dir", + "template": "folders" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--record", + "description": "Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists" + }, + { + "name": "--all", + "description": "Select all resources, including uninitialized ones, in the namespace of the specified resource types" + }, + { + "name": "--group", + "requiresSeparator": true, + "description": "Groups to bind to the role", + "args": {} + }, + { + "name": "--serviceaccount", + "requiresSeparator": true, + "description": "Service accounts to bind to the role", + "args": {} + } + ] + } + ] + }, + { + "name": "start-build", + "description": "Start a new build", + "args": { + "name": "BUILDCONFIG", + "description": "Name of the build config to start a build from", + "isOptional": true, + "generatorName": "build_configs" + }, + "options": [ + { + "name": "--from-build", + "description": "Specify the name of a build which should be re-run", + "args": { + "name": "BUILD" + } + }, + { + "name": "--from-dir", + "description": "Use a directory as build input", + "args": { + "name": "DIR", + "template": "folders" + } + }, + { + "name": "--from-file", + "description": "Use a file as build input", + "args": { + "name": "FILE", + "template": "filepaths" + } + }, + { + "name": "--from-repo", + "description": "Use a local source code repository as build input", + "args": { + "name": "REPO", + "template": "folders" + } + }, + { + "name": "--from-archive", + "description": "Use an archive as build input", + "args": { + "name": "ARCHIVE", + "template": "filepaths" + } + }, + { + "name": "--from-webhook", + "description": "Specify a generic webhook URL for an existing build config to trigger", + "args": { + "name": "URL" + } + }, + { + "name": "--commit", + "description": "Specify the source code commit identifier the build should use", + "args": { + "name": "COMMIT" + } + }, + { + "name": [ + "-F", + "--follow" + ], + "description": "Start a build and watch its logs until it completes or fails" + }, + { + "name": [ + "-w", + "--wait" + ], + "description": "Wait for a build to complete and exit with an error if the build fails" + }, + { + "name": [ + "-e", + "--env" + ], + "description": "Specify a key-value pair for an environment variable", + "args": { + "name": "KEY=VALUE" + } + }, + { + "name": "--build-loglevel", + "description": "Specify the log level for the build", + "args": { + "name": "LEVEL" + } + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "json", + "yaml", + "name" + ] + } + }, + { + "name": "--incremental", + "description": "Overrides the incremental setting in a source strategy build" + }, + { + "name": "--no-cache", + "description": "Overrides the noCache setting in a Docker strategy build" + } + ] + }, + { + "name": "status", + "description": "Show an overview of the current project", + "options": [ + { + "name": [ + "-o", + "--output" + ], + "description": "Output format", + "args": { + "name": "FORMAT", + "suggestions": [ + "dot" + ] + } + }, + { + "name": "--suggest", + "description": "See details for resolving issues" + }, + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If true, display status for all namespaces" + } + ] + }, + { + "name": "tag", + "description": "Tag existing images into image streams", + "args": [ + { + "name": "SOURCE", + "description": "Source image, image stream tag, or image stream image" + }, + { + "name": "DEST", + "description": "Destination image stream tag(s)", + "isVariadic": true + } + ], + "options": [ + { + "name": [ + "-d", + "--delete" + ], + "description": "Delete the specified tag" + }, + { + "name": "--source", + "description": "The source of the image tag", + "args": { + "name": "SOURCE", + "suggestions": [ + "docker", + "istag", + "isimage" + ] + } + }, + { + "name": "--alias", + "description": "Should the destination tag be updated whenever the source tag changes" + }, + { + "name": "--insecure", + "description": "Set to true if importing from registries with invalid HTTPS certificates" + }, + { + "name": "--scheduled", + "description": "Set each image stream tag to check for new images periodically" + }, + { + "name": "--reference-policy", + "description": "Allow the image to be pulled from a mirror", + "args": { + "name": "POLICY", + "suggestions": [ + "source", + "local" + ] + } + }, + { + "name": "--reference", + "description": "If true, the tag value will be used as a reference to the source image" + }, + { + "name": "--import-mode", + "description": "The import mode for the image", + "args": { + "name": "MODE", + "suggestions": [ + "Legacy", + "PreserveOriginal" + ] + } + } + ] + }, + { + "name": "version", + "description": "Print the client and server version information for the current context", + "options": [ + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": "--client", + "description": "If true, shows client version only (no server required)" + }, + { + "name": "--short", + "description": "If true, print just the version number" + } + ] + }, + { + "name": "wait", + "description": "Experimental: Wait for a specific condition on one or many resources", + "args": {}, + "options": [ + { + "name": "--allow-missing-template-keys", + "description": "If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats" + }, + { + "name": "--field-selector", + "requiresSeparator": true, + "description": "Selector (field query) to filter on, supports '=', '==', and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type", + "args": {} + }, + { + "name": [ + "-f", + "--filename" + ], + "description": "Filename, directory, or URL to files identifying the resource", + "args": { + "name": "File", + "template": "filepaths" + } + }, + { + "name": "--local", + "description": "If true, annotation will NOT contact api-server but run locally" + }, + { + "name": [ + "-o", + "--output" + ], + "description": "Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file", + "args": { + "name": "Output Format", + "suggestions": [ + "json", + "yaml", + "name", + "go-template", + "go-template-file", + "template", + "templatefile", + "jsonpath", + "jsonpath-file" + ] + } + }, + { + "name": [ + "-R", + "--recursive" + ], + "description": "Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory" + }, + { + "name": [ + "-l", + "--selector" + ], + "description": "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)", + "args": {} + }, + { + "name": "--template", + "requiresSeparator": true, + "description": "Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]", + "args": {} + }, + { + "name": "--all", + "description": "Select all resources in the namespace of the specified resource types" + }, + { + "name": [ + "-A", + "--all-namespaces" + ], + "description": "If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace", + "args": {} + }, + { + "name": "--for", + "requiresSeparator": true, + "description": "The condition to wait on: [delete|condition=condition-name]", + "args": {} + }, + { + "name": "--timeout", + "requiresSeparator": true, + "description": "The length of time to wait before giving up. Zero means check once and don't wait, negative means wait for a week", + "args": {} + } + ] + }, + { + "name": "whoami", + "description": "Return information about the current session", + "options": [ + { + "name": [ + "-t", + "--show-token" + ], + "description": "Print the token the current session is using" + }, + { + "name": [ + "-c", + "--show-context" + ], + "description": "Print the current user context name" + }, + { + "name": "--show-server", + "description": "If true, print the current server's REST API URL" + }, + { + "name": "--show-console", + "description": "If true, print the current server's web console URL" + } + ] + } + ], + "options": [ + { + "name": "--as", + "args": { + "name": "username" + }, + "description": "Username to impersonate for the operation. User could be a regular user or a service account in a namespace.", + "isPersistent": true + }, + { + "name": "--as-group", + "args": { + "name": "group" + }, + "description": "Group to impersonate for the operation, this flag can be repeated to specify multiple groups.", + "isPersistent": true + }, + { + "name": "--as-uid", + "args": { + "name": "UID" + }, + "description": "UID to impersonate for the operation.", + "isPersistent": true + }, + { + "name": "--cache-dir", + "args": { + "name": "directory" + }, + "description": "Default cache directory", + "isPersistent": true + }, + { + "name": "--certificate-authority", + "args": { + "name": "filename" + }, + "description": "Path to a cert file for the certificate authority", + "isPersistent": true + }, + { + "name": "--client-certificate", + "args": { + "name": "filename" + }, + "description": "Path to a client certificate file for TLS", + "isPersistent": true + }, + { + "name": "--client-key", + "args": { + "name": "filename" + }, + "description": "Path to a client key file for TLS", + "isPersistent": true + }, + { + "name": "--cluster", + "args": { + "name": "cluster" + }, + "description": "The name of the kubeconfig cluster to use", + "isPersistent": true + }, + { + "name": "--context", + "args": { + "name": "context" + }, + "description": "The name of the kubeconfig context to use", + "isPersistent": true + }, + { + "name": "--insecure-skip-tls-verify", + "args": { + "name": "value", + "suggestions": [ + "true", + "false" + ] + }, + "description": "If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.", + "isPersistent": true + }, + { + "name": "--kubeconfig", + "args": { + "name": "filename" + }, + "description": "Path to the kubeconfig file to use for CLI requests.", + "isPersistent": true + }, + { + "name": "--log-flush-frequency", + "args": { + "name": "seconds" + }, + "description": "Maximum number of seconds between log flushes", + "isPersistent": true + }, + { + "name": "--match-server-version", + "args": { + "name": "value", + "suggestions": [ + "true", + "false" + ] + }, + "description": "Require server version to match client version.", + "isPersistent": true + }, + { + "name": [ + "-n", + "--namespace" + ], + "args": { + "name": "namespace", + "generatorName": "namespace", + "skipGeneratorValidation": false + }, + "description": "If present, the namespace scope for this CLI request", + "isPersistent": true + }, + { + "name": "--password", + "args": { + "name": "password" + }, + "description": "Password for basic authentication to the API server", + "isPersistent": true + }, + { + "name": "--profile", + "args": { + "name": "profile", + "suggestions": [ + "none", + "cpu", + "heap", + "goroutine", + "threadcreate", + "block", + "mutex" + ] + }, + "description": "Name of the profile to capture", + "isPersistent": true + }, + { + "name": "--profile-output", + "args": { + "name": "filename" + }, + "description": "Name of the file to write the profile to", + "isPersistent": true + }, + { + "name": "--request-timeout", + "args": { + "name": "duration" + }, + "description": "The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests.", + "isPersistent": true + }, + { + "name": [ + "-s", + "--server" + ], + "args": { + "name": "address" + }, + "description": "The address and port of the Kubernetes API server", + "isPersistent": true + }, + { + "name": "--tls-server-name", + "args": { + "name": "name" + }, + "description": "Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used.", + "isPersistent": true + }, + { + "name": "--token", + "args": { + "name": "token" + }, + "description": "Bearer token for authentication to the API server", + "isPersistent": true + }, + { + "name": "--user", + "args": { + "name": "user" + }, + "description": "The name of the kubeconfig user to use", + "isPersistent": true + }, + { + "name": [ + "-v", + "--v" + ], + "args": { + "name": "level" + }, + "description": "Number for the log level verbosity", + "isPersistent": true + }, + { + "name": "--vmodule", + "args": { + "name": "filters" + }, + "description": "Comma-separated list of pattern=N settings for file-filtered logging", + "isPersistent": true + }, + { + "name": "--warnings-as-errors", + "args": { + "name": "value", + "suggestions": [ + "true", + "false" + ] + }, + "description": "Treat warnings received from the server as errors and exit with a non-zero exit code.", + "isPersistent": true + } + ] +} diff --git a/command-signatures/src/generators/mod.rs b/command-signatures/src/generators/mod.rs index b6100244..3ab15817 100644 --- a/command-signatures/src/generators/mod.rs +++ b/command-signatures/src/generators/mod.rs @@ -34,6 +34,7 @@ mod ng; mod node; mod npm; mod nx; +mod oc; mod pacman; mod phpunit_watcher; mod pip; @@ -89,6 +90,7 @@ pub fn dynamic_command_signature_data() -> HashMap GeneratorResults { + if output.contains("error:") || output.contains("The connection to the server") { + return GeneratorResults::default(); + } + output + .lines() + .map(str::trim) + .filter(|line| !line.is_empty()) + .map(Suggestion::new) + .collect_unordered_results() +} + +fn oc_builtin_complete_post_process(output: &str) -> GeneratorResults { + if output.contains("error:") || output.contains("The connection to the server") { + return GeneratorResults::default(); + } + output + .lines() + .map(str::trim) + .filter(|line| !line.is_empty()) + .map(Suggestion::new) + .collect_ordered_results() +} + +pub fn generator() -> CommandSignatureGenerators { + let projects_generator = Generator::script( + CommandBuilder::single_command("oc projects -q"), + oc_post_process, + ); + + let build_configs_generator = Generator::script( + CommandBuilder::single_command("oc get buildconfigs -o custom-columns=:.metadata.name"), + oc_post_process, + ); + + let oc_builtin_completion = Generator::command_from_tokens( + |tokens, has_trailing_whitespace, env_vars| { + let env_vars_str = env_vars.iter().join(" "); + let mut generation_command = vec![&env_vars_str, "oc", "__complete"] + .into_iter() + .chain( + // Skip the first token which is just "oc" + tokens.iter().skip(1).cloned(), + ) + .collect_vec(); + // The __complete command needs the empty string at the end + if has_trailing_whitespace { + generation_command.push("\"\""); + } + // Skip the last line since it is metadata, not a completion result. + CommandBuilder::pipe( + CommandBuilder::single_command(generation_command.join(" ")), + CommandBuilder::single_command("sed '$d'"), + ) + }, + oc_builtin_complete_post_process, + ); + + CommandSignatureGenerators::new("oc") + .add_generator("resource_type", RESOURCE_TYPE_GENERATOR.clone()) + .add_generator("running_pods", RUNNING_PODS_GENERATOR.clone()) + .add_generator("deployments", DEPLOYMENTS_GENERATOR.clone()) + .add_generator("node", NODE_GENERATOR.clone()) + .add_generator("cluster_role", CLUSTER_ROLE_GENERATOR.clone()) + .add_generator("role", ROLE_GENERATOR.clone()) + .add_generator("resource", RESOURCE_GENERATOR.clone()) + .add_generator("context", CONTEXT_GENERATOR.clone()) + .add_generator("cluster", CLUSTER_GENERATOR.clone()) + .add_generator("namespace", NAMESPACE_GENERATOR.clone()) + .add_generator("type_or_type_slash_name", TYPE_OR_TYPE_SLASH_NAME.clone()) + .add_generator("oc_builtin_completion", oc_builtin_completion) + .add_generator("projects", projects_generator) + .add_generator("build_configs", build_configs_generator) +}